🚀 テキストからの性別予測
このモデルは、英語のテキスト内容のみに基づいて、匿名の発言者または作者の可能性のある 性別 を 予測 することができます。これは DeBERTa - v3 - large をベースに構築され、正式および非正式なテキストを含む多様な、多言語、多ドメインのデータセットで微調整されています。
🚀 Spaceリンク:🤗 Hugging Face Spacesで試す
📂 モデルリポジトリ:🤗 Hugging Face Hubで確認
✨ 主な機能
- 英語のテキスト内容のみから、匿名の発言者または作者の性別を予測できます。
- 強力な DeBERTa - v3 - large モデルをベースにしています。
- 正式および非正式なテキストを含む多様な、多言語、多ドメインのデータセットで微調整されています。
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
import torch.nn.functional as F
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model_name = "fc63/gender_prediction_model_from_text"
tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=False)
model = AutoModelForSequenceClassification.from_pretrained(model_name).eval().to(device)
def predict(text):
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=128).to(device)
with torch.no_grad():
outputs = model(**inputs)
probs = F.softmax(outputs.logits, dim=1)
pred = torch.argmax(probs, dim=1).item()
confidence = round(probs[0][pred].item() * 100, 1)
gender = "Female" if pred == 0 else "Male"
return f"{gender} (Confidence: {confidence}%)"
sample_text = "I love writing in my journal every night. It helps me reflect on the day and plan for tomorrow."
print(predict(sample_text))
📚 ドキュメント
モデル情報
属性 |
詳細 |
モデルタイプ |
DeBERTa - v3 - largeをベースにした性別予測用のテキスト分類モデル |
訓練データ |
samzirbo/europarl.en - es.gendered、czyzi0/luna - speech - dataset、czyzi0/pwr - azon - speech - dataset、sagteam/author_profiling、kaushalgawri/nptel - en - tags - and - gender - v0などの多ドメインデータセット |
評価指標 |
正解率、F1値、適合率、再現率 |
ベースモデル |
microsoft/deberta - v3 - large |
データセット
以下のデータセットが使用されています:
- [samzirbo/europarl.en - es.gendered](https://huggingface.co/datasets/samzirbo/europarl.en - es.gendered):正式な演説(議会)、英語
- [czyzi0/luna - speech - dataset](https://huggingface.co/datasets/czyzi0/luna - speech - dataset):電話会話、ポーランド語(翻訳済み)
- [czyzi0/pwr - azon - speech - dataset](https://huggingface.co/datasets/czyzi0/pwr - azon - speech - dataset):電話会話、ポーランド語(翻訳済み)
- sagteam/author_profiling:ソーシャルポスト、ロシア語(翻訳済み)
- [kaushalgawri/nptel - en - tags - and - gender - v0](https://huggingface.co/datasets/kaushalgawri/nptel - en - tags - and - gender - v0):口語の文字起こし、英語
- Blog Authorship Corpus:ブログ記事、英語
すべてのデータセットは正規化され、必要に応じて翻訳、重複排除され、ランダムなアンダーサンプリング により男女のサンプル数がバランスされています。
前処理と訓練
- 正規化:すべてのデータセットから引用符、ダッシュ、プレースホルダー、ノイズ、HTML/コードをクリーニングしました。
- 翻訳:
Helsinki - NLP/opus - mt - *
モデルを使用してポーランド語とロシア語のデータを処理しました。
- アンダーサンプリング:男性と女性のサンプルをバランスさせるためにランダムなアンダーサンプリングを行いました。
- 訓練戦略:
- LR Finderを使用して学習率を最適化しました(
2.66e - 6
)
- F1値と損失に基づく早期終了戦略を使用して微調整しました
- 250ステップごとにステップベースの評価を行いました
- 24,750ステップの最良のチェックポイントを保存して評価しました
- 第2段階の微調整:
- 完全に統合されたデータセットで2エポックの微調整を行いました
- 余弦学習率スケジューラーとウォームアップステップを使用しました
性能(完全統合テストセットで)
カテゴリ |
適合率 |
再現率 |
F1値 |
正解率 |
サンプル数 |
女性 |
0.70 |
0.65 |
0.68 |
|
591,027 |
男性 |
0.68 |
0.72 |
0.70 |
|
591,027 |
マクロ平均 |
0.69 |
0.69 |
0.69 |
|
1,182,054 |
正解率 |
|
|
|
0.69 |
1,182,054 |
今後の作業と制限事項
現在のモデルには一定の制限があり、予測結果に偏りがあります。例えば、感情的、心理的、内省的なテキストは女性と予測されることが多く、より直接的で結果重視のテキストは男性と予測されることが多いです。したがって、逆のパターンを反映した大規模で慎重にラベル付けされたデータセットが必要です。
訓練モデルに使用されるデータセットはオープンソースプラットフォームから取得されており、取得可能なデータの範囲が制限されています。さらなる進歩を遂げるには、独自により大きなデータセットを作成してラベル付けする必要があり、これには多くの時間、労力、コストがかかります。
データセットを作成する前に、現在のデータセットを使用してさらなる方法を試す予定です。これらの方法がすべて無効な場合、新しいデータセットの構築が次のステップになりますが、これは時間と費用がかかり、開発が停止する可能性があります。
🔧 技術詳細
このモデルは DeBERTa - v3 - large をベースに構築され、多ドメイン、多言語のデータセットで微調整されています。前処理段階では、データの正規化、翻訳、アンダーサンプリングなどの操作が行われました。訓練過程では、LR Finderを使用して学習率を最適化し、早期終了戦略を採用し、第2段階の微調整では余弦学習率スケジューラーとウォームアップステップを使用しました。
📄 ライセンス
作者:Furkan Çoban
プロジェクト:CENG - 481性別予測モデル
ライセンス:MIT
引用
@misc{fc63_gender1_2025,
title = {Gender Prediction from Text},
author = {Çoban, Furkan},
year = {2025},
howpublished = {\url{https://doi.org/10.5281/zenodo.15619489}},
note = {DeBERTa-v3-large model fine-tuned on multi-domain gender-labeled texts}
}