A análise de texto com modelos de tópico é uma técnica de processamento de linguagem natural que visa identificar os tópicos principais presentes em um conjunto de documentos, a modelagem de tópico é amplamente utilizada em diversas aplicações, incluindo análise de sentimentos, classificação de documentos, análise de tendências, entre outras.
Fonte de imagem: Elaboração própria
Os modelos de tópico são treinados em dados de treinamento e, em seguida, utilizados para classificar novos documentos. Desse modo, o resultado da análise de tópico é geralmente representado como uma matriz de tópico-documento, onde cada linha representa um tópico e cada coluna representa um documento. A intensidade de cor na célula indica a probabilidade de um documento pertencer a um determinado tópico
Como a biblioteca Gensim pode te ajudar implementar um modelo de tópico ?
Gensim é uma biblioteca popular de processamento de linguagem natural (NLP) de software livre usada para modelagem de tópicos não supervisionada. Ele usa os melhores modelos acadêmicos e aprendizado de máquina estatístico moderno para executar várias tarefas complexas, como:
Construir vetores de documentos ou palavras
Corpora
Realizando a identificação do tópico
Realizar comparação de documentos (recuperar documentos semanticamente semelhantes)
Analisando documentos de texto simples para estrutura semântica
Caso tenha interesse leia mais aqui:
Implementação usando python
Instale o Gensim:
!pip install gensim
2. Carregue seus dados textuais
dados_textuais = ["sou um dataholic muito feliz","dataside melhor empresa","dataside tem soluções em IA","parceria top entre dataside e microsoft"...]
3. Pré-processamento dos dados textuais
from nltk.tokenize import word_tokenize #tokenização
from nltk.corpus import stopwords
stop_words = set(stopwords.words("portuguese"))
texts = []
for text in dados_textuais:
tokenized_text = word_tokenize(text.lower())
cleaned_text = [word for word in tokenized_text if word not in stop_words]
texts.append(texto_limpo)
No pré-processamento dos dados textuais é feito uma limpeza dos textos tais como : remoção de pontuação , espaços , links dentre qualquer caractere que atrapalhe na aplicação do modelo de tópico.
4. Criação de um saco de palavras ou bag-of-words*
from gensim.corpora import Dictionary
dictionary = Dictionary(texto_limpo)
corpus = [dictionary.doc2bow(texto_limpo) for text in texto_limpo]
*O modelo bag-of-words é uma maneira de representar dados de texto ao modelar texto com algoritmos de aprendizado de máquina.
5. Aplicando modelo de tópico
from gensim.models import LdaModel
ldamodel = LdaModel(corpus, num_topics=3, id2word=dictionary, passes=50)
6. Visualização dos tópicos
for topic in ldamodel.print_topics(num_topics=5, num_words=3): #número de tópicos
print("Tópicos: ", topic)
Para visualizar tópicos podemos utilizar também a biblioteca pyLDAvis, segue um exemplo abaixo de como ficaria:
Esse artigo visou apresentar um exemplo básico de como aplicar um modelo de tópico em dados textuais e usando o pacote Gensim em Python em próximos artigos podemos aprofundar mais nossa análise principalmente métricas de modelo.