lunes, 14 de febrero de 2011

¿Cómo funciona Watson de IBM?


Un equipo de 20 investigadores de IBM lleva 3 años construyendo a Watson, el ordenador que se enfrenta con éxito a humanos en el juego de televisión Jeopardy. ¿Cómo funciona Watson?
Watson está compuesto por un centenar de algoritmos. No se espera que ninguno resuelva por sí solo el problema. La pregunta se analiza y se buscan múltiples respuestas candidatas que generan hipótesis. Estas hipótesis se confrontan con las evidencias disponibles y se les asigna una puntuación de confianza. Se establece una clasificación y la mejor situada es la respuesta elegida. Cada uno de los algoritmos merece una publicación separada.
Hace unos tres años, la división de investigación de IBM, IBM Research estaba buscando un desafío de investigación para competir con el interés científico y popular que supuso Deep Blue cuando  hace 14 años derrotó al ajedrez al campeón mundial Gary Kasparov. Era una ocasión magnífica para celebrar el 100 aniversario con un logro de repercusión mundial. Una parte mayoritaria del conocimiento mundial ha sido digitalizado y se encuentra disponible en múltiple formatos: bases de datos, datos no estructurados, documentos de texto... ¿Es posible acceder a ellos mediante lenguaje natural? La respuesta de IBM ha sido la tecnología de pregunta-respuesta QA.
Los avances en la tecnología de pregunta-respuesta (QA) pueden servir de apoyo a los profesionales en la toma oportuna de decisiones críticas en áreas como la atención de la salud, la integridad de negocios, inteligencia de negocios, el descubrimiento del conocimiento, gestión del conocimiento empresarial, seguridad y atención al cliente.
Nuestros resultados sugieren que DeepQA es una arquitectura eficaz y extensible que se puede utilizar como base para la combinación, la implementación, evaluación y la promoción de una amplia gama de técnicas algorítmicas para avanzar rápidamente en el campo de preguntas y respuestas (QA).
El reto de Jeopardy
Jeopardy proporciona todos los elementos para este desafío.
Se trata de un dominio abierto en el que caben todo tipo de preguntas.
Es una síntesis de recuperación de información, procesamiento del lenguaje natural, la representación del conocimiento y el razonamiento, máquinas  que aprenden, y las interfaces hombre-máquina.
Jeopardy requiere responder a preguntas en lenguaje natural rico en un dominio muy amplio de temas, con penalizaciones para las respuestas erróneas.
Los concursantes disponen de alrededor de 3 segundos para responder cada pregunta. Hay que responder a aproximadamente el 70 por ciento de las preguntas con una precisión superior al 80 por ciento en 3 segundos o menos.
Las categorías. 
En Jeopardy, el nombre de la categoría puede proporcionar información que Watson debe evaluar. Aunque en ocasiones despista más que ayuda.
Las preguntas. 
Hay muchas formas de categorizar la pregunta: Por tema, por la dificultad, por la construcción gramatical, según el tipo de respuesta, y así sucesivamente.
Una parte importante son las preguntas factoide: preguntas cuyas respuestas se basan en información objetiva acerca de una o varias entidades individuales contenidas en la pregunta.
Descomposición. Algunas pistas más complejas contienen múltiples hechos. No se espera encontrar las dos sub-pistas en una sola frase en las fuentes de información.
Rompecabezas. Aunque los rompecabezas constituyen sólo alrededor de 3 o 2 por ciento de todas las pistas no se puede ignorar.
Tipos de preguntas excluidas. Por acuerdo con los patrocinadores, las preguntas visuales y auditivas están excluidas. Ambos desafíos resultan muy interesantes desde el punto de vista de AI, pero se excluyeron del alcance de este concurso y la evaluación.
El dominio
Para analizar la amplitud del dominio Jeopardy Challenge se usan los tipos de respuesta léxica (LAT).
Se define una LAT como una palabra en la pista que indica el tipo de la respuesta, independientemente de la asignación de la semántica de esa palabra. Alrededor del 12 por ciento de las pistas no indican un tipo de respuesta explícita léxica, sino que se refieren a la respuesta con los pronombres como "él", "estos", o "esto". La distribución de LAT tiene una cola muy larga, como se muestra en la figura. Se han encontrado 2.500 LAT distintas y explícitas.
Frecuencia de las LAT
La Métrica
Además de la precisión de preguntas y respuestas, la victoria dependerá de la velocidad, la estimación de la confianza, la selección de la pista, y la estrategia de apuestas.
El obejtivo es medir la exactitud, la confianza, y la velocidad. Para ello se usó la precisión y el tanto por ciento respondido. El umbral controla el equilibrio entre la precisión y el porcentaje de respuestas. La exactitud se refiere a la precisión si todas las preguntas son respondidas.
El desafío:
Rendimiento de los campeones humanos
Rendimiento en Jeopardy. Los puntos corresponden a humanos registrados en más de 2.000 juegos. Los puntos oscuros son el resultado de Ken Jennings, el mejor jugador de la historia. Las líneas indican el rendimiento de las distintas versiones de Watson
Se basa en el análisis histórico de casi 2000 encuentros de Jeopardy.
El centro de la llamada "Nube de Ganadores" (el conjunto de puntos grises en la gráfica) revela que los campeones de Jeopardy son seguros y lo suficientemente rápidos para adquirir (apretar el pulsador buzz), en promedio entre el 40 y 50 por ciento de todas las preguntas a sus competidores y para tener una precisión de entre el 85 por ciento y 95. Los puntos más oscuros en la gráfica representan los juegos de Ken Jennings. Ken Jennings tuvo una racha ganadora sin igual en el año 2004, en los que ganó 74 partidas seguidas.
Línea de base de rendimiento
IBM usó como referencia antes de empezar con Watson dos programas llamados Practical Intelligent Question Answering Technology (PIQUANT) y OpenEphyra. Ambos obtenían buenas puntuaciones en entornos de manejo de textos Text Retrieval Conference (TREC).
Se tardararon unas 4 semanas en adaptarlos al entorno de Jeopardy. Resultó evidente que la precisión y la estimación de la confianza estaban muy por debajo de los requisitos del Desafío Jeopardy con apenas un 15% de exactitud. Lo que si demostraron es que varias técnicas eran posibles: análisis sintáctico profundo pero también búsquedas superficiales, bases de datos estructuradas y no estructuradas.
El enfoque DeepQA
Al principio del proyecto, los intentos de adaptar PIQUANT no produjeron resultados prometedores. IBM terminó revisando casi todo lo que había hecho, incluyendo el enfoque técnico más básico, la arquitectura subyacente, métricas, protocolos de evaluación e incluso la forma en que trabajaban juntos como equipo.
A medida que los resultados eran considerablemente mejores, se observó que eran esenciales los avances a nivel de sistema que permitieran una rápida integración y evaluación de nuevas ideas y nuevos componentes.
El sistema construido y que sigue en desarrollo, denominado DeepQA, es una arquitectura probabilística masívamente paralela basada en la evidencia. Para el reto de Jeopardy, se han utilizado más de 100 técnicas diferentes para el análisis de lenguaje natural, la identificación de fuentes, la búsqueda y generación de hipótesis, la búsqueda de pruebas y la puntuación, y la combinación y clasificación de las hipótesis. Son enfoques superpuestos que unen sus fuerzas para contribuir a la mejora en la precisión, la confianza y la velocidad.
DeepQA ha sido aplicado con éxito tanto a Jeopardy como a la tarea de QA de TREC.
DeepQA ha comenzado su adaptación a aplicaciones de negocio y otros nuevos desafíos incluida la medicina, la búsqueda empresarial, y el juego.
Los principios generales en DeepQA son
  • paralelismo masivo
  • muchos expertos
  • estimación de la confianza generalizada (ninguno de los componentes se compromete a una respuesta, todos los componentes proporcionan una confianza asociada y un sustrato que evalúa la confianza aprende a ponderar loas distintas puntiaciones)
  • integración de los conocimientos superficiales y profundos.
Arquitectura DeepQA
Adquisición de Contenido
El primer paso en cualquier aplicación de DeepQA para resolver una pregunta es la adquisición de contenidos. La adquisición de contenidos es una combinación de pasos manuales y automáticos. En primer lugar se realiza un análisis de ejemplos de preguntas, lo que es sobre todo una tarea manual. Después, el análisis de dominio puede ser realizado mediante análisis automáticos o estadísticos, tales como el análisis LAT.
Las fuentes de Watson incluyen una amplia gama de enciclopedias, diccionarios, tesauros, artículos de servicio de noticias, obras literarias, y así sucesivamente. Dado un corpus de referencia razonable, a continuación DeepQA, aplica un proceso automático de expansión del corpus.
Análisis de preguntas
El primer paso en tiempo de ejecución es el análisis de la pregunta, durante el cual se trata de comprender lo que se está preguntando y se realizan los análisis iniciales que determinan cómo será procesada la pregunta por el resto del sistema. El enfoque DeepQA en esta etapa se basa en una mezcla de expertos, y Watson produce análisis poco profundos, análisis profundos, formas lógicas, las etiquetas semánticas, correferencias, relaciones, entidades con nombre, y así sucesivamente.
Clasificación de la pregunta. Se identifican los tipos de preguntas o partes de las preguntas que requieren un procesamiento especial. Esto puede incluir cualquier cosa desde una sola palabra con significados potencialmente dobles hasta párrafos que pueden tener funcionalidades sintácticas, semánticas, retóricas.
El enfoque y la detección de LAT. Un tipo de respuesta léxica es una palabra o frase nominal en la pregunta que especifica el tipo de la respuesta sin ningún intento de entender su semántica.
Detección de relación. La mayoría de las preguntas contienen relaciones, ya sean predicados sintácticos sujeto-verbo-objeto o relaciones semánticas entre entidades. Watson utiliza la detección de relación a través de todo el proceso.
La capacidad actual de Watson para utilizar eficazmente bases de datos preparadas para simplemente buscar las respuestas se limita a menos del 2 por ciento de las pistas. Por ello hay que buscar en todo tipo de datos. Sólo en pocos casos Watson es capaz de encontrar las relaciones con facilidad, siendo esta un área de importante mejora.
Descomposición. DeepQA utiliza el análisis profundo, basado en normas y métodos estadísticos de clasificación tanto para reconocer si las preguntas deben ser descompuestas como para determinar la mejor forma de romperla en subpreguntas. Incluso si la pregunta no tenía por qué ser descompuesta para encontrar una respuesta, este método ayuda a mejorar la confianza global del sistema.
Generación de Hipótesis
La generación de hipótesis toma los resultados de análisis las preguntas y produce respuestas candidatas mediante la búsqueda en las fuentes del sistema Cada respuesta candidata se coloca de nuevo en la pregunta y se considera una hipótesis, que el sistema tiene que demostrar correcta con cierto grado de confianza. Esta es la "de la búsqueda primaria" para distinguirla de las búsquedas realizadas posteriormente en la recopilación de pruebas.
Búsqueda primaria. El objetivo es encontrar tantas respuestas potenciales como sea posible sobre la base de los resultados del análisis de la pregunta. Hay que establecer un compromiso entre precisión y los recursos de computación utilizados. En el 85 por ciento de las preguntas, el sistema genera la respuesta correcta en algún lugar dentro de los 250 primeros candidatos.
Generación de Respuesta Candidata. Mediante distintas técnicas el sistema utiliza el resultado de la búsqueda para producir la respuesta candidata.
Este paso favorece significativamente el número más que la precisión, con la expectativa de que el resto del proceso encontrará la respuesta correcta, incluso si el conjunto de candidatos es muy grande. Uno de los objetivos del diseño del sistema, por lo tanto, es tolerar el ruido en las primeras etapas del proceso y elevar la precisión más adelante. Como consecuencia, Watson genera varios cientos de respuestas candidatas en esta etapa.
Filtrado Suave
Es la aplicación algoritmos de puntuación ligeros (con uso uso menos intensivo de los recursos) para podar desde un conjunto más amplio de candidatos iniciales  hasta un conjunto más pequeño de los candidatos antes de aplicar los componentes de puntuación más intensivos Los candidatos que no pasan el umbral de filtrado se envían directamente a la etapa final.
Puntuación de Hipótesis y Evidencias
Las respuestas candidatas que pasan el umbral filtrado suave se someten a un riguroso proceso de evaluación que consiste en la recopilación de pruebas adicionales de apoyo para cada respuesta candidata o hipótesis,
La recuperación de pruebas. El sistema busca nuevas evidencias para la respuesta candidata.
Puntuación. El paso de puntuación es donde se lleva a cabo la mayor parte del análisis profundo de contenido. DeepQA fomenta la inclusión de muchos componentes diferentes, o puntuadores, que tienen en cuenta las diferentes dimensiones de las preguntas y producen una puntuación. DeepQA proporciona un formato común para que los puntuadores evalúen las hipótesis. Por ejemplo, Watson cuenta con más de 50 componentes de puntuación que producen distintos resultados.
Estos puntuadores tienen en cuenta cosas como el grado de correspondencia entre la estructura de un pasaje de predicado-argumento y la pregunta, la fiabilidad de la fuente del texto, la ubicación geoespacial, relaciones temporales, clasificación taxonómica, las relaciones léxicas y semánticas de las que se sabe que el candidato participa, en la correlación del candidato con los términos que la pregunta, su popularidad (o la oscuridad), sus alias, y así sucesivamente.
Cada uno de los puntuadotes implementados, cómo funcionan, cómo interactúan, y su impacto independiente en el desempeño de Watson merecen su artículo de investigación propio.
Ningún algoritmo domina. La facilidad de DeepQA para incluir nuevos algoritmos y las herramientas representa una de las contribuciones más importantes y duraderas Watson.
Mezcla final y clasificación
Por último se mezclan todas las respuestas en una tabla final y se realiza un ranking de los cientos de respuestas candidatas. Watson ha adoptado un enfoque de aprendizaje automático que requiere usar el sistema a través de un conjunto de preguntas de entrenamiento con respuestas conocidas y la formación de un modelo basado en las puntuaciones.
Velocidad y escalado
DeepQA se desarrolla utilizando Apache UIMA, 10 una implementación la arquitectura de gestión de la información no estructurada UIMA facilitando la rápida integración de componentes de prueba y evaluación.
Las primeras implementaciones de Watson se ejcutaron en un único procesador que necesitaba 2 horas para contestar una sola pregunta. El cálculo de DeepQA es extremadamente paralelo y usando UIMA-AS con mensajería asincrónica se pudo escalar hasta 2.500 núcleos de procesador.
Estrategia
Aunque no es parte esencial de DeepQA, para la competicíón de Jeopardy, Watson ha de usar estratégia. En concreto: decidir si aprieta el pulsador (buzz) y trata de responder a una pregunta, la selección casillas del tablero y las apuestas en doble diario y Jeopardy final. Se trata de un juego en el que una opción estratégica defectuosa puede echar a perder toda la partida
Situación y Resultados
Después de 3 años, 20 investigadores e ingenieros de software con una amplia gama de experiencia en el procesamiento del lenguaje natural, recuperación de información, aprendizaje automático, lingüística computacional, y la representación del conocimiento y el razonamiento han puesto Watson en marcha. En el cuarto trimestre de 2007 se aprobó definitivamente la arquitectura DeepQA. En ese momento se trasladó todo el equipo desde sus ubicaciones particulares a una  en una "sala de guerra" (war room).
El rendimiento y el progreso ha sido gradual pero constante. Se está reduciendo en los últimos meses ya que los desafíos pendientes o son muy difíciles o muy especializados y abarcan una parte mínima de los datos.
A finales de 2008, necesitaba 2 horas para contestar una sola pregunta en una sola CPU. Actualmente Watson responde a más de 85 por ciento de las preguntas en 5 segundos o menos. Watson ha involucrado a múltiples universidades.
Un experimento de adaptación temprana.
Otro desafío para DeepQA ha sido demostrar si y cómo puede adaptarse a otras tareas de QA. Para ello se usó en las pruebas iniciales de TREC en las que los sistemas tenían unos rendimientos pobres. La identificación y la integración de los componentes de dominio específico llevaron apenas un par de semanas. La conclusión es que la adaptación a nuevos dominios es rápida y buena.


 

No hay comentarios:

Publicar un comentario en la entrada