Knowledge Graph 知识图谱 - xibryan/notes GitHub Wiki
知识图谱是结构化的语义知识库,用于迅速描述物理世界中的概念及其相互关系。知识图谱的基本单位是实体(Entity)-关系(Relationship)-实体(Entity)”构成的三元组。例如社交网络图谱里,我们既可以有“人”的实体,也可以包含“公司”实体。
知识图谱这一概念是2012年由Google提出,但对于相关理论与技术的研究始终是人工智能领域的核心内容之一,是人工智能
符号主义
近期进展的典型代表。按照定义来讲,知识图谱就是将分散的知识与信息连接起来,通过图示化的方式呈现其中的关系,方便理解记忆。由于图谱的方式更贴近人类大脑的思维方式,故对个人来讲,它可以作为一种信息记录工具也可以辅助思考。
任何一个学科,重要的不是静态的知识本身,而是建立知其然(Framework),知其所以然(Rationale),最后到知未然(Insights)。最重要的便是产生insights,因拥有洞察而知关键所在,所以能预测未来的走向,不人云亦云。
概念
RDF(Resource Description Framework),即资源描述框架,其本质是一个数据模型(Data Model)。RDF形式上表示为SPO(Subject-Predicate-Object)三元组,有时候也称为一条语句(statement),知识图谱中我们也称其为一条知识。
- RDF: 资源(resource)、谓词(predicate)以及陈述(statements)
- 资源:能够使用RDF表示的对象称之为资源,包括互联网上的实体、事件和概念等;
- 谓词:谓词主要描述资源本身的特征和资源之间的关系;
- 陈述:一条陈述包含三个部分,通常称之为RDF三元组(主题:被描述的资源,谓词:可以表示主体的属性,也可以表示主语和宾语之间的关系,宾语:属性值)。
- RDFS
- OWL
知识图谱构建流程
-
知识体系构建
-
知识获取
- DeepDive:
- DeepDive (stanford.edu)
- HazyResearch/deepdive: DeepDive (github.com)
- DeepDive:
-
知识融合
-
知识存储和检索
- 知识图谱两种主要图数据模型为RDF图和属性图。
一旦构建了上述知识图谱的数据模型之后,就可以使用知识图谱查询语言进行查询操作。
- RDF图对应SPARQL语言
- 属性图对应Cypher和Gremlin
-
知识推理
- 基于符号的推理
- 基于OWL本体的推理
- Jena
- 基于图的方法(PRA算法)
- 基于分布式知识语义表示的方法(Trans系列模型)
- TransE
- TransR
- 基于深度学习的推理
-
知识应用
全家桶:
- 知识建模: Visio、PPT
- 知识获取: Kettle、Scrapy、Thunlp、Standford NLP
- 知识存储: Neo4j、MongoDB、ElasticSearch
- 知识计算: Drools
- 知识应用: AIML、D3js
数据存储
目前知识图谱大多是基于图的数据结构,存储方式通常采用RDF格式存储和图数据库(Graph Database),前者例如Google开放的Freebase知识图谱,后者例如开源图数据库Neo4j。
RDF三元组数据库:
- Jena
- RDF4J
- RDF-3X
- gStore
- Virtuoso
- AllegroGraph
- GraphDB
- BlazeGraph
图数据库:
- Neo4j
- Nebula
- JanusGraph
常见的知识库
- Freebase
- Wikidata
- Yago
- DBPedia
知识图谱的应用场景
- 推荐系统
- 精准营销
- 智能问答