上一讲我们学习了知识图谱的一些基本概念:
斯坦福大学CS520知识图谱系列课程学习笔记:第一讲什么是知识图谱 - 简书
本节课程关于如何构建知识图谱,因为知识图谱的构建是整个知识图谱领域的一个非常核心且基础的工程,如何将现有的数据以知识图谱的数据结构建立和存储,是一个学术界和工业界都非常关心的问题。
第一位讲者主要介绍如何构建企业知识图谱,也就是如何利用企业已有的一些关系型数据库来构建图数据库,以满足更高效的知识查询和推理的能力。
数据集成需要将不同来源的数据组合起来,并向用户提供一个整体视角的数据集。其中包含3个主要元素:(1)全局本体,(2)实例链接,(3)不完整数据。
因此,在构建知识图谱的时候,首先需要了解数据源是什么样的。
比如Oracle ERP系统,包括2万个表,其中也包含太多的属性,同时如果需要连接这些表就需要非常复杂的关系。此外,还有一些的表比如是使用德语来命名的,这样就难难理解表的命名,同时管理数据和使用数据都非常困难,且数据的质量都是未知的。
对于同样一个问题,不同部门的数据就会给出不同的答案。因此,需要整合数据来解决不同数据源的数据不统一的问题。
接下来的内容主要是面向工业界的数据集成的解决办法,如果主要研究这一领域的朋友可以直接观看这一讲的B站视频:
【CS520】斯坦福大学2020春季知识图谱课程(含中英字幕,自动生成)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com
第二位讲者为我们带来了自监督学习的讲解,自监督学习是近几年逐渐受到AI研究者关注的一个方向,因为机器学习面临的一个显著问题是如果要构建高质量的机器学习产品,需要首先构建大型的高质量的训练集。但是,一个关键思想是,新的理论和系统概念(包括监管薄弱,自动数据增强策略等)可以使工程师更快,更经济地构建训练集。听完这一位讲者的课程内容,发现一整讲都是关于自监督学习的,和知识图谱构建没什么关系。
第三位讲者是来自Apple公司的一位工程师,主要讲解知识图谱构建及其在Siri中的应用。这位讲者的讲授内容和构建知识图谱的主题最为相关,因此我们可以重点进行学习。
原来苹果公司的PPT风格长这样^~^
首先我们了解到我们经常使用的的Siri也是依赖于知识图谱的,可见知识图谱在问答和对话系统领域具有非常重要的作用。
对于不同类型的输入数据,比如非结构化的文本数据、半结构化的HTML表数据、表格类的结构化数据等都需要转换为一个统一的格式,就是三元组,对这些不同来源的数据进行融合,得到一个一致的知识图谱,并实现一些推理任务来生成新的事实。
1 infobox抽取
知识库构建的第一个主要任务是infobox抽取,也就是从半结构化数据中抽取出三元组知识,输入是经常出现在比如Wikipedia右上角的HTML表,输出是包含(Subject,relation,Object)这样的规范三元组,并且这里三元组是用标识串(实体Q开头,关系P开头)而不是字符串表示的。但是,infobox抽取目前存在几个主要挑战,这里给出对于DBpedia的例子:
(1)无法适应模板改变:例如原本“birthData”模板改变为“date_of_birth”,这时就需要修改模板映射,但实际上每天都有大量的模板在更新,因此需要可扩展性。
(2)锚点链接是实体链接的唯一手段:在Wikipedia中,有很多的半结构化数据并没有链接到一些实体,例如奥巴马的儿子并没有链接到奥巴马,
因此,讲者团队提出了一个鲁棒的infobox抽取方法RIBE。他们认为HTML格式的数据是非常有用的,并且可以利用机器学习的方法自动从中抽取出三元组知识。并且实验表明提出的RIBE方法在性能上超过了DBpeida抽取器。
1.1 第一个要解决的关系抽取问题:
对于Wikipedia中的一个subject mention,首先将对应的所有object mention取出分别于subject mention 组成候选对,再对这些候选对进行特征抽取,同时,采用了远程监督的方法利用现有的知识图谱,来查找和候选对匹配的三元组,例如suject是甲壳虫乐队,object是约翰列侬,并且在知识图谱中找到了一个三元组(甲壳虫乐队,成员,约翰列侬),这时就可以为候选对添加谓词“成员”,接着利用每个关系对应的一个分类器对未标记的候选对进行关系分类,例如甲壳虫乐队和麦卡特尼,分类器给出概率最大的关系是成员。
1.2 第二个重点工作是实体链接:
这个问题是指有了一个三元组,但是其中的实体是字符串表示的,这时就需要将其链接到解析后的实体ID。这里可以利用和关系抽取中类似的远程监督的方法,给出subject和关系,需要确定object需要链接到哪个实体ID,例如subject是甲壳虫乐队,关系是成立于,object是利物浦,这时需要确定这里的利物浦是指城市,足球队还是大学。接着,和关系抽取一样,结合特征抽取并经过分类器将非链接的实体链接到实体ID,这样就能构成用ID来表示的规范三元组。
通过精度、召回、F1和列表完整性(回答列表值的问题)等多个评价指标来比较RIBE方法和DBpedia抽取器的性能,可以看出RIBE比DBpedia方法在各个指标上都取得了很大提升,这得益于对模板更新的鲁棒性,相关研究成果发表在NAACL2019。
2 实体解析
知识库构建的第二个需要考虑的任务是实体解析。当有多个知识图谱时,需要能够自动识别出不同知识图谱中相同的实体,例如iTunes和Wikidata中可能有很多完全相同的实体。因为不同的知识图谱具有一些不同的信息,比如Wikidata中有很多关于出生地、得奖、成员等信息,iTunes中具有更多的是音乐相关的知识,所以需要将这两个知识图谱进行融合,但这两个知识图谱还具有一些共有的姓名信息,因此需要将不同知识图谱的相同实体ID进行合并。针对实体解析,在Popular Artists和Uniform Random两个数据集上分别进行了测试,均取得了不错的效果。
将这个任务扩展到大规模的实体解析,也就是对几十个甚至上百个知识图谱进行相同实体的合并。人工来完成这个任务的话消耗大量时间和精力,因此需要设计机器学习算法来自动化实现大规模的实体解析。解决这个问题的核心思路是利用知识图谱表示学习的方法将实体嵌入到实值向量空间,并在向量空间中对实体进行匹配。
对于一个实体e,将其关联的所有关系和实体分别用embedding的向量表示,然后通过编码器将这些组合起来的embedding向量编码为固定尺寸的矩阵,这个矩阵就是实体e的嵌入表示,并将两个来自不同知识图谱中的实体的嵌入表示用点积运算学习得到一个相似度矩阵。对这个相似度矩阵经过CNN并给出匹配程度的预测结果。
从实验结果可以看出,是用embedding的方法比之前的方法在Popular Artists和Uniform Random两个数据集上都取得了更优的实体解析效果。在苹果公司其它数据集上这种embedding的方法也都取得了让人满意的效果。
从讲者的讲解中可以看出,自动化构建知识图谱中的核心是关系抽取和实体对齐,以及为了实现知识融合的实体解析技术,这些也是目前学术界和工业界共同关注的研究方向,值得深入研究。
往期精选:
斯坦福大学CS520知识图谱系列课程学习笔记:第一讲什么是知识图谱
如果对文章感兴趣欢迎关注微信公众号“人工智能遇上知识图谱”,也欢迎关注同名知乎专栏“人工智能遇上知识图谱“,让我们一起学习并交流讨论人工智能与知识图谱技术。