🚀 多语言 + 波兰语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的访问权限,请通过领英与我联系。