Sunteți pe pagina 1din 14

Ontologas

Representacion del Conocimiento

Sergio Salomon Garca


Universidad de Cantabria

Curso 2013 / 2014

1. Introducci
on
En el area de representacion del conocimiento existen diversas vas para
formalizar conocimiento. Las modelos de representacion mas clasicos se apo-
yan en el lenguaje de la logica (como la logica de predicados). Sin embargo,
estas representaciones poseen ciertas limitaciones cuando se trata de definir
problemas que requieran una mayor expresividad. Trabajando con entornos
pequenos, la mayora de las elecciones pueden ser validas para representar el
conocimiento del problema. Sin embargo, al tratar con entornos mayores es
importante encontrar el modelo que mejor se adapte al tipo de conocimiento
que se necesite manejar.

Por esta razon, extendiendo las representaciones basadas en logica, nacen


las llamadas representaciones estructuradas. Estas permiten una mayor
flexibilidad definiendo relaciones, categoras, jerarquas, etc. Dentro de este
grupo aparece el modelo de ontologa, el cual se trata en este documento.

El termino de ontologa es originario de la filosofa (con un concepto par-


cialmente distinto) como el estudio de la esencia del ser. En el campo que
nos interesa aqu, las ontologas son medios para modelar las entidades de un
entorno y su posible relacion o agrupacion. Atendiendo a esta idea, se puede
sintetizar en que su objetivo es clasificar con una semantica las entidades de
un dominio. Seg un la definicion mas com
unmente aceptada, una ontologa
es una especificacion formal y explcita de una conceptualizacion (comparti-
da) [3]. Sera entonces necesario estudiar que es una conceptualizacion. Sin
embargo, mantendremos la idea de relaciones y clasificacion (o taxonoma)
dentro de un contexto.

1
Sergio Salom
on Garca Representacion del Conocimiento

2. Descripci
on del modelo
2.1. Definici
on
Como se ha dicho, las ontologas describen una serie de conceptos
y relaciones entre los mismos. Ademas, estos conceptos pertenecen a un
dominio. Mas precisamente, utilizando la definicion de [4], y aplazando el
significado de conceptualizacion para una definicion mas formal en 2.2, se
proporciona la descripcion siguiente, suficiente para la comprension de todo
el documento.

Una ontologa O define un conjunto de primitivas de representacion pa-


ra modelar un dominio D.
En las primitivas se distingue habitualmente clases C, atributos A y rela-
ciones R1 . Ademas, se tienen objetos identificables o instancias I, de forma
que un elemento e I pertenece a alguna clase c C, a alguna relacion
r R y/o determina el valor de alg un a A.
Las definiciones de las primitivas incluyen informacion sobre su significado
y sus restricciones, y son referenciadas mediante un lenguaje L.

Con esto, una taxonoma puede modelarse a partir de la definicion de


una serie de clases, relaciones entre estas, y (opcionalmente) instancias per-
teneciendo a las clases dadas.

2.2. Desarrollo formal


A continuacion se expone una descripcion mas formal del modelo de on-
tologa, bastante mas detallada y compleja que la presentada en 2.1, de la
forma que se define en [5]. Para esto, es necesario antes introducir una serie
de nociones, como la idea de conceptualizacion y las relaciones conceptuales.

En primer lugar, se considera S un sistema arbitrario, D un conjunto


cualquiera de elementos de S y W un posible mundo2 (o estado del mundo,
una asignacion de valores a todas las variables observables de S). La tupla
< D, W > se trata del espacio de dominio, en la cual se determinan los
elementos en D respecto al posible mundo de W .
1
N
otese que todas las primitivas de representacion pueden ser descritas formalmente
como relaciones Rn con aridad n, pero se distinguen por comodidad y claridad.
2
W podra tratarse de varios posibles mundos si se tiene en cuenta la evolucion del
sistema a lo largo del tiempo.

2
Sergio Salom
on Garca Representacion del Conocimiento

A partir de lo anterior, se define una relaci


on conceptual (o inten-
sional relation) n con aridad n sobre < D, W > como una funcion total
n n
n : W 2D donde 2D se trata del conjunto de toda relacion (extensional )
de aridad n en D.

En este punto, es importante hacer una clarificacion sobre la diferencia


entre extensional e intensional. La definicion extensional o por extension se
hace enumerando todos los posibles elementos que cumplan una especifica-
cion. Sin embargo, en el caso intensional se pretende abstraer la definicion
de los elementos de un dominio concreto, resultando as generalizada.

Entonces, una relacion conceptual puede entenderse como una relacion


abstracta que se concreta cuando se fija un contexto. Todo esto tiene sen-
tido si se tiene en cuenta que mediante una ontologa vamos a representar
restricciones y asociaciones no ligadas solo a los elementos de un posible mun-
do o un dominio concreto, sino que tambien necesitamos definirlas respecto
a clases y otros elementos mas generales (todos estos seran relaciones con-
ceptuales), asociadas a su semantica (y no a instancias concretas).

Por todo lo anterior, una conceptualizacion (o intensional relational


structure) es una terna C = (D, W, R), tal que:

D es el dominio de interes.

W es el posible mundo (o posibles mundos).

R es un conjunto de relaciones conceptuales en el espacio de dominio


< D, W >.

Informalmente, una conceptualizacion puede ser vista como una representa-


cion abstracta de clases y relaciones, acompa
nada de las instanciaciones de
interes.

En contraposicion al caso intensional, una estructura relacional por


extensi on (o extensional relational structure) sera una tupla S = (D, R),
tal que:

D es el dominio de interes.

R es un conjunto de relaciones (extensionales) sobre D.

Descrita la conceptualizacion, se debe precisar como esta puede especi-


ficarse formal y explcitamente para llegar a la estructura de ontologa (por

3
Sergio Salom
on Garca Representacion del Conocimiento

la definicion que se daba en 1). Por el paso de especificacion, sera necesario


hablar de alg un lenguaje L en el que se representa el conocimiento, que
ademas debe ser formal.

Sea L un lenguaje de logica de primer orden con un vocabulario V y


S = (D, R) una estructura relacional por extension. Se define un modelo de
L (o extensional first order structure) como una tupla M = (S, I) donde
I (la interpretacion extensional) es una funcion total I : V D R.
La funcion I por tanto hace corresponder cada elemento del vocabulario a
un elemento del dominio o del conjunto de relaciones extensionales.

De nuevo, generalizando esta definicion clasica de interpretacion a una


definicion intensional se obtiene lo que se denominara el contrato ontologico
(ontological commitment).

Sea L un lenguaje de logica de primer orden con un vocabulario V y


C = (D, W, R) una conceptualizacion. Se define un contrato ontol ogico (o
intensional first order structure) de L como una tupla K = (C, I) donde
I (la interpretaci on intensional) es una funcion total I : V D R.
As I hace corresponder cada elemento del vocabulario a un elemento del
dominio o del conjunto de relaciones intensionales.

Tras las definiciones de modelo y de contrato ontologico, queda plasmado


como la segunda es una extension de la primera, la habitual definicion de
significado, utilizando la estructura de conceptualizacion para el proceso.
A partir de la siguiente nocion de modelos objetivo (intended models, del
modelo que se pretende alcanzar para representar un conocimiento) se mues-
tra la conexion entre las dos estructuras de primer orden dadas, para final-
mente alcanzar la definicion completa de ontologa.

Sea C = (D, W, R) una conceptualizacion, L un lenguaje de primer orden


con vocabulario V y contrato ontologico K = (C, I). Un modelo M = (S, I)
con S = (D, R) se denomina modelo objetivo de L de acuerdo a K si y
solo si

1. Para toda constante c V , I(c) = I(c).

2. Existe un posible mundo w W , tal que para cada predicado v V


existe una relacion conceptual R tal que I(v) = e I(v) = (w).

El conjunto IK (L) de todos los modelos de L compatibles con K se trata


del conjunto de modelos objetivo de acuerdo a K.

4
Sergio Salom
on Garca Representacion del Conocimiento

Por u
ltimo, se precisa el papel de una ontologa, entendiendo esta como
una teora logica dise
nada para explicar el significado intencionado (in-
tended meaning) del vocabulario utilizado por un lenguaje.

Sea C una conceptualizacion, L un lenguaje logico con vocabulario V y


contrato ontologico K. Una ontologa OK para C utilizando V y con contra-
to K es una teora logica formada por un conjunto de formulas de L, dise
nada
de tal forma que el conjunto de sus modelos se aproxima en la mayor medida
posible al conjunto de modelos objetivo IK (L).

Un ejemplo sencillo aplicando esta definicion puede verse en [5] (Example


3.2 ).

2.3. Tipos
Se suelen distinguir las ontologas en dos tipos principales, las cuales
guardan una correspondencia.

Ontologa de dominio (domain ontology).


Estas ontologas describen los conceptos relativos a alg
un dominio con-
creto, y poseen un nivel de abstraccion especfico para este.

Ontologa general o fundacional (upper/top-level ontology).


Estas ontologas son de dominio general; es decir, describen conceptos
generales (como espacio, tiempo, ...) y resultan de uso com
un para otras
ontologas de dominio.

Algunos autores distinguen ademas ontologas de actividad y onto-


logas de aplicaci
on.

2.4. Representaci
on
Las ontologas pueden ser representadas en diversas formas y lenguajes.
Entre ellas es necesario distinguir entre aquellas de mayor nivel de abstrac-
cion, orientadas a especificar, y las de bajo nivel, dirigidas a la implemen-
taci on.

En el primer grupo, se se nalan visualizaciones a traves lenguaje natural


en forma de arbol indentado, mediante grafos (de forma equivalente a redes
semanticas) y especificaciones formales.

5
Sergio Salom
on Garca Representacion del Conocimiento

En el segundo grupo, aparecen lenguajes basados en XML y lenguajes es-


pecficos o de programacion logica (OWL, Gellish, KIF, RIF, F-logic, CycL).

En la seccion 3 se veran las de especificacion indicadas, mientras que en


4.1 se muestra el uso de lenguajes de programacion logica (como F-logic).
Tambien, en 6.1 se incluye un peque no ejemplo de OWL y RDF.

3. Ejemplos de ontologas
Para clarificar la idea de ontologa, se proporcionan diversos ejemplos de
estas.
En primer lugar, se define parcialmente una sencilla ontologa Oc de ejemplo
para modelar los elementos del juego de ajedrez. En esta ontologa tendremos
que tener en cuenta entidades como los jugadores, el tablero, las reglas y las
piezas. Para las relaciones, vamos a considerar por simplicidad u nicamente
es (isA).
Un posible representacion de Oc sera la siguiente:

ChessElement
Board
Move
Piece
BlackPiece
King
Knight
Queen
WhitePiece
Player
BlackPlayer
WhitePlayer
Rule

Esta podra darse tambien en una representacion de grafo, como la si-


guiente:

6
Sergio Salom
on Garca Representacion del Conocimiento

Move
Board
WhitePiece
BlackPlayer
ChessElement King
Piece
Player
BlackPiece Queen
WhitePlayer Rule

Knight

Siguiendo la definicion de ontologa dada en 2.1, se realiza la especificacion


de la ontologa como:

C = {ChessElement, Board, M ove, P iece, P layer, Rule, . . .}
Oc = R = {isA2 }
A =

Atendiendo a Oc , tenemos que la reina (Queen)3 es una pieza negra y un


elemento del ajedrez.

Queen isA BlackP iece isA P iece isA ChessElement

Siendo esto equivalente a:

isA2 = {..., (Queen, BlackP iece), (BlackP iece, P iece), (P iece, ChessElement), ...}

En una ontologa mas rigurosa, se podra haber distinguido los objetos


fsicos (como las piezas) de las entidades abstractas (comos las reglas), clasi-
ficando as la reina como objeto fsico tambien.

Un detalle importante a resaltar es que el termino reina aqu es distinto


de si se estuviese manejando una ontologa sobre poker:
3
Para una ontologa completa, lo apropiado sera especificar la reina negra y la reina
blanca como terminos distintos (BlackQueen, WhiteQueen).

7
Sergio Salom
on Garca Representacion del Conocimiento

Action HeartsCard
Player
SpadesCard
Coin
PokerElement Card King
FullHouse
Hand ClubsCard Queen
Flush
Rule Knave
Straight DiamondsCard
Ace

En este segundo contexto, la reina es una carta y no una pieza de ajedrez.

Queen ClubsCard Card P okerElement

Las ontologas anteriores dadas eran ontologas de dominio. Un ejem-


plo de ontologa general (de [8]), en la que relaciona terminos de uso com
un,
sera el siguiente:

Anything

AbstractObject GeneralizedEvents

Sets Numbers RepresentationalObjects Interval Places PhysicalObjects Processes

Categories Sentences Measurements Moments Things Stuff

Times Weights Animals Agents Solid Liquid Gas

Humans

En esta ontologa se define el mundo desde los conceptos mas abstractos, y


partiendo de cualquier cosa. En esta aparece el termino PhysicalObject que
comentabamos antes, el cual tiene un significado comun a cualquier ontologa,
por lo que podramos haber utilizado esta ontologa general para nuestra
primera ontologa del dominio del ajedrez.

8
Sergio Salom
on Garca Representacion del Conocimiento

4. Razonamiento mediante ontologas


El modelo de ontologa no proporciona un metodo de razonamiento pre-
fijado, y es necesario recurrir a otros mecanismos para la inferencia sobre
ontologas. Se mencionan brevemente algunos.

El principal de estos mecanismos es el de las l


ogicas descriptivas (des-
cription logics, DL). Estas son subconjuntos decidibles de la logica de pri-
mer orden que permiten realizar representaciones estructuradas modelando
conceptos, roles, entidades y relaciones. Nacen como extensiones de las re-
presentaciones de redes semanticas y marcos (frames). La inferencia en las
DL se apoya principalmente en la inclusion (subsumption) y la clasificacion.
Esto se encuentra bajo la implementacion de OWL, por ejemplo.

Otro mecanismo es el de redes sem anticas. Estas proveen representa-


ciones en grafos, con los conceptos como nodos y las relaciones como aristas,
y algoritmos eficientes para inferir propiedades de un objeto en base a su
clasificacion.

La programaci on l ogica es otro mecanismo valido para el manejo y


razonamiento con ontologas [2]. Esta puede considerarse tambien un sub-
conjunto decidible de la logica de predicados, centrada alrededor de la nocion
de declaraciones y reglas, que permite tecnicas de inferencia eficientes.
Un ejemplo de esto es F-logic.

Por ultimo, la utilizacion de otras logicas, como l


ogicas de segundo
orden y logicas modales es posible, pero los problemas de razonamiento
sobre estas pueden ser intratables [5].

4.1. Ejemplo de programaci


on l
ogica
Se muestra un peque
no ejemplo de ontologa definida mediante progra-
macion logica.

Haciendo uso del lenguaje Prolog se utilizara una serie de metapredica-


dos y la ontologa podra definirse como la siguiente:

class(chessElement).
class(piece).
class(player).
class(blackPlayer).

9
Sergio Salom
on Garca Representacion del Conocimiento

class(whitePlayer).
class(blackPiece).
class(whitePiece).
class(blackQueen).

subclass(piece, chessElement).
subclass(player, chessElement).
subclass(blackPlayer, player).
subclass(whitePlayer, player).
subclass(blackPiece, piece).
subclass(whitePiece, piece).
subclass(blackQueen, blackPiece).

belongs(X, blackPlayer) :-
subclass(X, blackPiece).

Mediante F-logic, un lenguaje orientado a la definicion de ontologas, el


resultado sera el siguiente:

piece::chessElement.
player::chessElement.
blackPlayer::player.
whitePlayer::player.
blackPiece::piece.
whitePiece::piece.
blackQueen::blackPiece.

blackPiece[belongs=>blackPlayer]

5. Ventajas y limitaciones
Las ontologas poseen una serie de ventajas, de las cuales se enumeran las
mas notables consideradas por el autor:
Permiten una representacion del conocimiento formal y estructurada.

Proporcionan mayor expresividad en la representacion y mantienen una


semantica asociada.

Imponen un lexico com


un para un dominio, lo que permite compartir
el conocimiento.

10
Sergio Salom
on Garca Representacion del Conocimiento

Permiten la reutilizacion del conocimiento.

A pesar de estas ventajas, la ontologas tambien presentan una serie de


limitaciones. Estas principalmente se encuentran en:
Ambig
uedad del concepto de ontologa y m
ultiples definiciones.
Ausencia de una definicion formal estandarizada y com
unmente acep-
tada.
Falta de tecnicas propias de explotacion y razonamiento sobre onto-
logas (lo que implica una necesidad de mecanismos externos junto a la
falta de consenso en su eleccion)

6. Principales aplicaciones
Los usos principales de las ontologas que aparecen son los de modelar
conocimiento dentro de un dominio manteniendo las relaciones relevantes
y su semantica, imponer un lexico com un para el manejo de conceptos y
categorizar elementos en clases. A partir de estos usos, aparecen aplicaciones
en diversos campos. Se resenan algunas de estas.

6.1. Web Sem


antica
La iniciativa de la web sem antica pretende desarrollar un lenguaje de
ontologas para describir el contenido de las paginas web y dotarlas as de
semantica. Es la aplicacion mas notoria de ontologas en la actualidad y la
cual ha impulsado en gran medida el desarrollo de estas.

En la figura 1 se muestra un diagrama con las capas que forman la web


semantica (tal como es definida por la W3C). En ella se aprecia como la des-
cripcion de ontologas se contruye sobre OWL, RDF y RDF Schema (RDFS),
todo ello apoyado en XML. Las diferentes propiedades que de cada uno de los
lenguajes anteriores desde el punto de vista del modelo de ontologa puede
encontrarse en [1].
Un sencillo ejemplo de OWL y RDF es el siguiente:
<owl:Class rdf:ID="Pasta">
<rdfs:subClassOf rdf:resource="#EdibleThing"/>
<owl:disjointWith rdf:resource="#Dessert"/>
<owl:disjointWith rdf:resource="#Fruit"/>
</owl:Class>

11
Sergio Salom
on Garca Representacion del Conocimiento

Figura 1: Capas de la Web Semantica

6.2. Inteligencia Artificial


Los proyectos mas importantes en este campo son los de modelar todo el
conocimiento de sentido com un mediante una ontologa para que pueda ser
aprovechado por un agente inteligente. Dentro de este objetivo aparecen las
ontologas de Cyc (contiene mas de un millon de conceptos) y Open Mind
Common Sense (OMCS).

6.3. Lingustica
Se han desarrollado m
ultiples ontologas para modelado de lenguajes y el
dominio del procesamiento de lenguaje natural. Ejemplos de esto son Word-
Net o SENSUS.

6.4. Biomedicina
Existen diversos proyectos en el campo de biomedicina y bioinformatica
para establecer un lenguaje comun y consistente de terminos de este dominio
que permitan interoperabilidad. Algunos ejemplos notables de esto son Gene
Ontology y Semantic Mining. Un ejemplo del primer caso es el que se
muestra en la figura 2.

Otro proyecto interesante es el de SAPPHIRE, un sistema de informa-


cion basado en las tecnologas de la web semantica capaz de hacer seguimiento

12
Sergio Salom
on Garca Representacion del Conocimiento

Figura 2: Ejemplo de ontologa en Gene Ontology

de situaciones que puedan afectar a la salud p


ublica (como la propagacion
de epidemias).

13
Sergio Salom
on Garca Representacion del Conocimiento

Referencias
[1] G. Antoniou, F. van Harmelen, A Semantic Web Primer (2nd. ed.). The
MIT Press, 2008.

[2] T. Eiter et al., Reasoning with Rules and Ontologies. In Reasoning


Web, Springer 2006. p. 93-127. Lecture Notes In Computer Science,
Vol. 5224.

[3] T. R. Gruber, A Translation Approach to Portable Ontology Specifica-


tions. Knowledge Acquisition 5.2, p. 199220, 1993.

[4] T. R. Gruber, Ontology. Entry in the Encyclopedia of Database Systems,



Ling Liu and M. Tamer Ozsu (Eds.), Springer-Verlag, 2008.

[5] N. Guarino, D. Oberle, S. Staab, What is an Ontology?, Handbook on


ontologies. Springer 2009. p. 1-17.

[6] J. Hendler, Agents and the Semantic Web. IEEE Intelligent Systems
16.2, p. 3037, 2001.

[7] D. Poole, A. Mackworth, Artificial Intelligence: Foundations of Compu-


tational Agents. Cambridge University Press, 2010.

[8] S. J. Russell, P. Norvig, Artificial Intelligence: A Modern Approach (3rd.


ed.). Prentice Hall, 2009.

14

S-ar putea să vă placă și