🚀 ByT5-base を微調整したツイートにおけるヘイトスピーチ検出モデル
ByT5 ベースのモデルを、ツイートのヘイトスピーチ検出 データセットで微調整し、シーケンス分類 という下流タスクに対応させました。
🚀 クイックスタート
このモデルを使用するには、まず必要なライブラリをインストールする必要があります。以下のコマンドを実行してください。
git clone https://github.com/huggingface/transformers.git
pip install -q ./transformers
次に、以下のコードを使用してモデルをロードし、ツイートの分類を行うことができます。
from transformers import AutoTokenizer, T5ForConditionalGeneration
ckpt = 'Narrativa/byt5-base-tweet-hate-detection'
tokenizer = AutoTokenizer.from_pretrained(ckpt)
model = T5ForConditionalGeneration.from_pretrained(ckpt).to("cuda")
def classify_tweet(tweet):
inputs = tokenizer([tweet], padding='max_length', truncation=True, max_length=512, return_tensors='pt')
input_ids = inputs.input_ids.to('cuda')
attention_mask = inputs.attention_mask.to('cuda')
output = model.generate(input_ids, attention_mask=attention_mask)
return tokenizer.decode(output[0], skip_special_tokens=True)
classify_tweet('here goes your tweet...')
✨ 主な機能
- ByT5ベースのモデルを使用して、ツイート内のヘイトスピーチを検出します。
- シーケンス分類タスクに最適化されています。
📚 ドキュメント
ByT5 - Baseの詳細 🧠
ByT5は、GoogleのT5 のトークナイザーを使用しないバージョンで、一般的に MT5 のアーキテクチャに従っています。
ByT5は、平均20のUTF-8文字のスパンマスクを使用して、mC4 のみで事前学習され、教師あり学習は行われていません。したがって、このモデルは下流タスクで使用する前に微調整する必要があります。
ByT5は、ノイズの多いテキストデータで特に良好な性能を発揮します。例えば、google/byt5-base
は TweetQA で mt5-base を大きく上回っています。
論文: ByT5: Towards a token-free future with pre-trained byte-to-byte models
著者: Linting Xue, Aditya Barua, Noah Constant, Rami Al-Rfou, Sharan Narang, Mihir Kale, Adam Roberts, Colin Raffel
下流タスクの詳細(テキスト生成としてのシーケンス分類) - データセット 📚
tweets_hate_speech_detection
このタスクの目的は、ツイート内のヘイトスピーチを検出することです。簡単に言うと、ツイートに人種差別的または性差別的な感情が含まれている場合、そのツイートはヘイトスピーチを含むとみなします。したがって、このタスクは、人種差別的または性差別的なツイートを他のツイートから分類することです。
正式には、ツイートとラベルのトレーニングサンプルが与えられた場合、ラベル '1' はツイートが人種差別的/性差別的であることを示し、ラベル '0' はツイートが人種差別的/性差別的でないことを示します。あなたの目的は、与えられたテストデータセットのラベルを予測することです。
- データインスタンス:
このデータセットには、ツイートがヘイトスピーチかどうかを示すラベルが含まれています。
{'label': 0, # ヘイトスピーチではない
'tweet': ' @user when a father is dysfunctional and is so selfish he drags his kids into his dysfunction. #run'}
テストセットのメトリクス 🧾
エントリの5%を使用して代表的なテストセットを作成しました。
このデータセットは非常に不均衡で、F1スコアは79.8 でした。
🔧 技術詳細
このモデルは、Narrativa によって作成されました。
Narrativaについて: 自然言語生成 (NLG) | 当社の機械学習ベースのプラットフォームであるGabrieleは、自然言語ソリューションを構築および展開します。 #NLG #AI