Neural Entity Linking 方法与进展

一、实体链接的定义、意义和基本任务

在命名实体识别(Named Entity Recognition)任务中,我们通常把一段token序列认定为一个实体,但严格来说这并不准确,这应该被称为一个提及(Mention),意思是这一段序列提及了某一个实体。所谓的**实体连接(Entity Linking)**就是在给定文本和其中提及了实体的序列后,明确这些序列提及的是图谱/知识库中的哪一个实体(或不存在这样的实体)。

实体链接是一个典型的上游任务,在很多任务中都非常重要:信息抽取、信息检索、内容分析、QA、知识库扩充等。这些任务都需要以文本中的Mention的确切的、唯一的语义为前置条件,而这就是实体链接的核心意义。

用形式化的语言对实体链接进行表述:对于一个上下文文段 C = { t 1 , t 2 , . . . , t n } C=\{t_1,t_2,...,t_n\} C={t1,t2,...,tn},已知其中包含有可能指向某些实体的提及 M = { m 1 , m 2 , . . . , m k } M=\{m_1,m_2,...,m_k\} M={m1,m2,...,mk},在给定一个图谱或知识库 G = ( V , E ) G=(V,E) G=(V,E)的情况下,求得每个提及在图谱或知识库中对应的实体,即得到 ( m 1 , e 1 ) , . . . , ( m k , e k ) (m_1,e_1),...,(m_k,e_k) (m1,e1),...,(mk,ek)结果,其中 e i ∈ ( V ⋃ { N I L } ) e_i∈(V\bigcup \{NIL\}) ei(V{NIL}) V V V表示图谱或知识库中的已有实体, N I L NIL NIL表示没有对应的实体。

实体链接的本质可以理解为Mention与已有实体之间的相似度判断问题,但是由于一般情况下已有实体的数量非常大,一个个去比较计算的效率非常低,因此实体链接划分成两阶段:

  1. 第一阶段是候选实体生成(Candidate Entities Generation),从海量的实体中得到潜在实体的子集,以降低第二阶段的计算量;
  2. 第二阶段是对候选实体进行相似性排序(Candidate Entities Ranking),由于某些Mention可能并没有相对应地实体,所以这个阶段也存在**不可链接提及预测(Unlinkable Mention Prediction,候选实体中没有与mention相似的实体)**的问题。

二、候选实体生成CEG

候选实体生成的任务是在给定上下文文段 C = { t 1 , t 2 , . . . , t n } C=\{t_1,t_2,...,t_n\} C={t1,t2,...,tn},,已知其中包含有可能指向某些实体的提及 M = { m 1 , m 2 , . . . , m k } M=\{m_1,m_2,...,m_k\} M={m1,m2,...,mk},以及一个图谱或知识库 G = ( V , E ) G=(V,E) G=(V,E)的情况下,求得每个提及在图谱或知识库中对应的实体列表 E m = { e 1 m , e 2 m , . . . e k m } E^m=\{e_1^m,e_2^m,...e_k^m\} Em={e1m,e2m,...ekm}

这部分与推荐系统的召回部分类似,追求尽量高的召回率并减小候选对象的数量级。一般而言候选实体生成有三类方法:

1. 基于词典的方法(Name Dictionary based methods)

大量实体链接任务使用wiki类的知识库,其天然拥有许多高质量的相关特征,如实体页面、wiki的重定向页面(表征了一个实体的不同别名)、消歧页面(一个名称指向不同实体)、实体描述中的加粗文字(可能是实体的一个别名)等,通过对海量wiki页面的处理,可以构造一个巨大的词典,词典<k, v>中的k表示一个名称,v表示名称可能指向的实体

在已有一个词典映射的情况下,对每一个mention进行查表时有两种匹配模式:

  • 精确匹配:即名称与mention完整匹配才生效,
  • 部分匹配:有多种定义方法,如词典名称是mention的子集、名称与mention的首字母全部相同、或基于词典名称和mention的相似度进行阈值过滤。

2. 基于先验概率的方法(Prior Probabilities based methods)

除了显式地以词典方式映射之外,也可以基于wiki的高质量特征计算得到实体与mention之间的先验概率 p ( e ∣ m ) p(e|m) p(em),该方法本质上也可以看做是基于词典方法的拓展。

3. 基于局部文档表层形式膨胀的方法(Surface Form Expansion from the local document)

这个方法专用于首字母缩略词的处理上,具有两个阶段:

  • 第一阶段是启发式方法:特定模板的匹配(如部分文章的缩略词会以括号的形式将其全称附加在后面),全文NGram匹配(去除停用词后对全文的NGram序列进行首字母匹配),全文中此mention是其他mention的substring时认为存在缩略关系,基于搜索引擎返回的web data;
  • 第二阶段是有监督学习方法,在启发式方法得到的候选词中判断其confidence score进行过滤。

4. 基于搜索引擎的方法

使用Google API或wikipedia search API对wikipedia站内的相关词进行检索,再对得到的结果进行一定程度的过滤。

三、候选实体排序CER

候选实体生成的任务是在给定上下文文段 C = { t 1 , t 2 , . . . , t n } C=\{t_1,t_2,...,t_n\} C={t1,t2,...,tn},,已知其中包含有可能指向某些实体的提及 M = { m 1 , m 2 , . . . , m k } M=\{m_1,m_2,...,m_k\} M={m1,m2,...,mk},一个图谱或知识库 G = ( V , E ) G=(V,E) G=(V,E),以及每个提及可能对应的实体列表 E m = { e 1 m , e 2 m , . . . e k m } E^m=\{e_1^m,e_2^m,...e_k^m\} Em={e1m,e2m,...ekm}的情况下,求得每个提及可能对应的实体 { e ^ 1 , e ^ 2 , . . . , e ^ k } \{\hat e_1,\hat e_2,...,\hat e_k\} {e^1,e^2,...,e^k},其中 e ^ i ∈ E i ⋃ { N I L } \hat e_i∈E_i \bigcup \{NIL\} e^iEi{NIL}

候选实体排序任务本质上就是对mention和候选实体进行相似度判定,这个任务可以拆分成三个部分:一是如何表征mention;二是如何表征实体;三是如何判定相似度并作出选择。

1. 如何表征mention

Mention的表征通常与上下文Context一同出现,例如“苹果”这一Mention单独出现时我们很难判定是表示食物还是科技公司,但如果以“他吃了一个苹果”作为补充信息,则可以比较容易判断这是一个食物。

对于Mention和Context的表征,早期采用一些简单的语言模型如词袋(Bag of Word, BoW)模型,例如使用上下文文档内高TF-IDF值的词作为Mention的补充语义等,通常使用one hot vector作为编码,其过于稀疏,且不具备直接语义计算的能力。

在Word2Vec时代,开始使用Bi-LSTM对Mention和Context的原始word embedding序列进行语义编码,同时使用mention内的semantic word embeddings求平均或attention加权求和的方式得到mention embedding。

当前处于后BERT时代,各种基于预训练语言模型的方法成为主流。各种得到Mention Embedding的方法区别主要在于使用哪些向量、使用什么加权方法,如使用special token embedding(在mention前后加上特殊标记,使用这两个位置的embedding加权平均)、mention token sequence pooling(直接使用mention内部各个token的embedding,采用max pooling或mean pooling)、使用attention对mention token sequence进行加权求和等。

2. 如何表征实体

对于实体的表征,我们首先需要考虑有哪些可以使用的信息源(特征),由于大部分任务都是在针对wiki类的知识库,可以大概将可用特征分为:实体-实体链接(即实体间关系,Ontological Relations),实体-Mention链接(wiki页面中常见的“别名”等实体与mention相对应的先验关系),实体描述、实体页面标题、实体类型等。

早期的实体表征主要使用实体描述、实体页面标题、类型等文本类数据,使用与mention表征相似的方法对实体进行表征。但这样的方法没有充分利用实体之间的关系,因此基于图的方法开始引入。基于图的方法利用实体-实体链接和实体-mention链接构造成图,使用word2vec/预训练语言模型将实体描述等文本信息处理成实体原始向量,使用DeepWalk或其他Graph Embedding的方法处理得到包含全局结构信息的实体表征。

3. 如何判定相似度并作出选择

如果我们认定mention和实体的表征都是有效的低维稠密表征向量,则我们可以简单地使用向量内积或cosine距离来作为相似度度量,即

s ( m , e i ) = y m → ⋅ y e i →      o r      c o s ( y m → ⋅ y e i → ) = y m → ⋅ y e i → ∣ ∣ y m → ∣ ∣ ⋅ ∣ ∣ y e i → ∣ ∣ s(m,e_i)=\overrightarrow{y_m}·\overrightarrow{y_{e_i}} \;\; or\; \; cos(\overrightarrow{y_m}·\overrightarrow{y_{e_i}})=\frac{\overrightarrow{y_m}·\overrightarrow{y_{e_i}}}{||\overrightarrow{y_m}||·||\overrightarrow{y_{e_i}}||} s(m,ei)=ym yei orcos(ym yei )=ym yei ym yei

在计算得到相似度后,可以简单地使用softmax函数得到条件概率分布

P ( e i ∣ m ) = exp ⁡ ( s ( m , e i ) ) ∑ j = 1 k exp ⁡ ( s ( m , e j ) ) P(e_i|m)=\frac{\exp(s(m,e_i))}{\sum_{j=1}^k\exp(s(m,e_j))} P(eim)=j=1kexp(s(m,ej))exp(s(m,ei))

而如果我们已知通过实体-mention或者主题一致性得到的先验概率 f ( e i , m ) f(e_i,m) f(ei,m),则最终输出可以表示为
Ψ ( e i , m ) = ϕ ( P ( e i ∣ m ) , f ( e i , m ) ) \Psi(e_i,m)=\phi(P(e_i|m),f(e_i,m)) Ψ(ei,m)=ϕ(P(eim),f(ei,m))
其中的概率融合函数可以使用简单的FFN,也可以使用attention加权的方式。

四、不可链接提及预测

一些提到的参考实体可能在KG中没有,例如,维基百科上没有关于斯科特·杨作为斯坦豪斯缪尔板球俱乐部的板球运动员的条目。因此,如果提到出现在特定的环境中,EL系统应该能够预测参考文献的缺失,这被称为NIL预测任务。主要有四类处理方法:

  1. 直接忽略。早期的偷懒做法。

  2. 启发式方法。也就是模板匹配式的方法。

  3. 阈值法。即设定一个分类置信度阈值,如果最有可能的实体置信度低于阈值,则将其置为NIL。

  4. NIL标签法。在CER阶段,添加一个NIL的实体,参与到实体排序的过程。

  5. 监督学习法。即单独设置一个二分类模型,用于判定是否不可链接。

五、存在的挑战

大部分任务存在的共性挑战是标注数据不足的问题。实体链接任务只在很有限的几个领域内有相对高质量的标注数据,因此如何能够做到充分利用标注数据甚至于不需要标注数据完成实体链接是当前存在的一个重要挑战。目前有两方面的解决方案:Distant Learning和Zero-shot Learning。Distant Learning与关系抽取任务中的distant superviced思想相似,使用一些surface matching的启发式规则生成部分带噪声的远程监督数据集,并在此基础上进行弱监督学习。另一方面Zero-shot learning的核心思想是在标注数据充足的领域(Domain)训练得到具有普适性的特征,并使用尽量少的新领域信息完成领域迁移。

另一个存在的挑战是跨语言的实体链接问题。由于部分语言的相关语料库数据非常少,实体-mention之间的先验信息也很少,所以从候选实体生成到实体排序阶段都非常有挑战。跨语言的实体链接方法试图充分利用不同语言的相同实体之间的wiki链接信息来实现尽量准确的跨语言链接。当前的跨语言实体链接方法大多严重依赖于预训练的跨语言语言模型,试图将不同语言的表征约束同一个向量空间中,再使用同样的方法进行实体排序。

图充分利用不同语言的相同实体之间的wiki链接信息来实现尽量准确的跨语言链接。当前的跨语言实体链接方法大多严重依赖于预训练的跨语言语言模型,试图将不同语言的表征约束同一个向量空间中,再使用同样的方法进行实体排序。

参考Yuhwa Choong

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值