Edit model card

モデル概要

このモデルは、 sonoisa/sentence-luke-japanese-base-lite をSNS上のコメントに人手で攻撃性評価を行ったデータセットでFine-tuningすることで作成しました。 学習に使用したデータセットを参照したい方は、記載の連絡先へ別途ご連絡ください。

本モデルは、NLP2024にて下記の発表で公開します。

Fine-tuning条件

  • エポック数: 27エポック
  • バッチサイズ: 16
  • 最大トークン長: 256
  • 学習率スケジューラ: transformers.get_linear_schedule_with_warmup
  • ピーク学習率: 2e-5
  • 最適化手法: Adam
  • Dropout率: 0.1
  • 損失関数: MSE Loss
  • Re-initialize: 出力層から近い Transformer Encoder 1層

分類性能

  • 2024/3/24: 記載に誤りがあったため修正いたしました。

Summary

評価指標 スコア
F値_NOT 71.3 %
F値_GRY 55.5 %
F値_OFF 61.8 %
マクロ平均F値 62.9 %
正解率 63.8 %

Confusion matrix

正解ラベル \ 予測結果 Not Offensive Gray-area Offensive
Not Offensive 260 80 4
Gray-area 110 169 41
Offensive 15 40 81

使い方

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import numpy as np

tokenizer = AutoTokenizer.from_pretrained("studio-ousia/luke-japanese-base-lite")
model = AutoModelForSequenceClassification.from_pretrained("TomokiFujihara/luke-japanese-base-lite-offensiveness-estimation", trust_remote_code=True)


inputs = tokenizer.encode_plus(text, return_tensors='pt')
outputs = model(inputs['input_ids'], inputs['attention_mask']).detach().numpy()[0][:3]

minimum = np.min(outputs)
if minimum < 0:
  outputs = outputs - minimum
score = outputs / np.sum(outputs)

print(f'攻撃的でない発言: {score[0]:.1%},\nグレーゾーンの発言: {score[1]:.1%},\n攻撃的な発言: {score[2]:.1%}')

連絡先

E-mail: tomoki.fujihara.p3@dc.tohoku.ac.jp

引用

@inproceedings{fujihara2024offensiveness,
  title={ソーシャルメディア上の発話の攻撃性推定と会話補助},
  author={藤原 知樹 and 伊藤 彰則 and 能勢隆},
  booktitle={言語処理学会第30回年次大会発表論文集},
  year={2024}
}
Downloads last month
115
Safetensors
Model size
133M params
Tensor type
F32
·
Inference Examples
Inference API (serverless) does not yet support model repos that contain custom code.

Space using TomokiFujihara/luke-japanese-base-lite-offensiveness-estimation 1