Eraserheadd's picture
Update README.md
e093844 verified
|
Raw
History Blame Contribute Delete
4.15 kB
metadata
license: cc-by-4.0

language:

  • ru license: cc-by-4.0 library_name: transformers

RuBERT Tiny Toxicity Regression

Модель для оценки токсичности русскоязычных текстов по шкале от -5 до +3.

Модель была получена путем дообучения cointegrated/rubert-tiny-toxicity на размеченном корпусе русскоязычных интернет-комментариев.

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

Модель предсказывает числовую оценку токсичности текста:

  • -5 – максимально токсичный комментарий;
  • 0 – нейтральный комментарий;
  • +3 – позитивный комментарий.

Обучающие данные

Модель была обучена на корпусе из 101 966 русскоязычных интернет-комментариев.

Источники данных:

  • Russian Language Toxic Comments (Kaggle);
  • Toxic Russian Comments from B21176df (Kaggle);
  • YouTube comments (Russian language) (Kaggle);
  • Toxic Russian Comments Dataset (Hugging Face Datasets).

Комментарии были очищены от эмодзи, цифр и лишних символов, после чего использовались для обучения модели.

Обучающие данные

Модель была дообучена на выборке из 1016 уникальных русскоязычных интернет-комментариев, размеченных по шкале токсичности от -5 до +3.

Обучающая выборка была сформирована на основе двух источников:

  • 171 комментарий, оценённый женщинами-респондентками в рамках анкетирования (в качестве итоговой метки использовалась медианная оценка);
  • 912 комментариев, размеченных независимым экспертом.

При объединении источников дублирующиеся комментарии удалялись. Для совпадающих текстов сохранялись оценки, полученные в ходе анкетирования. Итоговый датасет содержал 1016 уникальных комментариев.

Для снижения гендерного смещения из обучающих данных были исключены оценки, демонстрировавшие систематические различия в восприятии токсичности гендерно маркированных оскорблений.

Качество модели

Результаты на валидационной выборке:

  • MAE = 0.957
  • R² = 0.68

В среднем предсказание модели отличается от экспертной оценки менее чем на один балл шкалы.

Использование

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

model_name = "ВАШ_НИК/НАЗВАНИЕ_МОДЕЛИ"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)

text = "Ты полный идиот"

inputs = tokenizer(text, return_tensors="pt")

with torch.no_grad():
    score = model(**inputs).logits.item()

print(score)

Ограничения

Модель обучалась на русскоязычных интернет-комментариях и может работать менее точно на текстах других жанров.

Связанный датасет

Для обучения использовался корпус гендерно маркированной инвективной лексики русского языка.