Máquinas inteligentes

Adolfo Guzmán Arenas* | Opinión

Investigador del Centro de Investigación en Computación, IPN y miembro del Consejo Consultivo de Ciencias

Los escritos y otros documentos de texto -en español, digamos- son rutinariamente construidos y procesados en una computadora. Pero, ¿entiende ésta lo que el documento dice, su significado? No es suficiente que la computadora diga: “Sí, lo entiendo.” Una mejor prueba sería que responda correctamente a preguntas no triviales cuya respuesta se deduce del contenido del documento. Por ejemplo, si el documento dice “las ranas viven en el agua”, una pregunta trivial sería “¿dónde viven las ranas?”, en tanto que una no trivial sería “¿se mojan las ranas?”. Ahora, los documentos -de texto- que los humanos escriben sólo son entendibles por los humanos.

¿Qué se gana con que las computadoras entiendan lo que leen? Mucho. Si necesito saber cuáles son las sales del ácido nítrico, o cómo se llaman los renos de Santa Claus -uno es Rodolfo, el de la nariz roja-, hoy debo darle palabras clave a un buscador –Google– para que me arroje una gran cantidad de documentos, muchos de ellos irrelevantes, y debo leerlos (procesarlos) para hallar la respuesta. Si la máquina pudiera entender los documentos que ha leído, me daría la respuesta: “son los nitratos, el nitrato de sodio o salitre, usado como fertilizante, y el nitrato de potasio”. Es como si la bibliotecaria de mi centro hubiera leído y aprendido todos los libros que tiene. Ya no tendría yo que consultarlos, sólo preguntarle a ella. Sería una “sabelotodo” -o “sabematemáticas”, o “sabefinanzas”-. Dotada de la capacidad de aprender leyendo y de su actual poder deductivo, la computadora sería muy útil como repositorio y digestor del conocimiento, estaría exhibiendo “inteligencia artificial”. Sería posible que no sólo las personas, sino también las máquinas, hicieran deducciones, extrapolaciones, sacaran conclusiones y formularan hipótesis a partir de esta gran cantidad de conocimientos. Sin tener que ir guardándolos “a mano” en complejas bases de datos.

La comprensión de textos por computadoras es ahora limitada. Hoy, una computadora subraya con una rayita roja una palabra escrita con mala ortografía, y con una rayita verde una oración gramáticamente incorrecta. Si pudiese entender lo que estoy escribiendo -o leyendo-, me subrayaría con morado cuando una frase no fuera cierta, no concuerda con los datos externos (“Napoleón nació en Salina Cruz, Oaxaca”, “El autor de La guerra y la paz es Dostoievski”, o “Veracruz es la capital de Xalapa”, ejemplos tomados de un artículo reciente de Alma Delia Cuevas, http://goo.gl/GWJpx, en la revista CIENCIA de la Academia Mexicana de Ciencias). Aun así, la computadora no podría verificar si lo que lee es cierto. Si un documento dice que Veracruz es la capital de Xalapa, así será representado en la ontología -red de conceptos y relaciones entre ellos- correspondiente. Que la máquina detecte este error depende de si ya sabe que Xalapa es una ciudad.

Existen ya “sabelotodos” en la actualidad, con funcionalidad restringida. Por ejemplo, Wolfram Alpha (http://www.wolframalpha.com/). Pregúntele cuál es el río más largo de México. Luego, pregúntele cuál es el río más largo de África.

En el Centro de Investigación en Computación (CIC) del Instituto Politécnico Nacional (IPN), en colaboración con la Escuela Superior de Cómputo-IPN y con el Instituto de Estudios Superiores de Monterrey  (ITESM), estamos construyendo un “sabelotodo” que aprenderá leyendo y entendiendo artículos -documentos, libros, ensayos- en español, extrayendo el conocimiento que yace en cada uno de ellos y acumulándolo en ontologías que se usarán para contestar preguntas no triviales. El proyecto llamado OM1, patrocinado por el Consejo Nacional de Ciencia y Tecnología (Conacyt), tiene ya varias partes hechas y otras en construcción. Supongamos que queremos que la computadora sepa mucho de don Benito Juárez. Empezamos por localizar documentos relevantes [lo llevan a cabo nuestras arañas («crawlers» en inglés) que escudriñan la red; ya están hechas, ver http://goo.gl/O5l7x], que se depositan en BiblioDigital©, una biblioteca digital distribuida -ya está hecha-. A continuación, un analizador sintáctico («parser» en inglés; estamos robusteciendo el analizador FreeLing, http://nlp.lsi.upc.edu/freeling/) transforma el documento que contiene la biografía de don Benito en una red semántica llamada ontología. El analizador tiene que resolver ambigüedades (“el sobre que está sobre la mesa contiene una carta sobre Juárez”) u homónimos, sinónimos (caballo, corcel, cabalgadura, montura, jamelgo, cuaco), anáforas (pronombres), frases temáticas (chiflando en la loma; se cuecen habas) y otras “lindezas” del español. Esta transformación es la parte principal del proyecto OM y está en construcción. Le damos a OM varias biografías de don Benito y nos produce varias ontologías, una para cada documento. Ahora fusionamos estas ontologías (el fusionador ya está hecho, http://goo.gl/nT6KM, fue una tesis de doctorado en el CIC de 2006) para obtener una sola ontología que contiene la información agregada de todas ellas. El fusionador tiene que detectar y resolver inconsistencias, redundancias, relaciones superfluas, contradicciones, conceptos con el mismo nombre pero distinto significado (caballo animal versus caballo de ajedrez versus caballo de gimnasia versus caballo de vapor), y otros problemas. Por ejemplo, “Benito Juárez nació en Oaxaca”, nos dice una; otra dice “Benito Juárez nació en Guelatao”. ¿Es una contradicción? No. Son distintos niveles de precisión. Por ejemplo, una ontología habla de “chabacano” (una fruta), otra de “melocotones” y otra de “albaricoques”. OM tiene que detectar que son el mismo concepto. Antes, esta fusión se hacía “a mano”, con ayuda de un editor de ontologías que las “alineaba” y sugería ligas entre conceptos que quizá signifiquen lo mismo y una persona aceptaba o modificaba las relaciones. Desde 2006, la máquina lo hace automáticamente.

El fusionador tiene que entender que existen distintos puntos de vista cuando se habla de un tema. Un documento divide a las personas en jóvenes y viejas; otro lo hace en hombres y mujeres, y un tercero en chaparros, medianos y altos. No hay contradicción, son particiones compatibles. Nótese que OM no es un “guardián de la verdad” o verificador: no juzga si una ontología expresa conceptos que concuerdan con la realidad o son mentiras. Si “A” dice que la Tierra es plana y “B” también, su fusión producirá una ontología donde se registra que la Tierra es plana, por ser consistente con “A” y con “B”.

El fusionador es poderoso. Mientras una computadora amasa conocimiento sobre Benito Juárez -procesando documento tras documento que sobre Juárez le traen “las arañas”- otra lo hace sobre Abraham Lincoln, y una tercera sobre el ácido nítrico, sus derivados y usos. Luego, estas computadoras pueden fusionar su información y así tener una ontología que sabe del Benemérito de las Américas, del emancipador de los esclavos en EUA, y del ácido nítrico. Esto es algo que las personas no podemos hacer: intercambiar una copia de nuestra memoria con otra, para que yo le pase mis conocimientos de francés y ella me pase su amplio dominio del alemán. Pero las máquinas sí pueden amasar (fusionar) el conocimiento aprendido en distintos servidores. Y el fusionador ya está hecho. Así, será posible capturar una gran cantidad de conocimientos, vertiéndolos en una gran ontología que, de manera inambigua que relacione conceptos entre sí. El sabelotodo anhelado.

Para poder responder a preguntas complejas, OM debe tener un deductor o contestador, un programa que recibe la pregunta del usuario -quizá en español, quizá como una gráfica- y busca su respuesta en la ontología. El doctor Hugo Coyote, nuestro experto en bases de datos del CIC, empieza a construir el deductor, en el que usará una de las dos tecnologías siguientes. Un método para saber cómo se llama el padre de Abraham Lincoln es pedirle al deductor que fusione la ontología que representa “Abraham Lincoln no tuvo padre” con la ontología que ya existe. El deductor contesta “lo que dices es falso, pues hallé una contradicción: el padre de Abraham Lincoln fue Tomás Lincoln”. “Ah, gracias, era lo que yo quería saber”. Es el método de Resolución de J. A. Robinson. Otro método es tratar la pregunta como una consulta a una base de datos –después de todo, la ontología liga relaciones con conceptos, de manera parecida a lo que hacen las tablas de una base de datos. OM usa poco el Análisis Formal de Conceptos y usa más las Teorías de la Confusión y de la Inconsistencia (http://goo.gl/lJWIP), ambas de creación nuestra.

Además de trabajar en el deductor y en el analizador sintáctico, en el Proyecto OM estamos desarrollando lematizadores, detectores de frases temáticas (“no me calienta ni el sol”, “bases de datos distribuidas”) y desambiguadores (olla de arroz, olla de Oaxaca, olla de barro, olla de Juana). Posteriormente, trabajaremos en mejorar el manejo del tiempo, el que ahora “no transcurre” en los documentos que el fusionador puede amalgamar. Por ahora, se confunde porque el documento dice que Juárez fue estudiante en el Seminario de Oaxaca, gobernador de Oaxaca, presidente de la Suprema Corte de Justicia y Presidente de la República. ¡Cargos incompatibles si se ejercieran al mismo tiempo!

Los documentos que OM procesará son documentos descriptivos, que describen objetos, hechos o fenómenos de la vida real -herramientas, el Sistema Solar, las tortugas- y no contienen frases alegóricas, poesías, dobles sentidos, opiniones, filosofía, fábulas o sentimientos.

Resumen. ¿Una computadora puede aprender de lo que lee? La respuesta es: sí, si logra entender lo que el documento dice y procesar varios documentos sobre el mismo tema. Las computadoras aprenderán también “fusionando” su información con la de otras computadoras. La información la pueden obtener de textos, escritos y documentos que ya se encuentran en internet.

¿Qué tan lejos estamos de un “sabelotodo” que supere a Wolfram Alpha? Ya veremos dentro de unos tres años, cuando OM esté por concluir. Hasta entonces, hay mucho trabajo por hacer.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>