🚀 ModerationBERT-ML-En
ModerationBERT-ML-En は、bert-base-multilingual-cased
をベースにしたモデレーションモデルです。このモデルは、テキストモデレーションタスクを実行するために設計されており、具体的にはテキストを18の異なるカテゴリに分類します。現在は英語のテキストのみで動作します。
🚀 クイックスタート
ModerationBERT-ML-En は、bert-base-multilingual-cased
をベースにしたテキスト分類モデルです。このモデルは、英語のテキストを18の異なるカテゴリに分類するために使用できます。
✨ 主な機能
- 英語のテキストを18の異なるカテゴリに分類することができます。
- BERTアーキテクチャを使用して、高精度な分類を行います。
📦 インストール
ModerationBERT-ML-En を使用するには、Hugging Face の transformers
ライブラリと torch
をインストールする必要があります。
pip install transformers torch
💻 使用例
基本的な使用法
import json
import torch
from transformers import BertTokenizer, BertForSequenceClassification
model_name = "ifmain/ModerationBERT-En-02"
tokenizer = BertTokenizer.from_pretrained(model_name)
model = BertForSequenceClassification.from_pretrained(model_name, num_labels=18)
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model.to(device)
def predict(text, model, tokenizer):
encoding = tokenizer.encode_plus(
text,
add_special_tokens=True,
max_length=128,
return_token_type_ids=False,
padding='max_length',
truncation=True,
return_attention_mask=True,
return_tensors='pt'
)
input_ids = encoding['input_ids'].to(device)
attention_mask = encoding['attention_mask'].to(device)
model.eval()
with torch.no_grad():
outputs = model(input_ids, attention_mask=attention_mask)
predictions = torch.sigmoid(outputs.logits)
return predictions
new_text = "Fuck off stuped trash"
predictions = predict(new_text, model, tokenizer)
categories = ['harassment', 'harassment_threatening', 'hate', 'hate_threatening',
'self_harm', 'self_harm_instructions', 'self_harm_intent', 'sexual',
'sexual_minors', 'violence', 'violence_graphic', 'self-harm',
'sexual/minors', 'hate/threatening', 'violence/graphic',
'self-harm/intent', 'self-harm/instructions', 'harassment/threatening']
category_scores = {categories[i]: predictions[0][i].item() for i in range(len(categories))}
output = {
"text": new_text,
"category_scores": category_scores
}
print(json.dumps(output, indent=4, ensure_ascii=False))
高度な使用法
上記のコード例では、基本的なテキスト分類の使用方法を示しています。このモデルは、英語のテキストを18の異なるカテゴリに分類することができます。
📚 ドキュメント
データセット
このモデルは、text-moderation-410K データセットを使用してトレーニングおよび微調整されました。このデータセットには、さまざまなモデレーションカテゴリでラベル付けされた幅広いテキストサンプルが含まれています。
モデルの説明
ModerationBERT-ML-En は、BERTアーキテクチャを使用して、テキストを以下のカテゴリに分類します。
- 嫌がらせ
- 脅迫的な嫌がらせ
- 憎悪
- 脅迫的な憎悪
- 自傷行為
- 自傷行為の指示
- 自傷行為の意図
- 性的な内容
- 未成年者に関する性的な内容
- 暴力
- グラフィックな暴力
- 自傷行為
- 性的な内容/未成年者
- 憎悪/脅迫
- 暴力/グラフィック
- 自傷行為/意図
- 自傷行為/指示
- 脅迫的な嫌がらせ
トレーニングと微調整
このモデルは、データセットの95%をトレーニングに、5%を評価に使用してトレーニングされました。トレーニングは2段階で行われました。
- 初期トレーニング:BERTレイヤーを凍結した状態で分類器レイヤーをトレーニングしました。
- 微調整:BERTモデルの上位2層を凍結解除し、モデル全体を微調整しました。
🔧 技術詳細
このモデルは、bert-base-multilingual-cased
をベースにしています。BERTアーキテクチャを使用して、英語のテキストを18の異なるカテゴリに分類します。トレーニングには、text-moderation-410K データセットが使用されました。
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で提供されています。
⚠️ 重要提示
このモデルは現在、英語のテキストのみで動作するように構成されています。
💡 使用建议
将来のアップデートで、追加の言語のサポートが含まれる可能性があります。