Curso de Desarrollo de Chatbot con PLN en Django con Python (Programa detallado)
Objetivo
Desarrollar la capacidad para diseñar, implementar y gestionar chatbots inteligentes e interactivos en aplicaciones web utilizando Django y Python, integrando habilidades de procesamiento de lenguaje natural para mejorar la experiencia del usuario y optimizar la interacción entre usuarios y chatbots.
Dirigido a:
El curso está dirigido a desarrolladores, estudiantes de programación o profesionales con conocimientos en Python y Django que deseen integrar chatbots en sus aplicaciones web utilizando clases.
Requisitos:
Para sacarle el máximo partido a esta formación es indispensable poseer conocimientos previos del lenguaje de programación Python, así como, entornos virtuales de desarrollo, conocimiento básico del framework Django y maquetación web(HTML y CSS)
PROGRAMA DEL CURSO
1.- Conceptos básicos de chatbots
Objetivo
- Comprender los conceptos básicos de los chatbots y su importancia en la actualidad.
- Identificar los distintos tipos de chatbots y sus aplicaciones en diversas áreas.
Contenido
- UNIDAD 1. INTRODUCCIÓN A LOS SISTEMAS CONVERSACIONALES
- 1.1. ¿Qué es un chatbot?
- 1.2. Una breve historia de los chatbots
- 1.3. La evolución hacia los sistemas conversacionales actuales
- 1.4. Tipos de sistemas conversacionales
- 1.5. ¿Cómo funciona un chatbot moderno?
- 1.6. ¿Para qué se utilizan los chatbots?
- 1.7. Ventajas y limitaciones
- 1.8. Diseño de una conversación
- 1.9. Ejercicio guiado: diseño de un chatbot para una biblioteca
- 1.10. Del guion al diagrama de flujo
- 1.11. Del chatbot basado en reglas al chatbot basado en IA
- 1.12. Una nueva forma de entender un chatbot
- 1.13. Actividad práctica
- 1.14. Resumen
2.- Repaso de Django
Objetivo
- Configurar y estructurar un proyecto Django básico para la implementación de un chatbot.
- Implementar y configurar vistas, URLs y plantillas en Django, aplicando el patrón MVC.
Contenido
- Repaso de Django
- Modelos
- Vistas
- Plantillas
- Principales características y ventajas de Django en el desarrollo web
- Configuración del entorno de desarrollo
- Estructura del proyecto Django
- Resumen
3.- Fundamentos de Python para chatbots
Objetivo
- Utilizar variables, estructuras de control, y funciones en Python para desarrollar la lógica básica de un chatbot.
- Aplicar el manejo de excepciones y la comprensión de listas para optimizar el código del chatbot.
Contenido
- Fundamentos de Python para chatbots
- Variables
- Tipos de datos
- Estructuras de control
- Funciones y manejo de excepciones
- Comprensión de listas
- Manejo de archivos
- Resumen
4.- Introducción al Procesamiento de Lenguaje Natural (PLN)
Objetivo
- Implementar funciones básicas de procesamiento de texto usando las bibliotecas NLTK y spaCy.
- Realizar tokenización, análisis de partes del discurso y análisis de entidades nombradas para mejorar la comprensión del lenguaje por parte del chatbot.
Contenido
- Introducción al Procesamiento de Lenguaje Natural (PLN)
- Introducción al Procesamiento de Lenguaje Natural (PLN)
- Bibliotecas de procesamiento de lenguaje natural
- NLTK (Natural Language Toolkit)
- spaCy: "space" (espacio) + "syntax" (sintaxis)
- Resumen
5.- Principios de diseño de chatbots
Objetivo
- Aplicar principios de diseño conversacional y UX en la creación de un chatbot intuitivo y fácil de usar.
- Diseñar un flujo conversacional que incluya la gestión de mensajes erróneos o inesperados.
Contenido
- Principios de diseño de chatbots
- Introducción al diseño conversacional
- Principios UX en un chatbot
- Flujo conversacional mejorado: reserva de sala de estudio
- Manejo de mensajes inesperados o erróneos
- Resumen
6.- Modelado de datos y arquitectura del chatbot
Objetivo
- Diseñar un flujo conversacional que incluya la gestión de mensajes erróneos o inesperados.
- Definir y modelar las entidades clave de un chatbot en Django utilizando modelos.
- Aplicar migraciones de Django para gestionar la base de datos del chatbot.
- Optimizar el modelado de datos y las relaciones entre modelos en el chatbot.
Contenido
- Modelado de datos y arquitectura del chatbot
- Arquitectura del chatbot en Django
- Modelado de datos en Django
- Gestión de migraciones
- Patrones alternativos al MTV
- Optimizaciones en el modelado de datos
- Resumen
7.- Implementación de funcionalidades básicas: Vistas y rutas
Objetivo
- Implementar funciones básicas de procesamiento de texto usando las bibliotecas NLTK y spaCy.
- Realizar tokenización, análisis de partes del discurso y análisis de entidades nombradas para mejorar la comprensión del lenguaje por parte del chatbot.
- Crear vistas y rutas que permitan la interacción del usuario con el chatbot en una aplicación web Django.
- Configurar una base de datos PostgreSQL y gestionarla desde Django para almacenar las conversaciones del chatbot.
- Implementar la lógica del chatbot en views.py y vincularla con la interfaz de usuario a través de plantillas HTML y CSS.
Contenido
- Implementación de funcionalidades básicas: Vistas y rutas
- Creación del proyecto y configuración del entorno virtual
- Configuración de la base de datos
- Recuperando el modelo de datos de la Unidad 6
- Creación de la vista, la API y la plantilla
- Funcionalidad JS, estética CSS y plantilla HTML del chatbot
- Configuración de URL
- Ejecución del servidor
- Solución de posibles problemas
- Resumen
8.- Gestión de la conversación y contexto del chatbot
Objetivo
- Implementar la lógica del chatbot en views.py y vincularla con la interfaz de usuario a través de plantillas HTML y CSS.
- Integrar la biblioteca spaCy para mejorar el procesamiento de texto y la comprensión del contexto de la conversación.
- Implementar un sistema de estados en el chatbot para gestionar el flujo de la conversación de forma dinámica.
Contenido
- Gestión de la conversación y contexto del chatbot
- Pasos para integrar spaCy en el chatbot
- Integrando spaCy para mejorar las respuestas
- Crear el flujo conversacional
- Posibles errores y cómo solventarlos
- Resumen
9.- Integración de Modelos en el Chatbot (De Memory a Modelos Django)
Objetivo
- Gestionar el contexto de la conversación para mantener la coherencia entre los mensajes del chatbot y las respuestas del usuario.
- Integrar modelos de Django en el flujo conversacional del chatbot para almacenar y recuperar información de las interacciones.
- Configurar un sistema de logs en el chatbot para registrar las interacciones y errores.
Contenido
- Integración de modelos en el chatbot (de memoria a modelos Django)
- Estructura de los modelos conversacionales
- Integración del flujo conversacional en los modelos
- Ajustes necesarios en views.py
- La administración y visualización de la reserva
- Resumen