笔记 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. 如果用户想要知道有关一个特定主题的全部,该怎么办?

Leave a Reply

Your email address will not be published. Required fields are marked *