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),知识图谱中我们也称其为一条知识。

  1. RDF: 资源(resource)、谓词(predicate)以及陈述(statements)
  1. 资源:能够使用RDF表示的对象称之为资源,包括互联网上的实体、事件和概念等;
  2. 谓词:谓词主要描述资源本身的特征和资源之间的关系;
  3. 陈述:一条陈述包含三个部分,通常称之为RDF三元组(主题:被描述的资源,谓词:可以表示主体的属性,也可以表示主语和宾语之间的关系,宾语:属性值)。
  1. RDFS
  2. OWL

知识图谱构建流程

  • 知识体系构建

  • 知识获取

    • DeepDive:
      • DeepDive (stanford.edu)
      • HazyResearch/deepdive: DeepDive (github.com)
  • 知识融合

  • 知识存储和检索

    • 知识图谱两种主要图数据模型为RDF图和属性图。

    一旦构建了上述知识图谱的数据模型之后,就可以使用知识图谱查询语言进行查询操作。

    1. RDF图对应SPARQL语言
    2. 属性图对应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三元组数据库:

  1. Jena
  2. RDF4J
  3. RDF-3X
  4. gStore
  5. Virtuoso
  6. AllegroGraph
  7. GraphDB
  8. BlazeGraph

图数据库:

  1. Neo4j
  2. Nebula
  3. JanusGraph

常见的知识库

  1. Freebase
  2. Wikidata
  3. Yago
  4. DBPedia

知识图谱的应用场景

  1. 推荐系统
  2. 精准营销
  3. 智能问答

参考

  1. 知识图谱怎样入门?
  2. 知识图谱-给AI装个大脑
  3. RDF 和 SPARQL 初探:以维基数据为例
  4. 【知识图谱】知识图谱(一)—— 综述
  5. awesome-knowledge-graph
  6. 知识图谱 - 知乎话题
  7. 知识图谱关键技术与应用案例 (gitbook.cn)