知识图谱
技术简介
简介
应用
实战
知识图谱的增长

为什么我们需要知识图谱?
- 各种知识需要有一种通用的表达形式
- 我们周围包含了各种实体,这些实体都是通过不同关系相连接
- 图谱是一种表现关系的很自然的方法
- 图谱本身是一种高效的数据表达方式
一个小的知识图谱

http://www.w3.org/TR/2014/NOTE-rdf11-primer-20140225/example-graph.jpg
- 蒙娜丽莎是达芬奇画的
- 蒙娜丽莎是关于La Joconde(法文名)
- BOB对蒙娜丽莎感兴趣
- Alice是BOB的朋友
- BOB是一个人
- 出生于1990年7月14日
知识图谱是什么
- 实体和关系的语义表达(Semantic Representation)
- 使用专为知识表达设计的表现格式(Neo4j,RDF,OWL)
- 实体:真实世界的事物(事情、地点、人)和抽象概念(民族、宗教、专业技能)
- 关系:关系是图谱中的主要构成
- 语义描述:例如有具体定义的类型和属性
- 其他可能的规则,用来进行推理
语义搜索 统计分析 知识分享
问答系统 监控面板 知识管理
逻辑推理 实体识别 文本理解
机器学习 实体消歧 推荐系统
实体
关系
语义描述
XML SQL CSV 其他
应用
算法
知识图谱
数据源
简介
应用
实战


实体搜索与摘要
实体搜索的消歧
李晨
石头
主持人
李晨
喜欢
职业

关系发现

事实问答(Factual Answers)
Wiki页面
Wiki作为搜索


百度百科

简介
应用
实战
栗子
假设我们想搜索所有的“爸爸”
数据来源:郭德纲是郭麒麟的爸爸
| 主语 | 谓语 | 宾语 |
|---|---|---|
| 郭德纲 | 有一个儿子 | 郭麒麟 |
| 郭麒麟 | 有一个爸爸 | 郭德纲 |
select 主语
where 谓语 = '有一个儿子'
union
select 宾语
where 谓语 = '有一个爸爸'
SQL
match
(n)-[:有一个儿子]->(),
()-[:有一个爸爸]->(m)
return n, m
Cypher (neo4j)
假设我们换一个问题
郭麒麟的所有祖先?
?????????
SQL
match
(n)<-[:有一个父亲*]-(m)
where n.name = '郭麒麟'
return m
Cypher
KnowledgeGraph
By qhduan
KnowledgeGraph
- 663