Gensim - Présentation

Ce chapitre vous aidera à comprendre l'histoire et les fonctionnalités de Gensim ainsi que ses utilisations et avantages.

Qu'est-ce que Gensim?

Gensim = “Generate Similar”est une bibliothèque de traitement du langage naturel (NLP) open source populaire utilisée pour la modélisation de sujets non supervisée. Il utilise les meilleurs modèles académiques et l'apprentissage automatique statistique moderne pour effectuer diverses tâches complexes telles que -

  • Création de documents ou de vecteurs de mots
  • Corpora
  • Effectuer l'identification du sujet
  • Exécution de la comparaison de documents (récupération de documents sémantiquement similaires)
  • Analyse de documents en texte brut pour la structure sémantique

Outre l'exécution des tâches complexes ci-dessus, Gensim, implémenté en Python et Cython, est conçu pour gérer de grandes collections de texte en utilisant le streaming de données ainsi que des algorithmes en ligne incrémentiels. Cela le différencie des progiciels d'apprentissage automatique qui ciblent uniquement le traitement en mémoire.

L'histoire

En 2008, Gensim a commencé comme une collection de divers scripts Python pour les mathématiques numériques tchèques. Là, il a servi à générer une courte liste des articles les plus similaires à un article donné. Mais en 2009, RARE Technologies Ltd. a publié sa version initiale. Puis, plus tard en juillet 2019, nous avons obtenu sa version stable (3.8.0).

Diverses caractéristiques

Voici quelques-unes des fonctionnalités et capacités offertes par Gensim -

Évolutivité

Gensim peut facilement traiter des corpus à grande échelle et à l'échelle du Web en utilisant ses algorithmes de formation incrémentiels en ligne. Il est de nature évolutive, car il n'est pas nécessaire que tout le corpus d'entrée réside entièrement dans la mémoire vive (RAM) à tout moment. En d'autres termes, tous ses algorithmes sont indépendants de la mémoire par rapport à la taille du corpus.

Robuste

Gensim est de nature robuste et est utilisé dans divers systèmes par diverses personnes ainsi que par des organisations depuis plus de 4 ans. Nous pouvons facilement brancher notre propre corpus d'entrée ou flux de données. Il est également très facile de l'étendre avec d'autres algorithmes d'espace vectoriel.

Agnostique de la plateforme

Comme nous le savons, Python est un langage très polyvalent car étant du pur Python Gensim fonctionne sur toutes les plates-formes (comme Windows, Mac OS, Linux) qui prennent en charge Python et Numpy.

Implémentations multicœurs efficaces

Afin d'accélérer le traitement et la récupération sur les grappes de machines, Gensim fournit des implémentations multicœurs efficaces de divers algorithmes populaires tels que Latent Semantic Analysis (LSA), Latent Dirichlet Allocation (LDA), Random Projections (RP), Hierarchical Dirichlet Process (HDP).

Open Source et abondance de soutien communautaire

Gensim est licencié sous la licence GNU LGPL approuvée par l'OSI qui lui permet d'être utilisé gratuitement à la fois pour un usage personnel et commercial. Toutes les modifications apportées à Gensim sont à leur tour open-source et bénéficient également du soutien de la communauté.

Utilisations de Gensim

Gensim a été utilisé et cité dans plus de mille applications commerciales et académiques. Il est également cité par divers articles de recherche et thèses d'étudiants. Il comprend des implémentations parallélisées en continu des éléments suivants:

fastText

fastText, utilise un réseau de neurones pour l'incorporation de mots, est une bibliothèque d'apprentissage de l'incorporation de mots et de la classification de texte. Il est créé par le laboratoire AI Research (FAIR) de Facebook. Ce modèle, en gros, nous permet de créer un algorithme supervisé ou non pour obtenir des représentations vectorielles des mots.

Word2vec

Word2vec, utilisé pour produire l'incorporation de mots, est un groupe de modèles de réseaux neuronaux superficiels et à deux couches. Les modèles sont essentiellement formés pour reconstruire les contextes linguistiques des mots.

LSA (analyse sémantique latente)

C'est une technique en NLP (Natural Language Processing) qui nous permet d'analyser les relations entre un ensemble de documents et leurs termes contenant. Cela se fait en produisant un ensemble de concepts liés aux documents et aux termes.

LDA (allocation de dirichlet latent)

C'est une technique en PNL qui permet d'expliquer des ensembles d'observations par des groupes non observés. Ces groupes non observés expliquent pourquoi certaines parties des données sont similaires. C'est la raison, c'est un modèle statistique génératif.

tf-idf (terme fréquence-fréquence de document inverse)

tf-idf, une statistique numérique dans la recherche d'informations, reflète l'importance d'un mot pour un document dans un corpus. Il est souvent utilisé par les moteurs de recherche pour noter et classer la pertinence d'un document en fonction d'une requête utilisateur. Il peut également être utilisé pour le filtrage de mots vides dans la synthèse et la classification de texte.

Tous seront expliqués en détail dans les sections suivantes.

Avantages

Gensim est un package NLP qui fait de la modélisation de sujets. Les avantages importants de Gensim sont les suivants -

  • Nous pouvons obtenir les fonctionnalités de modélisation de sujet et d'incorporation de mots dans d'autres packages tels que ‘scikit-learn’ et ‘R’, mais les installations fournies par Gensim pour la création de modèles de sujets et l'incorporation de mots sont sans précédent. Il fournit également des fonctionnalités plus pratiques pour le traitement de texte.

  • Un autre avantage le plus important de Gensim est qu'il nous permet de gérer de gros fichiers texte même sans charger le fichier entier en mémoire.

  • Gensim ne nécessite pas d'annotations coûteuses ni d'étiquetage manuel des documents car il utilise des modèles non supervisés.