开始知识图谱从0到-1,用的书是《知识图谱方法、实践与应用》,做些阅读笔记,如有错误内容,望各位指正。
知识图谱概述
知识图谱概述
1 知识图谱的定义和基本概念
1.1 知识图谱的定义
谷歌对于知识图谱的定义是,知识图谱是一种用图模型来描述知识和建模世界万物之间的关联关系的技术方法。
1.2 知识图谱例子
上图为知识图的表示,其中包括了实体、属性、关系。
- 上述图中的节点是实体;
- 节点有属性标签(可以包含类型);
- 两个节点的边是实体间的关系
根据上述实体、属性和关系的基本概念,我们可以得到“小树同学出生在中国,而且在国内位于中山大道的学校学习”
2.知识图谱的发展历史
知识图谱并非突然出现的技术,而是历史上很多相关技术相互影响和继承发展的结果,包括语义网络、知识表示、本体论、Semantic Web、自然语言处理等,有着来自Web、人工智能和自然语言处理等多方面的技术基因。
2.1 语义网络(Semantic Network)
语义网络是由Quilian等人提出用于表达人类的语义知识并且支持推理,即表示概念间语义关系的网络,最初的目的用于语言翻译和自然语言处理。
其形式上是一个带有表示的有向图。
- 图中的节点用以表示各种事物,概念,情况,状态等。
- 每个节点可以带有若干属性。
- 节点间的“连接弧”用以表示各种语义联系、动作。
2.2 Ontology 本体
本体是领域共享知识的描述方式,是语义Web、语义搜索、知识工程和很多人工智能应用的基础。
It is used to reason about the entities within that domain,and may be used to describe the domain.
In theory, an ontology is a “formal, explicit specification of a shared conceptualisation”.
——T. R. Gruber(1993)
- 本体定义了组成「主题领域」的词汇表的「基本术语」及其「关系」,以及结合这些术语和关系来定义词汇表外延的「规则」
- 领域(domain),一个本体描述的是一个特定的领域。比如我们确定这次要描述的领域是「大学」。
- 术语(term),指给定领域中的重要概念。例如,确定要描述「大学」了,对于一个大学来说什么概念是重要的呢?我们可以列举出「教工」、「学生」、「课程」等等概念。
- 基本术语之间的关系,包括类的层次结构(可类比「taxonomy」理解)。列举出了「教工」「学生」等这些重要的概念,那么这些概念之间是什么关系呢?并列?上下位类?
- 词汇表外延的规则(可类比数据库中的「约束」概念理解),包括(1)属性(2)值约束(3)不相交描述(4)对象间逻辑关系的规定
2.3 Semantic Web 语义网
在万维网诞生之初,网络上的内容只是人类可读,而计算机无法理解和处理。比如,我们浏览一个网页,我们能够轻松理解网页上面的内容,而计算机只知道这是一个网页。网页里面有图片,有链接,但是计算机并不知道图片是关于什么的,也不清楚链接指向的页面和当前页面有何关系。语义网正是为了使得网络上的数据变得机器可读而提出的一个通用框架,即是使机器能够了解语法与其语义
语义网络的架构如下:
当我们打开搜索内容并打开一个网页,此时我们则是在User interface and applications的用户端中进行操作。但是为什么能够搜索到这些内容呢?一切都是由底层的架构决定的。
2.3.1 URI 、UNICODE和XML
- URI:统一资源标志符(Uniform Resource Identifier, URI),表示的是web上每一种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个URI进行标识的。他的作用就是为网上的各种资源做标记,以便与机器能够找到该资源。
- UNICODE:Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
- XML:XML一般指可扩展标记语言。可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。
例如:
<Student>
<name>
小树同学
</name>
<gender>
male
</gender>
</Student>
2.3.2 RDF
- RDF(Resource Description Framework):资源描述框架,在RDF中,知识总是以三元组的形式出。每一份知识都可以被分解为(subject,predicate,object)(主语,谓语,宾语)。
- 举个例子:
“小树同学是知识图谱的狂热者”,“知识图谱的形式是图模型”,即可以表示如下图:
左图为RDF知识库的图表示,右图为三元组全局标识URI
2.3.3 RDFS
-RDFS:RDF用到了类以及属性描述个体之间的关系。这些类和属性有模式(Schema)定义。RDF Schema(RDF 模式,简称RDFS)提供了对类和属性的简单描述,从而给RDF数据提供词汇建模的语言。
RDFS提供了最基本的对类和属性的描述原语:
rdf:type : 用于指定个体的类
rdfs:subClassOf:用于指定类的父亲
rdfs:subPropertyOf:用于指定属性的父属性
rdfs:domain:用于指定属性的定义域
rdfs:range:用于指定属性的值域
- 举个例子:
左图即表示:Author是Creator的子类
右图中的:(speaker rdfs:domain Person)(speaker rdfs:range Talk)表示了人是speaker的定义域,值域为Talk。
从中我们也可以利用rdfs进行知识推理 - haofen是cmcc Talk的speaker。
- 若前提了解haofen rdf:type Person,则可以推理出cmcc Talk rdf:type Talk;
- 若前提了解cmcc Talk rdf:type Talk,则可以推理出 haofen rdf:type Person;
相对于RDF而言,RDFs可以描述一些关系,但是由于描述词汇是固定的,所以能描述的关系有局限性。所以我们需要一个更加强大的工具。这个工具就是比RDFs更高一级的OWL
2.3.4 OWL
- OWL:OWL的全称是Web Ontology Language,OWL拓展了RDFS,且OWL1.0有OWL Lite、OWL DL、OWL FULL三个子语言。三个包的选择取决于我们对资源的描述的需求程度。
OWL的重要词汇
1. 等价性声明:
exp:运动员 owl:equivalentClass exp: 体育选手
exp:获得 owl:equivalentProperty exp:取得
exp:运动员 A owl:sameIndividualAs exp:小明
2. 属性传递性声明:
由 a exp:ancestor b 和 b exp:ancestor c 可以推出 a exp:ancestor c
3. 属性互逆声明:
exp:ancestor owl:inverse Of exp:descendant,指的是exp:ancestor 和 exp:descendant是互逆的。
如果exp:小明 exp:ancestor exp:小林,则可以推出 exp:小林 exp:descendant exp:小明
4. 属性函数性声明:
exp:hasMother rdf:type owl:SymmetricProperty指的是exp:hasMother 是一个函数
5. 属性的对称性声明:
exp:friend rdf:type owl:SymmetricProperty指的是exp:friend是一个具有对称性的属性
如果exp:小明 exp:friend exp:小林 则可以推出 exp:小林 exp:friend exp 小明
6. 属性的全称限定声明:
exp:Person owl:allValuesFrom exp:Women
exp:Person owl:onProperty exp:hasMother
说明exp:hasMother在主语属于 exp:Person类的条件下,宾语的取值只能来自exp:Women
7. 属性的存在限定声明:
exp:SemanticWebPaper owl:someValuesFrom exp:AAAI
exp:SemanticWebPaper owl:onProperty exp:publishedIn
说明exp:publishedIn在主语属于exp:SemanticWebPaper类的条件下,宾语的取值部分来自exp:AAAI类。上面的三元组
表示:关于语义网的论文部分发表在AAAI上
8. 属性的基数限定声明:
exp:Person owl:cardinality "1" ^^xsd:integer
exp:Person owl:onProperty exp:hasMother
指的是exp:hasMother在主语属于exp:Person类的条件下,宾语的取值只能有一个“1“且类型为Integer
2.3.5 SPARQL
SPARQL是RDF数据库查询语言,它的核心思想是,根据给定的谓语动词,从三元组提取符合条件的主语或宾语。
3.知识图谱的技术流程
参考
- https://blog.youkuaiyun.com/github_37002236/article/details/81907721
- https://blog.youkuaiyun.com/m0_37565948/article/details/81566949
- https://zhuanlan.zhihu.com/p/208858014
- https://github.com/npubird/KnowledgeGraphCourse