机器阅读理解

Reading time ~6 minute

所谓机器阅读理解(Machine Reading Comprehension, MRC)就是给定一篇文章,以及基于文章的一个问题,让机器在阅读文章后对问题进行作答。

Table of Contents

所谓机器阅读理解(Machine Reading Comprehension, MRC)就是给定一篇文章,以及基于文章的一个问题,让机器在阅读文章后对问题进行作答。

机器阅读理解处理流程

任务类型

  • 完形填空

    完形填空任务答案限定为原文中的一个词或实体,并不能很好的测试机器对自然语言的理解能力且与实际应用相距较远。

  • 单选/多项选择

    该任务要求从备选答案中选出正确答案,模型的搜索空间相对较小,对自然语言理解的测试较为局限,提供备选答案与实际应用场景不太相符。

  • 答案抽取

    基于我们对话业务应用场景,机器阅读理解答案抽取任务适合落地应用。

    片段抽取任务是一个适中的选择,数据集相对容易构建,答案限定为原文中的子片段,相较于多项选择有了更大的搜索空间,也在一定程度上能测试机器对自然语言的理解能力,但是和实际应用仍有一定差距。

  • 自由问答

    该任务答案形式非常灵活,能很好的测试对自然语言的理解,与现实应用最为贴近,但是这类任务的数据集构造相对困难,如何有效的评价模型效果有待进行更为深入的研究。

机器阅读理解发展历程

四大要素

它的形式类似于英语考试中的阅读理解(选择题),给定一篇文章,通过阅读并理解文章(Passage),针对提出的问题(Question)从四个选项中选择正确的答案(Answers)。该题型的正确答案并不一定直接体现在文章中,只能从语义层面深入理解文章,通过分析文章中线索并基于上下文推理,选出正确答案。相对以往的抽取类阅读理解,算法要求更高,被认为是「深度阅读理解」。它的难点在于:由于正确答案并没有直接使用文章中的话术来回答,不能直接从文中检索得到答案。必须从语义层面深入理解文章,才能准确回答问题。

  • Document

    需要机器阅读的篇章。根据篇章数量,分为单文档阅读理解、多文档阅读理解等

  • Question

    根据篇章内容所提出的问题。根据问题类型,分为填空型、用户提问型等

  • Candidate

    候选答案。根据任务类型,有时会与偶一些候选答案,如选择型阅读理解等

  • Answer

    最终答案。根据任务类型,可能是单个词、篇章片段、生成的句子等

RACE任务分解

问题定义

一般把机器阅读任务可以理解为3元组(问题q,文档d,答案a)建模的形式,即给定问题q和文档d,模型对答案的条件概率P(a|d, q)。

段落抽取式任务的答案是文档d的子集,需要从文档中预测答案的起始位置与结束位置。

整体架构

DeepQA的一个重要部分是从大规模数据检索出相关候选文档,才能通过阅读理解模型抽取答案。传统搜索更关注相关性,即文档和问题相关,而问答更关注检索结果是否能回答问题,这是问答式搜索和传统搜索的不同。

问答式搜索系统需要一种更细粒度、更精准的语义检索匹配方式。稠密段落检索,即通过深度语义表示学习,从大规模文本中检索出和查询相关的段落,包括自然段、任意句子、词片段。稠密段落检索是稠密向量检索的一种。传统基于关键字词构建的倒排检索(稀疏检索),虽能精确地召回结果,但是会面临比较严重的语义鸿沟问题;而稠密向量检索是解决查询和文档之间语义鸿沟的有效手段。

处理更广泛的非结构化数据,基于离线问答内容构建和理解,在线通过搜索获得候选文档、使用机器阅读理解技术来抽取答案,能解决更多问题需求类型。

机器阅读理解整体架构

离线部分是问答内容的构建和理解,比如对专业生产内容做质量和权威性分析、从全网数据中进行问答对的挖掘和选取等;数据源包括网页库、优质问答库和知识图谱;在线部分包括搜索问答结果的召回和排序、段落匹配和答案抽取、知识图谱检索和推理计算等,以及问答融合决策从多源结果中决定最终展现给用户的答案。

机器阅读理解整体架构2

示例

机器阅读理解应用示例

Query Rewrite重写技术

Query rewriting 是将 queries 和系统中存储的文档的语义空间进行对齐(aligning the semantics of queries and documents)的关键技术。 Continue reading

GraphRAG介绍

Published on July 02, 2024

RAG系统优化

Published on June 26, 2024