Tag Archives: 语义网

笔记 OPENHPI 语义网技术 Week6

公开课请见:https://openhpi.de/

L6-1 数据网络的应用——本体工程Ontological Engineering

  • 对于哲学而言,本体是:
    有关于存在的理论,尝试去解释存在本身,通过发开一个全局的分类以及类间关系的系统。
  • 对于计算机科学而言,本体是:
    对于有关概念的一个明晰、正式的规定。
语义网基于的是元数据的互操作
在异构的元数据之中存在着语义隔阂,这个隔阂只能在本体的帮助之下才能桥接起来
模型和模型背后的本体(不同本体都可以用来表达同一个知识):
ontology1
ontology2
本体工程
本体赋予了元数据之间的互操作能力
我们可以做的研究有:
  • 本体设计 Ootology Design
    有效率地开发本体的方法
  • 本体映射 Ontology Mapping
    有效率地比较本体的方法
  • 本体合并 Ontology Merging
    有效率地合并本体的方法
本体工程的自动化辅助手段:
  • 本体学习 Ontology Learning:学习一个给定信息资源集中的本体
  • 根据一个信息资源中的不同个体,将已有的本体创建出来

L6-2 本体设计Ontology Design

本体设计方法论:描述了本体创建的所有必需活动
为什么需要一个正式的方法论?
  1. 为了开发本体的一致性
  2. 为了有效率地开发复杂的本体
  3. 为了开发工作可以分布式地进行
Fernandez-Lopez et. al., 1997 本体创建方法论,将本体创建活动分为三类:
  1. 本体的管理活动
  2. 本体开发导向的活动
  3. 本体的支持活动
本体的管理活动:
  1. 规划Scheduling
    识别要解决的任务
    安排计划
    识别所需的资源
  2. 控制Control
    保证任务的严格执行
  3. 质量保证Quality Assurance
    保证开发过程中所有产出的资源(本体、软件、文档)的质量
本体开发导向的活动
  1. 前期开发
    1.1环境研究
    本体的目标软件平台是什么?
    什么样的应用会使用这个本体?
    1.2可行性研究
    本体是否真能够被开发出来?
    开发出来的本体是否有意义?
  2. 开发
    2.1明确化
    为什么要开发这个本体,对用户有什么好处?
    2.2概念化
    用一个概念模型来构建领域知识
    2.3形式化

    用(半)可计算的模型来将概念模型形式化

    2.4实施
    用本体表达语言来创建一个可计算的模型

  3. 开发后期
    3.1维护
    对本体的更新和调整
    3.2使用/重用
    本体在目的应用(和非计划的应用/本体)中的使用情况
本体支持活动
  1. 知识获取
    从专家处获得知识(本体学习)
  2. 评价
    对本体开发过程的每一个步骤进行技术性的评价
  3. 整合
    重用已有的本体
  4. 合并
    从特定领域已有的本体创建新的本体
  5. 队列
    对本体运用/设计映射规则
  6. 文档
    本体开发的每个过程都需要被精确地记录下来
  7. 配置管理
    管理开发本体的所有文档的各个版本
L6-3 本体设计101
Noy, McGuinness 2000
本体开发101过程
ontology development 101 process
确定范围——考虑重用——列举术语——定义类——定义谓词——定义限制——创建实例
对于一个领域,永远没有唯一正确的建模方法
1确定范围
  1. 这个本体涵盖了什么领域?
  2. 本体应该被用来做什么?
  3. 这个本体中表达的知识能够回答什么样类型的问题?
  4. 谁可能会使用和维护这个本体?
2考虑重用
重用的意义:
  1. 节约成本
  2. 为了应用那些为已有的其他本体而开发的工具
  3. 为了重用那些已经生效的本体。
若非必须,勿增本体
3列举术语
  1. 我们在讨论什么概念?
  2. 对于这些概念我们想说些什么?
  3. 这些概念有哪些属性?
4定义类
  1. 类是目标领域内的概念
  2. 类似一类具有相同属性的对象的集合
  3. 选择好类之间层次的构建方式
    自上而下
    自下而上
    从中间往两边
5定义属性
  1. 类中的谓词描述了类中实例的属性
6定义限制
  1. 属性限制描述了/限制了可能的谓词值集合
7根据类创建个体
101后需要进一步开发规则(公式、公理)

另一种方法论
统一过程(Unified Process)De Nicola, Missikoff, Navigli (2005)
  • 基于软件开发中的统一过程方法论和统一建模语言(UML)
  • 用例驱使
  • 主要用来开发应用本体
目标:
  1. 减少开发大规模本体的时间和消耗
  2. 不断地通过对中间结果的验证来提高本体开发的质量
  3. 有效的聚集和明确分工知识工程师和领域专家的方法论
  4. 中间结果可以被用户评价
开发过程分为三个环节,再细分为4个迭代阶段:

  1. 启始Inception
  2. 精化Elaboration
  3. 构建Construction
  4. 产品化Transition
每一个迭代包括5个工作流:

  1. 需求Requirements
  2. 分析Analysis
  3. 设计Design
  4. 实施Implementation
  5. 测试Test

统一过程示意图

另一种方法论
本体设计模式Gangemi et al., 2005
从建筑学中而来,之前用于软件建模,
提供了:简单的可重用本体模板
ontologydesignpatterns.org

L6-4 关联数据工程

LOD 云图
  1. Use URIs as names for things.
    URI不仅用来标识文档,也用来标识任何现实世界的事物以及抽象概念
  2. Use HTTP URIs, so that people can look up those names.
    URI可以解引成对于资源的描述信息,主要通过http内容协商机制(303和hash)
  3. When someone looks up a URI, provide useful information, using the standards (RDF, SPARQL)
    RDF作为网络上发布结构化数据的统一的数据模型,在RDF图中所有的URI都要是可解引的
  4. Include links to other URIs, so that they can discover more things.
    将不同数据源的数据连接起来(关系链接、标识链接、词汇链接)
开放关联数据评价指标
  1. Available on the web (whatever format) but with an open licence, to be Open Data
  2. Available as machine-readable structured data(e.g. excel instead of image scan of a table)
  3. as (2) plus non-proprietary format (e.g. CSV instead of excel)
  4. All the above plus: use open standards from W3C (RDF and SPARQL) to identify things, so that people can point at your stuff
  5. All the above, plus: link your data to other people’s data to provide context

L6-5 关联数据工程

DBPedia介绍
 
开放关联数据分领域统计数据
LOD by domain
本体将关联数据云连接起来
例如:
  1. owl
    owl:sameAs 连接了相同的个体
    owl:equivalentClass 连接了相同的类
  2. umbel Upper Mapping and Binding Exchange Layer
    是OpenCyc的一个子集,基于SKOS和OWL2的RDF三元组
    包含了28000个skos:concept
    有46000条映射
  3. skos 简单只是管理系统
    基于RDF和RDFS
    定义、映射词汇和本体
    skos:Concept、skos:narrower、skos:broader、skos:related、skos:exactMatch、skos:narrowMatch、skos:broadMatch、skos:relatedMatch
发布关联数据
  1. 本地出版:D2R-Server,OpenLink Virtuoso, Pubby等
  2. 封装器(Wrappers)的实施方式:
    基于现有的应用——SIOC Exporter for WordPress、Drupal、phpBB
    基于现有的API——Amazon API, Google Base-API
  3. 浏览器
    Tabulator 
    http://swui.semanticweb.org/swui06/papers/Berners-Lee/Berners-Lee.pdf
    OpenLink RDF Data Explorer:http://ode.openlinksw.com/
    Zitgist Browserhttp://browser.zitgist.com/
    DISCO Browserhttp://sites.wiwiss.fu-berlin.de/suhl/bizer/ng4j/disco/
  4. 搜索引擎
    Swoogle http://swoogle.umbc.edu/
    SWSE Semantic Web Search Engine http://swse.deri.org/
    Sindice http://www.sindice.com/
    Falcons http://iws.seu.edu.cn/services/falcons/
    Sig.ma  http://sig.ma
  5. 关联数据驱使的网络应用
关联数据应用的组成:
  1. 本地的RDF存储
  2. 逻辑和用户界面
  3. 数据集成组件
  4. 数据重发布组件
SPARQL终端是一个RESTful 网络服务,可以通过HTTP GET访问,结果可以是各种格式
相关的函数库:
  1. SPARQL Javascript Library
    http://www.thefigtrees.net/lee/blog/2006/04/sparql_calendar_demo_a_sparql.html
  2. ARC for SPARQL (PHP)
    http://arc.semsol.org/
  3. RAP - RDF API für PHP
    http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/index.html
  4. Jena/ARQ (Java)
    http://jena.sourceforge.net/
  5. Sesame (Java)
    http://www.openrdf.org/
  6. SPARQL Wrapper (Python)
    http://sparql-wrapper.sourceforge.net/
一个Jena例子
example in jena

L6-6 指定实体识别(Named Entity Recognition)

指定实体识别是:“定位和区分原子元素至预先定义了的名称、人物、组织、位置、时间表达、数量等分类中去”
“locating and classifying atomic elements...into predefined categories such as names, persons, organizations, locations, expressions of time, quantities, monetary values, etc.”
C.J.Rijsbergen, Information Retrieval (1979
实体的映射候选:
  1. linguistic analysis语言学分析 part of speech tagging POS标签
  2. normalization 标准化
  3. encoding and spelling 编码和拼写
  4. 等等
指定实体识别策略:
  1. 流行度策略Popularity based strategies
  2. 语言学策略Linguistical strategies
  3. 统计学策略Statistical strategies
  4. 基于语义的策略Semantic based strategies

L6-7 语义检索

传统的信息检索系统的评价

 
语义检索
特点:
  1. 信息本身是标注了(基于文字的)包含了语义实体的元数据
  2. 基于实体(而非关键词)的信息检索
  3. 利用语义关系,例如基于内容的近似关系
  4. 通过语义注释实现元数据互操作
总的目的:
  • 提高信息检索的量和质
语义元数据对传统基于关键字的检索的提高:
  1. 检索式的扩展/精确
    扩展:利用词典/叙词表或本体中的同义词、相关概念、下位词等来扩展检索式
    精确:利用整体词、上位词来精确检索式
  2. 交互访问
    通过领域本体来提供额外的相关信息的补充
  3. 探索式检索
    利用领域本体和启发式来发现相关事实
  4. 推理
    利用领域本体和推理算法以及启发式来发现新的相关事实

L6-8 探索式语义检索

"Searching is not always just searching"?
探索式检索:
  1. 如果用户不知道应该使用怎样的检索式,该怎么办?
  2. 如果用户想要查找的是一个复杂的问题,该怎么办?
  3. 如果用户不了解他所想查找信息的领域,该怎么办?
  4. 如果用户想要知道有关一个特定主题的全部,该怎么办?

笔记 OPENHPI 语义网技术 Week5

公开课请见:https://openhpi.de/

L5-1 知识表达——描述逻辑ALC

知识表达的两类方式
  1. 基于逻辑的公式化方式
    例如:描述逻辑
  2. 非基于逻辑的公式化方式
    例如:语义网络Semantic Networks、基于框架的表达、基于规则的表达
一阶逻辑不适合做语义网本体语言的种种原因...略,描述逻辑适合做语义网本体语言的种种原因,略。
 
OWL 2 DL这个W3C标准既是基于描述逻辑SHROIQ(D)的本体语言
 
ALC的基础知识见W4笔记
 
ALC角色的量词:
  • Strict Binding严格限定一个类的角色范围
    Examination ⊑ ∀hasSupervisor.Professor
    (∀x)(Examination(x) → (∀y)(hasSupervisor(x,y) → Professor(y)))
    考试必须由一个老师监考
  • Open Binding开放限定一个类的角色范围
    Examination ⊑ ∃hasSupervisor.Person
    (∀x)(Examination(x) → (∃y)(hasSupervisor(x,y) Λ Person(y)))
    考试要由至少一个老师监考
ALC形式语法
  • ALC TBox术语知识层包括复杂类之间构成的推论
  • ALC ABox断言知识层包括复杂类、角色、和实体之间构成的推论
  • ALC 知识库Knowledge Base包括 ABox和TBox     
ALC语义(演绎)
一个演绎I=(ΔI,.I)包含了:
  • 一个实体的领域
  • 一个演绎函数:
    将实体名a 映射到其 领域元素aI∈Δ I
    将类名C映射到 领域元素CI⊆ΔI
    将角色名R映射到 RI⊆ΔI×ΔI

ALC语义演绎

复杂类的扩展
ALC complex classes ext
公理的扩展

ALC Axioms ext

 
ALC知识库
术语知识TBox 描述了建模领域的结构(概念化的模式)
  • Human ⊑ ∃ parentOf.Human
  • Orphan ≡ Human ⊓ ¬∃ hasParent.Alive
推断知识ABox 描述了特定情形(数据)的公理
  • Orphan(harrypotter)
  • hasParent(harrypotter,jamespotter)
描述逻辑

L5-2 知识表达——描述逻辑的推理和推论

开放世界假定(Open World Assumption, OWA)
  • 当我们有一个空白的描述逻辑本体时,一切都是可能的
  • 我们开始不断地对一个本体加以限制,让它变得越来越限定
  • 我们定义什么是不可能的,什么是避免的,什么是排除的
Sheep  Animal ⊓ ∀hasLimbs.Leg 
并没有限定羊不能飞,所以羊是可能能飞的,但是我们无法知道是否能飞
在开放世界假定中,除非我们规定了羊不能飞或者羊能飞,不然的将返回“不知道”
 
在语义网中,我们期望别人能够扩展我们的模型,OWA就比较适合,我们可以有意识地让我们的模型不完整,然后允许它人重用和扩展我们的模型。
 
封闭世界假定(Closed World Assumption, CWA)
在封闭世界假定中,我们陈述所有的可能性,没有陈述的事情就一定是不可能的。
  • OWA额外的个体的存在是可能的,即使本体中没有包括它
  • CWA知识库包含了所有的个体
推理存在的问题:
  • 知识库的全局一致性
    知识库是否有意义?
    KB ⊨ ⊥? 
  • 类的一致性
    类是否为空?
    C ≡  ⊥ ?
  • 类的包含
    构建知识库
    C
      D?
  • 类的等价
    两个类是否一样?
    C ≡ D?
  • 类的不相交
    两个类是否不相交?

    C  D = ⊥ ?
  • 类成员
    个体是否属于一个类?

    C(a)?
描述逻辑的推理的可判定性:不总是可判定
 
还原至不可满足性:
  • 类的一致性

    iff KB {C(a)} unsatisfiable (a new)

    C ≡  ⊥ 

  • 类的包含

    iff KB {(C¬D)(a)} unsatisfiable (a new)

    ⊑ D

  • 类的等价

    iff C  D and D  C

    C ≡ D

  • 类的不相交

    iff KB {(CD)(a)} unsatisfiable (a new)
    ⊓ D = ⊥ 
  • 类成员

    iff KB {¬C(a)} unsatisfiable
    C(a)

L5-3 知识表达——ALC的表格算法

描述逻辑的表格算法,转换至标准否定范式:
 
令W是一个知识库
  • CD和D C替换C≡D
  • ¬CD替换CD
  • 应用标准否定范式的转换规则
结果将是一个知识库NNF(W),NNF(W)与W是逻辑上等价的。
 
NNF转换规则
 nnf transformation
转换示例:
P  (E U) ¬(¬ED)
转换成
¬P  (E U) (E¬D)
 
描述逻辑的表格扩展规则:

 tableaux extension rule for dl
如果结果中的表格是封闭的,则原知识库是不可满足的。
 
描述逻辑的表格算法示例:
 
  • P代表教授
  • E代表人
  • U代表大学员工
  • D代表学生
给定知识库:
  • P  (E U) (E¬D)
试问:

  • P  E是否是一个合理的逻辑推理?
先将知识库转换为标准否定范式:¬P(E U) (E¬D)
将试证明的⊑ E转换成否定范式:¬P ⊔E,对其进行否定,得P  ¬E
 
也就是要证明知识库{¬P⊔ (E⊓ U)⊔ (E⊓ ¬D),(P ¬E)(a)}是否是封闭的
 
表格算法:
(1) (P⊓¬E)(a) (from knowledge base)
(2|α from 1) P(a)
(3|α from 1) ¬E(a)
(4) (¬P⊔ (E⊓ U)⊔ (E⊓ ¬D))(a) (from knowledge base)
(5|β from 4)) ¬P(a) | (6)((E ⊓U) ⊔(E ⊓¬D))(a)
                    (7|β from 6) (E⊓ U)(a) | (8) (E⊓ ¬D)(a)
                    (9| α from 7) E(a)      (10| α from 8) E(a)            
                  (11| α from 7) U(a)      (12| α from 8) ¬D(a)
 
带有Blocking的描述逻辑表格算法,未懂

L5-4 知识表达——网络本体语言OWL 第一部分

OWL本体包括:
  • 属性
  • 个体(类的实例)
OWL采用开放世界假定
OWL不限定唯一的名称假定,A可能和B指的的同样一个个体
OWL是一阶逻辑的一个语义片段
 
OWL是一系列本体:

 owl hierarchies
OWL 1 DL 基于的是SHOIN(D)
 
OWL2 可以用不同的语法表达:
  • 功能语法
  • RDF语法
  • XML语法
  • Manchester语法
  • Turtle 
Turtle是非常简单易编写的,RDF语法的兼容性非常好
一个turtle语法的owl本体示例:
owl turtle

L5-5 知识表达——网络本体语言OWL 第二部分

OWL 类
 
两个预定义的类:
  • owl:Thing 包含了所有个体的类
  • owl:Nothing 空类
OWL类的定义:
  :Wine a owl:Class .
 
OWL个体
  • 通过类成员关系来定义个体:
    :WegelerRheingauRiesling a :Wine .
  • 也可以不用具体的类来定义:
    :HaraldSack a owl:NamedIndividual .
OWL谓词
存在两种变体:
  • 对象属性
  • 数据类型属性
对象属性的定义
  • 对象属性Object properties的定义:
    :isMadeFrom a owl:ObjectProperty .
  • 对象属性的领域和范围定义

    :isMadeOf a owl:ObjectProperty ;
              rdfs:domain :Wine ;
              rdfs:range :Grapes .
描述逻辑中的定义:
Domain: ∃isMadeOf. ⊤ ⊑ Wine
Range: ⊤ ⊑ ∀ isMadeOf.Grapes
 
数据类型属性的定义:
  • 定义:

    :hasVintageYear a owl:DatatypeProperty.
  • 领域和范围定义:

    :hasVintageYear a owl:DatatypeProperty ;
                    rdfs:domain :Wine ;
                    rdfs:range xsd:integer .
很多XML数据类型都是可以使用的。
 
类的层次:
:Wine a owl:Class ;
       rdfs:subClassOf :AlcoholicBeverage .
:AlcoholicBeverage a owl:Class ;
       rdfs:subClassOf :Beverage .
:Beverage a owl:Class .
  • Wine ⊑ AlcoholicBeverage
  • AlcoholicBeverage ⊑ Beverage
类的不相交
:AlcoholicBeverage owl:disjointWith :MainDish .
  • AlcoholicBeverage ⊓ MainDish ⊑ ⊥
便捷地定义一系列不相交的类:
[] a owl:AllDisjointClasses ;
                 owl:members
                     ( :Wine
                       :Beer
                       :SoftDrink
                       :Vegetables
                       :Seafood
                       :Meat ) .
类相等
:AlcoholicBeverage owl:equivalentClass :Liquor .
  • AlcoholicBeverage ≡ Liquor

L5-6 知识表达——网络本体语言OWL 第三部分

个体之间的关系:
  • 相同owl:sameAs
  • 不同owl:differentFrom

    [] a owl:AllDifferent ;
    owl:distinctMembers
    (:......).
  • 包含owl:oneOf  ⊑
  • 相交owl:intersectionOf  ⊓
  • owl:unionOf  ⊔
  • 补充owl:complementOf  ¬
OWL属性限定 
  • 对值的限定

    owl:hasValue 用一个常量来做限定
    owl:allValuesFrom 将一个类中的所有实例作为取值范围
    owl:someValuesFrom 一个类中的有些实例作为取值范围
  • 对基数的限定

    owl:cardinality 限定一个特定值
    owl:minCardinality 最小值
    owl:maxCardinality最大值

L5-7 知识表达——网络本体语言OWL 第四部分

谓词的关系
  • 谓词的层次

    rdfs:subPropertyOf
  • 谓词的inverse

    owl:inverseOf
  • 谓词的相等

    owl:equivalentProperty
  • 谓词的传递性

    owl:TransitiveProperty
  • 对称谓词

    owl:SymmetricProperty、owl:ReflexiveProperty、owl:IrreflexiveProperty
  • 函数谓词

    owl:FunctionalProperty
  • 反函数谓词

    owl:InverseFunctionalProperty
  • 谓词不相交

    owl:propertyDisjointWith

    owl:AllDisjointProperties
    owl:members ( ... ) .
  • 全局和空谓词

    owl:topObjectProperty

    owl:bottomObjectProperty

    owl:topDatatypeProperty

    owl:bottomDatatypeProperty
OWL2的数量限制:

  • owl:maxQualifiedCardinality
  • owl:minQualifiedCardinality
  • owl:qualifiedCardinality
不相关
[] rdf:type owl:negativePropertyAssertion ;
          owl:sourceIndividual :Max ;
          owl:assertionProperty :isBrother ;
          owl:targetIndividual :Moritz .

L5-8 知识表达——网络本体语言OWL 第五部分 OWL 一般角色包含

负责角色/谓词可以通过简单角色/谓词(RBox)创建
 
一般谓词包含:
  • RBox的表达:R 1ºR  R3º.....º R n S
  • 语义:如果(x 0,x 1 ) R1I,(x 1 ,x2 ) ∈R2I... (xn-1 ,x n)  RnI ;则(x 0,x n ) SI
RBox的形式语言定义:
L ::= ab  L ::= aLb
变成:
R a º R ⊑ L  R a º º R⊑ L
 
带有一般谓词包含的OWL是不可决定的。
 
限制成一般RBox
  • 谓词名称遵从严格偏序
简单谓词限制,下面的表达只能对简单谓词使用
  • ≤n R.C and ≥n R.C 数量限制
  • 非自反的谓词
  • 非相交的谓词
  •  R.Self
  • ¬R(a,b)
OWL 允许 谓词链
:hasFriendsFoe a owl:ObjectProperty ;
          owl:PropertyChainAxiom ( :hasFriend :hasFoe ) .

L5-9 知识表达——规则和语义网

什么是规则?
对于规则的理解要看上下文
  • 一般推理
    Premise → Conclusion
  • 假说
    Cause → Effect
  • 产生式
    Condition → Action
规则种类:
  • 逻辑规则(一阶逻辑)
    G is equivalent with ¬F ∨ G
  • 程序性规则(例如产生式)
    If X then Y else Z
  • 逻辑编程规则(例如Prolog,F-Logic)
    "woman(X) <- person(X) AND NOT man(X)"
一阶逻辑作为一个规则语言(Horn Clause)霍恩子句
 
A 1 ∧ A ∧ . . . ∧ A  H
与以上等价于
¬A 1 ∨ ¬A ∨ . . . ∨ ¬A∨ H
 
非相交规则:多个非否定形式的原子的相交
A 1 ∧ A 2 ∧ . . . ∧ A → H ∨ H ∨ . . . ∨ H m
 
  • 子句clause
    原子公式或者非否原子公式的相交
  • 霍恩子句 horn clause
    有最多一个非否定原子的子句
  • 确定子句definite clause
    有且只有一个非否原子的子句
  • 事实fact
    由一个单独的非否原子构成的子句
DATALOG 是一个逻辑规则语言
DATALOG包括:
  • 不带函数符号的霍恩子句
  • 相与、常数、全局量化变量、谓词符号
DATALOG不包括:
  • 相交、否定、存在量词、函数符号
DATALOG 语法:
  • 术语
    常量c 变量v
  • 原子
    带有谓词p的术语p(t1,...,tn)
  • 规则
    ∀x1...∀xn (B1⋀...⋀Bn -> H)
  • 程序
DATALOG和OWL的组合:SWRL 语言 语义网规则语言
 
RIF 规则交互格式
组成:
  • RIF BLD(basic logic dialect) 语言标准
  • RIF-RDF/RIF-OWL 与已有的知识表达语言之间的互操作
  • RIF-PRD(Production Rules Dialect)产生式规则的标准
  • RIF-DTB(Data Type和 Builtins)
  • RIF-FLD(Framework of Logic Dialect)
 
 
 
 
 

笔记 OPENHPI语义网技术 Week 2

公开课请见:https://openhpi.de/

2-1 如何标识事物:URI

  • 一个URI标识了一个资源
  • 一份表达(representation)表达了这个资源
表现(Presentation)和表达(Representation)的区别:
  • 表达包括数据和元数据
  • 表现是这些数据和元数据的具体呈现
  • 表达定义了如何表现

URI概念拆解:

  1. 统一 Uniform:不同类型资源的标识符都是依循一个统一的模式构建出来的
  2. 资源 Resource:资源可以是一切被URI标识的东西
  3. 标识符 Identifier:用来将一个资源与其他资源区分开来
URI的定义:
A Uniform Resource Identifier (URI) defines a simple and extensible schema for worldwide unique identification of abstract or physical resources (RFC 3986).
URI定义了一个简单且可扩展的模式,支持对抽象或实际资源进行全球唯一地标识
一些标识符:
  • 网络:URL、PRN、pURL
  • 出版物:ISBN、ISSN
  • 数字对象:DOI
资源的判别:
判别一个事物是不是信息(资源)的一项重要性质是:这个事物的所有本质特征是否能够通过一个讯息传达出来。
The distinguishing characteristic of [information] resources is that all of their essential characteristics and can be conveyed in a message. —— W3C: Architecture of the World Wide Web, Volume One
资源可以被元数据描述,即使这个资源本身无法在网络上传输,其表达(数据加元数据)却是能够被传递的,而且这个表达能够充分地描述这个资源。
URI包括了:
  1. 地址 (Locator):Uniform Resource Locator (URL, RFC 1738)
    URL可能会改变
  2. 名称 (Name) : Uniform Resource Name (URN, RFC 2141)
    URN 不大会改变
URI的结构: schema"://"[userinfo"@"]host[:port][path]["?"query]["#"fragment]
  • schema: e.g. http, ftp, mailto,...
  • userinfo: e.g. username:password
  • host: e.g. Domain-Name, IPv4/IPv6 Address
  • port: e.g. :80 for standard http port
  • path: e.g. path in file system of WWW server
  • query: e.g. parameters to be passed over to applications
  • fragment: e.g. determines a specific fragment of a document
很重要的一点:
  • 通过URI解引或者内容协商机制将一个资源的URI和该资源的描述文档区分开来。
如果资源的URI不存在那么可以,自己定义URI,但是注意:1避免overlap,2保证描述信息存在

L2-2 如何表现事实(RDF)

对计算机而言,网络是一个平面的、无聊的世界,缺乏意义。这是一个遗憾,事实上,网络上的文档描述了真实的对象和想象的概念,并且赋予了它们之间以特定的关系。例如,一个文档可以描述一个人。一所房屋的授权文档描述了这所房屋,也描述了这所房屋与房屋的主人之间的所有关系。向网络增加语义,这涉及两件事:允许文档包含机器可读形式的信息,以及允许创建包含关系值的链接。只有当我们的网络拥有这额外的一层语义层时, 我们才能使用计算机的威力来帮助我们利用信息,极大地超越我们自己去阅读时的程度。”
Tim Berners-Lee: W3 future directions, Plenary at 1st WWW Conference, 1994, Geneva (Switzerland)
知识表示,一个简单的陈述,在XML中可以有许多种方式来编码:
自然语言:Harald Sack has the phone number ++49 (331) 5509-927
XML:
  1. <phonenr> <owner>Harald Sack</owner> <number>++49 (331) 5509-927</number> </phonenr>
  2. <person name=“Harald Sack“> <phonenr>49 (331) 5509-927</phonenr> </person>
  3. <person name=“Harald Sack“ phone=“49 (331) 5509-927“ />
人们在理解自然语言的这个陈述时,将其分解成主语谓语和宾语
可以用有向图来表达知识
对象——属性——对象
主语——谓语——宾语
两个节点中分别是主语和宾语所标识的对象,而两个节点之间的弧是带有属性的链接,属性代表的是谓语动词。
三层结构:
  1. 第一层:objects 对象 XML XML Schema
  2. 第二层:knowledge about objects对象的知识 RDF RDF Schema  OWL Rule
  3. 第三层:entire world 全局 OWL Rule RDF RDF Schema
第一层只有XML(S)
第二层和第三层是由RDF(S)以及OWL和Rule共同构成的。
RDF资源描述框架拆解
  • 资源 Resource 可以是任何事物,必须被唯一地标识,并且能被解引
  • 描述 Description 资源的描述,通过图的方式表达资源的属性以及资源和其他资源之间的关系
  • 框架 Framework 包括了网络协议(URI、HTTP、XML)、正式的模型(语义模型)、定义了资源之间的关系
采用RDF表达知识,其结果将是一系列的陈述
所有RDF陈述都遵循相同的简单模式:主谓宾
Statements (RDF-Triple三元组):
Resource(URI) + Property(URI) + Object(URI) / Value (Literal)
literal可以是类型值,需要引用特定的命名空间
  • 空节点Blank Nodes:包含了特定的谓语和宾语但是没有提供URI的主语节点
  • 空白节点Empty Nodes:没有从该节点发出的弧的节点
几种序列化方式示例:
N3:

Turtle:是N3的扩展

Turtle支持简写:

RDF XML 序列化

L2-3 如何表现事实(RDF)2

RDF中对象可以是文字值也可以是另一个资源

各种简写的示例,可以见W3C的标准文档来进一步学习

L2-4 如何表现事实 (RDF)3 空白节点和列表

空白节点(Blandk Nodes, Bnodes)可以用来表现多个关系,也可以用来代表那些不需要名称的节点(关节型 auxiliary nodes)
RDF/XML中用rdf:parseType="Resource"来表示空白节点,而Turtle中直接省略
空白节点可以有ID号,方便引用和重用
列表:
  • 容器Container 可以扩展
  • 集合Collections 不可扩展
RDF容器包括:
  • rdf:Bag 不区分元素之间的顺序
  • rdf:Seq 区分元素之间的顺序
  • rdf:Alt   只有一个元素是与应用有关的
集合的示例:

L2-5 如何表现知识(RDF)具体化和RDF数据集成

RDF不允许陈述之间的嵌套,如果要表现:福尔摩斯认为园丁杀死了管家这样的简单知识,

则需要两个陈述:

  1. exv:Gardener exv:hasKilled exv:Butler .
  2. exv:SherlockHolmes exv:supposes ???? .

???部分必须包含第一个陈述,然而却不能采用嵌套

RDF中具体化(Reification)的方法是采用rdf:Statement

因此上例可编码为:

RDF数据集成

将两个不同的数据集集成起来,只需要合并两个数据集中的相同资源即可。

数据集成

 L2-6 如何建模类型和关系? RDFS

需要用RDF Schema来定义数据

RDFS 是RDF词汇描述语言

RDFS为建立RDF陈述创建了一个数据模型

RDFS允许:

  1. 定义类(Class)
  2. 定义属性(Properties)和限制(restrictions)
  3. 定义层次(hierarchies):即子类和超类,子属性和超属性

类:

  • rdfs:Class
  • rdf:Property
  • rdfs:Literal
  • rdfs:Resource
  • rdfs:Datatype
  • rdf:XMLLiteral
  • rdfs:Container
  • rdfs:ContainerMembershipProperty

属性:

  • rdfs:subClassOf
  • rdfs:subPropertyOf
  • rdfs:domain
  • rdfs:range
  • rdfs:seeAlso
  • rdfs:isDefinedBy
  • rdfs:comment
  • rdfs:label

知识的层次

  • RDFS层为T-Box Terminological Knowledge 术语型知识
  • RDF层为 A-Box Assertional Knowledge 推断型知识
RDFS为定义一个简单的本体(即知识表现)定义了一个数据模型
通过RDFS本体,RDF陈述可以被表达

L2-7 RDF(S)中有多少语义?

可以根据超、子属性关系发现新的事实
可以根据类的层次发现实体所属的超类、领域、范围

笔记 OPENHPI语义网技术 Week 1

公开课请见:https://openhpi.de/

1-1 网络的历程

  1. Agostino Ramelli: Le diverse et artificiose machine; composte in lingua Italiana et Francese 1588
  2. Denis Diderot & Jean-Baptiste le Rond d'Alembert : Encyclopedie 1700-1780
  3. Vannevar Bush:"As We May Think" MEMEX 1945
  4. J.C.R. Licklider, Robert Taylor: "The Computer as a Communication Device". Science and Technology 76, pp. 21-31 April 1968. APRA网
    "[...] we are entering a technological age in which we will be able to interact with the richness of living information - not merely in the passive way that we have been accustomed to using books and libraries, but as active participants in an ongoing process, bringing something to it through our interaction with it, and not simply receiving something from it by our connection to it."
  5. Tim Berners-Lee:WWW
Web1.0—Web2.0:信息消费——信息生产——互动参与

1-2 现有网络的局限

1-3 意义的重要性

  • Semantics:语义,如何理解意义,依赖语法、语境和语用。
  • Syntax:语法,从一组符号中创建一个正式表达时依据的一组规则,定义了数据的规范结构。
  • Context:语境,影响交流中语义理解的一切元素,时间、地点;信息发送者和接受者之间的关系。
  • Pragmatic:语用,在不同情形下应用语言、说话者的意图,研究语境是如何影响语义的。
  • Experience:正确理解语义所需要知道的相关信息。
成功的交流需要:
  • 信息被正确传输:语法
  • 被传输的语义被正确的解读
正确的解读依赖于
  • 信息发送者的语用是否正确
  • 信息发送者和信息接收者对语境的认识是否一致
  • 信息发送者和信息接收者的经验是否一致
符号三角(Semiotic Trangle)
  • 符号象征着概念
  • 概念指代的是对象
  • 符号代表着对象

1-4 网络的局限

  1. 信息检索
    搜索引擎的关键词检索面临:
    一词多义、不同语境语义不同——导致太多非相关结果
    同义词和比喻、缺乏语境定义——导致太少的合适结果
  2. 信息抽取
    面临:严重依赖人、数据的分布异构、信息的顺序
    现状:软件代理缺乏足够的语境知识、常识(世界知识)、经验
  3. 维护
    链接的语法错误、语义连续性、正确性、时效性
  4. 个性化

1-5 语义网愿景

Tim Berners-Lee, Semantic Web Roadmap, Sept 1998
“The Web was designed as an information space, with the goal that it should be useful not only for human-human communication, but also that machines would be able to participate and help… ”
前提是:内容可以被机器正确的阅读和理解
以前依赖的是:自然语言处理
语义网依赖的是:自然语言的网络内容将准确地用语义元数据进行标注;语义元数据将语义信息编码并且能够被机器阅读和正确理解。
如何理解网络上的内容?
1消除歧义(Disambiguation):建立字字符串和实体的映射
2理解知识表达(本体):实体和类的映射、类和其他类的关系
Tim Berners-Lee, James Hendler, Ora Lassila: The Semantic Web, Scientific American, 284(5), pp. 34-43(2001)
”What is the Semantic Web? The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation"
semantic_web_technology_stack
图片来源:http://bnode.org/blog/2009/07/08/the-semantic-web-not-a-piece-of-cake

1-6 关联数据各层,用DBpedia示例

1-7 关联数据用例:

数据整合
搜索引擎:文档检索、事实检索、探索式搜索
智能代理:静态网页——交互(动态)网页——虚拟(适应)网页

用CitespaceII绘制的语义网研究论文的知识图谱

为了交周老板的课程引文分析作业,我这两周捣鼓了一阵CitespaceII,用它绘制了一些语义网研究论文的知识图谱。

周老板问我这些图究竟有什么研究的意义,我说这些图不能算是研究,只是帮助梳理学科发展历程,帮助寻找重要文献、重要作者、重要研究机构,发现学科研究热点和前沿的一个工具。

在使用过程中,最花时间的是选择参数,一开始做了很多modularity值偏离陈超美老师推荐的0.4-0.8的范围标准的图,后来才慢慢寻找到合适的参数设置。

ppt如下:

Citespace绘制语义网论文的知识图谱分析