cerrar
Eric Nyberg y Watson, la computadora campeona de Jeopardy
Oficina de Comunicación
January 16, 2014
6:00h

Por Carla Juárez y Alejandro Durán

“Aunque es muy divertido tener a un programa de computadora jugando Jeopardy en la tele, la verdadera meta de tal programa era desarrollar un sistema capaz de ayudar a los doctores a hacer un mejor trabajo[…]para diagnosticar a los pacientes.”

Eric Nyberg, Ph.D. ha dedicado su trabajo en el Carnegie Mellon School of Computer Science  a desarrollar tecnologías de lenguaje. Su colaboración en la creación de Watson de IBM le ha dado renombre en la escena computacional internacional. Actualmente está trabajando en el lenguaje multimedia y prevé que próximamente sus estudios penetrarán en los campos de la medicina y biotecnología.

Entrevista a Eric Nyberg

  Carla Juárez: ¿Nos podría dar un pequeño resumen de la investigación que está presentando en el ITAM?

Eric Nyberg: La investigación que voy a presentar en el ITAM trata de cómo podemos construir automáticamente sistemas inteligentes de información dejando que la computadora haga gran parte del trabajo, preguntándose cuál es la mejor combinación de software o algoritmos para una tarea particular que quisiéramos que la computadora hiciera.

Los investigadores de hoy en día se basan en un trabajo de prueba y error al combinar manualmente los componentes de software . Llegar a la mejor combinación toma un buen tiempo, básicamente porque se debe encontrar la combinación de componentes de software; de manera que generalmente paramos antes, pues es un proceso muy demandante. Es decir, paramos si encontramos algo que apenas sea bueno, no necesariamente obtenemos la mejor solución.

La infraestructura digital [framework] que voy a presentar en mi conferencia es aquella en la que el investigador humano da a la computadora una idea de todas las maneras posibles para llegar a una solución y la computadora se encarga de probar  la mejor. Nosotros implementamos esto utilizando computación en la nube [cloud computing] y parallel processing para poderlo hacer ir más rápido de lo que un humano podría de manera manual.

CJ: ¿Cómo es que el reconocimiento, entendimiento y expresión de emociones son relevantes para el usuario al momento de obtener información importante de las computadoras?

EN: Es una pregunta interesante porque el sentimiento, como lo llamamos, puede desempeñar un papel muy importante para la relevancia de la información que el ser humano busca en la computadora.

Podríamos desear encontrar información que es positiva con respecto a un tema particular o negativa respecto a otro tema, de manera que si estuviéramos interesados en comprar un producto, podríamos encontrar reseñas positivas o negativas para el proyecto.

Creo que en los últimos cuatro o cinco años [el sentimiento] se ha vuelto una parte importante de la tecnología del lenguaje, ya que la actitud y la emoción son expresadas de muchas maneras distintas en texto. A veces se hace de manera muy directa  (por la selección de palabras), otras veces se hace indirectamente, a través de algunos mecanismos  como el sarcasmo, así que creo que es muy importante y pienso que es un tema muy discutido hoy en día en la ciencia computacional.

CJ: ¿Qué tan cercana es la relación entre la ciencia computacional y la lingüística?, ¿Por qué?

EN: Creo que la relación entre ambas ha ido creciendo. Tradicionalmente, estas disciplinas no eran tan cercanas pero después de la innovación lingüística de Noam Chomsky, al proponer que debíamos tratar de escribir reglas concretas de gramática, una nueva puerta se abrió para los científicos computacionales. Yo diría que hoy la lingüística y la ciencia computacional son muy cercanas en los ámbitos relacionados al procesamiento de habla y texto.

Por ejemplo, mi doctorado fue sobre la lingüística en la ciencia computacional (así que esto es ahora un campo en el que uno puede recibir doctorados) y mi unidad en el Carnegie Mellon School of Computer Science es el Language Technologies Institute que combina el lenguaje y la computación.

La razón por la cual la lingüística es tan importante para la ciencia computacional es que los lingüistas se han enfocado en cómo modelar el lenguaje humano, el cual es un idioma muy distinto al lenguaje computacional. Ser capaz de entender ese fenómeno de lenguaje humano y modelarlo efectivamente es una clave para construir un muy buen software.

CJ: ¿Cuál cree que sea el reto más grande que los ingenieros computacionales enfrentarán ante la interacción entre los sistemas inteligentes y los humanos?

EN: ¡Vaya! Hay muchas maneras en las que podría contestar esa pregunta, pero creo que diré una que pienso que es importante hoy en día. En este momento cuando los humanos interactúan con las computadoras no hay un historial, así que si uso un buscador en mi  computadora y hago una búsqueda, la computadora no me contestará con un contexto: no sabe quién soy, no sabe lo que he buscado antes, ni sabe lo que me interesa. No tiene un contexto de respaldo de quién soy o qué me importa. Esto pasa porque la mayoría de las piezas de software no mantienen una idea de con quien hablan o su historial de diálogo. Creo que en el futuro estaremos viendo el desarrollo de programas de computadora más personalizados y de agentes que mantengan el historial de una persona que podrán contestar preguntas de manera más efectiva puesto que sabrán quién eres y qué te es relevante. También serán más proactivos en el sentido de que hallarán cosas de las que tú tal vez estés interesado y te las ofrecerán sin que se lo hayas pedido.

Sencillamente, no podríamos hacer eso a menos que se tenga un diálogo de largo plazo entre la computadora y la persona, en el cual la persona realmente recuerda con quien habla y cuál es el historial de la investigación.

CJ: ¿Cuándo se interesó en este rubro de investigación?

EN: Obtuve mi grado de licenciatura de la Universidad de Boston en 1983 y después trabajé en un laboratorio de investigación de GTE (una compañía telefónica que hace unos años fue comprada por Verizon) y en esta época estaban enfocados en hacer preguntas sobre los clientes de las compañías telefónicas.

En esos tiempos si querías encontrar cosas tales como propiedades de ciertos clientes o el promedio de saldos de ciertos clientes debías escribir una pregunta en un papel, darla a un analista de base de datos, el cual formularía un código de base de datos, el cual mandaría un trabajo (a la computadora) que arrojaría los resultados de regreso para que después alguien creara el reporte para ti. Podrías tardarte varios días para obtener una respuesta a tu pregunta y los ejecutivos, impacientes, querían simplemente preguntar en lenguaje natural y obtener una respuesta directa.

Así que tuve la fortuna de tener este trabajo justo después de la universidad, que lidiaba con el tema de lenguaje natural y preguntas y respuestas. También durante ese trabajo pude saber lo que se estaba investigando en las universidades en esos momentos y después de tres años decidí ir al Carnegie Mellon para obtener mi doctorado y desde entonces he estado trabajando en tecnologías de lenguaje.

CJ: ¿Su investigación ha cambiado la manera en que interactúa con la gente?

EN: Es una idea interesante. Creo que lo que desearía ser capaz de hacer es tener la habilidad de compartir comunicaciones que tengo con la computadora con mis amigos y eso es muy difícil de hacer. Es muy complicado gastar una hora para encontrar información. [Por ejemplo] Digamos que sales de viaje y pasas media hora encontrando toda la información relevante de a dónde vas. Es muy difícil compartir eso con tu esposa o amigos sin copiar una serie de direcciones web. Por otro lado, creo que la computadora con esas interacciones podría arrojar un buen resumen de información de lo que encontraste, que podrían ser compartidas fácilmente con tus conocidos. Sería una manera más efectiva de combinar la computadora y la comunicación con tus amigos.

CJ: ¿Cómo piensa que el razonamiento de las computadoras puede ser alcanzado?

EN: ¿Te refieres a qué tan lejos puedo ir?

CJ: Sí

EN: Bueno, creo que va a haber limitantes, una de ellas es que a medida que hacemos a las computadoras más inteligentes requieren de un software más sofisticado y más recursos de hardware. Por ejemplo, el sistema Watson de IBM utiliza una escala de hardware y software que era inconcebible hace diez o quince años. Así que pienso que hay un factor que nos detiene: cada vez que alcanzamos programación computacional sofisticada debemos resolver un problema en arquitectura de software, en desarrollo de algoritmos y en hardware. Así que si quieres ver algo tan inteligente como Watson en tu celular debemos trabajar mucho, porque los recursos computacionales que requieren inteligencia son muy extensos. Así que pienso que no hay límites prácticos, más que mejorar el software y tener un hardware de bajo costo para hacer posible que todos lo usemos.

Pero insistiría en que el verdadero límite es el crear la pieza de software que puede aprender del ambiente y lo que quisiera hacer es crear el programa que comenzara a interactuar con la gente en el mundo real y que pudiera aprender a hacerlo mejor y mejor hasta que en cinco, diez o veinte años lo hagan de la misma manera en que nosotros lo hacemos. Así que hasta ahora las computadoras no han aprendido en el mundo real (a la manera que tenemos nosotros) y hasta que no lo hagan creo que seguirán existiendo límites.

CJ: ¿Qué tan cercanos serán a las emociones humanas?, ¿serán como nosotros o interactuarán diferente?

EN: Creo que eso depende de las metas que el programador se fije. Típicamente lo que hacemos hoy es que nos enfocamos en construir programas que pueden distinguir entre diferentes tipos de situaciones y le asignan un sentimiento, se preguntan: “¿Este es un producto que quiero o no comprar?” o “¿El clima es suficientemente bueno para salir a navegar mi bote o no?” Así que al hacer un programa podemos personalizar el tipo de valor que queremos de la computadora ante ciertas situaciones. Depende de nosotros decidir si quieres una respuesta “a la humana” o una respuesta “a la robot”. Creo que el tipo de respuestas que un humano muestra ante las situaciones del mundo tienen que ver con sus emociones, su adrenalina y su cuerpo físico (que las computadoras no poseen). Así que no está muy claro para mí hacer a una computadora enojar (por ejemplo) pero podríamos simular cosas como la frustración, en el sentido que podría ser capaz [por ejemplo] de reconocer que no puede obtener una buena respuesta de algo que le estoy preguntando y regrese diciendo: “lo siento, no puedo encontrar lo que buscas”. Pero no creo que la meta de lo que hacemos sea necesariamente crear a un humano artificial, a menos que sintamos que tal distinción sea útil para alguna tarea del mundo real.

CJ: ¿Qué avances podemos ver en biotecnología en los próximos años?

EN: La biotecnología es una aplicación muy importante de la tecnología de la información en la que trabajo. Porque si eres un doctor intentando diagnosticar a un paciente o un investigador farmacéutico y buscando desarrollar una nueva medicina para el cáncer, necesitas una cantidad enorme de texto para que solamente una persona pueda investigar. Así que la idea es que un doctor pueda describir los síntomas de un paciente y después que un sistema computacional con millones de reportes médicos pueda localizar a pacientes con síntomas similares y los podría correlacionar en causas posibles de tales síntomas, lo cual es una aplicación fantástica de esta tecnología.

También seremos capaces de apalancar todos los resultados experimentales de medicinas, genes y enfermedades para que podamos localizar más efectivamente genes para nuevas terapias para patologías, es otra aplicación muy importante. Básicamente, cuando el campo de la información se vuelve tan grande que no se puede leer, esto se torna en algo muy importante para el futuro.

CJ: ¿En qué otros temas de investigación trabaja actualmente?

EN: Bueno, tenemos mucho trabajo en el reconocimiento automático de eventos en multimedia. Así que además de trabajar con información textual, queremos trabajar con la búsqueda de videos de un tema en particular, simplemente describiendo lo que buscamos y eso es muy retador porque si piensas en videos de Youtube, varios de ellos están grabados con cámaras con baja calidad en sonido y video, y aunque es muy fácil detectar el tema de lo que alguien habla en un video como el de las noticias, donde la imagen y el sonido son de muy buena calidad, es difícil para una computadora entender estos videos de mala calidad.

También estamos haciendo trabajo en ayudar a la gente a hacer labores en bio-informática para el apoyo de decisiones. Una de las cosas que deviene de esto es que estas decisiones pueden tener múltiples facetas. Por ejemplo: decidir si rentas un departamento o rentas una casa, debo ver primero la localización, el precio, las características físicas. El problema es que toma mucho tiempo que tales decisiones se tabulen y después se correlacionen. Mejor podría preparar a una computadora para que pueda ayudar en este tipo de decisiones. Yo le daría las características esenciales con las que pueda encontrar todas las piezas relevantes del problema para que luego me las presente y yo pueda evaluarlos.

Creo que en el futuro, en vez de tener programas de computación en los que una persona someta una pregunta y la computadora conteste una respuesta, los programas podrán dar una compilación de respuestas a cierto tema y nos darán una idea de cuál será la mejor opción.

CJ: ¿Qué les diría a los estudiantes que están interesados en estudiar ingeniería en programación, especialmente en el ITAM?

EN: Bueno, creo que el consejo que daría es que piensen cómo pueden hacer una diferencia en el mundo real, ayudando a alguien que intenta alcanzar un objetivo para hacerlo mejor. Creo que en el caso de Watson, aunque es muy divertido tener a un programa de computadora jugando Jeopardy en la tele, la verdadera meta de tal programa era desarrollar un sistema capaz de ayudar a los doctores a hacer un mejor trabajo, lidiando con la literatura médica para diagnosticar a los pacientes. Creo que como ingeniero adquieres muchas habilidades para analizar requerimientos, para diseñar programas de computadora y construirlo y crearlo, pero también el programa ideal de computadora es aquel que pueda hacer una diferencia significativa en el mundo real. Así que viendo como tener un mejor uso de recursos de energía y de prioridades para un mejor trabajo tal como el trabajo o el transporte público son problemas del mundo real y como ingenieros tenemos una responsabilidad con la sociedad para no solo enfocarnos en cosas teóricas sino en crear soluciones que tengan un impacto práctico en el mundo real. Miren a su alrededor, y sueñen acerca de cómo pueden hacer una diferencia que pueden hacer y no tengan miedo de poseer una meta ambiciosa, porque las oportunidades están si puedes encontrar a alguien que tenga un problema y quiera solucionarlo, y estará feliz de ayudarte a resolverlo.

Para más información haga clik aquí