Construcción de una base de conocimientos ontológicos a partir de la base de datos de Berger Levrault Editorial

Contexto

Las ontologías se utilizan ampliamente en la recuperación de la información (RI), las preguntas/respuestas y los sistemas de apoyo a la toma de decisiones, y han ganado reconocimiento al ser consideradas la nueva respuesta a la interoperabilidad semántica en los sistemas informáticos modernos y la próxima gran solución para la representación del conocimiento. La estructuración y la gestión del conocimiento están en el centro de las preocupaciones de las comunidades científicas, y el aumento exponencial de los datos estructurados, semiestructurados y no estructurados en la Web ha convertido la adquisición automática de ontologías a partir de textos en un ámbito de investigación muy importante.

Más concretamente, una ontología puede definirse con conceptos, relaciones, jerarquías de conceptos y relaciones, y axiomas para un dominio determinado. Sin embargo, la construcción manual de grandes ontologías es extremadamente laboriosa y requiere mucho tiempo. De ahí la motivación de nuestro proyecto: la automatización del proceso de construcción de una ontología de dominio específico.

Metodología

El grupo Berger-Levrault ofrece más de 200 libros y cientos de artículos con conocimientos jurídicos y prácticos en el portal Légibases. La colección de libros es temática, parcialmente anotada y totalmente editada por Berger-Levrault y expertos.

Este portal cubre 8 dominios:

Recuento global de palabras en nuestra base de datos:

50934108

Número de palabras únicas por línea:

600349

Número de palabras únicas:

220959

Para lograr nuestro objetivo, abordamos las tareas recurriendo a herramientas de procesamiento del lenguaje natural y a técnicas de minería de datos. A continuación se muestra una figura que resume el procesamiento realizado para extraer los términos clave semánticamente cercanos de los documentos de Berger-Levrault:

Recuperación y reestructuración de datos

Como primer paso de nuestro enfoque, tomamos los Datos Brutos (RD) almacenados en nuestra base de datos SQL y realizamos una tarea de reestructuración con el fin de obtener un conjunto organizado de documentos HTML, y así poder explotar su contenido. En este punto, identificamos los términos necesarios para nuestro proceso de aprendizaje de ontologías como los términos clave anotados por los expertos en cada párrafo de cada documento. El resultado es un conjunto de 172 documentos HTML en lengua francesa publicados por el Grupo Berger-Levrault con 8 Legibases: artículos jurídicos que contienen menciones relativas a uno de los 8 ámbitos del sector público (Estado Civil y Cementerios, Elecciones, Contratación Pública, Urbanismo, Contabilidad y Finanzas Locales, RRHH Territorial, Justicia, Sanidad).

Preprocesamiento y normalización

Una vez obtenido el formato requerido, ponemos en marcha el pipeline de preprocesamiento que es el siguiente

Para preparar el contenido del texto para el entrenamiento de los embeddings, generamos un archivo de texto crudo, a partir de documentos HTML, que contiene una frase por línea con palabras clave unificadas (misma representación).

Construcción de modelos

Ahora que tenemos un archivo de texto normalizado, podemos lanzar el entrenamiento del modelo BERT de comprensión del lenguaje natural de última generación sobre nuestro archivo de texto utilizando la infraestructura de Amazon Web Services (Sagemaker + S3). Para lograr este propósito, pasamos por los siguientes pasos :

Al final de este paso, tenemos nuestro modelo Bert entrenado en nuestro corpus desde cero que podemos utilizar para la generación de la incrustación de palabras.

Características de la extracción

Hay un conjunto de opciones disponibles para ejecutar el modelo BERT con Pytorch y Tensorflow. Pero para facilitar la ejecución de nuestro modelo, nos decantamos por Bert-as-a-service : una librería de Python que nos permite desplegar modelos BERT preentrenados en nuestra máquina local y ejecutar la inferencia.

Ejecutamos un script en Python desde el que utilizamos el servicio BERT para codificar nuestras palabras en la incrustación de palabras. Para ello, sólo tenemos que importar la biblioteca BERT-client y crear una instancia de la clase cliente. Una vez hecho esto, podemos alimentar la lista de palabras o frases que queremos codificar.

Ahora que tenemos los vectores de cada palabra de nuestro archivo de texto, utilizaremos la implementación de scikit-learn de la similitud del coseno entre la incrustación de palabras para ayudar a determinar lo cerca que están relacionadas.

A continuación, se presenta un resumen de la distribución de frecuencias de algunos términos presentes en nuestra base editorial:

Después de obtener las puntuaciones de similitud del coseno entre dos términos dados, construimos un archivo CSV que contiene los 100 términos clave más frecuentes en nuestra base editorial, sus 50 palabras más cercanas, así como sus puntuaciones de similitud. La figura siguiente muestra los 100 términos más frecuentes:

A continuación, el archivo se presenta como entrada para crear el siguiente gráfico etiquetado que representa las dependencias semánticas obtenidas de los pasos anteriores:

A continuación, las características más importantes del gráfico:

Número total de palabras clave 130269
Nombre de los términos más pertinentes 100
La puntuación más alta 0.9528004
La puntuación más baja 0.4424540
Número de términos singulares 60
Nombre de los términos compuestos 40

Cifras clave del gráfico

PERSPECTIVA

Recordamos que presentamos aquí el primer trabajo que realizamos para el estudio del corpus de la base editorial y que la continuación de este trabajo nos llevará a aplicar técnicas de extracción de conceptos y relaciones utilizando diferentes niveles de análisis, a saber: nivel lingüístico, estadístico y semántico, y el entrenamiento de un clasificador como herramienta de predicción de conceptos.

Más ...

Ir arriba