🚀 言語検出モデル
このモデルは、BERTベースの言語検出モデルで、hac541309/open-lid-dataset を使用して学習されています。このデータセットには、200言語にまたがる1億2100万文が含まれています。このモデルは、テキスト分類タスクにおける言語識別を高速かつ正確に行うように最適化されています。
✨ 主な機能
- 高速かつ正確な言語識別を行うことができます。
- 200言語にまたがる大規模なデータセットで学習されているため、多様な言語に対応しています。
📦 インストール
このモデルは、Hugging FaceのTransformersライブラリを使用して簡単にロードできます。必要な依存関係がインストールされていることを確認してください。
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline
tokenizer = AutoTokenizer.from_pretrained("alexneakameni/language_detection")
model = AutoModelForSequenceClassification.from_pretrained("alexneakameni/language_detection")
language_detection = pipeline("text-classification", model=model, tokenizer=tokenizer)
text = "Hello world!"
predictions = language_detection(text)
print(predictions)
このコードを実行すると、予測された言語コードまたはラベルと対応する信頼度スコアが出力されます。
📚 ドキュメント
モデルの詳細
学習プロセス
- データセット:
- トークナイザー:
[UNK]
, [CLS]
, [SEP]
, [PAD]
, [MASK]
の特殊トークンを持つカスタム BertTokenizerFast
を使用しました。
- ハイパーパラメータ:
- 学習率: 2e-5
- バッチサイズ: トレーニング時は256、テスト時は512
- エポック数: 1
- スケジューラー: コサイン
- トレーナー: Hugging Faceの Trainer API を使用し、Weights & Biases でロギングを行いました。
データ拡張
モデルの汎化能力と頑健性を向上させるために、新しいテキスト拡張戦略を導入しました。これには以下のものが含まれます。
- 数字を削除する(ランダムな確率で)
- 単語をシャッフルしてバリエーションを導入する
- 単語を選択的に削除する
- ランダムな数字を追加してノイズをシミュレートする
- 句読点を変更して異なるテキスト形式を処理する
拡張の影響
これらの拡張を追加することで、最新の評価結果に見られるように、モデルの全体的な性能が向上しました。
評価
更新された性能指標
- 正解率: 0.9733
- 適合率: 0.9735
- 再現率: 0.9733
- F1スコア: 0.9733
詳細な評価(約1200万のテキスト)
言語 |
サポート数 |
適合率 |
再現率 |
F1スコア |
サイズ |
Arab |
502886 |
0.908169 |
0.91335 |
0.909868 |
21 |
Latn |
4.86532e+06 |
0.973172 |
0.972221 |
0.972646 |
125 |
Ethi |
88564 |
0.996634 |
0.996459 |
0.996546 |
2 |
Beng |
100502 |
0.995 |
0.992859 |
0.993915 |
3 |
Deva |
260227 |
0.950405 |
0.942772 |
0.946355 |
10 |
Cyrl |
510229 |
0.991342 |
0.989693 |
0.990513 |
12 |
Tibt |
21863 |
0.992792 |
0.993665 |
0.993222 |
2 |
Grek |
80445 |
0.998758 |
0.999391 |
0.999074 |
1 |
Gujr |
53237 |
0.999981 |
0.999925 |
0.999953 |
1 |
Hebr |
61576 |
0.996375 |
0.998904 |
0.997635 |
2 |
Armn |
41146 |
0.999927 |
0.999927 |
0.999927 |
1 |
Jpan |
53963 |
0.999147 |
0.998721 |
0.998934 |
1 |
Knda |
40989 |
0.999976 |
0.999902 |
0.999939 |
1 |
Geor |
43399 |
0.999977 |
0.999908 |
0.999942 |
1 |
Khmr |
24348 |
1 |
0.999959 |
0.999979 |
1 |
Hang |
66447 |
0.999759 |
0.999955 |
0.999857 |
1 |
Laoo |
18353 |
1 |
0.999837 |
0.999918 |
1 |
Mlym |
41899 |
0.999976 |
0.999976 |
0.999976 |
1 |
Mymr |
62067 |
0.999898 |
0.999207 |
0.999552 |
2 |
Orya |
27626 |
1 |
0.999855 |
0.999928 |
1 |
Guru |
40856 |
1 |
0.999902 |
0.999951 |
1 |
Olck |
13646 |
0.999853 |
1 |
0.999927 |
1 |
Sinh |
41437 |
1 |
0.999952 |
0.999976 |
1 |
Taml |
46832 |
0.999979 |
1 |
0.999989 |
1 |
Tfng |
25238 |
0.849058 |
0.823968 |
0.823808 |
2 |
Telu |
38251 |
1 |
0.999922 |
0.999961 |
1 |
Thai |
51428 |
0.999922 |
0.999961 |
0.999942 |
1 |
Hant |
94042 |
0.993966 |
0.995907 |
0.994935 |
2 |
Hans |
57006 |
0.99007 |
0.986405 |
0.988234 |
1 |
以前の性能との比較
テキスト拡張を導入した後、同じ評価データセットでモデルの性能が向上しました。正解率が0.9695から0.9733に上昇し、平均適合率、再現率、F1スコアにも同様の改善が見られました。
結論
新しいテキスト拡張技術の導入により、モデルの正解率と頑健性が測定可能な程度に向上しました。これらの改善により、多様な言語スクリプトに対する汎化能力が向上し、実世界のアプリケーションでのモデルの可用性が向上します。
リポジトリには、各スクリプトの詳細な分類レポートも提供されており、さらなる分析に役立ちます。
🔧 技術詳細
- メトリクス:
- 適合率 - 0.9734840613846838
- 再現率 - 0.9733370365227052
- F1 - 0.9732910950552367
- 正解率 - 0.9733370365227052
- パイプラインタグ: テキスト分類
- 使用データセット: hac541309/open-lid-dataset
- サポート言語: en, fr, de, es, ar, el
- タグ: 検出、分類、言語、テキスト
📄 ライセンス
このモデルは、MITライセンスの下で提供されています。
⚠️ 重要提示
モデルの性能は、テキストの長さ、言語の多様性、ドメイン固有の語彙によって異なる場合があります。重要なアプリケーションでは、常に独自のデータセットで結果を検証してください。
💡 使用建议
詳細な情報については、リポジトリのドキュメント を参照してください。
このモデルをご利用いただき、ありがとうございます。フィードバックや貢献を歓迎します!