模型:

deepset/gbert-base-germandpr-reranking

英文

概述

语言模型:gbert-base-germandpr-reranking 语言:德语 训练数据:GermanDPR训练集(约56MB) 评估数据:GermanDPR测试集(约6MB) 基础设施:1x V100 GPU 发布日期:2021年6月3日

详情

  • 我们在FARM中训练了一个文本对分类模型,用于在文档检索任务中进行重新排序。为此,分类器计算查询和每个检索的前k个文档(例如k=10)之间的相似度。然后,根据它们的相似性得分对前k个文档进行排序。与查询最相似的文档是最佳的。

超参数

batch_size = 16
n_epochs = 2
max_seq_len = 512 tokens for question and passage concatenated
learning_rate = 2e-5
lr_schedule = LinearWarmup
embeds_dropout_prob = 0.1

性能

我们使用GermanDPR测试数据集作为标签,并运行两个实验来比较BM25检索器在是否使用我们的模型进行重新排序时的性能。第一个实验在完整的德语维基百科上进行检索(超过200万段落),第二个实验只在GermanDPR数据集上进行检索(不超过5000段落)。两个实验都使用1025个查询。请注意,由于较小的数据集大小,第二个实验评估了一个更简单的任务,这解释了强大的BM25检索性能。

完整的德语维基百科(超过200万段落):

没有重新排序的BM25检索器

  • recall@3: 0.4088(419 / 1025)
  • mean_reciprocal_rank@3: 0.3322

带有重新排序的BM25检索器前10个文档

  • recall@3: 0.5200(533 / 1025)
  • mean_reciprocal_rank@3: 0.4800

仅GermanDPR测试数据集(不超过5000段落):

没有重新排序的BM25检索器

  • recall@3: 0.9102(933 / 1025)
  • mean_reciprocal_rank@3: 0.8528

带有重新排序的BM25检索器前10个文档

  • recall@3: 0.9298(953 / 1025)
  • mean_reciprocal_rank@3: 0.8813

用法

在Haystack中

您可以在 haystack 中加载模型,用于重新排序Retriever返回的文档:

...
retriever = ElasticsearchRetriever(document_store=document_store)
ranker = FARMRanker(model_name_or_path="deepset/gbert-base-germandpr-reranking")
...
p = Pipeline()
p.add_node(component=retriever, name="ESRetriever", inputs=["Query"])
p.add_node(component=ranker, name="Ranker", inputs=["ESRetriever"])
)

关于我们

我们通过开源方式将NLP引入到行业中!我们的重点是行业特定的语言模型和大规模问答系统。

我们的一些工作:

联系我们: Twitter | LinkedIn | Website

顺便说一句: we're hiring!