El aprendizaje de ontologías (extracción de ontologías, generación de ontologías o adquisición de ontologías) consiste en la creación automática o semiautomática de ontologías, lo que incluye extraer los términos del dominio correspondiente y las relaciones entre los conceptos que estos términos representan a partir de un corpus de texto en lenguaje natural, y codificarlos con un lenguaje ontológico para facilitar su recuperación. Dado que la creación manual de ontologías requiere mucho trabajo y tiempo, existe una gran motivación para automatizar el proceso.
Normalmente, el proceso comienza con la extracción de términos y conceptos o frases sustantivas a partir de textos sin formato mediante procesadores lingüísticos como el etiquetado de partes del discurso y la fragmentación de frases. A continuación, se utilizan técnicas estadísticas[1] o simbólicas[2][3] para extraer características de relación, a menudo basadas en técnicas de extracción de hiperónimos basadas en patrones[4] o definiciones.[5]
El aprendizaje de ontologías (en inglés: ontology learning, OL) se utiliza para extraer (semi)automáticamente ontologías completas a partir de texto en lenguaje natural.[6][7] El proceso suele dividirse en las ocho tareas siguientes, que no necesariamente se aplican todas en todos los sistemas de aprendizaje de ontologías.
Durante el paso de extracción de terminología del dominio, se extraen términos específicos del dominio, que se utilizan en el siguiente paso (descubrimiento de conceptos) para derivar conceptos. Los términos relevantes pueden determinarse, por ejemplo, calculando los valores TF/IDF o aplicando el método del valor-C / valor-NC. La lista de términos resultante debe ser filtrada por un experto en la materia. En el paso siguiente, de forma similar a la resolución de coreferencias en la extracción de información, el sistema OL determina los sinónimos, ya que comparten el mismo significado y, por tanto, corresponden al mismo concepto. Para ello, los métodos más habituales son la agrupación y la aplicación de medidas estadísticas de similitud.
En la fase de descubrimiento de conceptos, los términos se agrupan en unidades portadoras de significado, que corresponden a una abstracción del mundo y, por tanto, a conceptos. Los términos agrupados son estos términos específicos del dominio y sus sinónimos, que se identificaron en el paso de extracción de la terminología del dominio.
En el paso de derivación de la jerarquía de conceptos, el sistema OL intenta ordenar los conceptos extraídos en una estructura taxonómica. Esto se consigue principalmente con métodos no supervisados de agrupación jerárquica. Dado que el resultado de estos métodos suele ser impreciso, se añade un paso de supervisión, por ejemplo, la evaluación del usuario. Otro método para derivar una jerarquía de conceptos consiste en utilizar varios patrones que indiquen una relación de sub o supersunción. Patrones como "X, que es un Y" o "X es un Y" indican que X es una subclase de Y. Estos patrones pueden analizarse de forma eficiente, pero a menudo son demasiado infrecuentes como para extraer suficientes relaciones de sub o supersunción. En su lugar, se desarrollan métodos de bootstrapping, que aprenden estos patrones automáticamente y garantizan así una cobertura más amplia.
En la etapa de aprendizaje de relaciones no taxonómicas, se extraen relaciones que no expresan ninguna sub-suposición ni supersuposición. Tales relaciones son, por ejemplo, las de trabajo o las de localización. Existen dos enfoques comunes para resolver esta subtarea. El primero se basa en la extracción de asociaciones anónimas, que se nombran adecuadamente en un segundo paso. El segundo enfoque extrae verbos, que indican una relación entre entidades, representados por las palabras que los rodean. El resultado de ambos enfoques debe ser evaluado por un ontólogo para garantizar su precisión.
Durante el descubrimiento de reglas,[8] se generan axiomas (descripción formal de conceptos) para los conceptos extraídos. Esto puede hacerse, por ejemplo, analizando la estructura sintáctica de una definición en lenguaje natural y aplicando reglas de transformación al árbol de dependencia resultante. El resultado de este proceso es una lista de axiomas que, posteriormente, se comprenden en una descripción de concepto. Este resultado es evaluado por un ontólogo.
En este paso, la ontología se completa con instancias de conceptos y propiedades. Para añadir instancias de conceptos se utilizan métodos basados en la concordancia de patrones léxico-sintácticos. Las instancias de propiedades se añaden mediante la aplicación de métodos de bootstrapping, que recopilan tuplas de relaciones.
En este paso, el sistema OL intenta ampliar la estructura taxonómica de una ontología existente con más conceptos. Esto puede realizarse de forma supervisada con un clasificador entrenado o de forma no supervisada mediante la aplicación de medidas de similitud.
Durante la detección de marcos y eventos, el sistema OL intenta extraer relaciones complejas del texto, por ejemplo, quién partió de dónde, a qué lugar y cuándo. Los enfoques van desde la aplicación de SVM con métodos kernel hasta el etiquetado semántico de roles (en inglés: semantic role labeling, SRL),[9] pasando por técnicas de análisis semántico profundo.[10]
Dog4Dag (Dresden Ontology Generator for Directed Acyclic Graphs) es un plugin de generación de ontologías para Protégé 4.1 y OBOEdit 2.1. Permite la generación de términos, la generación de pares, la generación de definiciones y la inducción de relaciones. Integrado en Protégé 4.1 y OBO-Edit 2.1, DOG4DAG permite la extensión ontológica para todos los formatos ontológicos comunes (por ejemplo, OWL y OBO). Limitado en gran medida a las extensiones de los servicios de búsqueda de EBI y Bio Portal.[11]