目录
一、语义网表示法
1.1 语义网概述
1.2 资源描述框架RDF
1.3 本体语言OWL
1.4 规则与推理
二、知识图谱中的知识表示
2.1 DBpedia知识表示
2.2 Wikidata 和 Freebase的知识表示
2.3 知识图谱的多元关系表示方法
三、 分布式知识表示
3.1 分布式表示概述
3.2 知识表示学习方法
3.3 典型分布式知识表示方法及其实现
1 从万维网开始
Lee创造了万维网(1989-1990)
统一资源定位符(URL)
超文本标记语言(HTML)
超文本传输协议(HTTP)
特色:
文本/网页之间能够通过超链接进行关联
触发了Google等web搜索引擎
2 Web 1.0 --- Web 3.0
1.0 服务商产生内容,用户被动接受
2.0 用户在服务商平台生成和贡献内容
诞生了维基百科,社区问答(百度知道)等典型应用
1.0 与 2.0存在问题
网页内容面向人,缺乏语义标记
web数据难以重用,计算机难以理解HTML文档内容
3.0 : 语义网,赋予web信息明确的含义,使计算机和人更好的协同工作
2 语义网是万维网的变革与延伸,是web of documents向 web of data的转变,目的是让计算机能够自动识别和理解万维网上的内容。
本质:
以web数据的内容为核心,用计算机能够理解和处理的方式链接起来海量的分布式数据库;
特征:
web上的事物有唯一的URI
事物之间由链接相关联(如:任务、事件等)
事物之间链接显式存在,并拥有不同语义类型
3 语义网体系结构(为描述数据而设计的表示语言和工具,形式化描述一个知识领域的概念、术语、关系)
(1)第一层: Unicode 和 URI(Uniform resourse identifier,通用资源标识符),是整个语义网的基础
Unicode: 实现信息的统一编码(处理资源的编码);
URI: 负责标识资源,支持网上对象和资源的精细标识
(2)第二层: 语法,用于表示数据的内容和结构
用XML标记语言或其他格式记录网络资源信息。
(3)第三层: 数据交换层,是网络数据语义描述的基础
通过RDF抽象语言,以“资源 - 属性 - 属性值” 的三元组形式描述网络资源
(4)第四层: 分类
RDFS扩展了RDF语言,提供了类、实例、子类等关系描述,便于构造一个分类体系
(5)本体和规则
使用OWL更丰富地扩展了RDFS,揭示资源本身及相互之间更为复杂和丰富的语义表示
使用RIF定义了人工规则的表现格式
4 XML
HTML: 用于显示数据,侧重于如何表现信息;
XML: 用于存储和传输数据,侧重于如何结构化地描述信息
XML元素: 代表XML文档所描述的事物,比如书籍、作者等
元素:由起始标签、元素内容、结尾标签构成
标签名,用户可以随意选择,很少有限制
例如:
Thomas B. Passin
元素具有嵌套结构,并且没有约束嵌套的深度
Thomas B. Passin
Male
+61-7-3875
XML 优点: 结构化的数据表示方式,使数据内容与其形式分类;
良好可扩展性,使用者可创建和使用自己的标记,可定义行业领域特殊的标记语言,进行数据共享和交换
文档类型声明,其数据可被任何XML解析器提取、分析、跨平台使用
XML缺点: 容易产生冲突、混乱
数据库,不具备数据库管理系统那样完备的功能
树状结构存储,插入和修改比较困难
只定义了文档结构和数据类型,没有定义数据语义,机器无法理解文档的内容,因此就需要RDF(Resourse Description Framework, RDF)
1 资源描述框架: 利用当前多元数据标准,描述各种网络资源,形成人机可读,并可由机器自动处理的文件。
2 核心思想: 使用Web标识符(URI)来标识事物
通过指定的属性和相应的值描述资源的性质或资源的关系
3 RDF数据模型
包括: 资源、属性、陈述
资源:一切能够以RDF描述的对象都叫资源,用唯一的URI来表示;
属性:用来描述资源的特征或者资源之间的关系,每一个属性都有特定的意义;
陈述: 特定的资源加上一个属性和相应的属性值就是一个陈述,其中资源是主体(subject),属性是谓词(predicate),属性值是客体(object).
4 RDF Schema
是RDF 的扩展,在RDF基础上提供了一组建模原语,用来描述类、属性及它们之间的关系。
Class, subClassof : 描述类别层次结构
Property, subPropertyOf: 描述属性层次结构
domain, range: 声明属性所用的资源类和属性值类
type: 声明一个资源是一个类的实例
5 RDFS词汇表: 允许定义自己的词汇表,类别集合和属性结合,与其他词汇表中词汇的关系。
6 RDF Schema示例
7 RDF、RDFS和XML区别
(1)RDF 不是一种语言,只是一种书写规范;
(2) RDF是一个抽象的数据模型,其基本构造为陈述,“资源-属性-属性值”三元组,表示这是一个什么事物,有什么属性,属性有什么属性值。
(3)XML是这种抽象的数据模型的具体书写方法。
(4)预定义的词汇不够用就使用RDFS来自定义词汇。
8 RDFS优点: 简单(三元组)、易扩展、包容性、易综合
RDFS缺点: 不能准确描述语义,没有推理模型,不具备推理能力(解决方案: OWL)
1 本体(Ontology): 是共享概念模型的明确的形式化规范说明
概念模型(conceptualization): 本体通过抽象客观世界的概念而得到的模型,独立于具体的环境状态;
明确性(explicit): 使用的概念及使用这些概念的约束都有明确定义;
形式化(formal): 计算机可以处理的,不是自然语言;
共享(shared): 共同认可的知识,反应的是相关领域公认的概念集合
2 本体通过对概念的严格定义和概念与概念之间的关系的描述来确定概念的精确含义。是一套完整的知识体系。
包括: 类或概念,类的实例,实例的属性值。
3 OWL(Web Ontology Language,web本体语言)是在语义网上表示本体的推荐语言,作为RDFS的扩展。
提供更多的原语,支持更丰富的语义表达并支持推理。
4 OWL子语言:
OWL Lite: 轻量级的,提供一个分类层次和简单属性约束;
OWL DL: 提供推理系统,保证计算完备性和可判定性,与描述逻辑(DL)密切相关。
OWL Full: 支持完全自由的RDF语法,但不具备可计算性保证;
5 OWL: 独特的描述结构,包括头部和主体两部分。
头部: 利用命名空间中;预定义的标签来形成本体头部,对本体进行声明
如形容一个篮球运动员本体,以XML形式书写:
一个本体的例子
篮球运动员本体
主体: OWL核心,描述本体的具体内容,定义类、个体、属性、约束和关联
"篮球运动员"主体:
6 OWL类定义: owl:class 和 rdfs:subClassOf 标签
basketballPlayer
バスケットボール選手
OWL基类: owl:Thing
OWL空类: owl:Nothing
7 OWL个体实例化: 必须基于某个类
<篮球运动员 rsf:ID="姚明"/>
等价定义
8 OWL属性,指二元关系,需标明定义域和值域
定义域: 属性属于哪个类;
值域:
数据型属性(DatatypeProperty): 连接个体和数据类型
对象属性(ObjectProperty):连接个体和另一个个体
9 OWL属性特征: 传递性、对称性,通过type标签指定OWL预定义的属性特征(并非OWL强制要求,但尽量多的属性特征描述有助于推理算法的实现)
<运动员 rdf:ID=“易建联”><队友 rdf:resource=“赵继伟”/>运动员>
<运动员 rdf:ID=“赵继伟”><队友 rdf:resource=“易建联”/>运动员>
10 OWL属性限制: 属性的值域可以在某个类的定义中以继承的方式进一步限制,仅对这个类的个体有效,限制包括基数限制等。 owl:Restriction
basketballTeam
12
11 其他OWL建模原语(Primitives)
12 OWL 小结
OWL是RDF的扩展,提供了更广泛的定义RDFS词汇的功能,可以定义词汇之间的关系、类与类间的关系,属性与属性间的关系。。
1 RIF(Rule Interchange Format)规则
是W3C定义的一套针对规则的抽象语言,与OWL兼容,可结合OWL公理进行推理
RIF规则是一个文档,其中有多个组,每个组是多条规则的合取,单条规则往往包含“如果...那么”
2 RIF 统一可扩展的语言族
规则语言分为两类:
声明类: 一阶逻辑及其子集
产生式类:计算机语言的指令
3 SPARQL 是一套针对RDF数据的查询语言;
SPARQL可对任何RDF三元组进行筛选;
4 语义网挑战:
是一个极具野心的宏观概念;
目前的语义网革命,并不是在科学上有革命性的突破,而大部分是工程上的挑战,其中标准化、规模化、用户交互等都是语义网技术面临的挑战。
1 起源于Google,除Google之外,很多机构有自己的知识图谱:
对学术界开放的: Freebase、 YAGO、 DBPedia、 Wikedata、 ConceptNet
百度之心、搜狗知立方、阿里藏经阁
这些知识图谱大致遵循语义网分层架构方式进行建模
除XML之外,也用大量其他存储格式,如: Turtle/NTriples/JSON
都使用图结构进行表示,均可视为RDF相似的三元组进行抽象
可以搜索
一般不提供规则和推理算法
2 DBPedia是众包社区,从维基百科中尽可能多地抽取信息,构建一个开放领域知识图谱,并以Linked Data形式公开出来,用SprQL客户端远程访问。
3 DBPedia本体数据以OWL文档形式保存,可以单独下载;
尽可能与其他知识库对齐,并提供映射数据
多语言知识图谱,维护了一个一致的本体结构
4 DBPedia 本体的头部
类别列表
:llhttp://mappings.dbpedia.org/server/ontology/classes/#ConcentrationCamphttp://mappings.dbpedia.org/server/ontology/classes/#ConcentrationCamp类别:
Planet类的属性列表
Planet类属性
个体:
1 整个Freebase 数据库是一张大图,每个节点都使用 type/object定义,边使用 type/link 定义。每个条目称之为一个 Topic,一个 Topic 有很多属性。比如对于某一个人,可能有姓名、性别、出生日期、个人经历、职业等属性。在 Freebase 中,每一个实体都有一个编号,称为 MID
2 Freebase 中也并不局限于三元组原子知识表示,它创造了一个虚拟的节点结构,被称为组合值类型(Compound Value Type,CVT),对多元关系进行表示
对于“姚明”的婚配情况信息的记录“fb:m.0j688yq”就是一个类型为“fb:people.marriage”的 CVT 对象
3 例子(没有使用XML语言形式)
1 RDF用三元形式表示二元关系,现实中的复杂情形都需要转换为对应的二元关系,才能有知识图谱的表示
一元关系转为二元关系:
例如“牛顿终生未婚”这样的事实就没有第三元可言。知识库可以将三元组第三元置空,存储为形如“(牛顿,配偶,null)”的形式。
方法:
WikiData 通过将值节点的对应属性值设置为“novalue”来实现。
描述逻辑中也可以使用“底层概念⊥”来表达属性取值为空集。
多元关系:
方法:
RDF Reification 将某种语法归为一种语义现象,再用其他语法来描述这个对象
YAGO2 为每个三元组都补充了时空信息形成五元组,就是使用RDF Reification 的方法;
针对时间信息,YAGO2 定义了occursSince 和occursUntil 两个特殊谓词表示时间的起止,若二者相同则表示一个具体时间点;
针对空间信息,YAGO2 定义了occursIn 谓词为三元组配置事实对应的地点。
Davidsonian方法
Davidson 也引入了虚拟节点,并将其称为事件(event),每个事件可具有任意多种属性,因此也能包括N 元方法
1 知识库是一个有向图
多关系数据、节点、边、关系事实(head, relational, tail)
2 知识图谱: 符号主义典型代表
分布式表示:连接主义典型代表
使用数值表示自然语言处理和知识图谱中的词语、实体、概念以及它们之间的关系,通过数值进行语义计算和知识推理。
3 特征工程: 数据预处理 -- 特征提取 --- 特征抽取(分部进行)
特征学习(表示学习)数据预处理 -- 特征提取 --- 特征抽取(综合表示)
4 词表示: 独热表示、分布式表示(低维稠密向量、潜在语义分析LSA、神经词嵌入(基于预测方式,基于计数方式(共现矩阵分解)))
1 词表示学习 ——>知识表示学习
词表示学习: 表示学习后的词语呈现出明显的位移关系,相同词之间通过线性操作后表示一致;
类比到知识表示学习:
2 知识图谱的数值表示
把知识库的实体和关系表示为低维空间的对象(向量)及操作(空间转换)
事实集合 -> 学习实体和关系的低维表示 -> 事实推理
表示学习: 从原始数据中学习概念的潜在表示
3 分布式知识表示主要过程:
将符号化的实体和关系在低维连续向量空间中进行表示,在简化计算的同时,最大程度保留原始的图结构。
将实体和关系在向量空间进行表示;
定义打分函数,衡量每个三元组成立的可能性
构造优化问题,学习实体和关系的低维连续向量表示。
4 打分函数:
位移距离模型(translational distance models): 基于位移假设,头尾实体的表示存在位移关系,基于头尾实体的位移与关系表示的距离的打分函数,来衡量三元组成立可能性;
模型:TRANSE
语义匹配模型(semantic matching models): 直接利用头实体、关系和尾实体的数值表示进行计算,采用相似度打分函数来衡量三元组成立可能性。
模型:RESCALe及其变种
模型训练:
封闭世界假设(Closed World Assumption,CWA) 但凡未在知识图谱中出现的事实都是错误的;
开放世界假设: 知识图谱只包括正确的事实,那些不在其中出现的事实要么是错误的,要么是缺失的。
1 基于位移模型详解: Transe
表示方法: 使用向量表示“头尾”实体和关系;
关系事实 = (head, relation, tail) ,简写为(ℎ,,) ,对应的向量表示为(,,)
打分函数:
对于真实事实的三元组(ℎ,,),要求+= ; 而对于错误的三元组则不满足该条件。
目标函数:
让正例打分比负例得分小,至少要小。
负样本生成策略:
在实体集合中随机选择实体ℎ′(或′) , 替换(ℎ,,)中的ℎ(或),生成负样本(ℎ′,,)或者(ℎ,,′)
参考: 国科大-知识图谱课件