Sei sulla pagina 1di 49

Procesamiento Semántico

Angelina Espinoza
Carlos Fernández
UPM

Jornadas de Transferencia de Conocimiento, Indra Sistemas


24 Noviembre 2010
Índice

1. Introducción OWL
2. Componentes para procesamiento semántico

2
Índice

1. Introducción OWL
2. Componentes para procesamiento semántico

3
Introducción OWL [1]

 OWL (Web Ontology Language) es un lenguaje para la


definición de ontologías.
 Las ontologías describen conceptos dentro de un dominio y
las relaciones entre dichos conceptos
 Es una recomendación de W3C.
 Componentes
 Individuos
 Relaciones
 Clases

[1] http://www.w3.org
4
Introducción OWL [1]

 Variantes de OWL
 OWL-Full
 OWL-DL OWL Full
 OWL-Lite
OWL DL

OWL Lite

[1] http://www.w3.org
5
Protégé 4.0.2 [1][2]

 Editor de ontologías libre y de código abierto


 Desarrollado por Stanford Center for Biomedical Informatics
Research de la Stanford University School of Medicine
 Esta desarrollo en Java, utiliza Jena y proporciona un API Java
para la manipulación de ontologías en formato OWL.
 Extensible mediante plugins.

[1] http://protege.stanford.edu
6
[2] Matthew Horridge, A Practical Guide To Building OWL Ontologies Using
Protégé 4 and CO-ODE Tools, Edition 1.2, The University Of Manchester
Protégé 4.0.2

7
Interfaz de Protégé

8
Entities Tab

9
Classes Tab
 Introducción a conceptos de OWL
 Clases nombradas
PowerSystemResource
 Jerarquía de clases
 Herencia múltiple
 Individuos pueden ser de varias clases

Equipment

CompositeSwitch
10
Classes Tab
 Introducción a conceptos de OWL
 Clases equivalentes
 Determina las condiciones necesarias y suficientes que indican que un
individuo cualquiera que las satisfaga es miembro de la clase

11
Classes Tab
 Introducción a conceptos de OWL
 Superclases
 Determina las condiciones necesarias que un individuo perteneciente a la
clase debe satisfacer

12
Classes Tab
 Introducción a conceptos de OWL
 Tipos de restricciones para definir Equivalent Classes y Superclasses
 Restricciones Existenciales (some)

 Restricciones Universales (only)

 Restricciones de Cardinalidad (min, max, exactly)

13
Classes Tab
 Introducción a conceptos de OWL
 Restricciones de valor(value)

 Clases enumeradas ({})

nonEquipment
 Complemento de una clase

Equipment

14 PowerSystemResource
Classes Tab
 Introducción a conceptos de OWL
 Superclasses inferidas
 Son las restricciones “heredadas” de sus superclases
 Miembros
 Lista de individuos que pertenecen a la clase.

15
Classes Tab
 Introducción a conceptos de OWL
 Clases disjuntas

 Axiomas de cobertura

16
Object/Data Properties Tab
 Dominio y Rango
 Las propiedades pueden tener un dominio y un rango especificados
 Las propiedades enlazan individuos del dominio con individuos del
rango
 ¡Cuidado! En OWL los dominios y rangos no deben verse como
restricciones
 Propiedades equivalentes
 Sirve para definir propiedades equivalentes a la que se está definiendo
 Superproperties
 La propiedad que se está definiendo será subclase de todas las que se
indiquen aquí

17
Object/Data Properties Tab
 Propiedades inversas
 Si una propiedad es inversa a otra P, entonces siempre que se de
una relación P de un individuo a con otro b, existirá la relación
inversa de b con a.
 Propiedades disjuntas
 Si un objeto usa una propiedad, entonces no podrá usar
propiedades definidas como disjuntas a ella.
 Cadenas de propiedades
 Indica relaciones transitivas entre diferentes propiedades
Prop1 o Prop2 -> Prop3 => a Prop1 b, b Prop2 c, -> a Prop3 c

18
Object Properties Tab
 Funcional
 Solo se puede relacionar, como máximo, con otro individuo a
través de esta propiedad.
 ¡Cuidado!

 Funcional inversa
 Indica que la propiedad inversa es funcional.

19
Object Properties Tab
 Transitiva
 Si P es una propiedad transitiva y el individuo a está relacionado
con el individuo b y el a su vez el individuo b con el individuo c
entonces se puede inferir que a está relacionado mediante P
con c.

20
Object Properties Tab
 Simétrica
 Si P es una propiedad simétrica y a se relaciona mediante P con
b, entonces b también estará relacionado con a mediante P

 Antisimétrica
 Si P es una propiedad antisimétrica y a se relaciona mediante P
con b, entonces b no puede relacionarse mediante P con a

21
Object Properties Tab
 Reflexiva
 Una propiedad es reflexiva cuando siempre relaciona a los
individuos con ellos mismos

 Irreflexiva
 Una propiedad es irreflexiva cuando no puede relacionar a un
individuo consigo mismo

22
Individuals Tab

23
OWL Viz
 Disponible mediante un plugin
 Basado en Graphviz

24
DL Query
 Herramienta de consulta
 Forma parte de Protégé desde la versión 4.
 Sirve para realizar consultas simples o pruebas con las clases

25
Índice

1. Introducción OWL
2. Componentes para procesamiento
semántico

26
Objetivos en Energos
 Facilitar la extracción automática de conocimiento sobre la
operación y el comportamiento de los distintos aspectos de
una red eléctrica.

 Realizar operaciones comunes de validación de datos,


mediante la introducción de reglas a la base de conocimiento
proporcionado por la ontología ENERGOS

 Extracción automática de conocimiento manteniendo las


restricciones de tiempo para el procesamiento de datos:
tiempo real, cuasi-tiempo real, histórico.

27
Componentes Técnicos

Semantic Web Rule Language


(SWRL)

3.4 – 4.0

Pellet 2.2.2 Jess®7.0p2

28
Razonador – Definición
Def. Aplicación capaz de inferir consecuencias lógicas a partir de un
conjunto de hechos establecidos o axiomas del modelo y en reglas.
Características:
 Realiza procedimientos decidibles a partir del nivel de expresividad
del lenguaje de ontologías utilizado (OWL-DL).
 Soporte en Ingeniería del Conocimiento:
 Proporciona servicios básicos de inferencia: consistencia,
satisfactibilidad, classificación, realización.
 Apoyo en la construcción/mantenimiento de jerarquías de clases con
herencia múltiple, útil en ontologías muy extensas
 Algunos proporcionan apoyo en la depuración de ontologías
 Algunos proveen APIs de programación para acceder a los servicios
proporcionados por el razonador.
29
Razonadores
Reasoner Description License
CEL LISP-based non-commercial use

Cerebra Engine C++-based Commercial use, acquired in 2006 by


webMethods
FaCT++ C++-based, DL-Reasoner, implements free open-source, plug-in for Protégé 4
the tableaux method
KAON2 Java-based, managing OWL-DL, for non-commercial usage
SWRL, and F-Logic ontologies
MSPASS C-based,for numerous description free open-source
logics
Pellet Java-based, based on the Tableaux dual-licensed (AGPL and proprietary)
method, DL-Reasoner commercial, plug-in for Protégé 3 y 4
RacerPro lisp-based, DL-Reasoner, implements Of Racer Systems is a commercial
the tableaux method reasoner (free trials and research licenses
are available)
Sim-DL Java-based for the expresivity ALCHQ free open-source, plug-in for Protégé

HermiT Based on the hypertableaux calculus open source, plug-in for Protégé 4
30 Jena(framework) Includes semantic reasoning modules free open source
Pellet 2.2.2

Pellet
 Razonador OWL-DL( expresividad SHOIN(D) )
 Poco soporte para realizar verificación de consistencia para
OWL-Full
 Proporciona servicios básicos de inferencia: consistencia,
satisfactibilidad, classificación, realización.
 Proporciona soporte a reglas SWRL (sólo para Core Built-ins)
 Razonamiento Incremental (versión 2.2.2)
 Soporte para queries conjuntivos sobre el ABox: SPARQL,
RDQL

31
Pellet 2.2.2

Pellet
 Arquitectura: Principales Componentes

32
Razonador – Servicios de Inferencia
1. Verificación de Consistencia: Garantizar que una ontología
no contiene ningún hecho contradictorio.
 Operación para comprobar la coherencia entre un ABox y un
TBox.

ABox TBox

Base de
Conocimiento
(Ontología OWL )
Afirmaciones sobre
Afirmaciones sobre clases:
individuos:
-Axiomas de herencia
-Propiedad-Valor
-Equivalencia
-Igualdad/desigualdad (not
-Disjuntividad, etc
33 UNA)
Razonador – Servicios de Inferencia
2. Satis-factibilidad (Satisfiability): Verificar si es posible que
una clase tenga instancias, a partir de sus restricciones
 Calculo de todos los individuos de una clase usando la herencia
de clases.

34
Razonador – Servicios de Inferencia
3. Clasificación: Crear la jerarquía de clases completa, a partir
de la jerarquía de clases nombradas.

35
Razonador – Servicios de Inferencia
3. Clasificación: Crear la jerarquía de clases completa, a partir
de la jerarquía de clases nombradas.

36
Razonador – Servicios de Inferencia
4. Realización: Calcula los tipos directos de cada uno de los
individuos.

37
SWRL Jess®7.0p2

 Lenguaje para la definición de reglas en


una ontología tipo OWL.

+
 SWRL: OWL + RL
SWRL

 Laintroducción de reglas en la base de


=
conocimiento semántico, permite la
generación de nuevo conocimiento.

 SWRL tiene una sintaxis abstracta de alto


nivel:

38
Sintaxis
 Tanto el Antecedente como el Consecuente son conjunciones
de atomos (A1 ^ A2 ^ A3… ^ An)
 Conjunción: ^
 Implicacion: =>
 A1 ^ A2 ^ A3… ^ Ai => A1 ^ A2 ... ^ Aj
 Variables son marcadas con un signo de ‘?’ como prefijo.
 Se puede utilizar referencias URI, para identificar una
regla
 Se puede utilizar individuos nombrados (“Red”, “Italy”, etc)

39
Ejemplos  Serialización XML
< swrl:Imp rdf:about="#example1"/>
< swrl:body>
<swrl:AtomList>
<rdf:first>
<swrl:individualPropertyAtom swrlx:property="hasParent">
< swrl:Variable r rdf:about= “x1”>
< swrl:Variable r rdf:about= “x2”>
</swrlx:individualPropertyAtom>
parent(?x,?y) ^ brother(?y,?z) </rdf:first>
<rdf:rest>
=> uncle(?x,?z) <swrl:individualPropertyAtom swrlx:property="hasBrother">
< swrl:Variable r rdf:about= “x2”>
< swrl:Variable r rdf:about= “x3”>
</swrlx:individualPropertyAtom>
</rdf:rest>
</swrl:AtomList>
</ swrl :body>
< swrl :head>
<rdf:first>
<swrl:individualPropertyAtom swrlx:property="hasUncle">
< swrl:Variable r rdf:about= “x1”>
< swrl:Variable r rdf:about= “x3”>
</swrl:individualPropertyAtom>
</rdf:first>
</ swrl :head>

40
Built-ins
 Incrementan dramáticamente la expresividad – la mayoría de la
reglas OWL, no son syntactic sugar

 Person(?p) ^ hasAge(?p,?age) ^ swrlb:greaterThan(?age,17)


→ Adult(?p)

 hasBrother(?x1,?x2) ^ hasAge(?x1,?age1) ^ hasAge(?x2,?age2)


^ swrlb:subtract(10,?age2,?age1) →
hasDecadeOlderBrother(?x1,?x2)

41
Jess®7.0p2

Jess
 Motor de reglas, posee un lenguaje nativo para definir las reglas.
 Integrable con Jena y Protége
 SWRL Tab: Bridege entre Jess - Protégé 3.4.4:
 Ventana consola en Protégé
 Mapea instancias SWRL a Jess facts.
 Funciones para operaciones en la base de conocimiento
 Mapea definiciones Jess a bases de conocimiento en Protégé (OWL)
 Soporte para la edición y ejecución de reglas SWRL
 Soporte para la edición y ejecución de reglas SWRL con SQWRL
(Semantic Query Web Rule Language)

42
SQWRL
 Semantic Query-enhanced Web Rule Language (SQWRL)
está construido sobre SWRL
 Los antecedentes en SWRL son tratados como una
especificación de patrones de un query
 La regla consecuente es reemplazada por especificaciones
propias de recuperación de datos: select, orderBy, etc.
 Es posible usar los built-ins de SWRL en el consecuente de la
regla
 Serialización en XML de las reglas con SQWRL: forma
estándar utilizada para reglas con SWRL.

43
Ejemplos
 Person(?p) ^ hasAge(?p,?age) ^ swrlb:greaterThan(?age,17)
→ Adult(?p)

 Person(?p) ^ hasAge(?p,?age) ^ swrlb:greaterThan(?age,17)


→ sqwrl:select(?p, ?age) ^ sqwrl:orderBy(?age)

 Person(?p) ^ hasCar(?p,?car) → sqwrl:select(?p) ^


sqwrl:count(?car)
Important: no way of asserting count in ontology!

 Person(?p) ^ hasAge(?p, ?age) -> sqwrl:avg(?age)

 tbox:isDatatypeProperty(?p) ^ tbox:isDirectSubPropertyOf(?sp,?p) -
> sqwrl:select(?p) ^ sqwrl:count(?sp)

44
Ejercicio

45
0WA – Open World Assumption 1
(hasChild >= 1)(?x) → Parent(?x)

 No significa: todos los individuos con un hijo son


padres
 Significa: todos los individuos que son miembros de
una clase OWL con una restricción asociada a
hasChild estableciento una cardinalidad mínima de
uno
 Individuos con hijos NO conocidos pueden ser
clasificados como padres!!
 Correcto: Parent(?x) → (hasChild >= 1)(?x)

46
0WA – Open World Assumption 1
 Negación:

Person(?p) ^ not hasCar(?p, ?c) → CarlessPerson(?p)

 Retracción ó modificación

Person(?p) ^ hasAge(?p,?age) ^ swrlb:add(?newage, ?age,1) →


hasAge(?p, ?newage)

Incorrecto – será ejecutado por siempre y tenderá a asignar un


número infinito de valores a la propiedad hasAge
 Conteo
47
Ontology Related Language 1
language Description Query Language

XML Structured Documents XQuery, XPath


Extensible Markup Language

RDF data model for objects RDQL, RQL, Versa, Squish


Resource Description Framework
SPARQL

OWL data model + Relations OWL-QL, Jena, SPARQL, DL


Web Ontology Language
Query, SQWRL

SWRL Data model + relations + rules ??


Semantic Web Rule Language
(owl + RuleML )

48
Contacto

aespinoza at syst.eui.upm.es
cfernandez at syst.eui.upm.es

49

Potrebbero piacerti anche