Aprendizaje profundo para la PNL
Este tutorial es una introducción del uso del algoritmo de aprendizaje profundo en el dominio del procesamiento del lenguaje natural.
Y se prepara utilizando contenido (teoría y código) de las siguientes fuentes:
- Aprendizaje profundo con Python, libro de François Chollet
- Métodos de red neuronal en procesamiento del lenguaje natural, libro de Yoav Goldberg
- CS224D: Aprendizaje profundo para el procesamiento del lenguaje natural
Código de práctica en el conjunto de datos del desafío de clasificación de comentarios tóxicos de Kaggle
Tabla de contenido
Casos de uso
- Clasificación de secuencia
- Detección de idiomas
- Clasificación de categoría (sentimiento, temas, etc.)
- Clasificación de palabras clave (nombre de nombre, nombre/persona)
- Secuencia a la secuencia (SEQ2SEQ)
- Traducción
- Respuesta inteligente de Gmail
- AI conversacional: bots de chat
- Otros
- Nombre, historia, poema, generador de diálogo
- Subtitulación de imágenes
- Parte del etiquetado del habla
- Reconocimiento de entidad de nombre
Configuración del sistema
- Python 3.6
- pepita
- Virtualenv
- Bibliotecas:
- Keras
- Flujo tensor
- Jupyter
- mate
Conjuntos de datos para jugar
- Conjunto de datos de revisión de IMDB
- KAGGLE (Desafío de clasificación de comentarios tóxicos) conjunto de datos de comentarios de Wikipedia
- Cuerpos de diálogo de Ubuntu
- Conjunto de datos de traducción
- Otros conjuntos de datos
Análisis de datos
- Análisis general
Representación de secuencia
- Representación
- Una codificación caliente
- Incrustaciones de palabras
- Incrustaciones previas al entrenamiento
Modelos
- Incrustación a la clase Modelo 1
- Incrustación conectada a 1 capa RNN (red neuronal recurrente) Modelo 2 y Modelo 2 extendido
- Bidireccional RNN Modelo 3 y Modelo 3 extendido
Arquitectura RNN moderna
- Memoria a largo plazo (LSTM)
- Unidad recurrente de Gater (Gru)
- SEQ2SEQ
- Atención
- Búsqueda de haz
Keras
- API y palabras clave
- Optimizadores
- Pérdida
- Activación
- Métrica
- Implementar el modelo de producción e inferencia
Técnicas de optimización del modelo
- Abandonar
- Propropagación truncada a través del tiempo (TBPTT)
- Problema de gradiente de desaparición