Estudio y Caso práctico para el análsis de los sistemas de

Transcription

Estudio y Caso práctico para el análsis de los sistemas de
ESTUDIO Y CASO PRÁCTICO PARA EL ANÁLISIS DE
SISTEMAS DE RESPUESTA AUTOMÁTICA
(QUESTION ANSWERING)
David Celaá Morales
David Aparicio Escribano
Universidad Carlos III
Universidad Carlos III
[email protected]
[email protected]
ABSTRACT
El presente estudio se centra en la investigación de las técnicas
y estrategias que se emplean actualmente en los sistemas de
respuesta automática, más conocidos por su denominación
inglesa Question Answering (QA), disciplina que forma parte
de la Ingeniería Lingüística (rama de la Inteligencia Artificial
encargada del estudio y procesado del lenguaje natural) en
la que se diseñan sistemas capaces de interpretar preguntas
que realizan los usuarios, para buscar los documentos
relacionados, extraer la información solicitada y devolver una
respuesta completa.
seleccionando, obtienen la mejor (en la mayoría de los casos) de
las respuestas, o la información que buscaban para satisfacer su
dilema.
Los sistemas de búsqueda de respuesta (en adelante QA,
Question Answering) hacen prácticamente lo mismo que los
usuarios anteriormente citados. Como si de una persona se
tratara, realizan una consulta, buscan la información y
seleccionan la respuesta adecuada.
2.2 Arquitectura de un sistema de respuesta
automática
Comúnmente los sistemas QA presentan una arquitectura tipo:
Para complementar este estudio se ha decidió realizar un caso
práctico y evaluado los resultados.
Palabras Clave
Sistema Question Answering, Recuperación de Información,
Respuesta Automática, Procesamiento del Lenguaje Natural.
¿?
1. INTRODUCCIÓN
Brevemente, este estudio pretende adentrarse en las actuales
técnicas de procesamiento del lenguaje natural que se usan para
los sistemas de respuesta automática. Para ello, intenta tocar
todos los campos posibles sin especializarse en ninguno pero si
lo suficiente para aclarar todo lo referente a estos sistemas.
Como se ha comentado, el
estudio lleva consigo la
implementación de un caso práctico con el que se pretende
aprender y analizar las técnicas que brevemente se explican a
continuación.
2. SISTEMAS DE RESPUESTA
AUTOMÁTICA
2.1 ¿Qué es la búsqueda de respuestas?
Más allá de aspectos filosóficos, la búsqueda de respuestas no
es más que cubrir una necesidad, es decir, dar solución a un
problema, y en este caso es tan sencillo como responder.
El problema más importante en responder es la información de
la que se dispone. Es sencillo responder a una pregunta si se
dispone de la información adecuada y evidentemente, si no se
dispone de esta información es complicado responderla (por
mucho que se invente o improvise la respuesta). Por esta misma
razón se podría decir que no existen preguntas sin respuesta, si
no, falta de información.
Típicamente, los usuarios de los ordenadores, realizan consultas
en buscadores para obtener la información necesaria para
satisfacer sus preguntas. Primeramente obtienen una lista de
enlaces e información y después, tras un tiempo leyendo y
ANÁLISIS DE
LA
PREGUNTA
BÚSQUEDA
DE
INFORMACIÓN
EXTRACCIÓN
DE
LA
RESPUESTA
Figura 1. Arquitectura típica de un Sistema QA
Análisis de la Pregunta: Esta parte se encarga de transformar
una consulta a la forma correspondiente para que sea
“entendible” por la máquina. Para ello se utilizan herramientas
del Procesamiento del Lenguaje Natural donde además de hacer
entendible la consulta, se categoriza, se analiza
morfológicamente, etc... En definitiva se extrae la suficiente
cantidad de información para que el sistema sea más eficiente.
Búsqueda de Información: Es típico en los sistemas QA
disponer de un sistema de de Recuperación de Información de
texto (documentos, párrafos...), que devuelva una colección de
documentos importantes y relevantes relacionada con la cadena
introducida.
3. LA FUENTE DE INFORMACIÓN
Extracción de la Respuesta: Tras obtener una lista de
documentos o texto relevante se ha de procederá a la elección
de la mejor respuesta y por supuesto extraerla. Para elegir la
mejor respuesta existen diferentes métodos.
La información a la que tiene acceso un usuario en internet,
periódicos, libros, etc... puede ser correcta o incorrecta, y es el
propio usuario quien se encarga de comprobar si es verídica o
no por sus propias fuentes, argumentos u otros. Por contra, un
sistema QA debe tener la información lo más verídica y objetiva
posible, ya que, en caso de no ser fiable su información,
responderá incorrectamente.
2.3 Características de los sistemas QA
Estas características fueron fijadas en el 20021[2]:
Exactitud: El sistema debe ser todo lo exacto que pueda.
“Usabilidad”: Ha de responder de la manera más fiel al formato
de la pregunta.
Independiente en tiempo: Ha de dar respuesta a preguntas
actuales y recientes.
Relevancia: Debe dar respuestas relevantes y si no es posible
debe consultar la usuario.
Respuesta Completa: La respuesta ha de ser lo más completa
posible aun siendo necesario la unión de frases que quizás están
en distintos documentos.
2.4 Desarrollo mundial y tipos de sistemas
Hoy día existen diferentes grupos en todo el mundo que
investigan sobre los sistemas QA. En Estados unidos, en 1992,
nació el TREC (Text REtrieval Conference)2 con el fin de crear
una comunidad de investigadores en sistemas de recuperación
de Información.
En Europa existe el CLEF(Cross-Languge Evaluation Forum)3
con los mismos objetivos pero haciendo más hincapié en la
diversidad de las lenguas.
Desde la creación de estos dos organismos los Sistemas QA
mejoran año a año, el número de investigadores y
desarrolladores aumenta y a la vez el número de países
implicados.
Gracias en gran medida a CLEF, se ha aumentado el interés de
otros sistemas QA como pueden ser los sistemas bilingües o
multilingües.
Es evidente que estos sistemas requieren de técnicas de
traducción y de otras medidas de procesamiento que no se van a
tratar en el presente artículo.
Actualmente existe algunos sistemas QA en funcionamiento
(entre otros):
-
START, Natural Languaje Question Answering
Sistem4
-
AnswerBus5
-
Answer.com6
1
Issues, Tasks and Program Structures to Roadmap Research in
Question & Answering (Q & A)
2
TREC [Ver: http://trec.nist.gov/]
3
CLEF [Ver: http://clef.isti.cnr.it/]
4
Ver [http://start.csail.mit.edu/]
5
Ver [http://www.answerbus.com/index.shtml]
6
Ver [http://www.answers.com/bb/]
La fuente de información de un sistema QA es, quizás, la
elección más delicada, puesto que va a condicionar todo el
sistema.
Análogamente, el tamaño o cantidad de documentos y de
artículos de diferentes temas, hace que un sistema QA tenga
mas posibilidades de encontrar una respuesta. Gracias a que hoy
día las limitaciones físicas, por suerte, no son un gran problema
en el mundo de la informática, los sistemas QA pueden procesar
una cantidad asombrosa de datos y por lo tanto tratar fuentes de
información de tamaños realmente extensas.
Por otra parte, la información ha de ser dinámica, en constante
actualización para que día a día los usuarios tengan acceso a
más y más información. Como ocurre con las personas, un
sistema QA debe tener las noticias del día, argumentos
novedosos y en general datos recientes con los que poder
responder a preguntas nuevas y de actualidad.
Cuando estas tres características se unen, fiabilidad, tamaño y
dinamismo, y se consigue una fuente de información que
cumpla las tres a la perfección, se podría decir que ésta fuente
sería la elegida por todos los sistemas QA y en general por
cualquier usuario.
3.1 Wikipedia
Wikipedia7 es una enciclopedia libre multilingüe, a la que se
accede a través de Internet, lo que permite que se actualice de
una manera peculiar siendo esta actualización una de sus
características más curiosas e importantes. Y es que cualquier
persona, que se haya registrado previamente, es capaz de editar
un artículo o crear uno nuevo (siempre bajo la revisión de
colaboradores para evitar el mal uso de esta funcionalidad). De
este modo la enciclopedia va aunando los conocimientos de los
internautas que se atrevan a plasmar sus conocimientos en
formato electrónico.
Actualmente Wikipedia cuenta con más de 7.063.168 artículos
en los 253 idiomas8, y estas cifras son solamente las actuales, ya
que probablemente cuando se lea este escrito, estas cifras ya
hayan aumentado, ya que cada día las nuevas tecnologías están
más metidas en nuestro día a día, y las personas, cada vez en
más número, se inclinan hacia estas nuevas tendencias, cuyo
objetivo es simplificar y facilitar las tareas realizadas por los
seres humanos.
7
Wikipedia, La enciclopedia libre. [Ver:
http://www.wikipedia.org/]
8
Véase [http://es.wikipedia.org/wiki/Wikipedia]
4.1 Segmentación:
Para poder tratar a cada palabra como una entidad propia y así
poder categorizarla previamente se ha de hacer este paso que
consiste en la división de los artículos en fragmentos y palabras.
4.2 Análisis Morfológico:
El análisis morfológico consiste en determinar la forma, clase o
categoría gramatical de cada palabra de una oración.
Un ejemplo9 es el siguiente (Freeling [1]):
Figura 2. Logo de Wikipedia
Quizás el motivo más relevante para que Wikipedia sea tan
importante en tan poco tiempo, puede ser a que ya son muchos
los que prefieren buscar en Internet en vez de consultar en una
gran enciclopedia de 10 tomos.
4. PROCESADO DE LA INFORMACIÓN
Típicamente los Sistemas QA procesan la información antes de
indexarla.
Los procesos a los que se somete normalmente la información
son parecidos a los que se estudiarán en el siguiente apartado,
ya que este procesamiento ha de tener concordancia con el
análisis de la pregunta.
El siguiente esquema representa un proceso típico:
Información
Segmentación
Figura 4. Ejemplo de Análisis Morfológico, FeeLing
4.3 Detección de Entidades:
Algunos sistemas y herramientas del procesamiento del
lenguaje natural son capaces de detectar entidades tipo fechas,
ciudades, etc.
Esto ayuda bastante ya que permite procesar datos en otros
formatos.
4.4 Etiquetado:
El etiquetado consiste en asignar una marca formada por cifras
y letras en las que se indica la categoría gramatical, género,
número, persona, tiempo, modo…
Análisis Morfológico
Un papel muy importante juega la desambiguación, Jesús
Fernández [4] explica:
Detección de entidades
Etiquetado
Figura 5. Ejemplo de desambiguación en Freeling
Análisis sintáctico
Información procesada
Figura 3. Procesado típico.
“El caso más significativo de este ejemplo es la palabra ‘mesa’
… podrá comprobar que se atribuía mayor probabilidad a la o
pción de que su lema fuera “mesa”, perteneciendo a la categorí
a de nombre común; sin embargo, tras realizar este análisis, es
elegido como lema “mesar”, al ser etiquetada la palabra como
verbo principal de la oración (VM...).”10
9
Freeling 1.5 [Ver:
http://garraf.epsevg.upc.es/freeling/demo.php]
10
Sistema de Question Answering basado en Wikipedia.
4.5 Análisis Sintáctico:
El paso último es el análisis sintáctico. De todos los niveles de
análisis, la sintaxis ha sido durante mucho tiempo y aún sigue
siendo el nivel al que la lingüística le ha prestado mayor
atención. Esta casi exclusiva atención se justifica por dos
razones principales en cuanto al tratamiento automático del
lenguaje natural (Rich & Knight 1994 [5]):
1.El procesamiento semántico funciona sobre los constituyentes
de la oración. Si no existe un paso de análisis sintáctico, el
sistema semántico debe identificar sus propios constituyentes.
Por otro lado, si se realiza un análisis sintáctico, se restringe
enormemente el número de constituyentes a considerar por el
semántico, mucho más complejo y menos fiable. El análisis
sintáctico es mucho menos costoso computacionalmente
hablando que el análisis semántico (que requiere inferencias
importantes). Por tanto, la existencia de un análisis sintáctico
conlleva un considerable ahorro de recursos y una disminución
de la complejidad del sistema.
2.Aunque frecuentemente se puede extraer el significado de una
oración sin usar hechos gramaticales, no siempre es posible
hacerlo.
La sintaxis contempla dos modos diferentes, pero no por ello
opuestos, de análisis. El primero es el análisis de constituyentes
o análisis de estructura de frase: la estructuración de las
oraciones en sus partes constituyentes y la categorización de
estas partes como nominales, verbales, adjetivales, etc. El
segundo es el análisis de las relaciones o funciones
gramaticales: la asignación de relacionales gramaticales tales
como Sujeto, Objeto, etc.
Se podrán definir típicamente como los más relevantes los
siguientes tipos de preguntas11:
Si / No
Son aquellas preguntas que esperan una contestación de forma
"booleana", si/no, verdadero/falso... Suelen ser las más sencillas
de tratar y su evaluación es prácticamente trivial. No son
preguntas muy frecuentes en los usuarios.
Concretas
Cuando un usuario quiere saber dónde se encuentra el edificio
más grande del mundo, podría, preguntárselo como: ¿Dónde
está el edificio más grande del mundo?. Lo que el usuario busca
es un dato en concreto, un país, una ciudad, en definitiva un
lugar. Estas preguntas son relativamente fáciles de categorizar
ya que, el usuario deja claro que quiere algo en concreto
ayudando a esta categorización y a su vez, de manera implícita
a la acotación del campo de búsqueda.
Listas
Típicamente, lo que el usuario quiere saber, es el resultado de la
unión de un número de datos concretos, por ejemplo: ¿Qué
países forman parte de la OTAN? . El usuario, claramente, esta
pidiendo una lista de países. Este tipo de preguntas suelen ser
bastante problemáticas debido a que, el sistema, nunca puede
saber la cardinalidad de la misma, no podría tampoco, saber si
existen contradicciones.
Definiciones
Son preguntas normalmente sencillas de identificar y
categorizar. Por contra, son bastante difíciles de responder. El
cómo seleccionar una respuesta adecuada es quizás la parte más
compleja de estas preguntas.
4.6 Indexado:
¿Qué es la vida?
Una vez procesada la información es necesario indexarla. Esta
parte será explicada más adelante.
Los aspectos filosóficos, científicos, ideológicos, etc, así como
el tipo de usuario (experto, casual, periodista, etc...) juegan un
papel que para el sistema es imposible de comprobar. Por otra
parte, la tarea de escoger una parte de un articulo como
definición de algo, es más que compleja.
5. ANALISIS DE LA PREGUNTA
El análisis de la pregunta es quizás la parte más importante del
sistema, lo que pretende este bloque es aumentar las
posibilidades de encontrar la respuesta, para ello se utilizan
distintas metodologías. En este estudio se han analizado las
siguientes:
5.1 El etiquetado de la pregunta:
Típicamente, el primer paso en los sistemas QA, para analizar la
pregunta es hacer una segmentación, identificando
morfológicamente las palabras de la consulta. Esto ayuda a
elegir las palabras que se van a buscar ya que es muy común dar
más importancia a un nombre que a una preposición.
5.2 El tipo de la pregunta:
Preguntas Resumen
Típicamente la respuesta a estas preguntas esta oculta en varios
documento, por ejemplo: ¿Qué se dijo sobre el avance del SIDA
en el continente Africano, en la última Conferencia Mundial
Contra el SIDA?'
Para poder contestar a esta pregunta haría falta, posiblemente,
obtener datos de varios artículos, o generar un resumen. Podría
decirse, que respondiendo con una lista de datos (en este caso,
frases sobre el VIH) el usuario obtendría su respuesta.
Preguntas de Contexto
Cuando dos personas entablan conversación, es frecuente que se
hagan preguntas tipo: ¿Quien es el ministro de exteriores?
Una buena clasificación de la pregunta ayudará a acotar el
campo de búsqueda de la respuesta, centrando así en la
categoría semántica de la respuesta y ayudando, por lo tanto, a
"intuir" la respuesta esperada.
Es evidente que la respuesta varía con el contexto, en este caso
depende del país. En este tipo de preguntas es necesario
mantener éste contexto para poder responder adecuadamente.
Ésta medida ayuda de manera significativa a la funcionalidad de
los sistemas de respuesta automática, no obstante, la cantidad de
tipos de preguntas puede llegar a ser muy elevada. Este
problema originó en el estudio del llamado "foco" del que más
tarde se hablará.
Cuando un grupo de personas entablan conversación sobre un
tema, todas las preguntas obtienen un contexto implícito que un
sistema QA no puede obtener, es decir. Si dos personas hablan
sobre el grupo musical Rage Againts The Machine y la pregunta
es: ¿Cuando sacaron su último disco?
Preguntas en Temas Específicos
11
Clasificación definida por Diego Mollá [3]
Evidentemente un sistema QA no puede dar una respuesta
correcta a dicha pregunta, es más, ni si quiera es capaz de dar
una respuesta, ya que no sabe de que se esta hablando, es decir,
no conoce el tema ni el contexto de la pregunta.
Preguntas Abiertas
Al igual que las definiciones, este tipo de preguntas son
bastante complejas.
Son preguntas tipo, ¿cómo?, ¿por qué?... A la pregunta: ¿Como
realizar un estudio sobre Procesamiento de Lenguaje Natural?
El sistema deberá recopilar listas de datos de diferentes
documentos y generar un único documento automáticamente
mediante técnicas de generación de textos.
5.3 El Foco
El foco es una palabra o conjunto de palabras que toma especial
relevancia dentro de un contexto y que esta directamente
relacionada con el tipo de respuesta. La siguiente pregunta se
podría analizar:
¿Cuántos libros ha escrito Eduardo Mendoza?
Tipo de pregunta: Cuantos/as
Entidad de la respuesta: <cantidad>
Foco: libros
Es evidente que la respuesta será algo del tipo <cantidad>
<libros>, es decir, que aun teniendo el mismo tipo de pregunta,
ahora se exige que esa cantidad sea de un tipo concreto (libros).
5.4 La Expansión de la consulta:
Uno de los problemas más importantes en estos sistemas es que,
es muy común que las preguntas realizadas por el usuario no
encajen con los documentos que se dispone.
Para solucionar este problema existen métodos de expansión de
la búsqueda, se podría decir que los actuales métodos son:
el singular y el plural de un sustantivo en el singular; el
masculino y el femenino de un adjetivo en el masculino.
Con esto se consigue identificar familias de palabras para
considerarlas como una sola. Es un dato muy importante para la
búsqueda de información ya que se consigue hacer
independiente la búsqueda de tiempos verbales y otros.
5.4.3 La Reformulación de la pregunta:
Una vez más es importante destacar que, cuanto más preguntas
de distinto modo se tenga es más fácil encontrar la respuesta,
para ello existe la posibilidad de la reformulación, obteniendo
así plantillas con nuevas preguntas. Un ejemplo para explicarlo
puede ser:
P: ¿Quién mato a Kennedy?
R1: <alguien> mató a Kennedy.
R2: <alguien> fue el asesino de Kennedy.
R3: Kennedy fue asesinado por <alguien>.
R4: <alguien> es el asesino de Kennedy.
6. BUSQUEDA DE INFORMACION
La búsqueda de información se ha de realizar tras haber
analizado la pregunta y extraído los elementos útiles para la
búsqueda y por lo tanto para una correcta, y lo más posible
completa, respuesta.
Una vez se tienen estos elementos, se han de utilizar índices
para una eficiencia mayor a la hora de buscar, ya que al poder
tratarse de grandísimos volúmenes de información, una de las
mayores preocupaciones deberá ser la optimización de tiempo
de respuesta.
palabra1 AND palabra2
5.4.1 Expansión por Sinónimos y palabras “vacías”
Como es lógico un programa no solamente puede esperar que el
usuario introduzca la palabra justa con la que se tiene definida
en el sistema de información, el dato en cuestión.
Para intentar “entender” mejor la pregunta que se le ha
realizado se utiliza la expansión de sinónimos que se ejecuta
sobre las palabras que no son vacías ( que no aportan “ningún”
significado a la frase), añadiendo los sinónimos de estas
palabras a la consulta hará en el índice. Así hay más posibilidad
de contestar adecuadamente a la pregunta, ya que en un buen
programa que utilice análisis sintáctico podrá definir cada parte
de la frase, y utilizar la acepción correspondiente en cada caso,
ya que una palabra dependiendo del contexto puede tener
significados totalmente distintos.
Las palabras vacías mencionadas anteriormente pueden variar
mucho, dependiendo sobre todo de la funcionalidad
implementada, así para un programa sin análisis sintáctico o
morfológico, los determinantes como “el” o “una” podrían ser
eliminados puesto que serán elementos a descartar siendo
analizados solo los sustantivos y el tipo de pregunta.
5.4.2 Lematización:
Lematizar consiste en la reducción de las diferentes formas
flexivas de una palabra a la forma canónica, su lema, es decir
reagrupar las distintas inflexiones de un verbo en el infinitivo;
Índice
Respuesta
Búsqueda en la
Base de Datos
Figura 6. Esquema de Consultas
El uso de estos índices es simple, se comprueba que las palabras
están en el índice y si aparecen, en cada una de las entradas hay
un campo que indica donde se encuentran las coincidencias.
Tras encontrar las coincidencias y extraídas las frases, artículos
o documentos, es necesario pasar al siguiente módulo para
ponderar y valorar todos los fragmentos encontrados y así poder
decidir cual es el que representa la respuesta más adecuada.
7. EXTRACCIÓN DE LA RESPUESTA
Ahora es necesario obtener la respuesta correcta, esto no es una
cuestión trivial y actualmente existen muchas maneras de
realizarlo.
8. IMPLEMENTACIÓN DE UNA
APLICACIÓN PARA EL ESTUDIO DE
SISTEMAS QUESTION ANSWERING
Típicamente los sistemas siguen el siguiente esquema:
Se ha optado por implementar un “mini” sistema para realizar
pruebas y hacer estudios sobre los resultados obtenidos tras
probar diferentes metodologías.
7.1: Selección de frases relevantes:
8.1 El Sistema
Una vez que se tiene toda una lista de frases es necesario
eliminar aquellas que no contengan ninguna palabra o expresión
de la consulta.
El programa implementado en cuestión se trata de un sistema de
respuesta automática que analizará la pregunta introducida por
el usuario mediante un interfaz Web, programado en PHP12 y
HTML13.
El dominio de las preguntas serán las ciudades españolas y la
fuente de información será Wikipedia donde se encuentran
recogidas, en un archivo, alrededor de unas 7000 ciudades, y la
información relacionada con ellas.
Las preguntas tipo para este sistema serán algunas como por
ejemplo “¿Cuál es el código postal de Barcelona?”
7.2: Selección de frases candidatas a
respuestas:
Aquellas frases que han pasado el primer filtrado, son ahora
categorizadas semánticamente, etiquetadas y analizadas junto a
la pregunta par comprobar su similitud en cuanto a
concordancia.
7.3 Eliminación-unión de frases similares:
8.2 Arquitectura del Sistema
Tras el filtro anterior, ahora se procede a eliminar-unir las frases
similares, por ejemplo: “un millón” y “1.000.000.
Como es normal en estos sistemas, mantiene la arquitectura
típica:
7.4 Cálculo de la frase más relevante:
8.2.1 Procesado de Información
Existen muchos métodos de puntuar las respuestas obtenidas en
este paso, normalmente queda a gusto del desarrollador. Es
evidente que esto solo se usa para complementar.
La elección fue Wikipedia de la que se extrajeron todos los
artículos de ciudades españolas.
Wikipedia es fácil de tratar debido a su estructura simple.
Todos los artículos están en un único documento y muy bien
definidos
La sintaxis de un artículo de Wikipedia es la siguiente:
Lista de
Frases
Relevantes
<page>
Frases
<title>[...]</title>
<id> [...] </id>
Frases eliminadas
No similares
Candidatas
[...](otras etiquetas de la página)
<text>
[...] (contenido)
</text>
Frases
</revision>
Frases
</page>
Técnicas
propias
En el caso estudiado solamente, se procesó la información de
las ciudades españolas, estas ciudades corresponde con:
{{Infobox ciudad España
| atributo 1 = valor_atributo 1
[...]
| atributo n = valor_atributo n
}}
Respuesta
12
PHP es un acrónimo de “PHP: Hypertext Preprocessor”.
Lenguaje de código abierto que puede ser embebido en páginas
HTML (típicas páginas web) y que se ejecuta en el servidor.
[Ver: http://www.php.net/]
Figura 7. Pasos de la Extracción de la Respuesta
13
HTML es un acrónimo de “Hyper Text Markup
Language”, [Ver: http://es.wikipedia.org/wiki/HTML]
Tras extraer la información, el sistema (parte que se realiza a la
hora de mostrar la respuesta) limpia el resto de gramática de
Wikipedia (paréntesis, imágenes, etc).
La información es guardada en un fichero por cada ciudad
encontrada.
A su vez se realiza un índice de todas las ciudades encontradas,
dicho índice tomará un papel importante en el análisis de la
pregunta.
Queda patente que no se han utilizado ninguna de las técnicas
estudiadas sobre el procesamiento de la información. De aquí se
derivan muchos de los problemas que se expondrán más
adelante.
8.2.2 Análisis de la pregunta
El análisis de la de este sistema se caracteriza por buscar un
foco específico, es decir, el sistema busca una ciudad concreta
en la pregunta, para después buscar frases sobre esta ciudad.
Esto hace que el sistema sea capaz de responder a preguntas
tipo ¿cual el es gentilicio de Madrid? mientras que es imposible
que responda a ¿de donde son los Matritenses? ya que no
encuentra ningún nombre de ciudad.
No obstante este módulo si dispone de la expansión por
sinónimos ayudando a la búsqueda.
Figura 8. Ejemplo de respuesta
8.3.2 Expansión por sinónimos
8.2.3 Búsqueda de la respuesta
Como se ha comentado, inicialmente se basa en el foco (en la
ciudad) donde el sistema busca dicha ciudad en el índice, para
después, tras encontrar esta ciudad proceder a buscar la
información relativa a la pregunta.
El sistema busca las palabras y si no las encuentra procede a la
expansión por sinónimos.
8.2.4 Extracción de la respuesta
Este sistema tiene una extracción trivial ya que, el formato de
información es atributo1 = respuesta1, de esta manera no hace
falta ponderar las respuestas.
Queda bastante claro que este sistema solo es capaz de
responder a preguntas donde la consulta disponga de palabras
claves que sean atributoN (o sinónimos de la misma).
Siendo así, queda patente que el sistema nunca podrá responder
a preguntas como ¿que ciudades tienen por población más de 1
millón de personas? ya que la pregunta no indica un atributo
sino una respuesta.
8.3 Contestando a Preguntas:
A continuación se van a estudiar tres casos simples14:
Figura 9. Ejemplo de respuesta con expansión por sinónimos
Claramente el sistema responde ante preguntas que necesitan de
sinónimos.
Un dato a tener en cuenta es la lentitud que conlleva realizar la
expansión por sinónimos.
8.3.1 Respuesta Correcta:
Como se puede observar, el sistema responde correctamente
ante preguntas tan simples como esta.
Es importante advertir que las palabras que se están haciendo en
la pregunta son exactamente las que se va a encontrar en la
fuente de información, de ahí que el sistema conteste sin ningún
problema.
14
Para acceder a este programa
[http://plato.it.uc3m.es/~daparicio/IRC/buscainfo.php]
Únicamente estará disponible a fecha de enero de 2008.
8.3.3 Respuesta Incorrecta:
Al realizar ciertas consultas, el programa no “entiende”
expresiones que signifiquen lo mismo que las palabras que tiene
almacenadas.
Esto podría solucionarse con el análisis sintáctico de palabras e
interpretando el significado de estas frases, así como se puede
ver en el ejemplo “¿Quién gobierna en Madrid?” sería el alcalde
de una determinada de esta ciudad.
Además el programa intenta realizar la expansión de sinónimos
lo que conlleva también lentitud en la respuesta, además de no
ser correcta.
complejas dentro del campo del Procesamiento del Lenguaje
Natural.
Los Sistemas QA depende de distintas partes que por sí solas
son bastante complicadas.
Una fuente de información debe ser fiable, estos datos deben ser
procesados con complejas técnicas de etiquetado y análisis con
el fin de hacer los sistemas más rápidos, fiables, seguros y
eficaces.
Los sistemas de ficheros y gestores de bases de datos con sus
módulos de búsqueda de datos juegan un papel más que
relevante pues, en gran medida, de sus capacidades dependerá
tanto la eficacia, como la seguridad y la rapidez del sistema.
Figura 10. Ejemplo de respuesta no respondida
Quizás lo más relevante de este caso sea que el sistema no es
que no disponga de la información, sino que no es capaz de
encontrarla. Las técnicas que se estudiaron en apartados
anteriores sobre el procesamiento de la información y más aún
las estudiadas en el análisis de la pregunta, hubiesen hecho que
respondiese correctamente.
Estudiando el primer caso, ¿Quién gobierna en Madrid?, si se
hubiese hecho un análisis morfológico y una simple
reformulación de la pregunta se hubiese tenido una frase tipo:
<alguien> es gobernador de Madrid
Como gobernador es un sinónimo de alcalde, el sistema hubiese
respondido correctamente.
9. CONCLUSIONES Y LINEAS FUTURAS
Por otra parte, y puede que sea la más importante, el análisis de
la pregunta es lo que verdaderamente va a indicar que datos se
han de buscar. Un buen procesado de la consulta permitirá
acotar el dominio de la búsqueda a la vez que expandir las
posibilidades en las que puede estar escrita la respuesta.
Por último y no menos importante la extracción de la respuesta
y el procesado que ello conlleva, es lo que finalmente va a
extraer la respuesta a la pregunta hecha. Este módulo debe estar
bien estudiado ya que de las diferentes metodologías que se
utilicen para elegir la respuesta adecuada dependerá todo el
sistema.
Existen otros casos de estudio como los sistemas bilingües o
multilingües donde los sistemas tienen la capacidad de
responder en cualquier idioma.
Para concluir, se dirá que existen tres líneas de investigación
claramente definidas:
Análisis de la Pregunta
Procesado y búsqueda de la información.
Extracción de la respuesta
9.1 Sobre el Sistema
Una mejora importante a tener en cuenta sería el desarrollo de
algún tipo de función o un módulo que se encargara de analizar
sintácticamente las sentencias, puesto que una palabra puede
significar distintas cosas dependiendo del papel que desempeñe.
10.REFERENCIAS
[1]
Análogamente al punto anterior, el etiquetado morfológico es
imprescindible para la mejora de este sistema.
En base a la optimización en cuanto a tiempo de acceso sería,
ya que como se conocen las respuestas que se van a dar se
puede intuir las preguntas que se realizarán y por tanto eliminar
líneas del archivo de sinónimos que muy probablemente no se
utilicen. Siempre y cuando la expansión por sinónimos se haga
en la parte referente a la información y no a la consulta
evidentemente.
[2]
Por supuesto, el aumento de información siempre hace que un
sistema tenga más posibilidad de responder, el sistema
implementado depende de un dominio demasiado pequeño.
Una funcionalidad que podría tener mucha utilidad sobre todo
para extranjeros que quieran visitar determinadas ciudades del
país y quieren consultar información, sería realizar la
aplicación, al menos, bilingüe. Necesitaría de un módulo
traductor.
[3]
[4]
9.2 Sobre el Estudio:
Tras este estudio, se puede concluir que los Sistemas de
Respuesta Automática son quizás las herramientas más
[5]
Atserias, J., B. Casas, E. Comelles, M.González, L. Padró
y M. Padró. 2006.
Freeling 1.3: Syntactic and semantic services in an opensource NLP library. Proceedings of the 5th International
Conference on Language Resources and Evaluation
(LREC'06). Genoa, Italy.
http://www.lsi.upc.es/~bcasas/publications/
Ver más referencias de freeling:
http://garraf.epsevg.upc.es/freeling/index.php?option=co
m_content&task=view&id=20&Itemid=49
Burger, John y Claire Cardie, Vinay Chaudhri, Robert
Gaizauskas, Sanda Harabagiu, David Israel, Christian
Jacquemin, Chin-Yew Lin, Steve Maiorano, George
Miller, Dan Moldovan, Bill Ogden, John Prager, Ellen
Riloff, Amit Singhal, Rohini Shrihari, Tomek
Strzalkowski, Ellen Voorhees y Ralph Weishedel.
Issues, Tasks and Program Structures to Roadmap
Research in Question & Answering (Q & A)
http://wwwnlpir.nist.gov/projects/duc/papers/qa.Roadmappaper_v2.doc
Diego Mollá.
Sistemas de Búsqueda de Respuesta.
Jesús Fernández Benito.
Sistema de Question Answering basado en Wikipedia,
Proyecto de fin de Carrera.
Rich, E. & K. Knight, 1991. Artificial Intelligence. New
York: McGraw-Hill.