地址:Tutorial slides

今天分享的内容,严格来说并不属于论文,而应该是一个教程。文章是 ACL 2020 的论文,但仅仅属于一个引文,主要的内容在文章中给出了 GitHub 链接。教程的内容非常详细,包含了 ODQA 的历史、数据集、常用模型分类以及 KBQA 相关的内容,非常值得阅读。

0. Open-Domain Question Answering

开放领域问答是 NLP, IR 长期研究的问题。传统 QA 系统一般被构建为流水线系统 Pipeline,由不同组件组成,如问题处理、文档/段落检索和答案处理。随着神经阅读理解的发展,研究者结合传统信息抽取技术和神经阅读理解模型,甚至直接采用端到端训练的方式,实现了新的 ODQA 系统。

整个教程首先简要介绍了 ODQA 的背景,讨论基本内容和核心技术挑战。

随后讨论 ODQA 现代数据集,以及常见评价指标和基准。

随后研究前沿模型,包括三种类型:

  • 两阶段检索器-读取器模型:检索器组件通常是传统稀疏向量空间方法实现,如 TF-IDF, BM25,阅读器是神经阅读理解模型。该领域新进展包括:多段落训练,段落排序和远程监督数据去噪。
  • 密集检索器-端到端训练模型:包含两类,第一类采用非机器学习模型进行检索,第二类采用密集表示替代传统信息抽取方法,并对两个组件进行联合训练。实现方法包括:新型预训练方法、精心设计的学习算法和密集和稀疏表示的混合方法。
  • 无检索器模型:一种新趋势,仅依赖大规模预训练模型作为隐式数据库,不依赖其他数据。预训练模型直接用于零激发方式回答问题,或利用问答对进行微调。

随后,讨论 KBQA 相关方法。研究包括:如何利用结构化数据知道现有检索器或阅读器,以及如何融合知识信息和文本信息异构来源的信息。

最后,讨论研究进展以及当前主要挑战和局限。

1. Introduction

1.1 教授信息

image-20210322103144739

  • 作者:Danqi And Scott。

1.2 什么是 ODQA,以及趋势

image-20210322103314547

  • 问答系统:构建自动回答人类自然语言问题的计算机系统。
  • 开放领域:处理包括各种普遍本体和世界知识在内的任何问题。

image-20210322103610251

  • 内容包括:结构知识(KB,知识库),半结构知识(表),非结构知识(网络文档、维基百科)。本教程主要为文本 QA,第六章讨论 KBQA。

image-20210322103821583

image-20210322103852049

  • 搜索引擎:由关键字匹配到问答系统。

image-20210322103904866

image-20210322103956713

image-20210322104007201

  • 本教程主要介绍 2017-2020 的 ODQA 进展。

image-20210322104055057

image-20210322104107064

1.3 内容大纲

image-20210322104121082

  • 两位老师的分工,教程做的还是很可爱的。

2. History

2.1 早期 QA 系统

image-20210322104242419

image-20210322104316509

  • 早期的问答系统研究:1965 年。

image-20210322104609529

image-20210322104621933

image-20210322104634832

image-20210322104645988

早期 QA 系统局限性:

  • 问答领域范围比较小。基本都是特定的、英语的、容易把控的领域。
  • 非数据驱动。基本都是规则型,同时也缺少严格的评价指标。

2.2 管道问答系统

image-20210322105529640

  • TREC:由信息抽取社区开始研究新的问答系统,目标是从相关文档获取带有支持的答案。
  • 同时提供了 newswire 语料库和测试集,由人工进行评判正误。

image-20210322105751696

  • 管道问答系统:从 TREC 开始流行。

image-20210322105859632

image-20210322105954428

image-20210322105943437

image-20210322110116565

image-20210322110134547

  • 段落检索:通过标准信息检索方式进行文档检索,将文档划分为段落,从中提取相关答案。
  • 段落排序及选择:采用基于手工特征的线性机器学习模型。特征可以是正确命名实体数量、查询词数量、含段落的文档排名等。

image-20210322110202971

  • 答案提取及处理:通常采用手工特征提取结合启发式的分类器。在段落上运行答案类型的命名实体标记器,每种答案类型都需要一个对应的命名实体标记器。返回正确答案的字符串。

image-20210322110215071

image-20210322110226893

  • LCC:TREC-2002 QA 最好的模型。

image-20210322110758821

  • AskMSR:数据密集型问答系统。采用搜索引擎作为语言模型,选择文档中最频繁出现的 n-gram 作为答案。处理 head questions 很合适,不适合 tail questions(英语语法问题)。无法提供可靠证据。

2.3 IBM Watson

image-20210322111307560

image-20210322111347705

  • Jeopardy!的特点:问题中有答案的线索,问题很长很详细,答案很标准。

image-20210322111514113

image-20210322111525406

image-20210322111549624

  • IBM Watson:也是一种 Pipeline 深度问答模型。

image-20210322111629219

  • IBM Watson 成功的原因:IBM 企业代码写的很好,Jeopardy! 比较容易回答,以及 Wikipedia 是很关键的问题答案源。
  • IBM Watson 影响:是 AI 的里程碑,也是问答系统热门的开始。

2.4 2013 年后的发展

image-20210322111910210

  • 研究趋势:宏观阅读向微观阅读。新数据集和新任务为导向。深度学习模型取得快速进展。
  • 研究问题:给定上下文,通过上下文回答问题。
  • 研究目标:
    • 机器阅读理解 MRC。
    • 解决用户信息需求:答案抽取及处理。

image-20210322112745401

2.5 新数据集

image-20210322112757044

image-20210322112815114

image-20210322112825531

image-20210322112850227

3. Dataset Evaluation

3.1 数据集概述

image-20210322113249239

image-20210322113521676

image-20210322113530889

image-20210322113544751

image-20210322113604223

image-20210322113618344

  • 常用数据集及其配置:{{p1, p2, ...}, q, a} 和 {{p1, p2, ...}, {q, a}} 两种最为常用。
  • 数据集分类:提供相关段落以及提供维基百科。

image-20210322114500029

3.2 TriviaQA (2017)

image-20210322114104566

image-20210322114112974

image-20210322114122515

image-20210322114130670

image-20210322114139594

3.3 SearchQA (2017)

image-20210322114221661

image-20210322114232280

image-20210322114241291

image-20210322114248885

3.4 Quasar-T (2017)

image-20210322114321036

image-20210322114330095

image-20210322114337285

image-20210322114347255

image-20210322114357245

3.5 Natural Questions (2019)

image-20210322114422396

image-20210322114430371

image-20210322114440074

3.6 数据集评估

image-20210322114534089

3.7 总结

image-20210322114607290

4. Two-stage Retriever Reader

4.1 概述

image-20210322114759468

image-20210322114822406

4.2 DrQA (2017)

image-20210322114857696

image-20210322114908455

  • 文档检索器:采用 TF-IDF
  • TF-IDF:术语频率-反向文档频率,最基础的文档检索器,是不可训练的,基于统计信息。提供文档级别的检索。

image-20210322115140927

image-20210322115154648

  • 文档阅读器:采用 LSTM。

image-20210322115247060

  • 文档阅读器:采用 BERT。

image-20210322115419548

  • 扩展数据集:通过远程监督的方式,利用文档检索器,将其他数据集的 {(Q, A)} 格式应用到我们的 {(P, Q, A)} 格式上。

image-20210322115637334

image-20210322115708516

  • 问题:采用文档级检索器,各个段落的答案缺少直接比较,段落重要性被忽视,检索器不能训练。

  • 改进点:构建段落级检索器,构建多段落训练,构建段落排序器,构建可训练检索器。

image-20210322120428212

4.3 段落级检索器

image-20210322120104301

4.4 多段落训练

image-20210322120120772

4.5 段落排序器

image-20210322120207329

4.6 可训练检索器

image-20210322120332933

4.7 其他改进

4.7.1 答案检索器

image-20210322120439432

image-20210322120454083

  • 答案检索器:基于 Strength 和 Coverage 进行排序。

4.7.2 Hard EM Learning

image-20210322120737444

  • 答案段落中有多次出现问题实体怎么办:大部分算法采用获取第一个所在的句子作为答案所在句子,或者随机选一个作为答案所在句子。

image-20210322120602708

  • Hard EM Learning:鼓励正确的获取答案所在句子。

image-20210322120614382

4.8 总结

image-20210322120913760

5. Dense Retriever End-to-end Training

5.1 稀疏表示和密集表示

image-20210322121515280

image-20210322121529927

image-20210322121811821

  • 密集表示:用于处理大量数据。现在的技术已经能够方便密集表示进行各种处理,比如点积向量检索 MIPS。同时,现在也有了预训练模型。

5.2 ORQA (2019)

image-20210322131050144

  • ORQA:将文章分为 288 个字的段。

image-20210322131134877

  • ORQA:训练跨度指针。

image-20210322131147132

image-20210322131158632

  • ORQA:为了避免 top5 文档没有答案,先用大量数据训练(c=5000),确保 top5 文档中有正确答案。

image-20210322131214161

  • ORQA:采用 ICT ,训练模型找正确上下文的能力。下面提到, 在 90% 的实例中删除句子。

image-20210322131223773

image-20210322131234060

5.3 REALM (2020)

image-20210322131822392

image-20210322131831692

image-20210322131844964

  • REALM:通过 MLM 进行预训练,再利用问答对进行微调。MLM 和 BERT 的 MLM 一样。

5.4 ORQA 和 REALM 分析

image-20210322132019028

  • ORQA 和 REALM:都采用了联合训练文档检索器和文档阅读器。预训练过程在这两种方法中十分重要,然而,预训练其实也不是必须的。

5.5 DPR (2020)

image-20210322133041406

  • DPR:通过少量数据,生成密集表示!

image-20210322133052881

  • DPR:利用少量训练样本,生成新的正例和负例。

image-20210322133105316

  • DPR:利用 n 对问答对生成 n^2 对问答对。

image-20210322133118642

  • DPR:仅使用 1k 问答对,就击败了 BM25。但是对于小数据集,还是预训练方法更好。

image-20210322133138711

  • DPR 带来的思考:
    • 不一定需要预训练。
    • 联合训练不一定优于管道方式,有时管道方式更快更好。
    • 不一定需要阅读理解训练,只是用问答对也可以训练很好。
    • BM25 + DPR 可以轻微改善 DPR 的效果。

5.6 RAG (2020)

image-20210322133159827

image-20210322133208828

  • RAG:将 DPR 和 BART 结合起来,构建了编码器、解码器模型。

5.7 DenSPI (2019)

image-20210322133249910

  • DenSPI:将编码降到词组级别(phrase level 不是 word level)。密集-稀疏词组索引。

image-20210322133259391

  • DenSPI:里面的 a 是词组表示。生成了 60 billion 的词组,很难处理,怎么办呢?采用了下面的密集-稀疏表示法。

image-20210322133336206

  • DenSPI:密集-稀疏表示法,上面是 BERT 得到的密集表示,下面是 TF-IDF 向量的稀疏表示。通过这种方法,极大减少了存储数量和计算时间。

  • DenSPI 性能:可以看到 DenSPI 效果拔群。

image-20210322133348227

5.8 总结

image-20210322133409583

image-20210322133421650

  • ORQA / REALM:首先证明了可以联合训练检索器和阅读器,而无需任何稀疏的信息抽取组件。同时,需要新颖的与训练算法。
  • DPR / RAG:无需预训练,可以只从问答对中学习密集表示。
  • DenSPI / Sparc:可以在短语级别索引和检索,无需阅读器。推理时间非常快,性能稍差。这也证明了稀疏特征十分重要。

6. Retrieval-free

6.1 概述

image-20210322122913407

  • 无检索器模型:将预训练语言模型作为知识仓库。毕竟预训练语言模型是基于 Wikipedia 等大规模现实世界数据训练的,所以是可以的。

6.2 GPT-2 (2019)

image-20210322123127578

image-20210322123150712

  • GPT-2:采用巨量数据作为数据来源进行训练。结果模型精度只有 4%,非常糟糕。原因是采用了零次学习 (zero-shot learning)。零次学习是希望模型能够对没见过的类别进行分类,从而具有推理能力。

6.3 GPT-3 (2020)

image-20210322123424677

  • GPT-3:采用小样本学习 (few-shot learning)。

6.4 GPT-5 (2020)

image-20210322123532762

image-20210322123708565

6.5 总结

image-20210322123946293

  • 无检索器模型:性能受到模型大小的影响。

7. Knowledge Base

7.1 概述

image-20210322124307737

image-20210322124325966

image-20210322124405356

image-20210322124415915

  • 基于知识图谱的问答系统:以实体为中心的知识图谱,图结构能够帮助搜索。问题是知识图谱可能不具有时效性。

7.2 知识图谱与文本信息结合

image-20210322124547068

image-20210322124557486

  • 普遍方式:通过实体链接,将文本的实体与知识图谱关联起来。利用图表示获取答案。

7.3 WebQSP (2016)

image-20210322124656634

  • WebQSP:基于 Freebase 实现问答。主要是依靠 SPARQL 表示。

7.4 GRAFT-Net (2018)

image-20210322124736610

image-20210322124750536

image-20210322124809491

  • GRAFT-Net:构建了知识图谱检索器和文本检索器,分别获取知识图谱中 top 内容和 Wikipedia 中 top5 内容。其中使用了一种后面还会提到的图传播算法,通过图关系获取实体的表示,并训练二分类器判断实体是否为答案实体。

7.5 PullNet (2019)

image-20210322125309556

image-20210322125333289

  • PullNet:基于GRAFT-Net 进行修改,采用 GCN。每次都找到实体的邻域实体,并加入到图中。最后在图中找到答案实体。要求在问题实体和答案实体之间找到最短路径,同时长度不能超过最大长度。

7.6 Knowledge-aware Reader (2019)

image-20210322125357184

image-20210322125408491

image-20210322125429555

image-20210322125438530

  • Knowledge-aware Reader:可以解决多跳问答。首先通过 GRAFT-Net 获取子图嵌入,随后重新调整权值,综合考虑问题和关系相似度、学习参数、实体间关系类型、相邻实体。最后通过注意力机制将问题表示和上下文进行融合。

7.7 Knowledge-Guided Text Retrieval and Reading (2020)

image-20210322125505937

image-20210322125517020

image-20210322125534927

image-20210322125543423

image-20210322125556900

image-20210322125605084

image-20210322125615538

  • Knowledge-Guided Text Retrieval and Reading:综合考虑跨文档关系和文档内关系。将知识图谱内容与文档内容进行融合。

7.8 总结

image-20210322125633525

8. Conclusion

image-20210322130523473

image-20210322130534387

image-20210322130544940

image-20210322130553900

image-20210322130553900

当前热门问题:

  • 显示知识检索和知识嵌入的比较:
    • 利弊。
    • 大型预训练模型的影响。
    • 效率和准确性。
  • 完整用户体验:
    • 获取支持证据。
    • 答案触发机制:知之为知之,不知为不知。
    • 解决叙述性问题,以及获取较长的答案。
  • 用户交互和落地:
    • 多轮理解性对话。
    • 多模态交互。(VQA,虚拟导游等等)。