一、写在前面的话
该论文针对细颗粒的命名实体类别分类,主要基于Ultra-Fine Entity Typing所提出的更多颗粒的数据上进行实验。该模型主要的创新在于针对有层次的实体类别使用双曲嵌入的方式生成类别向量,使其具备层次信息。
二、Named Entity Typing
细颗粒的命名实体类别分类本质是一个多标签分类问题,在已知实体和实体所在的上下文的情况下对实体的类别进行分类。
如上图所示,针对一个实体,会存在多个有层次的标签,例如有粗颗粒的person和较细颗粒的defendant。
1. An Attentive Neural Architecture for Fine-grained Entity Type Classification
这是一篇较早的基于深度学习的细颗粒的命名实体类别分类,其整体结构如下图所示,模型整体分成两部分,实体表示和实体所在的上下文表示。实体就是一个简单的嵌入模型(实体各个单词词向量的平均值),上下文表示部分则是以实体为界限分成上文部分和下文部分,两者结构相同,使用BiLSTM+Attention的结构对其进行编码再拼接成上下文表示(文中还提到了更简单的上下文表示方法,不过当然效果欠佳)。
最后由于是多标签,所以直接取所有的概率大于0.5的输出。
2. Neural Architectures for Fine-grained Entity Type Classification
该论文的模型结构基本上沿袭上一篇论文(在上一篇的模型结构上引入了一些人工特征),主要的创新在于使用了hierarchical label encoding的方法,即先对所有的标签使用one-hot生成向量,然后对有层次的标签进行叠加,例如假设/person被表征为[1, 0, 0, 0, 0, ...]、/artist被表征为[0, 1, 0, 0, 0, ...]、/actor被表征为[0, 0, 1, 0, 0, ...],又由于/person/artist/actor这样的层次信息,故/artist被表征为[1, 1, 0, 0, 0, ...]、/actor被表征为[1, 1, 1, 0, 0, ...]。使用如下的方法生成类别的低维表示作为最后分类层的参数,进行分类。
3. Ultra-Fine Entity Typing
这一篇模型就不讲了,整体结构基本上还是老样子,分别生成实体向量和上下文向量再拼接,最后进行多标签分类。相比模型,该论文通过远程监督和实体链接方法生成了新的数据集,包含更多的实体类别:
左边是新数据集,右边两个是之前的数据集同时,作者对实体类别的颗粒级别进行了分类,《Fine-Grained Entity Typing in Hyperbolic Space》中也针对这一点进行了优化:
三 、Fine-Grained Entity Typing in Hyperbolic Space
1. 模型结构
该模型首先整体结构上创新不多,论文本身也没重点提这一块的内容(还是BiLSTM+Attention的套路)。主要的亮点在于对三种颗粒类型分层生成类型向量。例如对于coarse向量直接使用实体向量和上下文向量拼接后的向量进行计算得到,fine向量则是使用coarse向量和使用实体向量以及上下文向量拼接后的向量进行计算,ultrafine向量则是把coarse向量换成fine向量。
2. 双曲嵌入
关于双曲嵌入可以参考 浅谈机器学习中的表示学习:从欧式空间到双曲空间学习,简单来说就是可以获得层次信息的向量嵌入。通过这个方法获得实体类别标签的嵌入后,另一个问题就是计算双曲空间上的距离。论文为了对比模型生成的向量和双曲嵌入获得的标签向量直接的距离,先通过下式将生成的向量映射到双曲空间(简单来说就是让生成的向量通过网络产生新的向量,最后通过网络学习怎么使用这个映射是让生成的向量映射到双曲空间):
最后计算两个向量直接的距离,其中是余弦距离(具体证明还是参考原论文):
四、实验结果
数据集:
左边是Ultra-Fine,右边是Onto Notes由于不太熟悉这一领域,所以看论文的时候找了很多前置的资料和论文看,感觉是个蛮有意思的领域,一些关于实体和上下文之间的处理也值得学习。说到这篇论文,模型结构上大体沿袭之前的论文,但在引入双曲嵌入和怎么有效地使用双曲嵌入上文章投入了大量的笔墨,对于有层次信息的任务来说,尝试引入双曲空间都是一个不错的点,而这篇论文则是在这一方面提供了行之有效的方法。
网友评论