混合多种信息的实体链接系统

本文是对论文Mixing Context Granularities for Improved Entity Linking的深度解读

这个工作在实体链接上是SOTA的,它融合和实体和指称项的多种信息,将表示多个粒度信息的向量拼接起来对实体和指称项进行学习。这里通过对原文进行细致的解读来了解它都是加了哪些信息。个人认为当我们在自己的研究方向上没有新的idea时,也可考虑将你的研究对象的多种信息融合起来进行学习。

我将会从头开始解读这篇文章,我们共同学习

0摘要

基于知识库问答的第一个阶段是将输入问题中的指称项正确地链接到知识库的实体中。本工作在问答人任务的背景下研究实体链接,提出一个指称项识别和实体消歧联合优化的神经架构,从不同粒度上建模实体和指称项的上下文。

利用维基百科知识库和公开的问答数据集来验证系统,比之前的工作好了8个百分点。

1前言

知识库问答需要借助于知识库中的实体和关系精确地建模问题的语义以检索出正确的答案。QA方法的第一个步骤便是实体链接(EL),即识别出问题中的指称项并将其链接到知识库中,下图示意了两个指称项链接到知识库的情形。

这一步对QA来说非常重要,因为正确答案是通过KB中的一下路径与问题中提到的实体连接才能得到。

SOTA的系统总是依赖于离线的EL系统从问题中抽取实体,很多EL系统是开源的(比如DBPedia Spottlight,AIDA),可以很容易地用来服务于问答系统,但是这些系统并不非常适用问答系统,因为它们面向形式规范的长文本,比如新闻文本,并不适用于短文本和带噪声的文本。其他能处理噪声文本的EL系统(如S-MART, https://aclweb.org/anthology/P15-1049)又不开源,这就限制了它的适用。很多针对QA系统的错误分析指出,实体链接是造成回答错误的主要原因。

QA数据集往往是从网上收集到的,其表达方式多种多样且含噪声,这给EL系统带来了很大的挑战。首先,EL系统中使用的常见的特征在噪声数据上没有意义,另外,一个问题就是一个短文本,缺乏对实体对齐来说很有用的丰富的背景知识。通常的QA数据通常会标记实体的类别特征,这在通常用于评估EL系统的Twitter数据集上并不可获得。

本文提出应对以上挑战的方法:在同一个神经模型上联合地执行实体识别和实体消歧,使整个过程变成端到端可微的。这使得任意的n-gram都可看做一个潜在的实体指称项,这对于不同类别的实体来说非常重要。

为了克服数据噪声的挑战,自动地从一组不同粒度的上下文上学习特征。每个粒度的特征由单独的模块控制。token-level模块从整个问题上下文中抽取高层的特征,字符级的模块为n-gram建立底层的特征。同时从知识库上下文中抽取候选实体的特征:从实体标签中抽取字符级的特征,从候选实体的周围实体中抽取高层级的特征。这些特征聚合到一起用于预测这个n-gram是否一个指称项同时预测这个指称项对应哪个实体。

总结起来,本文的两大创新点:

1)构建了两个数据集来评估EL for QA,提出了一组很强的baseline:现有的用于QA的EL系统的性能,和利用人工定义的特征的模型。

2)设计并实现了一个利用不同粒度的上下文进行实体检测和实体消歧的EL系统。这个工作是第一次提出端到端的处理噪声数据的神经EL系统,它处理不同层级的数据并且不依赖于人工设定的特征。这个架构可以用于任何QA数据。完整的代码和构建数据集的脚本可以从以下网址获取:https://github.com/UKPLab/starsem2018-entity-linking

2动机

现有的很多基线工作关注链接到维基百科文本和新闻文章上,这些数据集包含多句子的文档且主要包含三种类型的实体:人物、地点和组织,这些类别的实体很容易由现有的命名实体识别系统识别,所以在这些情形下,EL系统的主要任务是实体消歧。

近几年,Twitter数据上的实体链接成为EL研究的一个分支,Twitter数据由QA数据的共同特征:输入句子短且有噪声,另外,实体的类型也差距很大。所以一个成功的针对QA的EL系统应该能识别并链接各种类型的实体。所以综合建模多种层级的上下文能够使得EL系统更一般化。

早期的机器学习方法关注于长的形式统一的文档,这些系统通常依赖于离线的命名实体实体系统来抽取指称项做为输入,所以,这样的系统只能连接命名实体识别出来的实体,而命名实体识别器通常只能检测人名、地名、组织名这些固定类型的实体,而在QA的背景下,系统还需要识别并链接电影名、歌名、常见的名词等。

为了达到这一目的,早期的系统试图利用线性地组合人工设定的特征来联合地进行支撑项检测和实体链接。

2015年开始,陆续有人用神经网络来嵌入指称项和实体来提高链接质量。2016年,有人用卷积神经网络从文档上下文中抽取特征并结合人工设计的特征来进行实体链接,但并未做指称项识别的工作。2018年,Neural Cross-Lingual Entity Linking.
In Association for the Advancement of Artificial Intelligence (AAAI)继续利用卷积神经网络进行跨语言EL。

对于面向QA的EL,在Twitter数据上开发的方法与之最相关。2013年,有学者设计了近1500个推文的数据集并用结构化的SVM方法联合地检测和链接指称项。目前SOTA的EL系统是S-MART.

不幸的是,以上描述的针对短文本的EL系统不能用作独立的工具。所以,目前QA方法大都依赖于离线的并不是专门为QA设计的EL系统。有的利用Freebase的在线API但Freebase已经被弃用了,还有的利用DBpedia Spotlight来抽取实体。本文为这个任务设计一个特定的以为QA服务为目的的EL系统。

知识库:在实验时所用的知识库是Wikidata开源知识库,Wikidata中的实体直接链接到维基百科文章,这样就有了标记好的数据集。Freebase已经停止更新了,但是Wikidata中很多实体已经跟其他知识库或者其他知识资源进行了对齐,这也使得指称项间接地链接到其他知识库。

3实体链接架构

下图是实体链接系统的整体架构:

1,首先从输入的问题x中抽取出所有可能的n-gram N直到固定长度,

2.对于每个n-gram n,基于其与实体标签的文本匹配找出候选实体,找到标签文本中包含此n-gram的所有文本,这一步为每个n-gram产生一个候选实体集C,对C进行筛选:按长度进行排列,只取前1000个,这样能保证这些候选实体的标签确实覆盖了指称项。

3.将所有的n-gram和对应的候选实体集都送入实体链接模型,然后模型联合地检测和链接指称项。

3.1VCG

本文提出的模型架构叫VCG(Variable Context Granularity),聚合不同粒度的内容联合地进行指称项检测和实体链接,下图是网络的整体布局和主要组件。

模型的输入是一个问题的token列表x,一个token n-gram n,和一个候选实体的列表C,模型可以看做一个函数M(x,n,C),它为每个n-gram n产生一个指称检测分数p_{n},并为候选实体集中每个实体产生一个排序分数p_{c}.

以下是每个模块的细节:

1)为了处理序列输入,利用扩展的卷积神经网络(DCNN),因为有研究证实在命名实体识别任务上,DCNN的性能与序列网络部分上下。设计了两个DCNN模块:DCNN_w和DCNN_c分别处理token级和字符级的输入。两个DCNN网咯各有一系列的卷积组成,各个卷积的输出的均值会经过一个全连接层,这两个DCNN模块的具体处理过程如下:

token级组件对应EL中的句子级特征,它将输入问题中的token列表X编码为一个固定长的向量。首先将X中的token映射为预训练的向量,这采用50维的Glove预训练向量,词嵌入连接一个表示token在目标n-gram中位置的位置向量经DCNN_w处理得到向量o_{s};

字符组件从单个字符的角度上处理目标N-gram,将字符映射到一个字符级向量,连接一个位置向量经DCNN_c处理得到特征向量o_{n};

2)用同一个字符组件将候选实体的标签编码为向量o_{l},指称项与实体标签共享参数能保证指称项的表示能尽可能地接近实体标签;

3)知识库结构是本模型的高层上下文,知识库结构组件建模直接与候选实体连接的实体和关系。首先,将候选实体所连接的所有关系映射到预训练好的关系向量上,然后对每个关系向量应用一个单层的全连接网络和最大池化,这样一个候选实体就对应一个关系向量。同样对直接与候选实体相连的实体经过全连接f_{e}得到向量o_{e},同时用f_{e}处理候选实体本身得到向量o_{d}.这里知识库结构的嵌入用的是TransE;

4)最后,知识库词汇组件输入关系的标签计算关系的词汇标签。对于每个关系,先对其进行token化,然后将Token映射到预训练的词向量上。为了为每个关系计算唯一的词汇嵌入,利用最大池化并将池化结果输入到全连接网络f_{rl}得到向量o_{rl}

得到以上各个粒度的上下文特征后,将这些特征聚合起来经过一系列全连接网络的转换得到对于一个n-gram 和其对应的每个候选实体的向量o_{c},每个候选实体聚合起来形成一个矩阵O=[o_{c}|c\in C],对O进行最大池化得到对每个n-gram来说唯一的综合向量\delta

为了得到每个候选实体的排序分数,在o_{c}\delta的连接结果上执行一次全连接g_{c}得到每个候选实体的分数p_{c}=g_{c}(o_{c}||\delta ).对于N-gram的指称项检测,分别连接token上下文向量o_{s}和字符上下文o_{n}并将它们输入到一批全连接层中得到一个向量o_{t},然后将o_{t}\delta连接经过另一个全连接层得到指称项检测分数p_{n}=\sigma (g_{n}(o_{t}||\delta ))

全局实体链接

系统的第一步是从输入的文本中抽取所有可能的重合的n-gram,我们假设输入文本中每个范围的文本只能包含在一个指称项中,通过指称项分数计算出一个片段属于哪个指称项。如果指称项分数大于0.5,这个n-gram 就被认为是个指称项且在它的候选链接上计算出一个实体分数排序。而分数小于阈值的n-gram将会被过滤掉。

为指称项分配实体的过程如下:重新排列选为指称项的所有n-gram使其两两不重合,然后用指称项分数计算每个组合的概率,概率最高的结合做为最后的指称项集。

混合损失

本模型对于每个n-gram计算两个分数:指称项检测分数和实体消歧分数,联合优化模型的参数,计算输入中所有n-gram的两种分数做为损失:

L=\sum_{n\in N}\sum_{c\in C_{n}} L_{M}(t_{n},p_{n})+t_{n}L_{D}(t_{c},p_{c})

其中t_{n}是指称项标记,其值为0或1,t_{c}是消歧的结果,其值从0到候选实体的数量。

对于指称项检测损失L_{M},为负例加一个权值参数,因为数据中大部分实例是负类:

L_{M}(t_{n},p_{n})=-t_{n}log p_{n}-\alpha (1-t_{n})log(1-p_{n})

而实体消歧分数L_{D}是个最大间隔损失:

L_{D}(t_{c},p_{c})=\frac{\sum_{i=1}^{|C|} max(0,(m-p_{c}[t_{c}]+p_{c}[i]))}{|C|}

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值