Chapter 8 Conclusion and Future Work
8.2 Future Work and Recommendation
En los sistemas basados en conocimiento, la captura de conocimiento es una tarea compleja y que lleva tiempo, por lo que construir una base de cono- cimiento desde cero requiere un gran esfuerzo. Se convierte en necesaria la reutilización de conocimiento para poder construir sistemas de conocimiento de buena calidad, basados en el trabajo y experiencia de otros. Las onto- logías, entendidas como medio para compartir y reutilizar el conocimiento, proporcionan las piezas reutilizables de conocimiento declarativo, que junto a métodos de resolución de problemas y servicios de razonamiento permiten construir sistemas basados en conocimiento de alta calidad [123].
La reutilización de contenido ontológico existente se considera una buena práctica en ingeniería ontológica. Cada vez más, el desarrollo de ontologías es un proceso centrado en la reutilización [124], donde se combinan partes de ontologías y recursos existentes.
El método expuesto en [125] describe un método de reutilización de onto- logías basado en reingeniería, que se aplica al caso de uso de construcción de una ontología sobre contaminantes del medio ambiente. El proceso dene los siguientes pasos: (1) selección de los candidatos a reutilizar; (2) reingeniería, donde por un proceso de ingeniería inversa se obtiene un modelo conceptual a partir de la ontología fuente, el resultado se revisa y reestructura, para nalmente reconstruir la ontología según el modelo conceptual obtenido; (3) unión de las ontologías seleccionadas en un producto nal.
En el experimento llevado a cabo por Uschold y Healy en [126], se reutiliza una ontología de ingeniería matemática para detallar la especicación de una aplicación software. En el proceso detallan los pasos más importantes (1) comprender la ontología y encontrar la parte reutilizable; (2) transformar la ontología (a una representación a nivel de conocimiento); (3) especicar la tarea y renar la ontología a código ejecutable; (4) vericar que el código ejecutable corresponde con la especicación de la ontología base; (5) integrar la ontología en la aplicación.
En [127] se describe un caso de uso para construir una ontología en el domino de las campañas aéreas. La ontología se construye utilizando reutili- zación, aunque no sigue ninguna metodología especíca, ejecuta los siguien- tes pasos: (1) selección de ontologías candidatas, en este caso, una ontología general sobre el tiempo y dos ontologías en el dominio; (2) transformación de formato de las ontologías; (3) unión de las ontologías de dominio; y (4) integración con la ontologías de tiempo.
En [128] se propone el desarrollo de ontologías como módulos de forma análoga a las metodologías de ingeniería del software, para fomentar la reuti-
lización, el desarrollo colaborativo y el diseño limpio. La metodología explota el mecanismo de importación de OWL y asume que cada módulo se mantiene como un chero separado. La ontología se construye utilizando interfaces y enlazando módulos.
En [124] se realiza una revisión sobre estos y otros casos de uso [117; 129; 130; 131]. En ellos los autores coinciden en la complejidad de la labor de reutilización de las ontologías, directamente relacionada con la complejidad de las ontologías a reutilizar, y destacan que las distintas etapas en la reutili- zación de una ontologías (selección, transformación, unión e integración) no son triviales. Además, apuntan a la necesidad de propuestas de reutilización orientadas a la tarea que se ha de realizar y de denir una metodología bien detallada de reutilización. También destacan la necesidad de herramientas maduras que permiten automatizar parte del proceso de reutilización. Sim- perl [124] propone, basándose en el estudio realizado y sus propios casos de uso, los requisitos que debe cumplir una metodología y su nivel de detalle, que pasa por los siguientes pasos: (1) descubrimiento de ontologías, (2) selección de aquellas a reutilizar, (3) personalización de las ontologías relevantes, (4) integración en una ontología de aplicación. Además, la metodología debería seguir un ciclo de vida incremental que permitiera monitorizar y mejorar los procesos intermedios.
Por lo tanto, vemos que en el desarrollo de ontologías existe una carencia de metodologías de reutilización. Esto diculta la reutilización de ontologías existentes para el desarrollo de nuevas, así como la complejidad de las onto- logías a reutilizar. Bajo el supuesto de que existen clases de problemas que pueden ser resueltos aplicando soluciones comunes, se sugiere dar soporte a la reutilización en el ámbito del diseño de ontologías por medio de la denición y uso de patrones [92].
3.2.3.1 Patrones de diseño ontológico
Los patrones de diseño ontológicos (PDO) expresan soluciones comunes de modelado y buenas prácticas para un problema de diseño ontológico recu- rrente, y ayudan a los creadores de ontologías a utilizar mejor la expresividad y rigor del lenguaje de representación del conocimiento [92; 132].
Los PDO se agrupan en categorías según tipo de solución de modela- do. Se dividen en léxico sintácticos, de presentación, de razonamiento, de correspondencia, estructurales, y de contenido [133].
• PDO léxico sintácticos: son patrones que conectan constructores de lenguaje, en lenguaje natural, con constructores ontológicos.
3.2. Ingeniería ontológica 67 de anotación. Denen buenas prácticas para presentar y documentar las ontologías y sus elementos.
• PDO de razonamiento: denen formas comunes de aplicar razonamiento en una ontología, como procedimientos de clasicación o normalización. • PDO de correspondencia: incluyen PDO de re-ingeniería y PDO de alineamiento. PDO de reingeniería proporcionan a los diseñadores so- luciones al problema de transformar un modelo conceptual, que puede ser una ontología o un recurso no ontológico, a otra ontología. PDO de alineamiento son patrones para crear asociaciones semánticas entre dos ontologías existentes.
• PDO estructurales: incluyen PDO lógicos y de arquitectura. Se encar- gan de la estructura lógica de la ontología, la expresividad del lenguaje de modelado y problemas relacionados, tanto a nivel local (PDO lógi- cos), como a nivel global (PDO de arquitectura).
• PDO de contenido (o de dominio): son patrones estructurales, que tam- bién restringen la estructura del modelo, pero además proporcionan soluciones para modelar conceptos especícos. Tienen un vocabulario explícito no-lógico para un domino especíco de interés y dependen del contenido (el dominio), aunque el dominio puede ser muy general. En [92] y [134] proponen los PDO de contenido, y su uso en métodos de construcción de ontologías basados en reutilización.
Los PDO de contenido contienen conceptos y relaciones que pueden ser especializados cuando el patrón es utilizado. Para utilizarlos se debe hacer una selección de los patrones más adecuados al dominio del problema de modelado, y aplicarlos a la ontología nal por medio de especialización, im- portación, composición o expansión. Los PDO de contenido se caracterizan por [134]:
• Ser componentes computacionales, pues se representan y codican en algún lenguaje lógico, como OWL, para que puedan ser procesados y reutilizados como componentes básicos en la construcción de ontologías. • Ser pequeños y autónomos, facilitando el diseño de redes de ontologías
mediante la modularización de las mismas.
• Ser componentes que permiten la inferencia, por lo que un sólo elemen- to, o una clase sin axiomas asociados, no puede ser un patrón.
Figura 3.3: (izq.) Patrón de diseño ontológico de contenido para un Value Partition, (dcha.) Aplicación del patrón Value Partition para modelar una regulación biológica, con sólo puede ser positiva o negativa
• Ser componentes jerárquicos, todos participan en un orden parcial, don- de la relación de orden se llama especialización. La especialización re- quiere que al menos una entidad del patrón más especíco sea incluida por al menos una entidad del patrón más general.
• Ser componentes relevantes cognitivos. Su visualización debe ser intui- tiva y compacta, recogiendo las nociones relevantes del dominio. La mayoría de bio-ontologías no utilizan toda la expresividad que per- miten los lenguajes de representación de conocimiento como OWL, como resultado, carecen de la riqueza axiomática y rigor de dichos lenguajes [135]. Como los PDO de contenido guían a los creadores de ontologías en la explo- tación de las capacidades de los lenguajes de representación de conocimiento para resolver problemas concretos, pueden ser utilizados por biólogos para crear bio-ontologías axiomáticamente ricas y rigurosas [136]. La gura 3.3 izquierda muestra el diagrama de un patrón de diseño ontológico de conte- nido modelando una estructura value partition"(particiones de valor), que representa un conjunto cerrado de valores para un parámetro en particular por medio de los axiomas unionOf y disjointWith. La parte derecha de la gura 3.3 muestra la aplicación del patrón para modelar una regulación biológica, que solo puede tomar uno valor de un conjunto de dos, positivo o negativo.
3.2. Ingeniería ontológica 69 PDO para facilitar su aceptación en la comunidad. En [138] encuentran una carencia de herramientas que especiquen la utilización de un patrón por par- te de una ontología, por ello, proporcionan un lenguaje y un framework para denir de forma explícita los patrones y su uso dentro de ontologías OWL. El lenguaje Ontology Pre-Procesing Language [138] es un lenguaje declarativo para la consulta y modicación de ontologías expresadas en OWL. En [139] se propone un sublenguaje de OPPL para la denición de patrones. Los pa- trones OPPL encapsulan estructuras recurrentes de conocimiento expresadas en OWL, de manera que pueden ser utilizados sobre las ontologías OWL de forma inmediata. Los patrones OPPL están formados por variables y accio- nes, donde las variables pueden ser OWL Class, OWL objectProperty, OWL dataProperty, OWL Individual y constant. Las acciones pueden ser añadir (ADD) o eliminar (REMOVE) un axioma, que pueden ser cualquier axio- ma OWL-DL construido como combinación de variables y entidades de la ontología.
3.2.3.2 Patrones SHN
Como he comentado en el capítulo anterior, la red SemanticHealthNet (SHN) [90], que busca la consecución de la interoperabilidad semántica de la informa- ción clínica, propone una infraestructura semántica basada en un framework ontológico y un conjunto de patrones ontológicos de contenido como solución complementaria a los diferentes estándares de HCE existentes. El framework ontológico está formado por tres ontologías, cuya relación entre sí podemos ver en la gura 3.4.
• Una ontología de alto nivel, BioTopLite (prejo btl) que proporciona un conjunto básico de clases y relaciones fundamentales.
• Una ontología de dominio, SNOMED CT (prejo sct). Es una termino- logía clínica parcialmente construida con principios de ontología formal. De ella, conceptos seleccionados se colocaran por debajo de las clases de alto nivel proporcionadas por BioTopLite.
• Una ontología de entidades de información de HCE (prejo shn:) para representar información como diagnósticos o resultados de actividades clínicas, como observaciones, investigaciones o evaluaciones. Todas las clases de esta ontología se representan como subclases de la clase de alto nivel btl:InformationObject.
Los patrones ontológicos de contenido crean una vista parcial sobre el framework ontológico subyacente, de manera que ayudan a modelar la in- formación clínica haciendo uso del framework pero evitando que el usuario
Figura 3.4: Fragmento del framework ontológico SHN
necesite entender por completo las complejas expresiones ontológicas subya- centes. SHN propone una representación formal de los patrones basada en lógica descriptiva, lo que permite utilizar razonamiento para detectar equiva- lencias entre información clínica representada utilizando diferentes modelos de información y terminologías [140].
La tabla 3.1 muestra las tripletas que representan el patrón que dene la prescripción de un medicamento.
Tabla 3.1: Representación basada en tripletas del patrón Administración de Medicación
Sujeto Predicado Objeto
btl:Plan isRealizedBy sct:MedicationAdministration
sct:MedicationAdministration hasFocusOn sct:PharmaceuticalProduct sct:MedicationAdministration hasRoute sct:RouteOfAdministration sct:MedicationAdministration hasStartTime btl:PointInTime
sct:MedicationAdministration hasEndTime btl:PointInTime sct:MedicationAdministration hasDuration btl:Duration sct:MedicationAdministration hasFrequency shn:Frequency sct:PharmaceuticalProduct hasComponent sct:Substance
sct:PharmaceuticalProduct hasDose shn:PhysicalQuantity
sct:PharmaceuticalProduct hasForm shn:DrugDosForm
sct:Substance hasStrength shn:PhysicalQuantity
sct:Substance hasForm shn:DrugDoseForm
shn:PhysicalQuantity hasValue xml:double
3.3. Actividades semánticas 71