🚀 ベトナム語質問応答モデル
本プロジェクトは、事前学習言語モデルを基に、ベトナム語と英語に対して微調整を行い、抽出型質問応答タスクに使用されます。モデルは複数のデータセットで学習され、VLSP MRC 2021テストセットで優れた成績を収めています。
🚀 クイックスタート
事前学習モデルは以下の2つの方法で使用できます。
- Hugging Faceパイプラインスタイル(合計特徴量戦略を使用しない):
from transformers import pipeline
model_checkpoint = "nguyenvulebinh/vi-mrc-base"
nlp = pipeline('question-answering', model=model_checkpoint,
tokenizer=model_checkpoint)
QA_input = {
'question': "Bình là chuyên gia về gì ?",
'context': "Bình Nguyễn là một người đam mê với lĩnh vực xử lý ngôn ngữ tự nhiên . Anh nhận chứng chỉ Google Developer Expert năm 2020"
}
res = nlp(QA_input)
print('pipeline: {}'.format(res))
- より正確な推論プロセス(合計特徴量戦略を使用する):
from infer import tokenize_function, data_collator, extract_answer
from model.mrc_model import MRCQuestionAnswering
from transformers import AutoTokenizer
model_checkpoint = "nguyenvulebinh/vi-mrc-large"
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
model = MRCQuestionAnswering.from_pretrained(model_checkpoint)
QA_input = {
'question': "Bình được công nhận với danh hiệu gì ?",
'context': "Bình Nguyễn là một người đam mê với lĩnh vực xử lý ngôn ngữ tự nhiên . Anh nhận chứng chỉ Google Developer Expert năm 2020"
}
inputs = [tokenize_function(*QA_input)]
inputs_ids = data_collator(inputs)
outputs = model(**inputs_ids)
answer = extract_answer(inputs, outputs, tokenizer)
print(answer)
✨ 主な機能
- 多言語対応:ベトナム語と英語の質問応答タスクをサポートします。
- 優れた性能:VLSP MRC 2021テストセットで1位の成績を収めています。
- 使いやすさ:Hugging Faceパイプラインスタイルとより正確な推論プロセスの2つの使用方法を提供しています。
📦 インストール
ドキュメントに具体的なインストール手順は記載されていません。詳細情報はプロジェクトリポジトリを参照してください:extractive-qa-mrc
📚 ドキュメント
モデルの説明
本モデルはベトナム語の質問応答タスクに使用することを目的としているため、検証セットはベトナム語のみです(ただし、英語でも正常に動作します)。以下の評価結果はVLSP MRC 2021テストセットを使用しており、この実験はランキングで1位の成績を収めています。
モデル |
完全一致(EM) |
F1値 |
large 公開テストセット |
85.847 |
83.826 |
large 非公開テストセット |
82.072 |
78.071 |
公開ランキング |
非公開ランキング |
 |
 |
MRCQuestionAnswering は XLM-RoBERTa を事前学習言語モデルとして使用しています。デフォルトでは、XLM-RoBERTaは単語をサブワードに分割しますが、本実装では、合計戦略を使用して、BERT層でエンコードされたサブワード表現を単語表現に再結合しています。
🔧 技術詳細
MRCQuestionAnswering は XLM-RoBERTa を事前学習言語モデルとして使用しています。デフォルトでは、XLM-RoBERTaは単語をサブワードに分割しますが、本実装では、合計戦略を使用して、BERT層でエンコードされたサブワード表現を単語表現に再結合しています。
📄 ライセンス
本プロジェクトはCC BY - NC 4.0ライセンスの下で提供されています。
関連情報
Binh Nguyenによって構築されました
詳細情報はプロジェクトリポジトリを参照してください。
