Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

丁铭 作者

ACL 2019论文 | 揭秘认知图谱!从多跳阅读理解问答开始

“机器的阅读理解与问答”一直以来被认为是“自然语言理解(NLU)”的核心问题之一,随着BERT等模型的兴起,单段落的简单阅读理解任务取得了重大突破;研究者将目光转向更能体现机器智能的“多跳”“复杂”情形。

本篇论文介绍了基于认知中“双过程理论(dual process theory)”的CogQA模型,文章提出一种新颖的迭代框架:算法模拟认知学中人类的两个认知系统,并维护一张认知图谱(Cognitive Graph),系统一在文本中抽取与问题相关的实体名称并扩展节点和汇总语义向量,系统二利用图神经网络在认知图谱上进行推理计算。文章在HotpotQA全维基百科数据集上持续占据第一近三个月之久,直到文章在被ACL高分接收后公开。

假设你手边有一个维基百科的搜索引擎,可以用来获取实体对应的文本段落,那么如何来回答下面这个复杂的问题呢? 

“谁是某部在2003年取景于洛杉矶Quality cafe的电影的导演?”

很自然地,我们将会从例如Quality cafe这样的“相关实体”入手,通过维基百科查询相关介绍,并在其中讲到好莱坞电影的时候迅速定位到“Old School”“Gone in 60 Seconds”这两部电影,通过继续查询两部电影相关的介绍,我们找到他们的导演。最后一步是判断到底是哪位导演,这需要我们自己分析句子的语意和限定词,在了解到电影是2003年之后,我们可以做出最后判断——Todd Phillips是我们想要的答案。

事实上,“快速将注意力定位到相关实体”和“分析句子语意进行推断”是两种不同的思维过程。在认知学里,著名的“双过程理论(dual process theory)”[1]认为,人的认知分为两个系统,系统一(System 1)是基于直觉的、无知觉的思考系统,其运作依赖于经验和关联;而系统二(System 2)则是人类特有的逻辑推理能力,此系统利用工作记忆(working memory)中的知识进行慢速但是可靠的逻辑推理,系统二是显式的,需要意识控制的,是人类高级智能的体现。

01

引例

如果说上面的说法过于抽象, 我们来看下面的小例子[2]:

这里有四张卡片,每张一面是数字,另一面是颜色。这里有一个命题:

“如果一张卡片一面是棕色,它的反面是一定是偶数(例如2,4,6,8,10)”我们想判断这个命题的对错,需要翻动哪两张卡片?希望你能快速回答。

如果你的答案(像大多数人那样)是第二和第四张卡片,我们先不评价,再看下面的问题。

这里有四张卡片,每张一面是一个人的年龄,另一面是他在喝的饮料。这里有一个规定:

“如果一个人要喝酒,那么他必须要年满18岁”我们想判断这个规定是否被遵守,需要翻动哪两张卡片?希望你能快速回答。

我想你的答案(像大多数人那样)可能是第一和第四张卡片。但是,如果我们来对比这两个问题,会发现如果我们将啤酒和棕色对应,偶数和大于18岁对应,这两个问题从逻辑上完全相同,但是我们快速思考(系统一)的时候却容易得出了完全不同的结果。但是当我们将问题抽象化进行深入思考(系统二),则能发其中的相同之处。这是因为系统一往往依赖于经验,第一个问题会直观联系到偶数,第二个问题则会联系到日常生活中对未成年人禁令的各项检查。因此,仅仅依靠系统一是不够的。

02

多跳阅读理解的挑战

自从BERT[3]横空出世,单文本阅读理解问答的基准数据集SQuAD很快超过人类水平,但是同时,大家也在反思这些模型是否真的能够做到阅读“理解”。在2018年Percy Liang等人的文章中,他们展现了一个有趣的例子:

原文为:In January 1880, two of Tesla's uncles put together enough money to help him leave Gospić for Prague where he was to study.”

问题为:What city did Tesla move to in 1880?

大多数模型都能轻松回答对“Prague”。然而,一旦我们在原文后面增加一句“Tadakatsumoved to the city of Chicago in 1881.”则这些模型将会以很高的置信度回答“Chicago”——这仅仅是由于这句的形式与问题特别像,即使关键的信息都对不上。

这很像我们刚才举的卡片的例子(Wason Selection Test),也暗示了之前的基于深度学习的NLP模型,主要类似于认知中的系统一,我们如果要进一步进行推理,就必须考虑系统二。

另外,可解释性不足也是之前多层黑盒模型饱受诟病的弊端之一。这些模型往往只需要输入问题和文本,然后输入答案在文本中的位置;在多跳阅读理解中,每一跳都是有原因的,如果不能给出合理答案解释,则无法证明真的“理解”了文本。

问答系统很重要的一个问题是规模化。当语料不多时,面向单段阅读理解的NLP模型都可以直接处理但是真正的问答系统势必需要大规模语料并从中寻找答案。在陈丹琦等人的DrQA系统中使用的一个常见的权衡的方法是:

先根据问题在语料(维基百科)中检索出少量相关段落,再在这些段落中进行NLP的处理。

CogQA文章认为,这样的方法在多跳问答中存在“短视检索”的问题,即后几跳的文本和问题的相关性很低,很难被直接检索到,导致了效果不佳。

03

认知图谱问答(CogQA)框架

在该文章提出一种新颖的迭代框架:算法使用两个系统来维护一张认知图谱(Cognitive Graph),系统一在文本中抽取与问题相关的实体名称并扩展节点和汇总语义向量,系统二利用图神经网络在认知图谱上进行推理计算。

正如之前提到的,人类的系统一是无知觉(unconscious),CogQA中的系统一也是流行的NLP黑盒模型,例如BERT。在文章的实现中,系统一的输入分为三部分:

■ 问题本身

■ 从前面段落中找到的“线索(clues)”

■ 关于某个实体x(例如x=上文中的电影《old school》)的维基百科文档

系统一的目标是抽取文档中的“下一跳实体名称(hop span)”和“答案候选(ans span)”。比如上文例子中,从“quality cafe”的段落中抽取电影“old school”和“Gone in 60 seconds”作为下一跳的实体名称,在“old school”的段落中抽取其导演“Todd Phillips”作为答案候选之一。这些抽取的到的实体和答案候选将作为节点添加到认知图谱中。此外,系统一还将计算当前实体 x 的语意向量,这将在系统二中用作关系推理的初始值。

下图展示了系统一(BERT实现)的结构:

文章还有很多值得注意的细节,比如之所以将“下一跳实体名称”和“答案候选”分开,是因为前者更多关注语意相关性而后者则需要匹配疑问词;“下一跳实体名称”和“答案候选”是通过预测每个位置是开始或者结束的概率来确定的,这里与BERT原文做法相符;第0个位置的输出被用来产生一个阈值,判断段落内是否有有意义的“下一跳实体名称”或者“答案候选”……详情见论文。

接下来,每一个抽取出的“下一跳实体名称”或“答案候选”将在认知图谱中建立一个新的点,并进行下一步迭代。

同时系统二在认知图谱上进行推理计算,文中使用图神经网络(GNN)实现的隐式推理计算——每一步迭代,前续节点将变换过的信息传递(Graph MessagePassing)给下一跳节点,并更新目前的隐表示(Hidden Representation)。最终所有的“答案候选”点的隐表示将通过一个带有softmax函数的全连接网络来判断哪个是最终答案。

在认知图谱扩展过程中,如果某被访问节点出现新的父节点(环状结构或汇集状结构),表明此点获得新的线索信息(clues),需要重新扩展计算。最终算法流程借助前沿点(frontier nodes)队列形式实现,具体描述如下:

04

实验结果

文章使用了CMU、Stanford和Montréal大学共同提出的HotpotQA数据集[4],语料范围是全维基百科。HotpotQA的每个问题都涉及多个文本,并且不仅要求模型输出答案,而且要输出支持信息所在的句子,只有当答案和支持句都判断正确才被认为是正确的。CogQA显著超过了之前的方法和同时期的其他模型:

值得一提的是,由于作者发现之前baseline的检索部分方法有一定缺陷,为了排除检索部分的影响,还优化了其检索效果再比较(Yang et al.(2018)-IR)。

如果将问题按照提问类型分类,CogQA的效果随着必需跳数的增加而变好:

除了效果的提升,案例分析中的认知图谱也表明了其可解释性方面的优越性:

上图展现了几个问答中的认知图谱的实例。第一个树形图中,回答问题的关键在于判断Ken Pruitt所在的组织是“Senate”(参议院) 还是“House of Representatives”(众议院),模型通过判断“upper house”(上院,在美国是参议院的别称)和“Senate”的语意相似性做出回答;第二个是有向无环图,多条推理路径可以增强判断;第三个是模型得出“错误答案”的例子,数据集的标准答案是“Ten Walls”可是CogQA给出的是“Marijus Adomaitis”,但是如果检查认知图谱,会发现Ten Walls不过是Marijus Adomaitis的艺名,模型给出了一个更加准确的答案,这种可解释性带来的好处是传统黑盒模型不具有的。

05

图结构、认知与自然语言处理

在图灵奖得主Judea Pearl的新作《The Book of Why》中,他强调了图结构在认知和智能中的重要地位——智能不能拘泥于统计,更应该注重因果与逻辑链条,而后者则与图结构密不可分。认知图谱(Cognitive Graph)则是图结构在问答问题上的一次有意义的尝试,BERT、XLNet这样的预训练模型是否是认知理论中“系统一”的最终答案?图结构到底应该怎样服务于“系统二”的推理呢,比如如果能够对超长的文本进行注意力(attention)机制,那么象征着因果和逻辑的结构信息究竟是否必要?

自然语言处理正处在一个蓬勃发展的时期,希望这篇文章可以给大家更多的思考。

Paper : https://arxiv.org/abs/1905.05460

Codes : https://github.com/THUDM/CogQA

参考文献

[1] Evans, Jonathan St BT, and Keith E. Stanovich. "Dual-process theories of higher cognition: Advancing the debate." Perspectives on psychological science 8.3 (2013): 223-241.

[2] Cosmides, L. (1989). The logic of social exchange: Has natural selection shaped how humans reason? Studies with the Wason selection task. Cognition, 31(3), 187-276.

[3] Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805.

[4] Yang, Z., Qi, P., Zhang, S., Bengio, Y., Cohen, W. W., Salakhutdinov, R., & Manning, C. D. (2018). Hotpotqa: A dataset for diverse, explainable multi-hop question answering. arXiv preprint arXiv:1809.09600.

AMiner学术头条
AMiner学术头条

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。系统2006年上线,吸引了全球220个国家/地区800多万独立IP访问,数据下载量230万次,年度访问量1000万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

https://www.aminer.cn/
专栏二维码
理论ACL 2019认知图谱机器阅读理解自然语言处理智能写作
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

有向无环图技术

在图论中,如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。 因为有向图中一个点经过两种路线到达另一个点未必形成环,因此有向无环图未必能转化成树,但任何有向树均为有向无环图。

逻辑推理技术

逻辑推理中有三种方式:演绎推理、归纳推理和溯因推理。它包括给定前提、结论和规则

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

图神经网络技术

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

问答系统技术

问答系统是未来自然语言处理的明日之星。问答系统外部的行为上来看,其与目前主流资讯检索技术有两点不同:首先是查询方式为完整而口语化的问句,再来则是其回传的为高精准度网页结果或明确的答案字串。以Ask Jeeves为例,使用者不需要思考该使用什么样的问法才能够得到理想的答案,只需要用口语化的方式直接提问如“请问谁是美国总统?”即可。而系统在了解使用者问句后,会非常清楚地回答“奥巴马是美国总统”。面对这种系统,使用者不需要费心去一一检视搜索引擎回传的网页,对于资讯检索的效率与资讯的普及都有很大帮助。从系统内部来看,问答系统使用了大量有别于传统资讯检索系统自然语言处理技术,如自然语言剖析(Natural Language Parsing)、问题分类(Question Classification)、专名辨识(Named Entity Recognition)等等。少数系统甚至会使用复杂的逻辑推理机制,来区隔出需要推理机制才能够区隔出来的答案。在系统所使用的资料上,除了传统资讯检索会使用到的资料外(如字典),问答系统还会使用本体论等语义资料,或者利用网页来增加资料的丰富性。

暂无评论
暂无评论~