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