1. Open-Domain Question Answering(ODQA)
开放域问答问题是自然语言处理领域的一项长期任务。具体来说,该任务给定一个文档集和一系列问题,模型需要在文档集中检索需要的内容,并根据检索的内容来回答这一系列问题。易见,该类任务在现实生活中有着非常重要而广泛的应用。这项任务在“零样本”设置中尤其具有挑战性,因为在“零样本”设置下,没有可用的数据来训练专门的检索-阅读模型。
该任务的模型大致分为Retriever和Reader两部分:Retriever从以万计的文档中,检索出每个问题所需的文档;Reader根据检索文档的内容,来回答问题。自深度学习盛行以后,人们开始尝试用神经网络进行文档检索。然而由于计算复杂度高,直接对规模巨大的文档集应用深度学习方法的时间开销巨大,所以很多模型会在Retriever和Reader之间添加Rerank结构。在这种三层结构模型中,Retriever会使用计算速度快但召回率低的方法,例如BM25,检索50到100篇文档;Rerank会对这些文档和问题拼接,喂给BERT等预训练模型,来进行打分,最终选取分数前10的文档,作为最终的检索文档送到Reader。
1.1 Retriever
常规模型使用稀疏检索方法:
Term Frequency-Inverse Document Frequency(TF-IDF)
TF-IDF评分的计算分为两个部分:
- Term Frequency (TF) - 词频:这是指某个词在文档中出现的次数。词频越高,说明该词在文档中的重要性越大。然而,仅仅使用词频并不总是最佳的选择,因为一些词(如“的”,“是”等)在文本中频繁出现,但它们对于文档的内容区分度不大。因此,TF通常会被归一化,例如除以文档中总词汇数,来减少常见词的影响。
- Inverse Document Frequency (IDF) - 逆文档频率:这是指在整个文档集合中包含特定词的文档数量的倒数,并通常取对数来平滑数据。IDF的值越大,说明含有这个词的文档越少,词的信息量越大,反之亦然。IDF的引入是为了减轻过于常见词汇的影响,使那些较少见但在特定文档中出现的词汇得到更高的