モデル概要
モデル特徴
モデル能力
使用事例
🚀 X-GENRE分類器 - 多言語テキストジャンル分類器
X-GENRE分類器は、xlm-roberta-base
をベースにしたテキスト分類モデルで、多言語で手動ラベリングされたX-GENREジャンルデータセットで微調整されています。このモデルは自動ジャンル識別に使用でき、xlm-roberta-base
がサポートするあらゆる言語のテキストに適用可能です。
🚀 クイックスタート
このモデルはxlm-roberta-base
をベースに構築され、多言語で手動ラベリングされたX-GENREジャンルデータセットで微調整されています。xlm-roberta-base
がサポートする言語のテキストであれば、自動ジャンル識別に利用できます。
モデルの開発、データセット、およびデータセット内、データセット間、多言語におけるモデルの性能の詳細については、論文Automatic Genre Identification for Robust Enrichment of Massive Text Collections: Investigation of Classification Methods in the Era of Large Language Models (Kuzman et al., 2023)を参照してください。
また、このモデルはCLARIN.SIリポジトリからダウンロードすることもできます。
このモデルを使用した場合は、以下の論文を引用してください。
@article{kuzman2023automatic,
title={Automatic Genre Identification for Robust Enrichment of Massive Text Collections: Investigation of Classification Methods in the Era of Large Language Models},
author={Kuzman, Taja and Mozeti{\v{c}}, Igor and Ljube{\v{s}}i{\'c}, Nikola},
journal={Machine Learning and Knowledge Extraction},
volume={5},
number={3},
pages={1149--1175},
year={2023},
publisher={MDPI}
}
✨ 主な機能
- 多言語対応:複数の言語のテキストジャンル分類に対応しています。
- 高い性能:AGILEベンチマークテストで、他の技術(GPTモデルを含む)よりも優れた性能を発揮します。
💻 使用例
基本的な使用法
from simpletransformers.classification import ClassificationModel
model_args= {
"num_train_epochs": 15,
"learning_rate": 1e-5,
"max_seq_length": 512,
"silent": True
}
model = ClassificationModel(
"xlmroberta", "classla/xlm-roberta-base-multilingual-text-genre-classifier", use_cuda=True,
args=model_args
)
predictions, logit_output = model.predict(["How to create a good text classification model? First step is to prepare good data. Make sure not to skip the exploratory data analysis. Pre-process the text if necessary for the task. The next step is to perform hyperparameter search to find the optimum hyperparameters. After fine-tuning the model, you should look into the predictions and analyze the model's performance. You might want to perform the post-processing of data as well and keep only reliable predictions.",
"On our site, you can find a great genre identification model which you can use for thousands of different tasks. With our model, you can fastly and reliably obtain high-quality genre predictions and explore which genres exist in your corpora. Available for free!"]
)
predictions
# Output: array([3, 8])
[model.config.id2label[i] for i in predictions]
# Output: ['Instruction', 'Promotion']
高度な使用法
バッチ処理を使用してデータセットで予測を行う例は、Google Collabで確認できます。
📚 ドキュメント
AGILE - 自動ジャンル識別ベンチマーク
自動ジャンル識別モデルの堅牢性を評価し、大規模なテキストコレクションに自動的にジャンル情報を付与する際の可用性をテストするために、ベンチマークテストを設定しました。このベンチマークは11種類のヨーロッパ言語と2つのテストデータセットを対象としています。あなたの結果をベンチマークのGitHubリポジトリに投稿することを歓迎します。
このモデルは、ゼロショットシナリオで使用されるGPTモデルを含む、他のすべての技術よりも優れた性能を発揮します。
以下は、英語のテストデータセット(EN - GINCO)での結果です。
モデル | テストデータセット | マクロF1値 | マイクロF1値 |
---|---|---|---|
[X - GENRE分類器](https://huggingface.co/classla/xlm - roberta - base - multilingual - text - genre - classifier) | en - ginco | 0.687 | 0.684 |
GPT - 4o (gpt - 4o - 2024 - 08 - 06) (ゼロショット) | en - ginco | 0.62 | 0.735 |
Llama 3.3 (70B) (ゼロショット) | en - ginco | 0.586 | 0.684 |
Gemma 2 (27B) (ゼロショット) | en - ginco | 0.564 | 0.603 |
Gemma 3 (27B) (ゼロショット) | en - ginco | 0.541 | 0.672 |
GPT - 4o - mini (gpt - 4o - mini - 2024 - 07 - 18) (ゼロショット) | en - ginco | 0.534 | 0.632 |
サポートベクターマシン | en - ginco | 0.514 | 0.489 |
GPT - 3.5 - Turbo (ゼロショット) | en - ginco | 0.494 | 0.625 |
DeepSeek - R1 14B (ゼロショット) | en - ginco | 0.293 | 0.229 |
仮想分類器 (階層的) | en - ginco | 0.088 | 0.154 |
仮想分類器 (最頻値) | en - ginco | 0.032 | 0.169 |
以下は、アルバニア語、カタルーニャ語、クロアチア語、ギリシャ語、アイスランド語、マケドニア語、マルタ語、スロベニア語、トルコ語、ウクライナ語のインスタンスを含む多言語テストデータセット(X - GINCO)での結果です。
モデル | テストデータセット | マクロF1値 | マイクロF1値 |
---|---|---|---|
[X - GENRE分類器](https://huggingface.co/classla/xlm - roberta - base - multilingual - text - genre - classifier) | x - ginco | 0.847 | 0.845 |
GPT - 4o (gpt - 4o - 2024 - 08 - 06) (ゼロショット) | x - ginco | 0.776 | 0.769 |
Llama 3.3 (70B) (ゼロショット) | x - ginco | 0.741 | 0.738 |
Gemma 3 (27B) (ゼロショット) | x - ginco | 0.739 | 0.733 |
GPT - 4o - mini (gpt - 4o - mini - 2024 - 07 - 18) (ゼロショット) | x - ginco | 0.688 | 0.67 |
GPT - 3.5 - Turbo (ゼロショット) | x - ginco | 0.627 | 0.622 |
Gemma 2 (27B) (ゼロショット) | x - ginco | 0.612 | 0.593 |
DeepSeek - R1 14B (ゼロショット) | x - ginco | 0.197 | 0.204 |
サポートベクターマシン | x - ginco | 0.166 | 0.184 |
仮想分類器 (階層的) | x - ginco | 0.106 | 0.113 |
仮想分類器 (最頻値) | x - ginco | 0.029 | 0.133 |
(多言語テストデータセットは、曖昧なラベル「Other」と予測信頼度スコアが0.80未満のインスタンスがテストデータセットに含まれていないため、英語のテストデータセットよりも容易です。)
特定の言語の結果を確認するには、[AGILEベンチマーク](https://github.com/TajaKuzman/AGILE - Automatic - Genre - Identification - Benchmark)を参照してください。
想定される用途と制限
用法
ジャンル識別のためのデータの準備と結果の後処理の例については、[こちら](https://github.com/TajaKuzman/Applying - GENRE - on - MaCoCu - bilingual)を参照してください。ここでは、X - GENRE分類器をMaCoCu平行コーパスの英語部分に適用しています。
信頼できる結果を得るためには、ジャンル分類器は十分な長さのドキュメント(経験則では少なくとも75語)に適用する必要があります。信頼度が0.9を超える予測結果は使用しないことをお勧めします。また、ラベル「Other」は予測の低信頼度の別の指標として使用できます。これは通常、テキストに特定のジャンルの十分な特徴がないことを示しており、これらの予測結果も破棄することができます。
提案された後処理(低信頼度の予測、ラベル「Other」、この特定のケースではラベル「Forum」も削除)を行った後、手動検査に基づくMaCoCuデータでの性能は、マクロF1値とマイクロF1値が0.92に達します。
X - GENREカテゴリ
ラベルリスト
labels_list=['Other', 'Information/Explanation', 'News', 'Instruction', 'Opinion/Argumentation', 'Forum', 'Prose/Lyrical', 'Legal', 'Promotion'],
labels_map={'Other': 0, 'Information/Explanation': 1, 'News': 2, 'Instruction': 3, 'Opinion/Argumentation': 4, 'Forum': 5, 'Prose/Lyrical': 6, 'Legal': 7, 'Promotion': 8}
ラベルの説明
ラベル | 説明 | 例 |
---|---|---|
Information/Explanation | 出来事、人物、事物、概念などを記述または提示するための客観的なテキストです。主な目的は読者に情報を伝えることです。一般的な特徴:客観的/事実的、概念の説明/定義(xは…)、列挙。 | 研究論文、百科事典記事、情報ブログ、製品仕様、講義資料、一般情報、職務説明、マニュアル、星座占い、旅行ガイド、用語集、歴史記事、伝記物語/歴史。 |
Instruction | 読者に何かをする方法を教える客観的なテキストです。一般的な特徴:複数のステップ/アクション、時間順序、一人称複数または二人称、助動詞(必須、しなければならない、必要がある、できるなど)、方法副詞節(ある方法で)、条件副詞節(もし)、時間副詞節(…の後)。 | 操作ガイド、レシピ、技術サポート。 |
Legal | 法律用語を含み、構造が明確な客観的な正式なテキストです。テキストタイプの名前は通常、タイトルに含まれています(契約、規則、改正案、一般規約など)。一般的な特徴:客観的/事実的、法律用語、三人称。 | 細則、ソフトウェアライセンス、公告、規約、契約、法律、著作権表示、大学規則。 |
News | 執筆時点で最近発生したまたは近々発生する出来事を報道する客観的または主観的なテキストです。一般的な特徴:時間および/または場所の副詞/副詞節(日付、場所)、多くの固有名詞、直接または間接の引用、過去形。 | ニュース記事、スポーツ記事、旅行ブログ、ニュース実録、警察報告、公告。 |
Opinion/Argumentation | 作者が自分の意見を表現したり、自分の経験を叙述したりする主観的なテキストです。あるイデオロギーやその他の非商業的事業を宣伝することも含まれます。このジャンルには、個人経験の主観的な叙述も含まれます。一般的な特徴:意見を伝える形容詞/副詞、(不)確実性を伝える単語(確かに、もちろん)、一人称、感嘆符。 | レビュー、ブログ(個人ブログ、旅行ブログ)、社説、提案、読者投稿、説得力のある記事または論文、正式なスピーチ、パンフレット、政治宣伝、コラム、政治宣言。 |
Promotion | イベント、製品、またはサービスを販売または宣伝することを目的とした主観的なテキストです。読者を対象としており、彼らに何かに参加したり、何かを購入したりするように説得しようとします。一般的な特徴:何かを販売する形容詞/副詞(高品質、完璧、驚くべき)、形容詞や副詞の比較級や最上級(最高の、最も偉大な、最も安い)、読者への呼びかけ(二人称を使用)、感嘆符。 | 広告、製品宣伝(電子商取引プラットフォーム)、宿泊施設宣伝、会社サービス宣伝、イベント招待。 |
Forum | 人々が特定のトピックについてコメント形式で議論するテキストです。一般的な特徴:複数の作者、非公式な言語、主観的(作者が自分の意見を表現)、一人称での執筆。 | 議論フォーラム、読者/視聴者のフィードバック、質問と回答フォーラム。 |
Prose/Lyrical | 段落または詩で構成される文学的なテキストです。文学的なテキストは、読者に喜びを与える以外に実用的な用途がないと考えられています。作者は通常、テキストの美学的な外観に注意を払います。これは芸術と見なすことができます。 | 歌詞、詩、祈り文、ジョーク、小説、短編小説。 |
Other | 他のジャンルカテゴリに属さないテキストです。 |
微調整のハイパーパラメータ
simpletransformers
を使用して微調整を行います。事前に簡単なハイパーパラメータ最適化を行い、推定される最適なハイパーパラメータは以下の通りです。
model_args= {
"num_train_epochs": 15,
"learning_rate": 1e-5,
"max_seq_length": 512,
"silent": True
}
📄 ライセンス
このモデルはCC - BY - SA 4.0ライセンスの下で提供されています。
関連情報テーブル
属性 | 詳細 |
---|---|
モデルタイプ | xlm - roberta - base をベースにした多言語テキストジャンル分類器 |
訓練データ | [TajaKuzman/X - GENRE - text - genre - dataset](https://huggingface.co/datasets/TajaKuzman/X - GENRE - text - genre - dataset) |
よくある注意事項
⚠️ 重要な注意事項
信頼できる結果を得るためには、ジャンル分類器は十分な長さのドキュメント(経験則では少なくとも75語)に適用する必要があります。信頼度が0.9を超える予測結果は使用しないことをお勧めします。また、ラベル「Other」は予測の低信頼度の別の指標として使用できます。これは通常、テキストに特定のジャンルの十分な特徴がないことを示しており、これらの予測結果も破棄することができます。
💡 使用上のヒント
ジャンル識別のためのデータの準備と結果の後処理の例については、[こちら](https://github.com/TajaKuzman/Applying - GENRE - on - MaCoCu - bilingual)を参照してください。ここでは、X - GENRE分類器をMaCoCu平行コーパスの英語部分に適用しています。








