知识图谱表示与建模
知识表示
-
客观事物的机器标示
定义客观实体的机器指代或指称 -
一组本体约定和概念模型
定义用户描述客观事物的概念和类别体系 -
支持推理的表示基础
提供机器推理的模型与方法 -
用于高效计算的数据结构
-
人可理解的机器语言
只是表示必须接近人的认知
语义网络
三元组(节点1、联想弧、节点2)
缺点
:无形式化语法、无形式化语义
描述逻辑
互联网本体语言(OWL)
互联网时代语义网知识表示框架
RDF && RDFS
表示组
:URI/IRI、XML、RDF
推理组
:RDF-S、本体OWL、规则RIF、统一逻辑
RDF
主语和宾语看成节点,谓语看成边
支持不同的序列化格式:RDF/XML、Turtle、N-Triple
采用开放世界假设、分布式定义的只是可以合并
RDFS(RDF Schema)
- rdf:type :个体的类
- rdfs:subClassof :类的父类
- rdfs:subPropertyof :属性的父属性
- rdfs:domain :属性的定义域
- rdfs:range :属性的值域
OWL语言
(1)等价性声明:
exp:xxx owl:equivalentClass exp:yyy
类等价
exp:xxx owl:equivalentProperty exp:yyy
属性等价
exp:xxx owl:sameIndividualAs exp:yyy
实例等价
(2)属性传递性声明:
exp:ancestor owl:TransitiveProperty
传递关系
a exp:ancestor b
&& b exp:ancestor c
-> a exp:ancestor c
(3)属性互逆声明:
exp:ancestor owl:inverseof exp:descendant
exp:ancestor
和exp:descendant
互逆
(4)属性的函数性声明:
exp:hasMother rdf:type owl:FunctionalProperty
exp:hasMother
是一个函数
(5)属性的对称性声明:
exp:friend rdf:type owl:SymmetricProperty
对称属性
exp:xx exp:friend exp:yy
== exp:yy exp:friend exp:xx
(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
类
(8)属性的基数限定声明(声明一个属性的基数
):
exp:Person owl:cardinality "1" ^^xsd:integer
exp:Person owl:onProperty exp:hasMother
exp:hasMother
在主语属于 exp:Person
类的条件下,宾语的取值只能有一个,“1”的数据类型声明为xsd:integer
(基数约束,属于属性的局部约束)
(9)相交的类声明:
exp:Mother owl:intersectionOf_tmp
_tmp rdf:type rdfs:Collection
_tmp rdfs:member exp:Person
_tmp rdfs:member exp:HasChildren
_tmp
是临时资源,是一个容器,拥有两个成员:exp:Person
&& exp:HasChildren
上述说明 exp:Mother
是 exp:Person
&& exp:HasChildren
两个类的交集
知识图谱查询语言
SPARQL
SPARQL知识图谱查询基本构成
- 变量、RDF中的资源,以
?
或$
代替 - 三元组模板,在
WHERE
子句中列出关联的三元组模板 SELECT
子句中指示要查询的目标变量
查询示例:
PREFIX exp: http://www.example.org/
SELECT ?student
WHERE {
?student exp:studies exp:CS328 .
}
常见查询算子
OPTIONAL
可选算子
SELECT ?student ?mail
WHERE {
?student exp:studies exp:CS328 .
OPTIONAL {
?student foaf:mbox ?email .
}
}
OPTIONAL
关键字指示如果没有邮箱则依然返回学生姓名,邮箱处空缺
FILTER
过滤算子
SELECT ?module ?name ?age
WHERE {
?student exp:studies ?module .
?student foaf:name ?name .
OPTIONAL {
?student exp:age ?age
FILTER (?age>25)
}
}
查询学生姓名、选修课程及年龄,且年龄需大于25
UNION
并算子
SELECT ?student ?mail
WHERE {
?student foaf:mbox ?email .
{ ?student exp:studies exp:CS328 .}
UNION { ?student exp:studies exp:CS909 }
}
查询选修课程 CS238 和 CS909 的学生姓名及邮件,邮件值必回,无邮件值则不返回
语义Markup表示语言
-
JSON-LD(基于JSON表示和传输链接数据)
JSON-LD有语义网的风格
{
"http://schema.org/name": "Manu Sporny",
"http://schema.org/url": { "@id":"http://manu.sporny.org/" },
"http://schema.org/image": { "@id":"http://manu.sporny.org/images/manu.png" },
}
-
RDFa
RDFa可以I将三元组嵌入在XHTML文档中,引入名字空间,在已有标签中加入RDFa相应属性
<div xmlns:dc="http://purl.org/dc/elements/1.1/" about="http://www.example.com/books/wikinomics">
<span property="dc:title">Wikinomics</span>
<span property="dc:creator">Mr Right</span>
<span property="dc:date">2006-09-02</span>
</div>
-
HTML5 Microdata
自定义词汇表、带作用域的键值对给DOM做标记
<section itemscope itemtype="http://data-vocabulary.org/Person">
<h1 itemprop="name">Andy</h1>
<p><img itemprop="photo" src="http://www.example.com/photo.jpg"></p>
<a itemprop="url" href="http://www.example.com/blog">My Blog</a>
</section>
知识图谱的向量表示方法
将知识图谱中的实体和关系映射到低维连续的向量空间
词向量表示法
将词映射到向量空间
独热编码
稀疏性强,向量维度大
词袋模型
记录每个词在文本中出现的次数
词向量
产生词向量的三种手段:
- Count-based 记录词的出现次数
- Predictive 可以通过上下文预测中心词 or 通过中心词预测上下文
- Task-based 对词向量在任务中的表现效果对词向量进行学习
开源工具:word2vec
中的 CBoW
&& Skip-gram
CBoW(连续词袋模型)
主要思想:通过上下文预测中心词 -> 训练出的词向量也包含上下文信息
Skip-gram
主要思想:通过中心词预测上下文
知识图谱嵌入
三元组 (h, r, t) ,其词向量需要符合:
v
e
c
(
h
)
+
v
e
c
(
r
)
≈
v
e
c
(
t
)
vec(h) + vec(r) ≈ vec(t)
vec(h)+vec(r)≈vec(t)
优点:
- 提高应用时的计算效率
- 增加下游应用设计的多样性:更适用于机器学习算法
- 作为预训练,为下游模型提供语义支持
主要方法:
- 转移距离模型:将衡量向量化后的知识图谱中三元组的合理性问题,转化成衡量头实体和尾实体的距离问题。 得分函数:利用关系把头实体转移到尾实体的合理性的函数
- 语义匹配模型:挖掘向量化后的实体和关系的潜在语义。 RESCAL模型:将知识图谱编码为一个三维张量,由张量分解出一个核心张量和一个因子矩阵。核心张量中每个二维矩阵切片代表一种关系,因子矩阵中每一行代表一个实体。
- 考虑附加信息的模型:额外考虑实体类型 例如:(Rome, IsA, city),(Italy, IsA, Country)
仅为个人笔记上传存档