Gensim - Modelagem de Tópico
Este capítulo trata da modelagem de tópicos em relação ao Gensim.
Para anotar nossos dados e entender a estrutura das frases, um dos melhores métodos é usar algoritmos linguísticos computacionais. Sem dúvida, com a ajuda desses algoritmos linguísticos computacionais, podemos compreender alguns detalhes mais sutis sobre nossos dados, mas,
Podemos saber que tipo de palavras aparecem com mais frequência do que outras em nosso corpus?
Podemos agrupar nossos dados?
Podemos ser temas subjacentes em nossos dados?
Seríamos capazes de alcançar tudo isso com a ajuda da modelagem de tópicos. Então, vamos mergulhar fundo no conceito de modelos de tópicos.
O que são modelos de tópicos?
Um modelo de tópico pode ser definido como o modelo probabilístico contendo informações sobre os tópicos em nosso texto. Mas aqui, surgem duas questões importantes que são as seguintes -
Primeiro, what exactly a topic is?
Tópico, como o nome indica, são ideias subjacentes ou os temas representados em nosso texto. Para dar um exemplo, o corpus contendonewspaper articles teria os tópicos relacionados a finance, weather, politics, sports, various states news e assim por diante.
Segundo, what is the importance of topic models in text processing?
Como sabemos que, para identificar semelhanças no texto, podemos fazer técnicas de recuperação e pesquisa de informação por meio de palavras. Mas, com a ajuda de modelos de tópicos, agora podemos pesquisar e organizar nossos arquivos de texto usando tópicos em vez de palavras.
Nesse sentido, podemos dizer que os tópicos são a distribuição probabilística de palavras. É por isso que, usando modelos de tópicos, podemos descrever nossos documentos como distribuições probabilísticas de tópicos.
Objetivos dos modelos de tópicos
Conforme discutido acima, o foco da modelagem de tópicos é sobre ideias e temas subjacentes. Seus principais objetivos são os seguintes -
Modelos de tópicos podem ser usados para resumos de texto.
Eles podem ser usados para organizar os documentos. Por exemplo, podemos usar a modelagem de tópicos para agrupar artigos de notícias em uma seção organizada / interconectada, como organizar todos os artigos de notícias relacionados acricket.
Eles podem melhorar o resultado da pesquisa. Quão? Para uma consulta de pesquisa, podemos usar modelos de tópicos para revelar o documento com uma combinação de palavras-chave diferentes, mas são sobre a mesma ideia.
O conceito de recomendações é muito útil para o marketing. É usado por vários sites de compras online, sites de notícias e muitos mais. Os modelos de tópicos ajudam a fazer recomendações sobre o que comprar, o que ler em seguida, etc. Eles fazem isso encontrando materiais com um tópico comum na lista.
Algoritmos de modelagem de tópicos em Gensim
Sem dúvida, Gensim é o kit de ferramentas de modelagem de tópico mais popular. Sua disponibilidade gratuita e estar em Python o tornam mais popular. Nesta seção, discutiremos alguns algoritmos de modelagem de tópicos mais populares. Aqui, vamos nos concentrar em 'o quê' em vez de 'como', porque Gensim os abstrai muito bem para nós.
Alocação Latent Dirichlet (LDA)
A alocação de Dirichlet latente (LDA) é a técnica mais comum e popular atualmente em uso para modelagem de tópicos. É aquele que os pesquisadores do Facebook usaram em seu artigo de pesquisa publicado em 2013. Foi proposto pela primeira vez por David Blei, Andrew Ng e Michael Jordan em 2003. Eles propuseram LDA em seu artigo intitulado simplesmenteLatent Dirichlet allocation.
Características do LDA
Vamos saber mais sobre esta maravilhosa técnica através de suas características -
Probabilistic topic modeling technique
LDA é uma técnica de modelagem de tópicos probabilísticos. Como discutimos acima, na modelagem de tópicos assumimos que em qualquer coleção de documentos inter-relacionados (podem ser trabalhos acadêmicos, artigos de jornais, postagens no Facebook, Tweets, e-mails e assim por diante), existem algumas combinações de tópicos incluídos em cada documento .
O principal objetivo da modelagem de tópicos probabilísticos é descobrir a estrutura de tópicos ocultos para a coleção de documentos inter-relacionados. A seguir três coisas geralmente estão incluídas em uma estrutura de tópico -
Topics
Distribuição estatística de tópicos entre os documentos
Palavras em um documento que abrangem o tópico
Work in an unsupervised way
LDA funciona de forma não supervisionada. É porque o LDA usa probabilidades condicionais para descobrir a estrutura oculta do tópico. Ele pressupõe que os tópicos estão distribuídos de forma desigual na coleção de documentos inter-relacionados.
Very easy to create it in Gensim
No Gensim, é muito fácil criar um modelo LDA. precisamos apenas especificar o corpus, o mapeamento do dicionário e o número de tópicos que gostaríamos de usar em nosso modelo.
Model=models.LdaModel(corpus, id2word=dictionary, num_topics=100)
May face computationally intractable problem
Calcular a probabilidade de cada estrutura de tópico possível é um desafio computacional enfrentado pelo LDA. É um desafio porque precisa calcular a probabilidade de cada palavra observada em cada estrutura de tópico possível. Se tivermos um grande número de tópicos e palavras, o LDA pode enfrentar problemas computacionalmente intratáveis.
Indexação semântica latente (LSI)
Os algoritmos de modelagem de tópicos que foram implementados pela primeira vez no Gensim com Latent Dirichlet Allocation (LDA) é Latent Semantic Indexing (LSI). Também é chamadoLatent Semantic Analysis (LSA).
Foi patenteado em 1988 por Scott Deerwester, Susan Dumais, George Furnas, Richard Harshman, Thomas Landaur, Karen Lochbaum e Lynn Streeter. Nesta seção, vamos configurar nosso modelo LSI. Isso pode ser feito da mesma forma que configurar o modelo LDA. precisamos importar o modelo LSI degensim.models.
Papel do LSI
Na verdade, LSI é uma técnica de PNL, especialmente em semântica distributiva. Ele analisa a relação entre um conjunto de documentos e os termos que esses documentos contêm. Se falarmos sobre seu funcionamento, ele constrói uma matriz que contém contagens de palavras por documento a partir de um grande pedaço de texto.
Uma vez construído, para reduzir o número de linhas, o modelo LSI usa uma técnica matemática chamada decomposição de valor singular (SVD). Além de reduzir o número de linhas, também preserva a estrutura de similaridade entre as colunas. Na matriz, as linhas representam palavras únicas e as colunas representam cada documento. Ele funciona com base na hipótese de distribuição, ou seja, assume que as palavras com significado próximo ocorrerão no mesmo tipo de texto.
Model=models.LsiModel(corpus, id2word=dictionary, num_topics=100)
Processo Hierárquico de Dirichlet (HDP)
Modelos de tópicos como LDA e LSI ajudam a resumir e organizar grandes arquivos de textos que não são possíveis de serem analisados manualmente. Além do LDA e do LSI, um outro modelo de tópico poderoso no Gensim é o HDP (Hierarchical Dirichlet Process). É basicamente um modelo de associação mista para análise não supervisionada de dados agrupados. Ao contrário do LDA (sua contraparte finita), o HDP infere o número de tópicos a partir dos dados.
Model=models.HdpModel(corpus, id2word=dictionary