PNL-tutorial
nlp-tutorial est un tutoriel pour qui étudie la NLP (traitement du langage naturel) à l'aide de Pytorch . La plupart des modèles de PNL ont été implémentés avec moins de 100 lignes de code (sauf des commentaires ou des lignes vierges)
- [08-14-2020] Le vieux code V1 TensorFlow est archivé dans le dossier des archives. Pour la lisibilité aux débutants, seule la version 1.0 de Pytorch ou supérieure est prise en charge.
Curriculum - (Exemple d'objectif)
1. Modèle d'intégration de base
- 1-1-1. NNLM (modèle de langage de réseau neuronal) - Prédire le mot suivant
- Document - Un modèle de langue probabiliste neuronale (2003)
- Colab - nnlm.ipynb
- 1-2. Word2Vec (skip-gram) - incorporer des mots et afficher le graphique
- Document - Représentations distribuées des mots et des phrases et leur composition (2013)
- Colab - word2vec.ipynb
- 1-3. FastText (niveau d'application) - Classification des phrases
- Papier - Sac de trucs pour la classification efficace des texte (2016)
- Colab - FastText.ipynb
2. CNN (réseau neuronal convolutionnel)
- 2-1-1. TextCnn - Classification du sentiment binaire
- Document - Réseaux de neurones convolutionnels pour la classification des phrases (2014)
- Textcnn.ipynb
3. RNN (réseau neuronal récurrent)
- 3-1-1. Textrnn - Prédire l'étape suivante
- Paper - Finding Structure in Time (1990)
- Colab - textrnn.ipynb
- 3-2. Textlstm - Assumentiel
- Papier - Mémoire à court terme (1997)
- Colab - textlstm.ipynb
- 3-3. Bi-lstm - prédire le mot suivant en longue phrase
4. Mécanisme d'attention
- 4-1. Seq2seq - modifier le mot
- Papier - Représentations de phrases d'apprentissage utilisant RNN Encoder-Decoder for Statistical Machine Translation (2014)
- Colab - seq2seq.ipynb
- 4-2. Seq2seq avec attention - traduire
- Papier - Traduction de machine neurale en apprenant conjointement à aligner et traduire (2014)
- Colab - seq2seq (attention) .ipynb
- 4-3. Bi-lstm avec attention - classification des sentiments binaires
- Colab - bi_lstm (attention) .ipynb
5. Modèle basé sur le transformateur
- 5-1. Le transformateur - traduire
- Paper - L'attention est tout ce dont vous avez besoin (2017)
- Colab - transformateur.ipynb, transformateur (greedy_decoder) .ipynb
- 5-2. Bert - Classification Suivant phrase et prédire les jetons masqués
- Papier - Bert: pré-formation des transformateurs bidirectionnels profonds pour la compréhension du langage (2018)
- Colab - bert.ipynb
Dépendances
- Python 3.5+
- Pytorch 1.0.0+
Auteur
- Tae Hwan Jung (Jeff Jung) @Graykode
- Courriel de l'auteur: [email protected]
- Remerciements à Mojitok en tant que stage de recherche NLP.