A. 知识图谱概述
概要
- 数据源
- 结构化数据
- 非结构化数据
- 多媒体数据
- Iot传感器
- 众包
- 知识图谱:从数据源,提炼、关联,会形成知识图谱
- 知识引擎:借助神经网络、表示学习等工具/方法,会构成自己的知识引擎
- 应用场景:语义搜索、智能问答、语言理解、媒体理解、推理引擎、决策引擎
- 通用知识图谱和领域知识图谱的区别
- 知识来源及规模化
- 通用知识图谱
- 以互联网开放数据,如Wikipedia或社区众包为主要来源,逐步扩大规模
- 领域知识图谱
- 以领域或社区内部的数据为主要来源,通常要求快速扩大规模
- 通用知识图谱
- 对知识表示的要求
- 通用知识图谱
- 主要以三元组实时型知识为主
- 领域知识图谱
- 知识结构更加复杂,通常包含较为复杂的本体工程和规则型引擎
- 通用知识图谱
- 对知识质量的要求
- 通用知识图谱
- 较多采用面向开放域的Web抽取、对知识抽取质量有一定容忍度
- 领域知识图谱
- 知识抽取更加复杂,较多地依靠从企业内部的结构化、非结构化数据进行联合抽取,并依靠人工进行审核校验,保障质量
- 通用知识图谱
- 对知识融合的要求
- 通用知识图谱
- 融合主要起到提升质量的作用
- 领域知识图谱
- 融合多源的领域数据是扩大构建规模的有效手段
- 通用知识图谱
- 知识的应用形式
- 通用知识图谱
- 主要以搜索引擎和问答为主要应用形式,对推理要求较低
- 领域知识图谱
- 应用形式更加全面,除搜索问答外,通常还包括决策分析、业务管理等,并对推理的要求更高,并有较强的可解释性要求
- 通用知识图谱
- 知识来源及规模化
- 创建知识图谱的成本
- 手动创建一个三元组的成本:2 ~ 6 美元
- Cyc
- 总成本:1.2亿美元
- 21M断言,每条断言 5.71美元
- Freebase
- 总成本:67.5亿美元
- 每条:2.25美元
知识图谱和数据仓库的区别
- 相同点
- 多源数据汇总
- 数据清洗
- 数据建模(维度建模 VS 本体论)
- 数据展示(报表统计 VS 关联关系图)
- 不同点
- 数据建模
- 维度建模:数据关联、数据/属性共享
- 实体:
- 关系:简单的key关联
- 本体论:实体、实体之间的关联关系
- 实体:可以建立类属性、可集成
- 关系:对称、传递等
- 维度建模:数据关联、数据/属性共享
- 底层数据结构
- 数仓:表结构、规范化
- 图谱:RDF三元组、更加灵活
- 应用场景
- 数仓
- 报表统计
- 图谱
- 实体之间的关联关系
- 推理
- 数仓
- 数据建模
发展历史
- 历史
- 1960年:Semantic Networks语义网络作为知识表示的一种方法被提出,主要用于自然语言理解领域
- 1980年:Ontology哲学概念“本体”被引入人工智能领域用来刻画知识
- 1989:webTime Berners-Lee 在欧洲高能物理研究所中心发明了万维网
- 1989:Linked DataTime Berners-Lee定义了在互联网上链接数据的四条原则
- 1998:The Semantic WebTime Berners-Lee提出了语义互联网概念
- 2012:Knowledge Graph谷歌发布了其基于知识图谱的搜索引擎产品
- 人工智能流派
- 连接派:模拟人脑结构
- 神经网络 -> 深度学习 聪明的人工智能 感知/识别/判断
- 符号派:模拟人的心智
- 知识表示 -> 知识图谱 有学识的人工智能 思考/语言/推理
- 连接派:模拟人脑结构
- 知识图谱和专家系统
- 知识图谱的显著特点是规模巨大,无法单一依靠人工和专家构建
知识图谱项目 - 早期项目
- 早期项目
- Cyc
- 目标:建立人类最大的常识数据库
- 组成部分
术语:概念、关系和实体
断言:术语之间的关系,既包括事实描述,也包括规则描述 - 现状
50万条术语和700万条断言
形式化的优势是可以支持复杂的推理,但过于形式化也导致知识库的扩展性和应用的灵活性不够
- WordNet
词典知识库,由普林斯顿认知科学实验室从1985年开始开发
组成部分
定义了名词、动词、形容词和副词之间的语义关系 - ConceptNet
最早源于MIT媒体实验室的OMCS项目
采用了非形式化、更加接近自然语言的描述,而不是像Cyc一样采用形式化的谓词逻辑
- Cyc
知识图谱项目 - 互联网时代的知识图谱
- 知识库构建方式包括:互联网众包、专家协作和互联网挖掘
- Freebase
- 数据来源
- 采用社区成员协作方式构建,主要数据来源包括Wikipedia、世界名人数据库、开放音乐数据库以及社区用户的贡献等
- 数据模型:RDF三元组模型
- 数据存储:图数据库
- 数据来源
- DBPedia
- 数据来源
- 从Wikipedia抽取出来的链接数据集
- 还与Freebase、OpenCYC、Bio2RDF等多个数据集建立了数据链接
- 数据模型
- RDF语义数据模型,总共包含了30亿个RDF三元组
- 采用了一个较为严格的本体,包括人、地点、音乐、电影、组织机构、物种、疾病等类定义
- 数据来源
- Schema.org
- 数据来源
- 有Bing、Google、Yahoo和Yandex等搜索引擎公司共同支持的语义网项目支持各个网站采用语义标签的方式将语义化的链接数据嵌入到网页中2015年,谷歌推出的定制化知识图谱支持个人和企业在其网页中增加包括企业联系方式、个人社交信息等在内的语义标签
- 数据来源
- Wikidata
- 数据来源
- 众包协作
- 数据模型
- 三元组为基础的知识条目:<地球,地表面积是,五亿平方公里>
- 数据来源
- BabelNet
- 数据来源
- 将WordNet词典和Wikipedia集成
- 数据模型
- 271种语言,1400万个同义词,36.4万个词语关系,3.8亿个链接关系19亿个RDF三元组
- 数据来源
- NELL
- 数据来源
- 卡内基梅隆 大学开发的
- 从Web网页中自动抽取三元组知识
- 基本理念
- 给定一个初始的本体和少量样本,让机器能够通过自学习的方式不断地从web中学习和抽取新知识。
- 数据模型
- 300多万条三元组
- 数据来源
- Yago
- 数据来源
- 德国马普研究所研制的链接数据库
- 集成了 Wikipedia、WordNet和GeoNames三个数据库的数据
- Yago将WrodNet的词汇定义与Wikipedia的分类体系进行了融合集成,是的Yago具有更加丰富的实体分类体系
- 基本理念
- 数据模型
- 添加了时间和空间知识,为很多知识条目增加了时间和空间维度的属性描述
- 包含1.2亿条三元组知识
- 数据来源
- Microsoft ConceptGraph
- 数据来源
- 通过从互联网和网络日志挖掘数据进行构建
- 数据模型
- 以概念层次为体系的知识图谱
- 以概念定义和概念之间的IsA关系为主
- 可以消除短文本理解和语义歧义
- 数据来源
- LOD
- 数据来源
- 数据模型
- 四个原则
- 使用URI标识万物
- 使用HTTP URI,以便用户可以查看事物的描述
- 使用RDF和SPARQL标准
- 喂食物添加与其他事物的URI链接,建立数据关联
- 1143个链接数据集,其中社交媒体、政府、出版和生命科学四个领域的数据占比超过了90%
- 56%的数据集对外至少与一个数据集建立了链接
- 四个原则
知识图谱项目 - 中文开发知识图谱
- 社区:OpenKG
- 通过对主要百科数据进行了链接计算和融合工作,并通过OpenKG提供开放的Dump或开放访问API
- 收集和整理了一些重要的知识图谱开源工具,包括知识图谱建模工具Protege、知识融合工具Limes、知识问答工具YadaQA、知识抽取工具DeepDive等
- cnSchema.ORG是OpenKG发起和完成的开放的知识图谱Schema标准
- 包括了上千种概念分类、数据模型、属性和关系等常用概念定义,以支持知识图谱数据的通用性、复用性和流动性。
- 主要解决如下三个问题
- Bots是搜索引擎后新兴的人机接口,对话中的信息粒度缩小到短文本、实体和关系,要求文本和结构化数据的结合,要求更丰富的上下文处理机制等,这都需要Schema的支持
- 知识图谱Schema缺乏对中文的支持
- 知识图谱的构建成本高,容易重新发明轮子,需要用合理的方法实现成本分摊
- 知识图谱数据
- Zhishi.me:狗尾草科技,东南大学
- CN-DBpedia:复旦大学
- XLore:清华大学
- Belief-Engine:中科院自动化所
- PKUPie:北京大学
- ZhOnto:狗尾草科技
知识图谱项目 - 垂直领域知识图谱
- 电商领域知识图谱:以阿里巴巴为例
- 数据来源
- 阿里已有的结构化商品数据为基础,并与行业合作伙伴数据、政府工商管理数据、外部开放数据进行融合扩展
- 知识图谱的规模已经达到了百亿级
- 数据模型
- 除了简单的三元组外,还包含层次结构更加复杂的电商本体和面向业务管控的大量规则知识
- 在知识的质量方面,对知识的覆盖面和准确性都有较高的要求
- 应用场景
- 商品搜索、商品导购、天猫精灵等产品的智能问答、平台的治理和管控、销售趋势的预测分析等
- 数据来源
- 医疗领域知识图谱:以Linked Life Data项目为例
- 数据来源
- 包含各类基础医学、文献、医院临床等多种来源的数据
- 数据模型
- RDF三元组规模就达到102亿个,包含从基因、蛋白质、疾病、化学、神经科学、药物等多个领域的知识
- 在知识质量方面,特别涉及临床辅助决策的知识库通常要求完全避免错误知识
- 应用场景
- 数据来源
- 金融领域知识图谱
- 数据来源
- 机构已有的结构化数据和公开的公报、研报及新闻的联合抽取等
- 数据模型
- 金融概念具有较高级的复杂性和层次性,并较多依赖规则性知识进行投资因素的关联分析
- 应用场景
- 金融问答、投顾投研类决策分析性应用为主
- 数据来源
知识图谱的技术流程
- 知识来源
- 非结构化数据:比如说文本数据,需要综合实体识别、实体链接、关系抽取、事件抽取等各种自然语言处理技术,实现从文本中抽取知识
- 结构化数据:需要将结构化数据到本体模型之间的语义映射,再通过编写语义翻译工具实现结构化数据到知识图谱的转化。此外,还需要综合采用实体消歧、数据融合、知识链接等技术,提升数据的规范化水平,增强数据之间的关联
- 人工众包是获取高质量知识图谱的重要手段。
- 还可以开发针对文本、图像等多种媒体数据的语义标注工具,辅助人工进行知识获取
- 知识表示与Schema工程:知识表示是指用计算机符号描述和表示人脑中的知识,以支持机器模拟人的心智进行推理的方法与技术,知识表示决定了图谱构建的产出目标,即知识图谱的语义描述框架、Schema与本体、知识交换语法、实体命名及ID体系
- 组成部分
- 基本描述框架定义指数图谱的基本数据类型和逻辑结构,如RDF
- W3C的RDF把三元组作为基本的数据模型,其基本的逻辑结构包含主语、谓词、宾语三个部分
- Schema与本体定义知识图谱的类集、属性集、关系集和词汇集
- 交换语法定义知识实际存在的物理格式,如Turtle、JSON等
- 实体命名及ID体系定义实体的命名原则及唯一标识规范等
- 基本描述框架定义指数图谱的基本数据类型和逻辑结构,如RDF
- 知识类型
- 词:以词为中心,并定义词与词之间的关系
- 实体:以实体为中心,并定义实体之间的关系、描述实体的术语体系等
- 关系
- 事件:是一种复合的实体
- 术语体系
- 规则
- 组成部分
- 知识抽取
- 按照任务不同,可以分为:概念抽取、实体识别、关系抽取、事件抽取和规则抽取等
- 发展历史
- 传统专家系统时代的知识主要依靠专家手工录入,难以扩大规模。
- 现代知识图谱的构建通常大多依靠已有的结构化数据资源进行转化,形成技术数据集,再依靠自动化知识抽取和知识图谱补全技术,从多种数据来源进一步扩展知识图谱,并通过人工众包进一步提升知识图谱的质量
- 手段
- 从结构化数据抽取知识的工具:Triplify、D2RServer、OpenLink、SparqlMap、Ontop等
- 从文本中获取知识主要包括实体识别和关系抽取,
- 关系抽取方法:基于特征模板的方法、基于核函数的监督学习方法、基于远程监督的方法、基于深度学习的监督或远程监督方法最新的一些研究则利用强化学习减少人工标注并自动降低噪声
- 知识融合
- 多个知识图谱融合的时候,需要解决两个层面的问题
- 通过数据层的融合,将新得到的本体融入已有的本题库中,以及新旧本体的融合
- 本体是针对特定领域中Schema定义、概念模型和公理定义而言的,目的是弥合词汇异构性和语义歧义的间隙,使沟通达成共识这种共识往往通过一个反复的过程达到,每次迭代都是一次共识的修改本体对齐的主要问题之一也可以转化为怎样管理这种演化和变化。常见的本体演化管理框架有KAON、Contodiff、OntoView等
- 数据层的融合,包括实体的指称、属性、关系以及所属类别等,主要的问题是如何避免实例以及关系的冲突问题,造成不必要的冗余
- 主要是已有实体匹配或者对齐:实体对齐的任务包括实体消歧和共指消解实体消歧,通常采用聚类法,其关键问题是如何定义实体对象和指称像之间的相似度,常用方法有空间向量模型、语义模型、社会网络模型、百科知识模型和增量证据模型
- 新增实体的验证和评估,以确保知识图谱的内容一致性和准确性,通常采用的方法是在评估过程中为新知识赋予可信度值,据此进行知识的过滤和融合
- 通过数据层的融合,将新得到的本体融入已有的本题库中,以及新旧本体的融合
- 多个知识图谱融合的时候,需要解决两个层面的问题
- 知识图谱补全与推理,常用的知识图谱补全方法包括:
- 基于本体推理的补全方法:如基于描述逻辑的推理,以及相关的推理机实现。如RDFox、Pellet、PACER、HermiT、TrOWL等 这类推理主要针对TBox,即概念层进行推理,也可以用来对实体级的关心进行补全
- 基于图结构和关系路径特征的方法:如基于随机游走获取路径特征的PRA算法、基于子图结构的SFE算法、基于层次化随机游走模型的PRA算法这类算法的共同点是通过两个实体节点之间的路径,以及节点周围图的结构提取特征,并通过随机游走等算法降低特征提取的复杂度,然后叠加线性的学习模型进行关系的预测此类算法依赖于图结构和路径的丰富程度
- 更常见的补全实现是基于表示学习和知识图谱嵌入的链接预测,简单的如前面介绍最基本的翻译模型、组合模型和神经元模型等这类简单的嵌入模型一般只能实现单步推理对于更复杂的模型,如向量空间中引入随机游走模型的方法
- 文本信息也被用来实现知识图谱的补全,例如:Jointly、Jointly、DKRL、TEKE、SSP等。这类模型一般包含三个部分
- 三元组解码器:将知识图谱中的实体和关系转化为低维向量
- 文本解码器:从文本语料库中学习实体的向量表示
- 联合解码器:保证实体、关系和词的嵌入向量位于相同的空间中,并且集成实体向量和词向量
- 知识检索与知识分析
知识图谱的相关技术
- 知识图谱与数据库系统
- 主要的数据模型:RDF图和属性图
- RDF图的特点
- 存储三元组
- 标准推理引擎
- W3C标准
- 易于发布数据
- 多数为学术界场景
- 属性图的特点
- 节点和关系可以带有属性
- 没有标准的推理引擎
- 图的遍历效率高
- 事务管理
- 基本为工业场景
- RDF图的特点
- 知识图谱查询语言:声明式(SPARQL)和导航式
- Cypher:是开源数据库Neo4j中实现的图查询语言
- PGQL:是Oracle公司开发的图查询语言
- GCore:是由LDBC组织设计的图查询语言
- 基于三元组库和图数据库能够提供的知识图谱数据存储方案可分为三类:
- 基于关系的存储方案。包含三元组表、水平表、属性表、垂直划分、六重索引和DB2RDF等
- 三元组表:每条三元组存储为一行
- 优点:简单明了
- 缺点:会产生大量三元组表的自然连接操作,影响效率
- 水平表:一个主语的所有谓语和宾语,相当于知识图谱的邻接表
- 优点:
- 缺点:所需列数据过多,表中产生大量空置,无法存储多值宾语
- 属性表:同一类主语分配到一个表中,是对水平表存储方案的细化
- 优点:解决了三元组表自连接问题和水平表的列数据过多的问题
- 缺点:对于真实大规模知识图谱,属性表的问题包括:所需属性表过多,复杂查询的夺标链接效率,控制问题和多值宾语问题
- 垂直划分:每种谓语建立一张两列的表(主语、宾语),表中存放由该谓语连接的主语和宾语
- 优点:解决了控制问题和多值宾语问题
- 缺点:大规模知识图谱的谓语表数据过多、复杂查询表连接过多,更新维护代价大等
- 六重索引:三元组全部6种排列对应地建立6张表
- 优点:空间交换时间,有效缓解了三元组表的自连接问题
- 缺点:更多的存储空间开销和索引更新维护代价
- DB2RDF:基于关系的知识图谱存储方案,是以往存储方案的一种权衡优化,将同一主语的所有谓语和宾语动态分配到某列
- 三元组表:每条三元组存储为一行
- 基于关系的存储方案。包含三元组表、水平表、属性表、垂直划分、六重索引和DB2RDF等
- 主要的数据模型:RDF图和属性图
- 知识图谱与机器推理
- 基于规则的推理
- 硬逻辑规则:多为人工编写的规则。可写成知识图谱本体中的SWRL规则,然后通过如Pellet、Hermit等本体推理机进行推理
- 软逻辑规则:每条规则的真值为区间在0到1之间的概率,典型的方法有AIME等
- 基于分布式表示学习的推理
- 基于神经网络的推理
- 混合推理:结合了规则、表示学习和神经网络
- 基于规则的推理