知识图谱,本质上是一种语义网络,其结点代表实体或者概念,边代表实体或者概念之间的各种语义关系。
(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中文知识图谱。
在该网站搜索”西安交通大学”
2.搜狗知立方
访问地址:http://www.sogou.com/tupu/person.html
在该网站搜索”周杰伦”
关系衍生
3.百度知心
在百度网站搜索”珠穆朗玛海拔多少千米”,返回结果
二、中文知识图谱构建
待更新。。。
三、中文知识图谱进阶指南
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文档的其中几行:
(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)
结果如图:
关于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"
}
数据形式如图:
4.三级水平
(1)图数据库(Neo4j、OrientDB)
Neo4j
图形数据库数据模型的主要构建块是:
- 节点
- 关系
- 属性
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.十级水平
融会贯通,综合运用