Como hacer un ChatBot en Python, Tutorial nltk

En este tutorial, te mostraré cómo crear un chatbot básico utilizando Python y la biblioteca de procesamiento del lenguaje natural (NLP) llamada «nltk».

Paso 1: Instalar la biblioteca «nltk»

Para comenzar, necesitas instalar la biblioteca «nltk». Abre una terminal o ventana de línea de comandos y escribe el siguiente comando:

pip install nltk

Si tienes algún problema al instalar «nltk», asegúrate de tener instalado «pip», que es un administrador de paquetes de Python.

Paso 2: Importar librerías y datos

Después de instalar «nltk», debemos importar las bibliotecas necesarias para nuestro chatbot. Abre tu editor de código favorito y escribe lo siguiente:

import nltk
from nltk.chat.util import Chat, reflections

La biblioteca «reflections» contiene un diccionario que nos ayudará a crear un chatbot más realista. También necesitaremos importar algunos datos para nuestro chatbot, que se encuentran en la biblioteca «nltk». Para hacerlo, escribe lo siguiente:

nltk.download('punkt')
nltk.download('wordnet')

El primer comando descarga los datos necesarios para tokenizar el texto, mientras que el segundo comando descarga los datos necesarios para la lematización del texto.

Paso 3: Definir patrones y respuestas

Ahora debemos definir los patrones y respuestas que utilizará nuestro chatbot. Un patrón es una cadena de texto que el chatbot buscará en el texto de entrada del usuario, y una respuesta es la cadena de texto que se mostrará al usuario si el chatbot encuentra una coincidencia.

Por ejemplo, si el usuario escribe «hola», el chatbot podría responder «¡Hola! ¿Cómo estás?». Para crear patrones y respuestas, escribe lo siguiente:

pairs = [
    [
        r"mi nombre es (.*)",
        ["Hola %1, ¿cómo estás hoy?"]
    ],
    [
        r"hola|buenas",
        ["¡Hola! ¿Cómo estás hoy?"]
    ],
    [
        r"¿qué es lo que haces?",
        ["Soy un chatbot diseñado para tener conversaciones contigo."]
    ],
    [
        r"¿cuál es tu nombre?",
        ["Mi nombre es ChatGPT, ¡mucho gusto!"]
    ],
    [
        r"adiós",
        ["¡Hasta pronto!", "¡Nos vemos!"]
    ],
]

En este ejemplo, hemos creado un conjunto de pares de patrones y respuestas. El primer elemento de cada par es una expresión regular que el chatbot buscará en el texto de entrada del usuario, mientras que el segundo elemento es una lista de posibles respuestas.

Paso 4: Crear y ejecutar el chatbot

Ahora estamos listos para crear y ejecutar nuestro chatbot. Para hacerlo, escribe lo siguiente:

chatbot = Chat(pairs, reflections)
chatbot.converse()

La función «Chat» toma dos argumentos: la lista de

pares de patrones y respuestas, y el diccionario de reflexiones que importamos anteriormente. Luego, la función «converse» inicia el chatbot y espera a que el usuario ingrese texto.

Paso 5: Prueba el chatbot

Listo, Has creado un chatbot básico en Python utilizando la biblioteca «nltk». Ahora puedes probar tu chatbot escribiendo diferentes frases que coincidan con los patrones que definiste en el paso 3. El chatbot debería responder con una de las respuestas que definiste.

codigo completo:

import nltk
from nltk.chat.util import Chat, reflections

nltk.download('punkt')
nltk.download('wordnet')

pairs = [
    [
        r"mi nombre es (.*)",
        ["Hola %1, ¿cómo estás hoy?"]
    ],
    [
        r"hola|buenas",
        ["¡Hola! ¿Cómo estás hoy?"]
    ],
    [
        r"¿qué es lo que haces?",
        ["Soy un chatbot diseñado para tener conversaciones contigo."]
    ],
    [
        r"¿cuál es tu nombre?",
        ["Mi nombre es ChatGPT, ¡mucho gusto!"]
    ],
    [
        r"adiós",
        ["¡Hasta pronto!", "¡Nos vemos!"]
    ],
]

chatbot = Chat(pairs, reflections)
chatbot.converse()