Gensim: processamento de texto e modelos Word2Vec em Python

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é Gensim e para que serve

Gensim (Generate Similar) é uma biblioteca Python de alto nível para vetorização de textos, modelagem de tópicos e aprendizado de representações distribuídas de palavras. Ela foi projetada para trabalhar eficientemente com grandes volumes de dados textuais sem a necessidade de carregá-los completamente na memória. A biblioteca é mais conhecida por seu suporte aos modelos Word2Vec, FastText e LDA (Latent Dirichlet Allocation).

Gensim se diferencia de outras bibliotecas por seu foco em dados textuais não estruturados e sua capacidade de processar corpora de documentos que não cabem na memória RAM. Isso a torna a ferramenta ideal para analisar grandes coleções de texto, como arquivos de notícias, artigos científicos ou redes sociais.

Principais recursos da biblioteca Gensim

Vetores de palavras (Word Embeddings)

Gensim oferece suporte completo para criar e trabalhar com vetores de palavras, incluindo Word2Vec, FastText e Doc2Vec. Esses modelos convertem texto em vetores numéricos, preservando as relações semânticas entre as palavras.

Modelagem de tópicos

A biblioteca inclui vários algoritmos para modelagem de tópicos:

  • LDA (Latent Dirichlet Allocation) — para identificar tópicos ocultos em uma coleção de documentos
  • LSI (Latent Semantic Indexing) — para redução de dimensionalidade e descoberta de conceitos latentes
  • HDP (Hierarchical Dirichlet Process) — para determinar automaticamente o número de tópicos

Trabalho com corpora

Gensim garante eficiência no processamento de grandes corpora textuais por meio de streaming, permitindo analisar dados que excedem a memória RAM disponível.

Cálculo de similaridade

A biblioteca fornece diversas métricas para calcular a similaridade entre documentos, palavras e tópicos, incluindo similaridade por cosseno e outras métricas semânticas.

Instalação e configuração básica

Instalando a biblioteca

A instalação do Gensim é feita de forma padrão via pip:

pip install gensim

Para trabalhar com alguns modelos, pode ser necessário instalar dependências adicionais:

pip install gensim[complete]

Importando os módulos principais

import gensim
from gensim.models import Word2Vec, FastText, LdaModel, Doc2Vec
from gensim.corpora.dictionary import Dictionary
from gensim.corpora import MmCorpus
from gensim.similarities import Similarity
from gensim.utils import simple_preprocess

Preparação dos dados textuais

Tokenização e pré-processamento

O Gensim exige documentos tokenizados no formato de lista de listas. Um pré-processamento adequado é essencial para a qualidade dos resultados:

import re
from gensim.utils import simple_preprocess

def preprocess_text(text):
    """Pré-processamento de texto para Gensim"""
    # Remove caracteres especiais
    text = re.sub(r'[^a-zA-Zà-úÀ-Ú\s]', '', text)
    # Tokenização e conversão para minúsculas
    tokens = simple_preprocess(text, deacc=True)
    return tokens

documents = [
    "Gensim é uma biblioteca útil para tarefas de PLN.",
    "Ela suporta modelagem de tópicos e embeddings de palavras.",
    "Modelos como Word2Vec e FastText são implementados."
]

# Pré-processamento dos documentos
texts = [preprocess_text(doc) for doc in documents]

Criação do dicionário e corpus

# Criação do dicionário
dictionary = Dictionary(texts)

# Filtragem de valores extremos
dictionary.filter_extremes(no_below=2, no_above=0.5, keep_n=100000)

# Criação do corpus (representação bag-of-words)
corpus = [dictionary.doc2bow(text) for text in texts]

Trabalhando com modelos Word

Recommendations