实体链指比赛方案分享

实体链指比赛方案分享:https://aistudio.baidu.com/aistudio/projectdetail/1331020?channelType=0&channel=0

实体链指比赛方案分享

  1. 比赛任务
    实体链指,又称实体链接(Entity Linking,EL),即对于给定的一个中文短文本(如搜索 Query、微博、对话内容、文章/视频/图片的标题等),EL 将其中的实体指称项(mention)与给定知识库(Knowledge Base)中对应的实体(entity)进行关联。 **输入:**中文短文本以及该短文本中的实体指称项(mention) 和其在中文短文本中的位置偏移(offset)的集合。

输出:输出文本此中文短文本的实体链指结果。每个结果包含:实体指称项 mention、其在中文短文本中的位置偏移offset、其在给定知识库中的实体id,如果为 NIL 情况,需要再给出实体的上位概念类型NIL_type。 举个例子:

给定文本“王者荣耀中的李白有哪些台词”、实体指称项“王者荣耀”和位置偏移“0”、实体指称项“李白”和位置偏移“6”。知识库中每个实体指称项对应多个候选实体,如“李白”有“李白_唐代诗人”、“李白_手游《王者荣耀》中的英雄角色”、“李白_李荣浩演唱歌曲”等候选实体。任务目标就是从知识库中多个侯选实体中发现于文本中实体指称项正确关联的实体。这里实体指称项“李白”正确关联的实体就是“李白_手游《王者荣耀》中的英雄角色”,实体指称项“王者荣耀”正确关联的实体就是“王者荣耀_2015年腾讯天美发行的MOBA手游”。

  1. 比赛难点
    相比于长文本拥有丰富上下文信息能辅助实体的歧义消解,短文本的实体链指存在很大的挑战,包括:

比赛数据集主要来自于:真实的互联网网页标题数据、视频标题数据以及用户搜索 Query。存在口语化严重、语序错乱、错别字多等问题,导致实体歧义消解困难。
短文本上下文语境不丰富,须对上下文语境进行精准理解。
相比英文,中文由于语言自身的特点,在短文本的链指问题上更有挑战。
3. 相关研究
实体链指的主要目标是识别上下文中的名称指代哪个现实世界中的实体。具体而言,实体链指是将给定文本中的一个指称项映射到知识库中的相应实体上去,如果知识库尚未收录相应实体,则返回空实体。

最近有不少这方面的优秀工作。Ganea O E& Hofmann T. [1] 开创性地在 EL 中引入 Entity Embedding 作为信息,利用 Attention 机制来获得 Context 的表征,通过实体间的一致性,和 Mention 到 Entity 的 LinkCount 先验概率联合消歧。

Le, P., & Titov, I. [2] 不仅仅考虑 Local/Global 的影响,同时将实体的关系也考虑进 Embedding 中,对 Entity,Mention,Relation 元组进行 Embedding,借用 ESIM 思想进行对多关系加权处理,并使用网络进行匹配操作。

Raiman JR&Raiman OM [3] 认为当我们能预测出实体 Mention 的 Type,消歧这个任务就做的差不多了,主要利用 Type System、Type Classifier 和 LinkCount 来达到消歧的目的。

Sil et al. [4] 不但利用包含 Mention 的句子和 Wiki 页面的相似度,还加入了细粒度的相似度计算模型,将几种相似度作为神经网络的输入,避免了句子中不相关单词对 Mention 消歧的影响。综合来看,实体链接不仅要考虑 Text 的文本信息、KB 的信息、消歧后的一致性,还需要根据具体的业务场景采用不同的方案,需要灵活的运用 LinkCount、Context、Attributes、Coherence 这四大特征。

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

  1. 方案设计
    实体链接一般包括三个主要环节:实体识别、候选实体获取、实体消歧。比赛任务去掉了实体识别,专注于中文短文本场景下的多歧义实体消歧技术,另外增加了对新实体(NIL 实体)的上位概念类型判断。处理NIL实体问题的常用方法有:1. NIL Threshold:通过一个置信度的阈值来判断;2. Binary Classification:训练一个二分类的模型,判断Top1 Entity是否真的是文中的mention想要表达的实体;3. Rank with NIL:在rank的时候,在候选实体中加入NIL Entity,构成完备侯选实体集,再排序选择top1 Entity。本设计方案采用第三种方法,先识别指称项类别,再加入NIL Entity构成完备侯选实体集,最后进行消歧,因此模型整体包括三个模块,指称项分类模块、候选实体获取模块和实体消歧模块。模型框架如下:

4.1 指称项分类
指称项分类,指在给定上位概念类型体系的基础上,预测mention在text中的上位概念类型。指称项分类模块的实现主要基于 BERT 模型,输入文本,经过 BERT 模型编码,取 CLS 位置的特征向量、指称项开始和结束位置对应的特征向量,三个向量拼接,经过全连接层,最后 Softmax 激活得到指称项的类别概率分布。模型结构如下图所示:

其中优化主要改进的点包括:

二次训练:训练集合中非 NIL 部分的分类数据与 NIL 的分布不同,直接与 NIL 部分的数据一起训练会导致模型整体预测 NIL 实体的准确率下降,而直接用 NIL 部分的数据训练则有些训练数据较少的类会训练的不充分。所以我们采用二次训练的方法,第一次的时候使用了训练集中非 NIL 的部分,训练两个 Epoch,然后再在这个基础上去训练 NIL 部分。

对抗学习:对抗训练是对抗防御的一种,它构造了一些对抗样本加入到原数据集中,希望增强模型对对抗样本的鲁棒性。我们在模型训练的时候加入了对抗学习,所使用的对抗学习方法是 Fast Gradient Method [5]。

模型融合:本次使用了 4 个 BERT 预训练模型。模型融合的方法是使用多折的方法训练了一个基于 MLP 的分类模型。

4.2 候选实体获取
候选实体获取,指从mention出发,找到KB中所有可能的实体,组成候选实体集。利用实体的 Alias 字段生成 Mention 和实体的映射表,实体的 Alias 的属性值即为该实体的 Mention,包含该 Mention 的所有实体组成候选实体集合。在候选实体获取时,从 Mention 和实体的映射表中,取出该 Mention 的候选实体集合,然后指称项的类别构成的 NIL 实体组成完备候选实体集。这样组成的完备候选实体集中,必有一个正确的实体和文本中的指称项关联。训练时,指称项的类别来自标注文本中 Kb_id 对应的实体类型,预测时,指称项的类别由 4.1 部分描述的指称项分类模块预测得到。

为了后续使用方便,我们将完备候选实体集中的实体属性进行拼接,处理成实体的描述文本。由于 Type 字段,义项描述和摘要字段的信息重要且占比较大,描述文本中都按照 Type、义项描述、摘要和 Data 中其他 Predicate、Object 对的顺序进行拼接。

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

4.3 实体消歧
针对实体消歧任务,目前最常用的方法是将其视为二分类问题。对每一个候选实体进行多方位的特征因子抽取,将这些特征因子利用一个多层感知机模型进行融合打分,预测每一个候选实体和指称项的关联分数。最后对这些分数进行排序,由于我们在候选实体获取阶段,构建的是完备候选实体集,那么必有一个正确候选实体,所以在排序后选择 Top1 即可作为指称项的关联实体。

特征因子抽取的抽取包括上下文相关特征和上下文无关特征,其中上下文相关特征包括指称项和候选实体的关联概率计算,多个指称项之间的关联概率计算等,上下文无关特征包括实体的流行度、实体的类型等。

这里起到关键作用的特征就是指称项和候选实体的关联概率。指称项和候选实体的关联概率和语义相似度计算的区别在于需要指明文本中待消歧的指称项。我们利用标记符在文本中直接标记出指称项的位置,指明待消歧的指称项。输入文本和候选实体描述文本,在文本的指称项开始和结束位置添加标记符,经过 BERT 模型编码,取 CLS 位置的特征向量,经过全连接层,最后 Softmax 激活得到文本中指称项和候选实体之间的相关性。求指称项和候选实体关联概率的模型结构如下图所示。

另外我们在实体消歧模块也尝试加入对抗学习来提高模型的鲁棒性,其中对抗学习的方法是Fast Gradient Method。不同的 BERT 预训练模型抽取的特征不同,为了丰富特征,本模块采用了 19 个特征因子来从不同方面刻画指称项和候选实体的相关性。这 19 个特征如下表所示,分别为:

popularyity是上下文独立特征,统计得到,统计的标注数据中指称项映射到实体的关联概率。

coherence是上下文依赖特征,统计得到,文本中其他指称项出现在侯选实体描述文本中的概率。

coherence2是上下文依赖特征,统计得到,统计的标注数据中其他指称项出现时指称项和侯选实体的关联概率。

nil是上下文独立特征,实体自带属性,候选实体是否为NIL实体。

bert-base是上下文依赖特征,模型学习得到,bert-base预测的指称项和侯选实体的关联概率。

bertbase=p(ei∣m,c)bert base=p(e_i|m,c)
bert-base-rank是上下文依赖特征,计算得到,bert-base预测的指称项和侯选实体的关联排名。

的关联概率在候选实体集里的rank排名。其余特征均由相应的BERT模型和加入对抗学习的BERT模型预测得到。

特征因子融合的方法是使用多折的方法训练了一个 MLP 的模型。将所有数据集分成 n 份,不重复地每次取其中一份做测试集,用其他四份做训练集训练模型,训练得到 n 个模型。预测时,取 n 个模型的预测结果的平均值,作为预测结果。

  1. 实验结果
    中文短文本的实体链指比赛,限定在给定的标注数据和知识库中。标注数据均通过百度众包标注生成,准确率 95% 以上。标注数据集主要来自于:真实的互联网网页标题数据、视频标题数据、用户搜索 Query。每条标注数据包含 Text,Text_id 和 Mention_data 字段,Mention_data 里面包含连接的 Mention,Offset 以及 Kb_id 字段。知识库包含来自百度百科知识库的约 39 万个实体。知识库中每行代表知识库的一条记录(一个实体信息),每条记录为 Json 数据格式。

指称项分类模型训练中使用二次训练的方法 F1 提升了约 1%,使用对抗学习 F1 提升了约 0.5%,模型融合后在 Dev 数据上 F1 值达到了 90.02%。具体参数和验证数据集下结果如下表:

实体消歧模型共抽取了 19 个特征因子,使用多折的方法训练了一个 MLP 的模型对这些特征因子进行融合,融合后在 Dev 数据上 F1 值达到了 89.29%。具体参数和验证数据集下结果如下表:

  1. 总结与讨论
    本文对实体链指消歧做了一些探索。利用指称项类型预测,构建 NIL_type 实体,解决无链接指代预测问题,同时利用 BERT、对抗学习、特征融合等训练方法极大地提高了实体消歧的准确率。

还有很多需要优化的店,比如当前方法没有充分利用其它指称项的侯选实体信息,对其他指称项信息的利用仅仅停留在名称层面。另外,可以利用一些特征,先对候选实体进行一次排序,选择排序前几的候选实体进行下一步的消歧,这样分层消歧在候选实体过多的情况下不仅可以提高准确率,还能提高消歧效率。

  1. 参考文献
    [1] Ganea O E, Hofmann T. Deep joint entity disambiguation with local neural attention[J]. arXiv preprint arXiv:1704.04920, 2017.

[2] Le P, Titov I. Improving entity linking by modeling latent relations between mentions[J]. arXiv preprint arXiv:1804.10637, 2018.

[3] Raiman J, Raiman O. Deeptype: multilingual entity linking by neural type system evolution[J]. arXiv preprint arXiv:1802.01021, 2018.

[4] Sil A, Kundu G, Florian R, et al. Neural cross-lingual entity linking[J]. arXiv preprint arXiv:1712.01813, 2017.

[5] Goodfellow, Ian J, Shlens, Jonathon, and Szegedy, Christian. Explaining and harnessing adversarial examples.International Conference on Learning Representations(ICLR), 2015.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一步步手动实现热修复(二)-类的加载机制简要介绍

*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 本节课程主要分为3块: 1.一步步手动实现热修复(一)-dex文件的生成与加载2.一步步手动实现热修复(二)-类的加载机制简要介绍3.一步步手动实现热修复(三)-Class文件的替换 本节示例所…

知识图谱能否拯救NLP的未来?

文 | Luke知乎知识图谱是NLP的未来吗?2021年了,不少当年如日中天技术到今天早已无人问津,而知识图谱这个AI界的大IP最火的时候应该是18,19年,彼时上到头部大厂下到明星创业公司都在PR自己图谱NLP布局能够赋予AI认知能力…

论文浅尝 | Data Intelligence 已出版的知识图谱主题论文

本文转载自公众号:DI数据智能。 知识图谱被称为人工智能的基石,它的前身是语义网,由谷歌在2012年率先提出,用于改善自身的搜索业务。Data Intelligence执行…

一步步手动实现热修复(三)-Class文件的替换

*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 本节课程主要分为3块: 1.一步步手动实现热修复(一)-dex文件的生成与加载2.一步步手动实现热修复(二)-类的加载机制简要介绍3.一步步手动实现热修复(三)-Class文件的替换 本节示例所…

Vision Transformer 论文解读

原文链接:https://blog.csdn.net/qq_16236875/article/details/108964948 扩展阅读:吸取CNN优点!LeViT:用于快速推理的视觉Transformer https://zhuanlan.zhihu.com/p/363647380 Abstract: Transformer 架构早已在自然语言处理…

长这么大,才知道数据集不用下载可以直接在线使用

每天清晨打开电脑,搜索所需的数据集,点击“Download”,愉快地眯上眼睛,期待n个小时后醒来乖巧下载好的数据,开始放进模型像小仓鼠进滚轮一样快乐奔跑。梦醒时分,一个“Error”蹦进眼睛里,美好码…

会议交流 - CCKS2020 | 2020年全国知识图谱与语义计算大会

OpenKG开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

LeetCode 739. 每日温度(单调栈)

1. 题目 根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。 例如,给定一个列表 temperatures [73, 74, 75, 71, 69, 72, 76, …

令人振奋的好消息!2016年12月8日Google Developers中文网站发布!

令人振奋的好消息! 2016年12月8日Google Developers中文网站发布! 以往我们需要访问Android的开发网站、Google的开发网站都需要翻墙,苦不堪言。现在Google发布了中文网站,怎能不让人开心?! Android中文…

美团外卖Android Lint代码检查实践

概述 Lint是Google提供的Android静态代码检查工具,可以扫描并发现代码中潜在的问题,提醒开发人员及早修正,提高代码质量。除了Android原生提供的几百个Lint规则,还可以开发自定义Lint规则以满足实际需要。 为什么要使用Lint 在美团…

零基础入门NLP - 新闻文本分类,正式赛第一名方案分享

零基础入门NLP - 新闻文本分类,正式赛第一名方案分享:https://mp.weixin.qq.com/s/7WpZUqdlItBToLYuRLm44g

这篇论文提出了一个文本-知识图谱的格式转换器...

文 | 花小花PosyHello, 大家好,我是小花。今天给大家介绍一篇有野心的paper。为何如此说呢?因为该工作提出了一个知识的格式转换器,用于转换 无结构化的纯文本(Text)和结构化的知识图谱(KG) 。换句话说,给模型一打句子&#xff0c…

论文小综 | Using External Knowledge on VQA

本文转载自公众号:浙大KG。本文作者:陈卓,浙江大学在读博士,主要研究方向为图神经网络和知识图谱表示学习我们生活在一个多模态的世界中。视觉的捕捉与理解,知识的学习与感知,语言的交流与表达,…

如何修改TextView链接点击实现(包含链接生成与点击原理分析)

*这篇文章的主要目的是想要大家学习如何了解实现,修改实现,以达到举一反三,自行解决问题的目的。 某天遇到这么一个需求:在TextView中的文本链接要支持跳转,嗯,这个好办,TextView本身是支持的&…

LeetCode 752. 打开转盘锁(图的BFS最短路径)

1. 题目 你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每个拨轮可以自由旋转:例如把 ‘9’ 变为 ‘0’,‘0’ 变为 ‘9’ 。每次旋转都只能旋转一个拨…

使用TensorFlow训练WDL模型性能问题定位与调优

简介 TensorFlow是Google研发的第二代人工智能学习系统,能够处理多种深度学习算法模型,以功能强大和高可扩展性而著称。TensorFlow完全开源,所以很多公司都在使用,但是美团点评在使用分布式TensorFlow训练WDL模型时,发…

docker镜像打包save,载入load,启动run

docker镜像打包save,载入load,启动run docker打包,针对的是镜像,而不是运行中的容器。 查看当前系统的镜像文件: docker images 首先,将当前运行中的,已经自定义修改之后的容器保存为新的镜像…

会议交流 - CNCC 技术论坛 | NLP中知识和数据怎么选?当然是全都要!——第四届中文信息技术发展战略研讨会...

本文转载自公众号:中国计算机学会 。本论坛将于CNCC2020期间,10月23日下午16:00-18:00,在北京新世纪日航饭店3层南京厅举行。本论坛将邀请多位来自国内著名高校和人工智能企业的知名自然语言处理专家介绍他们在知识图谱、知识获取、预训练模型…

从我开发过的Tensorflow、飞桨、无量框架看深度学习这几年

文 | Peter潘欣知乎和深度学习框架打交道已有多年时间。从Google的TensorFlow, 到百度的PaddlePaddle,再到现在腾讯的无量。很庆幸在AI技术爆发的这些年横跨中美几家公司,站在一个比较好的视角看着世界发生巨大的变化。在这些经历中,视角在不…

探索Glide对Gif图片资源的获取、解析过程

先预祝大家汤圆节快乐!很久没写博客了。今天我们来探索一下Glide是如何支持Gif图片加载的。 本篇博客的目的 了解代码分析的基本思路与方法了解Glide是如何对Gif图片进行支持的 探索背景 为什么会有这么一个想法呢,一来一直对Glide是知其名而不知其所…