🚀 多語言 + 波蘭語SQuAD2.0
本模型是谷歌研究團隊提供的多語言模型,針對波蘭語問答下游任務進行了微調。它能夠有效處理波蘭語的問答場景,為波蘭語相關的信息檢索和問答交互提供支持。
📚 詳細文檔
語言模型詳情
語言模型(bert-base-multilingual-cased):
- 12層,768個隱藏單元,12個注意力頭,1.1億個參數。
- 在維基百科規模最大的前104種語言的大小寫文本上進行訓練。
下游任務詳情
使用mtranslate
Python模塊對SQuAD2.0進行了機器翻譯。為了找到起始標記,在相應段落中搜索答案的直接翻譯。由於上下文不同導致翻譯不同(純答案中缺少上下文),答案並不總是能在文本中找到,因此出現了問答示例丟失的情況。這是數據集中可能出現錯誤的潛在問題。
數據集 |
問答數量 |
SQuAD2.0訓練集 |
130K |
波蘭語SQuAD2.0訓練集 |
83.1K |
SQuAD2.0開發集 |
12K |
波蘭語SQuAD2.0開發集 |
8.5K |
模型基準測試
模型 |
EM/F1 |
有答案(EM/F1) |
無答案 |
SlavicBERT |
69.35/71.51 |
47.02/54.09 |
79.20 |
polBERT |
67.33/69.80 |
45.73/53.80 |
76.87 |
multiBERT |
70.76/72.92 |
45.00/52.04 |
82.13 |
🔧 技術細節
模型訓練
該模型在Tesla V100 GPU上進行訓練,使用以下命令:
export SQUAD_DIR=path/to/pl_squad
python run_squad.py
--model_type bert \
--model_name_or_path bert-base-multilingual-cased \
--do_train \
--do_eval \
--version_2_with_negative \
--train_file $SQUAD_DIR/pl_squadv2_train.json \
--predict_file $SQUAD_DIR/pl_squadv2_dev.json \
--num_train_epochs 2 \
--max_seq_length 384 \
--doc_stride 128 \
--save_steps=8000 \
--output_dir ../../output \
--overwrite_cache \
--overwrite_output_dir
訓練結果:
{'exact': 70.76671723655035, 'f1': 72.92156947155917, 'total': 8569, 'HasAns_exact': 45.00762195121951, 'HasAns_f1': 52.04456128116991, 'HasAns_total': 2624, 'NoAns_exact': 82.13624894869638, 'NoAns_f1': 82.13624894869638, 'NoAns_total': 5945, 'best_exact': 71.72365503559342, 'best_exact_thresh': 0.0, 'best_f1': 73.62662512059369, 'best_f1_thresh': 0.0}
💻 使用示例
基礎用法
使用pipelines快速使用模型:
from transformers import pipeline
qa_pipeline = pipeline(
"question-answering",
model="henryk/bert-base-multilingual-cased-finetuned-polish-squad2",
tokenizer="henryk/bert-base-multilingual-cased-finetuned-polish-squad2"
)
qa_pipeline({
'context': "Warszawa jest największym miastem w Polsce pod względem liczby ludności i powierzchni",
'question': "Jakie jest największe miasto w Polsce?"})
輸出示例
{
"score": 0.9986,
"start": 0,
"end": 8,
"answer": "Warszawa"
}
📞 聯繫方式
如果您想討論或獲取波蘭語版SQuAD的訪問權限,請通過領英與我聯繫。