¿Cómo hacer un chatbot en Python usando el módulo Chatterbot?

Un ChatBot es básicamente un programa informático que lleva a cabo una conversación entre un usuario y una computadora a través de métodos auditivos o textuales. Funciona como un compañero de conversación del mundo real.

ChatterBot es una biblioteca en Python que genera una respuesta a la entrada del usuario. Usó una serie de algoritmos de aprendizaje automático para generar una variedad de respuestas. Hace que sea más fácil para el usuario crear un chatbot utilizando la biblioteca de chatterbot para obtener respuestas más precisas. El diseño del chatbot es tal que permite que el bot interactúe en muchos idiomas, que incluyen español, alemán, inglés y muchos idiomas regionales. Los algoritmos de aprendizaje automático también facilitan que el bot mejore por sí solo con la entrada del usuario.

¿Cómo hacer un Chatbot en cinco pasos usando Python?

Tomaremos un enfoque paso a paso y eventualmente crearemos nuestro propio chatbot. 

 Comencemos el viaje de nuestro propio chatbot de la manera más corta posible:-

Paso 1. Instale el módulo Chatterbot y chatterbot_corpus:

El primer y más importante paso es instalar la biblioteca de chatterbot. También necesita instalar la biblioteca chatterbot_corpus. Básicamente, Corpus significa un montón de palabras. El corpus de Chatterbot contiene una gran cantidad de datos que se incluyen en el módulo de Chatterbot. Los bots utilizan el corpus para entrenarse a sí mismos. 

Ejecute los siguientes comandos pip en la terminal para la instalación:

pip install chatterbot
pip install chatterbot_corpus

Paso 2. Importa los módulos

tenemos que importar dos clases: ChatBot de chatterbot y ListTrainer de chatterbot.trainers.

ListTrainer: permite entrenar un chatbot utilizando una lista de strings donde la lista representa una conversación.

Python3

from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer

Paso 3. Nombra nuestro Chatbot:

Ahora, le daremos cualquier nombre al chatbot de nuestra elección. Simplemente cree un objeto Chatbot. Aquí, el chatbot se maneja como «Bot» solo para que sea comprensible.

Python3

bot = ChatBot('Bot')

Paso 4. Uso del adaptador lógico:

 El adaptador lógico regula la lógica detrás del chatterbot, es decir, selecciona respuestas para cualquier entrada que se le proporcione. Este parámetro contiene una lista de todos los operadores lógicos. Cuando se utiliza más de un adaptador lógico, el chatbot calculará el nivel de confianza y la respuesta con la confianza calculada más alta se devolverá como salida. 

Aquí hemos utilizado dos adaptadores lógicos:  

  1. BestMatch: BestMatchAdapter lo ayuda a elegir la mejor coincidencia de la lista de respuestas ya proporcionada.
  2. TimeLogicAdapter: TimeLogicAdapter identifica declaraciones en las que se hace una pregunta sobre la hora actual. Si se detecta una pregunta coincidente, se devuelve una respuesta que contiene la hora actual.

Python3

chatbot = ChatBot(
    'JARVIS',  
    logic_adapters=[
        'chatterbot.logic.BestMatch',
        'chatterbot.logic.TimeLogicAdapter'],
)  

Paso 5. Capacitación, comunicación y pruebas:

Para el proceso de capacitación, deberá pasar una lista de declaraciones donde el orden de cada declaración se basa en su ubicación en una conversación determinada. Tenemos que entrenar al bot para mejorar su rendimiento, para esto necesitamos llamar al método train() pasando una lista de oraciones. La capacitación garantiza que el bot tenga suficiente conocimiento para comenzar con respuestas específicas a entradas específicas. Después del entrenamiento, revisemos sus habilidades de comunicación. Y el último paso es hacer pruebas. 

Tienes que ejecutar los siguientes comandos ahora:

Python3

from chatterbot.trainers import ListTrainer
  
trainer = ListTrainer(bot)
  
trainer.train([
    'Hi',
    'Hello',
    'I need roadmap for Competitive Programming',
    'Just create an account on GFG and start',
    'I have a query.',
    'Please elaborate, your concern',
    'How long it will take to become expert in Coding ?',
    'It usually depends on the amount of practice.',
    'Ok Thanks',
    'No Problem! Have a Good Day!'
])

Ahora vamos a probar el chatbot:

Python3

response = bot.get_response("Good morning!")
  
print(response)

Producción:

Hello

A continuación se muestra la implementación completa:

Python3

from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
from chatterbot.trainers import ListTrainer
  
bot = ChatBot('Bot')
  
trainer = ListTrainer(bot)
  
trainer.train([
    'Hi',
    'Hello',
    'I need roadmap for Competitive Programming',
    'Just create an account on GFG and start',
    'I have a query.',
    'Please elaborate, your concern',
    'How long it will take to become expert in Coding ?',
    'It usually depends on the amount of practice.',
    'Ok Thanks',
    'No Problem! Have a Good Day!'
])
  
while True:
    request=input('you :')
    if request == 'OK' or request == 'ok':
        print('Bot: bye')
        break
    else:
        response=bot.get_response(request)
        print('Bot:', response)

Producción:

Publicación traducida automáticamente

Artículo escrito por pulkitagarwal03pulkit y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *