Gensim - Introduzione

Questo capitolo ti aiuterà a comprendere la storia e le caratteristiche di Gensim insieme ai suoi usi e vantaggi.

Cos'è Gensim?

Gensim = “Generate Similar”è una popolare libreria di elaborazione del linguaggio naturale (NLP) open source utilizzata per la modellazione di argomenti senza supervisione. Utilizza i migliori modelli accademici e l'apprendimento automatico statistico moderno per eseguire vari compiti complessi come:

  • Creazione di documenti o vettori di parole
  • Corpora
  • Esecuzione dell'identificazione dell'argomento
  • Esecuzione del confronto di documenti (recupero di documenti semanticamente simili)
  • Analisi di documenti in testo semplice per la struttura semantica

Oltre a svolgere le attività complesse di cui sopra, Gensim, implementato in Python e Cython, è progettato per gestire raccolte di testo di grandi dimensioni utilizzando lo streaming di dati e algoritmi online incrementali. Questo lo rende diverso da quei pacchetti software di machine learning che prendono di mira solo l'elaborazione in memoria.

Storia

Nel 2008, Gensim iniziò come una raccolta di vari script Python per la matematica digitale ceca. Lì, è servito a generare un breve elenco degli articoli più simili a un determinato articolo. Ma nel 2009, RARE Technologies Ltd. ha rilasciato la sua versione iniziale. Quindi, più tardi, a luglio 2019, abbiamo ottenuto la sua versione stabile (3.8.0).

Varie caratteristiche

Di seguito sono riportate alcune delle caratteristiche e delle capacità offerte da Gensim:

Scalabilità

Gensim può elaborare facilmente corpora di grandi dimensioni e su scala web utilizzando i suoi algoritmi di formazione online incrementali. È di natura scalabile, poiché non è necessario che l'intero corpus di input risieda completamente nella memoria ad accesso casuale (RAM) in qualsiasi momento. In altre parole, tutti i suoi algoritmi sono indipendenti dalla memoria rispetto alla dimensione del corpus.

Robusto

Gensim è robusto in natura ed è stato utilizzato in vari sistemi da varie persone e organizzazioni per oltre 4 anni. Possiamo facilmente collegare il nostro corpus di input o flusso di dati. È anche molto facile da estendere con altri algoritmi Vector Space.

Platform Agnostic

Come sappiamo che Python è un linguaggio molto versatile in quanto essendo Python puro Gensim gira su tutte le piattaforme (come Windows, Mac OS, Linux) che supportano Python e Numpy.

Implementazioni multicore efficienti

Al fine di accelerare l'elaborazione e il recupero sui cluster di macchine, Gensim fornisce implementazioni multicore efficienti di vari algoritmi popolari come Latent Semantic Analysis (LSA), Latent Dirichlet Allocation (LDA), Random Projections (RP), Hierarchical Dirichlet Process (HDP).

Open Source e abbondanza di supporto comunitario

Gensim è concesso in licenza con la licenza GNU LGPL approvata dall'OSI che ne consente l'utilizzo gratuito sia per uso personale che commerciale. Qualsiasi modifica apportata in Gensim è a sua volta open-source e ha anche abbondanza di supporto della comunità.

Usi di Gensim

Gensim è stato utilizzato e citato in oltre mille applicazioni commerciali e accademiche. È anche citato da vari articoli di ricerca e tesi degli studenti. Include implementazioni parallele in streaming di quanto segue:

fastText

fastText, utilizza una rete neurale per l'incorporamento di parole, è una libreria per l'apprendimento dell'incorporamento di parole e della classificazione del testo. È stato creato dal laboratorio AI Research (FAIR) di Facebook. Questo modello, fondamentalmente, ci permette di creare un algoritmo supervisionato o non supervisionato per ottenere rappresentazioni vettoriali per parole.

Word2vec

Word2vec, utilizzato per produrre word embedding, è un gruppo di modelli di reti neurali superficiali ea due strati. I modelli sono fondamentalmente addestrati per ricostruire i contesti linguistici delle parole.

LSA (analisi semantica latente)

È una tecnica in PNL (Natural Language Processing) che ci permette di analizzare le relazioni tra un insieme di documenti e i termini che li contengono. Viene fatto producendo una serie di concetti relativi ai documenti e ai termini.

LDA (Latent Dirichlet Allocation)

È una tecnica della PNL che consente di spiegare insiemi di osservazioni a gruppi non osservati. Questi gruppi inosservati spiegano perché alcune parti dei dati sono simili. Questo è il motivo, è un modello statistico generativo.

tf-idf (termine frequenza inversa del documento)

tf-idf, una statistica numerica nel recupero delle informazioni, riflette quanto sia importante una parola per un documento in un corpus. Viene spesso utilizzato dai motori di ricerca per valutare e classificare la pertinenza di un documento in base a una query dell'utente. Può essere utilizzato anche per filtrare le parole non significative nel riepilogo e nella classificazione del testo.

Tutti saranno spiegati in dettaglio nelle prossime sezioni.

Vantaggi

Gensim è un pacchetto NLP che fa la modellazione di argomenti. Gli importanti vantaggi di Gensim sono i seguenti:

  • Potremmo ottenere le funzionalità di modellazione di argomenti e incorporamento di parole in altri pacchetti come ‘scikit-learn’ e ‘R’, ma le strutture fornite da Gensim per la creazione di modelli di argomenti e l'incorporamento di parole non hanno eguali. Fornisce inoltre servizi più convenienti per l'elaborazione del testo.

  • Un altro vantaggio più significativo di Gensim è che ci consente di gestire file di testo di grandi dimensioni anche senza caricare l'intero file in memoria.

  • Gensim non richiede annotazioni costose o etichettatura manuale dei documenti perché utilizza modelli non supervisionati.