语言: fr
数据集:
dpr-question_encoder-fr_qa-camembert
描述
基于CamemBERT的法语DPR模型,并在三个法语问答数据集组合上进行了微调。
数据
法语问答数据集
我们使用了三个法语问答数据集的组合:
- PIAFv1.1
- FQuADv1.0
- SQuAD-FR(自动翻译为法语版的SQuAD)
训练
我们使用了90,562个随机问题作为训练集
,22,391个问题作为开发集
。训练集
中的问题不会出现在开发集
中。每个问题有一个正例上下文
(包含答案的段落)和大约30个困难负例上下文
。困难负例上下文通过查询Elasticsearch实例(使用bm25检索)获取,返回的是不包含答案的前k个候选段落。
相关文件可在此处找到。
评估
我们使用了FQuADv1.0和法语SQuAD的评估集。
训练脚本
我们使用了官方的Facebook DPR实现,并稍作修改:默认情况下,代码可以处理Roberta模型,但我们修改了一行代码以更方便地适配Camembert。修改内容可在此处查看。
超参数
python -m torch.distributed.launch --nproc_per_node=8 train_dense_encoder.py \
--max_grad_norm 2.0 --encoder_model_type hf_bert --pretrained_file data/bert-base-multilingual-uncased \
--seed 12345 --sequence_length 256 --warmup_steps 1237 --batch_size 16 --do_lower_case \
--train_file DPR_FR_train.json \
--dev_file ./data/100_hard_neg_ctxs/DPR_FR_dev.json \
--output_dir ./output/bert --learning_rate 2e-05 --num_train_epochs 35 \
--dev_batch_size 16 --val_av_rank_start_epoch 25 \
--pretrained_model_cfg ./data/bert-base-multilingual-uncased
评估结果
我们使用FQuAD和SQuAD-FR的评估(或验证)集获得了以下结果。这些结果是通过haystack的评估脚本获得的(仅报告检索结果)。
DPR
FQuAD v1.0评估
在3184个问题中,有2764个问题(86.81%)的答案位于检索器选出的前20个候选段落中。
检索器召回率:0.87
检索器平均精度均值:0.57
SQuAD-FR评估
在10018个问题中,有8945个问题(89.29%)的答案位于检索器选出的前20个候选段落中。
检索器召回率:0.89
检索器平均精度均值:0.63
BM25
作为参考,BM25的结果如下所示。与原始论文一致,对于类似SQuAD的数据集,DPR的结果始终不如BM25。
FQuAD v1.0评估
在3184个问题中,有2966个问题(93.15%)的答案位于检索器选出的前20个候选段落中。
检索器召回率:0.93
检索器平均精度均值:0.74
SQuAD-FR评估
在10018个问题中,有9353个问题(93.36%)的答案位于检索器选出的前20个候选段落中。
检索器召回率:0.93
检索器平均精度均值:0.77
使用方式
这里报告的结果是通过haystack
库获得的。如果仅使用HF的transformers
库获取类似的嵌入向量,可以按以下方式操作:
from transformers import AutoTokenizer, AutoModel
query = "Salut, mon chien est-il mignon ?"
tokenizer = AutoTokenizer.from_pretrained("etalab-ia/dpr-question_encoder-fr_qa-camembert", do_lower_case=True)
input_ids = tokenizer(query, return_tensors='pt')["input_ids"]
model = AutoModel.from_pretrained("etalab-ia/dpr-question_encoder-fr_qa-camembert", return_dict=True)
embeddings = model.forward(input_ids).pooler_output
print(embeddings)
在haystack
中,我们将其用作检索器:
retriever = DensePassageRetriever(
document_store=document_store,
query_embedding_model="etalab-ia/dpr-question_encoder-fr_qa-camembert",
passage_embedding_model="etalab-ia/dpr-ctx_encoder-fr_qa-camembert",
model_version=dpr_model_tag,
infer_tokenizer_classes=True,
)
致谢
这项工作使用了GENCI–IDRIS提供的HPC资源(授权号2020-AD011011224)。
引用
数据集
PIAF
@inproceedings{KeraronLBAMSSS20,
author = {Rachel Keraron and
Guillaume Lancrenon and
Mathilde Bras and
Fr{\'{e}}d{\'{e}}ric Allary and
Gilles Moyse and
Thomas Scialom and
Edmundo{-}Pavel Soriano{-}Morales and
Jacopo Staiano},
title = {Project {PIAF:} Building a Native French Question-Answering Dataset},
booktitle = {{LREC}},
pages = {5481--5490},
publisher = {European Language Resources Association},
year = {2020}
}
FQuAD
@article{dHoffschmidt2020FQuADFQ,
title={FQuAD: French Question Answering Dataset},
author={Martin d'Hoffschmidt and Maxime Vidal and Wacim Belblidia and Tom Brendl'e and Quentin Heinrich},
journal={ArXiv},
year={2020},
volume={abs/2002.06071}
}
SQuAD-FR
@MISC{kabbadj2018,
author = "Kabbadj, Ali",
title = "Something new in French Text Mining and Information Extraction (Universal Chatbot): Largest Q&A French training dataset (110 000+) ",
editor = "linkedin.com",
month = "November",
year = "2018",
url = "\url{https://www.linkedin.com/pulse/something-new-french-text-mining-information-chatbot-largest-kabbadj/}",
note = "[Online; posted 11-November-2018]",
}
模型
CamemBERT
HF模型卡片:https://huggingface.co/camembert-base
@inproceedings{martin2020camembert,
title={CamemBERT: a Tasty French Language Model},
author={Martin, Louis and Muller, Benjamin and Su{\'a}rez, Pedro Javier Ortiz and Dupont, Yoann and Romary, Laurent and de la Clergerie, {\'E}ric Villemonte and Seddah, Djam{\'e} and Sagot, Beno{\^\i}t},
booktitle={Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics},
year={2020}
}
DPR
@misc{karpukhin2020dense,
title={Dense Passage Retrieval for Open-Domain Question Answering},
author={Vladimir Karpukhin and Barlas Oğuz and Sewon Min and Patrick Lewis and Ledell Wu and Sergey Edunov and Danqi Chen and Wen-tau Yih},
year={2020},
eprint={2004.04906},
archivePrefix={arXiv},
primaryClass={cs.CL}
}