[NLP]实体消歧论⽂阅读—EntityDisambiguationbyKnowledge 。。。实体消歧论⽂阅读—Entity Disambiguation by Knowledge and Text Jointly Embedding
原⽂link:
前⾔
本篇论⽂是知识图谱任务中的实体消歧,花了⼏天时间阅读⼀遍,在这⾥将我对原⽂的理解阐述出来,⼤部分是根据原⽂翻译,直译⽐较难以理解的部分就⽤我⾃⼰的想法打出来。
⼤多消歧系统都是mention和实体的基于词袋的特征表⽰,但是BoW有⼀些缺点:
1. 忽略单词/实体的内部含义
2. ⾼维度向量空间以及昂贵计算
3. 对不同应⽤,需要⼿⼯设计不同表⽰,缺少了泛化的指导
先利⽤联合同个向量空间中的embedding knowledge ba and text,学习单词和实体的低维连续向量表⽰,再利⽤这些embedding去设计简单但有效的特征,构建⼀个2-layer的消歧模型。
1 Introduction
given 在⽂档d中的mention 集合 ,特定的或⾃动检测的都可,每个mention ,⽬标是找到知识库KB 中对应的正确实体
⼀般的实体链接步骤:
1) 从raw data中为mention/entity构建表⽰,通常是稀疏向量形式
2) 从基于mention和实体的消歧模型中抽取出特征
3) 在抽取出的特征上设置参数、学习权重来优化消歧模型,例如:训练⼀个分类器或排序器。
本⽂强调第⼀步骤,⼀般实体链接强调第⼆、三步骤
有少数特征是由启发式规则直接定义的,跳过了第⼀个步骤(从raw data中构建向量表⽰)。可以是
1) 利⽤mention表⾯形式和实体标准形式的字串相似度/编辑距离
2) 指向实体的mention表⾯形式的先验概率
但是这些⾮常少数,⽽且对⼈类来说要设计这种特征是很困难的。
实体链接的第⼀步骤常见的作法就是定义⼿⼯的BoW表⽰。
实体常以 “包含实体的n-grams⽂本”上权重的稀疏向量来表⽰,例如Bag-of-Words表⽰,TF-IDF也常⽤于设置权重。此类⽅式有⼀些变体,例如使⽤选定的key phras(关键短语)或Wikipedia in-links/out-links(⼊/出的连结)⽽不是直接把所有n-gram当作向量维度来使⽤。
更具挑战性的问题:mention若⽤n-gram表⽰,但是window_size有限,对于mention的表⽰来e说也会受到局限,在实际使⽤中,也有另外的限制:实体和mention地表⽰应该要在同个空间,例如要共享向量维度。这种限制让设计表⽰更加困难,这就是消歧系统的商业机密所在。例如Cucerzan(2007)⽤维基百科的anchor surfaces和⽬录的值当作维度,设计了复杂机制,⽤这个维度上的稀疏向量来表⽰单词、mention和实体。
BoW也存在⼀些隐含的缺点。例如:
1) 单⼀维度上的语义会严重的被忽视
2) BoW常常会引⼊⾼维向量空间,导致计算上的成本过⼤
3) 对于不同应⽤,设计⼈⼯表⽰也会不同,缺乏⼀个general指引
⼀些直观的问题像是“为何要使⽤n-grams、维基百科链接或⽬录值当作维度”或是“为什么要把TF-IDF当作权重”可以看出来,⼿⼯表⽰并不是最好的,应该还存在⼀些更好的表⽰法。
本⽂着重在实体链接的第⼀步骤:向量表⽰步骤
M ={m 1,m 2,…,mk }m ∈i M
(因)启发:
1. word embedding⽅法(Bengio et al., 2003; Collobert et al., 2011; Mikolov et al., 2013a; - Mikolov et al.,
2013b)
2. knowledge embedding的⽅法(Bordes et al., 2011; Bordes et al., 2013; Socher et al., 2013; Wang et al., 2014b)
3. 联合嵌⼊知识库和⽂本joint embedding KBs and texts的⽅法(Wang et al., 2014a; Zhong and Zhang, 2015 )
(果)本⽂⽅法:
本⽂提出了对实体消歧的表⽰学习,特别是来⾃知识库及⽂本的实体和单词,联合将实体和单词嵌⼊到同样的低维连续向量空间。
优点:
借由考虑知识库及⽂本中所有信息进⾏全局⽬标优化得到embedding,可以保留单词和实体的内涵语义(intrinsic matics)。
下⼀步:
设计了基于embedding的简单有效特征和2层消歧模型,对真实数据集进⾏了延伸的实验,展现了我们对于单词及实体表⽰的效率2. Related work
Entity Disambiguation 实体消歧
local⽅法 本地⽅法
在⽂档中独⽴对每⼀个mention进⾏消歧
Bunescu and Pasca(2006)⽐较了同⼀候选实体的维基百科⽬录中的每个mention的上下⽂
Miline and Witten(2008)提出了消歧链接的概念,以便于计算实体相关性
collective⽅法 集体⽅法 关键字:coherence
与本地⽅法不同,需要⽂档中所有语义上⼀致(coherent)的所有实体,⽤⼀些⽬标函数去measure。
Cucerzan(2007)提出了主题表⽰(topic reprentation),聚集⽂档中所有候选实体的主题向量
Kulkarnu(2009)对于每对实体(2个不同mention)pair-wi(逐对)找⼀致的候选实体,使⽤hill-climbing算法得到近似解
Hoffart(2011)把实体消歧视为找到在⼤型图中,含有所有mention节点、每个mention恰有⼀个mention-实体的边的稠密⼦图的任务
以上⼤部分⽅法都需要为mention和实体设计不同的表⽰。
例如Cucerzan(2007)使⽤锚⽂本表⾯来表⽰在上下⽂空间的实体,使⽤⽬录相来表⽰在主题空间的实体,使⽤固定⼤⼩的
window找mention的上下⽂作为上下⽂向量。
Kulkarni et al. (2009)利⽤单词集合、单词计数集合和TF-IDF集合来表⽰实体。
Retinov et al. (2011)⽤延伸的in-links和out-links表⽰实体。
近年的⼯作则着重于将如何从上下⽂中应⽤NN于消歧系统。
例如 He et al. (2013)使⽤前向⽹络去表⽰基于BoW输⼊的上下⽂,此时Sun et al. (2015)在word2vec(Mikolov et al.,
2013a)的基础上直接使⽤卷积⽹络。然⽽这些⼯作都较不注重于设计有效的单词和实体表⽰。
本⽂将专注于针对消歧学习表⽰单词和实体向量。
Embedding
这边只做简略的介绍:
word embedding⽬的是在于学习单词的连续向量表⽰,有Skip-Gram⽅法和Bag-of-Word⽅法,通过预测当前词的上下⽂单词或是预测当前词来⽆监督的学习word embedding(Bengio et al., 2003; Collobert et al., 2011; Mikolov et al., 2013a; Mikolov et al.,2013b)
近年还有knowledge embedding,⽬的是将知识图谱的实体和关系嵌⼊到低维的连续向量空间中,同时也保留图的某些特性(Bordes et al., 2011; Bordes et al., 2013; Socher et al., 2013; Wang et al., 2014a; Wang et al., 2014b)。
为了连接word embedding和knowledge embedding,(Wang et al., 2014a)提出通过维基百科的锚点和实体名称来对齐这两个嵌⼊空间。(Zhong and Zhang, 2015)根据实体的描述进⾏调整。
3 Disambiguation by Embedding ⽤嵌⼊做消歧
这⾥要先完善当前的联合嵌⼊技术来训练Freeba和维基百科的⽂本中的单词和实体embedding以便于后续的消歧任务。然后基于embedding设计简单特征,最后再提出⼀个两层的消歧模型,以平衡mention-实体先验和其他特征。
3.1 Embeddings Jointly Learning 嵌⼊联合学习
主要基于 Wang et al. (2014a)的联合模型框架,再利⽤Zhong and Zhang(2015)的对齐技术,将单词和实体embedding在同个空间中对齐。针对消歧,从两个⽅⾯优化了embedding:增加了从维基百科中共现的url-anchor(entity-entity)
改善了传统的负采样部分,让候选实体清单更有可能被采样,⽬标是能从别的候选实体中对候选实体
做消歧。
Knowledge Model 知识模型
知识库K常由三元组组成,属于实体集合,属于关系集合。这⾥跟随(Wang e al. 2014a)使⽤表⽰的embedding 三元组分数计算:, (1)b:近似优化阶段中数值稳定性的常数对z做归⼀化:, (2)和也是同样⽅式定义似然函数:, (3)⽬标函数:最⼤化所有知识图谱内三元组的似然函数
, (4)
Text Model
(h ,r ,t )h ,t r h ,r ,t h ,r ,t z (h ,r ,t )=b −∥h +21
r −t ∥2Pr (h ∣r ,t )=exp{z (,r ,t )}∑∈εh ~h ~exp{z (h ,r ,t )}
Pr (r ∣h ,t )Pr (t ∣h ,r )L (h ∣r ,t )=triplet log Pr (h ∣r ,t )+log Pr (r ∣h ,t )+log Pr (t ∣h ,r )L =K L (h ,r ,t )∑(h ,r ,t )∈K triplet
为了跟knowledge model兼容,⽤下⾯的⽅式对共现词对评分:, (5)w, v代表在上下⽂window内出现的共现词,粗体w,v代表相应的embedding 归⼀化:, (6)V: vocabulary ⽬标函数 最⼤化似然函数:
, (7)Alignment Model
保证了单词和实体的embedding在同个空间⾥,例如:相似度/距离值是有意义的。本⽂结合了下列三个对齐模型(Wang et al.,2014a; Zhong and Zhang, 2015):
1. Alignment by Wikipedia Anchors(ction links)(Wang et al., 2014a)
把mention替换成连结到的实体,共现的单词-单词变成共现的单词-实体
, (8)
A: anchors集合
: anchor a代表的实体
2. Alignment by Names of Entities(Wang et al., 2014a)
对于每个三元组(h,r,t),h或t⽤他们相应的名称取代,得到了、和,w_h表⽰h的名称,w_t表⽰t的名称。
3. Alignment by Entities’ Description(Zhong and Zhang, 2015)
利⽤維基百科url⾴⾯描述的url和單詞的共現,這跟Le and Mikolov, 2014的PV-DBOW model很相似。
E:候選實體集合;De:實體e的描述。
澄清:”url”在這裏跟”實體”是指同個東西。
結合這些對⿑技術,得到整個對⿑模型:
Url-Anchor Co-occurrence 超链接-锚共现
对实体消歧系统来说,实体关联图对于捕捉维基百科实体的“主题”是很有⽤的,因此我们也希望能将这种信息编码进我们的embedding中。特别是我们会进⼀步的结合“url-anchor”的共现⾄训练⽬标。“url”代表维基百科页⾯“anchor”代表页⾯中锚的超链接
代表维基百科页⾯中的所有anchors
和代表eq.(6)中定义的相似度考虑知识模型、⽂本模型、对齐模型和url-anchor共现,我们最⼤化这些
模型的似然函数:
Negative Sampling Refinement 负采样改善
z (w ,v )=b −∥w −21
v ∥2Pr (w ∣v )=
exp{z (,v )}∑∈V w ~w ~exp{z (wmv )}L (w ,v )=T log Pr (w ∣v )+log Pr (v ∣w )L =AA []log Pr (w ∣e )+∑(w ,a ),a ∈A a log Pr (e ∣w )]a e a L =A L +AA L +AN L ,(11)
AD L =U [Pr (e ∣e )+∑e ∈E ∑a ∈A D e a Pr (e ∣e )],(12)
a A D e D e Pr (e ∣e )a Pr (e ∣e )a L =L +K L +T L +A L ,(13)
U
*负采样:
构造⼀个新的监督学习问题:give a pair of words,例如(orange, juice)来预测是否是⼀对context-target
(orange, juice)是正样本,标为1,负样本就是标为0的其他juice以外的单词,例如(orange, king)
⽣成⼀个正样本,抽取⼀个context,在⼀定window_size内选⼀个target,⽣成表的第⼀row,即:orange-juice-1的过程
⽣成⼀个负样本,⽤相同context,再次再字典中随机选取⼀个词标为0(因为随机选很⼤可能跟中⼼词orange没有关联)
构造监督学习问题,学习输⼊x(a pair of words),预测⽬标的标签输出y
负采样中某个固定的正样本对应k个负样本,即模型总共包含k+1个⼆分类,⽐之前有vocabulary_size个输出单元的softmax分类,负采样转化为k+1个⼆分类问题。
在训练阶段,为了避免(2)和(6)的归⼀化计算,跟从(Mikolov et al., 2013b)的⽅法,将原本softmax形式的⽬标函数转换⾄简单的⼆分类⽬标函数,为的是可以从噪声中辨别出观察数据。
为了优化实体消歧,使⽤上下⽂单词来预测⼀个anchor(实体),例如:优化Pr(e_a|w)⽽不是制式从单词库⾥进⾏(Mikolov et al., 2013b)的负采样,我们根据候选实体的先验分布来总结我们的采样⽅法。
3.2 Disambiguation Features Design 消歧特征设计