分层损失的细粒度实体标注与链接《Hierarchical Losses and New Resources for Fine-grained Entity Typing and Linking》

分层损失的细粒度实体标注与链接《Hierarchical Losses and New Resources for Fine-grained Entity Typing and Linking》_第1张图片

论文
代码
数据 数据不能正常下载的,看本文末。

今天解读这篇论文与上一次分享的【细粒度实体标注】有些相同之处。

一、背景

这篇论文想用实数与复数对实体类别的层次结构进行双线性映射,来整合层次结构信息。

二、模型

细粒度实体标注链接问题定义如下:
给定一个标注了实体的句子,eg:='Barack Obama is the President of the United States.',对句中标注好的实体Barack Obama从系统类别集合中找出它的一个或多个类别,得到Barack Obama实体的细粒度类别集合={president, leader, politician}。
模型分为两层考虑,一层是mention-level typing,一层是entity-level typing

模型结构如下:

分层损失的细粒度实体标注与链接《Hierarchical Losses and New Resources for Fine-grained Entity Typing and Linking》_第2张图片

模型简介:首先将实体的词向量表示进行求平均得到Mean模块,然后实体的句子的词向量表示用CNN进行特征抽取处理,再最大池化处理得到Max Pool模块,最后将Mean与Max Pool进行拼接,输入到两个MLP模块中。注: MLP(Multi-Layer Perception),即多层感知器,是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。

1.为什么需要加位置信息?

一个句子中可能有多个实体,所以为了区别当前需要预测的实体,就给词向量拼接一个位置向量,假设句子的长度为s,实体自己的位置为0,实体左边的词位置取值为[-s,0),实体右边的词位置取值为(0,s]。最终句子序列的向量表示为。

2.句子序列M怎么处理?


句子经过CNN加工为C,C再经过Max Pool得到

3.实体序列怎么处理?


实体的词向量求平均得到

4.最终的模型输出?


两向量进行拼接,然后用两层MLP进行向量映射转换处理,即为预测的实体类型向量。

三、训练过程

模型分为两层考虑,一层是mention-level typing,一层是entity-level typing。这两层在训练过程中体现。

1.mention-level typing

将模型最终生成的预测类别向量与系统中所有的类别T进行相似度计算,以下公式是系统类别集合T中的第i个类别向量与预测类别向量进行相似度计算:

这一层多标签二元交叉熵损失函数为:

2.entity-level typing

对于没有标注出实体的句子,就需要利用远程监督的方法,将实体标注出来并标注出它的类型。但,这种方法噪声很大。为了减少噪声数据的影响,文中利用多实例多标签学习方法MIML,在词袋子基础上操作,而不是在实体划分的基础上操作。操作过程描述如下:
一个实体的词袋子可以表示为,eg:实体Barack Obama的词袋子为{Barack,Obama}。简言之,实体词袋子就是将实体划分为单词集合。
假设这个实体词袋子的标签为是一个二值向量,它的第j位置取1就表示这个实体存在类别j,若第j位置取值为0,就表示这个实体不存在类别j。
对于每个实体,从实体词袋子中子采样k个样例语句,每个样例都由以上模型进行处理。对于这k个样例句子,,经过模型后都会得到一个
将模型最终生成的预测类别向量与系统中所有的类别T进行相似度计算:

最终这个实体词袋子的预测结果由这采样的k个样例句子,进行LogSumExp池化处理,具体公式如下:

这一层多标签二元交叉熵损失函数为:

3.层次结构怎么处理?

该处是本论文的重点。
1)双线性模型
预测可链接性分数,将的向量转置,乘以一个对角实数矩阵,再和相乘,即得一个分数标量。
2)复杂双线性模型

分层损失的细粒度实体标注与链接《Hierarchical Losses and New Resources for Fine-grained Entity Typing and Linking》_第3张图片
这个复杂的双线性模型中都是复数向量,有实部和虚部,代表了之间的层次关系。
3)将复杂的双线性模型用到实体细粒度标注
分层损失的细粒度实体标注与链接《Hierarchical Losses and New Resources for Fine-grained Entity Typing and Linking》_第4张图片
带层次结构的二元交叉熵损失函数(BCE):
分层损失的细粒度实体标注与链接《Hierarchical Losses and New Resources for Fine-grained Entity Typing and Linking》_第5张图片

四、实验结果

分层损失的细粒度实体标注与链接《Hierarchical Losses and New Resources for Fine-grained Entity Typing and Linking》_第6张图片

五、总结

这篇论文基础模型base-model还算简单,只用了CNN和2层MLP。论文考虑到了已经标注好的实体的句子,怎么进行实体类别细粒度划分,又考虑到了没有标注实体的句子,怎么进行实体细粒度划分。对于已经标注好实体的句子,它用基础模型base-model就ok;对于没有标注好实体的句子,就需要用远程监督的方法生成标注的实体,并采样k个样例句子输入基础模型base-model中,然后对着k个样例进行整合处理。模型的损失函数中考虑到了复杂双线性处理方法,预测得到的实体类别向量处理成实部:,虚部:。
这篇论文公开的数据集在google云盘上,文件有点大,对于有些人来说很难下载,我将该数据放到云盘上分享了。百度云数据4u83

分层损失的细粒度实体标注与链接《Hierarchical Losses and New Resources for Fine-grained Entity Typing and Linking》_第7张图片

你可能感兴趣的:(分层损失的细粒度实体标注与链接《Hierarchical Losses and New Resources for Fine-grained Entity Typing and Linking》)