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