登录    注册      
    
  

News Message

ACL 2020 | 基于多级排序学习的层次化实体标注



ACL 2020 | 基于多级排序学习的层次化实体标注





引言

细粒度实体标注 Fine-graind Entity Typing(FET)任务是给定一个候选实体 [公式] (Mention) 和其上下文 [公式] (Context),求这个涉及的可能类别集合 [公式] (Type), [公式] 。它与实体命名识别 Named Entity Recognition (NER) 任务有几个显著不同在:

  • 在引入统一阅读理解 MRC 框架之前,NER 通常是序列标注任务。它需要模型从一段文本序列中找出实体的边界和实体的类型,以及非实体的边界。序列标注任务搜索空间很大,限制了实体的类别数量通常不会很多。
  • FET 做的是有层级的多标签分类任务。它的实体边界通常是已经给好了,需要从远程监督的候选标签中找出正确的、符合上下文语境的实体类型集合。它不关心给定上下文是否包含了别的实体。FET 类别有上下层级。比如位置这个一级类别下有行政区、建筑类等等,行政区二级类别下又可以分国家、省份和城市等等。子类别确定了父类别,而父类别又限定了其可能候选的子类别。

过去鲜有研究针对这种类别间的层次树形结构进行建模。他们处理该问题的常用做法是将所有不同层级的类别展平成同一级别,而忽略了树形结构中的子类型有效时其父类型也一定有效的特点。

直觉上看,类别数量更少的粗粒度分类比类别更多的细粒度分类更容易。这种展平的分类方式会增大模型要预测的类别数量。还需要依赖额外的技术手段来解决类别间不独立问题,比如 AFET [1],CLSC [2]。

本论文提出了一种层次化的排序学习框架来解决此类问题。排序模型会针对不同层级,制定不同的边际标准去进行分类。解码器会从粗粒度到细粒度去搜索类型的层级结构,以保证不违反层次结构的特性。结果在 BBN、OntoNotes 以及 FIGER 数据集上达到了 SOTA 水平。

相关工作

FET 过往研究主要专注在以下两个方面:

1. 更好的 mention 表征:从最开始的人工二元特征 [3,4],到分布式表征 [5],再到预训练好的词向量,如 LSTMs [1], CNN [6],和 Attention [7],到后来的预训练语言模型,如 ELMo [8,9] 。本论文用的是 ELMo 的表征方法。

2. 层级标签处理:此前大部分研究都是把标注问题看成是没有用层级结构的多标签分类问题,但有部分研究除外。

AFET [1] 提出了一种适应性的排序学习方法 来让相似的类别具有更小的 margins。NFETC [10] 提出了一种层级损失来给违背层级结构的输出惩罚。[11] 提出了用下级标签的关系来约束标签特征空间的嵌入。HYENA [12] 提出了在类型层级中为某父类别下的子类别排序方法,但它不支持神经网络端对端训练。本论文的从粗到细的端到端的解码方式能严格地保证输出不违背层级特性,从而得到了更好的表现。

针对细粒度实体标注任务,研究者们提出了几种不同的规范化描述方式。比如,类别并非层级构建的 Ultra-fine Entity Typing [13],类别标签是从海量语料中抽取出的短语。也有基于知识图谱中的实体关系构建类别标签体系的 [14],和用实体链接来增强的 [15]。

问题规范化

mention 用一个三元组 [公式] 表示。其中, [公式] 为一个由词组成的上下文句子序列,span [公式] 为指定 mention 在句子中的实体边界,其内容为 [公式] 。给定一个 [公式] ,层级类型标注模型要输出一个类型集合 Y。这个类型集合归属于整个类别体系 [公式] 。层级类型以一个森林的形式表示。每棵树以一级类别为根,比如 /person, /location 等等。我们用 “/” 作为第零级类型 “entity”的表示,作为所有的一级类别的根,方便把森林连成一棵树。

▲ 不同数据集下的层级类型树,L1,L3 分别表示第一级类别和第三级类别


我们用二元关系 [公式] 表示类型 [公式] 是类型 [公式] 的一个子类。 [公式] 的唯一父节点被表示为 [公式] 。类别 [公式] 的所有子类别集合有 [公式] ,与其共享同一个父节点的姊妹类别有 [公式] and [公式] 。

我们把候选实体只能被分类为一种细粒度类别的情景称作单路径标注。这是因为从根节点到叶节点只有一条路径可走,比如 AIDA 数据集。我们把能被分类为多种类别的情景称作多路径标注,因为从根节点到多个叶节点有多条路径,比如 BBN 数据集。

在 FIGER 中,存在一级类别作为叶节点没有往下继续分的情况。但在 AIDA 数据集,又存在对该一级类别下使用特殊叶节点处理的情况,比如 /per/police/<unspecified>。这种类型路径存在两种可能解释:

  • Exclusive 互斥的: 属于类别 [公式] ,但[公式]不是 [公式] 的任何现有子类别 [公式] 中的一个。
  • Undefined 为定义的:[公式]属于类别 [公式] ,但它是不是 [公式] 的某个子类是未知的。

针对以上两种不同的情景,我们要采取不同的策略。对于互斥的情景,我们为所有类别增加了一个 other 类别来补充可能存在 [公式] 不是 [公式] 中任何现有子类标签的情况。

比如“爱德华大夫”是医生人名,在原数据集中被标注为 /person,这是因为人名下面只有运动员、政客、娱乐明星等子类。这里“爱德华大夫”标签会被修改成 /person/other。对于未定义的情景,我们则不修改该样本在数据集中的标签。这样分开处理对结果会有显著影响。


模型4.1 Mention Representation

▲ 论文 [9] 中的模型架构和表征方法


Mention 的表示用的是论文 [9] 中的 ELMo 编码方法。过往研究的做法是直接把 mention 的词向量相加取平均,而忽略了 mention 中不同词对整个标注结果存在不同的影响权重。

比方说上图中 “Department of Chemistry” 为其标注为组织机构类别,起作用的词是 “Department”。我们希望模型针对这类有信息的词做更多的侧重。因此 mention 的表征应该是用不同词嵌入基于注意力权重的加权平均。



本论文会先把序列通过 ELMo,获得每个词的动态词向量 [公式] 。再把作为 mention 的部分取出来,乘上一个权重后做最大池化得到 [公式] 。接着,我们再拿这个 [公式] 作为 Query,对 Context 做乘法注意力,得到每个词的注意力权重,再用它与原上下文的动态词向量 [公式] 做加权求和得到上下文表征 c。最后我们把 [公式] 与 [公式] 接在一起得到 [公式] ,丢给下游分类器解码。

注明:这里倾向于用 ELMo 而不是 BERT 的原因在用 ELMo 表现更好。ELMo 用到了丰富的字符级嵌入信息。这种低层嵌入对 FET 任务很有用。如果是涉及高级语义特征的任务,比如机器阅读理解任务,BERT 会更合适。

4.2 Type Scorer

一个样本被编码成 [公式] 后会被喂给一个两层的带 tahn 非线性单元的前馈网络,来把 mention-context 嵌入映射到与类型嵌入一致的特征空间,再与类型嵌入做点乘就可以得到与每种类型的相似度。

4.3 Hierarchical Learning-to-Rank

我们引入一个自创的允许多标签多层级分类的排序学习损失。首先,我们计算每个类别的 hinge loss 来把正例类别排在负例类别前面。

这实际上是 ranking SVM 的损失。模型会学到正类样本 [公式] 的得分要比负类样本 [公式] 的得分高一个 [公式] 。通常这个 [公式] 会被设为 [公式] (类型嵌入可以线性尺度缩放),我们用 L2 正则来约束类型嵌入。


但这种方法考虑的是平展开的所有类别,而不是层次化的类别结构——所有类别被给予相同的对待而没有利用它们在类型树中的层次关系。直觉上看,粗粒度类别(更上级的类别)会比细粒度类别(更下级的类别)更容易确认。

比如,把一个实体分类为 /person 还是 /location 比把这个实体分类成 /artist 还是 /athlete 更容易。我们把这一直觉放在 L2R 框架中,便是模型每次只对同级粒度的实体类型进行排序。通过设置不同的 margins 参数来处理不同的粗细粒度级别。



其中, [公式] 指的是类别 [公式] 的层级。比方说,lev (/location) = 1,以及 lev (/person/artist/singer) = 3。其中,正例类型 [公式] 只会与其姊妹类别 [公式] 比较。而设置边际的超参数 [公式] 取决于类别 [公式] 所在的层级。显而易见, [公式] 。类似于原版, [公式] 可以默认设置为 [公式] ,我们用其相对比例来进行比较。为简化,论文做了超参数搜索实验,最终经验得出,按如下公式设置最为合适。其中 [公式] 为类别体系的总层级数, [公式] 为当前类别的层级序数。比如体系有三个级别,那么每一层的边际大小就可以分别设置为 [公式] 。

我们要如何设置正例类别相对于实体表征的相关性大于负例样本的阈值呢?我们可以像论文 [9] 那样,把阈值设置为 0 便可。这样多标签分类问题就成了一系列二分类问题。

或者,我们像论文 [16] 中那样,调出一个能根据不同类型调整适应的动态阈值。这里我们提出一个简单的解决方案。


我们设定,排序器要学会“正例子类别的得分要大于它的父类别的得分,它的父类别得分又要大于它的负例姊妹类别的得分”。基于这个公式,解码的时候,给定一个父类别 [公式] ,若其子类别 [公式] 的得分高于父类别 [公式] 的得分,则输出正例。为此我们可以把 margin [公式] 拆分为两项: [公式] 和 [公式] 。前者为正例类别和其父类别的间距,后者为其父类别和其姊妹负例类别的间距 。可以被用来调整精度和召回的权衡。越小的 [公式] 正例类别和其父节点类别的间距也就越小,就越容易提升精度而降低召回。反之,增加 [公式] ,则精度降低,召回增加。这一过程可以被可视化为下图。最终,我们考虑了三种顺序的层级排序损失函数为: [公式]



4.4 Decode解码的算法如下。我们已知模型预测的 mention 与 每种类别的相似度,以及预先设定好的类型树,求满足 [公式] ,排序顺序的候选路径。首先我们把根类别 “ENTITY” 放入候选实体类型的队列中。循环里,每次出队一个父类型 [公式] ,用 Type Scorer 计算其相关性得分 [公式] 。再把该类型下所有子类别输入给 Type Scorer 得到每个子类型的相关性,并筛选出相关性大于其父类型的子类型。把这些类型加入候选输出集合后,再入队,直到队列为空跳出循环。



4.5 Subtyping Relation Constraint

论文[17]用 ComplEx 方法来构建关系嵌入,针对子类别中的 anti-symmetric and transitive 的关系有很好的表现。ComplEx 通过加入正则损失来约束类型嵌入。它操作在复数空间。论文通过实空间和复空间的自然同构将类型嵌入映射到复杂空间(前半部分为实数,后半部分为虚数)。


我们为子类关系学习单类型嵌入。给定类型 [公式] 和 [公式] ,关系 [公式] 可以用如下评分函数建模:

其中, [公式] 为元素相乘, [公式] 为其复数共轭。若存在 [公式] ,则 [公式] 。给定一个实例 (x, Y),对每个正例类型 [公式] ,都有以下三种关系:

分别对应,一个子类为正例,其父类也一定为正例(父子关系),这个正例的父类不会是它任意的兄弟姊妹(姊妹关系),这个正例的父类也不会是它任意的叔伯姑姨(叔伯关系)。这些关系刚好可以转换为二分类的 SVM 的原始形式,于是这部分的损失有:


与论文[11]的二元交叉熵损失不同,这个 hinge loss 在实际实验中表现要更好,原因在我们用姊妹关系和叔伯关系来作为负例样本。这些负例类别会与其父类非常接近。因此训练时,模型能利用更具竞争力的负例样本来加强学习。

4.6 Training and Validation

最终的损失为如下式子。训练时用的优化器为 2019 年热度很高的 AdamW。超参数包括了 [公式] , [公式] 和 [公式] 。 [公式] 用来调节边距阈值比例, [公式] 用来调节关系约束正则项的比例, [公式] 作为正则项用来约束模型参数大小,防止过拟合。最终结果为超参数搜索后的最佳结果。


Experiments

5.1 Datasets

5.2 Setup

论文使用了 ELMo 三层的全部输出 [公式] ,。类型嵌入 [公式] ,初始学习率为 [公式] ,Batch Size 为 256。最终模型选择为超参数搜索到基于验证集上 F1 score 表现最好的组合。

5.3 Baselines

对于 AIDA 数据集而言,过往研究没用过,没法比。论文只比了 BBN,OntoNotes,以及 FIGER 上近几年来的 SOTA 结果。5.4 Metrics

  • strict accuracy (Acc): 全部标签分类正确样本占所有样本比。
  • macro [公式](MaF): 计算每个类别的准召,得到各自,再求平均。
  • micro[公式](MiF): 不区分类别,直接用总样本的准召计算 。

5.5 Results and Discussions

所有结果都基于互斥的和未定义的分开来比较。对于 AIDA 中有 187 个类别,但训练/验证集中只覆盖了 93 个类别,测试集中有 85 个类别,其中有 23 种类别是训练集、验证集中没见过的。

我们可以用零样本实体标注去处理这类问题。做法是用类型的名字和其描述去初始化类型嵌入。这类问题可以放在以后解决。


在 BBN,OntoNotes,和 FIGER 数据集上都显著好于去年的 SOTA。以上下浮动 0.5 个百分点为基准。实验表明,部分路径标签问题,用未定义的方式处理在 BBN 和 OntoNotes 数据集上都显著好于用互斥的方式去处理。

这个问题来源于数据标注阶段,取决于标注员如何理解互斥和未定义这两种类别。未来也是一个值得探究的方向。

消融实验表明,加入层次化的排序学习或类型关系约束在不同数据集上都有不同程度的提升。其中,层次化排序学习的加入带来的提升更显著。

错误分析集中在三个方面:

1. 对某些类型混淆。比如 /gpe/city 与 /location/region 混淆。这类错误是类型本身相似导致的,一般是可以容忍的。

2. 未完整的类型。比如 “Immigration and Customs Enforcement” 只标 /government agency ,却漏掉了标 /organization。这个跟数据集的分类体系构建有关。可以在类别体系构建上优化。

3. 只专注于部分 mention。“... suggested they were the work of Russian special forces assassins out to blacken the image of Kievs pro-Western authorities” 实例中,模型基于 “Russian special forces” 输出了 /org/government,但正确的标签是 /per/militarypersonnel,模型忽略了 “assassins” 这部分。这个问题与 mention 表征有关。日后引入 type-aware 类型表征或许能解决这类问题。



后记

好的 idea 的产生来自于看待问题的角度。从新的视角将模型要学的任务规范化、简化,往往能得到新奇的效果。但思考如何实现它却是一个工程活。序列标注问题本质是一个结构化学习。其难点在,它要为序列解码,搜索空间很大。为一个东西分十几个类别的任务肯定要比为一个序列的每个位置去分十几个类别要简单。感觉引入机器阅读理解框架的那篇 NER 论文 [19],实际也是用类似的方式把问题简化了。

序列标注改成了只需要在上下文中预测指定类型的实体边界 span,BERT 句嵌入接两个 MLP 分别预测开头和结尾,就能有很好的效果。更有趣的是,机器阅读理解中的很多奇技淫巧也可以用上。


Reference

[1] Ren, X., He, W., Qu, M., Huang, L., Ji, H., & Han, J. (2016, November). AFET: Automatic Fine-Grained Entity Typing by Hierarchical Partial-Label Embedding. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing (pp. 1369-1378).

[2] Chen, B., Gu, X., Hu, Y., Tang, S., Hu, G., Zhuang, Y., & Ren, X. (2019). Improving distantly-supervised entity typing with compact latent space clustering. arXiv preprint arXiv:1904.06475.

[3] Xiao Ling and Daniel S. Weld. 2012. Fine-grained entity recognition. In Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence, July 22-26, 2012, Toronto, Ontario, Canada., pages 94–100.

[4] Dan Gillick, Nevena Lazic, Kuzman Ganchev, Jesse Kirchner, and David Huynh. 2014. Context-dependent fine-grained entity type tagging. CoRR, abs/1412.1820.

[5] Dani Yogatama, Daniel Gillick, and Nevena Lazic. 2015. Embedding methods for fine grained entity type classification. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing of the Asian Federation of Natural Language Processing, ACL 2015, July 26-31, 2015, Beijing, China, Volume 2: Short Papers, pages 291–296.

[6] Shikhar Murty, Patrick Verga, Luke Vilnis, Irena Radovanovic, and Andrew McCallum. 2018. Hierarchical losses and new resources for fine-grained entity typing and linking. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, ACL 2018, Melbourne, Australia, July 15-20, 2018, Volume 1: Long Papers, pages 97–109.

[7] Sheng Zhang, Kevin Duh, and Benjamin Van Durme. 2018. Fine-grained entity typing through increased discourse context and adaptive classification thresholds. In Proceedings of the Seventh Joint Conference on Lexical and Computational Semantics, *SEM@NAACL-HLT 2018, New Orleans, Louisiana, USA, June 5-6, 2018, pages 173–179.

[8] Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, and Luke Zettlemoyer. 2018. Deep contextualized word representations. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, NAACL-HLT 2018, New Orleans, Louisiana, USA, June 1-6, 2018, Volume 1 (Long Papers), pages 2227–2237.

[9] Ying Lin and Heng Ji. 2019. An attentive fine-grained entity typing model with latent type representation. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 61986203, Hong Kong, China. Association for Computational Linguistics.

[10] Peng Xu and Denilson Barbosa. 2018. Neural fine-grained entity type classification with hierarchy-aware loss. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, NAACL-HLT 2018, New Orleans, Louisiana, USA, June 1-6, 2018, Volume 1 (Long Papers), pages 16–25.

[11] Murty, S., Verga, P., Vilnis, L., Radovanovic, I., & McCallum, A. (2018, July). Hierarchical losses and new resources for fine-grained entity typing and linking. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) (pp. 97-109).

[12] Mohamed Amir Yosef, Sandro Bauer, Johannes Hoffart, Marc Spaniol, and Gerhard Weikum. 2012. HYENA: hierarchical type classification for entity names. In COLING 2012, 24th International Conference on Computational Linguistics, Proceedings of the Conference: Posters, 8-15 December 2012, Mumbai, India, pages 1361–1370.

[13] Choi, E., Levy, O., Choi, Y., & Zettlemoyer, L. (2018). Ultra-fine entity typing. arXiv preprint arXiv:1807.04905.

[14] Hailong Jin, Lei Hou, Juanzi Li, and Tiansi Dong. 2019. Fine-grained entity typing via hierarchical multi graph convolutional networks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 4968–4977, Hong Kong, China. Association for Computational Linguistics.

[15] Hongliang Dai, Donghong Du, Xin Li, and Yangqiu Song. 2019. Improving fine-grained entity typing with entity linking. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages6209–6214, HongKong, China.Association for Computational Linguistics.

[16] Sheng Zhang, Kevin Duh, and Benjamin Van Durme. 2018. Fine-grained entity typing through increased discourse context and adaptive classification thresholds. In Proceedings of the Seventh Joint Conference on Lexical and Computational Semantics, *SEM@NAACL-HLT 2018, New Orleans, Louisiana, USA, June 5-6, 2018, pages 173–179.

[17] ThéoTrouillon, JohannesWelbl, SebastianRiedel, ´ Eric Gaussier, and Guillaume Bouchard. 2016. Complex embeddings for simple link prediction. In Proceedings of the 33nd International Conference on Machine Learning, ICML 2016, New York City, NY, USA, June 19-24, 2016, pages 2071–2080.

[18] Ilya Loshchilov and Frank Hutter. 2019. Decoupled weight decay regularization. In 7th International Conference on Learning Representations, ICLR 2019, New Orleans, LA, USA, May 6-9, 2019.

[19] Li, X., Feng, J., Meng, Y., Han, Q., Wu, F., & Li, J. (2019). A Unified MRC Framework for Named Entity Recognition. arXiv preprint arXiv:1910.11476.

引言

细粒度实体标注 Fine-graind Entity Typing(FET)任务是给定一个候选实体 [公式] (Mention) 和其上下文 [公式] (Context),求这个涉及的可能类别集合 [公式] (Type), [公式] 。它与实体命名识别 Named Entity Recognition (NER) 任务有几个显著不同在:

  • 在引入统一阅读理解 MRC 框架之前,NER 通常是序列标注任务。它需要模型从一段文本序列中找出实体的边界和实体的类型,以及非实体的边界。序列标注任务搜索空间很大,限制了实体的类别数量通常不会很多。
  • FET 做的是有层级的多标签分类任务。它的实体边界通常是已经给好了,需要从远程监督的候选标签中找出正确的、符合上下文语境的实体类型集合。它不关心给定上下文是否包含了别的实体。FET 类别有上下层级。比如位置这个一级类别下有行政区、建筑类等等,行政区二级类别下又可以分国家、省份和城市等等。子类别确定了父类别,而父类别又限定了其可能候选的子类别。

过去鲜有研究针对这种类别间的层次树形结构进行建模。他们处理该问题的常用做法是将所有不同层级的类别展平成同一级别,而忽略了树形结构中的子类型有效时其父类型也一定有效的特点。

直觉上看,类别数量更少的粗粒度分类比类别更多的细粒度分类更容易。这种展平的分类方式会增大模型要预测的类别数量。还需要依赖额外的技术手段来解决类别间不独立问题,比如 AFET [1],CLSC [2]。

本论文提出了一种层次化的排序学习框架来解决此类问题。排序模型会针对不同层级,制定不同的边际标准去进行分类。解码器会从粗粒度到细粒度去搜索类型的层级结构,以保证不违反层次结构的特性。结果在 BBN、OntoNotes 以及 FIGER 数据集上达到了 SOTA 水平。

相关工作

FET 过往研究主要专注在以下两个方面:

1. 更好的 mention 表征:从最开始的人工二元特征 [3,4],到分布式表征 [5],再到预训练好的词向量,如 LSTMs [1], CNN [6],和 Attention [7],到后来的预训练语言模型,如 ELMo [8,9] 。本论文用的是 ELMo 的表征方法。

2. 层级标签处理:此前大部分研究都是把标注问题看成是没有用层级结构的多标签分类问题,但有部分研究除外。

AFET [1] 提出了一种适应性的排序学习方法 来让相似的类别具有更小的 margins。NFETC [10] 提出了一种层级损失来给违背层级结构的输出惩罚。[11] 提出了用下级标签的关系来约束标签特征空间的嵌入。HYENA [12] 提出了在类型层级中为某父类别下的子类别排序方法,但它不支持神经网络端对端训练。本论文的从粗到细的端到端的解码方式能严格地保证输出不违背层级特性,从而得到了更好的表现。

针对细粒度实体标注任务,研究者们提出了几种不同的规范化描述方式。比如,类别并非层级构建的 Ultra-fine Entity Typing [13],类别标签是从海量语料中抽取出的短语。也有基于知识图谱中的实体关系构建类别标签体系的 [14],和用实体链接来增强的 [15]。

问题规范化

mention 用一个三元组 [公式] 表示。其中, [公式] 为一个由词组成的上下文句子序列,span [公式] 为指定 mention 在句子中的实体边界,其内容为 [公式] 。给定一个 [公式] ,层级类型标注模型要输出一个类型集合 Y。这个类型集合归属于整个类别体系 [公式] 。层级类型以一个森林的形式表示。每棵树以一级类别为根,比如 /person, /location 等等。我们用 “/” 作为第零级类型 “entity”的表示,作为所有的一级类别的根,方便把森林连成一棵树。

▲ 不同数据集下的层级类型树,L1,L3 分别表示第一级类别和第三级类别


我们用二元关系 [公式] 表示类型 [公式] 是类型 [公式] 的一个子类。 [公式] 的唯一父节点被表示为 [公式] 。类别 [公式] 的所有子类别集合有 [公式] ,与其共享同一个父节点的姊妹类别有 [公式] and [公式] 。

我们把候选实体只能被分类为一种细粒度类别的情景称作单路径标注。这是因为从根节点到叶节点只有一条路径可走,比如 AIDA 数据集。我们把能被分类为多种类别的情景称作多路径标注,因为从根节点到多个叶节点有多条路径,比如 BBN 数据集。

在 FIGER 中,存在一级类别作为叶节点没有往下继续分的情况。但在 AIDA 数据集,又存在对该一级类别下使用特殊叶节点处理的情况,比如 /per/police/<unspecified>。这种类型路径存在两种可能解释:

  • Exclusive 互斥的: 属于类别 [公式] ,但[公式]不是 [公式] 的任何现有子类别 [公式] 中的一个。
  • Undefined 为定义的:[公式]属于类别 [公式] ,但它是不是 [公式] 的某个子类是未知的。

针对以上两种不同的情景,我们要采取不同的策略。对于互斥的情景,我们为所有类别增加了一个 other 类别来补充可能存在 [公式] 不是 [公式] 中任何现有子类标签的情况。

比如“爱德华大夫”是医生人名,在原数据集中被标注为 /person,这是因为人名下面只有运动员、政客、娱乐明星等子类。这里“爱德华大夫”标签会被修改成 /person/other。对于未定义的情景,我们则不修改该样本在数据集中的标签。这样分开处理对结果会有显著影响。


模型4.1 Mention Representation

▲ 论文 [9] 中的模型架构和表征方法


Mention 的表示用的是论文 [9] 中的 ELMo 编码方法。过往研究的做法是直接把 mention 的词向量相加取平均,而忽略了 mention 中不同词对整个标注结果存在不同的影响权重。

比方说上图中 “Department of Chemistry” 为其标注为组织机构类别,起作用的词是 “Department”。我们希望模型针对这类有信息的词做更多的侧重。因此 mention 的表征应该是用不同词嵌入基于注意力权重的加权平均。



本论文会先把序列通过 ELMo,获得每个词的动态词向量 [公式] 。再把作为 mention 的部分取出来,乘上一个权重后做最大池化得到 [公式] 。接着,我们再拿这个 [公式] 作为 Query,对 Context 做乘法注意力,得到每个词的注意力权重,再用它与原上下文的动态词向量 [公式] 做加权求和得到上下文表征 c。最后我们把 [公式] 与 [公式] 接在一起得到 [公式] ,丢给下游分类器解码。

注明:这里倾向于用 ELMo 而不是 BERT 的原因在用 ELMo 表现更好。ELMo 用到了丰富的字符级嵌入信息。这种低层嵌入对 FET 任务很有用。如果是涉及高级语义特征的任务,比如机器阅读理解任务,BERT 会更合适。

4.2 Type Scorer

一个样本被编码成 [公式] 后会被喂给一个两层的带 tahn 非线性单元的前馈网络,来把 mention-context 嵌入映射到与类型嵌入一致的特征空间,再与类型嵌入做点乘就可以得到与每种类型的相似度。

4.3 Hierarchical Learning-to-Rank

我们引入一个自创的允许多标签多层级分类的排序学习损失。首先,我们计算每个类别的 hinge loss 来把正例类别排在负例类别前面。

这实际上是 ranking SVM 的损失。模型会学到正类样本 [公式] 的得分要比负类样本 [公式] 的得分高一个 [公式] 。通常这个 [公式] 会被设为 [公式] (类型嵌入可以线性尺度缩放),我们用 L2 正则来约束类型嵌入。


但这种方法考虑的是平展开的所有类别,而不是层次化的类别结构——所有类别被给予相同的对待而没有利用它们在类型树中的层次关系。直觉上看,粗粒度类别(更上级的类别)会比细粒度类别(更下级的类别)更容易确认。

比如,把一个实体分类为 /person 还是 /location 比把这个实体分类成 /artist 还是 /athlete 更容易。我们把这一直觉放在 L2R 框架中,便是模型每次只对同级粒度的实体类型进行排序。通过设置不同的 margins 参数来处理不同的粗细粒度级别。



其中, [公式] 指的是类别 [公式] 的层级。比方说,lev (/location) = 1,以及 lev (/person/artist/singer) = 3。其中,正例类型 [公式] 只会与其姊妹类别 [公式] 比较。而设置边际的超参数 [公式] 取决于类别 [公式] 所在的层级。显而易见, [公式] 。类似于原版, [公式] 可以默认设置为 [公式] ,我们用其相对比例来进行比较。为简化,论文做了超参数搜索实验,最终经验得出,按如下公式设置最为合适。其中 [公式] 为类别体系的总层级数, [公式] 为当前类别的层级序数。比如体系有三个级别,那么每一层的边际大小就可以分别设置为 [公式] 。

我们要如何设置正例类别相对于实体表征的相关性大于负例样本的阈值呢?我们可以像论文 [9] 那样,把阈值设置为 0 便可。这样多标签分类问题就成了一系列二分类问题。

或者,我们像论文 [16] 中那样,调出一个能根据不同类型调整适应的动态阈值。这里我们提出一个简单的解决方案。


我们设定,排序器要学会“正例子类别的得分要大于它的父类别的得分,它的父类别得分又要大于它的负例姊妹类别的得分”。基于这个公式,解码的时候,给定一个父类别 [公式] ,若其子类别 [公式] 的得分高于父类别 [公式] 的得分,则输出正例。为此我们可以把 margin [公式] 拆分为两项: [公式] 和 [公式] 。前者为正例类别和其父类别的间距,后者为其父类别和其姊妹负例类别的间距 。可以被用来调整精度和召回的权衡。越小的 [公式] 正例类别和其父节点类别的间距也就越小,就越容易提升精度而降低召回。反之,增加 [公式] ,则精度降低,召回增加。这一过程可以被可视化为下图。最终,我们考虑了三种顺序的层级排序损失函数为: [公式]



4.4 Decode解码的算法如下。我们已知模型预测的 mention 与 每种类别的相似度,以及预先设定好的类型树,求满足 [公式] ,排序顺序的候选路径。首先我们把根类别 “ENTITY” 放入候选实体类型的队列中。循环里,每次出队一个父类型 [公式] ,用 Type Scorer 计算其相关性得分 [公式] 。再把该类型下所有子类别输入给 Type Scorer 得到每个子类型的相关性,并筛选出相关性大于其父类型的子类型。把这些类型加入候选输出集合后,再入队,直到队列为空跳出循环。



4.5 Subtyping Relation Constraint

论文[17]用 ComplEx 方法来构建关系嵌入,针对子类别中的 anti-symmetric and transitive 的关系有很好的表现。ComplEx 通过加入正则损失来约束类型嵌入。它操作在复数空间。论文通过实空间和复空间的自然同构将类型嵌入映射到复杂空间(前半部分为实数,后半部分为虚数)。


我们为子类关系学习单类型嵌入。给定类型 [公式] 和 [公式] ,关系 [公式] 可以用如下评分函数建模:

其中, [公式] 为元素相乘, [公式] 为其复数共轭。若存在 [公式] ,则 [公式] 。给定一个实例 (x, Y),对每个正例类型 [公式] ,都有以下三种关系:

分别对应,一个子类为正例,其父类也一定为正例(父子关系),这个正例的父类不会是它任意的兄弟姊妹(姊妹关系),这个正例的父类也不会是它任意的叔伯姑姨(叔伯关系)。这些关系刚好可以转换为二分类的 SVM 的原始形式,于是这部分的损失有:


与论文[11]的二元交叉熵损失不同,这个 hinge loss 在实际实验中表现要更好,原因在我们用姊妹关系和叔伯关系来作为负例样本。这些负例类别会与其父类非常接近。因此训练时,模型能利用更具竞争力的负例样本来加强学习。

4.6 Training and Validation

最终的损失为如下式子。训练时用的优化器为 2019 年热度很高的 AdamW。超参数包括了 [公式] , [公式] 和 [公式] 。 [公式] 用来调节边距阈值比例, [公式] 用来调节关系约束正则项的比例, [公式] 作为正则项用来约束模型参数大小,防止过拟合。最终结果为超参数搜索后的最佳结果。


Experiments

5.1 Datasets

5.2 Setup

论文使用了 ELMo 三层的全部输出 [公式] ,。类型嵌入 [公式] ,初始学习率为 [公式] ,Batch Size 为 256。最终模型选择为超参数搜索到基于验证集上 F1 score 表现最好的组合。

5.3 Baselines

对于 AIDA 数据集而言,过往研究没用过,没法比。论文只比了 BBN,OntoNotes,以及 FIGER 上近几年来的 SOTA 结果。5.4 Metrics

  • strict accuracy (Acc): 全部标签分类正确样本占所有样本比。
  • macro [公式](MaF): 计算每个类别的准召,得到各自,再求平均。
  • micro[公式](MiF): 不区分类别,直接用总样本的准召计算 。

5.5 Results and Discussions

所有结果都基于互斥的和未定义的分开来比较。对于 AIDA 中有 187 个类别,但训练/验证集中只覆盖了 93 个类别,测试集中有 85 个类别,其中有 23 种类别是训练集、验证集中没见过的。

我们可以用零样本实体标注去处理这类问题。做法是用类型的名字和其描述去初始化类型嵌入。这类问题可以放在以后解决。


在 BBN,OntoNotes,和 FIGER 数据集上都显著好于去年的 SOTA。以上下浮动 0.5 个百分点为基准。实验表明,部分路径标签问题,用未定义的方式处理在 BBN 和 OntoNotes 数据集上都显著好于用互斥的方式去处理。

这个问题来源于数据标注阶段,取决于标注员如何理解互斥和未定义这两种类别。未来也是一个值得探究的方向。

消融实验表明,加入层次化的排序学习或类型关系约束在不同数据集上都有不同程度的提升。其中,层次化排序学习的加入带来的提升更显著。

错误分析集中在三个方面:

1. 对某些类型混淆。比如 /gpe/city 与 /location/region 混淆。这类错误是类型本身相似导致的,一般是可以容忍的。

2. 未完整的类型。比如 “Immigration and Customs Enforcement” 只标 /government agency ,却漏掉了标 /organization。这个跟数据集的分类体系构建有关。可以在类别体系构建上优化。

3. 只专注于部分 mention。“... suggested they were the work of Russian special forces assassins out to blacken the image of Kievs pro-Western authorities” 实例中,模型基于 “Russian special forces” 输出了 /org/government,但正确的标签是 /per/militarypersonnel,模型忽略了 “assassins” 这部分。这个问题与 mention 表征有关。日后引入 type-aware 类型表征或许能解决这类问题。



后记

好的 idea 的产生来自于看待问题的角度。从新的视角将模型要学的任务规范化、简化,往往能得到新奇的效果。但思考如何实现它却是一个工程活。序列标注问题本质是一个结构化学习。其难点在,它要为序列解码,搜索空间很大。为一个东西分十几个类别的任务肯定要比为一个序列的每个位置去分十几个类别要简单。感觉引入机器阅读理解框架的那篇 NER 论文 [19],实际也是用类似的方式把问题简化了。

序列标注改成了只需要在上下文中预测指定类型的实体边界 span,BERT 句嵌入接两个 MLP 分别预测开头和结尾,就能有很好的效果。更有趣的是,机器阅读理解中的很多奇技淫巧也可以用上。


Reference

[1] Ren, X., He, W., Qu, M., Huang, L., Ji, H., & Han, J. (2016, November). AFET: Automatic Fine-Grained Entity Typing by Hierarchical Partial-Label Embedding. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing (pp. 1369-1378).

[2] Chen, B., Gu, X., Hu, Y., Tang, S., Hu, G., Zhuang, Y., & Ren, X. (2019). Improving distantly-supervised entity typing with compact latent space clustering. arXiv preprint arXiv:1904.06475.

[3] Xiao Ling and Daniel S. Weld. 2012. Fine-grained entity recognition. In Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence, July 22-26, 2012, Toronto, Ontario, Canada., pages 94–100.

[4] Dan Gillick, Nevena Lazic, Kuzman Ganchev, Jesse Kirchner, and David Huynh. 2014. Context-dependent fine-grained entity type tagging. CoRR, abs/1412.1820.

[5] Dani Yogatama, Daniel Gillick, and Nevena Lazic. 2015. Embedding methods for fine grained entity type classification. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing of the Asian Federation of Natural Language Processing, ACL 2015, July 26-31, 2015, Beijing, China, Volume 2: Short Papers, pages 291–296.

[6] Shikhar Murty, Patrick Verga, Luke Vilnis, Irena Radovanovic, and Andrew McCallum. 2018. Hierarchical losses and new resources for fine-grained entity typing and linking. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, ACL 2018, Melbourne, Australia, July 15-20, 2018, Volume 1: Long Papers, pages 97–109.

[7] Sheng Zhang, Kevin Duh, and Benjamin Van Durme. 2018. Fine-grained entity typing through increased discourse context and adaptive classification thresholds. In Proceedings of the Seventh Joint Conference on Lexical and Computational Semantics, *SEM@NAACL-HLT 2018, New Orleans, Louisiana, USA, June 5-6, 2018, pages 173–179.

[8] Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, and Luke Zettlemoyer. 2018. Deep contextualized word representations. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, NAACL-HLT 2018, New Orleans, Louisiana, USA, June 1-6, 2018, Volume 1 (Long Papers), pages 2227–2237.

[9] Ying Lin and Heng Ji. 2019. An attentive fine-grained entity typing model with latent type representation. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 61986203, Hong Kong, China. Association for Computational Linguistics.

[10] Peng Xu and Denilson Barbosa. 2018. Neural fine-grained entity type classification with hierarchy-aware loss. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, NAACL-HLT 2018, New Orleans, Louisiana, USA, June 1-6, 2018, Volume 1 (Long Papers), pages 16–25.

[11] Murty, S., Verga, P., Vilnis, L., Radovanovic, I., & McCallum, A. (2018, July). Hierarchical losses and new resources for fine-grained entity typing and linking. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) (pp. 97-109).

[12] Mohamed Amir Yosef, Sandro Bauer, Johannes Hoffart, Marc Spaniol, and Gerhard Weikum. 2012. HYENA: hierarchical type classification for entity names. In COLING 2012, 24th International Conference on Computational Linguistics, Proceedings of the Conference: Posters, 8-15 December 2012, Mumbai, India, pages 1361–1370.

[13] Choi, E., Levy, O., Choi, Y., & Zettlemoyer, L. (2018). Ultra-fine entity typing. arXiv preprint arXiv:1807.04905.

[14] Hailong Jin, Lei Hou, Juanzi Li, and Tiansi Dong. 2019. Fine-grained entity typing via hierarchical multi graph convolutional networks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 4968–4977, Hong Kong, China. Association for Computational Linguistics.

[15] Hongliang Dai, Donghong Du, Xin Li, and Yangqiu Song. 2019. Improving fine-grained entity typing with entity linking. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages6209–6214, HongKong, China.Association for Computational Linguistics.

[16] Sheng Zhang, Kevin Duh, and Benjamin Van Durme. 2018. Fine-grained entity typing through increased discourse context and adaptive classification thresholds. In Proceedings of the Seventh Joint Conference on Lexical and Computational Semantics, *SEM@NAACL-HLT 2018, New Orleans, Louisiana, USA, June 5-6, 2018, pages 173–179.

[17] ThéoTrouillon, JohannesWelbl, SebastianRiedel, ´ Eric Gaussier, and Guillaume Bouchard. 2016. Complex embeddings for simple link prediction. In Proceedings of the 33nd International Conference on Machine Learning, ICML 2016, New York City, NY, USA, June 19-24, 2016, pages 2071–2080.

[18] Ilya Loshchilov and Frank Hutter. 2019. Decoupled weight decay regularization. In 7th International Conference on Learning Representations, ICLR 2019, New Orleans, LA, USA, May 6-9, 2019.

[19] Li, X., Feng, J., Meng, Y., Han, Q., Wu, F., & Li, J. (2019). A Unified MRC Framework for Named Entity Recognition. arXiv preprint arXiv:1910.11476.



Share Http URL:  http://www.wittx.cn/get_news_message.do?new_id=499



请输入评论





























Best Last Month