thumb|280px|El superordenador Watson Watson es un sistema basado en inteligencia artificial capaz de responder a preguntas formuladas en lenguaje natural, desarrollado por la empresa estadounidense IBM. Forma parte del proyecto del equipo de investigación DeepQA, liderado por el investigador principal David Ferrucci. Se le asignó este nombre en honor del fundador y primer presidente de IBM, Thomas J. Watson.
Watson responde a las preguntas gracias a una base de datos almacenada localmente. La información contenida en esa base de datos proviene de multitud de fuentes, incluyendo enciclopedias, diccionarios, tesauros, artículos de noticias, y obras literarias, al igual que bases de datos externos, taxonomías, y ontologías (específicamente DBpedia, WordNet).
Para probar sus capacidades reales participó durante tres días en febrero de 2011 en un partido especial de dos juegos en el concurso de televisión estadounidense Jeopardy!, derrotando a sus dos oponentes humanos: Brad Rutter, el ganador de la mayor cantidad de dinero en toda la historia del programa, y Ken Jennings, el poseedor del récord por la racha más larga de campeonatos (después de haber ganado 75 partidos). Watson recibió el primer premio de $1.000.000, mientras Ken Jennings y Brad Rutter recibieron $300.000 y $200.000 respectivamente. Tanto Jennings como Rutter prometieron donar la mitad de sus ganancias respectivas a organizaciones de caridad seleccionadas por ellos (Jennings eligió a VillageReach, y Rutter a Lancaster County Community Foundation), mientras IBM dividió las ganancias de Watson entre dos organizaciones (World Vision y World Community Grid).
Watson superó a sus oponentes humanos constantemente con el dispositivo de señalización empleado por el juego, pero tuvo problemas para responder a unas pocas categorías, especialmente las compuestas por pistas cortas con pocas palabras. Para cada pista, las respuestas más probables de Watson se mostraron por la pantalla de televisión. Watson tuvo acceso a 200 000 000 de páginas de contenido, estructurado y no estructurado, utilizando cuatro terabytes de almacenamiento en disco, incluyendo el texto completo de la Wikipedia en inglés. Watson no estaba conectado a Internet durante el juego.
350px|thumb|La arquitectura de alto nivel empleada por la tecnología DeepQA, que IBM utilizó específicamente para Watson. Watson es un sistema informático para búsqueda de respuestas (question answering en inglés), desarrollado por IBM. La corporación lo describe como "una aplicación de tecnologías avanzadas diseñadas para el procesamiento de lenguajes naturales, la recuperación de información, la representación del conocimiento, el razonamiento automático, y el aprendizaje automático al campo abierto de búsquedas de respuestas," que es "construido en la tecnología DeepQA de IBM para la generación de hipótesis, la recopilación de pruebas masivas, el análisis y la calificación."
Según IBM, Watson es un sistema optimizado para trabajo que se diseña para analítica compleja, que se hace posible por la integración de procesadores masivamente paralelos de POWER7 y el software DeepQA desarrollado por la corporación. Su soporte de hardware para la competición en Jeopardy! comprendía dos unidades con 5 bastidores de nodos controladores, con noventa servidores IBM POWER 750, cada servidor utilizando un procesador de 3.5 GHz con 8 núcleos, donde cada núcleo soporta por hardware 4 hilos de ejecución (threads en inglés). El sistema cuenta con un total de 2880 núcleos de procesamiento POWER7, y un total de 16 Terabytes de RAM.FAQs sobre Watson (en ingles) El hecho de que el procesador POWER7 es capaz de procesar en una manera masivamente paralela lo convierte en un complemento ideal para el software DeepQA integrado en Watson por IBM, que es embarazosamente paralelo (es decir, un trabajo que es fácilmente dividido en múltiples tareas paralelas.)
Según John Rennie, Watson puede procesar 500 giga bytes por segundo (el equivalente de un millón de libros). El inventor principal y consultor sénior de IBM, Tony Pearson, estimó que el costo total del hardware para Watson fue de cerca de $3.000.000. Rennie ha declarado que el contenido de Watson fue almacenado en su RAM para el juego, porque los datos almacenados en discos duros son demasiado lentos para acceder.
El software incorporado en Watson fue escrito utilizando los lenguajes de programación Java y C++, y usa dos estructuras empleadas por la Apache Software Foundation — la estructura Hadoop para computación distribuida, y el sistema UIMA (Unstructured Information Management Architecture) para análisis de materiales impresos — así como el software DeepQA desarrollado por IBM y el sistema operativo SUSE Linux Enterprise Server 11. Según IBM, Watson usa más de 100 técnicas diferentes para analizar el lenguaje natural, identificar fuentes, encontrar y generar hipótesis, buscar y puntuar evidencias, combinar y clasificar hipótesis.
Funcionamiento
Introducción al sistema deepQA Para poder concursar en Jeopardy!, el equipo de IBM necesitaba desarrollar una tecnología de QA (Question Answering en inglés) que tuviera un rendimiento muy parecido e incluso superior al de los campeones del concurso. Necesitaban que Watson acertara más del 85% de las preguntas que respondiera y tenía que ser más rápido que los otros dos concursantes en el 70% de las preguntas totales. Cuando empezó el desarrollo de Watson ya se había hecho investigación en el campo del procesamiento del lenguaje natural, y existían otras tecnologías, como PIQUANT o OpenEphyra. Éstas estaban entre las mejores de la Text Retrieval Conference (TREC), en la cual se les daba unos documentos y unas preguntas para responder en un tiempo determinado. El problema es que en Jeopardy! las pistas que se proporcionan son muy complejas, tienen un lenguaje natural muy rico, con muchas expresiones, la mayoría de veces ambiguas, y de muchísimos temas totalmente diferentes. En cambio, en la TREC, las preguntas eran muy concretas y más estructuradas, del tipo ¿Dónde nació John Lennon?, en las que resulta más fácil saber qué están preguntando. Además, el hecho de tener que responder el 70% de todas las preguntas del concurso significaba que necesitaban que Watson fuera muy rápido en encontrar la respuesta, pero eso no es suficiente, ya que hay que responderla bien para conseguir esa precisión. Por lo tanto el sistema debía ser rápido también a la hora de estimar la confianza para decidir si responder o no.
Aunque ya se había hecho investigación en el campo del QA, Jeopardy! suponía un reto mucho mayor que el que se había tenido hasta el momento, de ahí que IBM desarrollara su propio sistema, al que llamaron DeepQA.
Adquisición de contenido Antes de poder responder cualquier pregunta, hay que establecer el contenido que usará el sistema cuando necesite buscar información relacionada con la pregunta.
Lo primero que hay que hacer es buscar ejemplos de preguntas para poder saber de qué tipo serán las que el sistema tendrá que responder y el dominio de éstas. A partir de un análisis de estas preguntas de ejemplo, hay que darle a DeepQA un conjunto de diferentes fuentes de información (artículos, obras literarias, enciclopedias…). A partir de esta base inicial de datos, el sistema buscará en otras fuentes en la web, extraerá diferentes recursos que tengan relación con las fuentes iniciales, y les dará una puntuación en función de lo informativos que sean. Por último, DeepQA fusionará las fuentes que haya encontrado con mayor puntuación con su conjunto inicial, así tendrá mucha más información y recursos que consultar. Uno de los sistemas usados para adquirir conocimiento de forma automática y guardarlos de manera estructurada es PRISMATIC.
Watson tiene datos de muchos tipos, estructurados, semiestructurados (como bases de datos y ontologías) y no estructurados (mencionados anteriormente), de entre los cuales se encuentran los siguientes: Wikipedia, Freebase, WordNet, DBPedia y la ontología Yago.
Análisis de la pregunta En este paso se recibe como entrada la pregunta que Watson debe responder, y por lo tanto lo primero que hay que hacer es determinar qué es lo que se está preguntando para poder luego buscar las respuestas. Para la realización de un buen análisis, DeepQA utiliza una gran variedad de algoritmos y sistemas expertos. Esta fase está compuesta de diferentes pasos.
Clasificación de la pregunta Para poder buscar qué tipo de respuesta necesitamos, primero hay que saber cuál es el tipo de pregunta, si una definición, si una pregunta matemática, un puzle… A estas diferentes formas de clasificar una pregunta se les llama Qclasses (Question classes). DeepQA tiene que determinar a qué clase pertenece la pregunta, para hacerlo utiliza diferentes métodos independientes entre ellos. Esto puede dar resultado a que diferentes técnicas detecten clases distintas para la misma pregunta. En caso de encontrar dos o más clases incompatibles, se necesita de otro componente que escoja la mejor opción. Una vez se tiene el tipo de pregunta, este resultado servirá para determinar los métodos y modelos de machine learning que se usarán posteriormente.
Detección del focus y los LATs El llamado focus de una pregunta es la parte de ésta que es una referencia a la respuesta. Esto quiere decir que si lo sustituimos por la respuesta, la pregunta se convierte en una afirmación o hecho. En los ejemplos de preguntas de Jeopardy! siguientes, la parte en negrita es el focus: Número de poemas a los cuales Emily Dickinson dio permiso para publicar. Ella se unió al Wild West show de Buffalo Bill Cody después de conocerlo en la Cotton Expo en New Orleans. El LAT (lexical answer type) es una palabra o pequeña frase que nos dice cual es el tipo de respuesta que se pide. Normalmente es una palabra que pertenece al focus, excepto algunos casos. En los ejemplos anteriores, número es el primer LAT, y Ella es el segundo.
Encontrar el LAT de una pregunta nos permite determinar si una respuesta encontrada es instancia de este, es decir, si se corresponde con lo que nos pide la pregunta (si el LAT es ella, la respuesta tiene que ser el nombre de una mujer). Por lo tanto, será útil para determinar si la respuesta generada es válida o no.
Detección de relaciones Muchas preguntas contienen relaciones de todo tipo, sintácticas, o entre objetos dentro de la frase. Estas se pueden aprovechar y buscarlas directamente en bases de datos relacionales, las cuales están estructuradas en tablas. Por lo tanto podemos buscar si hay alguna en la que se encuentra la relación que hemos hallado. Por ejemplo, en la pregunta Son los dos estados que podrías estar re entrando si cruzas la frontera norte de Florida, podríamos buscar las fronteras de Florida en alguna base de datos disponible y encontrar la respuesta directamente allí. El problema es que en un estudio realizado con preguntas de Jeopardy! se observó que estos casos son muy escasos y la mayoría de veces no sirve esta técnica.
Descomposición Una parte muy importante del análisis de una pregunta es descomponerla en diferentes preguntas y responder cada una independientemente de las otras. De esta manera, cuanto más correcta sea una respuesta en cada sub-pregunta, más probable será que sea la respuesta correcta a la pregunta inicial.
Hay dos tipos de sub-preguntas. Las primeras son las que se pueden analizar y responder en paralelo, ya que no hay dependencias entre ellas. Las otras necesitan responderse secuencialmente, ya que una pregunta requiere de la respuesta de otra para poder responderse. Por ejemplo, en la pregunta Una polémica película de guerra de 1979 estuvo basada en el trabajo realizado en 1902 por este autor es necesario saber a qué película se refiere (Apocalypse now) para poder encontrar el autor que se está preguntando.
Generación de hipótesis