🚀 土耳其語文本分類
本模型是基於https://github.com/stefan-it/turkish - bert 進行微調的模型,使用了文本分類數據,該數據包含以下7個類別:
code_to_label={
'LABEL_0': '世界 ',
'LABEL_1': '經濟 ',
'LABEL_2': '文化 ',
'LABEL_3': '健康 ',
'LABEL_4': '政治 ',
'LABEL_5': '體育 ',
'LABEL_6': '科技 '}
🚀 快速開始
首先,按照以下方式安裝transformers庫:
pip install transformers
from transformers import pipeline, AutoModelForTokenClassification, AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("savasy/bert-turkish-text-classification")
model = AutoModelForSequenceClassification.from_pretrained("savasy/bert-turkish-text-classification")
nlp = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)
nlp("bla bla")
code_to_label = {
'LABEL_0': '世界 ',
'LABEL_1': '經濟 ',
'LABEL_2': '文化 ',
'LABEL_3': '健康 ',
'LABEL_4': '政治 ',
'LABEL_5': '體育 ',
'LABEL_6': '科技 '}
code_to_label[nlp("bla bla")[0]['label']]
💻 使用示例
基礎用法
from transformers import pipeline, AutoModelForTokenClassification, AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("savasy/bert-turkish-text-classification")
model = AutoModelForSequenceClassification.from_pretrained("savasy/bert-turkish-text-classification")
nlp = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)
nlp("bla bla")
code_to_label = {
'LABEL_0': '世界 ',
'LABEL_1': '經濟 ',
'LABEL_2': '文化 ',
'LABEL_3': '健康 ',
'LABEL_4': '政治 ',
'LABEL_5': '體育 ',
'LABEL_6': '科技 '}
code_to_label[nlp("bla bla")[0]['label']]
高級用法
import pandas as pd
df = pd.read_csv("7allV03.csv")
df.columns = ["labels", "text"]
df.labels = pd.Categorical(df.labels)
traind_df = ...
eval_df = ...
from simpletransformers.classification import ClassificationModel
import torch, sklearn
model_args = {
"use_early_stopping": True,
"early_stopping_delta": 0.01,
"early_stopping_metric": "mcc",
"early_stopping_metric_minimize": False,
"early_stopping_patience": 5,
"evaluate_during_training_steps": 1000,
"fp16": False,
"num_train_epochs": 3
}
model = ClassificationModel(
"bert",
"dbmdz/bert-base-turkish-cased",
use_cuda=cuda_available,
args=model_args,
num_labels=7
)
model.train_model(train_df, acc=sklearn.metrics.accuracy_score)
📚 詳細文檔
如需瞭解土耳其語文本分類的詳細用法,請查看 Python筆記本
🔧 技術細節
本模型是基於https://github.com/stefan-it/turkish - bert 進行微調的,使用了以下土耳其語基準數據集進行微調:https://www.kaggle.com/savasy/ttc4900 。對於其他訓練模型,請查看https://simpletransformers.ai/ 。
📄 許可證
引用
如需引用,請參考以下論文:
@misc{yildirim2024finetuning,
title={Fine-tuning Transformer-based Encoder for Turkish Language Understanding Tasks},
author={Savas Yildirim},
year={2024},
eprint={2401.17396},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
@book{yildirim2021mastering,
title={Mastering Transformers: Build state-of-the-art models from scratch with advanced natural language processing techniques},
author={Yildirim, Savas and Asgari-Chenaghlu, Meysam},
year={2021},
publisher={Packt Publishing Ltd}
}
📦 安裝指南
在使用該模型前,需要安裝transformers庫:
pip install transformers
📋 信息表格
屬性 |
詳情 |
模型類型 |
基於微調的BERT模型進行土耳其語文本分類 |
訓練數據 |
https://www.kaggle.com/savasy/ttc4900 |