专栏首页AI研习社干货 | 初学者入门必看的“知识图谱”解读(上)

干货 | 初学者入门必看的“知识图谱”解读(上)

本文为 AI 研习社社区用户 @邹佳敏 的博客文章,其知乎专栏为:AI的怎怎,歪歪不喜欢。欢迎扫描底部社区名片访问 @邹佳敏 的主页,查看更多内容。

本系列参考了市面上已知的,几乎全部“知识图谱”相关文章,并总结提炼出一套适合初学者入门的“知识图谱”的知识体系,希望大家能有所收获。

一,知识图谱—盲人摸象

大家都说,自己在做知识图谱,但从不同人分享的PPT来看,讲述的重点都不一样,那知识图谱到底是什么?

二,语义网络 vs. 语义网

1,语义网络(Semantic Network)

Quillian在1968年提出的知识表达模式,其用相互连接的节点和边来表示知识。完全由用户自定义,无任何标准和规范,难以用于实践。

2,语义网(Semantic Web)

Tim.Lee在1998年提出的一个新概念,描述互联网中资源和数据之间的关系,使得互联网上的数据变得机器可读。常被用来指代一整套技术栈框架。

即,语义网是比语义网络更高级的概念,它提供了一整套规范和技术栈来解决实际问题。

三,语义网的技术栈

1,技术栈简介

(1)编码方式(UNICODE),资源标识符(URI):数据的编码方式和表示方式 (2)数据序列化方法(Syntax):数据的序列化方法,包括但不仅限于XML,N-Triples,Turtle,Json-LD (3)数据描述框架(RDF):数据模型,表示知识的一种方法和手段 (4)RDFs/OWL:工业标准,使用预定义的词汇,对RDF进行类和属性定义,即,Schema (5)RIF/SWRL:推理规则(Rule),使用预定义的规范,使基于RDFs和OWL描述的RDF数据,具有推理能力 (6)SPARSQL:基于RDF+(RDFs/OWL: optional)的查询语言 (7)其他:Cryptography + Logic + Proof + Trust:中间层概念,决定应用层如何确定数据的可靠,精确和值得信赖

2,技术栈详解

  • (1), URI和字面量

URI:类似URL,使用全局唯一的标识符来表示知识中的不同元素。比如,

http://www.kg.com/person/1: 表示人物(person)概念中id=1的某个人,

http://www.kg.com/ontology/fullName: 表示属性(ontology)中的fullName属性,

http://www.kg.com/ontology/hasBirthPlace: 表示属性(ontology)中的在"哪儿出生(hasBirthPlace)"的关系。

其中:http://www.kg.com是图谱id

字面量:"1976-09-18"\^{}\^{}date: 表示date类型的值

  • (2),RDF

一个用URI和字面量表示的三元组数据模型,即,任何知识都可以通过(subject, predicate, object)来拆解。

其中,subject和predicate只能是URI,而obeject可以是URI或字面量。当object是URI时,表示(实体,对象属性,实体),简称关系;当object是字面量时,表示(实体,数据属性,值),简称属性。

  • (3),XML-Syntax

RDF本质上只定义了知识的表示规范,但不同实现对应不同的序列化方法。类似,UNICODE是规范,UTF8,UTF16或UTF32是实现方式。

即,XML:基于XML的RDF表示;Json-LD:基于Json的RDF表示;N-Triples:基于三元组的RDF表示等等。比如,N-Triples的表示:

(3).1, (实体,关系属性,实体): <http://www.kg.com/person/1> <http://www.kg.com/ontology/hasBirthPlace> <http://www.kg.com/place/10086>.

(3).2, (实体,数据属性,值): <http://www.kg.com/person/1> <http://www.kg.com/ontology/fullName> "想飞的猫"\^{}\^{}string.

即,XML-Syntax可以理解为RDF的落地物理数据,类似存储在MySQL中某一行的数据

  • (4),RDFs/OWL

用概念(Class),对象属性(Object Property)和数据属性(Data Property)来分别表示实体,关系和数据。

比如,定义,Person表示"人物"概念,hasChild表示"父母"的对象属性,fullName表示"全名"的数据属性。

即,(RDFs/OWL)可以理解为RDF的业务字段定义,类似MySQL中对每个字段的定义:字段名,类型等,使RDF具有了真正的语义含义。

  • (5),RIF/SWRL

依附于OWL,它们是集成在OWL上,对概念和属性的约束和限定。它使OWL从此具备了语义推理能力,比如:

(5).1, A rdfs:subProperty B -> A是B的子属性,比如,A是对象属性"hasSon",B是对象属性"hasChild";

(5).2, A owl:TransitiveProperty -> A属性具有传递性,比如,A是对象属性“位于”;

(5).3, A owl:inverseOf B -> A属性与B属性具有相反性,比如,A是对象属性“父母”, B是对象属性子女;

(5).4,A owl:equivalentClass B -> 在融合不同的语义网时,如果2个网络都基于OWL,可以直接限定本体映射。比如,网络1用A(Human)表示人物,网络2用B(Person)表示人物。

  • (6),SPARQL

查询RDF数据模型的语言,基于(实体,对象属性,实体)和(实体,数据属性,值)的限定,匹配查询数据结果。

SELECT ?n WHERE { 
 ?s rdf:type :Person. 
 ?s :personName '周星驰'. 
 ?s :hasActedIn ?o. 
 ?o :movieTitle ?n 
}

四,语义网的推理能力

使用语义网的推理能力,可以丰富和扩展不完备的缺失数据,甚至识别并判定错误关系或错误属性。

1,基于本体的推理:

RDFs/OWL是本体描述语言,所以,它们本身对概念和属性的约束和限定就构成了W3C规范里,自带的推理能力。比如:

2,基于规则的推理

用户自定义规则,使用第3方工具(Jena),基于已定义好的RDFs/OWL文件,根据业务需求,指定新的概念和属性,比如:

(1), ruleComedian:

(?p :hasActedIn ?m) (?m :hasGenre ?g) (?g :genreName '喜剧') -> (?p rdf:type :Comedian)

(2), ruleTranstive:

(?p :isLocated ?m) (?m :isLocated ?n) -> (?p :isLocated ?n)

3,基于学习的推理

基于语义网,使用机器/深度学习方法,自动发现普通人难以发掘的新的概念或属性,作为其他推理能力的扩充。比如: 图嵌入

本文分享自微信公众号 - AI研习社(okweiwu),作者:邹佳敏

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 干货 | 初学者入门必看的“知识图谱”解读(中)

    本系列参考了市面上已知的,几乎全部“知识图谱”相关文章,并总结提炼出一套适合初学者入门的“知识图谱”的知识体系,希望大家能有所收获。

    AI研习社
  • Transformer各层网络结构详解!面试必备!(附代码实现)

    《Attention Is All You Need》是一篇Google提出的将Attention思想发挥到极致的论文(https://arxiv.org/pd...

    AI研习社
  • Python高级技巧:用一行代码减少一半内存占用

    我想与大家分享一些我和我的团队在一个项目中经历的一些问题。在这个项目中,我们必须要存储和处理一个相当大的动态列表。测试人员在测试过程中,抱怨内存不足。下面介绍一...

    AI研习社
  • 关于 Python 描述符(Descriptor) 附实例

    https://pyzh.readthedocs.io/en/latest/Descriptor-HOW-TO-Guide.html

    张凯强
  • CNN中的目标多尺度处理策略汇总

    1. 后面实习要解决实例分割中的目标多尺度问题(当然不只是这个问题,还有其他的),为此对CNN中这几年的多尺度处理方法进行简要总结~_~,时间紧任务重,只记录...

    小草AI
  • CNN中的目标多尺度处理

    1. 后面实习要解决实例分割中的目标多尺度问题(当然不只是这个问题,还有其他的),为此对CNN中这几年的多尺度处理方法进行简要总结~_~,时间紧任务重,只记录...

    小草AI
  • H3C PPP认证试验报告(h3c网上学

    [r1]dis cur #  version 5.20, Alpha 1011 #  sysname r1 #  password-control ...

    py3study
  • 通过WebRTC进行实时通信-通过RTCPeerConnection传输视频

    RTCPeerConnection 是调用WebRTC传输音视频和交换数据的API。这个例子是在同一个页面中两个RTCPeerConnection对象之间建立连...

    音视频_李超
  • 手把手教你进行pip换源,让你的Python库下载嗖嗖的(系列二)

    今天我们来说说python的pip换源吧,这个换源,相对来说,还是比较重要的,能让自己少生好几次气的,哈哈哈!礼拜一的时候,小编发布了手把手教你进行pi...

    Python进阶者
  • 面试题:Spring为什么默认bean为单例?

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    用户1212940

扫码关注云+社区

领取腾讯云代金券