研究方向是知识图谱,需要整理数据集,所以这里想简单分享一下构建知识图谱的完整步骤,也算记录一下我的学习进程!
网上说的最多的知识图谱构建的步骤就是:知识抽取、知识融合、知识存储
但是在这些步骤之前我们还要先完成 “构建模式、概念本体设计” 两个步骤,所以完整的步骤就是:构建模式、概念本体设计、知识抽取、知识融合、知识存储
接下来,根据上面的步骤结合我自己整理数据的经验,详细讨论一下构建知识图谱的过程
1.本体构建
构建模式和概念本体设计也就是本体的构建,本体的构建一般包括两种方式,有自顶向下和自底向上两种方式。
自顶向下是先设计本体构建层,再将结构化知识加入知识库中,即先模式后数据;
自底向上是先从公开数据集选择一些置信度较高的信息加入知识库,然后构建本体模式层,即先数据后模式。
2. 知识抽取
我们构建知识图谱最终要的就是数据集,但是结构化的数据很少,大多都是半结构化数据和非结构化数据,所以需要将这些数据转化为结构化的数据,也就是三元组(主体,关系/属性,客体)
知识抽取是从非结构化文本中抽取出三元组,说白了知识抽取就是一个将非结构化数据转化为结构化数据的过程。
知识抽取一般分为两种,一种是先抽取实体后抽取关系的流水线式的方法,一种是同时抽取实体关系,简单介绍一下这两种方法。
流水线抽取方法:这种方法很简单明了,就是先完成对实体的抽取,再去抽取实体之间的关系,或者实体的属性,但是一旦实体出现错误,那对应的关系和属性也会出错,即容易产生联级错误;
联合抽取方法:不再把实体抽取和关系抽取分为两个独立的子过程,用的最多的就是先抽取头实体,后同时抽取关系和尾实体。
3. 知识融合
知识融合分为实体消歧和共指消解
实体消歧是解决一个实体具有不同意义的问题,如“苹果”既指水果,又指“苹果”公司;
共指消解是解决不同实体具有相同的意义,例如“西红柿”和“番茄”,也称实体对齐。
常用的实体对齐方法有:
- 基于统计机器学习方法
- 基于文本向量距离计算相似度
- 基于神经网路的方法
4. 知识存储
知识存储目前主要有两种:RDF和图数据库Neo4j
RDF:以三元组的形式存储在关系数据库,搜索效率低,查询语言为SPARQL;文章来源:https://www.toymoban.com/news/detail-532438.html
Neo4j:图数据库以图的形式存储,支持高效的图查询和搜索,查询语言为Cypher。文章来源地址https://www.toymoban.com/news/detail-532438.html
到了这里,关于构建知识图谱的详细步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!