本文转载自公众号:图谱学苑 。
本次讲解的是数据库领域的三大会(SIGMOD、VLDB、ICDE)近两年关于图数据的研究进展,特别是知识图谱的最新研究。知识图谱是2012年Google为改进其搜索引擎而提出的概念,其本质是一个描述事物本身以及事物之间关联关系的大规模的语义图,然而在数据库领域关于图数据的相关研究已经有了很多年,图论的相关研究甚至在计算机诞生之前就已经有了大量的研究,早在1736年瑞典数学家欧拉(Leornhard Euler)解决了著名的哥尼斯堡七桥问题,由此图论诞生,欧拉也成为图论的创始人。
知识图谱作为图数据的一种,目前主要关注三个相关的研究问题,分别是知识图谱构建、知识图谱查询、知识图谱挖掘,以下将从这三个方面分别进行介绍。注意到本文不是专门介绍某一篇文章,而是对相关的研究进行梳理,旨在介绍不同的关注点上的研究进展。
知识图谱的相关应用首先需要构建一个知识图谱,而构建知识图谱是一项十分重要并且极具挑战的任务。知识图谱由<主体(subject),谓词(predicate),客体(object)>组成。进行实体抽取是构建知识图谱最为基础的任务之一,近些年也得到了数据库领域研究人员的关注,其中的一种方法是基于词典的检索,假定我们预先得到一个丰富的实体词典,基于这个词典可以从输入的文本根据相似度进行筛选。传统的方法分别考虑了字(character)级和词(token)级的相似度,这两种相似度各自具有一定的优势,比如对于文本中的“Melbounre” 由于拼写错误,考虑用字级的相似度更合适;相反的,对于文本中的“MelbounreUniversity ” 和“The University of Melbourne”实际上是指同一个实体,如果考虑字级的相似度,肯能会使得两者之间的距离很大,从而导致错误的识别。因此,需要设计一种同时融合字级和词级的相似度,兼具两者的优势,ICDE 2019提出了一种解决方案,详见参考文献【10】。
构建知识图谱关键的任务之一是确定图谱的schema,由于不同产品具有的类型和相关的属性千差万别,比如手机的属性有屏幕尺寸、分辨率等,而狗粮的属性有保质期、原料等,因此构建产品知识图谱难度更大。除此之外,产品的数量十分庞大,对于产品知识图谱的构建提出了进一步的挑战。ICDE 2019提出了一种可行的方法【11】。
在面向文本数据构建知识图谱的过程中,一项十分重要的任务是进行三元组的规范化,即把不同三元组中实际指向同一个实体的主体(subject)或客体(object)链接到一起;类似的,对于不同三元组中的谓词或属性若是同样的意思,则也需要进行标准化。一个常用的方法是把这些三元组聚类,聚类的过程可以采用人工定义的特征,也可以基于所学到的分布式表示。然而传统的聚类大多采用的是层次聚类,时间复杂度较高,并且很多新出现的实体难以链接到已有的知识图谱中,为了解决这一问题,ICDE 2019有研究人员提出了一个解决方案【12】,作者们提出了一种同时考虑实体和关系标准化的联合策略,并且引入了领域知识。
VLDB 2018有研究人员提出了一种在线构建知识图谱的方法【16】,当用户给定了一个查询之后,系统检索到包含查询的自然语言文本,然后进行在线解析,生成结构化的知识图谱。作者构建了一个语义图(semantic graph),包括句子中的短语以及短语之间的依赖关系,同时还包含了短语到已有的知识图谱的(例如DBpedia)的链接关系。基于语义图进行最终的图谱抽取,同时也可以解决了知识图谱的标准化问题。
知识图谱构建完成之后,需要对构建的质量进行评测,准确率可以定义为知识图谱中正确的三元组的比例,当前的质量评测通常还是通过人工的方式进行。因此,如何保证评测可信度的前提下最大限度的降低人工的成本是十分重要的任务。对于一个人同样是查验5条三元组,如果数据的呈现方式不同,最终所花费的代价也可能不同。例如,上图中左侧的三元组由于涉及到了不同实体,而右侧的三元组涉及的是同一个实体,很明显,查验右侧的数据所耗费的时间更少。VLDB 2019的文章【1】对这个问题做了深入细致的研究。
由于知识图谱在构建过程中可能有引入很多的噪音数据,如果能够在知识图谱中发掘一些规则,并基于这些规则进行知识图谱的修正,对于知识图谱质量的提升具有重大的作用。规则有正负面之分,例如,正面规则(positive rules):如果两个人具有同样的父母,这这两个人是兄弟姐妹的关系;负面规则(negative rules):如果a比b晚出生,则b不可能是a的孩子。文献【15】提出了规则自动发现的算法。
知识图谱/图数据构建好之后,一个重要的任务是,提供有效的查询方式,为用户浏览数据提供方便的服务。结构化的查询语言如SPARQL、Cyper有着严格的语法结构,并且需要用户对底层的知识图谱的结构有清晰的了解,否则难以写出正确的可以执行的查询语句。因此,提供更易于使用的查询方式显得尤为重要。SIGMOD 2019上有研究人员提出了一种可视化的图查询方法【3】,系统准备了一些基本图单元,用户可以从中选择并且拖拽的右侧的画图区,然后根据需要进一步进行拼接,最终形成一个完整的图查询。然而,之前的方法,这些基本图单元是系统预先设定好的,通常是基于人工的经验得到的,对于大规模的图数据、知识图谱,想要提前确定好这些基本图单元是十分困难的,为此,作者们提出了一种基于数据驱动的选择方案,具体可以参考文献【3】。
基于自然语言的方式查询知识图谱目前已经成为了十分重要的方式,然而由于自然语言本身的灵活性和歧义性导致问答的效果不理想,特别是针对复杂句的问答。VLDB 2018有研究人员提出了一种基于模板分解的方法,其基本思想是把复杂问句拆解成一组简单问句,而简单问句的回答相对容易的多。最终基于简单问句的答案,生成复杂句的答案。
例如,问句“where was the wife of the USpresident born?”可以拆解成3个简单模板,并且这三个模板之间具有依赖关系。然而对于一个复杂问句,设计一个有效的拆解算法具有一定的挑战。文献【17】给出了一个高效的拆解方案。
当图的规模非常大时,可能需要基于分布式的系统进行处理,而这里面有一个非常重要的问题是如何进行图的划分,划分的目的是减小网络通信的代价,并且使得各个划分的子图尽可能较为均匀,从而有助于提升并行化的程度。由于当前的数据具有高度变化的特点,也就是数据难以获得其全貌,而只能以流数据的形式进行处理,SIGMOD 2019有研究人员对这个问题进行了一个比较系统而全面的比较和分析【20】。
在动态图上的研究也是近两年的热点问题之一,涉及到多个经典问题的研究,包括k-truss(最大的连通子图,其中每条边被至少k-2个三角形包含)、最短路查询 【8】、子图同构搜索【13,14】等。参考文献【7】提出了在动态图上维护k-truss的高效算法,并且证明了在删除边的情况是有界的bounded(SIGMOD 2019)。除此之外,知识图谱嵌入的研究也得到了广泛的关注【9】。
知识图谱/图数据的相关研究主要关注三个方面:知识图谱的构建、知识图谱的查询、知识图谱的挖掘。本文从这三个方面粗略地介绍了近两年在数据库领域的顶级会议的相关研究,有兴趣的读者可以有针对性的进一步阅读和了解。
[1] Efficient Knowledge Graph Accuracy Evaluation, VLDB 2019
[2] An Efficient Parallel Keyword Search Engine on Knowledge Graphs, ICDE 2019
[3] CATAPULT Data-driven Selection of Canned Patterns for Efficient Visual Graph Query Formulation, SIGMOD 2019
[4] Interactive Graph Search, SIGMOD 2019
[5] Answering Why-questions by Exemplars in Attributed Graphs, SIGMOD 2019
[6] Experimental Analysis of Streaming Algorithms for Graph Partitioning, SIGMOD 2019
[7] Unboundedness and Efficiency of Truss Maintenance in Evolving Graphs, SIGMOD 2019
[8] Constrained Shortest Path in a Time-Dependent Graph, VLDB 2019
[9] NSCaching: Simple and Efficient Negative Sampling for Knowledge Graph Embedding, ICDE 2019
[10] 2ED: An Efficient Entity Extraction Algorithm using Two-Level Edit-Distance, ICDE 2019
[11] Building a Broad Knowledge Graph for Products, ICDE 2019
[12] Canonicalization of Open Knowledge Bases with Side Information from the Source Text, ICDE 2019
[13] Time Constrained Continuous Subgraph Search over Streaming Graphs, ICDE 2019
[14] TurboFlux: A Fast Continuous Subgraph Matching System for Streaming Graph Data, SIGMOD 2018
[15] Robust Discovery of Positive and Negative Rules in Knowledge-Bases, ICDE 2018
[16] Query-Driven On-The-Fly Knowledge Base Construction, VLDB 2018
[17] Question Answering Over Knowledge Graphs: Question Understanding Via Template Decomposition,VLDB 2018
[18] Interactive Graph Search, SIGMOD 2019
[19] Answering Why-questions by Exemplars in Attributed Graphs, SIGMOD 2019
[20] Experimental Analysis of Streaming Algorithms for Graph Partitioning, SIGMOD 2019
OpenKG
开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
点击阅读原文,进入 OpenKG 博客。