前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【读书笔记】基于知识库的问答:生成查询图进行语义分析

【读书笔记】基于知识库的问答:生成查询图进行语义分析

作者头像
WZEARW
发布2018-04-08 15:29:24
2K0
发布2018-04-08 15:29:24
举报
文章被收录于专栏:专知专知专知

【导读】将DBPedia和Freebase这样的大规模知识库组织并存储在一个结构化的数据库,这已成为支持开放领域问题问答的重要资源。 KB-QA的大多数方法基于语义解析,其中问题被映射到其形式表示(例如,逻辑形式),然后被翻译成KB查询。 问题的答案可以很容易地通过查询语句得到。语义解析还提供了对问题的更深入的理解,不仅可以得到答案,而且可以为开发人员提供易于解释的信息以进行错误分析。本文通过应用实体链接系统和匹配问题和谓词序列的深度卷积神经网络模型,大大优于以前的方法,并在WEBQUESTIONS数据集上实现了52.5%的F1度量值。

【ACL2015 论文】

Semantic Parsing via Staged Query Graph Generation: Question Answering with Knowledge Base

▌模型简介


大多数传统的语义分析方法在很大程度上与知识库分离,因此在适应像问答系统这样的应用程序时面临着一些挑战。例如,当逻辑形式使用与KB中定义的谓词不同的谓词时,通用含义表示可能具有本体匹配问题。即使代表性语言与知识基础模式密切相关,从KB中的大词汇量到发音中描述的关系中找到正确的谓词仍然是一个难题。

本文提出了一个语义分析框架,在形成输入问题的解析时,更加紧密地利用知识库。本文首先定义一个查询图,它可以直接映射到λ演算(一种函数式编程语言)中的逻辑形式,并且在语义上与λ-DCS(Lambda Dependency-Based Compositional Semantics)紧密相关。然后将语义分析缩减为查询图形生成,制定为具有分阶段状态和动作的搜索问题。每个状态都是查询图形表示中的候选解析,每个动作定义一种增长查询图的方式。语义解析的表现力因此由适用于每个状态的一组合法行为来控制。具体来说,我们将这些行为分为三个主要步骤:在问题中查找根实体,找到答案和根实体之间的主要关系,以及用描述答案所需属性的附加约束扩展查询图,或者答案与问题中其他实体之间的关系。

这种阶段性设计的一个关键优势是,将KB中的实体和谓词部分联系起来,并在整个解析过程完成之前,专注于最可能找到正确的查询图的方向,来提高搜索效率。

▌知识库


知识库是由主-谓-宾组成的三元组

的集合,其中

是实体,p是二元谓词。这种形式的知识图经常被称为是知识图谱,下图显示了在FreeBase数据库中关于FamilyGuy(一部喜剧动画)的知识图,椭圆形的是实体,实体之间的线即为谓词。

▌查询图


给定知识图,执行逻辑形式查询就相当于找到可映射到查询的子图,然后解析变量的绑定。为了捕捉这种直觉,我们在图表表示中将λ-演算的一个受限子集描述为我们的查询图

查询图由四种节点构成:

• 确定的实体(gounded entity):知识库中实际存在的实体

• 存在变量 (existential variable):知识库中未指定是哪个的一个或一组实体,可以看成是中间变量

• 变量:知识库中未指定是哪个的一个或一组实体,即问题最终的答案

• 聚合函数:对实体的一些属性进行数值运算,以达到筛选答案的作用。

和知识图谱一样,查询图的节点也由知识库中的谓词相连接。

下面的查询图对应了一个查询,在“Family Guy”这部喜剧动画中,第一位为“Meg Griffin”这个角色配音的演员是谁?:

其中圆角矩形中的“Famil Guy”和“Meg Griffin”代表确定的实体,圆形中的y代表存在变量,灰色圆形中的x为变量,它是最终的答案,菱形中的argmin为聚合函数,它限制了答案的范围,很显然,为Meg Griffin配过音的角色并不止一个。与上述查询图等价的-演算为

▌查询图生成


查询图生成的过程大致可分为三步:

选择其中一个主题实体作为根节点

确定一条从根节点到唯一一个变量(答案节点)的有向路径,路径上可以由一个或者多个存在变量,这条路径被称为核心推理链。核心推理链上除了根节点为实体外其他的都只能是变量。

一个或多个实体或者聚合节点通过谓词和核心推理链上的变量连接起来,包括答案节点。

在上图的查询图中,"FamilyGuy"是根实体,FamilyGuy->y->x这条路径被称为核心推理链,y->MegGriffin 这条链确定了角色,y->argmin 这条链限制了需要是最早配音的角色。

给定一个问题,我们可以将查询图的生成过程看成是一个基于状态和动作的搜索问题。

给定状态集合

,集合中每个状态代表{: 空图,

:仅含有一个根实体的集合,

:加入核心推理链的状态,

:加入限制条件的状态和动作集合

,每个动作代表,加入根实体节点,加入核心推理链,加入限制条件和聚集节点。

状态变化的过程可以由下面的自动机表达:

接下来简要介绍建立查询图的过程:

  • 选择根实体

这一步的主要目的是从问题的描述中选择出合适的根实体,为了将知识库中的实体与问题中的描述对应起来,我们使用了一个链接系统评估相似的程度。对于知识库中的一个实体 ,系统首先确定该实体的名称和别名,创建词库。然后将特定的问题中所有连续的字序列,将它们作为词库中可能出现的名词,然后将它与词库中可能匹配的实体配对,根据相似度排名。前十的实体才会被考虑作为根实体。下图是“Family Guy”这部喜剧动画中,第一位为“Meg Griffin”这个角色配音的演员是谁?这个查询中可能作为根实体的两种方案。

  • 确定核心推理链

因为已经确定了根实体,我们只要构造预期的答案与根实体之间的关系就可以得到推理链。

下图显示三种针对上述问题的推理链:

确定核心推理链的过程和知识图谱中建立实体时间的关系是一样的,我们要评估{cast-actor,writer-start,genre}这三个序列哪个最接近问题中"FamilyGuy"和”Who“的关系。这个问题可以约减为求语义相似性的神经网络。

神经网络的结构如上图所示,首先使用词哈希将一个词变成以“#”字母三元组,作为分割的三元组,如“Who”可变成"#-w-h","w-h-o","h-o-#",然后使用卷积层将字母三元组投影成具有上下文信息的特征向量,然后使用池化将特征变为固定长度,最后通过一个卷积层输出非线性语义特征。

这相比于embedding方法有两个优势, 首先,词哈希控制了输入的长度,并且适用于较大的词汇量,其次,有卷积和最大池化的深度网络有更好的表达能力更好。

  • 加约束条件

有了核心推理链的查询图已经能够从知识库中检索出确定的实体作为问题的答案了,但是为了使答案更加准确,还需要在核心推理链的基础上加上一些限制。

如下图所示, 是在的基础上增加了charactor(y,MegGriffin)这个限制。而很多时候,限制是在所有满足条件的实体中进行进一步的筛选,如到,这种筛选不是实体的定性比较,而是通过计算或比较实体的某些数值属性得到的,如下图中比较开始为Meg Griffin配音的时间,来得出是谁最先为她配音这个结果。

▌学习奖励函数


奖励函数

是在给定状态和操作的集合s之后,评判这个查询与问题对应好坏的函数。我们使用log-linear模型学习这个函数。

  • 特征选择

在训练的过程中特征的选择至关重要,在学习的过程中,我们选择以下与状态相关的数作为特征:

根实体 : 问题中的描述与根实体的相似度分数。

核心推理链: 上述CNN模型中输出的语义特征。

限制和聚集:检查问题中的词是否与查询图中的实体或者性质相关,可以采用相关的比例作为一维特征。

整体:从数据库中检索得到的作为候选答案的实体的数量、查询图的节点数等。

▌总结


在本文中提出了一个使用知识库来回答问题的语义分析框架。我们将查询图定义为可以直接映射到逻辑的表示。语义解析被简化为查询图生成,这是一个分阶段的搜索问题。在实体连接系统和深度卷积神经网络模型的帮助下,我们的系统在WEBQUESTIONS数据集上的表现优于以前的方法。在未来,我们希望扩展我们的查询图来表示更复杂的问题,并探索更多的特性和模型来匹配约束和聚合函数。应用其他结构-输出预测方法对图形生成进行研究。

参考链接:

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/ACL15-STAGG.pdf

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 专知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查询图生成的过程大致可分为三步:
  • 奖励函数
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档