/ Модель

Характеристики

Контекст
512 токенов
Параметры
138 млн
Архитектура
bert · dense
Опубликована
2 мар 2022

bert-turkish-text-classification

Классификация текстаТекст → label5 профессий

Дообученная турецкая BERT-модель для распределения текстов по семи тематическим категориям, включая экономику, политику, спорт и технологии.

249скачиваний за 30 дней31лайквеса обновлены1 фев 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

savasy/bert-turkish-text-classification — модель классификации турецких текстов на семь тематических категорий: мировые события, экономика, культура, здоровье, политика, спорт и технологии. Это дообученная для классификации последовательностей модель семейства BERT; в README указана базовая модель dbmdz/bert-base-turkish-cased. Размер модели — 137,8 млн параметров, максимальная длина контекста — 512 токенов.

Модель принимает текст и возвращает метку категории с оценкой уверенности. Она подходит для тематической сортировки турецких новостей и текстов по семи указанным рубрикам. Доступны веса в форматах PyTorch, Flax и safetensors. Лицензия в предоставленных данных не указана.

Сценарии применения

  • Рубрикация турецких новостных статей
  • Сортировка публикаций по экономической и политической тематике
  • Распределение текстов по категориям культуры, здоровья и спорта
  • Автоматическая классификация материалов о технологиях и мировых событиях

Ограничения

Классификатор ограничен семью категориями, указанными в карточке, и предназначен для турецкого языка. Для интерпретации предсказанных меток LABEL_0–LABEL_6 требуется таблица соответствия категорий.

Для каких профессий подходит5

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Turkish Text Classification

This model is a fine-tune model of https://github.com/stefan-it/turkish-bert by using text classification data where there are 7 categories as follows

code_to_label={
 'LABEL_0': 'dunya ',
 'LABEL_1': 'ekonomi ',
 'LABEL_2': 'kultur ',
 'LABEL_3': 'saglik ',
 'LABEL_4': 'siyaset ',
 'LABEL_5': 'spor ',
 'LABEL_6': 'teknoloji '}
 

Citation

Please cite the following papers if needed

@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}
}

Data

The following Turkish benchmark dataset is used for fine-tuning

https://www.kaggle.com/savasy/ttc4900

Quick Start

Bewgin with installing transformers as follows

pip install transformers

# Code:
# import libraries
from transformers import pipeline, AutoModelForTokenClassification, AutoTokenizer, AutoModelForSequenceClassification
tokenizer= AutoTokenizer.from_pretrained("savasy/bert-turkish-text-classification")

# build and load model, it take time depending on your internet connection
model= AutoModelForSequenceClassification.from_pretrained("savasy/bert-turkish-text-classification")

# make pipeline
nlp=pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)

# apply model
nlp("bla bla")
# [{'label': 'LABEL_2', 'score': 0.4753005802631378}]

code_to_label={
 'LABEL_0': 'dunya ',
 'LABEL_1': 'ekonomi ',
 'LABEL_2': 'kultur ',
 'LABEL_3': 'saglik ',
 'LABEL_4': 'siyaset ',
 'LABEL_5': 'spor ',
 'LABEL_6': 'teknoloji '}
 
code_to_label[nlp("bla bla")[0]['label']]
# > 'kultur '

How the model was trained


## loading data for Turkish text classification
import pandas as pd
# https://www.kaggle.com/savasy/ttc4900
df=pd.read_csv("7allV03.csv")
df.columns=["labels","text"]
df.labels=pd.Categorical(df.labels)

traind_df=...
eval_df=...

# model
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)

For other training models please check https://simpletransformers.ai/

For the detailed usage of Turkish Text Classification please check python notebook

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
c488635

0 моделей