Natural Language Processing

Le traitement automatique du langage naturel (abr. TALN), ou traitement automatique de la langue naturelle1, ou encore traitement automatique des langues (abr. TAL) est un domaine multidisciplinaire impliquant la linguistique, l'informatique et l'intelligence artificielle, qui vise à créer des outils de traitement de la langue naturelle pour diverses applications. Il ne doit pas être confondu avec la linguistique informatique, qui vise à comprendre les langues au moyen d'outils informatiques.

B.E.R.T

L'algo par excellence crée par Google !


Actuellement RoBERTa est le nouveau summum mais avec une amélioration quasi incrémentale à la différence de BERT qui révolutionna son monde.



Enfin, en dehors de Google et de Standfort (pas trop car ils ont pu suivre quelques cours de là bas), il y a Hugging Face !

Allocation de Dirichlet Latente

Dans le domaine du traitement automatique des langues, l’allocation de Dirichlet latente ou LDA est un modèle génératif probabiliste permettant d’expliquer des ensembles d’observations, par le moyen de groupes non observés, eux-mêmes définis par des similarités de données.

RNN

Un RNN au niveau des caractères lit les mots comme une série de caractères - en sortant une prédiction et un "état caché" à chaque étape, en alimentant son état caché précédent dans chaque étape suivante. Nous considérons la prédiction finale comme la sortie, c'est-à-dire la classe à laquelle le mot appartient.



https://fr.wikipedia.org/wiki/R%C3%A9seau_de_neurones_r%C3%A9currents

Difference Between a Batch and an Epoch in a Neural Network🚧🚧🚧


https://machinelearningmastery.com/difference-between-a-batch-and-an-epoch/

Stochastic gradient descent is a learning algorithm that has a number of hyperparameters.

Two hyperparameters that often confuse beginners are the batch size and number of epochs. They are both integer values and seem to do the same thing.

In this post, you will discover the difference between batches and epochs in stochastic gradient descent.

After reading this post, you will know:

  • Stochastic gradient descent is an iterative learning algorithm that uses a training dataset to update a model.

  • The batch size is a hyperparameter of gradient descent that controls the number of training samples to work through before the model’s internal parameters are updated.

  • The number of epochs is a hyperparameter of gradient descent that controls the number of complete passes through the training dataset.

Kick-start your project with my new book Deep Learning With Python, including step-by-step tutorials and the Python source code files for all examples.

Let’s get started.


Natural Language Toolkit (NLTK)

NLTK is one of the leading platforms for building Python programs that can work with human language data. It presents a practical introduction to programming for language processing. NLTK comes with a host of text processing libraries for sentence detection, tokenization, lemmatization, stemming, parsing, chunking, and POS tagging.

NLTK provides easy-to-use interfaces to over 50 corpora and lexical resources. The tool has the essential functionalities required for almost all kinds of natural language processing tasks with Python.

Gensim

Gensim est une bibliothèque Python conçue spécifiquement pour "la modélisation de sujets, l'indexation de documents et la recherche de similarités avec de grands corpus". Tous les algorithmes de Gensim sont indépendants de la mémoire, par rapport à la taille du corpus, et peuvent donc traiter des entrées plus grandes que la RAM. Grâce à des interfaces intuitives, Gensim permet des implémentations multicœurs efficaces d'algorithmes populaires, notamment l'analyse sémantique latente en ligne (LSA/LSI/SVD), l'allocation de Dirichlet latente (LDA), les projections aléatoires (RP), le processus de Dirichlet hiérarchique (HDP) ou l'apprentissage profond word2vec.


Gensim dispose d'une documentation complète et de tutoriels Jupyter Notebook. Il dépend largement de NumPy et SciPy pour le calcul scientifique. Vous devez donc installer ces deux paquets Python avant d'installer Gensim.


Traduit avec www.DeepL.com/Translator (version gratuite)

Standford CoreNLP

Stanford CoreNLP comprend un assortiment d'outils de technologie du langage humain. Il vise à rendre facile et efficace l'application d'outils d'analyse linguistique à un morceau de texte. Avec CoreNLP, vous pouvez extraire toutes sortes de propriétés textuelles (comme la reconnaissance d'entités nommées, le marquage de la parole, etc.) en quelques lignes de code seulement.


Comme CoreNLP est écrit en Java, il exige que Java soit installé sur votre appareil. Cependant, il offre des interfaces de programmation pour de nombreux langages de programmation populaires, y compris Python. L'outil intègre de nombreux outils NLP de Stanford, tels que l'analyseur syntaxique, l'analyse des sentiments, l'apprentissage de motifs amorcés, le marqueur de parties de la parole (POS), la reconnaissance d'entités nommées (NER) et le système de résolution de coréférences, pour n'en citer que quelques-uns. En outre, CoreNLP prend en charge quatre langues autres que l'anglais : l'allemand, l'arabe, le chinois, l'espagnol et le français.


Traduit avec www.DeepL.com/Translator (version gratuite)

SpaCy Cat

spaCy est une bibliothèque NLP open-source en Python. Elle est conçue explicitement pour une utilisation en production - elle vous permet de développer des applications qui traitent et comprennent d'énormes volumes de texte.


spaCy peut prétraiter le texte pour l'apprentissage profond. Il peut être utilisé pour construire des systèmes de compréhension du langage naturel ou des systèmes d'extraction d'informations. spaCy est équipé de modèles statistiques pré-entraînés et de vecteurs de mots. Il peut prendre en charge la tokenisation pour plus de 49 langues. spaCy se targue d'une vitesse de pointe, de l'analyse syntaxique, de la reconnaissance des entités nommées, des modèles de réseaux neuronaux convolutifs pour le balisage et de l'intégration de l'apprentissage profond.

TextBlob

TextBlob est une bibliothèque Python (2 & 3) conçue pour le traitement des données textuelles. Elle se concentre sur l'accès aux opérations courantes de traitement de texte par le biais d'interfaces familières. Les objets TextBlob peuvent être traités comme des chaînes Python qui sont entraînées dans le traitement du langage naturel.

TextBlob offre une API soignée pour effectuer des tâches courantes de TAL comme le marquage de la partie de la parole, l'extraction de phrases nominales, l'analyse des sentiments, la classification, la traduction de la langue, l'inflexion des mots, l'analyse syntaxique, les n-grammes et l'intégration de WordNet.

Pattern

Pattern est un outil de traitement de texte, de web mining, de traitement du langage naturel, d'apprentissage automatique et d'analyse de réseau pour Python. Il est livré avec une multitude d'outils pour l'exploration de données (Google, Twitter, Wikipedia API, un crawler web, et un parseur HTML DOM), NLP (tagueurs de parties du langage, recherche de n-grammes, analyse de sentiments, WordNet), ML (modèle d'espace vectoriel, clustering, SVM), et analyse de réseau par centralité de graphe et visualisation. Pattern peut être un outil puissant tant pour un public scientifique que non scientifique. Il possède une syntaxe simple et directe - les noms de fonctions et les paramètres sont choisis de manière à ce que les commandes soient auto-explicatives. Si Pattern est un environnement d'apprentissage très précieux pour les étudiants, il sert de cadre de développement rapide pour les développeurs web.