• No results found

4.1 Data Collection Stages

4.1.4 Stage 4: Deriving conceptual model

Las  herramientas  para  el  desarrollo  de  ontologías  permiten  la  creación,  modificación  y  gestión  de  modelos ontológicos, y en general, facilitan el trabajo del desarrollador. 

Desde mediados de los 90 el crecimiento del número de plataformas relacionadas con ontologías ha  crecido en gran medida. Podemos separar las herramientas en dos grupos: por una parte las que ya  no  sufren  grandes  evoluciones:  Ontosaurus  (Swartout  et  al.,1996),  Ontolingua  (Ontolingua,2005)  y  WebOnto (Dominigue et al.,1999); y las más modernas que están en constante evolución: OntoEdit  (OTK,2002), OilED (Bechhofer et al.,2001), WebOde (Arpírez et al.,2003), Protégé (Knublauch,2004) y  Cimera  (McGuinness  et  al.,2000).  Las  del  primer  grupo  fueron  desarrolladas  para  trabajar  con  ontologías en un lenguaje determinado, sin embargo, las más modernas, son mucho más ambiciosas  y ofrecen la posibilidad de añadir extensiones (a través de plug‐ins), diversos lenguajes, etc.  De todas las herramientas mencionadas, la de uso más extendido y en constante mantenimiento y  evolución es Protégé 2000, desarrollada por el Standford Center for BioMedical Informatics Research  (BMIR) de la Universidad de Standford. Su diseño ha perseguido dos objetivos: facilidad de envío y  configuración; y compatibilidad con otros sistemas de representación del conocimiento. El núcleo de  este  sistema  es  su  editor  de  ontologías.  Tiene  gran  soporte  para  extensiones  que  ofrecen  diversas  funcionalidades  como:  diferentes  formas  de  visualización,  gestión  de  múltiples  ontologías,  soporte  para  inferencia,  y  exportación  /  importación  desde  diversos  lenguajes.  Tiene  una  funcionalidad  importante,  a  diferencia  de  otras  herramientas  donde  el  almacenamiento  de  ontologías  sólo  se  puede realizar en fichero, Protégé permite hacerlo en bases de datos. 

El principal inconveniente de estas herramientas reside en su aislamiento respecto a los entornos de  desarrollo actualmente empleados en las empresas. Es decir, no incorporan la posibilidad de integrar  las  herramientas  de  gestión  de  ontologías  en  los  entornos  de  desarrollo,  lo  que  resultaría  de  gran  utilidad  para  los  casos  en  los  que  las  ontologías  pueden  estar  estrechamente  relacionadas  con  los  modelos  de  negocio  sobre  los  que  se  desarrollan  las  aplicaciones,  como  podría  ser  el  caso  de  desarrollo de los SGRN. 

Por  otro  lado,  la  construcción  de  ontologías  de  calidad  pasa  por  la  intervención  de  expertos  en  el  proceso de identificación y especificación de conceptos y de las relaciones existentes entre ellos. Con  ayuda de alguna de las herramientas descritas, y empleando técnicas adicionales, como la realización  de entrevistas a expertos de dominio, personal especializado, con conocimientos técnicos y también  en  el  ámbito  de  la  gestión  del  conocimiento,  escribe  la  ontología  en  alguno  de  los  lenguajes  de  representación  existentes.  Como  puede  deducirse,  este  es  un  trabajo  tedioso,  que  demanda  una  gran cantidad de recursos. Es por ello que la investigación en procesos, técnicas y herramientas que 

Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio

 

   

faciliten la construcción automática  de  ontologías ha recibido mucha atención en los últimos años.  Las  fuentes  disponibles  para  recopilar  la  información  necesaria  para  la  definición  de  las  ontologías  son básicamente dos: cualquier documento, en cualquier formato, disponible en la organización y la  experiencia  de  las  personas  que  trabajan  en  la  misma.  Los  próximos  apartados  se  van  a  dedicar  a  describir algunas técnicas para la construcción semiautomática de ontologías a partir de texto libre y  a la modelización de ontologías, de manera que se facilite recoger el conocimiento de los expertos. 

II.3.3. Del lenguaje natural a las ontologías 

Como se mencionaba en el apartado anterior, los documentos escritos, sean páginas web, manuales,  informes, normativas, etc., constituyen la fuente de información primordial para definir el modelo de  conocimiento en el que se desenvuelve el negocio de la organización.  Existen distintas alternativas  tecnológicas para la extracción de ontologías a partir de textos escritos, entre las que destacan:  • Reconocimiento basado en patrones. En esta aproximación, las relaciones entre conceptos se  reconocen  a  partir  de  secuencias  de  palabras  que  siguen  un  determinado  patrón.  Por  ejemplo,  un  patrón  en  inglés  puede  ser  que  si  se  encuentra  una  secuencia  de  n  nombres,  entonces los n‐1 primeros nombres son hipónimos del que se encuentra en la posición n. De  acuerdo  con  este  patrón,  el  término  Spain  location  podría  utilizarse  para  obtener  la  interrelación  de  hiponimia  entre  el  término  Spain  location  y  el  término  location.  Esta  relación a nivel lingüístico se proyecta a nivel conceptual con la relación de subclase entre el  concepto asociado al término Spain location y el concepto asociado al término location. La  propuesta  de  (Kietz  et  al.,2000)  se  enmarca  en  esta  línea.  En  ella,  se  asume  que  los  documentos  de  un  determinado  dominio  describen  la  mayor  parte  de  los  conceptos  y  relaciones  a  incluir  en  una  ontología  así  como  la  terminología  de  dicho  dominio.  Este  método  propone  aprender  la  ontología  utilizando  como  base  un  núcleo,  como  SENSUS8 WordNet9 u otras, que se va enriqueciendo con los conceptos aprendidos. En esta línea se  encuentra  también  la  herramienta  Text‐To‐Onto,  empleada  en  el  proyecto  On‐To‐ Knowledge  (Gómez‐Pérez  et  al.,2004).  Por  otra  parte,  en  el  trabajo  de  (Aussenac‐Gilles  et  al.,2002)  el  método  empleado  se  basa  en  la  elicitación  de  conocimiento  a  partir  de  documentos técnicos. Utilizan herramientas como SYNTEX (Moigno et al.,2002) para obtener  términos del dominio mediante análisis lingüístico, que pasan después a otra herramienta,  denominada  TERMINAE,  que  facilita  a  los  ingenieros  de  conocimiento,  encargados  de  construir  la  ontología,  el  proceso  de  identificación  de  conceptos  y  relaciones  mediante  el  cómputo de ocurrencias de determinados patrones lingüísticos. 

• Reglas de Asociación. El algoritmo de reglas de asociación es muy conocido en el campo de la  minería  de  datos  para  la  detección  de  asociaciones  entre  eventos,  como  por  ejemplo,  productos vendidos en una misma operación en un supermercado, visitas que se producen a  un sitio web, etc. El algoritmo se basa en el análisis de transacciones que involucran a varios  elementos, tratando de identificar cuáles de ellos aparecen en la misma transacción con un  nivel  de  confianza  determinado.  En  el  campo  de  las  ontologías  las  reglas  de  asociación  se  han  utilizado  para  descubrir  relaciones  no  taxonómicas  entre  conceptos,  empleando  para  ello una jerarquía de conceptos como conocimiento a priori y estadísticas de coocurrencias  de los términos en los textos. Así, por ejemplo, si la palabra train ocurre frecuentemente con  la  palabra  travel  en  los  textos  a  analizar,  entonces  podría  añadirse  a  la  ontología  una        

8 http://www.isi.edu/natural-language/resources/sensus.html 9 http://wordnet.princeton.edu/

Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio

 

   

relación  entre  el  concepto  asociado  a  train  y  el  concepto  asociado  a  travel.  Esta  aproximación a la construcción de ontologías se describe en (Maedche&Staab,2000) 

• Agrupamiento  de  conceptos.  En  este  método,  los  conceptos  de  entrada  se  agrupan  de  acuerdo  a  la  distancia  semántica  entre  ellos,  de  forma  que  dos  conceptos  pertenecen  al  mismo  grupo  si  su  distancia  semántica  es  más  pequeña  que  un  umbral  predefinido.  Una  forma de calcular la distancia entre conceptos se basa en el uso de funciones sintácticas que  los  términos  asociados  a  tales  conceptos  realizan  en  el  texto.  Por  ejemplo,  si  las  palabras  train y car aparecen con la misma función sintáctica (por ejemplo, sujeto) en las oraciones  con el mismo verbo (por ejemplo, Peter travels by train, John travels by car, etc.) entonces  los  conceptos  asociados  a  train  y  car  se  consideran  semánticamente  como  conceptos  cercanos  y  deberían  agruparse.  Este  enfoque  y  otros  similares  se  describen  en  (Faure&Poibeau,2000) 

• Aprendizaje de conceptos. En este caso, una taxonomía dada se actualiza incrementalmente  según  se  adquieren  nuevos  conceptos  desde  textos  reales.  Podríamos  ver  estos  métodos  como una extensión de los anteriores, de hecho, se aplican las mismas técnicas que allí, pero  en  este  caso  con  el  objetivo  de  asociar  a  cada  concepto  con  alguno  de  los  niveles  de  la  taxonomía  de  partida.  En  este  campo  se  pueden  encontrar  trabajos  como  (Hahn&Schulz,2000) 

A  la  línea  de  investigación  dedicada  a  estudiar  la  construcción  automática  de  ontologías  se  le  denomina aprendizaje de ontologías, en inglés ontology learning. Conviene diferenciar esta línea de  trabajo  de  la  dedicada  a  localizar,  también  de  forma  automática,  instancias  para  los  conceptos  y  relaciones de la ontología. A este proceso de inclusión de ejemplares en la ontología se le denomina  poblado de ontologías, en inglés ontology population.  

En la propuesta desarrollada en esta tesis, la ontología se empleará para representar el conocimiento  del  dominio  de  negocio,  facilitando  el  enlace  con  el  lenguaje  natural,  por  un  lado,  y  con  los  elementos que implementan los conceptos de negocio en los SI de la organización. Así, la ontología  es  un  elemento  imprescindible  para  permitir  a  los  expertos  de  negocio  expresar  reglas  de  negocio  empleando lenguaje natural, una interfaz cómoda para ellos con requisitos formativos mínimos. 

II.3.4. Modelo para la definición de ontologías 

Un paso necesario en la automatización de la generación de ontologías consiste en su representación  a través de un modelo. La definición de este modelo facilitaría el empleo de herramientas existentes  para  trabajar  con  modelos  al  ámbito  de  las  ontologías,  además  de  simplificar  la  integración  de  las  ontologías como elementos de los modelos que definen un sistema de información más complejo.  Con  este  fin,  el  grupo  de  estandarización  OMG  dispone  de  un  estándar  denominado  Ontology  Definition  Metamodel  (ODM)  (OMG,2009).  Esta  especificación  pretende  servir  de  base  para  la  representación,  gestión,  interoperabilidad  y  aplicación  de  la  semántica  de  negocio.  Esta  especificación,  según  sus  autores,  ofrece  una  serie  de  beneficios  potenciales  a  sus  usuarios,  como  son: 

• La  posibilidad  de  adecuar  a  sus  necesidades  el  nivel  de  expresividad,  complejidad  y  formalidad a la hora de diseñar e implementar modelos conceptuales. 

Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio

 

   

• Facilitar  la  incorporación  de  procesos  de  inferencia  en  los  sistemas  que  permitan  comprender, validar y aplicar las ontologías desarrolladas siguiendo la especificación. Esto es  así  debido  a  que  toma  como  base  la  lógica  formal,  a  través  de  estándares  y  modelos  semánticos para los lenguajes de representación de conocimiento soportados. 

• Define  perfiles  y  transformaciones  suficientes  para  apoyar  el  intercambio  de  modelos  desarrollados  en  formalismos  diferentes,  incorporando  mecanismos  para  facilitar  comprobaciones de consistencia y validación. 

• Proporciona la base para una familia de especificaciones que enlazan la metodología MDA y  las tecnologías de Web Semántica, permitiendo la integración de servicios web, ontologías y  aplicaciones. 

Según  (OMG,2009)  la  ontología  es  una  disciplina  con  raíces  en  la  filosofía  y  en  la  lógica  formal,  introducida  por  la  comunidad  de  la  Inteligencia  Artificial  a  mediados  de  los  80  para  describir  conceptos del mundo real que son independientes de las aplicaciones específicas. En las últimas dos  décadas, se han utilizado metodologías y tecnologías de representación del conocimiento en diversas  ramas de la computación allí donde existía la necesidad de representar y compartir conocimiento del  contexto  independientemente  de  las  aplicaciones.  La  especificación  fija  también  la  definición  de  ontología considerada: 

"Una  ontología  define  los  términos  y  conceptos  (significado)  empleados  para  describir  y  representar un área de conocimiento. Una ontología, atendiendo a su expresividad, podría ir  desde una Taxonomía (conocimiento con una jerarquía mínima o una estructura padre‐hijo),  a  un  Diccionario  (palabras  y  sinónimos),  a  un  Modelo  Conceptual  (con  conocimiento  más  complejo) hasta una Teoría Lógica (con conocimiento muy rico, complejo, consistente y con  significado)." 

Teniendo en cuenta esta definición y los objetivos perseguidos en (OMG,2009), ODM se compone de  6 metamodelos (4 de ellos normativos y 2 informativos). Estos metamodelos se agrupan lógicamente  atendiendo  a  la  naturaleza  del  formalismo  de  representación  asociado  a  cada  uno  de  ellos:  lógica  descriptiva  y  formal  de  primer  orden,  representaciones  estructurales  y  descriptivas  y  modelos  software conceptuales u orientados a objetos. 

El  núcleo  de  ODM  lo  componen  dos  metamodelos  que  se  corresponden  con  lenguajes  de  lógica  formal:  Lógica  Descriptiva,  en  inglés  Description  Logics  (DL)  y  Lógica  Común,  en  inglés  Common  Logics (CL). Estos lenguajes permiten cubrir un amplio espectro de sistemas de representación, desde  probabilísticos  hasta  taxonómicos,  más  sencillos.  El  resto  de  metamodelos  se  dedican  a  lenguajes  como  RDF  Schema,  OWL,  Topic  Maps  (TM)  y  UML.  Aunque  los  modelos  Entidad‐Interrelación  (ER),  muy  conocidos  en  el  ámbito  de  las  bases  de  datos,  son  ampliamente  utilizados,  la  definición  del  metamodelo  correspondiente  se  deja  para  otra  especificación,  la  de  Modelado  y  Gestión  de  la  Información,  en  inglés  Information  Modeling  and  Management  (IMM)  que,  una  vez  disponible,  se  ligará  con  ODM.  Los  metamodelos  identificados  se  muestran  en  la  Figura  II‐  7,  tomada  de  (OMG,2009). 

Esta especificación viene a soportar la metodología dirigida por modelos MDA, definida por el grupo  OMG y dirigida a automatizar el proceso de desarrollo software mediante la utilización de modelos  para representar las características de los sistemas de información. 

Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio

 

   

  Figura II‐ 7. Estructura de paquetes para los metamodelos de ODM 

En  este  trabajo  de  tesis  se  aplicarán  las  pautas  definidas  en  esta  especificación  en  cuanto  a  la  transformación de  modelos UML a ontologías expresadas en el  lenguaje  OWL. Esta  transformación  automática  permitirá  emplear  los  objetos  de  negocio  de  una  organización  como  conceptos  aptos  para  la  definición  de  reglas  de  negocio.  Cabe  destacar  aquí  que  se  ha  implementado  esta  transformación  por  motivos  prácticos.  Es  decir,  tiene  mucho  más  sentido  partir  de  un  modelo  de  conocimiento  válido  para  toda  la  organización  que  de  las  vistas  parciales  representadas  en  los  modelos  UML.  En  la  medida  en  que  se  estandaricen  las  ontologías  para  distintos  campos  de  aplicación, desaparecerá la necesidad de transformar los modelos UML en representaciones OWL.