知识图谱笔记(1)——知识图谱基础

    技术2022-07-16  76

    文章目录

    1. 什么是知识图谱2. 知识图谱的计算3. 知识图谱的存储3.1 RDF存储 3.2 图数据库存储3.3 RDF与图数据存储的区别

    1. 什么是知识图谱

    知识图谱(Knowledge Graph)是由谷歌公司2012年提出来的新名词,其初衷是优化搜索殷勤返回的结果,增强用户搜索质量及体验。

    实际上,知识图谱并不是一个全新的概念,早在 2006 年就有文献提出了语义网(Semantic Network)的概念,呼吁推广、完善使用本体模型来形式化表达数据中的隐含语义,RDF(resource description framework,资源描述框架)模式和 OWL(Web ontology language,万维网本体语言)就是基于上述目的产生的(引自知乎)。

    通俗讲:知识图谱也可以叫做多关系图(Multi-relational graph),通常包含多种类型的关系和边。 知识图谱中主要包含了两个部分:实体和关系

    实体:对应图中的节点,指的是现实世界中的事物。关系:对应图中的边,指的是实体之间的关系

    2. 知识图谱的计算

    图计算:G=(V, E, D), V=vertex(顶点或者节点),E=edge(边), D=data(权重) 对于一个消费者的原始购买行为,有两类节点,分别是用户和产品,边表示购买行为,权重是边上的一个数据结构,可以是购买次数和最后购买时间。 对于我们面临的物理世界的数据问题,都可以利用图结构来抽象表达:社交网络,网页链接关系,用户传播网络,用户网络点击、浏览和购买行为等等。

    图数据结构很好的表达了数据之间的关联性,关联性计算是大数据计算的核心——通过获得数据的关联性,可以从噪声很多的海量数据中抽取有用的信息。比如,通过为购物者之间的关系建模,可以很快找到喜好相似的用户,并为之推荐商品。

    有许多新型的基于图的计算平台和引擎出现。例如专注于图结构化存储与查询的图数据库Neo4j,infinitegraph等。Google的图计算框架Pregel(基于大块的消息传递机制),CMU的开源图计算框架——GraphLab(基于内存共享机制)。Spark也有支持图计算机器学习的模块——GraphX,可以实现复杂的图数据挖掘。

    3. 知识图谱的存储

    3.1 RDF存储

    (1)存储三元组(Triple) (2)标准的推理引擎 (3)W3C标准 (4)常用于发布数据 (5)多数为学术界场景 RDF三元组为“主谓宾”的结构。

    3.2 图数据库存储

    (1)节点和关系可以带有属性 (2)没有标准的推理引擎 (3)图的遍历效率高 (4)事务管理(ACID) (5)基本为工业界场景

    3.3 RDF与图数据存储的区别

    (1)属性存储 RDF三元组实体和关系不包含属性,而属性图中可以包含属性。 比如实体李明的年龄是25岁,在RDF中只能表示为两个实体之间的关系,即李明和年龄分别作为两个实体,它们之间通过属性Age_of相连。在属性图中,年龄可以表示为实体李明的一个属性。

    (2)区别2:命题。 示例:李明拨打张三的电话三次。 (3)区别3:RDF主要用于学术界,易于数据的发布、分享;图数据库主要来自于工业界的需求,拥有一般数据库拥有的特性,比如事实管理、权限管理等等,图数据库用来做高效率的图查询。

    关系型数据库不能很好地处理关系。 建模难:不熟悉就不能建模和存储数据和关系 性能低:随着关系数量和层次的增加,数据库尺寸的增加,性能降低 查询难:需要JOIN操作,查询复杂性增加 扩展难:增加新类型的数据和关系,需要重新设计模式,增加上市时间。

    这些劣势导致传统的数据库不适用于有实时价值的数据关系。

    Processed: 0.018, SQL: 9