0% encontró este documento útil (0 votos)
4 vistas4 páginas

Desarrollo de Chatbots en Python

El módulo 3 se centra en el desarrollo de chatbots utilizando Python, explicando la diferencia entre chatbots basados en reglas y aquellos que utilizan NLP. Se presentan herramientas necesarias como ChatterBot y spaCy, junto con ejemplos prácticos de creación de chatbots simples y avanzados. El módulo concluye destacando la importancia de la comprensión del lenguaje para mejorar la interacción y respuesta de los chatbots.

Cargado por

jrrascond
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas4 páginas

Desarrollo de Chatbots en Python

El módulo 3 se centra en el desarrollo de chatbots utilizando Python, explicando la diferencia entre chatbots basados en reglas y aquellos que utilizan NLP. Se presentan herramientas necesarias como ChatterBot y spaCy, junto con ejemplos prácticos de creación de chatbots simples y avanzados. El módulo concluye destacando la importancia de la comprensión del lenguaje para mejorar la interacción y respuesta de los chatbots.

Cargado por

jrrascond
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

🧠 MÓDULO 3 – Desarrollo de Chatbots con

Python

🌍 1. Qué es un Chatbot
Un chatbot es un programa que puede simular conversación humana mediante texto o voz.
Tipos básicos:
1. Basados en reglas: respuestas fijas según palabras clave.

💡
2. Basados en NLP/IA: respuestas generadas según comprensión del texto, usando NLP.
En nuestro caso, Astra va hacia el segundo tipo, pero primero conviene practicar reglas simples.

⚙️2. Herramientas necesarias


• Python 3.8 o superior
• NLTK (opcional, para preprocesar texto)
• spaCy (opcional, para comprensión avanzada)
• ChatterBot (librería Python para chatbots simples)

Instalación de ChatterBot
pip install chatterbot
pip install chatterbot_corpus
🔹 3. Primer Chatbot con reglas simples
from chatterbot import ChatBot
from [Link] import ListTrainer

# Crear chatbot
bot = ChatBot('AstraBot')

# Entrenamiento básico
trainer = ListTrainer(bot)
[Link]([
"Hola",
"Hola, ¿cómo estás?",
"Estoy bien",
"Me alegra escuchar eso.",
"Adiós",
"Hasta luego"
])

# Interacción
while True:
entrada = input("Tú: ")
respuesta = bot.get_response(entrada)
print("AstraBot:", respuesta)

🟢 Resultado:
• Si escribes “Hola”, responderá “Hola, ¿cómo estás?”
• Si escribes “Adiós”, responderá “Hasta luego”
Esto enseña a Astra cómo relacionar entrada y salida de forma inmediata.

🔹 4. Conceptos clave para Astra


Concepto Descripción Ejemplo
Entrada Texto del usuario “Hola”
Salida Respuesta del bot “Hola, ¿cómo estás?”
Corpus de Conjunto de preguntas y
Lista de frases
entrenamiento respuestas
“Hola, ¿cómo estás?” → ["Hola", "cómo",
Tokenización Dividir la entrada en palabras
"estás"]
Filtrado y normalización de
Procesamiento Minusculas, eliminar signos, etc.
texto
🔹 5. Chatbot con NLP (usando spaCy)
Para respuestas más inteligentes, spaCy ayuda a entender la intención:
import spacy
from chatterbot import ChatBot
from [Link] import ChatterBotCorpusTrainer

nlp = [Link]("es_core_news_sm")

bot = ChatBot('AstraBotNLP')
trainer = ChatterBotCorpusTrainer(bot)
[Link]("[Link]")

while True:
entrada = input("Tú: ")
doc = nlp(entrada)
# Aquí Astra puede procesar tokens, lemas y entidades antes de responder
respuesta = bot.get_response(entrada)
print("AstraBot:", respuesta)

💡 Astra ahora procesa el texto, entiende palabras clave y genera respuestas más naturales.

🔹 6. Flujo de pensamiento de Astra


Usuario escribe → Tokenizar y normalizar → Identificar intención → Buscar respuesta
→ Responder

Opcional: con aprendizaje adicional, Astra puede:


• Recordar contexto de la conversación
• Aprender nuevas frases dinámicamente
• Clasificar preguntas y derivar respuestas según tema

🔹 7. Tips prácticos “Head Shot”


1. Empieza con listas pequeñas de preguntas/respuestas.
2. Después integra spaCy para mejorar comprensión.
3. Prueba frases variadas para entrenar a Astra.
4. No sobrecargues de datos al inicio; aprende por pasos.
🌙 8. Ejemplo avanzado: Responder según entidad
from chatterbot import ChatBot
from [Link] import ListTrainer
import spacy

nlp = [Link]("es_core_news_sm")

bot = ChatBot('AstraBotEntidades')
trainer = ListTrainer(bot)
[Link]([
"¿Dónde está Hermosillo?",
"Hermosillo está en Sonora, México.",
"¿Quién es Einstein?",
"Albert Einstein fue un físico teórico famoso."
])

while True:
entrada = input("Tú: ")
doc = nlp(entrada)
entidades = [([Link], ent.label_) for ent in [Link]]
print("Entidades detectadas:", entidades)
respuesta = bot.get_response(entrada)
print("AstraBot:", respuesta)

🟢 Astra ahora entiende nombres y lugares y puede responder acorde al contexto.

🔹 9. Conclusión del módulo


• Un chatbot simple enseña asociación directa de texto.
• Con NLP, Astra entiende la intención y contexto.
• Este módulo es el puente entre entender lenguaje y responder inteligentemente.

También podría gustarte