本文主要是介绍知识图谱(knowledge graph)——概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
知识图谱总结
- 概念
- 技术链概括
- 通用知识图谱和垂直领域知识图谱
- 国内外开放知识图谱
- 技术链详解
- 知识获取
- 知识融合
- 知识表示
- 知识推理
- 知识存储
- 知识图谱构建流程
- 其他挑战
- 跨语言知识抽取
- 跨语言知识链接
- 思考
- 参考
概念
知识图谱(Knowledge Graph)以结构化的形式描述客观世界中概念、实体及其关系。是融合了认知计算、知识表示与推理、信息检索与抽取、自然语言处理、Web技术、机器学习与大数据挖掘等等方向的交叉学科。
技术链概括
- 知识获取
- 知识融合
- 知识表示
- 知识推理
- 知识赋能
- 知识图谱技术图示
通用知识图谱和垂直领域知识图谱
领域知识图谱介绍:复旦肖仰华:领域知识图谱落地实践中的问题与对策
国内外开放知识图谱
- 国外:早期的常识知识库Cyc、WordNet、ConceptNet等;互联网知识图谱,主要有FreeBase、DBpedia、Schema、Wikidata 、BableNet、Microsofot ConceptGraph,医疗领域Linked Life Data等
- 国内:中文知识图谱OpenKG,CN-DBpedia,中医药知识图谱,阿里电商知识图谱、美团知识图谱、XLore(清华大学)、Belief-Eigen(中科院)、PKUPie(北京大学),开放类的中文百科知识图谱(zhishi.me)
技术链详解
知识获取
KG中知识抽取主要从结构化、半结构化、非结构化数据中转为三元组表示的标准知识形态。
-
知识获取主要流程
首先需要数据清洗(正则表达式!)
-
实体抽取(NER)
目的是识别文本中指定类别的实体,主要包括人 名、 地名、 机构名、 专有名词等的任务“ 姚明(Yao Ming),1980年9月12日出生于上海市徐汇区,祖籍江苏省苏州市吴江区震泽镇,前中国职业篮球运动员,司职中锋,现任中职联公司董事长兼总经理“。如下图所示,命名实体识别主要包含两个部分:实体边界识别与实体分类。 -
实体关系抽取
实体关系抽取是知识图谱构建与信息提取的关键环节,主要提取两个或者多个实体之间的某种联系。格式,三元组(实体1,关系,实体2),"北京是中国的首都、政治中心和文化中心 "中实体关系可以表示为(中国、首都、北京)(中国 政治中心 北京)(中国 文化中心 北京)。- 限定关系抽取:采用弱监督/监督机器学习进行预定义的实体关系知识抽取,一般为多分类问题,可以直接抽取三元组关系。
- 开发域关系抽取:预先不进行预定义,系统本身自动抽取实体之间的关系,一般采用无监督学习方法进行自动提取实体之间的关系(三元组)。缺点是抽取的知识缺乏语义化、很难做归一化处理,弱监督学习可以自动生成大规模的训练医疗库,但是会产生噪音数据。
实体关系抽取和实体链接介绍
-
事件抽取
识别文本中关于事件的信息,并以结构化的形式呈现,核心概念包括:事件描述、事件触发词(动词或者名词)、事件元素(实体、时间和属性等表达语义的细粒度单位组成)、元素角色(角色在某件事情上面的语义关系)、事件类型(事件元素和触发词决定事件的类别),如下图所示:
知识融合
通过知识获取,实现了从非结构化和半结构化数据中获取实体,关系以及实体属性信息的目标。但是,这些结果中可能包含大量的冗余和错误信息,数据之间的关系也是扁平化的,缺乏层次性和逻辑性,因此有必要对其进行清理和整合,知识融合包括2部分内容:实体链接和知识合并。
本体:知识图谱中本体有点类似于我们学生物时的界门纲目科属种的分类概念,是知识图谱中的概念层,或者说模式层。本体可以用来规定我们的知识图谱中包含哪些领域的知识,知识的类别体系:一共有哪些类别,每种类别下面可以有哪些属性。另外,还能规定例如类别的上下位关系(父类和子类),属性的约束(例如一个人的出生日期的属性只能有1个)等等。本体是关于数据的描述和定义(元数据)。如下图所示,一个知识图谱本体的列表:
本体知识界定了每个实体应该存在于哪种类别,我们获取到的三元组会被本体匹配算法分类在不同的本体类型下。例如,如果本体是“机场”,那么,一些属于这一类的实体像“大连周子水机场 ”,“ 戴高乐机场 ”,“广州白云机场 ”就会被包括进来。该过程也会涉及到自然语言处理技术的应用。如,我们抽取出的三元组为‘卢浮宫——位于——巴黎’,这是知识库中的单个三元组。在实践中,知识库包括数百万这样的三元组,我们也称之为事实。这些事实都会被归入知识库中对应的本体。
这个过程我们还需要解决一些实体消歧以及共指消解问题。
-
实体消歧
给定一段文本:在旧金山的2019春季发布会上,苹果推出新耳机产品Airpods2,文本中的提及“苹果”可能指向的目标实体包括 {苹果(水果),苹果公司,苹果(电影),苹果(银行), …},系统需要根据“苹果”的上下文词语识别出该段文本中“苹果”指的是苹果公司,而不是苹果(水果)或者苹果(电影)。 -
共指消解
例如,在一遍文章的开头可能提及到“哈尔滨工业大学”,后面则称为“哈工大”、“工大”等,可能还会提到“这所大学”、“她”这些指代词等,这里所有的词语指向的都是哈工大这同一个实体,我们在提取知识时必须可以辨别出来。 -
实体链接(Entity Linking)
实体链接是指对于从文本中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象的操作。实体链接的基本思想是首先根据给定的实体指称项,从知识库中选出一组候选实体对象,然后通过相似度计算将指称项链接到正确的实体对象。
实体链接的一般流程是:1)从文本中通过实体抽取得到实体指称项;2)进行实体消歧和共指消解,判断知识库中的同名实体与之是否代表不同的含义以及知识库中是否存在其他命名实体与之表示相同的含义;3)在确认知识库中对应的正确实体对象之后,将该实体指称项链接到知识库中对应实体。
实体链接Entity Linking开源工具:dexter2 -
实体对齐
实体(Entity)是指客观存在并可相互区别的事物,包括具体的人、事、物、抽象的概念或联系,知识库中包含多种类别的实体。实体对齐(Entity Alignment)也被称作实体匹配(Entity Matching),是指对于异构数据源知识库中的各个实体,找出属于现实世界中的同一实体。随着中文网络百科的不断完善,可以从网络百科页面抽取出实体,并对不同来源的实体进行对齐,构建高质量的中文异构百科RDF知识库。实体对齐常用的方法是利用实体的属性信息判定不同源实体是否可进行对齐。 -
知识合并
1)合并外部知识库
即将外部知识库融合到本地知识库
2)合并关系数据库
将高质量的结构化的关系数据库数据合并到本地知识库 -
本体构建
通过知识获取,可以从原始语料中提取出实体,关系和属性等知识要素。再经过知识融合,可以消除实体指称项与实体对象之间的歧义,得到一系列基本的事实表达,然而,事实本身并不等于知识,要想最终获得结构化,网络化的知识体系,还需要经历本体构建,知识推理,质量评估。
知识表示
如何利用计算符号运算来表示人脑中的知识和推理过程,知识表示主要有两种,基于离散符号的知识表示法和基于连续向量的知识表示。
- 基于离散符号的知识表示法
- RDF(Resource Description Framework) 三元组模型,构建方式主要是主-谓-宾有向标记图和RDFS(simple Vocabularty and schema)。更多RDF的知识详见:RDF
- OWL(Web Ontology language):是一种W3C开发的网路本体语言,用于对本体进行语义描述。
- SPARQL(Protocol and RDF Query Language) :RDF的查询语言,支持主流图形数据库。下图URI/IRI为主要网络协议,主要数据存储格式是RDF与XML。
- RDF(Resource Description Framework) 三元组模型,构建方式主要是主-谓-宾有向标记图和RDFS(simple Vocabularty and schema)。更多RDF的知识详见:RDF
- 基于连续向量的知识表示
- KG embedding 主要是KG中实体与关系映射到一个低维的向量空间,主要的方法有张量分解、NN、距离模型(现有的词向量模型基于连续向量空间来表示)(Embedding projector)
- KG embedding 主要是KG中实体与关系映射到一个低维的向量空间,主要的方法有张量分解、NN、距离模型(现有的词向量模型基于连续向量空间来表示)(Embedding projector)
- 两种方法对比
知识推理
根据已有的知识图谱中的事实或者关系推断出新的事实与关系,一般是考察实体、关系和图谱结构三个方面的信息特征。
- 基于演绎的知识图谱推理
- 基于归纳的知识图谱推理
知识存储
知识图谱的知识存储一般是采用图形数据库进行存储,主要有两种图数据模型:RDF图和属性图(Property Graph)
- RDF图
RDF图是W3C的官方标准,得到了政府和大公司的支持,但最终表现平平。 - 属性图
属性图是草根自发的,但最终得到了市场的认可,现在主要是中小企业在用。 - 查询语言:RDF图:SPARQL; 属性图:Cypher 和 Gremlin
- 常见图形数据库
- 基于关系数据库的存储方案
主要是三元组表(3store)、水平表(DLDB)、属 性表(JENA)、垂直划分(SW-Store)、DB2RDF和六重索引(RDFX-3X、Hexastore) - 面向RDF的三元组数据库
- Jena RDF4J RDF-3X gStore
- 原生图数据库
- Neo4j
- 分布式图形数据库 JanusGraph
- OrientDB
- Cayley
- 图形数据库对比
- 基于关系数据库的存储方案
知识图谱构建流程
实体图谱的构建主要有自底向上、自顶向下和二则混合的方法,如下图所示,分别为自底向上和自顶向下:
-
自底向上
-
自顶向下
-
详细流程图
其他挑战
跨语言知识抽取
跨语言知识链接
思考
人工智能的两大学派:连接主义和符号主义。
- 连接主义学派受到神经科学的启发,认为"智能"是无数"非智能"的神经细胞互相作用的结果,人与机器之间其实没有本质的差别。如果我们能模拟神经细胞的行为,进而构造组织一张人工的"神经网络",那么理论上就能模拟出人的大脑,创造所谓的"智能"。
- 符号主义认为认为人的智能可以用数理逻辑表达。数理逻辑在20世纪30年代开始被用于描述智能行为,模拟人类智能活动。计算机出现后,该理论又被应用到计算机上,实现了逻辑演绎系统,从而又发展出后来的专家系统和知识工程理论等。
那么为什么不把符号主义和连接主义相结合呢?即知识图谱+深度学习。相信未来的人工智能只有知识+学习才能走的更远。
参考
[1] 本文大部分内容来自知识图谱入门系列
[2] 精益知识图谱方法论
[3] 知乎问题:知识图谱怎样入门
[4] 知乎专栏:知识图谱概论(二):概念具象化描述
[5] 刘峤,李杨,段宏,刘瑶,秦志光. 知识图谱构建技术综述[J]. 计算机研究与发展, 2016, 53(3): 582-600.
LiuQiao,LiYang,DuanHong,LiuYao,QinZhiguang. Knowledge Graph Construction Techniques. Journal of Computer Research and Development, 2016, 53(3): 582-600.
这篇关于知识图谱(knowledge graph)——概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!