Semantic Parsing via Staged Query Graph Generation: Question Answering with Knowledge Base(笔记)

  1. introduction

组织世界上的事实并且把它们存储成结构化的数据逐渐变成开源域问答的重要资源,例如:DBPedia (Auer et al., 2007) and Freebase (Bollacker et al., 2008),大部分的KBQA都是基于语义解析。把问题转化为语义表示,然后转化为KB查询。答案能够简单地通过查询得到,同时,语义解析能够提供一个深度理解问题的方法,不仅能够提供一个比较好的答案给用户,还能提供给可解释信息给开发者,针对于错误信息。

大部分传统的语义解析方法与知识库脱钩,所以在应用qa还有几个挑战。a generic meaning representation may have the ontology matching problem when the logical form uses predicates that differ from those defined in the KB,,当逻辑表达式使用了不同的predicates,通用的语义表示可能导致本体匹配错误。即使表示的语言与知识库的模式十分接近,从KB中找到合适的predicates仍然是一个难题。

Inspired by (Yao and Van Durme, 2014; Bao etal., 2014),我们提出了一个与知识库更加紧密的语义解析框架,我们定义 了一个查询图可以直接映射一个逻辑表达形式y-calculus,并且语义上非常接近DCS (Liang, 2013),在语义上减少图的生成,公式化为一个有阶段有状态的搜索问题。在查询图表示中每一个状态是候选解析,每一个action定义了增长图的路径。因此语义解析的强有力地表示由一系列actions应用到每一个state状态上去。我们吧actions分成三个主要步骤:1、定位问题中的主实体。2、找到主实体与答案之间的relationship关系,3、用额外的约束实体扩充查询图,这些约束实体答案需要的属性,或者答案和问题其他实体的关系约束。

        这种设计的主要优势通过部分的与KB中的实体和谓语进行连接,使我们的搜索更加有效,通过集中到可能正确答案的搜索区域。例如在问题中Who first voiced Meg on Family Guy链接linking了Family Guy 到知识库KB中的FamilyGuy(the TV show),那么我们就会关注的FamilyGuy的predicates候选集中选择一个,而不是KB中所有的predicates,在给定这个上下文,其他实体也变得比较容易,很清楚Meg代表的是MegGriffin(在Family Guy中的角色),我们把这个特殊的语义解析问题分解成了几个子问题,例如实体链接和关系匹配。    有了这个整个框架,能够能好结合子问题并且得到正确的语义解析答案。例如,一个比较好的实体链接对于每一个问题的输出的候选实体都有比较好的准确率和召回率。另外利用最新的语义匹配框架,它是基于卷积神经网络。针对关系匹配我们利用了连续空间表示而不是单纯词汇匹配。

 

2背景

  这个工作,我们旨在学习把一个问题映射到一个逻辑查询q中,然后可以利用一个结构化查询得到答案的。我们的方法采用了在K和q中可视化的操作,具体操作如下:

2.1 Knowledge base

知识库K主要是一个三元组集合(e1,p,e2),其中是实体,(例如:FamilyGuy or MegGriffin),代表两个实体之间的关系,例如character。这严格的知识库称之为知识图谱,由于他是直观的图形表示。每一个实体由一条边连接,从subject到object。

为了比较与现存的方法,我们使用了freebase,包含了超过46million个主题,2.6billion事实。在freebase的设计中,有一个特殊的实体类型称为compound value type (CVT),它不仅仅是一个实际实体,它收集了一个事件的多个fields或者一个特殊的关系。

Fig1展示了 freebase的TV show Family Guy的一个子图。Nodes(节点)是实体,包含了一些日期和特殊的CVT实体,边描述了两个实体的关系。

2.2 Query graph

给定一个KB,运行一个逻辑查询等价找到一个子图,映射查询并且resolving the binding of the variables(解决变量的绑定,暂且这样理解)。为了获得这样的直觉,我们描述了一个受限子集,在图谱中,作为我们的查询graph。

         我们的查询图包含四种类型节点:grounded entity(基础实体,rounded rectangle圆角矩形),existential variable(现实变量(圆)),lambda variable (shaded circle

阴影圈), aggregation function (聚合函数diamond钻石). grounded entity是实际的实体,在KB中存在。Existential variables and lambda variables都不是实际的实体,特别的,我们希望所有的实体都可以映射一个the lambda variables 作为答案,(与本设计本质区别,我们只是对问题做了图谱构建)。聚合函数用来操作一些数值属性的操作。

         图2展示了有关问题“Who first voiced Meg on Family Guy?”,可能的答案查询图,其中两个实体MegGriffin and FamilyGuy被两个圆角矩形表示,圆形节点y意味着这应该是存在一个实体描述了一些转换关系,例如:角色、演员、开始这个角色的时间,阴影圆形节点x被称为answer答案节点,通过查询被检索到的实体。钻石节点argmin约束表示演这个角色的最早时间的演员。等价的逻辑查询没有聚合函数的情况下,,如下:,运行这个查询图图Fig.·1就会得到,LaceyChabert and MilaKunis两个演员,这个结果是在有聚合函数之前。但是只有LaceyChabert是正确答案,由于她是最早的演这个角色的人(通过检查from这个属性可以得到这个结果)。

         我们的查询图类似于(Reddy et al., 2014),但是有许多关键性不同,在我们的查询图中节点和边类似从KB中提取的实体和关系。所以graph可以直接的转换为逻辑查询。

语义上我们的查询图更与简单地

相关,是语法简单化的格式。当应用单图数据库中。一个查询图更像一个逻辑格式的的树形模式。例如从一个答案的节点到实体的节点路径可以用的一系列操作join联合。树graph的不同路径通过交的操作进行combinged。

 3 Staged Query Graph Generation

      我们主要集中在利用剩余的树形来生成查询图。首先,利用一个实体节点作为树图的根节点root,引用 为topic entity。第二。存在一个lambda变量x作为答案节点,从根节点root到答案节点存在一个定向路径。他们之间存在一个或者多个变量。我们称为核心推断链,这个推断链描述了主实体与答案之间的主要关系。这些变量仅仅发生在这个chain,看这个chain除了root仅仅有variable。最后多个实体或者聚合实体能够附加到这些变量节点上,包括答案节点,这些分支额外的约束答案需要满足,例如:Fig. 2, FamilyGuy is the root,FamilyGuy ->y -> x是核心推断链,分支指定了角色,约束了答案需要的是这个扮演角色最早的演员。

         给定一个问题,我们作为一个搜索问题格式化查询图生成,利用状态和action。作为状态state的集合,其中每一个state可以是一个空图,或者一个单节点主实体,一个核心推断链,或者一个更加复杂的查询图附带额外的约束作为action的集合。一个action增加了一个给定的graph,通过增加一些边和一些实体。选择了一个实体node;决定了核心推断链。增加了约束和聚合节点。给定一个state,通过 如图Fig3有限状态图一些有效的action集合可以被定义。

注意actions的顺序选择是为了实现上方便。原则上,我们可以选择不同的顺序,例如首先匹配核心推断链,然后得到topic 实体链接。由于我们要考虑多重假设在搜索时,执行的action顺序可以被认为是修剪搜索空间的不同方式。

         我们用一个log-linear 模型定义一个奖励函数并且应用到状态空间上。奖励函数最大化评估了查询图与搜索问题的匹配度。用最优策略的最优队列在附录A定义的格式。接下来的我们利用“Who first voiced Meg of Family Guy?”这个问题来解析actions序列。

3.1 Linking Topic Entity

   开始于一个初始化状态,有效的action会产生一个对应的主实体的单节点graph,在给定问题的时候。例如在问题中可能的主实体可能是FamilyGuy o或者MegGriffin如图Fig4

         我们使用了一个实体链接系统,他专门为短文本和噪声文本设计的(Yang and Chang, 2015).对于每一个KB的实体e,系统首先准备了一个词汇,列举了所有在text中提到得实体。词汇的生成用多个数据资源,实体的别称和名称,网页的anchor文本和wikipedia的表格,他考虑了所有的单词序列发生在词汇表里的。匹配所有可能的实体,然后利用统计模型,并且这个模型基于在词频排序。在容忍错误的情况下,同时探究所有可能的查询图。获取top10的可能的主实体。链接分数作为一个特征在奖励函数中。

3.2 Identifying Core Inferential Chain

     给定一个单节点graph,topic主实体,有效的action扩展这个graph用来确定the core inferential chain;被称之为topic实体和answer之间的关系。例如Fig. 5表示了单电接点graph的三个可能的链接

由于已经给定topic实体,我们只需要探究合法的谓词,并且这个谓词是从e开始出发的

具体来说限制了搜索空间,我们探究了所有长度为2的路径,当中间扩展的变量基于CVT节点,如果不是CVT则路径为1的节点也进行探究。如果在训练数据(3)集中能够观测到这些组合,也会考虑更长的序列。

         类似于实体链接问题,目标找到一个实体映射到对应的KB知识库的实体。映射自然语言的核心链到正确的谓词。对于问题“Who first voiced Meg on [Family Guy]?”我们需要计算序列中在{cast-actor, writer-start, genre}正确的捕捉Family Guy and Who之间关系。我们把这个问题弱化为利用神经网络进行语义相似性.(3)

3.2.1 Deep Convolutional Neural Networks

        

         为了在处理语义上相同,但是表达方式各不相同的情况以及在知识库中的自然语言的不匹配和谓词,我们提出用语义网络推断核心链。其中之一就是映射问题为pattern模板,通过用一个<e>符号替代实体形成,然后与一个chain进行比较,例如:“who first voiced meg on <e>” vs. cast-actor.模型由两个网络构成,一个针对模板问题,一个针对核心链。所以的都输出一个k-维的向量。然后利用cos进行计算相似度。如图6.

         训练这个模型需要positive对,例如:“who first voiced meg on <e>” and an inferential chain like cast-actor.当提供训练数据时可以从语义解析中提取。当只有问题和答案时候,我们仍然能够假设在KB中可能的推断链,基于topic实体和answer。4.1章将会详细讲解。

3.3 Augmenting Constraints & Aggregations

         为了进一步限制答案实体,核心链的扩展可以有两种action是是增加一个实体的可能路径ways,其中边是一个谓词能够链接实体的。例如Fig7,

利用谓词character附加MegGriffin到y上被创建。这就相当最后一个连词tern项,对应了_-expression表达式有时候通过聚合函数来约束整个答案集合,例如在q中的first。这个通过action处理,通过附加一个聚合节点例如Fig7的argmin节点利用y的最小属性from。

         所有可能的约束集合可以通过第一个问题得到,the core inferential chain可以作为查询到KB找到约束绑定变量y’s and x,然后枚举这些尸体的所有邻近节点。但是这样会导致大量不必要的约束集合。这里我们利用一个简单规则保留可能的约束实体。例如:例如一个约束实体可能发生在问题中(通过实体链接系统),如果关键词例如first或者latest出现才有聚合函数。完整的集合规则在附录B. Appendix B.

3.4 Learning the reward function

         给定一个状态state,奖励函数,s对应的查询图graph是否正确解析了问题q。我们利用log-linear模型学习奖励函数。

3.4.1 Features

特征的设计本质上是graph的部分与问题的匹配,对应之前的描述

Topic Entity

实体链接系统提供的实体分数。

Core Inferential Chain

用cnn的核心链的语义匹配分数,1、PatChain compares the pattern (replacing

the topic entity with an entity symbol) and the predicate sequence。2、QuesEP连接topic主实体的规范名称和谓词predicate和问题的语义分数,这个特征尝试验证实体链接的有效性。这个cnn模型通过核心链与问题的语义匹配得到。

Constraints & Aggregations

当一个约束实体在图中显示出来,我们利用一些特征来检测问题中是否有一些与约束实体和属性有关系的词汇。例如是都有一个在问题中提及的mention能够链接一个实体,和约束实体在问题中出现的单词比例。同样的会检查是否有一些关键词,例如:such as “first”, “current” or “latest”作为聚合节点,在附录B提供了一些特征。

Overall

当向KB查询时,检索到答案的实体数量,和在查询图中的节点数量都可以作为特征。

激活查询图的过程如图8

3.4.2 Learning

         一般在特征提供后,模型就可以利用标准的方法去学习。我们并没有把它作为二分类问题去学习,而是当做排序问题。对于一个问题,假设有多个查询图,是同一个问题q的状态state 的查询图。是是执行得到的实体集合。假设A是q的标准答案。我们首先会计算的准确率召回率,和F1,与标准答案A进行比较。然后利用F1进行排序。we use a one-layer neural network model

based on lambda-rank (Burges, 2010) for training the ranker.

4.1 Data & evaluation metric

         我们利用WEBQUESTIONS数据集包含了5810个问答对。问题来源于Google api。答案来源于freebase。这个数据有几个独特的属性,这些问题非常接近世纪人类的问法。系统的评价,答案的正确率。Topic主实体有链接系统产生,在训练数据中。在freebaseKB 中,至少链接一个答案实体的路径作为核心推断链the core inferential chains。如果一个核心链返回的十多个实体而不是正确答案,我们研究增加一些约束和聚合节点。直到由查询图检索的实体对应到答案中或者F1分数不再增长。负样本在上搜索过程中产生的不正确结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值