知识图谱怎么去作,这固然不是几句话说得清楚的。首先确定要先基于自身的业务进行思考,这里整理一些知识图谱构建的主要路径。sql
构建的逻辑思路
- 一、梳理业务,构建本体:是否须要用知识图谱?成本怎么样,能达到怎么的效果?是否有能力构建知识图谱?数据、团队等状况是否能支撑?若是有必要,如何根据业务梳理一套本体框架?
- 二、编辑本体,给出业务知识表示框架:能够利用Protege进行本体编辑,得到一个用OWL表示的知识表示文件。
- 三、给本体补充实例数据:先找一些示例数据,便于理解。
构建的不一样方式
- 自顶向下的构建方式:先定义本体和数据模式,再将实体加入知识库。利用一些现有的结构化知识库做为其基础知识库。
- 自底向上的构建方式:从一些开放连接数据中提取出实体,选择其中置信度较高的加入到知识库,再构建顶层的本体模式。
构建过程当中的关键技术
- 大致包含五个方面:知识抽取、知识表示、知识融合、知识加工、知识评估
- 经过知识提取技术,能够从一些公开的半结构化、非结构化和第三方结构化数据库的数据中提取出实体、关系、属性等知识要素。
- 知识表示则经过必定有效手段对知识要素表示,便于进一步处理使用。分布式的知识表示造成的综合向量对知识库的构建、推理、融合以及应用均具备重要的意义。
- 而后经过知识融合,可消除实体、关系、属性等指称项与事实对象之间的歧义,造成高质量的知识库。
- 知识加工则是在已有的知识库基础上进一步挖掘隐含的知识,构建新本体,补全关系,从而丰富、扩展知识库。
- 知识评估能够对知识的可信度进行量化,保留置信度较高的,舍弃置信度较低的,有效确保知识的质量。
- 除此以外,大规模知识图谱构建,还须要多种技术的支持:分布式存储和计算、图数据库、图推理、内存数据库等。
数据的存储数据库选择
- 知识图谱的存储和查询语言也经历了历史的洗涤,从RDF到OWL以及SPARQL查询,都逐渐由于使用上的不便及高昂的成本,而被工业界主流所遗弃。
图数据库逐步成为目前主要的知识图谱存储方式。数据库
- 目前应用比较普遍的图数据库包括Neo4j、graphsql、sparkgraphx(包含图计算引擎)、基于hbase的Titan、BlazeGraph等,各家的存储语言和查询语言也不尽相同。
实际应用场景下,OrientDB和postgresql也有不少的应用,主要缘由是其相对低廉的实现成本和性能优点。框架
应用推理和知识自学习
- 在知识图谱构建过程当中,还存在不少关系补全问题。虽然一个普通的知识图谱可能存在数百万的实体和数亿的关系事实,但相距补全还差很远。
知识图谱的补全是经过现有知识图谱来预测实体之间的关系,是对关系抽取的重要补充。分布式
- 传统方法TransE和TransH经过把关系做为从实体A到实体B的翻译来创建实体和关系嵌入,可是这些模型仅仅简单地假设实体和关系处于相同的语义空间。
而事实上,一个实体是由多种属性组成的综合体,不一样关系关注实体的不一样属性,因此仅仅在一个空间内对他们进行建模是不够的。post
相关资料