Dpr Question Encoder Fr Qa Camembert
模型概述
模型特點
模型能力
使用案例
🚀 dpr-question_encoder-fr_qa-camembert
這是一個法語DPR模型,以CamemBERT為基礎模型,並在三個法語問答數據集的組合上進行了微調,可用於法語問答相關任務。
🚀 快速開始
該模型基於CamemBERT微調,使用了三個法語問答數據集,可用於法語問答任務。你可以按照下面的使用示例進行操作。
✨ 主要特性
- 基於CamemBERT模型,利用其強大的法語語言理解能力。
- 在多個法語問答數據集上進行微調,提升了模型在法語問答場景下的性能。
📦 安裝指南
文檔未提及具體安裝步驟,可參考相關依賴庫(如transformers
、haystack
)的官方文檔進行安裝。
💻 使用示例
基礎用法
使用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,
)
📚 詳細文檔
數據
法語問答數據集
我們使用了三個法語問答數據集的組合:
訓練數據
我們使用90562個隨機問題進行訓練
,22391個問題進行驗證
。訓練
集中的問題不會出現在驗證
集中。對於每個問題,我們有一個正上下文
(找到該問題答案的段落)和大約30個硬負上下文
。硬負上下文是通過查詢ES實例(通過bm25檢索)並獲取不包含答案的前k個候選段落得到的。
訓練和驗證文件可在這裡獲取。
評估數據
我們使用FQuADv1.0和French-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
🔧 技術細節
該模型以CamemBERT為基礎模型,基於DPR模型架構,在三個法語問答數據集上進行微調。訓練時使用了特定的訓練和驗證數據劃分,以及硬負上下文的策略。評估時使用了FQuAD和SQuAD-FR評估集,並通過特定的評估腳本來評估模型性能。
📄 許可證
文檔未提及許可證信息。
👏 致謝
本工作使用了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}
}









