¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Inteligencia artificial fácil
  3. Homenaje al primer ChatBot
Extrait - Inteligencia artificial fácil Machine Learning y Deep Learning prácticos
Extractos del libro
Inteligencia artificial fácil Machine Learning y Deep Learning prácticos
3 opiniones
Volver a la página de compra del libro

Homenaje al primer ChatBot

Introducción

En el capítulo anterior hemos visto cómo se puede crear interacción entre el hombre y la máquina con la ayuda de medios sofisticados, como la detección de formas y el reconocimiento de letras usando redes neuronales circunvolucionales.

Sin embargo, no podíamos despedirnos sin haber rendido homenaje al primer ChatBot que también hizo posible este encuentro entre el hombre y la máquina con medios técnicos mucho más sencillos. Además, este ChatBot fue el que, hace unos diez años y por una lectura casual, creó en mí el deseo de descubrir qué era la inteligencia artificial. Por eso hemos querido compartir con usted lo que, para nosotros, marcó el punto de partida de una gran aventura.

Eliza

Escrito por Joseph Weizenbaum (Alemania) entre 1964 y 1966, el programa Eliza fue el primer ChatBot que desempeñó el papel de un psiquiatra, donde el usuario del programa era el paciente.

En comparación con los ChatBots actuales, Eliza parece insignificante. Pero, a pesar de su funcionamiento sencillo basado en la sustitución de palabras clave, muchos usuarios creyeron que hablaban con un doctor auténtico.

1. ¿Cómo funciona Eliza?

Cuando se le propone una frase a Eliza, el algoritmo busca en ella una palabra clave que conozca y luego propone una respuesta en función de esta palabra clave. En la mayor parte de los casos, esta respuesta es una pregunta abierta para provocar que el usuario continúe con la conversación.

Por ejemplo:

  • El usuario hace la siguiente afirmación: "Quiero un coche".

Al algoritmo se le ha dado la información de que cuando reconozca la palabra clave "Quiero", extraiga el texto situado después de esta palabra clave y lo utilice en una frase de respuesta:

(  
   r'Quiero (.*)',  
   (  
       "¿Puedes explicarme por qué has elegido %1?",  
       "¿Por qué quieres %1?",  
       "¿Por qué %1?",  
       "¿Quién más sabe que quieres 1 %?",  
   ),  
), 

La respuesta debe elegirse al azar entre las cuatro posibles; las respuestas emitidas por Eliza pueden ser:

  • ¿Puedes explicarme por qué has elegido un coche?

  • ¿Por qué quieres un coche?

  • ¿Por qué un coche?

  • ¿Quién más sabe que quieres un coche

Le invitamos a sustituir la palabra "coche" por la frase "saber cómo funcionas" para que sea consciente del límite de este funcionamiento:

  • ¿Puedes explicarme por qué has elegido saber cómo funcionas?

La complejidad de este ChatBot no reside en su programación o en la comprensión de su funcionamiento, sino en la creación de las distintas palabras clave y sus respuestas asociadas porque deben estar en concordancia con el caso práctico de ChatBot (medicina, agencia de viajes…). Todo ello mientras...

Otros ChatBots

El submódulo Chat del módulo NLTK (Natural Language Toolkit) ofrece la implementación de distintos ChatBots como Eliza, Rude y otros que funcionan basándose en el principio de la reflexión, es decir, la búsqueda de palabras clave y la construcción de respuestas a partir de esta palabra clave.

Si lo desea, puede introducir estas líneas de programa en un archivo de Python nuevo para probarlas. Atención, el ChatBot Rude corre el riesgo de molestarle con sus respuestas.

Las conversaciones con los ChatBots deben hacerse obligatoriamente en inglés. 

from __future__ import print_function  
  
from nltk.chat.util import Chat  
from nltk.chat.eliza import eliza_chat  
from nltk.chat.iesha import iesha_chat  
from nltk.chat.rude import rude_chat  
from nltk.chat.suntsu import suntsu_chat  
from nltk.chat.zen import zen_chat  
  
bots = [  
   (eliza_chat, 'Eliza (Psiquiatra)'),  
   (iesha_chat, 'Iesha (Adolescente drogadicto)'),  
   (rude_chat, 'Rude (ChatBot incorrecto)'),  
   (suntsu_chat, 'Suntsu (Proverbios chinos)'),  
   (zen_chat, 'Zen (Perlas de sabiduría)'),  
]  
  
  
def chatbots():  
 ...

Ya hemos llegado al final

Este caso práctico también suena a final de este libro. A medida que avanzaba en su lectura y a través de casos concretos, ha podido descubrir los aspectos de Machine Learning y de Deep Learning. Hemos intentado simplificar conceptos complejos y esperamos haberlo conseguido.

Como ya hemos mencionado en la presentación de este libro, ante todo este debe ser considerado como un punto de entrada a la comprensión y la implementación de proyectos que giran en torno a la inteligencia artificial. Intentando no ofender a los especialistas, muchos conceptos han sido abordados de manera escueta, pero ahora este enfoque le permite continuar con su aventura teniendo en cuenta los principios fundamentales que le permitirán, entre otras cosas, comprender los distintos artículos y tutoriales que lea en Internet o en libros especializados.

¿Qué hacer a continuación? Ahora tiene que lanzarse a la realización de proyectos de Machine Learning y de Deep Learning. Para conseguirlo, le invitamos a realizar los retos que aparecen en el sitio web de Kaggle. Estos ejercicios le permitirán asentar sus habilidades y adquirir otras nuevas. Sin olvidar las posibilidad que puede brindarle el intercambio con una gran cantidad de personas de todo el mundo que trabajan en el campo de la inteligencia artificial. Eso le permitirá obtener una visión sobre su trabajo. Por supuesto, somos...