Hace unos meses (aunque yo me he enterado por el radar de O’Reilly hace unos días y en sinapsis tienen un artículo muy completo), IBM presentó a Watson, un sistema de procesamiento de lenguaje natural pensado para participar en el concurso de preguntas y respuestas Jeopardy! Al igual que con la victoria de Deep Blue en ajedrez, IBM busca superar un reto en el que vencer a los humanos en tareas inalcanzables (por ahora) para los ordenadores. El video es muy bueno:
Algunas ideas que se me ocurren sobre Watson:
- Procesa lenguaje natural escrito: No sólo procesa el lenguaje de manera estadística o semántica, sino que un concurso cómo Jeopardy! requiere que Watson sea capaz de comprender juegos de palabras, información omitida, dobles sentidos… Lenguaje en la forma más humana (e incomprensible para las máquinas actuales).
- Agrupa múltiples paradigmas/tecnologías: Creo que alguna vez lo he comentado, mi opinión es que no se puede utilizar un sólo enfoque para crear un sistema de inteligencia artificial, a menos que esté dedicado a un problema muy concreto. En este caso, Watson integra las tecnologías de procesamiento de lenguaje natural, recuperación de información, representación del conocimiento y aprendizaje automático.
- Utiliza varios algoritmos simultáneamente: no sólo agrupa varias tecnologías, sino que para hacer búsquedas utiliza varios algoritmos de búsqueda de información y los integra para calcular un valor de confianza en la respuesta. Si con el algoritmo X cálcula que una respuesta tiene un 50% de ser cierta y el algoritmo Y corrobora la respuesta, entonces la confianza en la respuesta aumenta.
- Cálculo de confianza: Es el algoritmo fundamental de éste sistema. Tiene pinta de estar basado en cálculos probabilísticos complejos, diría que es donde más han trabajado y dónde los algoritmos de aprendizaje tienen más margen para funcionar. El hecho de que sea estadístico es también muy importante: demuestra que no es necesario que un ordenador tenga un pensamiento binario y le aporta cierta capacidad de fallo «discontinuo» más parecido al razonamiento humano.
- Tiene problemas con las frases de doble sentido: es lógico que sea así, es la parte que peor procesa un ordenador. Cómo se ven en el video, lo peor no es que se equivoque en la respuesta sino que se equivoque en el sentido de la respuesta: que le pregunten por una persona y conteste con el título de una película.
- Test de Turing: es capaz de engañar a las personas. En muchos sitios los comentarios eran exagerados, cómo si Watson fuese capaz de mantener una conversación en lenguaje natural. Aunque el presentador lee la pregunta, a Watson le llega por escrito. Por otra parte es sorprendente el efecto sobre los concursantes humanos, se sienten amenzados (Humans! grita un concursante) y despierta un orgullo de defensa de la humanidad (cómo si Watson no fuese una creación humana que se apaga desconectando un botón).
- Test de Turing(2): Si no está seguro de una respuesta, no contesta. En este caso se trata de una estrategia para ganar el juego, pero también supone una imitación del comportamiento humano. Es el tema del artículo de Mike Loukides, que el Test de Turing no consiste en demostrar que una máquina es inteligente sino que es inteligente en el sentido humano, incluyendo sus fallos. Por ahora no es así, cómo demuestra el tipo de errores que Watson comete. No son los fallos que comete una persona.
- Utiliza uima de apache: una arquitectura open source para el procesamiento de información no estructurada. Aunque no vayan a liberar el código fuente, es importante que se utilicen plataformas open source, garantiza que al menos una parte del trabajo se compartirá.
(por ahora)
Una respuesta a “watson”
[…] Watson el superordenador de IBM es-robot.com/2010/08/watson.html por moa59 hace 2 segundos […]