前言:
这是一篇关于Text to Entity Mapping
(以下简称TEM
)的文章,也是笔者了解的第一篇关于该任务的文章,自己是抱着了解该任务的目的来的,因此只是很浅层的理解,也没有抠细节。
这篇文章是自然语言处理——知识图谱——Text-To-Entity Mapping系列中的一篇。
一、动机
传统的TEM
模型大多是将Text
与KG
各自编码到两个不同的语义空间,最后再对其两个语义空间。但是这样的方法有以下缺陷:
(1) 很大程度依赖对KG的编码效果。
(2) 不具有可解释性。
二、方法
针对上述的两个问题,作者提出: 我们并不将Text匹配到KG中的一个节点,而是将其匹配到KG中的一条根据上下位关系组成的路径.
比如实体swift
的Text描述如下:
small bird that resembles a swallow and is noted for its rapid fligh.
而其在KG中的上下位关系有以下path
animal→chordate→vertebrate→bird→apodform bird
那么我们便将任务从Text->swift
转为Text->path
的匹配。
这样的方法有以下好处:
(1) 相当于引入了上下位关系的外部信息,有助于更好地进行KG的表示学习。
(2) 模型是可解释的,因为我们最终可以追踪一条路径。
三、模型
为了简化问题,作者将KG处理为了一颗树,使得从root
到每个实体只有一条路径。文章核心就是使用Seq2Seq
的模型做一个Text
到Path
的映射。
具体地,其流程如下:
(1) Encoder: 使用双向LSTM编码实体的Text定义,最后凭借最终的两个隐状态得到
h
=
[
h
,
l
h
r
]
h = [h,_l h_r]
h=[h,lhr], 用来作为Decoder输入。
(2) Decoder: 使用一个LSTM以及Attention机制,进行每一步的实体预测。由于其训练数据是这样的
authority.n.07【实体】 authority【指代实体的词】 authoritative written work【对实体的Text定义】 <SOS> v3 v2 v36 v7 v7 v10 v11 v12 v8 <EOS>【知识图谱中到实体“authority.n.07”的路径,其中vi是简化的实体节点表示】
因此应该是Decoder预测出<EOS>
便停止,从而输出路径。
具体地,作者提出了Text2Node
和Text2Edge
两种方法,不过不是很能理解Text2Edge
的好处是什么.
四、实验结果
评测指标采用F1
值,结果如下:
作者在8个数据集上进行了实验,也取得了不错的结果,不过作者也指出了现有模型值得改进的地方:
(1) 只是将KG抽象为了一颗树,而不是一个DAG,有点过于简化.
(2) 模型会预测出不在KG中的Path
(3) 模型预测出的Path长度会受到训练集Path长度较明显的影响。
五、总结
该文章也算是给出了一种新的观点: 从匹配单个节点转变为匹配一条路径, 其使用Seq2Seq的方法其实和当初笔者遇到的一篇信息抽取模型相似,有点新瓶装旧酒的感觉。