🚀 多言語固有表現認識のためのRoBERTa
このモデルは、多言語の固有表現認識を行うためのものです。Wikipediaの記事から自動的に抽出されたデータセットを使用して、多言語の固有表現を検出することができます。
🚀 クイックスタート
このモデルは、IOB形式に従って各トークンを分類することでエンティティを検出します。コードはこのGitHubリポジトリにあります。
✨ 主な機能
- 多言語の固有表現認識が可能です。
- 21の言語に対応しています。
- 高精度な固有表現認識が可能です。
📦 インストール
このモデルを使用するには、以下のコードを実行してください。
from transformers import AutoTokenizer, AutoModelForTokenClassification
tokenizer = AutoTokenizer.from_pretrained("julian-schelb/roberta-ner-multilingual/", add_prefix_space=True)
model = AutoModelForTokenClassification.from_pretrained("julian-schelb/roberta-ner-multilingual/")
💻 使用例
基本的な使用法
text = "In December 1903 in France the Royal Swedish Academy of Sciences awarded Pierre Curie, Marie Curie, and Henri Becquerel the Nobel Prize in Physics."
inputs = tokenizer(
text,
add_special_tokens=False,
return_tensors="pt"
)
with torch.no_grad():
logits = model(**inputs).logits
predicted_token_class_ids = logits.argmax(-1)
predicted_tokens_classes = [model.config.id2label[t.item()] for t in predicted_token_class_ids[0]]
predicted_tokens_classes
📚 ドキュメント
モデルの説明
このモデルは、各トークンをIOB形式に従って分類することでエンティティを検出します。
['O', 'B-PER', 'I-PER', 'B-ORG', 'I-ORG', 'B-LOC', 'I-LOC']
学習データ
このモデルは、wikiannデータセットの一部を使用してファインチューニングされました。学習データは、以下の言語に対応しています。
["en","de", "fr",
"zh", "it", "es",
"hi", "bn", "ar",
"ru", "uk", "pt",
"ur", "id", "ja",
"ne", "nl", "tr",
"ca", "bg", "zh-yue"]
評価結果
このモデルは、wikiannデータセットのテスト分割を使用して評価されました。結果は以下の通りです。
{'LOC': {'f1': 0.8994491397524903,
'number': 184430,
'precision': 0.8941572985543279,
'recall': 0.9048039906739684},
'ORG': {'f1': 0.829114679375883,
'number': 129760,
'precision': 0.8283525257886599,
'recall': 0.8298782367447596},
'PER': {'f1': 0.9115096398413828,
'number': 130471,
'precision': 0.9043545174723882,
'recall': 0.9187788857293958},
'overall_accuracy': 0.9398182274831388,
'overall_f1': 0.8825581369330908,
'overall_precision': 0.8781215422873389,
'overall_recall': 0.8870397898623895}
RoBERTaについて
このモデルは、XLM-RoBERTaのファインチューニングされたバージョンです。元のモデルは、100の言語を含む2.5TBのフィルタリングされたCommonCrawlデータで事前学習されました。このモデルは、Conneauらによる論文Unsupervised Cross-lingual Representation Learning at Scaleで紹介され、このリポジトリで最初に公開されました。
RoBERTaは、自己教師付き学習方式で大規模コーパスで事前学習されたトランスフォーマーモデルです。これは、人間が何らかの形でラベル付けを行わず、生のテキストのみで事前学習されたことを意味します(これが、大量の公開データを使用できる理由です)。これらのテキストから入力とラベルを生成する自動プロセスがあります。
より正確には、マスク言語モデリング(MLM)の目的で事前学習されました。文章を取り、モデルは入力の単語の15%をランダムにマスクし、その後、マスクされた文章全体をモデルに通して、マスクされた単語を予測する必要があります。これは、通常、単語を1つずつ見る従来の再帰型ニューラルネットワーク(RNN)や、内部的に未来のトークンをマスクするGPTのような自己回帰モデルとは異なります。これにより、モデルは文章の双方向表現を学習することができます。
このように、モデルは100の言語の内部表現を学習し、それを下流のタスクに役立つ特徴を抽出するために使用することができます。たとえば、ラベル付けされた文章のデータセットがある場合、XLM-RoBERTaモデルによって生成された特徴を入力として使用して、標準的な分類器をトレーニングすることができます。
制限とバイアス
このモデルは、特定の期間のエンティティが注釈付けされたニュース記事の学習データセットによって制限されています。これは、異なるドメインのすべてのユースケースにうまく一般化されない可能性があります。
🔧 技術詳細
関連論文
- Pan, X., Zhang, B., May, J., Nothman, J., Knight, K., & Ji, H. (2017). Cross-lingual Name Tagging and Linking for 282 Languages. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) (pp. 1946–1958). Association for Computational Linguistics.
- Rahimi, A., Li, Y., & Cohn, T. (2019). Massively Multilingual Transfer for NER. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics (pp. 151–164). Association for Computational Linguistics.
- Liu, Y., Ott, M., Goyal, N., Du, J., Joshi, M., Chen, D., Levy, O., Lewis, M., Zettlemoyer, L., & Stoyanov, V.. (2019). RoBERTa: A Robustly Optimized BERT Pretraining Approach.
引用
このモデルは、以下の研究論文のためにファインチューニングされています。
@inproceedings{schelbECCEEntitycentricCorpus2022,
title = {{ECCE}: {Entity}-centric {Corpus} {Exploration} {Using} {Contextual} {Implicit} {Networks}},
url = {https://dl.acm.org/doi/10.1145/3487553.3524237},
booktitle = {Companion {Proceedings} of the {Web} {Conference} 2022},
author = {Schelb, Julian and Ehrmann, Maud and Romanello, Matteo and Spitz, Andreas},
year = {2022},
}
📄 ライセンス
このモデルは、MITライセンスの下で公開されています。