AI之书(二)——关于知识图谱

一、什么是知识图谱

含有实体对象以及对象之间关系的图系。

二、什么时候使用知识图谱

1、需要数据可视化;

2、需要消除信息孤岛;

3、需要建立复杂的深度搜索关系;

4、实时搜索的时效性要求高;

三、知识图谱构建过程

知识图谱构建的过程:定义具体的问题、抽取数据、处理数据、设计数据存储、将数据存储到模型中、上层应用开发

四、定义问题、数据收集、数据处理

知识图谱的搭建有成本,有些简单的问题可以通过传统的数据库解决,就无须搭建知识图谱。在确定哪些场景哪些业务需要搭建知识图谱后,需要进行数据收集和处理。

数据抽取分为两种对象:1、企业或行业已具备的知识内容,有固定的结构,稍作处理,就能纳入知识图谱;2、通过爬虫等技术获取互联网相关的信息、知识等内容,需要将非结构化的数据转化为结构化的数据。

非结构化数据转成结构化数据时需要结合NLP技术来解决以下几个问题:

1、实体标注:约定俗成的命名实体,比如:杭州

2、抽取关系:抽取实体之间的关系,比如:杭州在浙江,“在"就是一种地域的归属关系;

3、实体统一:描述同一种实体的不同称呼,比如杭州,浙江省会城市,这两个描述都是在指杭州这座城市;

4、指代消解:他、她、那里、这边等代词的实体指称;

五、知识图谱设计和存储

知识图谱的设计需要确认哪些是实体、关系和属性,哪些信息不需要放入图谱……循以下原则:

1、业务原则和分析原则:从业务出发,以业务逻辑为准则,预想未来的业务发展可能性。分析现有的业务逻辑,提取共性的内容作为实体,建立实体与实体之间的关系;

2、效率原则和冗余原则:从存储出发,考虑将不必要的数据放入传统的数据库中,将知识图谱中核心的关键数据存入图谱,便于计算机通过内存访问,轻量级的载体。

两种常见的存储方式:1、基于RDF;2、基于图数据库;

基于RDF:1、易于数据发布;2、用作学术界场景;3、存储三元组;4、W3C;5、有推理引擎;

基于图数据库:1、节点和关系可以带有属性;2、用作工业界场景;3、图的遍历效率高;4、事务性管理;5、没有推理引擎。

常见的图数据库:Neo4j、MarkLogic、OrientDB、Jena

Neo4j不支持分布式,10亿节点以下规模的图谱可以轻松支持;

Jena支持RDF很不错;

六、上层应用开发

知识图谱的构建最终是为了上层应用,常见的算法模型有两类:

1、基于规则的:垂直行业最常用的还是基于规则的算法模型;

2、基于概率的:基于概率统计的基础,比如社区挖掘、标签传播等。

你可能感兴趣的:(AI之书(二)——关于知识图谱)