【论文笔记】Information Extraction over Structured Data: Question Answering with Freebase

一、概要
  该文章发于ACL 2014,作者提出了一个基于Freebase knowledge base,结合web-scale语料,通过信息抽取的方法进行KBQA,并在当时取得了比前人方法都要好的效果。

二、模型方法

2.1 任务简介
  假设给一个问题中含有一个或几个主题(topics),那么我们就会基于这些主题在知识库中寻找答案,主题在知识库中的主题节点(topic node),以及与其相连或者间隔不远的节点构成的部分我们称之为主题图(topic graph),主题图中的节点含有我们想要的答案,我们的任务就是结合主题图对问题进行信息提取,在主题图中抽取出的答案;其中对于主题图中的每一个节点都是候选答案,那么问题就可以转化为一个对候选答案的二分类问题,即判断每个候选答案是不是正确的答案,本文的做法是根据后面的内容进行特征提取,然后对候选答案进行判别。

2.2 Graph Features
  直觉上,如果在日常生活中有人问我们:“what is the name of justin bieber brother?”,并且给知识库Freebase,我们的第一反应是确定Justin Bieber (或者是他的兄弟),然后我们就会进入Freebase包含Justin Bieber信息的那一块,最后寻找到他兄弟的明细,但是Freebase中没有brother这个关系,其表示为sibling,所以我们需要进行推理(inference)。本文的方法正是基于这种思想。

这里写图片描述

  首先我们把“what is the name of Justin Bieber brother?” 这个问句转为语法依存树(Dependency tree),如上图,在我们询问那个问题是我们主要是通过以下推理知道我们问的是一个人的名字(尽管我们可能是没有意识的):
  ①通过依存关系nsubj(what, name) 知道这是在寻问一个名字;
  ②通过依存关系prep_of(name, brother) 知道了这个名字和brother有关,此时我们并不知道这是否是一个人名;
  ③通过依存关系nn(brother, bieber)知道了Bieber是一个人,理所当然他的兄弟也是一个人。
  通过上述推理最终我们就可以锁定正确答案,这个过程就是信息抽取,下面再给出相关的linguistic information介绍:
  ①question word (qword),如:what/who/how many等词;
  ②question focus (qfocus),这是我们期待答案类型的线索,如:name/money/time等词,为了保持简单地分词,这里并没有问题分类器,而是简单地将qword的名词部分作为qfocus。
  ③question verb (qverb),如is/play/take等词,这个来自问题的主动词,其可以能够给我们提供很多跟答案相关的信息,如play我们可以指导可能与之相关的乐器、电影或者运动。
  ④question topic (qtopic),主题词可以帮助我们在知识库中找到相关的信息,可以通过命名实体识别(Named Entity Recognition,NER)来确定主题词,需要注意的是,一个问题中可能含有多个主题词。
  接着我们就可以把依存树转为问题特征图(question feature graph),具体过程如下:
  ①如果某个节点被标为以上四种问题特征之一,那么将该特征写入节点中,例如:what → qword=what;
  ②如果某个主题节点是命名实体,那么将该节点改为命名实体的形式,例如:bieber → qtopic=person;
  ③去掉介词、限定词和标点符号的节点。
  通过以上步骤我们即可以从上图的左图得到右图,即问题特征图(question feature graph),因为每个节点的信息都是与该问题的潜在特征。

2.3 特征提取
  我们接着可以从上面得到的问题特征图中进行特征提取。对于任意相连的两节点s,t,以及边e,表示为e(s,t),我们可以提取的特征包括:s,t,s|t,以及s|e|t这四种特征。例如对于边prep of(qfocus=name, brother),我们可以提取的特征为:qfocus=name, brother, qfocus=name|brother, 以及qfocus=name|prep of|brother。
  上面为在问题特征图中提取的问题特征,接下来进行在任务简介的提到的主题图中提取候选答案特征。如下为justin bieber的主题图,主题图中主要包含两种节点,一种是节点的属性(property),比如人的身高性别等,另外一种就是节点的关系(relation),下图中虚线框为属性,实线框为主题点,如果一个主题点含有多个关系,那么会使用一个dummy node来连接其他实体节点。

这里写图片描述

  所有的实体关系和属性都是识别出正确答案的重要信息,比如上图中Jaxon Bieber的属性信息type:person 和gender:male,我们从中就能知道他是一个性别为男的人。我们可以提取这些类似的主题图特征。
  最终使用的特征是基于上面提取的问题特征和主题图特征进行组合(combine)后的,例如我们期待来自问题特征:qfocus=money和主题图特征:node type=currency组合而成的最终特征:qfocus=money|node type=currency 拥有较高的权重,明显货币(currency)和金钱(money)拥有更高的相关性,而人(person)和金钱(money)相对于货币(currency)相关性可能稍微低一些,所以特征:qfocus=money|node type=person的权重小一些。
  通过以上分析可知,假设所有主题图特征集合的元素个数为k,问题答案集合的元素个数为h,因为使用两个类型的特征两两组合,那么最终使用的特征维度为k*h,本文实验最终的k*h=7 milion。那么这7百万个特征是怎么表示的呢?再假设某一个问题我们抽出的问题特征有x个,在主题图中某一个候选答案我们抽出的特征有y个,因为这两类型的特征两两互相组合,所以我们的输入向量为x*y-hot的7百万维向量,即在7百万个维度上的有这个组合特征那么这个位置的值为1,否则为0。
  作者使用WebQuestion作为实验数据,使用Stanford CoreNLP对问题进行信息抽取。其中训练集中约有3000个问题,每个问题对应的主题图约含1000个节点,共计有3 百万个节点 ,针对于以上提取到的特征,作者用带L1正则化的逻辑回归(logistic regression)作为分类器,训练每种特征的权值,训练完毕后,得到了3万个非零的特征,注意L1正则化的逻辑回归的原理中舍弃的特征并不是代表其不重要,而是它的作用与留下来特征的作用是一样的,所以可以舍弃,下表列出了一些特征和它相应的权值:

这里写图片描述

  在上面提取的特征基础上,作者还提出了另外一种特征,即问题Q和关系R之间的关联程度,即给定一个问题Q和他的单词组成的向量W,我们想找到一个最大的概率P(R|Q),并且作者认为问题中的每一个词对于寻找正确的关系(relations)都非常的重要,作者假设每个词之间都是条件独立的,并且应用朴素贝叶斯(Naive Bayes)定理,那么可以得到:

P
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值