Mostrando entradas con la etiqueta ontologías. Mostrar todas las entradas
Mostrando entradas con la etiqueta ontologías. Mostrar todas las entradas

martes, 10 de abril de 2018

Disponible la tesis Propuesta de modelado de una ontología de dominio para la representación de acciones en política-economía en el repositorio de la Universidad de Murcia

Bueno, pues... mi tesis, Propuesta de modelado de una ontología de dominio para la representación de acciones en política-economía, ya está disponible en línea en el repositorio institucional de la Universidad de Murcia: http://hdl.handle.net/10201/56661, por si alguien quiere hacerse mala sangre con ella :P

INTRODUCCIÓN: Buena parte de la información político-económica es difundida por los medios de comunicación social a través de noticias en formato digital. Sin embargo, dichos contenidos, y los de cualquier tipo en general, no tienen una estructura homogénea y se publican en grandes cantidades, lo que dificulta la extracción de conocimiento formalizado. Para resolver estos problemas a lo largo del tiempo se han desarrollado herramientas de organización y representación de la información. En los últimos años, en el marco de la web semántica aparecieron las ontologías, vocabularios que pueden mejorar la representación del contenido de documentos con un bajo nivel de estructuración, incorporando nuevos elementos a las herramientas tradicionalmente utilizadas. Ahora bien, el modelado de ontologías es complejo y requiere, entre otros, del uso de técnicas de procesamiento del lenguaje natural (indización automática) para dotar al vocabulario de elementos para la descripción de contenidos.
OBJETIVOS E HIPÓTESIS: En este sentido, se plantea como objetivo general el modelado de una ontología con la que contribuir a la representación de acciones del dominio político-económico y facilitar la comprensión de los acontecimientos del mundo real en dicho contexto. Se propone la hipótesis de si el empleo de noticias de prensa digital como fuente para la adquisición de conocimiento y la aplicación de técnicas de indización humana y semiautomática para la extracción de términos son adecuados para el modelado de la ontología propuesta.
METODOLOGÍA: Para ello, se sigue una metodología que comprende la configuración de una muestra de noticias del dominio político-económico de diarios generalistas de ámbito internacional; el análisis de la teoría de la Gramática de Casos aplicado al modelado de una ontología general para la descripción de acciones (ONA); la indización humana y semiautomática de una submuestra de noticias para la modificación de ONA y el modelado inicial de la ontología de dominio ONAPE (ONtología de Acciones en Política-Economía); y el mapeado inicial con otros vocabularios, orientado a la identificación de elementos equivalentes y a la definición de clases y propiedades. ONAPE es evaluada a partir de la instanciación de las palabras clave extraídas del código fuente de noticias de una submuestra con un software desarrollado ad hoc, MetadadosHTML y la anotación semántica de un recorte de esta submuestra. Finalmente, se analiza la adecuación de ONAPE (y de ONA) al dominio objeto de estudio, mediante la aplicación de fórmulas de precisión, exhaustividad y medida-F. En todos los casos se obtienen valores superiores a 0.90, lo que asegura la corrección y especificación de los elementos de la ontología modelada. 
CONCLUSIONES: La metodología utilizada se ha revelado útil para el propósito definido la metodología empleada. Por tanto, la hipótesis se cumple, es posible modelar una ontología de dominio con base en un componente teórico asentado, la Gramática de Casos y se atiende el objetivo planteado. Sin embargo, para que ONA y ONAPE sigan siendo útiles es necesaria su actualización por medio del análisis de nuevos corpora de noticias. En lo referente a MetadadosHTML, se pone en evidencia la dificultad del intercambio de información entre sistemas, ya que, aunque existen numerosos esquemas de metadatos para la descripción de noticias, ninguno es un estándar claro. Como trabajos futuros se plantean, entre otros: el uso de ONA u ONAPE en proyectos orientados al aprendizaje automático de software para la descripción automática de documentos y la especialización de ONAPE en subdominios concretos.

lunes, 26 de septiembre de 2016

Nuevo libro sobre #ontologías para profesionales de la información: "Practical ontologies for information professional", de David Stuart

He visto, gracias a un tuit de Lluís Anglada (para que luego digan que las redes sociales no son útiles), que se ha publicado un nuevo libro sobre ontologías para profesionales de la información (bibliotecarios/as, documentalistas, archiveros/as y análogos/as).
Con éste, ya son dos los libros que he conocido específicos para este ámbito, el resto de bibliografía son libros orientados al área de informática, y muchos artículos y comunicaciones a congreso, tanto en Documentación como en Informática.

Portada de Abbas (2010)
Portada de Abbas (2010)
El primer libro, de 2010, fue publicado por June Abbas, en el que describe y compara taxonomías, folksonomías, ontologías y otras estructuras, y muestra casos prácticos de aplicaciones de dichas herramientas:

Abbas, J. (2010). Structures for Organizing Knowledge: Exploring Taxonomies, Ontologies, and Other Schemas. New York: Neal-Schuman Publishers. (Aquí puedes ver la Tabla de contenidos del libro)
Portada de Stuart (2016)
Portada de Stuart (2016)
La segunda obra se ha publicado recientemente y, en la página de la editorial (Facet Publishing) tiene disponible las primeras páginas en pdf. Esto es suficiente para tener una visión general de qué es una ontología y cuáles son las semejanzas y diferencias con otras herramientas, básicamente taxonomías y tesauros :
Stuart, D. (2016). Practical Ontologies for Information Professionals. London, UK: Facet Publishing Aquí puedes ver la Tabla de contenidos del libro.

Mientras Abbas (2010) pone el foco de atención en la comparativa entre herramientas, Stuart (2016) describe con mayor profundidad distintos aspectos de las ontologías: su relación con la web semántica, ontologías ya existentes, formas de interrogar ontologías con SPARQL, reutilización y construcción de ontologías y un último apartado muy interesante: el rol de los/as profesionales de la información en relación a las ontologías.
Vamos a ver si consigo el libro (nada barato) de Stuart. Para los/as interesados/as, el de Abbas está en la biblioteca de la Facultad de Informática de la Universidad de Murcia, aunque con acceso restringido :P.

miércoles, 25 de noviembre de 2015

Bibliografía para entender qué es una #ontología a partir de la idea de #tesauro

Varias personas de las áreas de Biblioteconomía, Documentación y Archivística me han dicho que les cuesta entender qué es una ontología. También pasé por eso. Una forma de definirla, más allá de las varias definiciones que existen, es a través de sus partes y, en el fondo, no son tan distintas de las de un tesauro, que ya nos suena más.
Numerosos autores han trabajado en esta línea, aclarando el concepto e buscando paralelismos con los tesauros. De ellos, para mi, el más claro es el trabajo de Torres et al. (2008) y su Comparativa entre los elementos de un tesauro y de una ontología. Aquí, las cuatro referencias que más he utilizado:
  1. Codina, L., & Pedraza-Jiménez, R. (2015, March 30). Taxonomías y Ontologías: Qué son y cómo se aplican a Medios de Comunicación. Recuperado de http://www.lluiscodina.com/taxonomias-ontologias/
  2. Codina, L., & Pedraza-Jiménez, R. (2011). Tesauros y ontologías en sistemas de información documental. El Profesional de La Informacion, 20(5), 555–563. Recuperado de http://www.elprofesionaldelainformacion.com/contenidos/2011/septiembre/10.pdf
  3. Pedraza-Jiménez, R., Codina, L., & Rovira, C. (2007). Web semántica y ontologías en el procesamiento de la información documental. El Profesional de la Información, 16(6), 569–578. Recuperado de http://repositori.upf.edu/handle/10230/13141
  4. Torres, A. G., Lora, A. P., & López, D. P. (2008). Reutilización de tesauros: el documentalista frente al reto de la web semántica. El profesional de la información, 17(1), 8–21. Recuperado de http://recyt.fecyt.es/index.php/EPI/article/viewFile/epi.2008.ene.02/21624
Además, hace un tiempo que, con el Manual de Horridge (2011) escribí otro post, Creación de ontologías con Protégé: conceptos básicos, que utilizaba esta referencia, que también puede ser de ayuda, en el que utilicé esta otra referencia:

lunes, 25 de agosto de 2014

Creación de ontologías con Protégé: conceptos básicos

Una ontología puede crearse utilizando diferentes programas. También varían dependiendo del lenguaje bajo el que se construye la ontología. Unos programas obligan a utilizar su propio lenguaje, otros son independientes y se basan en un lenguaje estandarizado como OWL.
Uno de los programas más utilizados para construir ontologías es Protégé. Como ya señalé en Mi primera ontología: de las pizzas a poleco, uno de los documentos básicos para entender este software es HORRIDGE, Guía Práctica para la Construcción de Ontologías OWL utilizando Protégé 4 y Herramientas CO-ODE Edición 1.3.
Aunque existen versiones posteriores, este manual sigue siendo útil para comprender algunos conceptos. A lo largo de este texto se utilizará su nombre coloquial, el "manual de pizzas". :)
Una ontología se compone de varios elementos: individuos, propiedades, clases y restricciones. Las posibilidades de desarrollo de cada uno dan lugar a distintas características y tipologías, que se detallan a continuación.
1) Individuos o instancias (individuals): representan objetos del mundo real, en el dominio en el que estamos trabajando. Habitualmente están vinculadas a una clase mediante una relación de tipo esUn (isA)
2) Propiedades (properties): indican relaciones entre individuos o entre un individuo y un dato, y se detallan habitualmente a nivel de clase. Pueden crearse subpropiedades y existen tanto para un conjunto de individuos (esto es, propiedad o atributo de clase) como para individuos concretos (propiedad o atributo de instancia). Una propiedad tiene un dominio (domain) y un rango (range). En el dominio es el conjunto de individuos de una clase que se relaciona con el conjunto de individuos de otra clase, el rango. Por ejemplo, en la propiedad estudiaEn el dominio podría estar compuesto por "Alumnos" y el rango por "Universidades". El manual de pizzas desaconseja definir dominio y rango. Existen tres tipos de propiedades:
  • Propiedades de anotación (annotation properties): utilizadas para añadir información a clases, individuos y propiedades de objeto o dato. Entre estas propiedades, destacan las labels y los comments
  • Propiedades tipo dato (datatype restrictions): vinculan individuos y valores (datos) definidos mediante un rdf literal o utilizando un esquema de datos XML. Para establecer estas relaciones se utilizan las restricciones tieneValor (hasValue restrictions), que se explican más adelante
  • Propiedades tipo objeto (object type restrictions): son relaciones binarias entre individuos. Características de estas propiedades son:
    • Propiedad inversa (inverse property): si una propiedad vincula A y B, su propiedad inversa relacionará B y A. Por ejemplo, esParteDe tiene como inversa tieneComoParte. En este caso, dominio y rango de la propiedad esParteDe serán rango y dominio, respectivamente, de tieneComoParte
    • Propiedad funcional (functional property): como máximo, un individuo sólo se relaciona con un individuo. Así, tieneComoTapa, que relaciona "Libro" y "Tapa" es funcional, ya que un "Libro" cualquiera no puede tener más que una "Tapa". Este tipo de propiedad también se denomina de un único valor (single valued property) o feature
    • Propiedad inversa funcional (inverse functional property): si una propiedad es inversa funcional, implica que su inversa también lo es. En el manual de pizzas, una "pizza" siempre tieneComoBase una "base" y una "base" siempre esPartede una "Pizza" por lo que existe relación inversa. Sin embargo, una "Pizza" siempre tieneComoBase una única "Base", pero una "Base" esParteDe más de un tipo de "Pizza". Esto implica que sólo "Pizza" -> "Base" es funcional. Por tanto, la primera relación es inversa Y funcional, pero no inversa funcional
    • Propiedad transitiva (transitive property): si A se relaciona con B y éste con C mediante una propiedad transitiva los individuos A y C están relacionados. Por ejemplo si "María" esHermanaDe "Laura" y "Laura" esHermanaDe "Paula", podemos inferir que "María" y "Paula" son hermanas. Si una propiedad es transitiva, no puede ser funcional
    • Propiedad simétrica (symmetric property): permite establecer relaciones de igualdad entre dos individuos. Si "María" esHermanaDe "Laura", "Laura" esHermanaDe "María"
    • Propiedad asimétrica (asymmetric property): es el caso contrario, si A se relaciona con B mediante una relación asimétrica no puede aplicarse la misma relación entre B y A
    • Propiedad reflexiva (reflexive property): se aplica en los casos en que un individuo se relaciona consigo mismo. Por ejemplo, una "Institución" puede investigarse a mi misma.
    • Propiedad irreflexiva (irreflexive property): incide en el caso contrario a la anterior. Por ejemplo, la relación "María" esHermanaDe "María" es irreflexiva (e imposible), una persona no puede ser hermana de sí misma
3) Clases (classes): son sets que contienen individuos. Se trata de representaciones concretas de conceptos, que se describen mediante declaraciones que indican los requerimientos para ser miembro de éstas. Tipos de clases:
  • Clases disjuntas (disjoint classes): son aquellas de las que un individuo no puede ser instancia simultáneamente. Por ejemplo, las clases "Brazo" y "Pierna" son disjuntas, ya que cualquier miembro que pertenezca a la clase "Brazo" no puede formar parte del conjunto de la clase "Pierna"
Existen otros tipos de clases, definidas a partir de restricciones (restrictions), que describen el conjunto de individuos de dicha clase basándose en las relaciones en las que éstos participan.
  • Clases primitivas (primitive classes): hace referencia a aquellas condiciones necesarias que tienen que reunir los individuos para formar parte de una clase. Estas condiciones son denominadas superclases subclases, dependiendo de la versión de Protégé. En el manual de pizzas, se recurre al ejemplo de la "ChessyPizza". Esta clase tiene 2 condiciones necesarias para cualquier individuo: 1) esUna "Pizza" y 2) tieneTopping algún "Queso"
  • Clases equivalentes (equivalent classes): Ahora bien, el simple hecho de cumplir las condiciones no implica obligatoriamente que un individuo sea miembro de cierta clase. Para ello, estas condiciones necesarias deben definirse como suficientes. De esta forma, cualquier individuo que satisfaga estas condiciones, será considerado miembro de dicha clase. Así, cualquier individuo que esUna "Pizza" y tieneTopping algún "Queso", es una "ChessyPizza". Cuando una clase tiene, como mínimo una condición necesaria y suficiente, recibe el nombre de clase definida (defined class)
  • Clases enumeradas (enumerated classes): se crean definiendo previamente el conjunto de individuos que forman parte de dicha clase. En el manual de pizzas, se explica mediante el ejemplo "DiasDeLaSemana", cuyos individuos se especifican en la Vista de Descripción de la Clase, como "Clases Equivalentes", {Lunes, Martes, Miércoles, Jueves, Viernes, Sábado, Domingo}
4) Para entender estas clases, es recomendable conocer previamente los tipos de restricciones existentes, que se detallan a continuación.
  • Restricciones de cardinalidad (cardinality restrictions): limitan el número de relaciones entre individuos. Existen tres tipos de restricciones de cardinalidad: al menos (at least), como máximo (at most), exactamente (exactly). Por ejemplo, podríamos señalar que la relación tiene entre "Tronco" y "Brazo" se limite a 2
  • Restricciones tieneValor (hasValue restrictions): permiten especificar relaciones entre individuos de una clase y valores. Es posible utilizar elementos matemáticos que concreten esta relación. Por ejemplo, un "A4" debe cumplir la restricción de medir 297 x 210 mm. Para ello se establece que "A4" tiene dos propiedades, altura y anchura y las limitamos a 297 y 210 mm, respectivamente: "A4" hasAlturaValue some integer [=297] y "A4" hasAnchuraValue some integer [=210]
  • Restricciones de cuantificación (quantifier restrictions). Dentro de las mismas se contemplan:
    • Restricciones existenciales (existential restrictions ó some restrictions): denominadas en OWL someValuesFrom, indican que los individuos del dominio de una propiedad se relacionan con al menos un (at least one) individuo del rango. Este tipo de restricción no es excluyente, los individuos del dominio pueden relacionarse con individuos de otras clases. Así, la propiedad estudiaEn, con dominio "Universitario" y rango "Universidad" puede ser restringida con este tipo de restricción ya que un individuo de la clase "universitario" forzosamente estudiaEn algún (some) individuo de la clase "Universidad" Y, por ejemplo, en un "Instituto". Esta restricción es impositiva, ya que debe haber como mínimo, 1 relación
    • Restricciones universales (universal restrictions): definida en OWL como allValuesFrom, señalan que los individuos de cierta clase sólo se relacionan con los individuos de otra clase, por lo que excluye cualquier relación con individuos de otras clases. Así, si en el ejemplo anterior definimos estudiaEn con una restricción universal, "Universitario" sólo (only) puede relacionarse con "Universidad". Esta restricción no es impositiva, puede haber 0 ó más relaciones pero, si existen, serán sólo con los individuos del rango especificado
    • Se puede crear una restricción universal mediante un axioma de cierre (closure axiom) en una propiedad. Dicho axioma señala que una propiedad sólo puede ser satisfecha mediante la unión de dos o más restricciones existenciales definidas para esa propiedad. Por ejemplo, tenemos las clases "LibroDeTexto", "LibroDeMatemáticas", "LibroDeLengua" y "Literatura". Queremos especificar que sólo son "LibroDeTexto" los "LibroDeMatemáticas" y "LibroDeLengua". Para ello, definimos sendas restricciones existenciales "LibroDeTexto" tieneComoTipo "LibroDeMatemáticas" y "LibroDeTexto" tieneComoTipo "LibroDeLengua". Para convertir estas restricciones existenciales en una universal, debemos definir una restricción universal que las una: "LibroDeTexto" tieneComoTipo sólo ("LibroDeMatemáticas" o "LibroDeLengua")
Finalmente, en cuanto a las convenciones para nombrar elementos, en Protégé, el manual recomienda la notación CamelBack, según la cual todos los nombres de clases deben comenzar con una letra mayúscula y no debe contener espacios (PizzaTopping); los nombres de las propiedades comienzan en minúscula, sin espacios e inician las siguientes palabras con letra mayúscula (isIngredientOf).

(1) HORRIDGE, M. A Practical Guide to Building OWL Ontologies Using Protégé 4 and CO-ODE Tools Edition 1.3. Manchester: University of Manchester, 2011 (último acceso: 05/05/2016)

Derechos de autoría