AI TIME欢迎每一位AI爱好者的加入!

 

 

本期AI TIME PhD直播间,我们有幸邀请到了来自香港中文大学计算机科学与工程系博士生博士生高一帆为我们进行分享,本次分享的主题是——会话式机器阅读理解。

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

高一帆:香港中文大学计算机科学与工程系博士生,导师为金国庆教授与吕荣聪教授。主要研究方向为自然语言处理中的问答与对话。

 

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

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

 

如何在会话式阅读理解里面能够建模它的implicative reasoning,即如何去学习会话与阅读理解篇章之间的蕴含关系。这里,讲者概述了两种常见阅读理解的类型:第一种是标准的阅读理解,该模式是指,给定一篇描述型的文章和一个基于事实型的问题,通过匹配文章和问题,从文章中抽取一个span来回答这个问题;第二种就是会话式的问答,与标准的单轮问答不同,需要追问新问题,即follow up question,同时问题是以交互的形式出现。会话式问答,存在两个挑战,一个是需要能理解篇章,另一个是能够理解交互的会话本身。

 

基于会话式问答,讲者引入一个例子简单说明(图一),比如,用户简单描述了自己的情况(Scenario),但用户的问题并不能直接从文章(Rule Text)中获取,往往这个文章可能是一个比较通用的、相当于是一个法规或者法律的篇章。比如,说明能够申请7a贷款的人,需要具备什么样的条件,但针对用户问题在文章中没有直接的答案,必须和用户进行一个交互,才能得到明确的回答。例子中,成功申请贷款的条件有三个,所以还需再问另外的条件,比如,能不能够在别的地方获取它的资金来源,假如用户说no的话,这时候就可以给他一个答案,也就是说你可以申请。因此,在这种情形下,就需要既能够读懂这篇文章,理解文章中的规则,也要能够主动地和用户交互,从用户那边获取一些需要知道的信息,最终再给他一个决策。

 

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

图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引导用户提供一些没有提供的信息,便于进一步的决策。

 

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

图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中没有被问到的规则、条件等。

 

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

图3

 

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

 

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

图4

 

(1)Encoding

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

 

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

图5

 

(2)Explicit Memory Tracking

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

 

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

图6


(3)    Decision Making

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

 

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

图7

 

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

 

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

图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最有可能被问到。

 

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

图9

 

第二步,就是把span和rule 拼接起来,经过一个预训练模型将其rephrase一个question。

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

图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)模型较其他模型效果有很大提升,尤其在问题生成方面效果显著。

 

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

表1

 

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

 

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

表2

 

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

 

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

图11

 

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

 

3.1问题提出

采样

 

进一步,讲者介绍了第二项工作,该工作与前者的侧重点有所不同,存在两个差异:

 

第一,document interpretation,主要由于第一项工作只是简单的对句子进行了一个切分,但实际上有些conditions(比如,上述例子中的American small business for profit business)是长句子中从句的条件,因此,第二项工作侧重如何去理解这样的条件。比如,能申请7(a)贷款,需要满足(①==True and ②==True and ③==True)的条件,这在第一项工作中是没有被建模的。

 

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

图12

 

第二,dialogs understanding,即对于会话并没有做特别显式的理解。比如,在会话第一轮发现rule之间是and的关系,并且在Scenairo中抽取出条件,说明第一个rule是true,但还要继续问第二个和第三个rule,所以给定Inquire的决策,直至满足所有的rule后,才能给一个“You can apply the loan”的回答。

 

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

 

3.2模型介绍

采样

 

因此,该项工作主要基于这两点,提出先采用Discourse Segmentation的方法显式的把条件更好地抽取出来,之后做Entailment Reasoning 显式地预测每一个状态是否被满足,如果预测结果是Inquire,还需要做一个Follow-up Question Generation。

 

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

 

具体的,在discourse segmentation 中主要有两个目标:其一是明白Rule Text中的逻辑关系;其二是将句子中的条件更好地抽取出来。比如,对于一个rule采用Discourse Segmentation的方法将其抽取成三个elementary discourse unit (EDU),比如,下图中EDU1 ,EDU3是条件,然后EDU2是一个结果,这样的一个关系。

 

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

图15

 

如何实现Entailment Reasoning?与工作一类似,在EDU抽取之后,将其与之前的用户Question,Scenairo 以及Dialog History拼接起来,经过预训练模型,得到每一个phrase的表征。然后采用多层transformer模型预测rule中每一个EDU 的状态,是Entailment、Contradiction,或者Neutral。多层transformer模型较之前recurrent思想的模型更优秀,其不仅能在用户信息与rule之间做交互,也能更好的理解rule本身的逻辑结构(比如,conjunction,disconjunction等 )。

 

进一步,如何实现Descion Making? 在做决策时,根据学习到的Entailment、 Contradiction、Neutral向量,去映射前一步做Entailment Prediction的三个分数,得到每一个EDU的状态vector,同时拼接该状态vector与EDU本身的语义表示,作为Decision Classifier 输入,从而得到决策。

 

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

图16

 

3.3实验验证及结论

采样

 

同样的,实验也是在ShARC数据集上进行,实验结果表明,使用discourse segmentation加上更好的更显式的Reasoning的模式,较之前使用EMT模型具有更好的性能表现,在Micro Accuracy和Macro Accuracy上差不多高出4%。

 

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

表3

 

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

 

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

表4

 

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

 

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

图17

 

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

 

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

图18

 

总结

 

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

 

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

图19

 

 

 

 

本周直播预告:

 

 

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

 

AI TIME欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你

 

 

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

AI TIME是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。

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