NLP-Tutorial
nlp-tutorial é um tutorial para quem está estudando PNL (processamento de linguagem natural) usando Pytorch . A maioria dos modelos na PNL foi implementada com menos de 100 linhas de código (exceto comentários ou linhas em branco)
- [08-14-2020] O código Tensorflow V1 antigo está arquivado na pasta Archive. Para legibilidade para iniciantes, apenas o Pytorch versão 1.0 ou superior é suportado.
Currículo - (exemplo de propósito)
1. Modelo básico de incorporação
- 1-1. NNLM (modelo de linguagem de rede neural) - preveja a próxima palavra
- Artigo - um modelo de linguagem probabilística neural (2003)
- Colab - nnlm.ipynb
- 1-2. Word2vec (Skip -Gram) - Incorporar palavras e mostrar gráfico
- Papel - Representações distribuídas de palavras e frases e sua composicionalidade (2013)
- Colab - word2vec.ipynb
- 1-3. FastText (nível de aplicativo) - Classificação da frase
- Papel - Saco de truques para classificação eficiente de texto (2016)
- COLAB - FastText.ipynb
2. CNN (Rede Neural Convolucional)
- 2-1. TextCNN - Classificação de sentimentos binários
- Artigo - Redes neurais convolucionais para classificação de sentenças (2014)
- Textcnn.ipynb
3. RNN (Rede Neural Recorrente)
- 3-1. Textrnn - preveja o próximo passo
- Artigo - Encontrar estrutura no tempo (1990)
- Colab - textrnn.ipynb
- 3-2. TextLSTM - AutoComplete
- Artigo - Memória de longo prazo de longo prazo (1997)
- COLAB - Textlstm.ipynb
- 3-3. BI -LSTM - preveja a próxima palavra em longa frase
4. Mecanismo de atenção
- 4-1. SEQ2SEQ - Alterar palavra
- Artigo - Representações de frase de aprendizado usando o codificador - decodificador RNN para tradução de máquinas estatísticas (2014)
- COLAB - SEQ2SEQ.IPYNB
- 4-2. SEQ2SEQ com atenção - traduzir
- Artigo - Tradução da máquina neural aprendendo em conjunto a alinhar e traduzir (2014)
- COLAB - SEQ2SEQ (ATENÇÃO) .IPYNB
- 4-3. BI -LSTM com atenção - classificação de sentimentos binários
- COLAB - BI_LSTM (ATENÇÃO) .IPYNB
5. Modelo baseado no transformador
- 5-1. O transformador - traduzir
- Artigo - Atenção é tudo o que você precisa (2017)
- COLAB - Transformer.ipynb, transformador (ganancioso_decoder) .ipynb
- 5-2. Bert - Classificação Próxima frase e prever tokens mascarados
- Artigo - Bert: pré -treinamento de transformadores bidirecionais profundos para compreensão da linguagem (2018)
- Colab - bert.ipynb
Dependências
- Python 3.5+
- Pytorch 1.0.0+
Autor
- Tae Hwan Jung (Jeff Jung) @graykode
- Autor e -mail: [email protected]
- Agradecimentos a Mojitok como estágio de pesquisa da PNL.