知识图谱,本质上是一种语义网络,其结点代表实体或者概念,边代表实体或者概念之间的各种语义关系。

(The Knowledge Graph is a system that understands facts about people, places and things and how these entities are all connected)

  • 关键词:知识图谱 – 进阶指南 – 相关工具 – 相关技术

一、中文知识图谱在路上

1.复旦大学知识工场实验室CN-DBpedia

CN-DBpedia,通用领域结构化百科,涵盖数千万实体和数亿级的关系,其前身是复旦GDM中文知识图谱。

访问地址:http://kw.fudan.edu.cn/

在该网站搜索”西安交通大学”

image

2.搜狗知立方

访问地址:http://www.sogou.com/tupu/person.html

在该网站搜索”周杰伦”

image

关系衍生

image

3.百度知心

在百度网站搜索”珠穆朗玛海拔多少千米”,返回结果

image

二、中文知识图谱构建

待更新。。。

三、中文知识图谱进阶指南

1. 零级水平

正则表达式 + SQL + 一种if-then-else的高级语言

2. 一级水平

E-R建模 + 理解实体(Entity)和关系(Relation) + 关系数据库

3. 二级水平

(1)命名:数据库主键和Web上的URI(统一资源标识符)

(2)分类树

(3)RDF(Resource Description Framework)

要会用Java或者Python操作RDF

以下表格,可对应于下列RDF的几行:

Title Artist Country Company Price Year
Empire Burlesque Bob Dylan USA Columbia 10.90 1985
Hide your heart Bonnie Tyler UK CBS Records 9.90 1988
…………          

这是一个RDF文档的其中几行:

    <?xml version="1.0"?>
    <rdf:RDF
        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns:cd="http://www.recshop.fake/cd#">

        <rdf:Description
             rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
              <cd:artist>Bob Dylan</cd:artist>
              <cd:country>USA</cd:country>
              <cd:company>Columbia</cd:company>
              <cd:price>10.90</cd:price>
              <cd:year>1985</cd:year>
        </rdf:Description>

        <rdf:Description
             rdf:about="http://www.recshop.fake/cd/Hide your heart">
              <cd:artist>Bonnie Tyler</cd:artist>
              <cd:country>UK</cd:country>
              <cd:company>CBS Records</cd:company>
              <cd:price>9.90</cd:price>
              <cd:year>1988</cd:year>
        </rdf:Description>
        .
        .
        .
    </rdf:RDF>

(4)掌握Turtle和JSON-LD

关于Turtle

用python代码画五角星:

    import turtle
    turtle.setup(2000, 2000, 0, 0)
    turtle.pensize(20)
    turtle.pencolor("black")
    turtle.seth(0)
    length = 400
    angle = 0
    for i in range(5):
        turtle.fd(length)
        angle = angle - 144
        turtle.seth(angle)

结果如图:

image

关于JSON-LD(JSON for Linking Data)

JSON-LD is a lightweight Linked Data format. It is easy for humans to read and write. It is based on the already successful JSON format and provides a way to help JSON data interoperate at Web-scale. JSON-LD is an ideal data format for programming environments, REST Web services, and unstructured databases such as CouchDB and MongoDB.

JSON-LD数据格式如下:

{
  "@context": {
    "ical": "http://www.w3.org/2002/12/cal/ical#",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "ical:dtstart": {
      "@type": "xsd:dateTime"
    }
  },
  "ical:summary": "Lady Gaga Concert",
  "ical:location": "New Orleans Arena, New Orleans, Louisiana, USA",
  "ical:dtstart": "2011-04-09T20:00Z"
}

数据形式如图:

image

4.三级水平

(1)图数据库(Neo4j、OrientDB)

Neo4j

图形数据库数据模型的主要构建块是:

  • 节点
  • 关系
  • 属性

image

OrientDB

OrientDB的主要特点是支持多模型对象,即它支持不同的模型:

  • 文档
  • 图形
  • 键/值
  • 真实对象

(2)支持JSON的关系数据库(PostgreSQL)

(3)用数据库表达实体-关系、表达分类树

5.四级水平

查询语言SPARQL、Cypher、Gremlin

6.五级水平

真正的推理规则-OWL

7.六级水平

更容易理解的规则语言-Logic Program

8.七级水平

(1)规则语言中游弋:

RIF-BLD,RIF-PRD,SWRL,RuleML,JESS,DLV,XSB,Prolog

(2)理解各种推理机的性能

(3)谙熟各种知识建模套路

9.八级水平

设计一个完整的语义或知识应用(入坑、爬出来,再入坑、再爬出来,再再入坑…………直到爬不出来)

10.九级水平

思考人生,思考人性

11.十级水平

融会贯通,综合运用

12.原文作者博客:

文因互联