论文浅尝 - WSDM20 | 基于弱监督及逐步推理的多关系知识图谱问答

论文笔记整理:刘晓臻,东南大学计算机科学与工程学院本科生。




来源:WSDM ’20

链接:https://dl.acm.org/doi/abs/10.1145/3336191.3371812

动机

知识图谱问答(KG-QA)系统大多包含两个步骤:链接问题中的topic entity到KG,然后识别问题所指的在KG中的最相关的关系。根据获取答案所需的KG三元组的数量,可以将自然语言问题分成单一关系问题和多关系问题两种。

现有的KG-QA方法可以分成两个主流的分支。

第一种主要致力于学习一个能够将非结构化的问题转换为结构化表示的语义解析器(Semantic Parser, SP),其中传统的基于SP的方法利用诸如SPARQL、λ-DCS和λ-calculus之类的逻辑形式,但这就要求用户熟悉这些逻辑形式的语法和后台数据结构,而且预测所得的结构和和KG的结构之间存在的不匹配的情况也会限制模型的表现。因此最近的研究使用query graph来表示问题的语义结构,这样可以取得较好的结果,但以人工标注成本作为代价,因此难以用于其它领域,且依赖于成熟的NLPpipelines,会有错误的叠加。

另外一个分支的方法利用以topic entity为中心的子图获取候选答案,且将问题和每个候选子图编码为同一个嵌入空间的语义向量,利用嵌入相似度排序,其中神经网络可以较好地用以表示问题和KG成分。这一类方法可以端到端地训练,且有泛化到其他领域的可能,但在多关系问题上表现不是很好。

因此,对于后一类方法,最近的研究工作致力于提高多关系问题上的推理能力。然而还有以下几个挑战:(1) 时间复杂度过高,因为现有的方法对于每个问题都需要用到整个以topic entity为中心的子图,使得候选答案个数以指数级上升。(2) 语义信息太复杂,因为多关系问题中的每一个部分都对三元组选择有各自的影响,故需要在不同步骤里关注问题中的不同部分,而许多现有的方法没有对多关系问题作更进一步的分析,因此表现很差。(3) 需要使用弱监督来训练,因为一步步地分析到底如何回答一个多关系问题是不现实的,这需要大量的数据标注。实际的标注只有最终的答案,因此是弱监督的。有些工作使用外部知识(如Wikipediafree text)来丰富分布式表示,但这种操作不适用于没有外部知识的某些特定领域。

针对以上挑战,本文提出了一个基于强化学习的神经网络模型“Stepwise Reasoning Network (SRN)”。贡献如下:

(1) 针对第一个挑战,SRN将多关系问题的回答形式化为一个顺序决策问题,通过学习一个从topic entity开始,在KG中执行路径搜索的策略来得到一个自然语言问题的答案,并使用beam search在每一步获取三元组列表,因此可以不考虑整个以topic entity为中心的子图,进而显著减少对于一个问题的候选答案。

(2) 针对第二个挑战,SRN使用注意力机制决定当前关注哪一个部分以获取问题中不同部分的独特的信息,在每一步使用对应的单层感知机以强调三元组选择的顺序,使用GRU网络来编码决策历史。

(3) SRN使用REINFORCE算法进行端到端训练。针对第三个挑战,特别是在弱监督、多关系问题的情况下存在的一系列问题,SRN使用基于potential 的reward shaping方法来为agent提供额外的rewards,该方法不会使得agent偏离真正的目标,也不需要外部知识。

(4) 通过实验证明了方法的有效性,在3个benchmark数据集上进行了ablationstudy。

方法

1.任务定义

一个KG由G= (E, R)表示,E为实体集合,R为关系集合;KG中每个三元组(es, r, eo)都代表了现实生活中的一个基本事实。对于一个自然语言问题q,一个KG-QA模型返回事实性答案,答案包含存储在KG中的三元组,对于许多复杂问题,要求不止一个三元组。

2.强化学习形式化

强化学习常被形式化为一个马尔可夫决策过程(Markov decision process, MDP)。本文将MDP视为从交互中学习到回答基于KG的自然语言问题。如图1,agent是学习者,也是决策者,在一个离散时间决策步骤序列中的每一步,agent和除它之外的一切(环境)交互。

图 1

具体地,一个MDP定义为一个元组(S, A, p, R),S为状态空间,A为行动空间,为状态转换概率,为奖励函数。在每个时间步t,agent观察环境的状态St ∈ S,然后选择一个行动At ∈ A(St)。作为结果,环境转换到一个新的状态St+1,概率为,然后根据奖励函数,agent会获得一个数值上的奖励。整个过程如图1。具体到本任务,则有以下定义:对于状态,中,q为问题,es是topic entity,et是从es搜索路径过程中,在时间步t时所访问的实体,ht则为agent之前所做的决策的集合。t时的候选行动集合基于St, A(St)由G中所有et的出边构成,即。另外,由于回答一个问题所需的三元组数量未知,故在中A(St)加入一个自环边,表示终止行动,agent在此进入终止状态。对于状态转换,一旦agent选择了行动,状态就变换成,其中。最后,奖励是环境传给agent的特殊信号,是agent的目的的形式化表现,在episodic RL任务中,agent在每个时间步都会获得一个奖励,agent的目标就是最大化其所获得的奖励。但由于本文使用的是弱监督,agent只有在得到最终的正确的答案节点时才能获得一个正值终止奖励(通常为1),此时可以视之前的每个决策为正确的,让它们也获得一个正值奖励。但这样会导致奖励延后且稀疏,阻碍训练的收敛。本文利用一个potential 函数来减轻这一问题,后面会详细说明。

3.策略网络(Policy Network)

     

本文使用深度神经网络参数化搜索策略,以求解上述的有限MDP。一个参数化的策略π以每一步的状态信息为输入,输出在候选行动上的概率分布,即。本文使用双向GRU网络来将q转换为向量,并在每个时间步使用单层感知机转换向量,以将问题中的不同部分用不同步骤来区分。使用注意力机制来让表示中能包含关系信息。最终,概率分布基于包含了关系嵌入、能够感知到关系的问题表示和所编码的决策历史的语义得分。

具体地,对于一个长度为n个词的问题,使用密集词嵌入初始化每个词,并将q中的topicentity的提及用token“<< span="">e>”替换,并且预先使用一个topic entity linker标注好此提及。之后,将这一串词嵌入输入一个双向GRU网络并得到一系列d维输出状态,其中每个wi由正向和反向两个GRU分别的的d/2维输出拼接得到。在每个时间步t,q通过学习到的单层感知机转换成一个能感知到步骤的表示。进一步地,通过将前一步决策所得的关系输入一个GRU网络来编码决策历史,具体为,其中为Aj­-1中的关系。H0和r0都是零向量。

根据状态St获取行动空间A(St),对于所有的,计算一个能够感知关系的问题表示,计算方法为:首先将r*投射到qt的嵌入空间上,计算r*与的相似度然后将结果传给一个SoftMax层,得到一个在上的注意力分布。通过以下公式得到这些向量的加权和,作为关系r*和问题q之间的交互:

其中为关系r*的嵌入,都是学得的参数,⊙是Hadamard乘。然后,使用用以下公式描述的感知机计算at的语义得分:

其中两个W都是学得的参数。基于相似度,选择at的概率值通过一个SoftMax层计算:

然后根据概率分布从A(St)中抽样出行动At。注意到,KG中存在一对多的关系,故关系相同的候选行动将会被以相同度概率抽样。

因此,以下算法展示了一个agent如何通过该策略网络对给定的问题获取一个决策轨迹,预测的回答为节点

综上,对于一个示例问题“Where was the father of Sylvia Brett’s other half born?”,本文的推理框架如下图2:

图 2

4.基于Potential的Reward Shaping

前面已经提到了弱监督带来的奖励的延后和稀疏问题,针对这个问题,比较便利的方法是对原始的MDP提供额外的奖励,但这样可能会使得agent被困在子目标中,无法达成真正的目标。因此,有文献提出了基于potential的rewardshaping,文献中提到,一个shaping reward function 是基于potential的指的是对所有的存在 ,其中s0指的是像终止状态一样的吸收状态,γ是discountfactor。可以证明,当F是基于potential的时候,中的每个最有策略都是中的一个最优策略,反之亦然。

本文基于以上定理提出了一个基于potential函数的rewardshaping函数。ϕ*用来衡量给定问题的多少语义信息被agent之前所做出的决策包含。这里,正确的决策指含KG中的一个关系,该关系能覆盖到问题中的部分语义信息。本文的ϕ*计算如下:

其中Qt是前一步中的每个词向量的和,Ht是所编码的决策历史,其关系嵌入是用的与训练的KG嵌入矩阵(TransE方法)。因此,该方法不需要除了KG结构信息之外的任何外部先验知识,故可以用于其他领域。本文修改了原始的reward 函数,对于基于potential的rewardshaping函数 ,本文的reward函数为:

5.训练

对于所有的参数θ,训练目标为在所有问题-答案对上最大化预期reward:

其中η为discountfactor,D为训练集,(q, a)是D中的一个问题-答案对。使用经典的策略梯度法(REINFORCE算法)优化。

实验

本文在三个benchmark数据集上评估SRN的效果,分别是通用领域的PathQuestion (含PQ和PQL两种)、足球领域的 WC2014 (其中单一关系问题集为WC-1H,2关系问题集为WC-2H,前面两个集问题集的混合集为WC-M,合取型问题集为WC-C)和电影领域的METAQA (原数据集有纯人工构建集Vanilla,也有使用机器翻译得到的其他数据集,本文仅使用Vanilla和Vanilla-EU,EU指未标注topic-entity。)。数据集的细节如下表1。

Baseline有IRN、VRN、MemNN、KV-MemNN和MINERVA,其中MINERVA是一个使用RL的知识图谱补全模型。

实现细节上,首先,词嵌入用预训练的嵌入初始化,KG嵌入使用基于TransE的预训练结果,两种嵌入的维数都是300。用于编码问题的双向GRU有2层,隐藏层维数为150。用于编码历史的单向GRU有3个300维的隐藏层。对GRU都使用dropout,dropout率为0.3。对于神经网络种的层,使用Xavier初始化。对于基于potential的rewardshaping,discount factorγ为0.95,对于REINFORCE算法,本文将discountfactor η调节在(0.9, 1.0)之间。训练时的beam size为1,即贪心搜索;测试时的beamsize则为32。对于参数优化,使用ADAM optimizer,初始学习率lr为0.001,使用验证集上的表现来确定所有超参。(PQ, PQL, 和WC2014)的训练/验证/测试比为8:1:1,衡量在5次不同的划分结果上的平均表现。对于METAQA,使用其标准划分,但同样做5次平均。METAQA论文种的模型和IRN模型都是给定了回答问题所需的三元组数量的(对应的数据集为PQ、PQL和METAQA),本文认为这是不现实的,因此本文混合了这些问题,得到了PQ-M、PQL-M、Vanilla-Mix和Vanilla-EU-Mix。

实验结果如下表2和表3。

根据结果,可以看出SRN在来自不同领域的多关系问题上超越了所有baseline。本文认为这种差距是因为baseline都是考虑整个以topic entity为中心的子图,而这可能会导致topic entity的T跳之内的其他knowledgeitem会误导训练和测试。注意到同样使用RL的MINERVA在更复杂的问题上表现不好,本文认为这也是因为它考虑整个以topic-entity为中心的子图,导致了reward的延后和稀疏问题。注意到所有的方法都在Vanilla-EU上表现更差,因为该数据集没有标注topic entity,而topic entity链接是这一切的基础。本文使用了一个topic-entity linker,而VRN使用了一个基于全连接神经网络的topic entity recognizer,且将topic entity的处理和多跳推理放在一起同时训练。然而实验结果表明这种方法表现不好,尤其是在3跳问题上。本文认为这是由于VRN有reward的延后和稀疏问题,导致其设计的topic entity recognizer接收到了更少的正信号,因此训练可能不充分。另外,注意到IRN-weak在PQL和Vanilla上表现不好,本文认为这可能是由于它所用的多任务训练策略,即KG嵌入的训练和其他QA参数的训练交替进行,而这种策略在更大的KG上既花太多时间,又可能会让损失函数误导QA任务。

最后,本文还做了ablationstudy。首先,本文尝试去掉了策略网络中的注意力机制,结果如表2和表3。可以看出,没有了注意力机制的模型在所要求的三元组数量未知的情况下表现远不如原始SRN。然后,本文去掉了感知机,计算相似度改用余弦相似度。结果同样见表2和表3,可以看见在PQL这样的KG更大的数据集上表现不好。在Vanilla上,这样的模型在所要求的三元组数量已知的情况下表现还行,但未知的情况下则表现下降许多。另外,本文还在6个三跳数据集评估了去掉基于potential的reward shaping的SRN的训练过程,如图3,图种红线是原始SRN在验证集上的表现,蓝线是去掉基于potential的reward shaping的SRN在验证集上的表现。可以看出这一策略的确会加快收敛。

图 3

总结

本文针对多关系的知识图谱问答提出了一个基于深度强化学习的模型SRN,主要的特点为将多关系问答视为RL中的顺序决策问题,使用beamsearch来显著降低候选答案,使用注意力机制和神经网络来决定当前步骤中应该关注问题中的哪个部分,最后,提出了基于potential的reward shaping策略缓解来弱监督带来的reward的延后和稀疏问题。实验证明了SRN的有效性。最后,本文还指出了SRN存在缺陷,即不能很好地回答推理路径上含限制的问题,如“Which player is the highest in NBA?”。

 


 

OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android官方开发文档Training系列课程中文版:网络操作之网络连接

原文地址&#xff1a;http://android.xsoftlab.net/training/basics/network-ops/index.html 引言 这节课将会学习最基本的网络连接&#xff0c;监视网络连接状况及网络控制等内容。除此之外还会附带描述如何解析、使用XML数据。 这节课所包含的示例代码演示了最基本的网络操…

算法工程师的落地能力具体指的是什么?

文 | 桔了个仔知乎本文已获作者授权&#xff0c;禁止二次转载大家好&#xff0c;这里是桔了个仔&#xff0c;目前是一名Data Scientist(不太想翻译成数据科学家&#xff0c;毕竟感觉自己就是个工程师&#xff09;&#xff0c;过去几年在做基于机器学习的风控与合规系统&#xf…

国内外自然语言处理(NLP)研究组

2015年国内外自然语言处理(NLP)研究组&#xff1a; https://blog.csdn.net/wangxinginnlp/article/details/44890553 补充&#xff1a; 名称 地址 最近更新 HanLP https://github.com/hankcs/HanLP 2天前 腾讯开源深度学习文本分类工具 https://github.com/Tencent/NeuralNLP-…

Android官方开发文档Training系列课程中文版:网络操作之网络管理

原文地址&#xff1a;http://android.xsoftlab.net/training/basics/network-ops/managing.html 这节课将会学习如何对网络资源的使用情况拥有更细粒度的控制力。如果应用程序经常执行大量的网络操作&#xff0c;那么程序应当提供一项设置&#xff0c;以便用户可以控制应用的数…

LeetCode 728. 自除数

1. 题目 自除数 是指可以被它包含的每一位数除尽的数。 例如&#xff0c;128 是一个自除数&#xff0c;因为 128 % 1 0&#xff0c;128 % 2 0&#xff0c;128 % 8 0。 还有&#xff0c;自除数不允许包含 0 。 给定上边界和下边界数字&#xff0c;输出一个列表&#xff0…

论文浅尝 - AAAI2020 | 通过句子级语义匹配和答案位置推断改善问题生成

论文笔记整理&#xff1a;王春培&#xff0c;天津大学硕士。链接&#xff1a;https://arxiv.org/pdf/1912.00879.pdf动机本文主要聚焦问答系统&#xff08;Q&A&#xff09;的反问题---问题生成&#xff08;Question Generation&#xff0c;Q&G&#xff09;。问题生成的…

美团深度学习系统的工程实践

背景 深度学习作为AI时代的核心技术&#xff0c;已经被应用于多个场景。在系统设计层面&#xff0c;由于其具有计算密集型的特性&#xff0c;所以与传统的机器学习算法在工程实践过程中存在诸多的不同。本文将介绍美团平台在应用深度学习技术的过程中&#xff0c;相关系统设计的…

一个程序员的理财观

文 | 王喆你好&#xff0c;我叫王喆&#xff0c;看过我技术文章的朋友知道&#xff0c;我是一个搞推荐系统的机器学习工程师&#xff0c;不熟悉的同学也没关系&#xff0c;就当我是一名普普通通的程序员就好。但今天我们不谈技术&#xff0c;也不谈996这些烦人的话题&#xff0…

Android官方开发文档Training系列课程中文版:网络操作之XML解析

原文地址&#xff1a;http://android.xsoftlab.net/training/basics/network-ops/xml.html 扩展标记语言(XML)是一系列有序编码的文档。它是一种很受欢迎的互联网数据传输格式。像需要频繁更新内容的网站来说&#xff0c;比如新闻站点或者博客&#xff0c;需要经常更新它们的X…

2020年最值得收藏的60个AI开源工具

原本链接:https://www.infoq.cn/article/2uabiqaxicqifhqikeqw 本文&#xff0c;InfoQ梳理了60个2019年至今GitHub上热门的开源工具&#xff0c;献给那些对新征程满怀期待的开发者们。Flair (顶级 NLP 库&#xff09;2018 年是 NLP 井喷的一年。像 ELMo 和谷歌 BERT 这样的库层…

LeetCode 942. 增减字符串匹配

1. 题目 给定只含 “I”&#xff08;增大&#xff09;或 “D”&#xff08;减小&#xff09;的字符串 S &#xff0c;令 N S.length。 返回 [0, 1, …, N] 的任意排列 A 使得对于所有 i 0, …, N-1&#xff0c;都有&#xff1a; 如果 S[i] "I"&#xff0c;那么…

Netty堆外内存泄露排查盛宴

导读 Netty 是一个异步事件驱动的网络通信层框架&#xff0c;用于快速开发高可用高性能的服务端网络框架与客户端程序&#xff0c;它极大地简化了 TCP 和 UDP 套接字服务器等网络编程。 Netty 底层基于 JDK 的 NIO&#xff0c;我们为什么不直接基于 JDK 的 NIO 或者其他NIO框架…

论文浅尝 - ESWC2020 | YAGO 4: A Reason-able Knowledge Base

论文笔记整理&#xff1a;叶群&#xff0c;浙江大学计算机学院&#xff0c;知识图谱、NLP方向。会议&#xff1a;ESWC 2020链接&#xff1a;https://suchanek.name/work/publications/eswc-2020-yago.pdfIntroductionYAGO是世界上最大的链接数据库之一&#xff0c;由德国马普研…

责任链模式在Android中的应用

*本篇文章已授权微信公众号 guolin_blog &#xff08;郭霖&#xff09;独家发布 责任链其实在Android中出现的频率还蛮高的&#xff0c;事件传递就是一种责任链机制。接下来我为大家介绍在开发应用时责任链的用处&#xff1a; 1.触摸事件的应用。2.响应事件的应用。 何为责任…

sklearn网格搜索找寻最优参数

大家好&#xff0c;在机器学习中&#xff0c;调参是一个非常重要的步骤&#xff0c;它可以帮助我们找到最优的模型参数&#xff0c;从而提高模型的性能。然而&#xff0c;手动调参是一项繁琐且耗时的工作&#xff0c;因此需要一种自动化的方法来搜索最佳参数组合。在这方面&…

最新版《神经网络和深度学习》中文版.pdf

获取最新版《神经网络和深度学习》最新版PDF和PPT的方法&#xff1a; 1.扫码关注 “Python与机器智能” 公众号2.后台回复关键词&#xff1a;神经网络注&#xff1a;此处建议复制&#xff0c;不然容易打错▲长按扫描关注&#xff0c;回复神经网络即可获取文档目录如下获取最新版…

一文盘点PaddlePaddle官方九大自然语言处理模型

一文盘点PaddlePaddle官方九大自然语言处理模型&#xff1a;百度paddlepaddle模型

论文浅尝 | 知识图谱的不确定性衡量

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士。来源&#xff1a;Knowledge and Information Systems volume 62, pages611–637(2020)链接&#xff1a;https://link.springer.com/article/10.1007/s10115-019-01363-0概要本文的核心工作是利用知识结构来衡量知识库…

LeetCode 709. 转换成小写字母

1. 题目 实现函数 ToLowerCase()&#xff0c;该函数接收一个字符串参数 str&#xff0c;并将该字符串中的大写字母转换成小写字母&#xff0c;之后返回新的字符串。 2. 解题 char tolower(char)小写比大写对应字符大32 class Solution { public:string toLowerCase(strin…

Logan:美团点评的开源移动端基础日志库

前言 Logan是美团点评集团移动端基础日志组件&#xff0c;这个名称是Log和An的组合&#xff0c;代表个体日志服务。同时Logan也是“金刚狼”大叔的名号&#xff0c;当然我们更希望这个产品能像金刚狼大叔一样犀利。 Logan已经稳定迭代了一年多的时间。目前美团点评绝大多数App已…