Aprendizagem profunda para PNL
Este tutorial é uma introdução do uso do algoritmo de aprendizado profundo no domínio do processamento de linguagem natural.
E é preparado usando o conteúdo (teoria e código) a partir de fontes a seguir:
- Aprendizagem profunda com Python, livro de François Chollet
- Métodos de rede neural no processamento de linguagem natural, reserve por Yoav Goldberg
- CS224D: aprendizado profundo para processamento de linguagem natural
Código de prática no conjunto de dados de desafio de classificação de comentários tóxicos de Kaggle
Índice
Casos de uso
- Classificação de sequência
- Detecção de idiomas
- Classificação da categoria (sentimento, tópicos etc.)
- Classificação de palavras-chave (nome-gênero, nome de local/pessoa)
- Sequência à sequência (SEQ2SEQ)
- Tradução
- Resposta inteligente do Gmail
- Conversational AI: BOT BOTS
- Outros
- Nome, história, poema, gerador de diálogo
- Legenda da imagem
- Parte da marcação de fala
- Reconhecimento de entidade
Configuração do sistema
- Python 3.6
- pip
- Virtualenv
- Bibliotecas:
- Keras
- Tensorflow
- Jupyter
- matplotlib
Conjuntos de dados para tocar
- DataSet de revisão do IMDB
- Kaggle (Desafio de Classificação de Comentários Tóxicos) DataSet Comentário da Wikipedia
- Ubuntu Dialog Corpora
- Conjunto de dados de tradução
- Outros conjuntos de dados
Análise de dados
- Análise Geral
Representação de sequência
- Representação
- Uma codificação quente
- Incorporação de palavras
- Incorporações pré -treinadas
Modelos
- Incorporando ao Modelo 1 da classe
- Incorporação conectada a 1 camada RNN (rede neural recorrente) Modelo 2 e Modelo 2 estendidas
- RNN bidirecional Modelo 3 e Modelo 3 estendido
Arquitetura RNN moderna
- Memória de longo prazo de longo prazo (LSTM)
- Unidade recorrente Gater (GRU)
- SEQ2SEQ
- Atenção
- Pesquisa de feixe
Keras
- API e palavras -chave
- Otimizadores
- Perda
- Ativação
- Métricas
- Implantar modelo para produção e inferência
Técnicas de otimização de modelos
- Cair fora
- Retropropagação truncada ao longo do tempo (TBPTT)
- Problema de gradiente de desaparecimento