以下文章来源于DataFunTalk ,作者李文杰 博士
DataFunTalk. 专注于大数据、人工智能技术应用的分享与交流。致力于成就百万数据科学家。定期组织技术分享直播,并整理大数据、推荐/搜索算法、广告算法、NLP 自然语言处理算法、智能风控、自动驾驶、机器学习/深度学习等技术应用文章。 导读:本文分享图数据库和知识图谱的基础内容以及我们做过的相关工作。主要内容包括以下五个方面: 什么是知识图谱 知识图谱研究的多个维度 从人工智能和大数据角度看待知识图谱 我们的工作 知识图谱相关案例 01 什么是知识图谱 1. 搜索引擎方式革新 2012年5月6日,Google发布了“知识图谱”的新一代“智能”搜索功能。 传统的搜索引擎搜索数据,更多的方法是基于关键词匹配的方式。 近两年来,我们到各大搜索引擎上搜索信息时,比如搜索关键词“詹姆斯瓦特”,你会发现在某一个地方出现一些卡片,信息卡片的方式是搜索领域的一大革新,它是基于知识图谱的方式。 2. 知识图谱的本质 基于关键词匹配的传统搜索引擎,是将匹配到关键词后再把信息展现出来。 如果把信息的形式进行转换,例如将里面的人物、地点、时间等信息抽取出来,构建一个知识图谱的结构,就可以将“詹姆斯瓦特的校友是谁?”等问题的答案推理出来。 知识图谱实现了从原来的关键字匹配、内容匹配的方式,转变为对信息的推理、对信息的追溯这种方式。 知识图谱本质上是基于图的语义网络,表示实体与实体之间的关系。 02 知识图谱研究的多个维度 知识图谱相关领域包括知识工程、自然语言处理、数据库、机器学习等。 知识工程:例如知识库构建、基于规则的推理等。 自然语言处理:例如信息抽取、语义解析等。 数据库:例如RDF数据库系统、数据集成、知识融合等。 机器学习:例如知识图谱数据的知识表示(Graph Embedding)等。 1. 知识工程 知识图谱是Web和⼤数据时代的知识⼯程新的发展形态。 知识工程的核心是知识库和推理引擎。 知识库包括以下几个方面: 领域本体的构建:面向特定领域的形式化地对于共享概念体系的明确而又详细的说明。 知识抽取:从海量的数据中通过信息抽取的⽅式获取知识。 知识融合:通过对多个相关知识图谱的对⻬、关联和合并,使其称为⼀个有机的整体,以提供更全⾯知识。 ① 知识图谱数据模型 RDF 基于领域本体的构建,有几种基本的数据模型,比如常见的RDF数据模型。 RDF数据模型将知识库里面的各个本体以及它的属性,还有一些相关的属性值,以及它和其他的本体之间的关系,用一个3元组的方式来描述,即主谓宾三列的表。 RDFs RDF数据模型的一种变式,在RDF数据层的基础上引⼊模式层,定义类、属性、关系、属性的定义域与值域来描述与约束资源,构建最基本的类层次体系和属性体系,⽀持简单的上下位推理。 本体语言OWL 进⼀步扩展RDFs词汇,可声明类间互斥关系、属性的传递性等复杂语义,⽀持基于本体的⾃动推理,提供了⼀组合适web传播的描述逻辑的语法,对机器友好,但认知复杂性限制了⼯程应⽤。 ② 知识抽取 ③ 大规模知识抽取 知识库的构建有以下案例: Yago(Yet Another Great Ontology) 融合了WordNet和Wikipedia,从Wikipedia的结构中抽取信息,利⽤⼈⼯采样评估 DBPedia 通过社区成员定义和撰写准确的抽取模板,进⽽从维基百科中抽取结构信息,并将其发布到Web上。 Freebase 从Wikipedia和其他数据源(如 IMDB、MusicBrainz)中导⼊知识。 2. 自然语言处理 ⾃然语⾔处理和知识图谱研究是双向互动的关系:⾃然语⾔处理为知识图谱抽取知识;知识图谱可以提升NLP任务的准确度。 (1)知识图谱与自然语言处理 知识图谱与自然语言处理在如下两个方面关系紧密: ①信息抽取 主要技术:实体识别与抽取、实体消歧、关系抽取 趋势及挑战: • 从封闭⾛向开放 • ⼤规模信息抽取 • 深层次挖掘信息背后的语义(从抽取到理解) ②语义解析 语义解析就是将⾃然语⾔映射成机器可以表达的形式。 主要技术:词义消歧、语义⻆⾊标注、指代消解等。 应⽤: • ⾯向知识图谱的⾃然语⾔问答 • 聊天机器⼈等 (2)实体识别 在实体识别中,命名实体识别的主要⽅法有如下两种: ①基于规则的实体识别⽅法 基于命名实体词典的⽅法:采⽤字符串完全匹配或部分匹配的⽅式,从⽂本中找出与词典最相似的短语完成实体识别。 优点:规则简单。 缺点:需要构建词典和规则;性能受词典规模和质量的影响。 ②基于机器学习的实体识别⽅法 利⽤预先标注好的语料训练模型,使模型学习到某个字或词作为命名实体组成部分的概率,进⽽计算⼀个候选字段作为命名实体的概率值。若⼤于某⼀阈值,则识别为命名实体。 分为:最⼤熵模型(Maximum Entropy Model)和条件随机场模型(Conditional Markov Random Field)。 (3)语义解析之语义搜索 语义搜索是指搜索引擎的⼯作不再拘泥于⽤户所输⼊请求语句的字⾯本⾝,⽽是透过现象看本质,准确地捕捉到⽤户所输⼊语句后⾯的真正意图,并以此来进⾏搜索,从⽽更准确地向⽤户返回最符合其需求的搜索结果。 (4)语义解析之知识问答 智能问答的主要⽅法有如下两种: ①基于信息检索的⽅法 ⾸先利⽤中⽂分词、命名实体识别等⾃然语⾔处理⼯具找到问句中所涉及到的实体和关键词,然后去知识资源库中去进⾏检索,并通过打分模型对答案进⾏排序。 ②基于语义解析的⽅法 将⼀个⾃然语⾔形式的问句,按照特定语⾔的语法规则,解析成语义表达式,将其转化为某种数据库的查询语⾔。 两种主要方法的框架对比如下所示: 3. 图数据库 知识图谱与图数据库的关系从以下四个方面介绍:知识图谱与数据管理、基于关系的知识图谱存储管理、原生知识图谱存储管理、知识图谱与图数据库。 ① 知识图谱与数据管理 知识图谱本质上是多关系图,通常⽤“实体”来表达图⾥的结点、⽤“关系”来表达图⾥的边。 关系型数据库:实体与实体之间的关系通常都是利⽤外键来实现,对关系的查询需要⼤量join操作。 图数据库:图模型建模实体(结点)和实体之间的关系(边),在对关系的操作上有更⾼的性能。 ② 基于关系的知识图谱存储管理 使用三元组进行知识图谱的存储: 优点:简单明了 缺点:最⼤问题在于将知识图谱查询翻译为 SQL 查询后会产⽣三元组表的⼤量⾃连接操作。 为解决基于关系的是指图谱存储管理中出现的问题,采用以下两种方法解决: 属性表:属性相似的聚为⼀张表 优点:克服三元组⾃连接的问题。 缺点:⼀对多联系或多值属性存储问题、RDF的灵活性等。 代表:采⽤属性表存储⽅案的代表系统是 RDF 三元组库 Jena。 垂直划分:以谓语划分三元组表 优点:克服属性表的空值多值问题。 缺点:⼤量属性表、删除代价⼤。 代表:采⽤垂直划分存储⽅案的代表数据库是 SW‐Store。 ③ 原生知识图谱存储管理 RDF模型 gStore系统利用子图匹配整个图谱。 优点:任意一个节点不满足子图的模式都可以跳过,实现高并发。 属性图 典型属性图代表:Neo4j图数据库。 与RDF的区别为:边也有属性,可以与RDF互相转换 ④ 知识图谱与图数据库 4. 机器学习 在与机器学习的联系更多地表现在知识表示学习这一方面,应用较多的场景为知识推理。 ① 知识表示学习 知识表示学习的背景是基于⽹络形式的知识表示存在数据稀疏问题和计算效率问题。 知识表示学习(representation learning)主要是⾯向知识图谱中的实体和关系进⾏表示学习,使⽤建模⽅法将实体和向量表示在低维稠密向量空间中,然后进⾏计算和推理。 优点:显著提升计算效率,有效缓解数据稀疏,实现异质信息融合。 应⽤:知识图谱补全、相似度计算、关系抽取、⾃动问答、实体链指。 举例:知识表示代表模型:TransE [Bordes et al., NIPS 13]。 对每个事实(Subject, Predicate, Object),将其中的predicate作为从subject到object的翻译操作。每个Subject/Predicate/Object,都映射成⼀个多维向量。优化⽬标是S+P=O 。 ② 自然语言问答 03 从人工智能和大数据的角度看待知识图谱 为什么要从这两个角度来看待?这主要是目前这两个角度非常火。 ① 人工智能的诞生 早在1956年达特茅斯会议上,首次提出“⼈⼯智能(Artificial Intelligence, AI)”的概念。人们将他概括为“⽤机器来模仿⼈类学习以及其他⽅⾯的智能”。 人工智能目前有两个流派:符号主义(Symbolism)与连接主义(Connectionism)。 符号主义 符号主义(symbolicism),⼜称为逻辑主义(logicism)、⼼理学派(psychologism)或计算机学派(computerism),其主要原理为认知过程就是在符号表示上的⼀种运算。 可以举例理解: ⼩明认识⾃⾏⻋O:O(a,b,c,d,e) ,其中a(⻋把))b(⻋胎)d(坐垫)e(⻋架)c(脚踏)。 连接主义 连接主义(connectionism),⼜称为仿⽣学派(bionicsism)或⽣理学派(physiologism),其主要原理为智能活动是由⼤量简单的单元通过复杂的相互连接后并⾏运⾏的结果。 当前典型研究:深度学习、深度神经⽹络。 可以举例理解: ⼩明学骑⾃⾏⻋:经过⻓时间练习,⼩明终于学会了!却说不清楚“到底该怎样”骑。 ② 知识图谱与人工智能 计算机的发展分为三个阶段:计算智能、感知智能、认知智能。 人工智能需要机器智能,特别是认知智能,而认知智能依赖知识图谱。 目前的重要研究方向是和连接主义的结合(例如知识图谱的表示学习等)。 ③ 知识图谱与大数据 知识图谱与大数据的联系 “知识图谱”是⾯向关联分析的⼤数据模型。 大数据的5V 特性包括:Volume(大量),Velocity(高速),Variety(多样),Value(价值),Veracity (真实)。其中最重要是Value,但价值是隐含的,而大数据里面隐含的关系,可以用一个知识图谱来表示。 知识图谱与大数据的应用 知识图谱与大数据方面的应用包括以下几个方面: 图机器学习,例如TransE,GCN等模型。 图数据库,例如RDF图gStore、Virtuoso,属性图Neo4j、janusgraph等。 图计算系统,例如点中心模型系统Pregel、GraphLab等。 图挖掘算法,例如Pagerank、Simrank、社区发现、影响力传播等。 04 我们的工作 ① 研发路线图 我们团队来自于北京大学王选计算机研究所数据管理研究室,2011年开始做图数据库方面的研究,提出了子图匹配的方法来实现RDF的查询、2013年至2017年开发的gStore中提出了基于结构感知的图数据库索引和子图匹配查询优化理论。 ② 技术路线图 基于图的生态链的系统平台分为三个步骤研发:知识图谱的构建、知识图谱管理、知识图谱应用。 知识图谱的构建 大部分数据是结构化或非结构化等形式,存储在关系数据库中,而非以RDF或属性图的形式存储,因此在构建时需要进行数据形式的转换。 涉及知识抽取、知识融合等问题,是整个系统平台的重难点。 知识图谱管理 解决转换成RDF或属性图的数据怎么存储、如何进行数据管理、为知识图谱应用提供高效访问接口等问题。 知识图谱应用 开发知识图谱的应用,体现数据的价值,是整个系统平台的价值点。 ③ 产品生态 gStore 项⽬特点:基于⼦图匹配的图数据查询和优化策略,单机能⽀持50亿规模的图数据的存储和查询,以及更新等。 代码:除了SPARQL语法解析器外均为独⽴开发的,⽬前有14万⾏C++代码,完成⾃主知识产权。 目前版本:v 0.9.1 项⽬主⻚:gstore.cn 开源地址:https://github.com/pkumod/gStore gBuilder 项⽬特点:知识图谱构建的⼀体化平台,包括Schema设计,结构化和⾮结构数据抽取,融合多种⽂本抽取的算法模型,以及抽取模型NAS搜索等。 gAnswer 项⽬特点:基于⼦图匹配的知识图谱的⾃然语⾔问答⽅法。 开源地址:https://github.com/pkumod/gAnswer gStore Workbench gStore可视化管理工具。 gCloud “开箱即用”的gStore服务。 gMaster 支持百亿规模分布式部署。 gStore高效RDF图数据库管理系统实现了自主可控国产化,能够与国产化CPU和操作系统适配。赋能国产⾃主可控的计算机体系架构。 05 相关案例 ① 金融科技 知识关联查询:⾦融实体查询、多层股权查询、⾦融实体关联分析。 ⻛险分析:⻛险识别、资本系分析。 ② 政府大数据 社会的自然人会产生诸多数据,例如出生、教育、住房、就业、婚姻生育、医疗养老、死亡等方面的数据。基于这些数据可以进行政府大数据融合与挖掘,例如用于民政和司法的亲属关系检索。 ③ 智慧纪检 可以使用知识图谱进行干部廉洁画像、社会关系分析、话单分析等。 ④ 智慧医疗 基于药物说明书构建“病-症-药”的知识图谱,可以进行疾病科室、疾病症状、疾病并发症、健康饮食智能问答等应用。 ⑤ 人工智能 例如智能问答等语音机器人。 ⑥ 气象交通 将规则写进知识图谱,实时采集气象信息并进行知识图谱的匹配,以起到预警的作用。 ⑦ 公安知识图谱 多维度知识探索:从“同程、同宿、同案件”等多个维度进⾏知识探索和知识推理。 隐含关系挖掘:从交通出⾏、⽹吧上⽹、出⼊境等部⻔和系统中获取数据,发现⼈物的“同⾏,同上⽹,同出国”等隐含关联关系。 嘉宾:李文杰博士 北京大学 博士后 推荐阅读《图数据库原理、架构与应用》 推荐语:这是一本能帮助读者快速掌握图数据库的原理、架构、算法、扩展、规划、测评、优化以及实战应用的著作,书中的理论和实践均来自国内领先的图数据库企业Ultipa的科研成果和实践经验,由Ultipa的创始人兼CTO孙宇熙领衔撰写。