O que é análise semântica latente?

Autora

Jacob Murel Ph.D.

Senior Technical Content Creator

Joshua Noble

Data Scientist

O que é análise semântica latente?

No aprendizado de máquina, a análise semântica latente (LSA) é uma técnica de modelagem de tópicos que analisa a coocorrência de palavras para descobrir tópicos latentes em documentos. A LSA usa a redução de dimensionalidade para criar dados estruturados a partir de texto não estruturado, a fim de auxiliar na classificação e recuperação de texto.

A LSA é uma das duas principais técnicas de modelagem de tópicos, sendo a outra alocação de Dirichlet latente (LDA). 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. Os modelos de tópicos, portanto, visam descobrir os tópicos ou temas latentes que caracterizam um conjunto de documentos.

Os usuários podem gerar modelos de tópicos de LSA usando o toolkit de linguagem natural (NLTK) do scikit-learn (geralmente chamado de sklearn) e o gensim no Python. Os pacotes topic models e lda no R também contêm funções para gerar modelos de tópicos de LDA.

Recuperação de informações

A análise semântica latente está associada à indexação semântica latente (LSI), que é uma técnica de recuperação de informações. Em sistemas de recuperação de informações, a LSI utiliza o mesmo procedimento matemático subjacente à LSA para mapear consultas de usuários para documentos com base na coocorrência de palavras. Se um usuário consultar um sistema para waltz e foxtrot, ele pode estar interessado em documentos que não contêm nenhum desses termos, mas contêm termos que frequentemente coocorrem com seus termos de consulta. Por exemplo,tango e bolero podem frequentemente coocorrer com os termos de consulta e devem indicar documentos sobre o mesmo tópico. A LSI indexa documentos de acordo com grupos de palavras semânticas latentes, que consistem em palavras comumente coocorrentes. Dessa forma, pode melhorar os resultados dos mecanismos de pesquisa. A LSA aplica o mesmo procedimento matemático que a LSI para capturar a estrutura semântica oculta subjacente a grandes coleções de documentos.2

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.

Como funciona a análise semântica latente

Matriz de termos do documento

A LSA começa com a matriz documento-termo ou, às vezes, uma matriz termo-documento. Exibe o número de ocorrências de cada palavra em todos os documentos. No Python (para dar um exemplo), os usuários podem construir essas matrizes usando um dataframe do pandas. Aqui está um exemplo de matriz documento-termos usando as três cadeias de caracteres como documentos individuais:

d1: My love is like red, red roses

d2: Roses are red, violets are blue

d3: Moses supposes his toes-es are roses

exemplo de matriz de termos de documento com três documentos

Esta matriz mostra a frequência de cada palavra em todos os três documentos após a tokenização e a remoção de palavras irrelevantes. Cada coluna corresponde a um documento, enquanto cada linha corresponde a uma palavra específica encontrada em todo o corpus de texto. Os valores na matriz significam o número de vezes que um determinado termo aparece em um determinado documento. Se o termo w ocorrer n vezes dentro do documento d, então [w,d] = n. Assim, por exemplo, o documento 1 usa "red" duas vezes, e portanto [red, d1] = 2.

A partir da matriz documento-term, a LSA produz uma matriz documento-documento e uma matriz termo-termo. Se as dimensões da matriz documento-termo forem definidas como d documentos vezes w palavras, então a matriz documento-documento será d vezes d, e a matriz termo-termo será w vezes w. Cada valor na matriz documento-documento indica o número de palavras que cada documento tem em comum. Cada valor na matriz termo-termo indica o número de documentos em que dois termos coocorrem.9

A escassez de dados, que leva ao overfitting do modelo, ocorre quando a maioria dos valores de dados em um determinado conjunto de dados é nula (ou seja, vazia). Isso acontece regularmente ao construir matrizes de termos de documentos, para as quais cada palavra individual é uma linha separada e uma dimensão de espaço vetorial, pois um documento normalmente não terá a maioria das palavras que são mais frequentes em outros documentos. De fato, o exemplo de matriz documento-termo aqui usado contém vários usos para palavras como Moses, violets e blue que aparecem em apenas um documento. É claro que técnicas de pré-processamento de texto, como remoção de palavras irrelevantes, stemming e lematização, can ajudam a reduzir a escassez. No entanto, a LSA oferece uma abordagem mais direcionada.

Redução de dimensionalidade

A LSA implementa uma técnica de redução de dimensionalidade conhecida como decomposição de valor singular (SVD) para reduzir a escassez na matriz documento-termo. A SVD alimenta muitas outras abordagens de redução de dimensão, como a análise de componentes principais. A SVD ajuda a aliviar problemas resultantes de polissemia, palavras únicas que têm múltiplos significados, e sinônimas, palavras diferentes com  significado semelhante.

Usando as matrizes calculadas a partir dos termos entre matrizes documento-documento e termo-termo, o algoritmo da LSA executa a SVD na matriz inicial termo-documento. Isso produz novas matrizes especiais de autovetores que decompõem as relações originais termo-documento em fatores linearmente independentes. A mais importante delas é a matriz diagonal de valores singulares, produzida a partir das raízes quadradas dos valores próprios da matriz documento-documento. Nesta matriz diagonal, geralmente representada como Σ, os valores são sempre positivos e dispostos em ordem decrescente na diagonal da matriz:

Exemplo de uma matriz sigma esparsa

Conforme mostrado neste exemplo de matriz Σ, muitos dos valores mais baixos estão próximos de zero. O desenvolvedor determina um valor de corte apropriado para sua situação e reduz todos os valores singulares em Σ abaixo desse limite para zero. Isso significa efetivamente remover todas as linhas e colunas totalmente ocupadas por zeros. Por sua vez, removemos linhas e colunas de nossas outras matrizes originais, até que elas tenham o mesmo número de linhas e colunas que Σ. Isso reduz as dimensões do modelo.4

Comparação de documentos

Depois que as dimensões do modelo forem reduzidas por meio da SVD, o algoritmo da LSA compara os documentos em um espaço semântico de dimensão inferior usando similaridade de cosseno. O primeiro passo nesta etapa de comparação envolve o mapeamento de documentos em um espaço vetorial. Aqui, a LSA trata os textos como um modelo de bag of words. O algoritmo traça cada texto do corpus ou corpora como vetor de documento, com palavras individuais da matriz reduzida como as dimensões desse vetor. A plotagem ignora a ordem e o contexto das palavras, concentrando-se, em vez disso, na frequência com que as palavras ocorrem e com que frequência elas coocorrem nos documentos.5

Com modelos padrão de bag of words, palavras semanticamente irrelevantes (por exemplo, palavras como the e some,e outras palavras semelhantes) podem ter a frequência de termos mais alta e, portanto, maior peso em um modelo. Frequência de termos-frequência inversa de documentos (TF-IDF) é uma técnica para corrigir isso. Ela faz isso contabilizando a predominância de uma palavra em cada documento em um conjunto de texto e ponderando as palavras em cada documento de acordo com a predominância da palavra em todo o corpus.6

Depois que os documentos são plotados no espaço vetorial, o algoritmo da LSA usa a métrica de similaridade de cosseno para compará-los. A similaridade de cosseno significa a medida do ângulo entre dois vetores no espaço vetorial. Pode ser qualquer valor entre -1 e 1. Quanto maior a pontuação de cosseno, mais semelhantes os dois documentos são considerados. A similaridade de cosseno é representada por esta fórmula, onde a e b significam dois vetores de documento:7

Equação da pontuação de similaridade do cosseno

Pesquisa recente

Há muitos casos de uso para modelos de tópicos, desde crítica literária8 até bioinformática9 e detecção de discurso de ódio nas redes sociais.10 Como acontece com muitas tarefas de NLP, uma proporção significativa da pesquisa de modelagem de tópicos ao longo dos anos diz respeito ao inglês e outros idiomas de escrita latina. Mais recentemente, no entanto, a pesquisa explorou abordagens de modelagem de tópicos para árabe e outras línguas não latinas.11 A pesquisa também se voltou para a forma como os grandes modelos de linguagem (LLMs) podem avançar e melhorar os modelos de tópicos. Por exemplo, um estudo argumenta que os LLMs fornecem um método automatizado para resolver problemas de longa data na modelagem de tópicos, nomeadamente como determinar o número apropriado de tópicos e como avaliar os tópicos gerados.12

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.

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/ (link externo a ibm.com). Jay Alammar e Maarten Grootendorst, Hands-On Large Language Models, O’Reilly, 2024.

2 Christopher Manning e Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press, 2000.

3 Scott Deerwester, Susan Dumais, George Furnas, Thomas Landauer e Richard Harshman, “Indexing by Latent Semantic Analysis,” Journal of the American Society for Information Science, Vol. 41, No. 6, 1990, pp. 391-407, https://asistdl.onlinelibrary.wiley.com/doi/abs/10.1002/%28SICI%291097-4571%28199009%2941%3A6%3C391%3A%3AAID-ASI1%3E3.0.CO%3B2-9 (link resides outside of ibm.com). Alex Thomo, “Latent Semantic Analysis,” https://www.engr.uvic.ca/~seng474/svd.pdf (link externo a ibm.com).

4 Hana Nelson, Essential Math for AI, O’Reilly, 2023. Scott Deerwester, Susan Dumais, George Furnas, Thomas Landauer e Richard Harshman, “Indexing by Latent Semantic Analysis,” Journal of the American Society for Information Science, Vol. 41, No. 6, 1990, pp. 391-407, https://asistdl.onlinelibrary.wiley.com/doi/abs/10.1002/%28SICI%291097-4571%28199009%2941%3A6%3C391%3A%3AAID-ASI1%3E3.0.CO%3B2-9 (link externo a ibm.com).

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

6 Alice Zheng e Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.

7 Elsa Negre, Information and Recommender Systems, Vol. 4, Wiley-ISTE, 2015. Hana Nelson, Essential Math for AI, O’Reilly, 2023.

8 Derek Greene, James O'Sullivan e Daragh O'Reilly, “Topic modelling literary interviews from The Paris Review,” Digital Scholarship in the Humanities, 2024,https://academic.oup.com/dsh/article/39/1/142/7515230?login=false(link resides outside ibm.com).

9 Yichen Zhang, Mohammadali (Sam) Khalilitousi e Yongjin Park, “Unraveling dynamically encoded latent transcriptomic patterns in pancreatic cancer cells by topic modeling,” Cell Genomics, Vol. 3, No. 9, 2023, https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10504675/ (link externo a ibm.com).

10 Richard Shear, Nicholas Johnson Restrepo, Yonatan Lupu e Neil F. Johnson, “Dynamic Topic Modeling Reveals Variations in Online Hate Narratives,” Intelligent Computing, 2022, https://link.springer.com/chapter/10.1007/978-3-031-10464-0_38 (link externo a ibm.com).

11 Abeer Abuzayed e Hend Al-Khalifa, “BERT for Arabic Topic Modeling: An Experimental Study on BERTopic Technique,” Procedia Computer Science, 2021, pp. 191-194, https://www.sciencedirect.com/science/article/pii/S1877050921012199 (link externo a ibm.com). Raghad Alshalan, Hend Al-Khalifa, Duaa Alsaeed, Heyam Al-Baity e Shahad Alshalan, “Detection of Hate Speech in COVID-19--Related Tweets in the Arab Region: Deep Learning and Topic Modeling Approach,” Journal of Medical Internet Research, Vol. 22, No. 12, 2020, https://www.jmir.org/2020/12/e22609/ (link externo a ibm.com).

12 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, https://aclanthology.org/2023.emnlp-main.581/ (link externo a ibm.com).