ccks2020中文短文本实体链接任务测评论文--小米团队--第一名

测评论文名:面向中文短文本的多因子融合实体链指研究
官网文档链接:http://sigkg.cn/ccks2020/?page_id=700
本笔记主要将测评论文中的主要内容提炼,方便后续借鉴,读者可在上述官方文档链接中找到文档学习

摘要

论文首先采用了预训练的BERT来对短文本中的指称项进行类别预测, 利用预测的类型构建一个NIL实体,和其他候选构成完备候选实体集,然后对每一个候选实体进行多方位的特征因子抽取,利用一个多层感知机将多个特征因子融合打分,最后根据每一个候选实体和文本的关联分数进行 排序,选择分数最高的候选实体作为实体消歧预测结果。

引言

传统的实体链指任务主要是针对长文档,主要利用词袋模型计算指称项所 在上下文文本与候选实体所在文本之间的文本相似度,进而用文本的相似度来 衡量实体间的相似度,长文档拥有丰富上下文信息能辅助实体的歧义消解并完 成链指。

中文短文本实体链指主要挑战:

  • 口语化严重,导致实体歧义消解困难
  • 短文本上下文语境不丰富,须对上下文语境进行精准理解
  • 相比于英文,中文由于语言自身的特点,在短文本的链指问题上更有挑战

论文中技术路线:

  • 先采用预训练的BERT来对短文本中的实体进行类别预测,利用预测类型构建一个仅包含类型特征的实体称为NIL_type实体,和知识库中其他可以检索到的实体构成完备候选实体集,确保文本中的给定的指称项都能有一个正确的链接实体
  • 对每一个候选实体进行多方位的特征因子抽取,特征因子抽取包括上下文相关特征的抽取和上下文无关特征的抽取
    • 上下文相关特征包括文本上下文和候选实体描述的相似度计算,多个指称项之间的关联度计算等
    • 上下文无关特征包括实体的流行度、实体的类型等
  • 将上述特征因子利用一个多层感知机模型进行融合打分,预测每一个候选实体和文本的关联分数。最后对分数进行排序,选择分数最高的候选实体作为实体消歧预测结果

NIL_type实体说明

根据官方提供的任务说明文档中的信息理解,NIL_type实体存在的原因是实体链接任务的目标要给文本中存在的实体提及从给定的知识库中找到对应的实体,但是存在某些文本中的实体提及在知识库中没有对应的实体,但是可以该实体分类到一个具体、明确的概念中,将这样的概念是为NIL_type实体。下图为官方任务说明文档中给的例子,该图表示的是一个预测输出,其中kb_id就是主要预测的内容,可以看到前面三个实体的kb_id都是一个具体的数字编号,表示知识库中一个实际存在的实体,但是mention:谋权小说对应的kb_id是NIL_Work,对应的就是一个NIL_type类型的实体
在这里插入图片描述
官方任务说明书中提供了NIL_type实体的详细定义,如下图所示
在这里插入图片描述
在这里插入图片描述

创新点

  • 利用标记符在文本中直接标记出指称项的位置,从而可以利用通用的BERT计算语义相似度的模型完成实体消歧,大大节省了工作量
  • 利用指称项类型预测,构建NIL_type实体,解决无链接指代预测问题

实验方法

指称项分类

简单的说,就是对文本中实体提及进行分类,指称项就是实体提及。使用bert模型,输入是文本和文本中实体提及位置索引;文本经过bert微调后与通常的取句首的[CLS]的特征向量进行分类不同,其是将[CLS]和实体提及的开始位置和结束位置三个向量拼接,再经过全连接层和softmax进行类别分类。训练时使用了下面三个tricks:

  • 二次训练:训练集合中非NIL部分的分类数据与NIL的分布不同,直接与NIL部分的数据一起训练会导致模型整体预测NIL实体的准确率下降,而直接用NIL部分的数据训练则有些训练数据较少的类会训练的不充分。采用二次训练的方法,第一次使用训练集中非NIL的部分,训练两个Epoch,然后再在这个基础上去训练NIL部分
  • 对抗学习:构造了一些对抗样本加入到原数据集中,希望增强模型对对抗样本的鲁棒性;使用的对抗学习方法是Fast Gradient Method(FGM)
  • 模型融合:小米团队认为不同的bert预训练模型抽取的特征不同,使用4个bert预训练模型,基于提取的特征数据进行多折训练MLP分类模型

使用单个bert预训练进行指称项分类模型图如下图所示
在这里插入图片描述

候选实体获取

知识库中的每个实体是用一个json数据表征的,如下图所示;每个实体包含subject_id、subject/实体名称、alias/实体对应的别名、type/实体属于的类型、data/实体的数值属性。
在这里插入图片描述
从数据构建的角度来说,每个实体的alias中的属性值就是该实体的mention/实体提及,一个mention可能存在多个实体的alias中,即包含该mention的所有实体组成候选实体集合。这些工作是可以离线完整的,直接从基础数据中构建mention与候选实体的引射表并存储,当要使用时直接使用mention进行匹配获得候选实体,再添加基于mention的类别构建的NIL_type实体即组成完备的候选实体集。训练时,指称项的类别来自标注文本中Kb_id对应的实体类型;预测时,指称项的类别由“指称项分类”部分描述分类模块预测得到。

为了后续使用方便,将完备候选实体集中的实体属性进行拼接,处理成实体的描述文本。由于Type字段,义项描述和摘要字段的信息重要且占比较大,描述文本中都按照Type、义项描述、摘要和Data中其他Predicate、Object对的顺序进行拼接。例如文本"永嘉厂房出租"中"出租"对应的候选实体Id和描述文本为[[“211585”, “类型:其他|简介:动词,收取一定的代价,让别人在约定期 限内使用|外文名:rental|拼音:chū zū|解释:交纳租税|中文名:出租|举例:出租图书|日本語:レンタル|标签:非娱乐作品、娱乐作品、小说作品、语言、电 影、字词”], [“304417”, “类型:车辆|描述:辞源释义|简介:出租车,供人临时 雇佣的汽车,多按里程或时间收费,也叫出租车|外文名:Taxi、Cab、Hackies|粤语:的士|台湾名:计程车|拼音:chūzūchē|中文名:出租车|新加坡名:德士|标签:交通工具、社会、生活”], [“NIL_Other”, “类型:其他|描述:未知实体”]],其中"211585"和"304417"为检索到的候选实体集合,NIL_Other为生成的候选实体,一起组成了"出租"在该文本下的完备候选实体集。

实体消歧

目前最常用的方法将实体消歧视为一个二分类问题,对每一个候选实体进行多方位的特征因子抽取,将这些特征因子利用一个多层感知机模型进行融合打分,预测每一个候选实体和指称项的关联分数。由于在候选实体获取阶段,构建的是完备候选实体集,那么必有一个正确候选实体,所以在排序后选择Top1即可作为指称项的关联实体,使用单个bert预训练模型进行实体消歧如下图所示
在这里插入图片描述
小米团队将特征因子分为:

  • 上下文相关特征:指称项和候选实体的关联概率、多个指称项之间的关联概率
  • 上下文无关特征:实体的流行度、实体的类型

训练上述一个bert模型,其实相当于训练了一个特征提取器。测评论文中描述“指称项和候选实体的关联概率和语义相似度计算的区别在于需要指明文本中待消歧的指称项。我们利用标记符在文本中直接标记出指称项的位置,指明待消歧的指称项。输入文本和候选实 体描述文本,在文本的指称项开始和结束位置添加标记符,经过BERT模型编 码,取CLS 位置的特征向量,经过全连接层,最后Softmax激活得到文本中指称 项和候选实体之间的相关性。”,表达的意思就是如上图所示,但并没有说明在指称项/mention前后添加两个标记符的作用,难道只是单纯的添加上去,“标记符”的作用测评论文在创新点中进行了描述,但也是表述不清,没有表示其到底参与了哪些计算。并且上述测评论文中对关联概率计算方法的描述与DataFunTalk发布的文章“知识图谱在小米的应用与探索”中不一致。

小米团队使用不同的预训练模型针对不同的特征一共提取了19个特征因子(如下图所示),从不同方面刻画指称项和候选实体的相关性;再进行多折训练MLP模型对最终的候选实体进行预测。将所有数 据集分成n份,不重复地每次取其中一份做测试集,用其他n-1份做训练集训练模型,训练得到n个模型。预测时,取n个模型的预测结果的平均值,作为预测结果。
在这里插入图片描述
从目前可以获得资料中不能提取出详细的19维特征的提取细节,上述DataFunTalk发布的那篇文章中有部分描述,也说明了该方法中借鉴的一些论文,有兴趣的读者可以自己学习。如果作者后续学习完毕,也会总结成笔记发布出来。

总结

本笔记主要对小米团队在ccks2020的中文短文本实体链接任务中取得第一名的测评论文进行解析,结合官方提供的任务说明书和DataFunTalk发布的一篇文章补全了很多信息,但是还是有一些细节不是很清晰。如果读者发现文章中错误或者了解实体消歧中19个特征的提取细节请留言评论,相互交流学习。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值