O que é alocação latente de Dirichlet?

Autores

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

O que é alocação latente de Dirichlet?

A alocação latente de Dirichlet é uma técnica de modelagem de tópicos para descobrir os tópicos centrais e suas distribuições em um conjunto de documentos.

A alocação latente de Dirichlet (LDA), que não deve ser confundida com a análise discriminante linear no aprendizado de máquina, é uma abordagem bayesiana para modelagem de tópicos. Em termos simples, a LDA é uma forma condicional e probabilística de modelagem de tópicos.

A modelagem de tópicos é uma técnica de processamento de linguagem natural (NLP) que aplica aprendizado não supervisionado em grandes conjuntos de dados de texto para produzir um conjunto de termos resumidos derivados desses documentos. Esses termos representam o conjunto principal geral de tópicos da coleção. Dessa forma, os modelos de tópicos visam descobrir os tópicos ou temas latentes que caracterizam uma coleção de documentos.1

Os usuários podem gerar facilmente modelos de tópicos de LDA usando o Natural Language Toolkit (NLTK) do scikit-learn (ou sklearn’s) e o gensim  no Python. Os pacotes topicmodels  e lda  no R também contêm funções para gerar modelos de tópicos de LDA.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Suposição de geração de texto

O LDA é um modelo probabilístico. Isso significa que o algoritmo LDA gera tópicos, classificando palavras e documentos entre esses diferentes tópicos, de acordo com distribuições de probabilidade. Mas por que esse é um método apropriado para descobrir estruturas temáticas ocultas em dados de texto? Essencialmente, o LDA assume que os documentos foram gerados por meio de amostragem aleatória de tópicos pré-documento e tenta fazer engenharia reversa dessa amostragem.

O processo de texto generativo imaginado da LDA começa com tópicos pré-documento. Cada tópico é um vocabulário fixo de palavras em que cada palavra tem uma probabilidade de pertencer a esse tópico. Observe que as palavras são probabilidades atribuídas em vez de uma categoria discreta para contabilizar a pluralidade potencial de significado e uso. Em seguida, para criar um documento de texto, a máquina gera aleatoriamente uma distribuição sobre tópicos, por exemplo, oitenta e cinco por cento de política, dez por cento de finanças, cinco por cento de história. Para cada palavra deste documento, a máquina seleciona aleatoriamente um dos tópicos escolhidos e emite aleatoriamente uma palavra desse tópico. Observe que o LDA não gera documentos dessa maneira. Em vez disso, esse é o processo pelo qual o LDA assume que os documentos são gerados. A própria LDA tenta reverter esse processo para descobrir os tópicos abrangentes e ocultos que permeiam um corpus de documentos.

Esta figura ilustra o processo de geração de texto subjacente ao LDA:

Ilustração mostrando o processo de geração de texto subjacente ao LDA

Na parte inferior desta imagem, há uma variedade aleatória de tópicos compostos por uma distribuição de palavras. Esses tópicos existem para todos os documentos da coleção. Para gerar um determinado documento (neste exemplo, Otelo de Shakespeare), a máquina gera uma distribuição de tópicos, que é o gráfico na extrema direita. Essa distribuição são os tópicos (e a proporção de cada um) que irão compor o documento. Para cada palavra no documento, a máquina seleciona aleatoriamente um dos tópicos escolhidos (a coluna de pontos coloridos), do qual, por sua vez, escolhe aleatoriamente uma palavra (os termos destacados).2 Observe que essa visualização é apenas um exemplo ilustrativo, não o resultado de qualquer modelagem de tópicos real ou geração de texto. Conforme mencionado, no entanto, o LDA assume que cada documento é gerado por esse processo generativo geral, no qual o LDA tenta fazer engenharia reversa.

Como funciona a alocação latente de Dirichlet

Assim como outras abordagens de modelagem de tópicos, como análise semântica latente (LSA), o LDA aborda documentos em todo o corpo como um bag of words. Isso significa que o LDA ignora a ordem e o contexto das palavras. Em vez disso, concentra-se na frequência com que as palavras ocorrem e coocorrem em cada documento individual.3 A frequência e a coocorrência de palavras são modeladas na matriz documentos-termos. Aqui, os documentos são linhas, e as palavras individuais são colunas, ou vice-versa. O valor de cada célula indica a frequência com que uma determinada palavra aparece em cada documento.4

Geração de tópicos

Utilizando a matriz de termos de documentos, o algoritmo LDA gera distribuições de tópicos (ou seja, listas de palavras-chave com as respectivas probabilidades) de acordo com a frequência de palavras e coocorrências. Rastreando a frequência de coocorrências, o LDA pressupõe que as palavras que ocorrem juntas provavelmente fazem parte de tópicos semelhantes. Então, o algoritmo atribui distribuições de tópicos de documentos com base nos grupos de palavras que aparecem no documento em questão.5

Por exemplo, digamos que geramos um modelo LDA para uma coleção de artigos de notícias que tem o seguinte resultado parcial

Ilustração representando um modelo LDA

Aqui, temos dois tópicos que provavelmente podem ser descritos como imigração (Tópico 1) e astronomia (Tópico 2). As pontuações associadas a cada palavra são a probabilidade dessa palavra-chave aparecer em um determinado tópico. As probabilidades anexadas a cada documento são as respectivas probabilidades desse documento de pertencer a uma mistura de tópicos, dada a distribuição e a coocorrência de palavras de cada tópico dentro desse documento. Por exemplo, a primeira linha da tabela lista a borda no Tópico 1 com 40% de probabilidade e o espaço no Tópico 2 com 60% de probabilidade. Essas porcentagens indicam a probabilidade de seus respectivos termos ocorrerem nesse tópico em todo o corpus. A primeira linha do documento diz Documento 1: Tópico 1: .95, Tópico 2: .05. Isso significa que, com base na ocorrência de palavras no Documento 1, o modelo projeta o Documento 1 como sendo 95% derivado do Tópico 1 e 5% derivado do Tópico 2. Em outras palavras, nosso modelo hipotético de LDA assume que esses são os tópicos e as proporções desses tópicos utilizados para gerar o modelo.

É claro que as palavras polissêmicas em particular criam problemas para categorizações tão discretas — por exemplo, alien, do inglês pode se referir tanto a um imigrante humano ou a uma criatura extraterrestre. Nesses casos, como o algoritmo LDA determina a qual tópico a palavra (e, por extensão, o documento) pertence?

Fórmula de Gibbs

Atribuindo tópicos às palavras, o algoritmo LDA usa o que é conhecido como amostragem de Gibbs. A fórmula de amostragem de Gibbs é:

Ilustração da fórmula de Gibbs

Compreender as operações exatas e os hiperparâmetros dessa equação requer conhecimento fundamental em estatística e técnicas de Monte Carlo de cadeia de Markov (esta última frequentemente empregada no aprendizado por reforço). No entanto, podemos resumir os principais componentes da equação:

  • A primeira razão expressa a probabilidade do tópico t no documento d. O algoritmo calcula essa probabilidade de acordo com o número de palavras no documento d que pertencem ao tópico t. Isso essencialmente pergunta: quão prevalente é o tópico t no documento d?
  • A segunda proporção expressa a probabilidade da palavra w pertencer ao tópico t. O algoritmo calcula essa probabilidade enumerando as ocorrências de w in t sobre todos os tokens de palavra em t. Isso pergunta: com que frequência a palavra w aparece no tópico t em todo o resto do corpus?

Observe que a amostragem de Gibbs é um processo iterativo. Ou seja, uma palavra não é amostrada uma vez, atribuída a um tópico e jogada de lado. Em vez disso, a amostragem de Gibbs passa cada palavra por várias iterações, atualizando as probabilidades de tópicos-palavras em relação umas às outras.6

Classificação de texto

A funcionalidade distinta do LDA é a distribuição probabilística de cada documento em um conjunto compartilhado de tópicos. Assim como em outras abordagens de modelagem de tópicos, esses tópicos e sua distribuição em cada documento não são conhecidos. A modelagem de tópicos não é supervisionada; não há dados rotulados manualmente orientando a análise. Ao revelar estruturas de tópicos ocultas, o LDA acaba anotando documentos em uma coleção. Essas anotações (ou seja, os tópicos não descobertos) podem ser usadas para classificar textos. Dessa forma, o LDA auxilia os sistemas de recuperação de informações ao automatizar a anotação e a organização de grandes coleções de documentos.7

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Otimização

Tal como acontece com muitas técnicas de mineração de texto na ciência de dados, o pré-processamento de texto melhora muito os resultados do modelo do LDA. A remoção de palavras irrelevantes remove palavras comuns e semanticamente irrelevantes. O stemming ou lematização ajuda a reduzir variantes morfológicas em formas básicas, combinando, assim, variações de uma palavra que a máquina pode separar, como por exemplo, dança, dançando, dançarino e assim por diante.

Como os modelos LDA são probabilísticos e não determinísticos, a otimização do modelo pode ser um processo difícil. Não há um número definido de tópicos que produza os melhores resultados, nem parece existir nenhum princípio orientador, como um número definido de tópicos adequados para um determinado número de documentos. De fato, ajustar os parâmetros do modelo para produzir tópicos interpretáveis e coerentes envolve muitas tentativas e erros.

Métricas de avaliação

Quais ferramentas ou métricas há disponíveis para ajudar um usuário a ajustar um modelo LDA? Para aqueles que são novos na modelagem de tópicos, pode ser frustrante saber que não há uma métrica de desempenho, nem mesmo uma coleção adotada na literatura.

Qualitativa. Acredite ou não, a avaliação qualitativa não é incomum, especialmente em aplicações do mundo real. Muitas vezes, pode envolver o exame das cinco ou dez principais palavras-chave de cada tópico. Então, elas são utilizadas para avaliar tópicos de acordo com a interpretação dos tópicos pelos usuários humanos.8 Esse tipo de "avaliação visual", por assim dizer, requer uma quantidade significativa de conhecimento especializado no domínio e familiaridade com os documentos em consideração.9

Coerência. A coerência de tópicos é um método quantitativo popular para avaliar tópicos gerados. Uma pontuação de coerência de tópicos mede a frequência com que as palavras mais prováveis de um determinado tópico ocorrem simultaneamente nos mesmos documentos em todo o corpus. Mais especificamente, calcula a frequência de coocorrência de cada par de palavras das n principais palavras de um tópico em relação à frequência de palavras de cada indivíduo em todo o corpus. Isso visa quantificar o quanto um determinado tópico é coerente. A pontuação geral de coerência de um modelo calcula a média da pontuação de coerência pertencente a cada tópico individual. Na verdade, essa pontuação geral significa a coerência média do tópico em um determinado modelo. Por seu nome, a coerência avalia os modelos apenas de acordo com a coesão de seus tópicos. Os tópicos também devem manter um grau de exclusividade, entretanto, para o qual atualmente não há medida quantitativa.10

Pesquisas recentes mostram que métricas quantitativas, como pontuação de coerência, não são confiáveis para avaliação de modelos de tópicos. Isso se deve, em parte, à ambiguidade no objetivo avaliativo professado de interpretabilidade—o que torna um modelo e seus resultados interpretáveis?11 Além disso, métricas automatizadas projetadas para sistemas mais antigos podem não ser bem extrapoladas para sistemas mais novos. Essa questão é complicada pela falta de transparência em muitos experimentos publicados, o que impede a generalização dos métodos de avaliação para outros conjuntos de dados ou domínios.12 Recentemente, as pesquisas se voltaram para aplicações de inteligência artificial, principalmente grandes modelos de linguagem (LLMs), como um meio de projetar e avaliar modelos LDA para um objetivo de pesquisa específico.13 Embora isso mostre resultados promissores, são necessárias mais pesquisas.

Soluções relacionadas
IBM watsonx Orchestrate

Projete assistentes e agentes de IA escaláveis com facilidade, automatize tarefas repetitivas e simplifique processos complexos com o IBM® watsonx Orchestrate.

Conheça o watsonx Orchestrate
Ferramentas e APIs de processamento de linguagem natural

Acelere o valor comercial da inteligência artificial com um portfólio poderoso e flexível de bibliotecas, serviços e aplicativos.

Explore as soluções de PNL
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Projete assistentes e agentes de IA escaláveis com facilidade, automatize tarefas repetitivas e simplifique processos complexos com o IBM® watsonx Orchestrate.

Conheça o watsonx Orchestrate Explore as soluções de PLN
Notas de rodapé

1 Daniel Jurafsky e James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3rd edition, 2023, https://web.stanford.edu/~jurafsky/slp3/. Jay Alammar and Maarten Grootendorst, Hands-On Large Language Models, O’Reilly, 2024.

2 David Blei, “Probabilistic Topic Models,” Communications of the ACM, Vol. 55, No. 4, 2012, pp. 77-84. Zhiyuan Chen and Bing Liu, “Topic Models for NLP Applications,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

3 Matthew Jockers, Text Analysis with R for Students of Literature, Springer, 2014.

4 Cole Howard, Hobson Lane, and Hannes Hapke, Natural Language Processing in Action, Manning Publications, 2019. Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana, Practical Natural Language Processing, O’Reilly, 2020.

5 Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana, Practical Natural Language Processing, O’Reilly, 2020. David Blei, Andrew Ng, and Michael Jordan, “Lantent Dirichlet Allocation,” Journal of Machine Learning Research, Vol. 3, 2003, pp. 993-1022.

6 Zhiyuan Chen and Bing Liu, “Topic Models for NLP Applications,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

7 David Blei, “Probabilistic Topic Models,” Communications of the ACM, Vol. 55, No. 4, 2012, pp. 77-84.

8 Chandler Camille May, “Topic Modeling in Theory and Practice,” Dissertation, John Hopkins University, 2022.

9 Matthew Gillings e Andrew Hardie, “The interpretation of topic models for scholarly analysis: An evaluation and critique of current practice,” Digital Scholarship in the Humanities, Vol. 38, No. 2, 2023, pp. 530-543, https://academic.oup.com/dsh/article-abstract/38/2/530/6957052

10 Chandler Camille May, “Topic Modeling in Theory and Practice,” Dissertation, John Hopkins University, 2022. https://aclanthology.org/D11-1024/

11 Zachary Lipton, “The Mythos of Model Interpretability: In machine learning, the concept of interpretability is both important and slippery,” Queue, Vol. 16, No. 3, pp. 31-57, https://dl.acm.org/doi/10.1145/3236386.3241340 . Caitlin Doogan e Wray Buntine, “Topic Model or Topic Twaddle? Re-evaluating Semantic Interpretability Measures,” Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2021, pp. 3824-3848, https://aclanthology.org/2021.naacl-main.300 .

12 Alexander Hoyle, Pranav Goel, Andrew Hian-Cheong, Denis Peskov, Jordan Boyd-Graber, Philip Resnik, “Is Automated Topic Model Evaluation Broken? The Incoherence of Coherence,” Advances in Neural Information Processing Systems, 2021, pp. 2018-2033, https://proceedings.neurips.cc/paper_files/paper/2021/hash/0f83556a305d789b1d71815e8ea4f4b0-Abstract.html . Caitlin Doogan e Wray Buntine, “Topic Model or Topic Twaddle? Re-evaluating Semantic Interpretability Measures,” Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2021, pp. 3824-3848, https://aclanthology.org/2021.naacl-main.300 .

13 Dominik Stammbach, Vilém Zouhar, Alexander Hoyle, Mrinmaya Sachan e Elliott Ash, “Revisiting Automated Topic Model Evaluation with Large Language Models,” Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, 2023, pp. 9348-9357, https://aclanthology.org/2023.emnlp-main.581/ .