什么是知识图谱
用自己的理解解释:对客观世界的事物及其关系的一种具有特定格式的描述(如知识图谱三元组)
RDF是知识图谱的一种常见表示形式,以(subject, predicate, object)的三元组形式就足以表示实体之间的许多复杂联系。
知识图谱的价值
堪比人类的记忆,是其他行为的基础。
怎么构建知识图谱
来源
抽取获得
①格式化数据(有结构性的业务数据等)
②非结构化数据(网络文章等)【抽取难点】→ 需要利用自然语言处理进行处理
所涉及的技术
实体命名识别(Name Entity Recognition)
关系抽取(Relation Extraction)
实体统一(Entity
Resolution)
指代消解(Coreference Resolution)
…
上述技术主要是为了让计算机“理解”非结构化数据。
想让计算机理解人的语言,会出现下列问题:
1-哪几个字符是一个合理的单词→分词
2-这些单词代表什么?是城市,组织还是其他→实体命名识别
3-这些单词之间什么关系→关系抽取
4-不同的单词表示的是同一个事物的时候怎么区别→实体统一
5-指代词指代的是哪个事物→指代消解
其他还有不同语种的互换等等。
知识图谱的存储
①概念中提到的RDF(三元组)
★②基于图数据库的存储(Neo4j)→ 实体和关系可以包含属性
Cypher查询语言
介绍:是Neo4J的声明式图形查询语言,允许用户不必编写图形结构的遍历代码,就可以对图形数据进行高效的查询。
MATCH (n) DETACH DELETE n
删除数据库的图
CREATE (n:Person {name:'John'}) RETURN n
创建一个节点
CREATE (n:Location {city:'Miami', state:'FL'})
创建地区节点
MATCH (a:Person {name:'Liz'}),
(b:Person {name:'Mike'})
MERGE (a)-[:FRIENDS]->(b)
创建关系
MATCH (a:Person {name:'Shawn'}),
(b:Person {name:'Sally'})
MERGE (a)-[:FRIENDS {since:2001}]->(b)
增加属性