《语义网与知识图谱》期末复习(二)
这次老师发了个最终版的pdf帮助我们复习,那我就重来。
基本
- 语义web的组成:语义web信息的开放标准、从web描述信息中进一步获取语义的方法。
- 本体:本体是一种形式化的,对共享概念体系的明确而又详细的说明。提供一种共享词表。核心是分类体系。
- RDF使用有向图作为数据类型。
RDF-Literals
即文本或者说是字符串,在rdf图种用方框表示。
RDF表示
一个三元组包含
- 主语:URIs和空节点
- 谓语:URIs(通常被成为属性)
- 宾语:URIs、空节点或者文字
Turtle
Turtle需要注意:
- URIs放在<>中
- 文字用双引号
- 三元组用.结束
- 忽略空格
- @prefix描述前缀。eg. @prefix ex: <http://xx.com>.
- 三元组的主语一样可以简化缩写。
XML-based RDF
<rdf:description rdf:about="xx">
</rdf:description>
利用rdf:description表示是一个节点,rdf:about表述节点名或者说是URI
通过xml 的包含结构来描述主谓关系。
literal有两种写法
- 直接写
- 省略写法.eg: <ex:name="aoru">等价于<ex:name>aoru</ex:name>
空节点在xml中有下列的写法:
- 指定rdf:nodeId,然后再下面引用
- 缩写,利用rdf:parseType = "Resource"表示空节点
空节点再turtle中对应为:
- _ 用下划线表示空节点前缀
- 或者下面缩写,[]用方括号表示空节点,在方括号中写谓语和宾语。
RDFS
在类和实例上对RDF拓展。
A rdf:type B 表示A是B的实例。
隐式推理:
- a type A, A subclassOf B,则a type B
- A subclassOf B,B subClassOf C,则A subClassOf C。
- A subclassOf B,B subClassOf A,则A、B等价。
属性约束:
rdfs:domain定义域
rdfs:range值域
语义
主要考虑语义概念的逻辑维度。
逻辑语义包括:模型论和证明论。
OWL
基本元素:
Class、rdfs:subClassOf
所有的类都继承自owl:Thing
定义一个类
<owl:Class rdf:ID="A">
</owl:Class>
定义一个实例化个体
<A rdf:ID="a">
</A>
属性:
<owl:ObjectProperty rdf:ID="makeFrom">
<rdf:range rdf:resource="a"></rdf:range>
<rdf:domain rdf:resource="b"></rdf:domain>
</owl:ObjectProperty>
本体映射:
<owl:Class rdf:ID="a">
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Class rdf:ID="b"></rdf:Class>
<rdf:Class rdf:ID="c"></rdf:Class>
</owl:intersectionOf>
</owl:Class>
owl:intersectionOf 交运算
owl:unionOf 并运算
owl:disjointOf 不相交类
描述逻辑
基本概念:个体(URIs)、类(URIs)、属性(URIs)。
\[Person(mary) 表示mary是person\\Woman \subseteq Person 表示woman包含于person\\hasWife(A,B)表示A的wife是B\\\]
Abox:上面那种is关系,类与对象的关系属于Abox。
Tbox:上面那种类与类之间的关系。比如包含关系。
\[概念全集:\top\\概念空集:\bot\\属性全集:U\]
如何利用DL构造一个类.
\[利用Woman和Parent构造Mother类。\\\forall x \; Woman(x) \leftrightarrow Parent(x) \cap Woman(x)\]
一个ALC的例子:
Happy Father概念
\[Man\; \cap \exist \; hasChild.Male\\\cap \exist hasChild.Famale\\\cap \forall hasChild.(Doctor \cup Lawyer)\]
存在描述符描述的是属性值,任意描述符描述的是拥有属性的对象。
这里存在描述符加上属性表示至少有一个属性值,那么第一行就可以翻译成至少有一个男孩子(儿子),第二行是至少有一个女孩子(女儿),最后一行任意描述符描述有孩子的对象,这个对象是doctor或lawyer。
SROIQ(D)
SR = ALC + role chains
I 可逆
Q 基数限制
D 数据类型
可判定性:如果一个问题的结果最终能够收敛到一个稳定的值,不管能不能直接得到解,都称这个问题是可判定的。
半判定:算法在有限时间能解决的问题是半判定问题。
存在同时是半判定和非判定的问题。
一种描述逻辑如果其”蕴含公理“是可判定的,则这种描述逻辑是可判定的。
大多数的描述逻辑是可判定的,可判定行是判断一种”好的“描述逻辑标准。
什么是知识图谱
学术角度上讲,知识图谱本质上是一种揭示实体之间关系的语义网络,可以对现实世界的事物及其相互关系进行形式化地描述。
知识图谱的”图谱“不是图像而是图模型。
知识图谱不仅关心知识如何用图表达,还关注图谱如何获取、融合、更新和推理等问题。
知识图谱的技术流程
数据->知识表示->知识获取->知识融合->知识推理->知识检索->知识分析->应用
知识图谱与数据库
- RDF三元组库,使用SPARQL查询
- 图数据库,使用Cypher(开源图数据库Neo4j)、Gremlin、PGOL和G-Core
知识图谱与推荐系统
推荐系统的问题:冷启动,最开始没得数据推荐。
使用知识图谱解决:知识图谱可以提供先验知识,帮助缓解数据稀疏问题,提高模型性能。
推荐系统:
- 基于协同过滤
- 基于内容
引入知识图谱:
- 基于知识图谱中元路径的推荐模型
- 基于概率逻辑程序的推荐模型
- 基于知识图谱表示学习技术的推荐模型
知识图谱小结
知识图谱的终极目标:将非结构、无显式关联的粗糙数据逐步提炼为结构化、高度关联的高质量知识。
知识图谱涉及:知识表示、关系抽取、图数据存储、数据融合、推理补全、语义搜索、知识问答、自动推理、知识驱动等。
关系型数据库:不强调语义逻辑、数据量大、实用
传统知识库:以逻辑为基础,强调语义、数据量小、不实用
知识图谱:弱语义,弱逻辑、大量实例、实用
知识表示
知识表示:用易于计算机处理的方式来描述人脑的知识。
数据与知识的区别:知识可以推理。
知识图谱是知识表示的一种方法。
霍恩子句、霍恩逻辑
霍恩子句:文字的析取,最多待一个肯定文字。也就是说,霍恩子句中最多只能存在一个肯定的句子,其他皆为否定。
框架系统
框架系统的基本思想:认为人们对现实世界中事物的认识都是以一种类似于框架的结构存储在记忆中。当面临新事物的时候,就从记忆中找出一个合适的框架,并根据实际情况对细节加以修改、补充,从而形成对当前事物的认识。
框架:是一种描述对象的属性的数据结构。
一个框架系统由若干个槽组成。每个槽又分为若干侧面/
槽:描述对象某一方面的属性。
侧面:描述属性的一个方面。
SPARQL
是rdf数据库的查询语言。
实用三元组形式查询。
例子:
prefix exp:http://aa.com
SELECT ?student ?email
WHERE {
?student exp:studies exp:English.
OPTIONAL {
?student foaf:mbox ?email.
FILTER(?age >5).
}
}
- 变量前面要加?
- OPTIONAL是带选项的查询,表示里面的选项是查询可选的。
- FILTER是过滤算子,如果OPTIONAL满足,则就要过滤掉age大于5的结果。
OPTIONAL:可选算子 OPTIONAL{XXX}
FILTER:过滤算子 FILTER()
UNION:并算子 UNION{XXX}
知识图谱嵌入
嵌入就是映射到高维的向量空间,知识谱图的嵌入一般可以通过深度学习等方法把系欸但转化为向量,然后映射到高维空间处理。
知识图谱中可以用类比推理做知识图谱的补全。