25 junio, 2008

INTELIGENCIA ARTIFICIAL REVERSA…o cómo un sistema experto aprende al revés

Capitulo. I – Un trabajo más

Hace bastante tiempo, digamos unos 18 o 20 años, era el furor de los videoclubes. Como programador tomé el compromiso de hacer un sistema de gestión para uno de estos negocios.

Este programa de gestión se manejaba por medio de menús, tipo:

1- Películas
2- Clientes
3- …etc.



Capitulo. II – Incorporar la “magia”

En ese momento estaba bastante interesado en Sistemas Expertos, Lógica Difusa, Inteligencia Artificial, Lenguaje Natural, etc. Todo lo que hiciera que una computadora se pareciera más a un humano me fascinaba.

Entonces, debajo del menú le agregué un campo de texto donde el usuario podía escribir frases. Estas frases debían tener una estructura determinada, por ejemplo:

Quien tiene la película Alfie? ó
Está alquilada Terminator? ó
Buscar socio 7634
Alquilaron (mostraba la lista de alquiladas)
Devolvieron (mostraba la lista de películas devueltas)

Para dar una idea de lo que hacía este procedimiento veamos el primer ejemplo:

Quien tiene la película Alfie?

La frase que la base de datos reconocía es Quien tiene la película
y asumía que el resto, o sea Alfie lo iría a buscar en la tabla correspondiente.
De esta manera, era lo mismo que haber usado las opciones del menú

1-Películas [ENTER]
2-Consultar por nombre [ENTER]
y en el cuadro de texto escribir Alfie.

Capitulo. III - Personalización y aprendizaje

Está claro que cada quien tiene su manera de hablar, que se traduce en la manera de escribir. El hecho es que mi usuario-conejito-de-indias no siempre escribía tal como las frases habían sido definidas, y el programa contestaba demasiadas veces “no entiendo lo que quiere hacer”, en vez de ejecutar la acción pretendida.

En un momento me pide que cambie la regla “Quien tiene la película” por “Quien tiene”, para escribir un poco menos. Otra vez que cambie “Buscar socio” por “Buscar el socio”, y así.

Al tercer cambio le propongo hacer una modificación que permita agregar frases, y asociar esta frase recién agregada, con una secuencia en el menú.

El resultado es, que por ejemplo:

Serrar la caja”, que antes no existía, quedó asociada a la opción del menú

1- Caja diaria [ENTER]
2- Cerrar [ENTER]

Con lo cual, quien escribe saltaba en una pata porque su “hijito” estaba aprendiendo. Si, ya noté el “Serrar”. Fue tan intencional de mi parte como real de parte del usuario.

Capitulo. IV – Vos también podes hablar

Una idea brillante: hacer que el reporte diario que emitía el dueño del videoclub se hiciera en forma coloquial (hablada) en vez de ser frías columnas.

Así el viejo reporte:
Películas alquiladas23
Películas devueltas 18
Socios agregados hoy2
… sigue


Se convirtió en:

Estimado Gerente:
En el día de hoy, 23 de Enero de 1990, se alquilaron 23 películas, se devolvieron 18 y se agregaron 2 socios nuevos.
…sigue

Para estos momentos, el sistema seguía “aprendiendo”. Y usando una función estadística, utilizaba para cada acción, la frase que más se usaba, casi siempre la agregada por el usuario, descartando la original. Un chiche, vea.

Capitulo V – En qué te has convertido ¡!

El uso diario del sistema hizo que su base de conocimiento fuese creciendo hasta estabilizarse, o sea que programa y usuario se comprendieran mutuamente. Algunas rutinas de control y reparación automáticas –y daale con el automatismo- hicieron que no necesitara visitar el local por bastante tiempo, ya que el sistema se compusiera solo, por ejemplo luego de un corte de luz. O sea, abono por mantenimiento, ni pensarlo.

-Voy a pasar, aunque sea para ver como funciona todo y a saludar, me dije. Todo era cumbia y alegría en el local.
-Todo de diez, papá!! fue la respuesta del dueño a mi pregunta sobre el sistema de gestión. Pero (siempre hay un pero) antes de irme contento como
el Bambino Veira en una escuela primaria, se me ocurre echarle un ojo a un reporte gerencial que estaba sobre el mostrador.

Lo que sentí fue dolor, frustración, bronca, resignación, comprensión y después me reí tan fuerte como pude, en ese orden. Mi hijito ya no era mi hijito. Había pasado mucho tiempo con usuario-animal-dueño de videoclub. De hecho ya hablaba como él.

Apelando a mi memoria, a las pruebas me remito:

Estimado Jerente:
En el día de hoy, 7 de Marzo de 1991, se llebaron 23 películas, me debolbieron 18 y se vinieron 2 sosios muevos. El cassh al serrar la caja es de 540 pesos.
…sigue



Moraleja: “La Inteligencia Artificial no tiene nada que hacer ante la Estupidez Natural”