Inteligencia Artificial
Inteligencia artificial significa un uso o comportamiento de los ordenadores que va más allá de su funcionamiento meramente mecánico o programado que se le había asociado y nos empieza a parecer inteligente
, a pesar de ser artificial
.
Desde que se construyeron ordenadores se ha intentado dotarlos de alguna inteligencia artificial específica además de utilizarlos para cálculos y otras tareas mecánicas. De hecho LISP se plantea en los años 50 y es el segundo lenguaje en antigüedad que todavía se emplea.
Aplicaciones o tareas
desempeñadas por la Inteligencia Artificial
En un mundo cada vez más práctico la inteligencia artificial evoca principalmente sus aplicaciones.
Algunas de las tareas exclusivas de la Inteligencia Artificial, en las que podrían sustituir nuestra inteligencia biológica:
- jugar al ajedrez y otros juegos intelectuales (como el oriental go)
- planificar rutas y otras tareas espaciales
- demostrar teoremas
- reconocer imágenes
- entender, traducir y generar textos
En cierto sentido la historia de la Inteligencia Artificial es el logro de cada una de estas tareas sucesivamente.
Dos tipos de Inteligencia Artificial: simbólica y estadística
Existen dos tipos de inteligencia artificial, los cuales se suceden en el tiempo:
- Simbólica
-
Simbólico significa que emplea lenguajes de programación, los cuáles sirven tanto para realizar cálculos como para manejar símbolos. Estos lenguajes de programación son sumamente flexibles.
Tanto LISP como PROLOG, los dos grandes lenguajes de IA, se basan en la estructura de datos llamada lista. Estas se parecen a los arrays y listas enlazadas de C ó C++, o a los contenedores secuenciales de C++ (
std::vector
,std::deque
,std::array
) con la salvedad de que un elemento de una lista de IA puede contener a su vez una lista, el cuál a su vez [...] y así indefinidamente.Otra característica de los lenguajes de programación empleados en IA Simbólica es que permiten que un programa se modifique a sí mismo según se ejecuta (homoiconicidad).
- No simbólica o
estadística
-
Ya desde los inicios se propone resolver ciertos problemas mediante redes neuronales artificiales, formadas por circuitos electrónicos (actualmente circuitos electrónicos integrados) que emulan neuronas, o por programas de ordenador que simulan redes neuronales. ¿Acaso no es así como funciona el cerebro humano, si bien con materia orgánica?
En esencia una neurona artificial recibe unos estímulos (en el caso de las neuronas orgánicas por las dendritas), realiza un procesamiento simple de dichas entradas y produce una salida (por el axón en el caso de las orgánicas). Tanto las entradas como las salidas son números, análogos a los niveles de estimulación manejadas por sus homólogas biológicas.
Las neuronas, tanto las biológicas como las artificiales, poseen cierta memoria o estado, por lo que
aprenden
a comportarse de determinada manera. Más aún, en el total de todos los estados de la red neuronal reside el conocimiento y destreza del sistema.Se intuye que estas estructuras realizan un procesamiento en paralelo y que este paralelismo es lo que permite al cerebro animal reconocer imágenes y sonidos, orientarse, etc.
El programador se substituye por una especie de mago que configura o prepara la red neuronal, la
forma
oenseña
, y la lanza al mundo. Dicho sistema se convierte en una caja negra, funciona (realiza esa clase de tareas que entonces o ahora se consideran inteligentes) pero no se sabe con certeza cómo.
Texto: Máquinas que entienden, traducen, escriben, generan...
El dueño del campechano camping, a cien kilómetros de la frontera con Francia, no me necesita para que haga de intérprete con extranjeros. Le basta con hablarle al teléfono y éste se lo traduce por escrito. Con un holandés, utilizando de lengua común el inglés, no considero que yo lo haría mejor.
Por tanto de primeras me han llamado la atención dos interacciones lingüísticas con los ordenadores:
- La traducción automática, de la que actualmente se ofrecen versiones gratuitas bastante potentes, y
- la redacción automática de textos, que trae de cabeza a los profesores, casi incapaces de averiguar si los ha escrito el alumno o una suscripción gratuita a ChatGPT
Muchas Inteligencias Artificiales disponen de un potente módulo consistente en un modelo o representación interna de una lengua, un Gran Modelo Lingüístico (Large Language Model o LLM). Fijémonos en que muchas de las tareas que les pedimos a los ordenadores y que nos hacen considerarlos cuasi-inteligentes se basan fuertemente en el lenguaje. Por ejemplo el Test de Turing ciertamente es marcadamente lingüístico: una máquina se hace pasar por un ser humano por su interacción escrita con los examinadores.
A menudo el modelo empieza por un divisor o troceador (tokenizer) que extrae las palabras de un texto y las presenta en forma de lista. Las versiones más sofisticadas podrían conservar la puntuación en trozos separados, o entregar una tira de palabras por cada frase terminada en punto, etc.
Esta fase inicial de troceado se podría realizar fácilmente mediante expresiones regulares.
Por ejemplo el siguiente párrafo:
Los jugadores, viendo llegar el final, aflojaron la atención. El gol del desempate llegó antes de que el árbitro diera el postrer silbido.
podría dar lugar a dos tiras:
- Los jugadores viendo llegar el final aflojaron la atención
- El gol del desempate llegó antes de que el árbitro diera el postrer silbido
A continuación el modelo intentaría analizar morfológicamente cada palabra y presentar por cada una (1) su raíz y (2) su flexión. Por ejemplo de jugadores
la raíz es jugador
y su flexión es masculino plural.
El análisis morfológico se realizaría mediante expresiones regulares.
Estas dos fases de división en palabras y análisis aislado (morfológico) de las mismas resulta muy sencillo gracias a, repito, las expresiones regualares.
A continuación se me ocurren dos tipos de operaciones:
- simples: observar correlaciones, frecuencias de términos, variedad de vocabulario etc.
- de comprensión: el modelo intenta comprender el texto y generar una representación interna del mismo
Operaciones simples o sencillas
Se me ocurren algunas deducciones bastante simples:
Por ejemplo podría notar que determinados textos, probablemente una minoría, utilizan la palabra consiguiente
no precedida por la palabra por
. Normalmente utilizamos la palabra consiguiente
en la expresión por consiguiente
, su uso como adjetivo es relativamente culto (como en el consiguiente destrozo ocasionado
).
Sin llegar a ser exhaustivo un análisis sencillo podría establecer:
- frecuencias: número de veces que se emplea una palabra o raíz
- correlaciones: lo cerca que una palabra tiende a aparecer de otra
- tema: a qué campo pertenece el texto en vista de su vocabulario específico
- tono: determinar si el texto es vulgar, delicado, retorcido, simplón, insultante, subjetivo, formal etc.
- persona: si está escrito en primera persona de singular, o de plural, en segunda (tú, vosotros), su género (masculino o femenino)...
Operaciones de comprensión y generación
Exigen un aparato mucho más complejo un verdadero Gran Modelo de Lenguaje (LLM), mediante el cual se produce una representación interna del significado del texto.
Estos mismos modelos sirven para la operación inversa: la generación de textos a partir de representaciones internas.
Estas aplicaciones parecen haber saltado otra gran barrera, por no decir la más alta o más emblemática, la de comprender, manejar conceptos, generar contenido. Un coto que hasta hace poco considerábamos exclusivo de la mente humana.