阅读论文:Question Answering

 

概述:

问答(Question Answering

对知识的追求是深刻的人类,因此实际上并不奇怪一旦有电脑,我们就会问他们问题。到了早期20世纪60年代,系统使用了两个主要的问答模式 : 信息检索和以知识为基础。为了回答有关棒球统计数据的问题
或科学事实。甚至想象中的计算机都进入了艺术。仔细考虑,Douglas Adams在The Hitchhiker's Galaxy指南中发明的计算机,
设法回答“宇宙和万物生命的伟大问题”
在2011年,IBM的Watson问答系统赢得了电视游戏节目Jeopardy!
使用超越人类的混合架构来回答诸如此类的问题

  • 威廉威尔金森的“主要账户”
  • 瓦莱西亚和摩尔多瓦“启发了这位作者”
  • 最着名的NOVEL2

大多数问答系统都关注事实问题,可以提出问题用短文中表达的简单事实回答。问题的答案以下可以用个人姓名,时间表达或位置表示:

  • 谁创立了维珍航空?
  • 自闭症发病的平均年龄是多少?
  • Apple Computer在哪里?

在本章中,我们描述了事实问题回答的两个主要范例。信息检索或基于IR的问题回答依赖于网络上或PubMed等集合中的大量文本信息(PubMed 是一个提供生物医学方面的论文搜寻以及摘要,并且免费搜寻的数据库。它的数据库来源为MEDLINE。其核心主题为医学,但亦包括其他与医学相关的领域,像是护理学或者其他健康学科)。给一个用户问题,信息检索技术首先要求找到相关文档或者段落。然后系统(基于特征,神经网络或者两个结合)使用阅读理解算法阅读检索到的文档或者段落,从文本中直接找出一个答案。

第二种模式,基于知识的问答。一个系统而不是构建查询的语义表示,映射什么状态边界德克萨斯? 到逻辑表示:: λx.state(x)∧borders(x,texas),或者Ada Lovelace什么时候出生? 找到有缺省的关系:birth-year (Ada Lovelace, ?x)。然后使用这些含义表示来查询事实数据库。

最后,大型工业系统,如IBM Watson的DeepQA系统通常是混合型,使用文本数据集和结构化知识库来回答问题。DeepQA在知识库和知识库中找到了许多候选答案文本来源,然后使用知识来源对每个候选答案进行评分,这些来源比如地理空间数据库,分类学分类或其他文本来源。

我们描述了基于IR(information retrieval,信息检索)的方法(包括神经阅读理解系统)在下一节中,接下来是关于基于知识的系统的部分Watson Deep QA,以及对评估的讨论。

1、基于信息检索的事实问答

  基于检索的问答的目标是通过在web或者文档集合中查找一个短句子回答用户问题。图23.1展示了一些事实型问答。

 图23.2展示了基于信息检索事实问答系统的三个步骤:问题处理、段落检索和排序、答案提取。

1.1 问题处理

 问题处理的主要目的是提取查询:关键词通过信息检索系统匹配相关文档,一些系统额外的提取更多的信息,比如:

  • 答案类型:答案的实体类型,例如人名、地名、时间等
  • 同义词:问题中可能被替换的单词串在找到的一些答案字符串中回答
  • 问题类型:这个问题是描述问题、匹配问题还是列表问题

例如:

问题:Which US state capital has the largest population?

query: US state capital has the largest population

answer tyoe:城市

focus: 州

在接下来的两节中,我们总结了两个最常用的任务查询表达式和答案类型检测。

1.2 查询表达式

  查询表达式是生成一个查询语句------ 一系列的词 ------ 发送到一个信息检索系统检索出那些可能包含答案字符串的文档。

对于来自web的问答,我们可以直接吧整个问题返送的搜索引擎,一般除去疑问词(哪里,何时等)。对于像公司这样的小型文件的回答问题信息页面或维基百科,我们仍然使用红外引擎索引和搜索我们的文档,一般使用标准的tf-idf余弦匹配,但我们可能需要这样做更多的处理。 例如,对于搜索Wikipedia,它有助于计算tf-idf在查询和文档中使用bigrams而不是unigrams。或者我们可能需要进行查询扩展,因为在网络上的答案是问题可能以许多不同的形式出现,其中一种形式可能会匹配问题,在较小的文档集中,答案可能只出现一次。询问扩展方法可以添加查询术语,希望匹配特定的出现形式,例如添加内容词的形态变体一样问题,或同义词词典中的同义词。

有时用于询问Web的查询制定方法是将查询重构规则应用于查询。 规则重新定义了问题,使其看起来像是可能的声明性答案的子串。 “激光何时发明?”的问题可能被重新定义为“激光被发明”; “国王谷在哪里?”这个问题是“国王谷所在地”。这些简单的手写重构规则来自Lin(2007)。

1.3 问题类型

一些系统利用问题分类,找到答案类型的任务,命名实体对答案进行分类。 一个问题,如“谁创立了Vir-gin Airlines?“希望得到PERSON类型的回答。 一个问题,如“什么加拿大人城市人口最多?“期待CITY的答案。 如果我们知道的话问题的答案类型是一个人,我们可以避免检查每个句子在文档集中,而是专注于提及人的句子。

虽然答案类型可能只是像PERSON,LOCATION这样的命名实体,和第17章中描述的ORGANIZATION,我们也可以使用更大的层次结构答案类型集称为答案类型分类法。 可以自动地构建这样的分类法,来自WordNet(Harabagiu等,2000,Pasca 2003)等资源,或它们可以手工设计。 图23.4显示了一个这样的手工构建的本体,Li and Roth(2005)tagset; 子集也显示在图23.3中。 在这种等级制tagset,每个问题都可以用像人类这样的粗粒度标签或精细标签来标记。像人类一样的粒度标签:描述,人类:群组,人类:IND,等等。HUMAN:DESCRIPTION类型通常被称为BIOGRAPHY问题,因为回答是需要简要介绍一个人而不仅仅是一个名字。

问题分类器可以通过手写规则构建,如下面的规则来自(Hovy等,2002)用于检测答案类型BIOGRAPHY:

(23.6) who {is | was | are | were} PERSON

然而,大多数问题分类器都是基于监督学习,训练数据是已经手工标记的有答案类型的问题数据库(Li和罗斯,2002年)。 可以使用基于特征的方法或神经方法。基于特征的方法依赖句子中的单词和它们的词向量,每个词的词性和问题的命名实体。通常,问题中的一个单词给出问题答案的信息,并且它的定义被用来作为一个特征。这个单词有时候被叫做答案类型或者问题的词

目,这个词有时被称为答案类型词或问题词条,和可以定义为问题的疑问词之后的第一个NP的标题;在以下示例中,中心词以粗体表示:

  • Which city in China has the largest number of foreign financial companies?
  • What is the state flower of California? 

一般来说,问题分类的准确性相对较高类型如PERSON,LOCATION和TIME问题; 检测REASON和
描述问题可能会困难得多。

1.4 文档和段落检索

从问题处理阶段产生的信息检索查询被发送到搜索引擎,导致按照与查询的相关性排序的一组文档。 因为大多数答案提取方法旨在适用于较小的区域,如段落,QA系统接下来将前n个文档分成较小的段落作为部分,段落或句子。 这些可能已经分段了源文档或我们可能需要运行段落分段算法。

然后,最简单的通道检索形式是简单地将每个通道传递到答案提取阶段。一个更复杂的变体是过滤通过在检索到的实体上运行命名实体或答案类型分类来传递通道。 不包含分配给问题的答案类型的段落被丢弃了。

也可以使用有监督的学习来对剩余的段落进行完全排名,使用如下功能:

  • 段落中正确类型的命名实体数量
  • 段落中的问题关键词数量
  • 通道中出现的最长的问题关键字序列
  • 提取段落的文档的等级
  • 原始查询中关键字的相互接近程度(Pasca 2003,Monz 2004)。
  • 段落与问题之间重叠的n-gram数量(Brill et al., 2002).

 1.5 答案抽取

问答的最后阶段是从段落中抽取一个具体的答案,例如:回答29,029英尺的问题,如“珠穆朗玛峰多高?”。此任务通常由跨度标记建模:给定一个段落,识别构成答案的文本范围。

用于答案提取的简单基线算法是运行命名实体标记器在候选通道上并返回通道中的任何跨度是正确的答案类型。 因此,在以下示例中,带下划线的命名实体将是从段落中提取出来作为人类和距离的答案 - 数量问题:

“Who is the prime minister of India?”

Manmohan Singh, Prime Minister of India, had told left leaders that the deal would not be renegotiated.

“How tall is Mt. Everest?”

The official height of Mount Everest is 29029 feet

不幸的是,许多问题的答案,如定义问题,不倾向于具有特定的命名实体类型。 因此,现代工作答案提取使用更复杂的算法,一般基于监督学习。 下一节将介绍一个简单的基于特征的分类器,之后我们转向现代神经算法。

1.6 基于特征的答案抽取

用监督学习的方法训练一个问题抽取的分类器来判断一个片段或者句子是否包含答案。一个明显有用的特征是上述基准算法的答案类型特征。手写正则表达式模式也是起作用的,例如图23.6定义问题的样本模式:

分类器还包括其他特征:

  • 答案类型匹配:如果候选答案包含带有相应词组的短语,则为True正确答案类型。
  • 模式匹配:与候选答案匹配的模式的标识。
  • 匹配的问题关键字数量:包含多少个问题关键字在候选答案中保留。
  • 关键字距离:候选答案和查询关键字之间的距离-话
  • 新奇因子:如果候选答案中的至少一个单词是新词,即查询中没有,则为真。
  • 任用功能:如果候选答案与短语相吻合,则为真包含许多疑问词。 可以用问题数来近似与候选答案分开的字词最多可包含三个单词,并且一个逗号(Pasca,2003年)。
  • 标点位置:如果候选答案后紧跟逗号,句点,引号,分号或感叹号,则为true。
  • 问题序列:候选答案中出现的最长疑问句序列的长度。

1.7 N-gram平铺答案提取

仅在Web搜索中使用的另一种答案提取方法是基于n-gram切片,这是一种依赖于Web冗余的方法(Brillet等,2002; Lin 2007)。这种简化的方法从Web搜索引擎返回的摘录开始,这些摘录由重新编写的查询生成。第一步,对n-gram进行挖掘,对摘录中出现的每个unigram,bigram和trigram进行提取和加权。权重是发生n-gram的代码片段数量以及返回该n-gram的查询重新构造模式的权重的函数。在n元语法过滤步骤中,通过对n元语法与预测答案类型的匹配程度对其评分。这些分数是通过为每种答案类型构建的手写过滤器来计算的。最后,n-gram切片算法将重叠的n-gram片段连接成更长的答案。一种标准的贪婪方法是从得分最高的候选者开始,然后尝试将其他候选者与此候选者平铺。将得分最高的串联添加到候选集中,除去得分较低的候选,然后继续进行该过程,直到建立单个答案为止。

1.8 神经网络答案抽取

神经网络的答案提取方法基于这样的直觉,即问题及其答案在语义上以某种适当的方式相似。 如我们将看到的,可以通过计算问题的嵌入和段落的每个标记的嵌入,然后选择其嵌入最接近问题嵌入的段落间距来充实这种直觉。

阅读理解数据集。由于神经答案提取器通常是在阅读理解任务的背景下设计的,首先让我们讨论这个任务。Hirschman等人(1999)第一次提出参加孩子的阅读理解测试-------一种教学工具,在该教学工具中,孩子可以阅读并必须回答有关该问题的文章,并使用它们来评估机器文本理解算法。 他们获得了包含120个段落的语料库,每个段落针对5至6年级的孩子设计了5个问题,建立了答案提取系统,并测量了系统给出的答案与测试发布者的答案表现效果。

现代阅读理解系统倾向于使用专门为NLP设计的问题集合,这个训练集足够大的时候,可以在有监督的情况下进行训练
学习系统。 例如,斯坦福问题答案数据集(SQuAD)包含来自维基百科的段落以及答案为涵盖了这段经文的范围以及一些无法解决的问题(Rajpurkar等人2016,Rajpurkar等人2018); 总共超过150,000个问题。 图23.7显示了SQUAD 2.0段落的(简短)摘录以及三个问题及其答案范围。

  SQuAD是由人类为给定的Wikipedia编写问题而构建的通过并选择答案范围。 其他数据集使用了类似的技术。 NewsQA数据集由来自CNN新闻文章的100,000个问题-答案对组成。对于其他数据集(如WikiQA),跨度是包含答案的整个句子(Yang等人,2015); 选择句子而不是较小答案范围的任务有时称为句子选择任务。

这些阅读理解数据集本身既用作阅读理解任务,又用作开放式问答系统中句子提取组件的训练集和评估集。

基本阅读理解算法。 给出了用于阅读理解的神经算法,其中有一个问题q,其中有1个令牌q 1,...,q l¡和第p个m令牌p 1,...,p m。 他们的目标是针对每个令牌p i计算概率p start(i),即p i是答案范围的开始,而概率p end(i),则p i是答案范围的结束。

图23.8显示了Chen等人(2017年)的DrQA系统的文档阅读器组件的体系结构。像大多数此类系统一样,DrQA为问题构建嵌入,为段落中的每个标记构建嵌入,计算问题与上下文中每个段落单词之间的相似度函数,然后使用问题与段落相似度得分来确定 答案范围的开始和结束位置。

 

2.基于知识的问题回答(KBQA)

  一些信息以结构化的形式存在,然而大量的信息以文本的方式存在于web。我们可以通过将一个query映射到结构化数据的思想来回答一些常识问题。比如以文本为基础的问答范例,这种方法可以追溯到NLP的早期,像BASEBALL之类的系统,该类问题回答的问题结构是一种结构化的数据库。

  这类将文本字符串映射到一种逻辑结构的系统叫做语义解析器。问答的语义解析器要么将映射到一种谓词演算,要么映射到一种结构化查询语言,例如SQL、SPARQL和Cpyther等。

2.1 基于规则的方法

 

 2.2 监督学习的方法

  2.3 半监督学习方法

3.使用多个信息源:IBM的Watson

 

4.Factoid答案的评估

问题:

  1. focus: the string of words in the question that are likely to be replaced by the answer in any answer string found.
  2. question type: is this a definition question, a math question, a list question?

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值