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

  1. Conceptos básicos de chatbots
    1. Evolución de los chatbots
    2. ¿Para qué usar un chatbot?
    3. Ejercicio guiado: Desarrollo de un Guion o Diagrama de Flujo para un Chatbot Simple
    4. 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

  1. Repaso de Django
    1. Modelos
    2. Vistas
    3. Plantillas
    4. Principales características y ventajas de Django en el desarrollo web
    5. Configuración del entorno de desarrollo
    6. Estructura del proyecto Django
    7. 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

  1. Fundamentos de Python para chatbots
    1. Variables
    2. Tipos de datos
    3. Estructuras de control
    4. Funciones y manejo de excepciones
    5. Comprensión de listas
    6. Manejo de archivos
    7. 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

  1. Introducción al Procesamiento de Lenguaje Natural (PLN)
    1. Tareas comunes en PLN
    2. NLTK (Natural Language Toolkit)
    3. spaCy "space" (espacio) + "syntax" (sintaxis)
    4. 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

  1. Principios de diseño de chatbots
    1. Introducción al Diseño Conversacional
    2. Principios UX en un Chatbot
    3. Análisis del flujo conversacional que propuesto
    4. 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

  1. Modelado de datos y arquitectura del chatbot
    1. Arquitectura del Chatbot en Django
    2. Flujo de Trabajo General
    3. Modelado de Datos en Django
    4. Relación de muchos a uno, donde un usuario puede tener varias conversaciones.
    5. Patrones Alternativos a MVC
    6. 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

  1. Implementación de funcionalidades básicas: Vistas y rutas
    1. Creación del Proyecto y Configuración del Entorno Virtual
    2. Configuración de la bbdd
    3. Creación de la Vista, la API y el template
    4. Configuración de URL
    5. 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

  1. Gestión de la conversación y contexto del chatbot
    1. Pasos para integrar spaCy en el chatbot
    2. Integrando spaCy para mejorar las respuestas
    3. Crear el flujo conversacional
    4. 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

  1. Integración de Modelos en el Chatbot (De Memory a Modelos Django)
    1. Estructura de los Modelos Conversacionales
    2. Integración del Flujo Conversacional en los Modelos
    3. La administración y visualización de la reserva
    4. Resumen