Presentación de Trabajo de Fin de Máster PROPUESTA DE

Download Report

Transcript Presentación de Trabajo de Fin de Máster PROPUESTA DE

Presentación de Trabajo de Fin de Máster
PROPUESTA DE BÚSQUEDA SEMÁNTICA:
APLICACIÓN AL CATÁLOGO DE MAPAS,
PLANOS Y DIBUJOS DEL ARCHIVO GENERAL
DE SIMANCAS
Máster en Lenguajes y Sistemas Informáticos: Tecnologías del Lenguaje en la Web
Universidad de Educación a Distancia
Marzo 2013
Autor: José Alberto Benítez Andrades
Directora: Ana Mª García Serrano
Introducción
 Objetivos
 Plantear trabajo de investigación aplicada
 Establecer metodología de tratamiento de información estructurada
 Estado del arte, 2 perspectivas
 Tecnológica
 Teórico-práctica
 Uso de recursos de la ingeniería lingüística y RI.
 Uso de ontologías en el área de la Ingeniería del Conocimiento.
Introducción – Trabajo teórico práctico
 Se divide en
 Análisis principal del problema a resolver
 Estudio de las posibles soluciones existentes para resolver dicho problema
 Selección de la solución o soluciones
 Elección de las herramientas necesarias para aplicar dicha solución
 Desarrollo de herramientas necesarias para abarcar el problema
 Fase de aplicación de la solución: Experimentación y análisis de resultados.
Parte1: Panorama Tecnológico
 La web Semántica y la Recuperación de Información.
 Web Semántica
 Concepto, herramientas, estándares
 Definición de ontologías: Protégé
 Estándares para descripción de contenidos: RDF DC y OWL
 Método para extraer relaciones semánticas desde la Wikipedia
 Recuperación de información
 Modelos clásicos de RI
 Estándares y herramientas relacionadas con Lucene, Solr, Apache y Sparql.
 Estudio de trabajo relacionado dirigido por P.Castells.
 Sistemas pregunta-respuesta
1.Web Semántica - Introducción
 Web actual (web sintáctica)
href
href
href
href
href
href
href
href
href
1.Web Semántica - Introducción
 Problemas de la web actual que resuelve la web semántica
 No hay enlaces totales
 Escasa precisión de resultados
 Alta sensibilidad del vocabulario empleado
 Definición oficial de web semántica por Tim Berners-Lee
 “El primer paso es colocar los datos en la Web de un modo en que las
máquinas puedan entenderlos naturalmente o convertirlos a esa forma.
Esto crea lo que yo llamo la Web Semántica: una red de datos que
pueden ser procesados directa o indirectamente por máquinas”
1.Web Semántica - Introducción
 Web semántica por Tim Bernes-Lee
1.Web Semántica - Introducción
 Web semántica
 Las máquinas deben comprender el significado de la información disponible
 Web Semántica = Inteligencia Artifical
1.Web Semántica - Herramientas y estándares
 Lenguaje XML
 Personalización óptima para desarrolladores
 Ventajas frente a HTML
 Ontologías y estándares: RDF, OWL y SPARQL
 Ontología: Descripción que define formalmente relaciones entre términos.
 RDF (Resource Description Framework): modelo estándar para intercambio de
datos en la web.
 SPARQL: Lenguaje de consulta sobre RDF.
 OWL (Web Ontology Language): sobre RDF y RDF Schema y añade más
vocabulario para describir propiedades y clases.
1.Web Semántica – Herramientas de desarrollo
 Protégé
 Editor de ontologías gratuito y de código abierto
 Conjunto de herramientas para construir modelos de dominio
 Escrita en JAVA
 2 Modos de modelado
 Protégé-frames
 Protégé-OWL
1.Web Semántica – Trabajos relacionados
 Identificación de patrones léxicos => relaciones semánticas
 “Automatic Extraction of semantic relationships for Wordnet by means of pattern
learning from Wikipedia” María Ruiz-Casado, Enrique Alfonseca y Pablo Castells
(2005)
 Ontologías estructuradas como herencias de conceptos: hiponimia, hiperonimia,
meronimia y holonimia
 Nodos que representan conceptos vs nodos que representan instancias
 Extracción automática de información de un corpus:
 Sistemas basados en propiedades de distribución de palabras
 Sistemas basados en patrones de extracción y coincidencias
 Sistemas basados en el análisis de las definiciones de diccionario (extraen relaciones de
hiperionimia)
1.Web Semántica – Trabajos relacionados
 Procedimiento seguido en este trabajo de investigación relacionado:
 Rastreo de la versión de Inglés simple de la Wikipedia, coleccionando todas las
entradas, desambiguándolas y asociando cada una con relaciones
1.
Desambiguación del sentido de la entrada
2.
Extracción de patrones
3.
Generalización de patrón
4.
Identificación de nuevas relaciones
 Conclusiones a las que llegaron
 Nuevo algoritmo de generación de patrones léxicos
 Patrones encontrados automáticamente de las entradas de la Wikipedia
(permitiendo extraer relaciones de hiperonimia, hiponimia, meronimia y
holonimia)
 Precisión de patrones generados similar a los escritos a mano.
2.Recuperación de Información
 Gran cantidad de información, aparece un nuevo concepto en la
informática, la RI.
 Principales modelos existentes: Booleano, Espacio Vectorial, Probabilístico y
Booleano extendido.
2.RI: Herramientas
 Lucene
 Librería de RI escrita en JAVA
 Se ha convertido en un estándar
 Capaz de indexar y realizar búsqueda sobre cualquier conjunto de datos textual
 Aporta:
 Análisis de documento
 Indexado de documentos
 Construcción de consulta
 Ejecución de consulta
2.RI: Herramientas
 Componentes de Lucene
2.RI: Herramientas
 Apache Solr
 Plataforma de búsqueda basada en Lucene
 Características principales:
 Búsquedas de texto
 Clustering dinámico
 Manejo de documentos enriquecidos
 Es escalable, permite realizar búsquedas distribuidas y replicación de índices,
 Proporciona los datos en diferentes formatos, ventajas para el desarrollador
 Se divide en Índice y Servidor
2.RI: Herramientas
 Apache Solr - Partes
2.RI: Herramientas
 Apache Solr - Partes
2.RI: Trabajos Relacionados
 “Semantically enhanced Information Retrieval: an ontology-based
approach” – Miriam Fernández Sánchez y Pablo Castells
 Perspectiva de la RI en la búsqueda semántica, modelos:
 Taxonomías: categorías + relaciones de herencia
 Diccionarios: categorías + relaciones de herencia y asociativas (Wordnet)
 Métodos algebraicos (Latent Semantic Analysis)
 Solución al problema de la búsqueda con palabras clave: búsqueda semántica.
2.RI: Trabajos Relacionados
 Diseño de buscador semántico
2.RI: Trabajos Relacionados
 El
problema
principal:
necesidad
de
recuperar
resultados precisos cuando la
información semántica es
incompleta.
 Se
propuso
combinar
clasificaciones procedentes
de resultados basados en
ontologías.
 Esta combinación se basó en
un
algoritmo
de
normalización de puntuación.
3.Análisis del dominio: Catálogo on-line
 Estructura de las fichas del catálogo del Archivo General de Simancas (AGS)
 Poseen 8 campos, facetas:
 Fecha, Referencias, Creador, Tipo, Idiomas, Temática, Técnica Utilizada
 El primer paso: descargar las fichas en dos formatos
 Texto Plano
 RDF DC
3.Análisis del dominio: Catálogo on-line
 Web de AGS:
 http://www.mcu.es/c
cbae/es/consulta/res
ultados_busqueda.c
md?tipo_busqueda=
mapas_planos_dibujo
s&posicion=1&id=304
85
3.Análisis del dominio: Catálogo on-line
 Ejemplo de ficha
Parte 2: Trabajo realizado y experimentos
 7792 fichas obtenidas del AGS
 Necesidad de realizar un buscador semántico.
 División del trabajo para conseguir la realización de este buscador:
1. Desarrollo del entorno para la experimentación
2. Incorporación de información disponible ene l formato estándar decidido
3. Realización de tres aproximaciones de almacenamiento del catálogo
4. Descripción del esquema de trabajo planteado y finalmente realizado sobre
búsqueda semántica.
5. Generación de conjunto de preguntas y comparación entre buscador textual y
ontológico.
6. Desarrollo de buscador textual y buscador basado en facetas.
7. Comparación de aproximaciones con TRECEval. No se puedo realizar de forma
completa debido a la falta de disponibilidad de juicios de relevancia.
4.Propuestas para almacenamiento
del catálogo y gestión de la búsqueda
 El primer paso, descargar las fichas en RDF DC y texto plano
 Trabajar con Protégé: necesidad de convertir RDF DC a OWL
 Para ello, se desarrolla una herramienta (parser) que realiza esta conversión
 Búsquedas textuales: Apache Solr
 Instalación de servidor completo de Apache Solr
 Creación de dos directorios: fichas facetadas y sin facetar
 Indexación en lenguaje BASH para ambos casos
4.1.RDF DC a OWL
 Ficha en formato RDF DC
4.1.RDF DC a OWL
 Ficha en formato final OWL
4.1.RDF DC a OWL
 Parser desarrollado
4.1.RDF DC a OWL
 Se selecciona el fichero origen
 Se selecciona el fichero de destino
 Se define el nombre del objeto
 Se definen los campos identificadores
 Se agregan las propiedades
 Pulsamos convertir
4.1.RDF DC a OWL
 Ficheros obtenidos
4.2.Modelo Ontológico con Protégé
 Cargamos el fichero .owl
4.2.Modelo Ontológico con Protégé
 Entidades
4.2.Modelo Ontológico con Protégé
 Información de las entidades
4.2.Modelo Ontológico con Protégé
 Jerarquía de la ontología de forma gráfica
4.3.Modelo textual con Solr
 Una vez instalado Apache Solr, el siguiente paso es crear los directorios
donde se almacenan las fichas categorizadas por sus características y sin
categorizar, para poder hacer una comparación en la búsqueda de los
resultados en ambos casos.
 Antes de realizar la indexación, se debe eliminar del fichero los caracteres
de control que puedan provocar un fallo por parte del indexador.
4.4.Propuesta de búsqueda semántica
 Se plantearon las siguientes fases:
 Análisis del problema principal a resolver
 Estudio de las posibles soluciones existentes para resolver el problema de
búsqueda
 Selección de la solución que vamos a experimentar en este trabajo de
investigación
 Elección de las herramientas necesarias para poder aplicar la solución elegida
 Desarrollo de las herramientas necesarias para abarcar el problema
 Fase de aplicación de la solución, realizando la experimentación y analizando
los resultados obtenidos tras la prueba.
4.4.Propuesta de búsqueda semántica
 La fase de aplicación a la solución se subdividió en:
 Clasificación de consultas
 Realización de búsquedas de elementos de forma facetada y de forma textual
 Comparación de los resultados obtenidos
5.Experimentación
 Clasificación de consultas: Generación de tabla de preguntas de tipo Q-A.
 Realización de búsquedas sobre la base de datos facetada y sin facetar:
obtener y almacenar los distintos resultados obtenidos de dichas consultas
en nuestra base de datos con datos sin facetar y con datos facetados,
para así, en una última fase, poder valorar la diferencia de tiempo /
calidad de respuesta en cada uno de los casos.
 Comparación de los resultados obtenidos en ambos casos análisis y
evaluación de los resultados obtenidos en las consultas realizadas sobre la
base de datos de fichas facetadas y sin facetar.
5.1.Clasificación de consultas
5.1.Clasificación de consultas
5.1.Clasificación de consultas
5.1.Clasificación de consultas
 Equivalencia variable – DC - OWL
Variable
$TÍTULO
$FECHA
Campo a consultar en
DC
dc:title
dc:date
Campo en OWL
$AUTOR
dc:autor
Título
Fecha
Autor
$CREADOR
Dc:creator
Creador
$TEMÁTICA
Dc:subject
Temática
$SOPORTE
Dc:description
Notas
$PUBLICADOR
Dc:publisher
Publicador
$FECHA
Dc:date, DC:description
Fecha
$TIPO
Dc:type
Tipo
$IDIOMA
Dc:language
Idioma
$REFERENCIA
Dc:relation
relacionados
$CIUDAD
Dc:coverage
materia
$ÉPOCA
$PAÍS
$CONTINENTE
5.1.Clasificación de consultas
 Demostración con enlaces (ver pdf)
5.2.Búsquedas facetada y textual
 Funcionamiento de consultas Solr
 Parser semántico que traduce a lenguaje Solr.
5.2.1.Funcionamiento de consultas en
Solr
 Interfaz gráfica
 Posibilidad de url
manual de
búsqueda
 http://casa.jabenite
z.com/solr/fichasFa
cetadas/select?ind
ent=on&version=2.2
&q=titulo%3A*1952*
&fq=&start=0&rows
=10&fl=titulo%2Csc
ore&wt=&explainOt
her=&hl=on&hl.fl=tit
ulo
5.2.1.Funcionamiento de consultas en
Solr
 Versión XML
5.2.1.Funcionamiento de consultas en
Solr
 Versión JSON
 Versión PHP
5.2.1.Funcionamiento de consultas en
Solr
 Parámetros básicos de Solr:
 q (query) Especifica la consulta de búsqueda.
 fq (filter query) Permite filtrar los resultados de la búsqueda según criterios.
 sort (ordenación) Ordena de forma ascendente o descendente.
 fl (fields) Permite especificar los campos que va a devolver Solr. Por defecto *, score
 wt (writer type) Indica cuál es el procesador de salida que componga la cadena de
respuesta. por defecto wt=xml.
 Start Indica la primera fila a devolver del conjunto de elementos resultantes
(comienzo de página).
 Rows Número máximo de elementos a devolver del resultado (elementos por
página).
 omitHeader Permite obviar el elemento header en la respuesta.
5.2.2.Parser semántico que traduce
consultas a Solr
 Interfaz gráfica del buscador
5.2.2.Parser semántico que traduce
consultas a Solr
 buscadorTextual.js
 Se crea un objeto AJAX: realizará la consulta a SOLR y recibirá la respuesta en JSON
 Almacenamos los datos en una variable llamada datos_formulario
 Obtenida la cadena, asignamos la propiedad URL a nuestro objeto AJAX con el
siguiente valor:
 http://casa.jabenitez.com/solr/fichas/select?indent=on&version=2.2&q='+datos_formulario+'&f
q=&start=0&rows=7500&fl=id%2Cscore&wt=json&explainOther=&hl=on&hl.fl=titulo
 Al ser textual la respuesta no es la que deseamos
 Un ejemplo práctico: Supongamos que el usuario desea tener la siguiente
información: ¿Qué mapas fueron realizados en el año 1950 por el autor Juan
Baptista?
 En el caso de nuestro buscador semántico, recogerá la cadena de texto introducida
por el usuario y nos devolverá los resultados de buscar esa cadena completa en
nuestra base de datos, no sabiendo interpretar qué datos realmente necesita
conocer el usuario ni de dónde debe obtenerlos.
5.2.2.Parser semántico que traduce
consultas a Solr
 buscadorTextual.js
 Se crea un objeto AJAX: realizará la consulta a SOLR y recibirá la respuesta en JSON
 Almacenamos los datos en una variable llamada datos_formulario
 Obtenida la cadena, asignamos la propiedad URL a nuestro objeto AJAX con el
siguiente valor:
 http://casa.jabenitez.com/solr/fichas/select?indent=on&version=2.2&q='+datos_formulario+'&f
q=&start=0&rows=7500&fl=id%2Cscore&wt=json&explainOther=&hl=on&hl.fl=titulo
 Al ser textual la respuesta no es la que deseamos
 Un ejemplo práctico: Supongamos que el usuario desea tener la siguiente
información: ¿Qué mapas fueron realizados en el año 1950 por el autor Juan
Baptista?
 En el caso de nuestro buscador semántico, recogerá la cadena de texto introducida
por el usuario y nos devolverá los resultados de buscar esa cadena completa en
nuestra base de datos, no sabiendo interpretar qué datos realmente necesita
conocer el usuario ni de dónde debe obtenerlos.
5.2.2.Parser semántico que traduce
consultas a Solr
 buscadorSemantico.js
 Su funcionamiento posee 4 fases
1.
Teniendo en cuenta el sistema QA creado, sabemos que existen 5 tipos de pregunta
(Qué, Quién, Cómo, Dónde y Cuándo). Nuestro parser detecta en un primer análisis
qué pregunta se encuentra en la cadena insertada por el usuario.
2.
En un segundo procesado de la cadena, se analiza el objeto al que se hace
referencia: autor, mapa, obra, dibujo u otro campo.
3.
En una tercera fase, se detecta el verbo de la frase, siendo capaz de detectar a qué
campo se debe consultar de nuestras fichas facetadas.
4.
Finalmente, el objeto AJAX que habíamos creado, recibe la información en formato
JSON y la muestra por pantalla.
5.3.Comparación de los resultados obtendos en
búsquedas textuales y facetadas.
 Para poder realizar la comparación de resultados, se hace uso de la
herramienta TRECEval
 Posteriormente se aplica a nuestro caso particular y se comparan los
resultados de las búsquedas facetadas y sin facetar
 Se muestran las consultas sparql en Protégé
5.3.1.Medidas de evaluación
 Las medidas que puede calcular trec_eval son:
 num_ret: número total de documentos recuperados.
 num_rel: número total de documentos relevantes.
 num_rel_ret: número total de documentos relevantes recuperados.
 map: promedio de precisión media (Mean Average Precision, MAP). Con esta
medida se puede determinar la robustez de un sistema de recuperación.
 gmap: precisión media. La precisión se calcula después de que cada documento
relevante es recuperado. Si no se recupera un documento relevante, la precisión es
0.0. Finalmente, se hace una media de todos los valores de precisión calculados para
obtener un único valor.
 Rprec: R-Precision. Se trata de la precisión después de R (número de documentos
relevantes) documentos recuperados.
 bpref: preferencia binaria, se trata de los primeros R documentos juzgados como no
relevantes.
 recip_rank: ranking recíproco de los primeros documentos relevantes.
5.3.1.Medidas de evaluación
 ircl_prn.X: recall interpolado. Son medidas de la precisión (porcentaje de
documentos recuperados que son relevantes) en varios niveles de recall
(después de un cierto porcentaje de que todos los documentos relevantes para
una consulta hayan sido recuperados). Interpolado significa que, por ejemplo,
precisión en el recall 0.10 (después de que un 10% de los documentos relevantes
hayan sido recuperados) se toma para ser el máximo de precisión en todos los
puntos de recall mayor de .010. Estos valores se utilizan para los gráficos de
Recall-Precision. Se proporcionan valores para X=0.00, 0.10, 0.20, 0.30, 0.40, 0.50,
0.60, 0.70, 0.80, 0.90 y 1.00.
 - PX: precisión (porcentaje de documentos recuperados que son relevantes)
después de que X documentos (tanto relevantes como no relevantes) hayan
sido recuperados. Si Y documentos no se recuperan para una consulta,
entonces todos los documentos perdidos se consideran no relevantes. Se
proporcionan valores para X=5, 10, 15, 20, 30, 100, 200, 500 y 1000.
5.3.2.Resultados y comparación
 Teniendo en cuenta los diferentes buscadores que hemos obtenido tras
realizar un análisis específico de nuestro caso particular, a continuación
detallaré en una tabla los distintos resultados obtenidos de las consultas
realizadas en la base de datos de las fichas sin facetar y facetadas.
 Ver PDF página 102 a 110.
5.3.3.Consultas SPARQL en Protègè
 Ejemplo de
una de las
consultas
 Resto, ver
PDF páginas
111 a 115
6.Conclusiones y futuras líneas de
trabajo
 Tras el desarrollo de las funcionalidades básicas para la experimentación
en el corpus de prueba, el catálogo de mapas, planos y dibujos del
archivo general de Simancas, y tras la reflexión sobre el panorama
tecnológico y el estado del arte y la selección de tareas a experimentar,
podemos destacar que este Trabajo de Fin de Máster, afronta desde
diversas perspectivas, el problema de la búsqueda semántica a partir de
texto en lenguaje natural.
 La comparación entre el modelo de búsqueda textual no facetado,
facetado y ontológico (o clasificación con la ontología) nos permite
observar que para alcanzar conclusiones relevantes es necesario seguir
investigando en modelos y técnicas semánticas.
6.Conclusiones y futuras líneas de
trabajo
 Reto principal: creación de ontologías y mantenimiento de forma
automatizada.
 Enriquecimiento semántico automatizado engloba
 Creación automática de conceptos, relaciones, instancias y atributos
ontológicos.
 Instanciación semi automática: enriquecer mediante instancias una
ontología existente.
 Importancia de población de ontologías
 Necesidad de actualizaciones periódicas
 Tejido ontológico suficientemente amplio
6.Conclusiones y futuras líneas de
trabajo
 Se proponen dos metodologías para el enriquecimiento semi-automático:
 Metodología basada en la distancia contextual y ganancia de conocimiento
 Metodología basada en roles semánticos.
 Ambas abordarían la instanciación automática desde la combinación del
análisis lingüístico tradicional y las tecnologías de extracción de
conocimiento textual
6.Conclusiones y futuras líneas de
trabajo
 Propuesta 1: Método basado en distancia contextual
 Distancia contextual: distancia física que existe entre dos unidades lingüísticas
en el texto.
 Ganancia de conocimiento: conocimiento cuantitativo adquirido por el sistema
y susceptible de ser incluido en una ontología.
 En nuestro trabajo sobre el AGS se proponen 4 fases para aplicar este método:
 Fase de Procesamiento de LN y Procesamiento del Corpus
 Fase de Reconocimiento e identificación de las Entidades Nombradas
 Fase de Población de la ontología
 Verificación de la consistencia de la ontología
6.Conclusiones y futuras líneas de
trabajo
 Propuesta 2: Metodología basada en roles semánticos
 Se propone un marco de trabajo que integraría la combinación de las
ontologías de alto nivel del dominio del AGS junto con frames semánticos.
 Si tuviéramos ontología de alto nivel relacionada con el problema => podríamos
seleccionar relaciones ontológicas y definiri conjuntos de axiomas.
 La ontología resultante podría mapearse con marcos semánticos.
 El proceso de instanciación se llevaría acabo identificando entidades
nombradas en el reconocedor de entidades de AGS, convirtiendo en
candidatas a instancias de la ontología y mediante relaciones entre ellas,
recuperando una ontología AGS enriquecida.
6.Conclusiones y futuras líneas de
trabajo
 Propuesta 2: Metodología basada en roles semánticos
 Un frame conectaría dos entidades cercanas en el texto siempre y cuando
cumplan ciertos requisitos, como por ejemplo, distancia que exista entre ellas.
 Finalmente un razonador comprobaría la consistencia de la ontología.
 Además mediante el razonador se obtendrían nuevas relaciones en base a los
axiomas previamente definidos en el modelo ontológico.
 La variación del sistema se llevaría a cabo mapeando el modelo ontológico
con una ontología de dominio.
 Se evaluarían finalmente los dos aspectos del proceso de instanciación:
 Entidades nombradas
 Cantidad de relaciones ontológicas.
6.Conclusiones y futuras líneas de
trabajo
 Propuesta 2: Metodología basada en roles semánticos
 Un frame conectaría dos entidades cercanas en el texto siempre y cuando
cumplan ciertos requisitos, como por ejemplo, distancia que exista entre ellas.
 Finalmente un razonador comprobaría la consistencia de la ontología.
 Además mediante el razonador se obtendrían nuevas relaciones en base a los
axiomas previamente definidos en el modelo ontológico.
 La variación del sistema se llevaría a cabo mapeando el modelo ontológico
con una ontología de dominio.
 Se evaluarían finalmente los dos aspectos del proceso de instanciación:
 Entidades nombradas
 Cantidad de relaciones ontológicas.
6.Conclusiones y futuras líneas de
trabajo
 Otras líneas de trabajo futuro
 Importancia en el tiempo de respuesta y los resultados obtenidos en las
consultas realizadas a las fichas facetadas.
 Buscador semántico vs buscador textual
 Automatización de eliminación de stopwords
 Mejora en el algoritmo de funcionamiento del parser semántico.
 Enriquecedor semántico automatizado
AGRADECIMIENTOS