KBQA: Learning Question Answering over QA Corpora and Knowledge Bases笔记

KBQA: Learning Question Answering over QA Corpora and Knowledge Bases笔记

本文想解决什么问题?

  • KBQA前提是可以自然语言问题并将映射到知识库中进行结构化查询。

该问题为什么重要?

该问题为什么困难?

  • 人类可以以许多不同的方式提出一个问题

  • 在哪个表示中我们理解问题(表示设计)

  • 如何将表示映射到针对知识库的结构化查询(语义匹配)

前人的研究成果如何?

  • 基于规则的方法仅能理解一小部分问题,而基于关键字或基于同义词的方法不能完全理解这些问题(自然语言提出的问题)
  • 基于规则表示问题的方法准确率高召回率低,且手动构造麻烦
  • 基于关键词的方法只适用于简单问题(上周看的那篇就是简单问题)

本文的新贡献何在?

  • 本文提出以模板的形式归纳这些自然语言提出的问题

  • 扩展了RDF知识库中的谓词,将知识库的覆盖率提高了57倍

个人猜测是不同的意图对应一些问题

基本结论?

本文方法有何假设或者不足?

论文主要思想

通过将自然语言的问题抽取为模板表示,映射到RDF查询

模板生成方法

找到问题中的topic entity,替换为其概念形式得到模板,这里用了同义词的对应方法。对于复杂问题,拆解为简单问题。

模板映射到谓词

和语义解析类似。

First, for each QA pair in Yahoo! Answer, we extract the
entity in question and the corresponding value. Then, we find the
predicate from the knowledge base by looking up the direct predi-
cate connecting the entity and the value

如果一个模板的大多数实例结果是同个谓词,则将模板映射到该谓词。

模型介绍

为了解决一些回答的问题,比如回答不全,回答错误等,论文提出了概率模型

Eq1

为了阐述给定一个问题,怎么能够占到答案,我们提出了一个生成模型,开始与给定一个问题q,首先通过P(e|q)概率分布鉴别出实体,然后根据问题和实体我们产生的template分布概率P(t|q,e),谓语p仅仅依赖与t,所以我们可以根据P(p|t) 来推断p,最后根据实体e和p产生答案v根据P(v|e,p),v可以直接返回也可以 ,展示这些变量之间的依赖在图4,基于生成模型我们计算P(q,e,t,p,v)基于公式2,那么公式1就减少为公式3

Eq3

参考了[该博客][https://blog.csdn.net/chenmingwei000/article/details/88360105]

F4

则问题被转换为了

Eq7

下面介绍各项

Entity distribution P(e|t)

P(e|q)是从问题中识别实体,采用的斯坦福NER,然后检测KG中是否存在,若存在多个,则给予同样的概率。

Template distribution P(t|q, e)

用实体的类型c来代替template,即求P(c|q, e),论文采用的是概念化方法[25]求得,根据参考博主得知,作者其实是直接调用的微软利用大量数据获得概念化概率的api接口。

[25] Y. Song, H. Wang, Z. Wang, H. Li, and W. Chen. Short text
conceptualization using a probabilistic knowledgebase. InIJCAI,
pages 2330–2336, 2011.

Value (answer) distribution P(v|e, p)

对于实体和单个谓语的情况,直接在KG中查询即可。

PREDICATE INFERENCE

上述公式的关键在于P(p|t),作者认为谓词仅取决于模板template

这一节主要介绍如何利用template推断出谓语,作者将P(p|t)视为参数,用最大似然估计ML来估计P(p|t)

Likelihood Formulation

作者并非直接构造观察数据(P(p|t))的最大似然估计,而是先构造一个简单的案例,question-entity-value的三元组的似然是从QA对中提取而来,然后构建两个似然之间关系,间接求得。

Entity-Value Extraction

从QA中抽取实体和值存在噪声问题。作者认为,一个有效的“实体-值”对在知识库中通常有一些对应的关系。基于此,采用如下公式识别

Eq8

对于噪声对EV_i,作者认为e和v应该是相同的类型,将其视之为分类问题,采用UIUC taxonomy,问题用的是[22],值引用的是手动标注的谓词类别。

[22] D. Metzler and W. B. Croft. Analysis of statistical question classification for fact-based questions.IR, pages 481–504, 2005.

将QA对(q_i,a_i)转换为一个问题和一个entity-value集合,假设这些实体-值对独立,则QA对的观测概率如Eq9所示,因此计算语料QA对的似然函数如Eq10

Eq10

假设每个问题有着相等的概率生成,如P(q_I)=α,有

Eq11

其中Eq11_可以被视为常数(由于训练数据集是一定的)。Eq11暗示L_QA与这些“问题-实体-值三元组”的可能性成正比。X表示从QA预料中提取的三元组(q_i, e, v),x_i = (q_i, e_i, v_i),从而建立QA斯然和X似然之间的线性关系

Eq13

现在,最大化QA的似然,等价于最大化X的似然。根据Eq2的生成模型,计算P(q_i, e_i, v_i)可通过所有模板t和谓语p的边缘联合概率P(q, e, t, p, v),得到公式Eq14,整个过程在Figure4

Eq14

Parameter Estimation

这一节通过最大化Eq14来评估P(p|t)。将分布P(P|T)表示为参数θ,对应似然估计L(θ),P(p|t)作为θ_pt,故估计θ通过:

Eq16

Intuition of EM Estimation:我们注意到一些随机变量(如谓词和模板)隐藏在提出的概率模型中,可使用期望最大化(EM)算法来估计参数。EM算法可以在具有未观察到的变量的统计模型中找到参数的最大似然估计。 最终目标是使完整数据L(θ)的可能性最大化。然而,EM算法有很多对数,计算复杂,故转而求解它其中一个下界[7]。例如,为了定义Q函数 *Q(θ; θ^(s)),我们利用其完整数据的似然估计L_c(θ),EM算法通过迭代最大化L_c(θ)的下界Q(θ; θ^(s))来最大化L_c(θ)。在第s次迭代,E-step通过给定的参数θ^(s)计算Q(θ; θ^(s))*,M-step估计参数θ^(s+1)来最大化下界。

[7] Q. Cai and A. Yates. Semantic parsing freebase: Towards open-domain semantic parsing.Atlanta, Georgia, USA, page 328, \2013.

Likelihood of Complete Data:直接计算L(θ)会很困难,因为函数中包含对数和。如果我们知道每一个可观测的数据的完整数据,例如知道template和predicate,则估计可以变得容易。因此我们给每个三元组x_i引入一个隐变量z_iz_i的值是一对template和predicate,例如z_i = (p, t),表示x_i生成一对谓语p和模板t。注意我们考虑谓语和模板在一起,因为它们并非孤立的。因此P(z_i = (p, t))x_i生成p和t的概率。

定义Z = {z_1,…,z_m}。Z和X共同形成完整数据。则观测到的完整数据的似然函数的对数为

Eq19

在前文已提到*f()*可以在评估P(p|t)之前单独计算,故可以将之视为已知的因子。

Q-function:并非直接计算L(θ),我们在Eq20中定义“Q-funcation”,表示完整观测的似然的期望。其中θ^(s)是θ在第s轮的估计。根据理论 1将h(θ^(s))视为常数,Q(θ; θ^(s))L(θ)提供了一个下界。因此我们尝试提高Q(θ; θ^(s))而非直接提高L(θ).

Eq20

这部分在https://blog.csdn.net/chenmingwei000/article/details/89388410#commentBox做了理解

E-step,我们计算*Q(θ; θ^(s)),对于Eq20的每个P(z_i | X, θ^s)*,有

Eq21

M-step,我们最大化Q函数。利用拉格朗日乘子来获取(θ_pt)^(s+1)

Eq22

根据博主所言,这个概率有点像softmax,其实就是对于当前实际pt这样的概率进行归一化更新。具体的细节是在实现过程中的一些考虑。

Implementation

本小节为EM算法的实现,包含三个步骤:初始化、E-step和M-step

详细的介绍在参考中

algorithm1

复杂问题

这里作者关注的是两个简单问题组成的复杂问题,即第一个问题的答案是第二个问题的问题。采用的是分治的方法,对复杂问题进行分解。

作者关注的复杂问题仅是复杂问题的其中一种,具体算法和过程在这里不展示。感觉KBQA还是存在不少的限制。作者采用偏向规则和传统算法的方式,若结合深度学习可能会有更多的限制,需要找到一个合适的切入点。

谓词扩展

第六章作者定义了一个扩展谓词的概念,作者认为一些事实并不直接对应谓词,而是一个谓词路径构成。比如”spouse of”可由marriage -> person -> name表示。扩展谓词有助于提高KBQA的覆盖率。

同样略,感觉这里也是处理复杂问题的一种手段,论文采用的主要是一种有针对性的BFS算法。

后面的章节是对实验的结果和有效性进行说明,这里不作展示。


参考:

[论文链接][https://arxiv.org/abs/1903.02419?context=cs.CL]

chenmingwei000的论文解读

[chenmingwei000博主的复现][https://download.csdn.net/download/chenmingwei000/10280245]