香港中文大学高一帆博士:会话式机器阅读理解

2020 年 11 月 22 日 AI科技评论


1

会话式机器阅读理解是什么?

如何在会话式阅读理解里面能够建模它的implicative reasoning,即如何去学习会话与阅读理解篇章之间的蕴含关系。
在这篇文章中,讲者概述了两种常见阅读理解的类型:
第一种是标准的阅读理解,该模式是指,给定一篇描述型的文章和一个基于事实型的问题,通过匹配文章和问题,从文章中抽取一个span来回答这个问题;
第二种是会话式的问答,与标准的单轮问答不同,需要追问新问题,即follow up question,同时问题是以交互的形式出现。 会话式问答,存在两个挑战,一个是需要能理解篇章,另一个是能够理解交互的会话本身。
基于会话式问答,讲者引入一个例子简单说明(图1)。
比如,用户简单描述了自己的情况(Scenario),但用户的问题并不能直接从文章(Rule Text)中获取,往往这个文章可能是一个比较通用的、相当于是一个法规或者法律的篇章。
比如,说明能够申请7a贷款的人,需要具备什么样的条件,但针对用户问题在文章中没有直接的答案,必须和用户进行一个交互,才能得到明确的回答。 例子中,成功申请贷款的条件有三个,所以还需 再问另外的条件。
比如,能不能够在别的地方获取它的资金来源 ,假如用户说no的话,这时候就可以给他一个答案,也就是说你可以申请。
因此,在这种情形下,就需要既能够读懂这篇文章,理解文章中的规则,也要能够主动地和用户交互,从用户那边获取一些需要知道的信息,最终再给他一个决策。

图1
定义该项任务常用的数据集是ShARC (shaping answers with rules through conversation 的简称),数据集的设定是:给定Rule Text;用户描述自己的Scenario(Background);用户提出question;已有的问答(Dialog History)。
整个过程可以概述为,由于用户给定的background往往不明确,机器需要进行几轮交互,然后从交互中获取一些跟规则有关的信息,然后告诉用户具体答案。
整个任务有两个子任务:
任务一,整合Rule Text,Scenario,Question以及通过几轮交互从用户获取的信息,作为模型输入,然后做出决策(Decision Making)。
该决策包含四种类型:一种是根据现有的信息能够作出yes or no 的决策;或者有些情况下,用户的问题可能与给定Rule Text无关,或根据Rule Text并不能解决问题,则会出现unanswerable的答案;另一种情况是Rule Text中需要满足很多条件,但有些条件机器不确定是否满足,需要作出inquire的决策,主动从用户那里获取更多信息,直至几轮交互后能够作出yes or no的决策。
任务二,如果生成的决策是inquire,则需要机器问一个follow-up question,该问题能根据Rule Text引导用户提供一些没有提供的信息,便于进一步的决策。

图2

2

会话式机器阅读理解的初探

2.1 模型介绍
负采样
针对于该任务,讲者主要介绍了两项工作,首先是发表于ACL2020的文章“Explicit Memory Tracker with Coarse-to-Fine Reasoning for Conversational Machine Reading”。
该工作的贡献有两个:
a. 针对决策,提出了explicit tracker,即能够显示的追踪文章中条件是否被满足;
b. 采用coarse-to-fine方法抽取Rule Text中没有被问到的规则、条件等。

图3
模型主要包括了四部分:1.Encoding→ 2.Explicit Memory Tracking→ 3.Decision Making→ 4.Question Generation,整体结构如下:

图4
(1) Encoding
将Rule Text中的句子分开,比如分为三个句子,在每个句子前加一个[CLS]表征句子特征,同时把queestion,scenario以及用户的会话历史加起来,也用[CLS]表征,拼接起全部特征后,通过BERT进行encoding。

图5
(2) Explicit Memory Tracking
该部分的目的在于挖掘出存在于Relu Text的句子中与用户提供的信息(比如initial question 和dialog history)之间的implication。
针对于此,提出了explict memory tracker,类似于recurrent的思想,逐步的把用户的信息和Relu Text中的规则进行交互,从而更新每一个规则的memory里对应的value,最终得到每一个条件满足,不满足或者不知道的一个状态。
经过n次更新完后,每一个rule 都会得到key-value对。

图6
(3) Decision Making
对n次更新完后的key-value做self-attention,经过一个线性层做四分类,即Yes, No, Irrelevant, Inquire。

图7
同时,还设计了一个subtask,即对最终更新完之后的key-value做一个预测,显示的预测该规则是Entailment,Prediction还是Unknown。该预测任务和Decision Making一起进行训练。

图8
(4) Question Generation
若得到的决策是Inquire,就要求继续做一个follow-up question的generation。
主要包括两个步骤:
第一步,从rule 中抽取一个span,具体是使用了一种coarse-to-fine 的做法,如下图所示。由于在Entailment prediction,句子的unknown分数越高,表示该句子越可能被问;若句子状态是Entailment或者Contradiction,说明该句子状态已知,没必要继续问下去。
因此,选择每一个句子在Entailment prediction中unknown的分数,并在每一个句子中计算抽取start和 end的分数,然后将这两个分数相乘,综合判断哪一个span最有可能被问到。
图9
第二步,就是把span和rule 拼接起来,经过一个预训练模型将其rephrase一个question。

图10
2.2 实验验证
负采样
使用ShARC数据集进行实验验证,包含了两个任务的评价:分别为对于Decision Making任务采用 Marco-Accuracy 和Micro-Accuracy评价;以及对于问题生成采用BLEU Score评价。
此外,讲者考虑到在end-to-end evaluation时,存在一个缺点,也就是说, 对于评价问题生成时,模型是基于决策这部分的水平去做问题生成的评价,这使得每个模型之间问题生成的表现不好比较 ,因此提出一个oracle question generation evaluation,即只要当Ground truth decision 是inquire,就对其问题生成的水平进行评价。
在测试集上得到的结果验证了所提出的Entailnment Memory Tracker(EMT)模型较其他模型效果有很大提升,尤其在问题生成方面效果显著。

表1
具体分析每一类决策的准确率,可验证Inquire的效果要更好,主要因为模型能显式的追踪模型的一些状态,而不是简单的学习模型中一些Pattern。
此外,在oracle question generation evaluation数据集上, 与之前最好的模型E3,以及加上UniLM的模型进行对比,同样也证明了采用Coarse-to-Fine的方法抽取span,在问题生成方面具有更好的效果。

表2
同时,讲者给出了一个例子,更形象明白的说明了所提出的模型具备可解释性。

图11

3

如何更好地进行会话式机器阅读理解

3.1 问题提出
负采样
进一步,讲者介绍了第二项工作,该工作与前者的侧重点有所不同,存在两个差异:
第一,document interpretation,主要由于第一项工作只是简单的对句子进行了一个切分,但实际上有些conditions(比如,上述例子中的American small business for profit business)是长句子中从句的条件,因此,第二项工作侧重如何去理解这样的条件。比如,能申请7(a)贷款,需要满足(①==True and ②==True and ③==True)的条件,这在第一项工作中是没有被建模的。

图12
第二,dialogs understanding,即对于会话并没有做特别显式的理解。比如,在会话第一轮发现rule之间是and的关系,并且在Scenairo中抽取出条件,说明第一个rule是true,但还要继续问第二个和第三个rule,所以给定Inquire的决策,直至满足所有的rule后,才能给一个“You can apply the loan”的回答。
3.2 模型介绍
负采样
因此,该项工作主要基于这两点,提出先采用Discourse Segmentation的方法显式的把条件更好地抽取出来,之后做Entailment Reasoning 显式地预测每一个状态是否被满足,如果预测结果是Inquire,还需要做一个Follow-up Question Generation。
具体的,在discourse segmentation 中主要有两个目标:其一是明白Rule Text中的逻辑关系;其二是将句子中的条件更好地抽取出来。比如,对于一个rule采用Discourse Segmentation的方法将其抽取成三个elementary discourse unit (EDU),比如,下图中EDU1 ,EDU3是条件,然后EDU2是一个结果,这样的一个关系。
图15
如何实现Entailment Reasoning?
与工作一类似,在EDU抽取之后,将其与之前的用户Question,Scenairo 以及Dialog History拼接起来,经过预训练模型,得到每一个phrase的表征。然后采用多层transformer模型预测rule中每一个EDU 的状态,是Entailment、Contradiction,或者Neutral。
多层transformer模型较之前recurrent思想的模型更优秀,其不仅能在用户信息与rule之间做交互,也能更好的理解rule本身的逻辑结构(比如,conjunction,disconjunction等 )。
进一步,如何实现Decision Making? 在做决策时,根据学习到的Entailment、 Contradiction、Neutral向量,去映射前一步做Entailment Prediction的三个分数,得到每一个EDU的状态vector,同时拼接该状态vector与EDU本身的语义表示,作为Decision Classifier 输入,从而得到决策。
图16
3.3 实验验证及结论
负采样
同样地,实验也是在ShARC数据集上进行。实验结果表明, 使用discourse segmentation加上更好的更显式的Reasoning的模式,较之前使用EMT模型具有更好的性能表现,在Micro Accuracy和Macro Accuracy上差不多高出4%。

表3
在Ablation Study中,首先对比了RoBERTa和BERT之间的区别, 表明了RoBERTa对于Reasoning的任务具有一定的贡献 ;其次,说明了 采用discourse segmentation划分一个句子为多个EDU形式的效果优于仅对句子进行划分的结果 ;然后,证明了采用Transformer显示地对用户信息和问题之间做交互是有必要的;最后,证明了拼接Entailment vector和EDU本身的语义表示,对最终决策具有相当大的贡献。

表4
进一步,分析了不同逻辑结构下模型的结果表现。这里粗略分成4种规则的逻辑结构,即Simple、Disjunction、Conjunction以及Other。结果表示, 模型在Simple形式下具有最好效果,然而在Disjunction形式下效果较差。

图17
为什么模型对于Disjunction,做出的决策效果较差?
考虑到模型涉及两部分内容, 一是dialogue understanding;二是对 scenario的理解。
因此,讲者进一步做了如下实验,就是把这两块内容分开,选择一个只用到dialogue understanding 的子集,再选择一个只用到scenario Interpretation的子集,进行实验。
结果表明, 只用到dialogue understanding 的子集的模型效果要优于用到整个数据集的效果,但在scenario Interpretation的子集上,实验效果差了很多。
该现象的原因在于,用户自己的background (scenario) 可能用到了很多reasoning的方式,与rule 不完全一样,因此对scenario的理解是比较差的。很多时候scenario里提到了关键信息但是模型并没有抽取成功,从而继续做出inquire的决策。这也可能是导致Disjunction决策效果较差的原因。
图18

4

总结

综上,讲者团队分别提出了Explicit Memory Tracker with Coarse-to-Fine Reasoning 以及Discourse aware Entailment Reasoning的方法,并且在ShARC数据集上效果很好,同时设计实验分析了数据集本身的难点以及模型的缺陷,为后续研究指明可拓展方向。
图19

登录查看更多
0

相关内容

包括微软、CMU、Stanford在内的顶级人工智能专家和学者们正在研究更复杂的任务:让机器像人类一样阅读文本,进而根据对该文本的理解来回答问题。这种阅读理解就像是让计算机来做我们高考英语的阅读理解题。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【AAAI2021】对话推理:上下文阅读理解提升回复生成
专知会员服务
43+阅读 · 2021年1月23日
【北京大学冯岩松】基于知识的自然语言问答
专知会员服务
43+阅读 · 2020年11月15日
【NLPCC2020-微软】自然语言处理机器推理,124页ppt
专知会员服务
45+阅读 · 2020年10月20日
论文浅尝 | 基于知识库的自然语言理解 04#
开放知识图谱
14+阅读 · 2019年3月14日
论文浅尝 | 面向单关系事实问题的中文问答模型
开放知识图谱
28+阅读 · 2019年2月11日
论文浅尝 | 基于知识图谱子图匹配以回答自然语言问题
开放知识图谱
25+阅读 · 2018年6月26日
DuReader:百度大规模的中文机器阅读理解数据集
全球人工智能
7+阅读 · 2018年5月8日
DuReader:真实场景中的中文阅读理解数据集
科技创新与创业
8+阅读 · 2017年12月5日
【NLP】周明:自然语言对话引擎
产业智能官
6+阅读 · 2017年10月19日
Meta-Learning with Implicit Gradients
Arxiv
13+阅读 · 2019年9月10日
CoQA: A Conversational Question Answering Challenge
Arxiv
7+阅读 · 2018年8月21日
VIP会员
相关VIP内容
相关资讯
论文浅尝 | 基于知识库的自然语言理解 04#
开放知识图谱
14+阅读 · 2019年3月14日
论文浅尝 | 面向单关系事实问题的中文问答模型
开放知识图谱
28+阅读 · 2019年2月11日
论文浅尝 | 基于知识图谱子图匹配以回答自然语言问题
开放知识图谱
25+阅读 · 2018年6月26日
DuReader:百度大规模的中文机器阅读理解数据集
全球人工智能
7+阅读 · 2018年5月8日
DuReader:真实场景中的中文阅读理解数据集
科技创新与创业
8+阅读 · 2017年12月5日
【NLP】周明:自然语言对话引擎
产业智能官
6+阅读 · 2017年10月19日
Top
微信扫码咨询专知VIP会员