Techniques d'apprentissage en profondeur modernes appliquées au traitement du langage naturel
Ce projet contient un aperçu des tendances récentes du traitement du langage naturel basé sur l'apprentissage en profondeur (NLP). Il couvre les descriptions théoriques et les détails de mise en œuvre derrière les modèles d'apprentissage en profondeur, tels que les réseaux de neurones récurrents (RNN), les réseaux de neurones convolutionnels (CNN) et l'apprentissage en renforcement, utilisés pour résoudre diverses tâches et applications NLP. L'aperçu contient également un résumé des résultats de pointe des tâches de PNL tels que la traduction automatique , la réponse aux questions et les systèmes de dialogue . Vous pouvez trouver la ressource d'apprentissage à l'adresse suivante: https://nlpoverview.com/. Un instantané du site Web est fourni ci-dessous:

À propos de ce projet
Les principales motivations de ce projet sont les suivantes:
- Maintenir une ressource d'apprentissage à jour qui intègre des informations importantes liées à la recherche sur les PNL, telles que:
- Résultats de pointe
- concepts et applications émergentes
- nouveaux ensembles de données de référence
- CODE / DATASET LIBUTATIONS
- etc.
- Créez une ressource amicale et ouverte pour guider les chercheurs et toute personne intéressée à se renseigner sur les techniques modernes appliquées à la PNL
- Un projet collaboratif où les chercheurs experts peuvent suggérer des changements (par exemple, intégrer les résultats SOTA) en fonction de leurs résultats récents et de leurs résultats expérimentaux
Table des matières
- Introduction
- Représentation distribuée
- Incorporation de mots
- Word2vec
- Incorporation de caractère
- Incorporation de mots contextualisés
- Réseaux de neurones convolutionnels
- CNN de base
- Modélisation des phrases
- Approche de la fenêtre
- Applications
- Réseaux de neurones récurrents
- Besoin de réseaux récurrents
- Modèles RNN
- RNN simple
- Mémoire à court terme
- Unités récurrentes fermées
- Applications
- RNN pour la classification au niveau des mots
- RNN pour la classification au niveau de la phrase
- RNN pour générer une langue
- Mécanisme d'attention
- Attention parallélisée: le transformateur
- Réseaux de neurones récursifs
- Modèles renforcés profonds et apprentissage non supervisé profond
- Apprentissage du renforcement pour la génération de séquences
- Représentation des phrases non surveillée
- Modèles génératifs profonds
- Réseaux de mémoire
- Performance de différents modèles sur différentes tâches NLP
- Tagging POS
- Analyse
- Reconnaissance de l'entité nommée
- Étiquetage des rôles sémantiques
- Classification des sentiments
- Traduction automatique
- Question Répondre
- Systèmes de dialogue
- Intégres contextualisés
Comment contribuer?
Il existe différentes façons de contribuer à ce projet.
- Le moyen le plus rapide de proposer un édition ou d'ajouter du texte est le suivant:
fork le dépôt, parcourez le chapter correspondant, puis cliquez sur le bouton edit pour ajouter vos informations. L'image ci-dessous montre les deux dernières étapes après avoir alimenté le repo. Vous pouvez ensuite soumettre une demande de traction et nous approuverons en conséquence. Si vous souhaitez modifier une grande partie du projet ou même ajouter un chapitre, nous vous recommandons de consulter la section "Build site locally" ci-dessous.

- Vous pouvez également proposer des ajouts de texte dans ce document partagé public si vous n'êtes pas familier avec
git . Nous aiderons à modifier et à réviser le contenu, puis vous aider à intégrer les contributions au projet. - Reportez-vous à la section des problèmes pour en savoir plus sur d'autres façons de vous aider.
- Ou vous pouvez faire des suggestions en soumettant un nouveau problème. Des instructions plus détaillées à venir bientôt.
Créer un site localement
Si vous prévoyez de modifier certains aspects du site (par exemple, ajoutant une section ou un style) et que vous souhaitez le prévisualiser localement sur votre machine, nous vous suggérons de créer et d'exécuter le site localement à l'aide jekyll . Voici les instructions:
- Tout d'abord, vérifiez que
Ruby 2.1.0 ou plus est installé sur votre ordinateur. Vous pouvez vérifier à l'aide de la commande ruby --version . Sinon, veuillez l'installer en utilisant les instructions fournies ici. - Après avoir assuré que Ruby est installé, installez Bundler à l'aide
gem install bundler . - Clone This Repo Localement:
git clone https://github.com/omarsar/nlp_overview.git - Accédez au dossier Repo avec
cd nlp_overview - Installer Jekyll:
bundle install - Exécutez le site Jekyll localement:
bundle exec jekyll serve - Site d'aperçu sur le navigateur de
http://localhost:4000
Entretien
Ce projet est maintenu par Elvis Saravia et Soujanya Poria. Vous pouvez également me trouver sur Twitter si vous avez des commentaires ou des questions directes. Une grande partie de ce projet a été directement empruntée aux travaux de Young et al. (2017). Nous sommes reconnaissants aux auteurs.