DR.
WOLF LUIS MOCHAN BACKAL INSTITUTO
DE CIENCIAS FISICAS UNIVERSIDAD
NACIONAL AUTONOMA DE MEXICO Presente Adjunto
al presente mensaje me permito hacerle llegar el artículo escrito por el
consejero Dr. Adolfo Guzmán Arenas, titulado, “Cuando las
máquinas entiendan lo que leen”, publicado el día de hoy en la
sección Opinión del periódico La Crónica de Hoy. Aprovecho
la ocasión para mandarle un cordial saludo. Atentamente, Dr.
Rigoberto Aranda Reyes Secretario
Ejecutivo Adjunto Consejo
Consultivo de Ciencias de la Presidencia
de la República San
Francisco No. 1626-305 Col.
Del Valle Delegación
Benito Juárez 03100
México, D.F. Teléfonos (52
55) 5524-4558, 5524-9009 y 5534-2112 Adolfo
Guzmán Arenas* |
Opinión 2011-08-03 |
Cuando
las máquinas entiendan lo que leen 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. *Investigador
del Centro de Investigación en Computación, IPN y miembro del Consejo
Consultivo de Ciencias 1
Ontology Merging |