初探知识图谱

初探知识图谱

知识图谱的概念

知识图谱本质上是一种语义网络,用图的形式描述客观事物,这里的图指的是数据结构中的图,也就是由节点组成的,这也是知识图谱(Knowledge Graph)的真实含义。
知识图谱中的节点表示概念实体,概念是抽象出来的事物,实体是具体的事物;
边表示事物的关系属性,事物的内部特征用属性来表示,外部联系用关系来表示。
很多时候,人们简化了对知识图谱的描述,将实体和概念统称为实体,将关系和属性统称为关系,这样就可以说知识图谱就是描述实体以及实体之间的关系。
实体可以是人,地方,组织机构,概念等等;关系的种类更多,可以是人与人之间的关系,人与组织之间的关系,概念与某个物体之间的关系等等。

知识图谱如何组织数据

知识图谱是由实体和实体的关系组成,通过图的形式表现出来,那么实体和实体关系的这些数据在知识图谱中怎么组织呢,这就涉及到三元组的概念,在知识图谱中,节点-边-节点可以看作一条记录,第一个节点看作主语,边看作谓语,第二个节点看作宾语,主谓宾构成一条记录。如果你熟悉数据结构中图的知识就会很容易理解了。
比如曹操的儿子是曹丕,曹操是主语,儿子是谓语,曹丕是宾语。再比如,曹操的小名是阿瞒,主语是曹操,谓语是小名,宾语是阿瞒。知识图谱就是由这样的一条条三元组构成,围绕着一个主语,可以有很多的关系呈现,随着知识的不断积累,最终会形成一个庞大的知识图谱,知识图谱建设完成后,会包含海量的数据,内涵丰富的知识。
可以预想未来的人工智能必定和知识图谱有着极大的关联,首先知识图谱的存储方式采用的是图数据库,大脑的记忆存储就是按照图数据库来存储的。

知识图谱的应用

知识图谱构建完成之后,主要用在哪些地方,比较典型应用是语义搜索、智能问答、推荐系统等方面。
知识图谱是一个具有本体特征的语义网络,可以看成是按照本体模式组织数据的知识库,以知识图谱为基础进行搜索,可以根据查询的内容进行语义搜索,查找需要找的本体或者本体的信息,这种语义搜索功能在google、百度、阿里巴巴等数据量大的公司里得到应用。智能问答,和语义搜索类似,对于提问内容,计算机首先要分析提问问题的语义,然后再将语义转换为查询语句,到知识图谱中查找,将最贴近的答案提供给提问者。推荐系统首先要采集用户的需求,分析用户的以往数据,提取共同特征,然后根据一定的规则,对用户提供推荐的产品。比如淘宝中记录用户经常购买的商品,经常浏览的商品,提取这些商品的共同特征,然后给这个用户打上标签,然后就给用户推荐具有类似特征的商品。
知识图谱主要反映的事物之间的关系,对于和关系链条有关的场景,也可以用知识图谱解决,一些应用场景包括反欺诈、不一致性验证、异常分析、客户管理等。

知识图谱的数据结构

从知识图谱数据组织的架构来看,可以把知识图谱的数据分为两个层次:
一个是数据模型层,数据模型是按照本体论的思想,勾画出来的数据组织模式,数据模型可以展示数据的组织方式,数据之间的相互关系,创建动植物的数据模型,可以按照动植物的通用分类标准,使用七个主要级别:界、门、纲、目、科、属、种 。可以将动植物的数据按照这个模型进行组织。数据模型可以看作是元数据,依据数据模型,数据才能得到有效的组织。数据模型除了确定对象之间的分类,关系,还要明确对象的属性,针对不同的知识图谱,需要收集的数据的内容也不相同,内容范围由对象的属性确定。数据模型的分类,关系反映了数据之间的关系特征,数据模型的属性反映了数据的内在特征。
另一个就是具体数据层,具体数据是一条条的知识,它是依据数据模型组织起来的。我们可以把数据模型看作是骨架,把具体数据看作是肌肉,两部分共同组成了一个健壮的整体,就是我们的知识图谱。不同类型的知识图谱,组织数据的方式也有所不同,涉及到具体数据,具体数据的内容也有差别。比如对于一个人物来说,如果是历史知识图谱,可能人物数据的内容主要侧重于人物的生平,主要事迹,人物关系等等,如果是文学知识图谱,人物数据的内容则会主要侧重人物的主要作品,师承关系,作品流派等等。
将知识图谱的数据分成了两个层次,在构建知识图谱的时候,是先确定数据模型再收集具体数据,还是先收集具体数据再确定数据模型,这就形成了两种构建知识图谱的方式。

知识图谱的构建方式

知识图谱的构建方式有两种自顶向下的构建方式和自下向上的构建方式。
自顶向下的构建方式,是指先确定知识图谱的数据模型,再根据模型去填充具体数据,最终形成知识图谱。数据模型的设计,是知识图谱的顶层设计,根据知识图谱的特点确定数据模型,就相当于确定了知识图谱收集数据的范围,以及数据的组织方式。
这种构建方式,一般适用于行业知识图谱的构建,对于一个行业来说,数据内容,数据组织方式相对来说比较容易确定。比如对于法律领域的知识图谱,可能会以法律分类,法律条文,法律案例等等的方式组织。再比如建立一个三国时期人物的知识图谱,可能会以某个历史时期,魏蜀吴三个国家将人物进行分类,统计人物的师承,上下属,朋友,敌对等等关系,依据这些关系设计数据模型,然后再收集具体人物数据,形成人物的知识图谱。总起来说,自顶向下的构建方式,适用于那些知识内容比较明确,关系比较清晰的领域构建知识图谱。
自下向上的构建方式,是指先按照三元组的方式收集具体数据,然后根据数据内容来提炼数据模型。 采用这种方式构建知识图谱,是因为在开始构建知识图谱的时候,还不清楚收集数据的范围,也不清楚数据怎么使用,就是先把所有的数据收集起来,形成一个庞大的数据集,然后再根据数据内容,总结数据的特点,将数据进行整理、分析、归纳、总结,形成一个框架,也就是数据模型。
一般公共领域的知识图谱采用这种方式,因为公共领域的知识图谱,涉及到海量数据,并且包括方方面面的知识,做出来的效果是大而全,这在构建初期,很难想清楚数据的整体架构,只能是根据数据的内容总结提炼特征,形成数据框架模型。比如google,百度的知识图谱,属于典型的公共领域知识图谱,现实中,使用他们的搜索工具进行内容搜索时,用户可能输入的内容千差万别,各个领域的问题都可能问到,也就使得他们的后台知识图谱内容也要覆盖所有知识,在构建他们这种公共领域的知识图谱过程中,随着数据的不断积累,才会对数据知识进行分类,慢慢呈现出知识架构。

知识图谱构建思路

知识图谱构建过程
原始的数据,按照数据的结构化程度来分,可以分为结构化数据、半结构化数据非结构化数据,根据数据的不同的结构化形式,采用不同的方法,将数据转换为三元组的形式,然后对三元组的数据进行知识融合,主要是实体对齐,以及和数据模型进行结合,经过融合之后,会形成标准的数据表示,为了发现新知识,可以依据一定的推理规则,产生隐含的知识,所有形成的知识经过一定的质量评估,最终进入知识图谱,依据知识图谱这个数据平台,可以实现语义搜索,智能问答,推荐系统等一些应用。

知识抽取

结构化数据处理

针对结构化数据,通常是关系型数据库的数据,数据结构清晰,把关系型数据库中的数据转换为RDF数据(linked data),普遍采用的技术是D2R技术。D2R主要包括D2R Server,D2RQ Engine和D2RRQ Mapping语言。
D2R Server 是一个 HTTP Server,它的主要功能提供对RDF数据的查询访问接口,以供上层的RDF浏览器、SPARQL查询客户端以及传统的 HTML 浏览器调用。 D2RQ Engine的主要功能是使用一个可定制的 D2RQ Mapping 文件将关系型数据库中的数据换成 RDF 格式。D2RQ engine 并没有将关系型数据库发布成真实的 RDF 数据,而是使用 D2RQ Mapping 文件将其映射成虚拟的 RDF 格式。该文件的作用是在访问关系型数据时将 RDF 数据的查询语言 SPARQL 转换为 RDB 数据的查询语言 SQL,并将 SQL 查询结果转换为 RDF 三元组或者 SPARQL 查询结果。D2RQ Engine 是建立在 Jena(Jena 是一个创建 Semantic Web 应用的 Java 平台,它提供了基于 RDF,SPARQL 等的编程环境)的接口之上。 D2RQ Mapping 语言的主要功能是定义将关系型数据转换成 RDF 格式的 Mapping 规则。

半结构化数据处理

半结构化数据,主要是指那些具有一定的数据结构,但需要进一步提取整理的数据。比如百科的数据,网页中的数据等。对于这类数据,主要采用包装器的方式进行处理。
包装器是一个能够将数据从HTML网页中抽取出来,并且将它们还原为结构化的数据的软件程序。网页数据输入到包装器中,通过包装器的处理,输出为我们需要的信息。
对于一般的有规律的页面,我们可以使用正则表达式的方式写出XPath和CSS选择器表达式来提取网页中的元素。但这样的通用性很差,因此也可以通过包装器归纳这种基于有监督学习的方法,自动的从标注好的训练样例集合中学习数据抽取规则,用于从其他相同标记或相同网页模板抽取目标数据。

非结构化数据处理

对于非结构化的文本数据,我们抽取的知识包括实体、关系、属性。对应的研究问题就有三个:
一是实体抽取,也称为命名实体识别,此处的实体包括概念,人物,组织,地名,时间等等。
二是关系抽取,也就是实体和实体之间的关系,也是文本中的重要知识,需要采用一定的技术手段将关系信息提取出来。
三是属性抽取,也就是实体的属性信息,和关系比较类似,关系反映实体的外部联系,属性体现实体的内部特征。
非结构化数据的抽取问题,研究的人比较多,对于具体的语料环境,采取的技术也不尽相同。举个例子,比如关系抽取,有的人采用深度学习的方法,将两个实体,他们的关系,以及出处的句子作为训练数据,训练出一个模型,然后对于测试数据进行关系抽取,测试数据需要提供两个实体和出处的句子,模型在训练得到的已知关系中查找,得出测试数据中两个实体之间的关系。这是一种关系抽取的方法。还有人用句法依存特征,来获取关系,这种方法认为,实体和实体之间的关系可以组成主谓宾结构,在一个句子中,找出主谓关系和动宾关系,其中的谓词和动词如果是一个词,那么这个词就是一个关系。比如说“小明吃了一个苹果”,主谓关系是“小明吃”,动宾关系是“吃苹果”,那么就认为“吃”是一个关系。

知识融合

知识融合,简单理解,就是将多个知识库中的知识进行整合,形成一个知识库的过程,在这个过程中,主要需要解决的问题就是实体对齐。不同的知识库,收集知识的侧重点不同,对于同一个实体,有知识库的可能侧重于其本身某个方面的描述,有的知识库可能侧重于描述实体与其它实体的关系,知识融合的目的就是将不同知识库对实体的描述进行整合,从而获得实体的完整描述。
比如,对于历史人物曹操的描述,在百度百科、互动百科、维基百科等不同的知识库中,描述有一些差别,曹操所属时代,百度百科为东汉,互动百科为东汉末年,维基百科为东汉末期;曹操的主要成就,百度百科为“实行屯田制,安抚流民消灭群雄,统一北方,奠定曹魏政权的基础,开创建安文学,提倡薄葬”,互动百科为“统一北方”,维基百科为“统一了东汉帝国核心地区”。
由此可以看出,不同的知识库对于同一个实体的描述,还是有一些差异,所属时代的描述差别在于年代的具体程度,主要成就的差别在于成就的范围不同,等等,通过知识融合,可以将不同知识库中的知识进行互补融合,形成全面、准确、完整的实体描述。 知识融合过程中,主要涉及到的工作就是实体对齐,也包括关系对齐,属性对齐,可以通过相似度计算,聚合,聚类等技术来实现。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值