dimanche 26 décembre 2021

(Vidéo) Représentation pré-entraînée GloVe avec Keras

Je montre dans cette vidéo comment, avec la librairie bien connue de deep learning Keras, exploiter une représentation pré-entraînée GloVe dans une démarche d'analyse de sentiments, plus généralement dans la catégorisation de textes. L'analyse des grands corpus de documents (ex. Wikipedia  + GigaWord) permet de projeter les termes dans un espace de représentation dont la dimensionnalité est contrôlée (hyperparamètre de l'algorithme). Cette représentation constitue ainsi la première couche "embedding" du réseau de neurones prédictif sous Keras. Sur notre corpus d'apprentissage (analyse des sentiments sur des tweets), l'entraînement du réseau pour le calcul des poids synaptiques reliant cette couche d'entrée avec la sortie se fait alors classiquement à l'aide d'une descente de gradient.

Mots-clés : text mining, catégorisation de textes, word embedding, keras, deep learning, python, glove, perceptron, nlp, natural language processing
Vidéo : Glove Keras
Notebook Python : Twitter Sentiment Analysis
Références :
"(Vidéo) La couche Embedding de Keras en NLP", décembre 2021.
"(Vidéo) Modèle pré-entraîné Word2Vec avec Gensim", décembre 2021.
"Glove : Global Vectors for Word Representation", J. Pennington, R. Socher, C. Manning.

vendredi 24 décembre 2021

(Vidéo) La couche Embedding de Keras en NLP

Nous nous intéressons à la couche Embedding de Keras dans cette vidéo. Il s'agit d'une couche de réseaux de neurones qui permet de représenter les termes dans un espace intermédiaire. Elle fait partie en cela des techniques de "word embedding". Mais, contrairement aux approches basées sur le voisinage telles que "Word2Vec", elle est intégrée dans un processus de modélisation prédictive. Elle ouvre également la porte à des opérateurs que nous trouvons habituellement dans les réseaux de convolutions utilisés en classement d'images. Nous illustrons notre propos par l'analyse de sentiments sur un corpus de tweets (Twitter). Après un premier modèle très basique, nous intégrons la régularisation via des mécanismes telles que le "max pooling" ou encore le "dropout" pour améliorer les performances prédictives.

Mots-clés : text mining, catégorisation de textes, tensorflow, keras, tweet, twitter, python, deep learning, nlp, natural language processing
Vidéo : Keras Embedding
Notebook Python : Twitter Dataset
Références :
"(Vidéo) Perceptron avec Tensorflow / Keras (Python)", juillet 2021.
"(Vidéo) Natural Language Processing avec Keras", décembre 2021.
"(Vidéo) Word2Vec / Doc2Vec avec Gensim – Python", décembre 2021.

mercredi 22 décembre 2021

(Vidéo) Natural Language Processing avec Keras

Dans cette vidéo, nous traitons un problème d'analyse des sentiments à partir d'un corpus de tweets étiquetés. Nous exploitons le tandem de librairies Tensorflow et Keras sous Python. Nous nous plaçons dans le cadre usuel de la catégorisation de documents en nous basant sur une représentation bag-of-words (sac de mots). Le modèle prédictif est un réseau de neurones, plus précisément un perceptron multicouche. Nous nous intéressons alors à la représentation intermédiaire des données induite par la couche cachée. Les résultats nous amènent plusieurs éléments de réflexion concernant le surapprentissage et les pistes pour y remédier dans notre contexte.

Mots-clés : text mining, catégorisation de textes, tensorflow, keras, tweet, twitter, python
Vidéo : Keras Sentiment Analysis
Notebook Python + Données : Twitter Dataset
Références :
"(Vidéo) Perceptron avec Tensorflow / Keras (Python)", juillet 2021.
"Sentiment 140 - For Academics"

lundi 20 décembre 2021

(Vidéo) Modèle pré-entraîné Word2Vec avec Gensim

Je montre dans cette vidéo comment exploiter un modèle pré-entraîné dans une démarche d'analyse de sentiments, plus généralement dans la catégorisation de textes. L'idée est d'utiliser une vectorisation de termes Word2Vec issue de l'analyse de grands corpus (ex. Wikipedia avec Wikipedia2Vec) pour projeter les documents dans un nouvel espace de représentation. Disposant ainsi d'un tableau individus (documents) -variables (features) de dimensionnalité réduite (paramétrable), nous pouvons mettre en œuvre de manière tout à fait classique les algorithmes supervisés de machine learning. Nous avons fait le choix d'un support vector machine (svm) avec un noyau RBF pour notre exemple, nous aurions pu utiliser toute autre solution prédictive.

Mots-clés : text mining, catégorisation de textes, word embedding, word2vec, doc2vec, gensim, python
Vidéo : Wikipedia2Vec
Notebook Python + Données : Imdb Reviews
Références :
"(Vidéo) Word2Vec / Doc2Vec avec Gensim – Python", décembre 2021.

vendredi 17 décembre 2021

(Vidéo) Word2Vec / Doc2Vec avec Gensim - Python

Cette vidéo est consacrée à la mise en œuvre du prolongement lexical, en particulier l'algorithme Word2Vec, à l'aide de la librairie Gensim pour Python. L'idée repose sur une forme de contextualisation des termes. Concrètement, on cherche à les représenter à l'aide de vecteurs numériques, de manière à ce que des termes voisins dans les documents présentent une forte similarité (au sens d'un indice telle que la similarité cosinus par exemple) dans le nouvel espace de représentation. La démarche peut être étendue aux documents (l'algorithme Word2Vec). Ainsi, nous disposons d'une représentation des corpus dans un espace de représentation de dimension réduite, paramétrable, rendant possible la mise en œuvre subséquente des techniques de machine learning (ex. catégorisation de documents).

Mots-clés : text mining, tokenisation, dictionnaire, word embedding, word2vec, doc2vec, gensim
Vidéo : Gensim Word2Vec
Notebook Python + Données : Imdb Reviews
Références :
"Deep Learning : l'algorithme Word2Vec", décembre 2019.
"Word2Vec avec H20 sous Python", décembre 2019.

mercredi 8 décembre 2021

(Vidéo) Topic Modeling avec Gensim / Python

Cette vidéo est consacrée à la mise en oeuvre du "topic modeling" avec le package "Gensim" pour Python. J'avais déjà consacré une vidéo sur ce sujet sous Knime. La trame reste la même. L'objectif est d'extraire des thématiques caractérisées par des termes à partir d'un corpus de documents. La spécificité ici est bien sûr est l'utilisation des packages spécialisés sur Python. Outre Gensim, nous mettons également à contribution NLTK (Natural Language Toolkit) pour la partie pré-traitement.

Mots-clés : text mining, tokenisation, dictionnaire, représentation bow, bag of words, topic model, topic modeling, latent dirichlet allocation, LDA, gensim, nltk, python
Vidéo : Gensim Topic Model
Notebook Python + Données : Imdb Reviews
Références :
"Text mining : Topic Model", décembre 2016.
"(Vidéo) Topic Modeling avec Knime", novembre 2021.