Unidad 3 - Ingeniería ontológica

18
UNIDAD 3 INGENIERÍA ONTOLÓGICA La Ingeniería ontológica es un campo de las ciencias de la computación y ciencias de la información que estudia los métodos y metodologías para construir esquemas conceptuales (ontología): ésta corresponde a la representación formal de un grupo de conceptos dentro de un dominio y de las relaciones entre esos conceptos. Una representación a gran escala de conceptos abstractos como acciones, tiempo, objetos físicos y creencias podría ser un ejemplo de ingeniería ontológica. La ontología provee un vocabulario común de un área y define, con diferentes niveles de formalidad, el significado de los términos y de las relaciones entre los mismos. “La Ingeniería ontológica tiene como meta hacer explícito el conocimiento contenido dentro de las aplicaciones de software y los procedimientos dentro de empresas y negocios para obtener un dominio particular. La ingeniería ontológica ofrece las direcciones para resolver problemas de operación internos que tengan obstáculos semánticos, por ejemplo, los obstáculos relacionados con la definición de los términos de negocio y las clases de software. La ingeniería ontológica es un conjunto de tareas relacionadas con el desarrollo de un esquema conceptual de un dominio particular.”

description

Unidad 3 de la materia ingeniería del conocimieto

Transcript of Unidad 3 - Ingeniería ontológica

Page 1: Unidad 3 - Ingeniería ontológica

UNIDAD 3

INGENIERÍA ONTOLÓGICA

La Ingeniería ontológica es un campo de las ciencias de la computación y ciencias

de la información que estudia los métodos y metodologías para construir

esquemas conceptuales (ontología): ésta corresponde a la representación formal

de un grupo de conceptos dentro de un dominio y de las relaciones entre esos

conceptos. Una representación a gran escala de conceptos abstractos como

acciones, tiempo, objetos físicos y creencias podría ser un ejemplo de ingeniería

ontológica.

La ontología provee un vocabulario común de un área y define, con diferentes

niveles de formalidad, el significado de los términos y de las relaciones entre los

mismos.

“La Ingeniería ontológica tiene como meta hacer explícito el conocimiento

contenido dentro de las aplicaciones de software y los procedimientos dentro de

empresas y negocios para obtener un dominio particular. La ingeniería ontológica

ofrece las direcciones para resolver problemas de operación internos que tengan

obstáculos semánticos, por ejemplo, los obstáculos relacionados con la definición

de los términos de negocio y las clases de software. La ingeniería ontológica es un

conjunto de tareas relacionadas con el desarrollo de un esquema conceptual de

un dominio particular.”

Line Pouchard, Nenad Ivezic and Craig Schlenoff Ontology Engineering for Distributed Collaboration in Manufacturing

Page 2: Unidad 3 - Ingeniería ontológica

3.1 Definición y elementos de una ontología

Una ontología puede definirse como una especificación formal y explícita para

representar las entidades de un área en particular y sus relaciones.

Desde el punto de vista informático, las ontologías son teorías que especifican un

vocabulario relativo a un cierto dominio. Este vocabulario define entidades, clases,

propiedades, predicados, funciones y las relaciones entre estos componentes. Las

ontologías toman un papel clave en la resolución de interoperabilidad semántica

entre sistemas de información y su uso.

La tarea más importante al crear una ontología consiste en identificar los

conceptos y organizarlos dentro de un marco coherente y sistemático.

Existen numerosas definiciones de ontologías, entre las que cabe destacar:

"Una ontología es un vocabulario acerca de un dominio: términos +

relaciones + reglas de combinación para extender el vocabulario". Neches,

1991.

"Una ontología es la especificación de una conceptualización". Gruber,

1993. (Aquí el término conceptualización se refiere a un modelo

conceptual).

"Una ontología es una especificación formal de una conceptualización

compartida". Borst, 1997. (Aquí el término forma se refiere a que es

procesable por computadora).

"Una ontología es una base de datos que describe los conceptos generales

o sobre un dominio, algunas de sus propiedades y cómo los conceptos se

relacionan unos con otros". Weingand, 1997.

“Una ontología necesariamente incluirá un vocabulario de términos y una

especificación de su significado (definiciones e interrelaciones entre

conceptos) que impone estructura al dominio y restringe las posibles

interpretaciones”. Uschold-Jasper.

Page 3: Unidad 3 - Ingeniería ontológica

Elementos de una ontología

Las ontologías se componen de:

Conceptos: son las ideas básicas que se intentan formalizar. Los conceptos

pueden ser clases de objetos, métodos, planes, estrategias, procesos de

razonamiento, etc.

Relaciones: representan la interacción y enlace entre los conceptos de un

dominio. Suelen formar la taxonomía del dominio. Por ejemplo: subclase-

de, parte-de, parte-exhaustiva-de, conectado-a, etc.

Funciones: son un tipo concreto de relación donde se identifica un elemento

mediante el cálculo de una función que considera varios elementos de la

ontología. Por ejemplo, pueden aparecer funciones como: asignar-fecha,

categorizar-clase, etc.

Instancias: se utilizan para representar objetos determinados de un

concepto.

Reglas de restricción o axiomas: son teoremas que se declaran sobre

relaciones que deben cumplir los elementos de la ontología. Por ejemplo:

"Si A y B son de la clase C, entonces A no es subclase de B", "Para todo A

que cumpla la condición B1, A es C", etc. Los axiomas, junto con la

herencia de conceptos, permiten inferir conocimiento que no esté indicado

explícitamente en la taxonomía de conceptos.

Page 4: Unidad 3 - Ingeniería ontológica

3.2 Metodologías de construcción

Para el diseño de cualquier ontología es necesario contar con una metodología

específica. Son muchas las propuestas existentes. De entre ellas podemos

destacar algunas como:

Metodología CYC: publicada en 1990, contiene algunos pasos generales

para la construcción de ontologías; el primero consiste en extraer

manualmente el conocimiento común que está implícito en diferentes

fuentes para después, cuando se tenga suficiente conocimiento en la

ontología, adquirir nuevo conocimiento común usando herramientas de

procesamiento de lenguaje natural o aprendizaje computacional.

Metodología de USCHOLD Y KING: desarrollada en 1995 con base en la

experiencia recaudada en el desarrollo de una ontología de la Empresa,

recrea una serie de pasos que permiten plasmar y especificar los

conocimientos que se tienen sobre un dominio específico, centrando sus

esfuerzos en la forma en la cual representar los conocimientos. Entre sus

pasos para desarrollar ontologías propone: (1) identificar el propósito; (2)

capturar los conceptos y relaciones entre estos conceptos y los términos

utilizados para referirse a estos conceptos y relaciones; (3) codificar la

ontología.

Metodología de GRÜNINGER Y FOX: surge paralelamente a la

metodología anterior, en ella el primer paso consiste en identificar

intuitivamente las aplicaciones posibles en las que se usará la ontología.

Luego, se utilizan un conjunto de preguntas en lenguaje natural, llamadas

cuestiones de competencia, para determinar el ámbito de la ontología. Se

usan estas preguntas para extraer los conceptos principales, sus

propiedades, relaciones y axiomas, los cuales se definen formalmente en

Prolog.

Page 5: Unidad 3 - Ingeniería ontológica

Metodología Kactus: en ella se construye la ontología sobre una base de

conocimiento por medio de un proceso de abstracción. Kactus define los

siguientes pasos (1) Especificación de la aplicación, (2) diseño preliminar

basado en categorías ontológicas toplevel relevantes y (3) refinamiento y

estructuración de la ontología.

Metodología METHONTOLOGY: esta es una de las propuestas más

completas ya que toma la creación de ontologías como un proyecto

informático. Así, además de las actividades propias de la generación de la

ontología esta metodología abarca actividades para la planificación del

proyecto, la calidad del resultado, la documentación, etc. Además permite

construir ontologías totalmente nuevas o reutilizar otras ontologías. Esta

metodología está parcialmente soportada por el entorno de desarrollo

ontológico WebODE y propone las siguientes etapas: (1) especificación, (2)

conceptualización, (3) formalización, (4) implementación y (5)

mantenimiento.

Metodología ON-TOKNOWLEDGE: esta aplica ontologías a la información

disponible electrónicamente para mejorar la calidad de la gestión de

conocimiento en organizaciones grandes y distribuidas. Además, incluye la

identificación de metas que deberían ser conseguidas por herramientas de

gestión de conocimiento y está basada en el análisis de escenarios de uso

y en los diferentes papeles desempeñados por trabajadores de

conocimiento y accionistas en las organizaciones.

Metodología TERMINAE: Apareció en 2002 y aporta tanto una

metodología como una herramienta para la construcción de ontologías a

partir de textos. Se basa en un análisis lingüístico de los textos, el cual se

realiza mediante la aplicación de diferentes herramientas para el

procesamiento del lenguaje natural. En particular se usan dos herramientas:

(1) Syntex para identificar términos y relaciones; y (2) Caméléon para

identificar roles o relaciones. La metodología funciona de la siguiente

manera: mediante la aplicación de Syntex obtenemos una lista de posibles

palabras y frases del texto y algunas dependencias sintácticas y

Page 6: Unidad 3 - Ingeniería ontológica

gramaticales entre ellas. Estos datos se usan como entrada para el proceso

de modelado junto con el texto original.

Metodología ONTOLOGY DEVELOPMENT 101: propuesta por la

Universidad de Stanford EEUU, en donde sus principales recomendaciones

radican en: (1) Determinar el dominio y ámbito de la ontología, (2)

Determinar la intención de uso de la ontología, (3) Reutilizar ontologías o

vocabularios controlados existentes. (4) Enumerar los términos importantes

del dominio. (5) Definir jerarquía de clases. (6) Crear las instancias.

Page 7: Unidad 3 - Ingeniería ontológica

3.3 Lenguajes de representación OWL

El Lenguaje de Ontologías Web (OWL) es un lenguaje que está diseñado para ser

usado en aplicaciones que necesitan procesar el contenido de la información en

lugar de únicamente representar información para los humanos.

¿Por qué OWL?

La Web semántica es una visión del futuro de la Web donde la información está

dando un significado explícito, permitiendo que las máquinas puedan procesar

automáticamente e integrar la información disponible en la Web.

OWL ha sido diseñado para cubrir esta necesidad de un lenguaje de ontologías

Web. OWL forma parte de un conjunto creciente de recomendaciones del W3C

relacionadas con la Web semántica.

XML proporciona una sintaxis superficial para documentos estructurados,

pero no impone restricciones semánticas en el significado de estos

documentos.

XML Schema es un lenguaje que se utiliza para restringir la estructura de

los documentos XML, además de para ampliar XML con tipos de datos.

RDF es un modelo de datos para objetos ("recursos") y relaciones entre

ellos, proporcionando una semántica simple para éste. Este tipo de modelo

de datos puede ser representado en una sintaxis XML.

RDF Schema es un vocabulario utilizado para describir propiedades y

clases de recursos RDF, con una semántica para la generalización y

jerarquización tanto de propiedades como de clases.

OWL añade más vocabulario para describir propiedades y clases: entre

otros, relaciones entre clases (por ejemplo, desunión), cardinalidad (por

ejemplo, "uno exacto"), igualdad, más tipos de propiedades, características

de propiedades (por ejemplo, simetría), y clases enumeradas.

Page 8: Unidad 3 - Ingeniería ontológica

Los tres sub-lenguajes de OWL

OWL proporciona tres lenguajes, cada uno con nivel de expresividad mayor que el

anterior, diseñados para ser usados por comunidades específicas de

desarrolladores y usuarios.

OWL Lite está diseñado para aquellos usuarios que necesitan

principalmente una clasificación jerárquica y restricciones simples. Debería

ser más sencillo proporcionar herramientas de soporte a OWL Lite que a

sus parientes con mayor nivel de expresividad, y OWL Lite proporciona una

ruta rápida de migración para tesauros y otras taxonomías. OWL Lite tiene

también una menor complejidad formal que OWL DL.

OWL DL está diseñado para aquellos usuarios que quieren la máxima

expresividad conservando completitud computacional (se garantiza que

todas las conclusiones sean computables), y resolubilidad (todos los

cálculos se resolverán en un tiempo finito). OWL DL incluye todas las

construcciones del lenguaje de OWL, pero sólo pueden ser usados bajo

ciertas restricciones (por ejemplo, mientras una clase puede ser una

subclase de otras muchas clases, una clase no puede ser una instancia de

otra). OWL DL es denominado de esta forma debido a su correspondencia

con la lógica de descripción, un campo de investigación que estudia la

lógica que compone la base formal de OWL.

OWL Full está dirigido a usuarios que quieren máxima expresividad y

libertad sintáctica de RDF sin garantías computacionales. OWL Full permite

una ontología para aumentar el significado del vocabulario preestablecido

(RDF u OWL). Es poco probable que cualquier software de razonamiento

sea capaz de obtener un razonamiento completo para cada característica

de OWL Full.

Page 9: Unidad 3 - Ingeniería ontológica

3.4 Aplicaciones y ejemplos de uso

Los usos posibles de las ontologías en Ingeniería del Software han sido

analizados por distintos autores y se han determinado las siguientes utilidades:

Comunicación: Las ontologías reducen la ambigüedad conceptual y terminológica

puesto que proveen un marco de unificación.

Interoperabilidad: Cuando usuarios diferentes necesitan intercambiar datos o

bien cuando un usuario utiliza diferentes herramientas de software el concepto de

interoperabilidad no es menor. Desde un primer punto de vista las ontologías

pueden actuar como “Inter-lengua”, es decir, que pueden utilizarse para soportar la

traducción entre diferentes lenguajes y representaciones.

Ingeniería de sistemas: La aplicación de ontologías para soportar el diseño y

desarrollo de sistemas de software puede darse con varios propósitos:

Especificación: facilitan el proceso de identificación de requerimientos y la

comprensión de las relaciones entre componentes.

Confiabilidad: Pueden mejorar la confiabilidad del sistema sirviendo como

base para el chequeo manual del diseño contra la especificación, como

también permiten el chequeo de consistencia semi-automatizado del

sistema de software con respecto a la especificación declarativa.

Reusabilidad: Poder importar y exportar módulos entre diferentes sistemas

de software. La meta es conseguir librerías de ontologías que puedan ser

reutilizadas y adaptadas para distintas clases de problemas y entornos.

Bases de datos: Utilizar una ontología para bases de datos parece ser el uso más

obvio, pues en la práctica una ontología puede compararse con el esquema de

una base de datos.

Page 10: Unidad 3 - Ingeniería ontológica

Interfaces de usuario: Las ontologías han sido exitosamente utilizadas para

generar interfaces basadas en formularios que chequean por restricciones de

violación de tipos. En tiempo de ejecución, una ontología podría desplegarse en

una ventana auxiliar para que el usuario la utilice como parte del sistema, por

ejemplo para comprender el vocabulario utilizado.

Page 11: Unidad 3 - Ingeniería ontológica

3.5 Criterios de evaluación para ontologías

Validar una ontología implica comprobar que representa de manera fiel el dominio

del mundo real. Esta fidelidad al dominio que representa se puede medir en

diferentes aspectos:

Como cualquier software el contenido de las ontologías debe ser evaluado

antes de ser usado.

La evaluación de ontologías garantiza que los resultados sean exitosos.

Una buena ontología es aquellas que sirve para el propósito que fue

creado.

Su dificultado radica en establecer que elementos evaluar y cuales criterios

considerar para determinar la calidad de ontologías.

Criterios para evaluar ontologías

Uso correcto del lenguaje - Evaluar cómo será la codificación de la

ontología, basándose en las características y reglas de construcción del

lenguaje usado.

Exactitud de la estructura taxonómica - Examina que la clasificación

(taxonomía) sea correcta y la redundancia de los conceptos.

Validez del vocabulario - Evaluar el significado de los términos y conceptos

a partir del conocimiento de expertos, recopilaciones de texto o cualquier

otra fuente de conocimiento.

Adecuación a los requerimientos - Validar si la ontología implanta los

requerimientos y si responde a las preguntas para las cuales se creó.

Errores frecuentes en el diseño de ontologías

Errores de ubicación: Cuando una misma clase es definida como una

subclase y como una superclase al mismo tiempo.

Clasificaciones incompletas: Se presta poca atención a elementos muy

importantes en la descripción en la anotación y conceptualización de la

ontología.

Page 12: Unidad 3 - Ingeniería ontológica

Errores de redundancia: Repetición de conceptos lo que evidencia la falta

de un plan en la confección en la base del sistema.

No describir correctamente el conocimiento: no se reconozca exactamente

que elemento se declarando en cada concepto ya que no hay definiciones

exactas para subclases y sus relaciones con los conceptos.

Page 13: Unidad 3 - Ingeniería ontológica

Fuentes de información

https://es.wikipedia.org/wiki/Ingenier%C3%ADa_ontol%C3%B3gica

http://www.ecured.cu/index.php/Ontolog%C3%ADa

http://revistas.utp.edu.co/index.php/revistaciencia/article/download/

6693/3997

http://www.hipertexto.info/documentos/ontologias.htm

http://www.w3.org/2007/09/OWL-Overview-es.html

http://sedici.unlp.edu.ar/bitstream/handle/10915/23076/

Documento_completo.pdf?sequence=1

https://prezi.com/9d1rewhuwand/evaluacion-de-ontologias/