文章目录
本文为ACL19收录文章,GitHub地址:https://github.com/thunlp/Chinese_NRE,论文下载地址:http://nlp.csai.tsinghua.edu.cn/~lzy/publications/acl2019_nre4chinese.pdf
摘要
目前主流中文关系提取的模式是使用具有基于字符或基于单词的输入的神经网络,并且大多数现有方法通常会因为分段错误和多义词的影响而影响性能。针对以上问题,我们提出了一种用于中文关系提取的多粒度格框架(MG Lattice),利用多粒度语言信息和外部语言知识来提高关系抽取的准确率。(1)我们将词级信息合并到字符序列输入中,从而避免了分段错误。(2)我们还借助外部语言知识对多义词的多种意义进行建模,以减轻多义词产生的歧义问题。通过在不同领域的三个数据集上进行的实验表明,我们的模型具有显著的优越性和鲁棒性。
主要问题
本文提出的模型主要针对关系抽取中的两个比较棘手的问题:
- 使用词向量还是字向量作为输入,使用字向量的问题是无法使用词级别的信息,而使用词向量则会因为分词错误导致错误传递,影响关系抽取的性能。
- 多义词问题,中文语料中经常会出现多义词,多义词会影响分词和实体识别的结果,从而导致错误的出现影响之后的关系抽取的效果。
下面是论文中列举的一个和多义词相关的例子,它很好的说明了多义词的出现对实体识别和关系抽取的影响。
如上图所示,中文句子“达尔文研究所有杜鹃”具有两个实体,即“达尔文(Darwin)”和“ Dori(杜鹃)”,它们之间的关系在这种情况下,正确的切分是“达尔文(人物)/研究(动作)/所有(全部)/杜鹃(杜鹃)”。但是,随着切分的变化,句子的语义可能会完全不同。若分段为“达尔文(在达尔文)/研究所(研究所)/有(有)/杜鹃(杜鹃)”,句子的含义变成在一个名为达尔文的研究所里有杜鹃鸟,实体 “达尔文” 和实体 “杜鹃” 变成了所有权关系,这是错误的。因此,基于字符的方法和基于单词的方法都不能充分利用数据中的语义信息,多义词的出现可能会很大程度上影响分词的结果,从而影响最后实体识别和关系抽取的结果。
本文提出的MG Lattice模型就是为了解决上述问题,通过同时利用字级、词级和词义信息,使句子的切分更准确从而提高实体识别和关系抽取的效果。
MG Lattice模型
下图是MG Lattice模型的架构图。MG Lattice模型可以分为三层:Input Representation输入表示层,MG Lattice Encoder编码层和Relation Classifier关系分类层。下面将从这三层入手,详细讲解每一层所做的工作。
Input Representation 输入表示层
这一层主要是计算模型的输入向量,MG Lattice模型一共用到了两种输入向量,分别是字向量和词向量,他们的表示方式是不同的
字向量
我们的模型将字向量作为直接输入(词向量作为间接输入),即将每个输入句子视为一个字符序列。给定一个包含M个字符 s = { c 1 c_{1} c1,…, c M c_{M} cM} 的句子s,我们首先将每个字符 c i c_{i} ci 映射为一个 d c d^{c} dc 维度的矢量,表示为 x i c e x^{ce}_{i} xice
此外,利用位置嵌入来确定实体在句子中的位置,位置嵌入是指从当前字符到实体的头部和尾部的相对距离。具体来说,第i个字符 c i c_{i} ci 到两个标记实体(关系三元组中的两个实体)的相对距离分别表示为 p i 1 p^{1}_{i} pi1 和 p i 2 p^{2}_{i} pi2 ,计算 p i 1 p^{1}_{i} pi1 的方式如下:
将 p i 1 p^{1}_{i} pi1 、 p i 2 p^{2}_{i} pi2这两个位置标记转换为位置向量 x i p 1 x^{p1}_{i} xip1 、 x i p 2 x^{p2}_{i} xip2 ,然后与字向量