人物图谱构建技术

人物图谱构建技术

作者:许茜,漆桂林,王然,殷春锁,丁自民

知识图谱主要可以分为两大类,即通用知识图谱和行业知识图谱。大众熟知的知识库大多包含通用领域知识,如DBpedia,yago,freebase等。其特点是范围广、质量高,但在特定领域不够深入。

人物图谱是以“人物”实体和人物之间的社会关系为核心构建的知识图谱。根据“六度分离理论”,在人际交往中,任意两个陌生人最多只要通过五个朋友就能建立联系。从某种意义上来说,世界上所有人都可以通过个人的关系网以特殊的方式联系起来[1]。比如,周恩来总理和鲁迅先生看似毫无关系的两个人,实际上,二者均是周敦颐的后人。

人是社会的基础,也是社会的中心。可靠性高、内容丰富的人物百科图谱可以更清晰的展示人物介绍和人物之间关联性,同时也能在应用于智能搜索、智能问答、个性化推荐时提供更为可靠详细的知识。

一、相关工作

目前较为成熟的人物知识图谱包括微软人立方关系搜索以及搜狗人物知识图谱等,本部分将简要介绍一下这两种知识图谱并分析他们的优点与不足之处以及本项目在这方面的改进工作。

微软人立方关系搜索是由微软亚洲研究院研发的社会化计算实验系统。人立方,即“众”,其设计理念是“聚集大众的力量,实现互联网的知识整理”。用户的参与和互动是人立方的重点,通过用户与人立方的互动,基于超过十多亿个中文网页中的各种中文短语(如人名、地名、机构名等),动态的构建出一张互联网人物关系图谱。

用户在使用人立方时,在搜索框中输入关键词,人立方将以搜索的关键字为核心,显示普通的网页结果、相关的资讯结果、关键字涉及的简介(比如搜张朝阳,出来的就是完整的张朝阳简历)、关系,效果如图1所示。

图1:张朝阳人物图谱 http://wangyahong.blog.sohu.com/96044923.html

微软人立方关系搜索的实用之处在于通过获取互联网上的各类信息分析提取人物关系并根据实时热点等信息动态生成人物关系网络,但是互联网上的海量的信息很难做到保证信息来源的可靠性,因此人物关系的真实性很难保证。

搜狗人物知识图谱(tupu.baike.sogou.com/)应用目的为优化用户的搜索体验(见图2)。这同时带来了问题,由于其面向用户的应用性,所以在实体构造的时候仅选取知名度较高的人物带来了忽视其他同名人物的问题。

图2:郭德纲人物图谱 https://zhuanlan.zhihu.com/p/25816988

下面介绍我们提出的人物知识图谱构建的方法,该方法着力解决现有知识图谱存在的不足之处,其一在于数据来源的可靠性,项目基于来源较为可靠的数据来源(百科)并对数据来源进行显性标注,其二在于根据百科特性解决同名人物问题,将同名词条下的不同人物赋予不同id[2],并根据百科词条完整的文本部分进行一定的属性和关系补全,进一步提高了知识图谱的质量。

二、图谱的知识获取

此部分主要描述的是百科人物知识初始数据的获取与处理,下文主要以百度百科下的体育人物为例进行技术介绍。

2.1 源网页的解析与爬取

本项目的知识来源为百科人物数据,首先我们在百科的分类页面选定相关类别进行爬虫,如图3所示:

图3:百科人物分类

使用爬虫爬取百科词条数据,其数据组织的基本结构如表1所示。可以看到,词条名称(人物名)、词条信息(InfoBox)等。对于每条属性或关系,彼此之间都存在着映射的关系,都可以用形如(王治郅,身高,214cm)的RDF三元组形式来表示。

表1:实体“王治郅”的抽取结果

2.2 人物实体获取

百科网页中获取到的实体种类并非全是人物,因此我们需要对数据进行一定程度的筛选。此处我们利用基本属性和页面标签来进行过滤。首先对所有抽取得到的实体词条信息中的属性和标签进行统计,再进行筛选得到人物实体常见的属性(如出生地、国籍等)和标签(体育人物、娱乐明星等)。将具有这些属性或标签的页面筛选出来作为待抽取页面。

三、schema的构建

3.1 schema构建的原则[3]

我们希望通过schema中的类层次对我们的实体做出一个合理的划分。因此,通过父类和子类之间的“is a”关系对实体进行划分。

如果一个类仅有一个直接的子类,那么这个模型的构建就是不完整的。如果一个类的子类太多,那么在这个类和其现在这众多的子类之间可能需要一个中介分类来将这众多的子类划分为不同的类。同时注意,系统允许类层级结构中有多继承现象的存在,即一个类可以使多个超类的子类。

决定将一个概念定义为一个类还是一个实例,取决于这个本体的应用场景的本质需求。类的层级分类结束位置和实例的开始位置与知识表达的粒度相关。

3.2 顶层概念的选取

构建schema的第一步,我们需要抽取出这个图谱中所用到的所有顶级概念。

因为这是一个人物图谱,所有人物毫无疑问是我们需要的一个顶级类。此外,我们发现描述人物的过程中还涉及到很多其它概念,例如“事件”、“成就”、“机构”等,我们同样也将他们抽取出来。

我们构建的人物schema的一部分如表2所示:

表2:人物图谱schema示意

3.3 子类引入和schema的细化

在构建schema时,我们往往从顶级概念出发,并且使用自顶向下的构建方法。

我们在引入新的子类的时候,需要考虑这个新的类是否满足以下条件:

(1)具有其父类不具有的新的属性;

(2)具有其父类不具有的新的约束条件;

(3)子类具有了父类没有参与的关联;

总结一下,就是当仅仅依靠父类不足以满足我们的描述时,我们需要引入新的子类。新定义的子类除了从父类继承而来的属性之外,一般还会定义自己新的属性。

比如说,最初的schema设计时,在顶层概念“人物”下分了四个子类,见图1。但在实际的使用过程中,我们发现这个简单的划分不能满足我们的要求,比如“歌手”和“演员”同属于娱乐人物之列,但“歌手”主唱的歌曲和“导演”所拍的片子不能被归纳在同一个属性里。在其它人物类型下也同样存在这个问题。同时,我们还发现这四个类别难以概括它们的人物父类,总有一些人物无法被归入其中的任何一类。

图4:项目最初schema划分

为了解决这个问题,我们对人物实体的分类做出了进一步细化,拓展与调整后的结果如图5所示:

图5:schema的细化

3.4 数据驱动调整schema

类的属性设置最初来自于我们对这个类描述的需求,但在实际过程中,我们需要考虑使用的数据是否能为我们提供这些属性,并从数据出发对schema做出反向调整。

以项目中的体育人物为例,我们对获取的infobox进行了属性频次统计如图6所示:

图6:体育人物属性频次统计

对比我们最初的预设,我们发现数据中较多的提供了诸如“毕业院校”的属性,加上后可以让我们的图谱更加详细,而schema中的“信仰”属性则很少出现。据此对schema中体育人物的属性设置做出调整。

四、 知识抽取

4.1 类别推断

在schema中,不同类型的人物需要抽取不同的属性,因此我们要对人物实体进行类别推断。最简单有效的方式是可以结合一些实体库网站提供的实体名单来辅助推断。

此外,可以通过词条页面的一些信息进行推断。如图7所示,篮球体育人物王治郅的词条信息中我们可以关注到某些具有代表性的属性(运动项目)可以将王治郅标记为篮球运动员;乒乓球运动员马龙的infobox属性中也有同样的代表性属性,见图8。总结类似规则,据此进行类别推断。

图7: 实体“王治郅”的词条信息(InfoBox)
图8:实体“马龙”的词条信息(InfoBox)

4.2 半结构化数据的知识抽取——Infobox

Infobox是百科知识图谱重要的知识来源,通常在infobox中就可以获得页面的最关键信息。我们可以从infobox中抽取属性和关系。由于百科具有众包的性质,会使得不同页面的相同属性/关系的名称不一致,或同类型的属性值的格式不统一。

对于属性/关系名称的不统一,我们可以根据WordNet构建同义词库进行抽取。如“故乡”属性,构建同义词库“出生地”、“籍贯”、“祖籍”等一并进行抽取。

对于属性值的格式不统一,如出生日期可能会有“1977年7月8日”、“1977-7-8”、“1977.07.08”等多种表达形式,这些本质相同,形式不同的数据会给知识的规范化管理带来问题,所以需要对属性值进行归一化。可制定规则,把出生日期一律改写为“XXXX年XX月XX日”。将出生日期的不同表达——“1977年7月8日”、“1977-7-8”、“1977.07.08”通过正则表达式获取对应数值,再根据规则重新组合为相同形式。

图9是从体育人物词条Infobox中抽取出来的部分数据,以三元组的形式存储。

图9:体育人物抽取知识示例

4.3 非结构化数据抽取——文本

这部分介绍从文本中抽取属性和关系,以对infobox抽取结果做补全。

4.3.1 属性补全

若人物实体某属性对应的属性值具有明显规律,对于此类属性,我们逐一设计用于识别该属性值的模式,基于规则对文本进行抽取。对于不具有明显规律的属性,使用基于模型的属性抽取。

·基于规则的抽取

表3给出一些正则表达式的例子。

表3:正则表达式示例
图10:王治郅百科信息

将正则表达式抽取结果,与实体名、属性名结合,转为三元组的形式。如图10所示“王治郅”的生日信息,用正则表达式提取后,同样的进行归一化,转化成三元组(王治郅,生日,1977年07月08日)

·基于模型的抽取

对于缺少明确特征的属性值,我们选择使用基于LSTM-CRF的模型方法。 LSTM(长短时记忆网络)适合解决序列标注问题,但无法对标签转移关系进行建模,因此我们将LSTM与CRF(条件随机场)相结合。

标准RNN重复模块只有单一的tanh循环体,而LSTM(长短时记忆网络)在模块中将其替换为“三门”结构——输入门、遗忘门、输出门,相比RNN可以学习到长距离依赖。结构如图11所示:

图11:长短时记忆网络结构图[4]

其中,“遗忘门”主要包含一个sigmoid激活函数。sigmoid函数的功能是将一个变化范围很大的值映射入[0,1],可用来决定是否遗忘上一层。“遗忘门”根据当前输入xt、上一时刻的输出ht-1及权重参数矩阵决定信息是否应该被忘记。

CRF有两类特征函数,一类是状态特征函数,一类是转移特征函数。在LSTM+CRF模型中,LSTM的输出替代状态特征函数的输出,转移特征函数即标签转移矩阵。

在具体实验中,可以构造特定属性的训练数据,将含有该属性的人物摘要进行标注进行训练。训练好的模型用于识别人物词条文本中的该属性。

4.3.2 关系补全

关系抽取的难点在于,不仅依赖目标实体的信息,还要考虑句子本身的语义和语法信息,这部分我们使用BERT模型(Bidirectional Encoder Representation from Transformers)。BERT主要分为两部分,首先要预训练模型,再根据具体任务进行fine-tune。

Peng Shi & Jimmy Lin的文章中提出了一种基于BERT的简单模型(见图12),用于解决关系抽取和语义角色标注任务。将BERT的训练结果和位置信息拼接输入到BiLSTM层,结果表明可以取得相当不错的效果[5]。

图12:BERT+BiLSTM模型架构(Peng Shi & Jimmy Lin)

五、 总结

本文以百度百科下的体育人物为例,介绍了人物图谱构建流程。可靠性高、内容丰富的人物百科图谱可以提供更清晰的人物介绍和人物之间关联性的展示。为了构建高质量人物图谱,需要考虑数据来源较为可靠,并根据百科特性为每个人物赋予ID以区分同名人物。此外,现代社会知名人物关系经常会发生变化,如何实现图谱实时更新以保证知识的时效性是我们下一步亟待解决的问题。

注:百度百科目前版本已去掉词条标签

参考文献

[1] 六度分离理论baike.baidu.com/item/%E

[2] 杨一帆, 马进, 王海涛, 何正球, 陈文亮, 张民 (2020). 基于简介文本的中文人物关系图谱属性补全与纠错. 中国科学: 信息科学(7期).1003–1018

[3] Noy, Natalya F, McGuinness, Deborah L. Ontology Development 101: A Guide to Creating Your First Ontology[J]. And Stanford Medical Informatics, 2001.

[4] Hochreiter, S. , & Schmidhuber, J. . (1997). Long short-term memory. Neural Computation, 9(8), 1735-1780.

[5] Shi, P., & Lin, J. (2019). Simple bert models for relation extraction and semantic role labeling. arXiv preprint arXiv:1904.05255.

编辑于 08-04

文章被以下专栏收录