知识图谱学习笔记(三)—— 实体识别与链接
2021/5/19 18:25:37
本文主要是介绍知识图谱学习笔记(三)—— 实体识别与链接,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 定义、目标和研究意义
实体是文本中承载信息的重要语言单位,一段文本的语义可以表述为其包含的实体及这些实体相互之间的关联和交互。实体识别也就成为了文本意义理解的基础。例如,“26 日下午,一架叙利亚空军 L-39 教练机在哈马省被 HTS 使用的肩携式防空导弹击落”中的信息可以通过其包含的时间实体“26 号下午”,机构实体“叙利亚空军”、“HTS”,地点实体“哈马省”和武器实体“L-39 教练机”、“肩携式防空导弹”有效描述。实体也是知识图谱的核心单元,一个知识图谱通常是一个以实体为节点的巨大知识网络,包括实体、实体属性以及实体之间的关系。例如,一个医学领域知识图谱的核心单元是医学领域的实体,如疾病、症状、药物、医院、医生等。
命名实体识别是指识别文本中的命名性实体,并将其划分到指定类别的任务。常用实体类别包括人名、地名、机构名、日期等。
实体链接主要解决实体名的歧义性和多样性问题,是指将文本中实体名指向其所代表的真实世界实体的任务,也通常被称为实体消歧。例如,给一句话“苹果发布了最新产品 iPhone X”,实体链接系统需要将文本中的“苹果”与其真实世界所指的“苹果公司”进行对应。
2.研究内容与挑战
实体识别与链接处理各种非结构化/半结构化的输入(如文本、新闻网页、商品页面、微博、论坛页面等),使用多种技术(统计方法、深度学习方法、知识挖掘方法),提取各种类型的实体(如人名、地名、商品、药物等),并将这些信息与现有知识图谱进行集成(实体链接)。以下分别介绍具体研究内容。
实体识别
命名实体识别的目的是识别文本中指定类别的实体,主要包括人名、地名、机构名、专有名词等的任务。例如,识别“2016 年 6 月 20 日,骑士队在奥克兰击败勇士队获得 NBA 冠军”这句中的地名(奥克兰)、时间(2016 年 6月 20 日)、球队(骑士队、勇士队)和机构(NBA)。命名实体识别系统通常包含两个部分:实体边界识别和实体分类,其中实体边界识别判断一个字符串是否组成一个完整实体,而实体分类将识别出的实体划分到预先给定的不同类别中去。
实体链接
实体链接的目的是将实体提及与知识库中对应实体进行链接。给定一段文本(如“在旧金山的发布会上,苹果为开发者推出新编程语言 Swift”),一个实体链接系统包括如下研究内容:
- 识别文档中的目标提及(mention)。所谓提及,就是我们想要链接的对象,例如上述例子文本中的提及{“旧金山”,“苹果”,“Swift”};
- 针对每一个提及,识别该提及在知识图谱中可能指向的候选目标实体。例如,上述文本中的提及“苹果”可能指向的目标实体包括 {苹果(水果),苹果公司,苹果(电影),苹果(银行), …};
- 基于提及的上下文等信息对目标实体进行排序。例如,系统需要根据“苹果”的上下文词语{发布会,编程语言,开发者,…}识别出该段文本中“苹果”指的是苹果公司,而不是苹果(水果)或者苹果(电影);
- 空提及检测与聚类。考虑到知识的规模和更新速度,知识库往往不能覆盖
所有真实世界实体。为了解决上述问题,需要识别出知识库尚未包含其目标实体的提及,并将这些提及按其指向的真实世界实体进行聚类。例如,由于现有知识库没有包含上文中提及“Swift”指向的目标实体 Swift(编程语言),实体链接系统需要将“Swift”的目标实体设置为空实体“NIL”,表示该提及在知识库中没有链接对象。
概况说来,上述实体分析任务主要面临以下几个关键科学问题:
-
实体名的歧义性和多样性。
在实体识别中,实体可以有各种各样不同的表达,导致除了少数规范性实体(如电话号码,email 地址)之外,大部分实体都无法使用名字规则来捕捉其规律,而是需要构建统计上下文模型来进行识别。在实体链接中,实体的歧义导致一个实体名有许多可链接的对象,这使得如何挖掘更多的消歧证据、设计更高性能的消歧算法、构建覆盖度更高的实体引用表仍然是实体链接系统的核心问题。 -
资源缺乏(Low Resource)问题
目前绝大部分的实体分析算法都依赖于有监督模型,需要大量的训练语料来达到实用性能。然而,考虑到标注语料的成本,在绝大部分情况下都不可能获得足够的训练语料来处理不同的领域、面向不同风格的文本(规范、非规范)、不同的语言(中文、英文、一带一路小语种等)等多种多样的情况。无需大量训练语料的无监督/半监督技术,资源自动构建技术,以及迁移学习等技术是解决上述问题的核心研究问题。 -
实体的开放性问题
实体具有复杂性和开放性的特点。实体的复杂性指的是实体的类型多种多样,同时类型之间具有复杂的层次结构。实体的开放性指实体并不是一个封闭的集合,而是随着时间增加、演化和失效。实体的开放性和复杂性给实体分析带来了巨大的挑战:开放性使得现有有监督方法无法适应开放知识的抽取;实体的巨大规模使得无法使用枚举或者人工编写的方式来进行处理,同时随着时间变化现有模型的性能会下降。
3.技术方法和研究现状
根据模型的不同,实体分析方法可以分为基于统计模型的方法、基于深度学习的方法和基于文本挖掘的方法;根据对监督知识的依赖,可以划分为无监督方法、弱监督方法、知识监督方法和有监督方法。
3.1 传统统计模型方法
实体识别
自 90 年代以来,统计模型一直是实体识别的主流方法。有非常多的统计方法被用来抽取文本中的实体识别,如最大熵分类模型、SVM、隐马尔可夫模型、条件随机场模型等等。
基于统计模型的方法通常将实体识别任务形式化为从文本输入到特定目标结构的预测,使用统计模型来建模输入与输出之间的关联,并使用机器学习方法来学习模型的参数。例如,最大熵分类模型将命名实体识别转换为子字符串的分类任务,实体识别的代表性统计模型条件随机场模型(CRF)它将实体识别问题转化为序列标注问题。
实体链接
实体链接的核心是计算实体提及(mention)和知识库中实体的相似度,并基于上述相似度选择特定实体提及的目标实体。上述过程的核心在于挖掘可用于识别提及目标实体相互关联的证据信息,将这些证据表示为供计算机处理的形式,并构建高性能的算法来综合不同证据进行链接决策。目前主要使用的证据信息包括实体统计信息、名字统计信息、上下文词语分布、实体关联度、文章主题等信息。
传统统计模型的主要缺点在于需要大量的标注语料来学习,这导致构建开放域或Web环境下的信息抽取系统时往往会遇到标注语料瓶颈。为解决上述问题,近年来已经开始研究高效的弱监督或无监督策略,如半监督算法、远距离监督算法、基于海量数据冗余性的自学习方法等等。传统统计模型的另外一个缺点是其需要人工构建大量的特征,其训练并非一个端到端的过程。为解决上述问题,越来越多深度学习模型被用于实体识别和链接。
3.2 深度学习方法
实体识别
目前存在两类用于命名实体识别的典型深度学习架构。
一种是 NN-CRF 架构,在该架构中,CNN/LSTM 被用来学习每一个词位置处的向量表示,基于该向量表示,NN-CRF 解码该位置处的最佳标签。
第二种是采用滑动窗口分类的思想,使用神经网络学习句子中的每一个ngram 的表示,然后预测该 ngram 是否是一个目标实体。
实体链接
实体链接的核心是构建多类型多模态上下文及知识的统一表示,并建模不同信息、不同证据之间的相互交互。通过将不同类型的信息映射到相同的特征空间,并提供高效的端到端训练算法,深度学习方法给上述任务提供了强有力的工具。
目前的相关工作包括多源异构证据的向量表示学习、以及不同证据之间相似度的学习等工作。
相比传统统计方法,深度学习方法的主要优点是其训练是一个端到端的过程,无需人工定义相关的特征。另外一个优点是深度学习可以学习任务特定的表示,建立不同模态、不同类型、不同语言之间信息的关联,从而取得更好的实体分析性能。
3.3 文本挖掘方法
Web 中往往还存在大量的半结构高质量数据源,如维基百科、网页中的表格、列表、搜索引擎的查询日志等等。这些结构往往蕴含有丰富的语义信息。因此,半结构 Web 数据源上的语义知识获取(knowledge harvesting),如大规模知识共享社区(如百度百科、互动百科、维基百科)上的实体知识抽取,往往采用文本挖掘的方法 。
代表性文本挖掘抽取系统包 DBPedia[Auer et al., 2007] 、Yago[Suchanek & Kasneci, 2008、BabelNet、NELL 和 Kylin 等等
文本挖掘方法的核心是构建从特定结构(如列表、Infobox)构建实体挖掘的特定规则。由于规则本身可能带有不确定性和歧义性,同时目标结构可能会有一定的噪音,文本挖掘方法往往基于特定算法来对语义知识进行评分和过滤。
这篇关于知识图谱学习笔记(三)—— 实体识别与链接的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略