Actualmente diferentes compañías están trabajando en la creación de un bot que sea capaz de pasar el test de Turing, una prueba diseñada por el padre de la computación Alan Turing, con la cual se evalúa por medio de una conversación y una serie de preguntas, si se está a hablando con una máquina o con una persona. Aunque actualmente la inteligencia artificial (IA) ya cuenta con diversos avances en la medicina, el arte, geolocalización, videojuegos, reconocimiento facial y muchos otros campos; que nos permite poder avanzar las capacidades tecnológicas de diferentes ramas de la ciencia, pues con un entrenamiento, una máquina puede aprender a desarrollar tareas y entregar solucionas a diversos problemas que se le planteen.
Uno de estos, es el Procesamiento del lenguaje natural (NLP) con el que se pretende enseñarle a una maquina nuestro complejo lenguaje. Es un nuevo campo de la IA con la cual se pretende entrenar una máquina para comprender todos los elementos que contiene el lenguaje natural, y por medio de este, buscar una forma de comunicar la máquina con una persona usando el lenguaje del ser humano. Aunque se habla de que es un nuevo campo se debe tener presente que este tiene más de 50 años de investigación y desarrollo, aunque el mayor avance se ha realizado en los últimos años, gracias a la implementación de nuevos modelos que diferentes compañías han desarrollado. El NLP inicialmente se pensó como un reto con el cual vencer por fin el test de Turing, pero ¿qué preguntas son válidas y que clase de lenguajes debe conocer una máquina para garantizar que paso o no este test? ¿Puedo tan solo entablar una conversación de cultura generar para determinar una aprobación o no? ¿Si una máquina escribe todo un artículo, noticia, blog o un libro que sea coherente es suficiente para dar fin al test? Existen actualmente muchas tecnologías que cubren diferentes necesidades del test, el cual, al ser tan ambiguo en sus límites de lo que es una conversación sostenida con una persona, no garantiza que una máquina la apruebe o no, pero, si se logra ver ya un gran acercamiento a ese límite difuso, como lo trataremos a continuación.
¿Cómo se entrenan estas tecnologías?
Cada tecnología tiene sus diferentes métodos de entrenamiento, algunos pueden funcionar mejores que otros, pero independiente de esto tienen ciertos elementos con los cuales poder beneficiarnos.
El primer acercamiento que se presentó para la solución de este problema, fue la de inyectarle a la máquina todas las reglas gramaticales, con el fin de que esta pueda tener un listado de todas las posibles combinaciones de las herramientas que conforman el lenguaje, pero pronto se comprendió que esta tarea sería muy laboriosa, por no decir interminable, pues el lenguaje está en constante evolución, lo que implica que la maquina debe ser constantemente actualizada a las nuevas reglas que aparezcan aunque con las nuevas herramientas de machine learning podemos entregar una gran cantidad de texto con lo cual lograr que las reglas sean aprendidas por medio de u set de datos, y así lograr una conversación fluida a medida que el entrenamiento contenga más información.
Una red neuronal solo puede interpretar datos numéricos, con esto se puede pensar en que cada carácter en la computadora se ingresa con un numero codificado previamente, pero si deseo analizar una frase mirando cada carácter, no resulta muy conveniente, por esto y por simplicidad al artículo se tomara el nivel de las palabras, para esto se debe de asignar un token a cada palabra que se ingrese al set de datos.