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.