模型:
henryk/bert-base-multilingual-cased-finetuned-polish-squad1
这个模型是由Google研究团队提供的多语言模型,经过细调后用于波兰问答下游任务。
语言模型( bert-base-multilingual-cased ):12层,768隐藏层,12个头部,110M参数。在104个最大维基百科语言的大小写文本上进行训练。
使用mtranslate Python模块对 SQuAD1.1 进行机器翻译。为了找到起始标记,对应段落中搜索答案的直接翻译。由于不同的上下文导致不同的翻译(纯答案中缺少上下文),答案不总能在文本中找到,因此导致了问题 - 答案示例的损失。这是一个潜在的问题,数据集中可能出现错误。
在Dataset | # Q&A |
---|---|
SQuAD1.1 Train | 87.7 K |
Polish SQuAD1.1 Train | 39.5 K |
SQuAD1.1 Dev | 10.6 K |
Polish SQuAD1.1 Dev | 2.6 K |
Model | EM | F1 |
---|---|---|
1235321 | 60.89 | 71.68 |
1236321 | 57.46 | 68.87 |
1237321 | 60.67 | 71.89 |
1238321 | 47.98 | 59.42 |
该模型在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 \ --train_file $SQUAD_DIR/pl_squadv1_train_clean.json \ --predict_file $SQUAD_DIR/pl_squadv1_dev_clean.json \ --num_train_epochs 2 \ --max_seq_length 384 \ --doc_stride 128 \ --save_steps=8000 \ --output_dir ../../output \ --overwrite_cache \ --overwrite_output_dir
结果:
{'exact': 60.670731707317074, 'f1': 71.8952193697293, 'total': 2624,'HasAns_exact': 60.670731707317074, 'HasAns_f1': 71.8952193697293, 'HasAns_total': 2624,'best_exact': 60.670731707317074,'best_exact_thresh': 0.0,'best_f1': 71.8952193697293,'best_f1_thresh': 0.0}
使用pipelines进行快速使用:
from transformers import pipeline qa_pipeline = pipeline( "question-answering", model="henryk/bert-base-multilingual-cased-finetuned-polish-squad1", tokenizer="henryk/bert-base-multilingual-cased-finetuned-polish-squad1" ) 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.9988, "start": 0, "end": 8, "answer": "Warszawa" }
如果您想讨论或获取SQuAD的波兰语版本,请随时通过 LinkedIn 与我联系。