问答算法系统专场|AIS预讲会全程干货分享

AIS (ACL、IJCAI、SIGIR) 2018

Session 6: Question Answering

问答算法系统专场|AIS预讲会全程干货分享

问答算法系统专场|AIS预讲会全程干货分享

1. 林衍凯 清华大学

DenoisingDistantly Supervised Open—Domain Question Answering

问答算法系统专场|AIS预讲会全程干货分享

阅读理解(Reading Comprehension)是我们现在非常热门的一个话题,它可以反映出目前机器对自然语言进行处理和理解的能力。首先我们来看一下机器阅读理解任务的具体定义是什么?机器阅读理解是你给定一个问题和相关的段落,从给定的段落中提取出问题的答案。

目前,我们已经在机器阅读理解任务中中取得了非常好的效果。目前研究者们提出了许多机器阅读理解模型并在其公开评测任务中取得了很好的效果。然而,机器阅读理解存在一个问题:它需要我们事先给定一个和问题相关的文本,然后在给定的文本中提取问题的答案。机器阅读理解的这个问题导致其无法很好地在实际中应用。一般在我们日常生活中的问答场景是无法预先得到和这个问题相关的文档的。

因此,研究者们提出了一个更加实用的任务:开放域问题(Open Domain Question Answering),并尝试结合信息检索和阅读理解技术来解决这个任务。比如说,我们有一个问题“北京的人口是多少”,首先我们用搜索引擎(或者其他的信息检索系统)从文本库中检索出和这个问题相关的段落,然后对这些检索到段落进行阅读理解,抽取出最终的答案即北京的人口。

现有的开放域问答系统只是简单地利用了信息检索和阅读理解技术,没有综合利用检索到的段落,另外也无法鉴别出检索到的段落哪些是真正和问题相关的。

针对这个问题,我们借鉴人类回答问题的过程提出了一个高效实用的开放域问答系统。在人类回答问题时,我们首先会利用搜索引擎中会检索出若干和问题相关的段落,然后快速把这些文档看一遍,判断哪些段落是和问题相关的,然后对其中和问题相关的段落进行详细阅读,最后总结所有段落中的信息得出问题答案。

给定一个问题及检索出与其相关段落,我们的系统首先用一个Paragraph Selector做快速阅读给出每一个段落可能包含答案的概率,然后在有可能包含答案的段落中做阅读理解,抽取出每一个段落中的答案片段,最终总结所有段落的信息得到答案。

我们的实验采用了目前三个常用的开放域问答数据集Quasar-T,SearchQA和TrivialQA。我们的系统在三个数据集上都取得了比较大的提升,同时我们也看到我们的系统可以在只使用少量最相关段落的情况下达到和原来基本相当的效果。另外,我们的系统top5效果相比top1的效果仍然有十几个点的提升空间,之后可以进一步采用答案重排序的方式提升其效果。

最后分享一个Case Study。它的问题是是哪一个艺术家可以同时使用他的左手和右手进行工作,答案是达芬奇。这个问题的线索包含在三个不同的段落中,第一个段落提到了达芬奇是艺术家,第二个段落提到达芬奇会使用左手工作,第三个段落提到达芬奇会用右手工作。我们需要综合利用所有段落的信息来确定问题的答案为达芬奇。

最后总结一下我们的工作。我们的工作对人类进行阅读理解的方式进行建模,可以在只使用较少的段落的情况下取得不错的效果。谢谢大家!

问答算法系统专场|AIS预讲会全程干货分享

Joint Trainingof Candidate Extraction and Answer Selection for Reading Comprehension

问答算法系统专场|AIS预讲会全程干货分享

首先说一下任务。我们这里边考虑的也是开放领域的阅读理解,在这个场景下面,一个问题往往会被通过检索的形式产生多个相关的文档的片段,根据这些文档的片段,给出最后的答案。但目前主流的两种方式都不能很好地考虑到,我有多处答案。

我们看一个阅读理解的例子。问题是朗姆酒、酸橙以及可乐构成了什么样的鸡尾酒,答案是自由古巴。我们可以通过这个例子看到开放领域阅读理解的三个特点,首先是冗余性,正确答案有可能出现在多个文本片段里面。其次是混淆性,错误答案的片段,也有可能匹配到问题部分的信息。第三是互补性,有时候我们需要去借助多个文本的信息,才能够正确回答这个问题。

我们考虑到这三个特点,提出来的解决方案,对候选答案进行建模。首先会产生候选答案的集合,考虑到候选答案之间的关联,给出最后的答案。

首先构建了先去抽取候选,再去选择答案的两个阶段的方式,在答案选择的阶段,我们去引入基于注意力机制的相关性的矩阵,建模候选与候选之间的关系。通过强化学习的方法,可以将这两个阶段的模型进行联合的训练。我们的方法确实也是比较有效的,在几个阅读理解的数据集里面,也取得了不错的结果。

首先来看我们模型的第一个阶段,候选的抽取,在给定问题以及文本集合的情况下,我们建模候选集合的概率。

我们模型的第二个阶段是答案选择的阶段,目的是给定问题,文本的集合以及候选集合情况下去建模每个候选,最终被选作最终答案的概率。因为这边已经有了候选答案的信息,所以我们这个阶段主要就是考虑从候选答案出发,去对问题进行建模。

首先我们会去产生候选答案的表示,根据每个候选答案的表示,基于Attention的机制构建相关性矩阵,通过相关性系数,对每一个候选产生一个参考项量,可以利用到其他所有的候选答案的信息。

通过这样一个信息,我们又设计了一些其他的关于候选答案的特征,融合这些特征之后,重新再过一遍文本的片段,最后得到候选答案最终的得分。通过归一化的形式,我们就可以产生最后每一个候选答案作为最终答案的概率。

我们是在三个数据集上面做了实验,前两个是两个英文的数据集,它的问题类型是益智类的问题。

我们的实验结果,联合训练的方法无论是比单独的训练,还是前人的工作,结果都是要好的。

在Du-Ranker上面,我们也进行了试验,我们的模型有一个明显提升。我们在答案选择模块里面引入的特征,对我们的模型都是有帮助的,尤其是我们提出来的候选答案与候选答案之间的关联,对我们模型的帮助是最大的。

最后看一个案例。通过注意力矩阵,它确实可以捕捉到候选答案之间比较强的关联性,通过这个关联更好地对特征进行融合,这对最后给出正确答案是很有帮助的。

问答算法系统专场|AIS预讲会全程干货分享

3. 王义中 北京大学

Multi-PassageMachine Reading Comprehension with Cross-Passage Answer Verification

问答算法系统专场|AIS预讲会全程干货分享

首先介绍一下什么是多篇章的阅读理解。跟刚刚两位讲者介绍的阅读理解不太一样。我们在做多篇章阅读理解的时候,通常是给定多个paragraphs,这些paragraphs通常是由搜索引擎检索回来的。我们要在多个paragraphs中找到最终的答案。

首先我们看一个例子,这是从MS-MARCO数据中出来的样例,它的问题是混合文化和单纯的文化之间的差别是什么?正确的答案是从第6个passage里面出来的,检索回来的文章当中,3、4、5都有跟正确答案比较类似的答案。它可以通过我们的验证,在3、4、5中找到第6个正确答案的证据。

基于这个特点,我们提出了我们的模型。首先,我们要预测答案的boundary,这跟传统阅读理解是一样的,也就是找开始位置和结束位置。第二个是预测答案的内容,也就是说,除了刚刚我们说的找开始位置和结束位置之外,我们还要去预测答案的内容是不是很好,这样可以训练我们的模型更多的信号。第三个是跨文档的答案验证,也就是我们这篇文章的重点,这是通过attention机制实现的,我们要先根据刚才计算的content score,来计算答案的表示,也就是这个加权和,然后我们通过attention,对当前的某个答案,去其他passage收集信息。这样,当前答案的表示,以及收集起来的验证的evidence,都可以用一个向量来表示,我们把它们拼接起来过一个feed forward layer,就可以得到最后的验证分数。

我们整个Model的架构是这样的,对于给定的多篇passage先单独的进行encoding,encoding做完了,我们做Q-P matching,这都是跟传统的一样的。底层的layer是共享的,在外层的layer会做三个预测,一个是boundary的预测,第二个是content的预测,第三个是跨文档的答案验证。

这三个Model可以进行联合训练。有三个目标,这三个目标分别对应三个loss函数,通过简单的β1和β2控制它的权重。最后预测的时候,把三个Model结合起来,把它乘起来。这里乘起来的方法有点简单,其实是有点heuristic rule的感觉,这个可以在之后工作中进一步改进。在这里仅仅是把它们乘起来,也是有效的。

这是我们模型在两个数据集上的表现,包括MS-MARCO和DuReader。在这两个数据集上我们都取得了当时最好的成绩,而且有比较明显的提升。我们在MS-MARCO数据集上做了Ablation study,可以看到Content Model和Verification Model都有很大的贡献,而且联合训练也是很重要的。

我们把三个模块预测的分数打出来看一下,我们可以看出来Boundary Model和ContentModel之间大小关系比较一致,加上Verification Model之后,整个顺序发生了比较明显变化。也就是我们Verification Model可以捕捉跟Boundary和Content 不同的信息,也就是扩文档的信息。

另外还有一个问题,就是为什么Content Model有效果?通过这张图,我们把模型预测的Boundary Probabilities和Content Probabilities打出来看一下。首先,我们可以看到Boundary它确实学的不错,它确实学到了开始位置和结束位置,但是对于这个答案内部的信息,它并没有学到,就是答案内的哪些词是好的,哪些词是坏的,但是通过Content Model我们可以对答案内的一些词的权重进行学习。所以,我们通过Content Model学习的权重,把这些词的表示加起来,就可以得到更合适的答案的表示。

问答算法系统专场|AIS预讲会全程干货分享

4. 吴炜 北京大学

Multi-PassageMachine Reading Comprehension with Cross-Passage Answer Verification

问答算法系统专场|AIS预讲会全程干货分享

今天给大家分享的是我们在ACL,用于社区问答的答案现在子任务的问句压缩网络,标题比较长,给大家分别介绍一下这三个社区问答和答案选择,和问句压缩网络都是什么意思。

第一个,普通的问答是一个问句、一个答句,社区问答的问句可以分解成两个不同的形式。第一个是问句的主体部分,这个主体部分主要是给出了问句中包含的关键内容的信息,可能就用几个单词表示。第二个是问句的Body部分,把标题部分提到的信息重新描述一遍,添加一些相关信息。比如说在知乎上提问题的时候,如何评价崔永元,这是问题的标题。它的主体部分可能会说崔永元以前是一个央视的主持人,他后面做过什么反转基因的一些工作,现在又做了另外一些工作。所以我们可以很清楚地看到,社区问答中的问题可以分解成这两个部分。

第二个特点,由于社区问答是网络文本的形式,所以跟普通的问答相比,它的噪音和重复性的问题要更严重一些。

答案选择在社区问答中,它想要解决的方面是什么?在社区问答中对一个问题可能有很多不同的答案,对于用户来说,如果能开发一个自动化的工具,对所有的答案进行排序,把好的答案排在坏的答案的前面,可能对大家浏览这些问答的网站有所帮助。

介绍一下我们提出的模型,问句压缩网络。根据已有的两个特点,根据问题主体部分来压缩问句表示的信息。我们的网络主要分为三个方面:一个是对问句进行压缩,它可以把问句的主体部分,按照跟问句标题信息分解成两个部分。第一个是和问句平行的部分,第二个是和问句垂直的部分。平行的部分包含了跟问句主标题的更相关的信息,垂直的部分包含了跟问句主体部分之外的一些信息,就是问句主体部分提问的一些补充的信息。

第二部分是问句和答案之间的Alignment,抽取出答案中跟问句的表示中,最相关的那些部分。

第三个部分,把这些Alignment的元素收集起来,最终得到两个给答案排序的一些特征的信息。

介绍一下在这两个数据集,一个是SemEval2015和2017这两个数据集上实践结果的对比。我们的网络要比传统的一些基于手工特征的方法,和下面一些比较复杂的现代的神经网络的结果都要有所提高。

最后做一下总结。我们提出了一个对社区问答中的问句压缩的网络,基于纯的Attention的机制,使它可以训练地非常快。它利用到的信息,就是社区问答的问题中有subject和body的区分,利用区分的关系,使社区问答中的问句可以得到压缩,以上就是我今天要介绍的内容,谢谢大家!

问答算法系统专场|AIS预讲会全程干货分享

5. 刘操 中科院自动化所

CurriculumLearning for Natural Answer Generation

问答算法系统专场|AIS预讲会全程干货分享

我们的工作主要针对目前训练数据质量参差不齐的现象而设计的模型。

首先介绍课程学习,它是机器学习中的一个训练策略,简单说就是先学习简单训练数据,再学习复杂训练数据。

第二个是任务介绍:Natural Answer Generation (NAG,自然答案生成),可以对比一下知识库问答(KBQA)和聊天式机器人(Chatbot)。KBQA返回的是准确答案,Chatbot得到的是跟问句连贯一致,并且流利的答案。NAG得到准确、连贯、流利的答案,可以被认为是KBQA和Chatbot联合起来的任务。

现在的训练数据下,面临两个挑战,第一个是选择出高质量的训练数据是特别难的。第二个,即使能选择出高质量的训练数据,训练数据的规模也会下降特别明显。

从现有数据中直接生成一个准确、一致、流利的答案比较困难,我们就把它分解了。首先从低质量的、包含简短答案的训练数据中学出一个基本模型,比如说先学会与知识库的交互,接下来从高质量的、长的、复杂的训练数据中,学习出一个更好的模型,希望这个模型可以返回准确、一致、流利的答案。

上述想法有两个问题,一个是确定问答对(pair)的复杂度,它需要和训练数据的质量联系在一起。另外是确定学习进度,什么时候学习简单训练数据,什么时候从复杂的训练数据中进行学习。

为此我们设计模型如下:先通过一个答案选择器选择出普通的实例(问答对)和目标的实例,其中目标的实例是高质量的、复杂的学习数据。我们设计了两种策略选择,一个是根据词语频率选择,第二个是根据语法选择。有了训练数据中的普通实例和目标实例之后,下面就是实例的调度(即课程学习)。根据实例调度输入到自然答案生成模型里面去,最后得出生成的答案。

我们的课程学习对普通的实例是递减的,对目标实例是递增的。

实验结果是我们的模型不管采用词汇选择还是语法的选择,都比之前的模型效果要好。对于需要多个三元组才能回答的问题,我们模型的性能提升更加明显。另外我们也人工评价了准确性、流利性和一致性三个指标,相应的也是我们的模型比之前方法要好。

问答算法系统专场|AIS预讲会全程干货分享

6. 魏骁驰 北京理工大学

Quality Matters:Assessing cQA Pair Quality via Transductive Multi-View Learning

问答算法系统专场|AIS预讲会全程干货分享

我们研究工作的背景是社区问答。社区问答是随着Wbe2.0的发展而诞生的一种问答方式,在这种问答平台上,用户可以提出问题,而其他的一些用户可以回答上面的问题。随着社区问答的发展,这些问答平台上面的问答对数据也累计地越来越多,之后这些问答对可以被搜索引擎进一步检索,用于回答其他用户的一些新问题。由于上面的一些问题和答案,通常是由人工来编写的,所以存在着很大的质量问题。

我们通过一个User Study调查发现,超过45%的问答对质量并不是特别高。大量低质量的问答,一方面会影响搜索引擎用户的用户体验,另一方面会浪费大量的计算和存储资源,同时会造成社区问答平台上用户黏性的下降。因此很多研究者开始研究如何来评判社区问答对的质量。传统的一些方法,通常是通过抽取一些特征,放入回归或分类模型中进行实现的。

这些方法存在着以下两个问题:

一是多视角特征的融合。一个问答的质量通常是由很多方面来决定的。而每一个方面都决定了问答质量的互补的性质。通过单个方面,可能会得到不同的结果。比如说这个例子上,我们只看答案,可能觉得这是一个非常好的问答对,但是如果看了问题,就会发现这个问题的描述是比较模糊的,存在很多语法错误,整体来看,问答对质量并不是特别高。

二是标注数据的缺失。很多现有的学习方法都需要依靠大量的标注数据,而标注数据的获取非常复杂,是需要耗费大量人力的过程。网上存在在着大量的未标注数据,同样包含着很多有用的信息,但是在现有的很多方法中,它们并没有得到充分的利用。

因此我们提出使用一个Transductive Multiple—View的方法同时解决多视角特征融合,以及未标注数据利用的问题。在多视角学习方面,我们通过学习了一个公共空间,在这个公共空间里,同时把各个视角的一致性信息考虑进来。在公共空间里,还能够保持各个视角特征固有的特性。我们同时利用标注数据和未标注数据一起来学习公共空间,在公共空间里实现了对答案质量的评估。

在视角空间建模的时候,使用拉普拉斯矩阵对各个视角空间进行表示。使用每个问答对和这个问答对之间的相互关系,对这个问答对进行表示。

在公共空间的学习中,我们通过最小化各个视角空间和公共空间的disagreement进行学习。学到公共空间表示之后,我们就使用一个回归模型,在公共空间里进行答案质量的评价。这两个loss进行联合优化,就可以得到对问答对质量评估的结果。

我们的实验是在StackExchange上爬取的数据,分别使用了English和Game的两个set。我们使用用户对问题和答案投票数量的Normalized 平均值作为该问答对的质量标签,这种方法对于一些受欢迎的问题效果是比较好的,但对于不太受欢迎的问题得到的效果较差。因此我们在实验里面只使用受欢迎的问题来构建标注数据。

我们使用了两种评价方式Auto-Evaluation和Manual Evaluation。在OverallPerformance comparison中我们的方法在人工评价和自动评价两方面都能够取得比较好的效果。在增加视角的数量后,观察了各视角特征对整个模型的影响。我们发现每增加一个视角特征,模型表现都变好了。在对公共空间的相似度矩阵进行了可视化,在公共空间里是能够把低质量的问答对和高质量的问答对进行有效的区分。

问答算法系统专场|AIS预讲会全程干货分享

7. 赵洲 浙江大学

Open-EndedLong-form Video Question Answering via Adaptive Hierarchical ReinforcedNetworks

问答算法系统专场|AIS预讲会全程干货分享

视频问答是我们2017年提出来的,基于自然语言和视频进行交互的任务。对于开域的视频问答,根据问题和视频进行生成答案。视频问答跟其他问答不一样。视频问答中,视频的长度非常非常长,一到两分钟就有非常多的帧,普通的LSTM非常难处理这么长的视频。我们锁定在两个非常细小的领域,一个是Open-Ended,一个是Long-form Question Answering。

视频通常是非常长的,而问题只是视频中的一个小片段,而且大部分视频内容跟问题无关。如何从一个长视频中做视频问答的工作。我们的工作有以下几个贡献,首先提出了一个编码-解码网络学习方法。第二,用适应性的层级编码器,学习基于问题的一个视频的表示。我们从片段级别来进行学习,根据问题和一些视频,自动把视频切成片段,有些片段对应着问题,所以我们学习了片段级别的表示。最后,我们设计一个强化解码器生成答案。除此之外,我们也构建了一个非常大的数据集.。

首先我们会处理帧级别的一些视频,每个视频有N帧,跟阅读理解任务非常类似。然后生成答案,A1到AN,它是可变层的答案,1到N个词都是可以的。它的视频语义表达对每一个帧,我们用语义进行表达,我们用A1到AN来进行表达。

这里我们要学习两个网络,第一个是编码网络用F来表示,F有两个输入,一个是V,就是Video,一个是Q,就是Question。第二我们要学习的是解码网络,我们假设有N个帧输入到适应器解码器中。因为LSTM非常难处理这么长一个视频,我们提出了一个基于问题的阶段式的LSTM,它是怎么样进行工作?有一个问题输入到LSTM中,如果认为当前状态已经进行转折了,我们就另用一个LSTM,重新更新它的初始化的状态。

这跟阅读理解不一样。阅读理解是句子和句子,而视频的帧非常难进行切分,我们自动进行切分。如果它高于一个阈值并且它的两个语义不一样的,我们会重新初始化一个LSTM来进行训练。

我们还是用了注意力机制,来进行阶段的视频工作。我们判断,它的视频中下一个帧和这个帧的语义是否相关。根据要问的一些问题,现在的一些视频里面的状态,判断它两个视频的语义是否是一个语义,还是不同语义。如果不同的语义,我们就另用一个LSTM。

另外介绍一下强化解码网络学习。我们用帧级别的适应训练,生成一个片段级别的表示,最后用强化答案生成方法来进行生成答案。

我们做了一个人工标注的数据集。使用WUPS=0.0和WUPS=0.9进行测试,并对比了一些先进的方法。

问答算法系统专场|AIS预讲会全程干货分享

8. 赵洲 浙江大学

Multi-Turn VideoQuestion Answering via Multi-Stream Hierarchical Attention Context Network

问答算法系统专场|AIS预讲会全程干货分享

我们在研究与视频的对话,对视频不断地问问题,获得不断地回答。我们认为视频是一个上下文,我们对视频不断地进行问答,那么就是一个对话。因此我们提出了一个多流层次注意力机制上下文网络来解决多轮视频问答。

我们有很多视频,进行人工标注,可以得到非常多的对话。我们的输入不仅有一些视频和问题,还存在上下文,以及一些之前对话的情况。当前问题是在于它的问题可能信息不是很全,我们要参考对话上下文来进行回答,所以说,这个问题除了视频和问题,还要考虑对话上下文,这也是这个问题中非常有挑战的一个地方。

我们做了一些多流层次注意力机制上下文网络,不仅仅考虑视频流,还考虑对话上下文流,融合了两个流,并做了更优化的提高。

视频分两个级别表示,帧级别的表示和片段级别的表示。对话上下文有两个部分组成,第一个部分是问题,第二部分是之前的回答。给定三个信息,第一个是视频的信息,第二个是对话上下文的信息,第三个是问题的信息。

之后考虑到多流的情况,每一次先对对话上下文的问题和回答进行融合,产生一个上下文的表示。之后对所有的对话上下文加上注意力机制。如何提取一些相关的而摒弃不相关的,我们借用了聚焦机制,有些把相关的最后融合,不相关的就不进行融合。

之后我们基于生成模型,我们把相关的上下文信息进行提取,并把视频中重要的信息进行提取,最后进行融合。整个过程分两步,第一步对问题进行理解。第二步,我们来对视频进行聚焦回答,对于视频考虑两个特征,第一个是为状态特征,第二个是运动特征。有些问题是询问状态的,有些问题是询问运动的,所以两边的特征都进行提取,最后产生一个答案。

我们新造了数据集。有两个视频数据集,每个数据集大概有1000多个问题。对第一个数据集我们标注了3万多个视频问答对,第二个数据集标注了6万多个视频问答对。我们的模型使用基人工的标注进行学习。

关于实验结果可以在论文中有详细数据。


分享到:


相關文章: