SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Modelagem de Tópicos em Texto
LSA e pLSA
Fundamentos Teóricos para Análise de Dados
Marlesson Santana
~
• Introdução
• Modelagem de Tópico
• Latent Semantic Analysis
• Probabilistic Latent Semantic Analysis
• Conclusão
Roteiro
2
A compreensão da linguagem natural e extração de padrões em
dados não estruturados não é uma tarefa trivial.
Diferentes técnicas de estatística e ML podem ser utilizadas para
mineração de dados em texto com foco na extração da informação.
Introdução
3
A modelagem de tópicos é uma técnica
de mineração de texto que fornece
métodos para identificar palavras-chave
co-ocorrentes para resumir grandes
coleções de informações textuais.
Introdução: Modelagem de Tópicos
4
Diferentes algoritmos podem ser utilizados para modelagem de
tópicos, dentre eles os de fatoração de matrizes.
A maioria dos modelos de tópicos são
baseados na mesma suposição básica:
● Cada documento consiste em uma
mistura de tópicos
● Cada tópico consiste em uma
coleção de palavras
Introdução: Modelagem de Tópicos
5
Dessa forma, a semântica do documento está sendo governada por
algumas variáveis ocultas ou “latentes” que não estamos
observando.
A descoberta de tópicos em documentos
de texto é útil para diferentes finalidades:
● agrupamento de documentos
semelhantes
● resumo de documentos
● recuperação de informações
● recomendações de conteúdos
Introdução: Modelagem de Tópicos
6
O LSA é uma das técnicas fundamentais na modelagem de tópicos. A ideia
central é usar uma matriz de co-ocorrência (termo-documento) e decompor
em matrizes separadas de termo-tópico e tópico-documento.
LSA: Latent Semantic Analysis
7
A matriz de termo-documento (co-ocorrência) pode ser construída de
diferentes formas, geralmente passa por um pipeline de NLP para maximizar
a representatividade
LSA: Term-Document
8
LSA: Term-Document
9
Tokenização
Normalização
Vetorização
Stopwords
BoW
n-gramas
Stemming
Correção Lexical
Entidade Nomeada
Binário
TF
TF-IDF
LSA: Term-Document com Tf-IDF
10
A abordagem mais utilizada no LSA na criação da matriz de
termo-documento é utilizar o TF*IDF
RAW TF TF*IDF
LSA: Fatoração da Matriz
11
A matriz termo-documento com dimensões m x n, admite uma fatoração SVD
● U: Vetor singular esquerdo, matriz com m termos e n conceitos
● S: Valores singulares, matriz diagonal com os pesos de cada conceito
● Vt: Vetor singular direito, n conceitos e m documentos
LSA: Fatoração da Matriz
12
Termo-Documento = Termo-Tópico * Tópico-Tópico * Tópico-Documento
LSA: Fatoração da Matriz
13
A escolha dos tópicos, ou valores singulares, se faz pela ordem S1 > S2 > S3
> Sn da matriz tópico-tópico. Quanto maior o valor singular mais
importante é o tópico associado a ele. Dessa forma é realizada o
truncamento da matriz em um valor K, onde K é a quantidade de tópicos.
Termo-Documento = Termo-Tópico * Tópico-Tópico * Tópico-Documento
LSA: Semântica dos Tópicos
14
Tópico 0: 'computador', 'TI', 'gamer'
Tópico 1: 'comida', 'fria', 'ai'
Termo-Tópico * Tópico-Tópico = Termo-Tópico
LSA: Tópico dos documentos
15
Os três primeiros documentos são do Tópico 0
(computador', 'TI', 'gamer') e os três últimos do Tópico
1 ('comida', 'fria', 'ai')
Tópico-Tópico * Tópico-Documento = Tópico-Documento
LSA
16
● Método simples e de fácil implementação
● A fatoração SVD utilizada pode ser computacionalmente custosa
para uma matriz com muitos dados
● Modelo linear, pode não funcionar bem em conjuntos de dados
com dependências não lineares.
● Uma alternativa ao LSA é o pLSA que adiciona o conceito de
probabilidade na distribuição dos termos/documentos nos
tópicos
O pLSA usa um método probabilístico em vez do SVD. A idéia central é
encontrar um modelo probabilístico com tópicos latentes que possam gerar
os dados que observamos em nossa matriz de termo-documento.
pLSA: Probabilistic Latent Semantic Analysis
17
Os parâmetros das funções P(z), P(d|z), P(w|z) são desconhecidas e devem
ser estimadas.
O pLSA utiliza o método de Expectation Maximization (EM) para estimar os
parâmetros da função de probabilidade.
pLSA: Probabilistic Latent Semantic Analysis
18
O EM é um método iterativo para encontrar estimativas de máxima
verossimilhança em modelos estatísticos. Os passos são:
● uma etapa de expectativa (E), que cria uma função para a expectativa
da log-verossimilhança avaliada usando a estimativa atual dos
parâmetros
● e uma etapa de maximização (M), que calcula os parâmetros
maximizando o log esperado pela probabilidade encontrada na etapa E.
● Estas estimativas paramétricas são então usadas para determinar a
distribuição das variáveis latentes no próximo passo E.
pLSA: Expectation Maximization (EM)
19
pLSA: Expectation Maximization (EM)
20
pLSA: Probabilistic Latent Semantic Analysis
21
Existe um paralelo entre as probabilidades do pLSA e as matrizes do LSA.
P(Z) = P(W|Z) = P(D|Z) =
pLSA
22
● O pLSA adiciona um tratamento probabilístico de tópicos e
palavras sobre o LSA. Em alguns casos se torna um modelo mais
flexível.
● Uma alternativa mais conhecida para modelar probabilidade com
extração de tópicos é o método Latent Dirichlet Allocation (LDA).
Conclusão
23
● As duas técnicas apresentada (LSA e pLSA) podem ser utilizadas
para modelagem de tópicos e descoberta de conhecimento em
base de dados textual.
● A semântica de cada Tópico está associada a
coleção de palavras contidas no tópico,
uma interpretação ainda é necessária.
Referência
24
● https://nbviewer.jupyter.org/urls/storage.googleapis.com/ms_geral/notebooks/topic_modeling/LSA%20-%20pLSA%20-%
20Topic%20Modeling.ipynb
● https://medium.com/nanonets/topic-modeling-with-lsa-psla-lda-and-lda2vec-555ff65b0b05
● http://www.iro.umontreal.ca/~nie/IFT6255/Hofmann-UAI99.pdf
Obrigado(a)!
25

Mais conteúdo relacionado

Semelhante a UFG - Topic Modeling in Text

Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...Tchelinux
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Análise multivarida e correlacões no Genes
Análise multivarida e correlacões no GenesAnálise multivarida e correlacões no Genes
Análise multivarida e correlacões no GenesCristiano Lemes da Silva
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosNécio de Lima Veras
 
Aula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesAula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesDalton Martins
 
Minicurso de estatística experimental com o R - III SIC IFNMG
Minicurso de estatística experimental com o R  - III SIC IFNMGMinicurso de estatística experimental com o R  - III SIC IFNMG
Minicurso de estatística experimental com o R - III SIC IFNMGPetronio Candido
 
Meta-aprendizado para otimização de parâmetros de redes neurais
Meta-aprendizado para otimização de parâmetros de redes neuraisMeta-aprendizado para otimização de parâmetros de redes neurais
Meta-aprendizado para otimização de parâmetros de redes neuraisOrlando Junior
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoEduardo de Lucena Falcão
 
Redes Bayesianas para Recuperação de Informação Estruturada
Redes Bayesianas para Recuperação de Informação EstruturadaRedes Bayesianas para Recuperação de Informação Estruturada
Redes Bayesianas para Recuperação de Informação EstruturadaAdolfo Neto
 
Pré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkPré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkFelipe
 
A lógica aplicada no modelo relacional
A lógica aplicada no modelo relacionalA lógica aplicada no modelo relacional
A lógica aplicada no modelo relacionalMailson Queiroz
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosMauro Pereira
 

Semelhante a UFG - Topic Modeling in Text (20)

Algoritmo de Rabin-Karp
Algoritmo de Rabin-KarpAlgoritmo de Rabin-Karp
Algoritmo de Rabin-Karp
 
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
 
Pesquisa ppi 2
Pesquisa ppi 2Pesquisa ppi 2
Pesquisa ppi 2
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Análise multivarida e correlacões no Genes
Análise multivarida e correlacões no GenesAnálise multivarida e correlacões no Genes
Análise multivarida e correlacões no Genes
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
Analise exploratório de dados
Analise exploratório de dadosAnalise exploratório de dados
Analise exploratório de dados
 
Aula05
Aula05Aula05
Aula05
 
apostila matlab
apostila matlabapostila matlab
apostila matlab
 
Pi raciocinio lógico
Pi   raciocinio lógicoPi   raciocinio lógico
Pi raciocinio lógico
 
Aula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesAula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrões
 
Minicurso de estatística experimental com o R - III SIC IFNMG
Minicurso de estatística experimental com o R  - III SIC IFNMGMinicurso de estatística experimental com o R  - III SIC IFNMG
Minicurso de estatística experimental com o R - III SIC IFNMG
 
Meta-aprendizado para otimização de parâmetros de redes neurais
Meta-aprendizado para otimização de parâmetros de redes neuraisMeta-aprendizado para otimização de parâmetros de redes neurais
Meta-aprendizado para otimização de parâmetros de redes neurais
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvido
 
Redes Bayesianas para Recuperação de Informação Estruturada
Redes Bayesianas para Recuperação de Informação EstruturadaRedes Bayesianas para Recuperação de Informação Estruturada
Redes Bayesianas para Recuperação de Informação Estruturada
 
Apostila de Alocação Dinâmica em C
Apostila de Alocação Dinâmica em CApostila de Alocação Dinâmica em C
Apostila de Alocação Dinâmica em C
 
Pré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkPré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache Spark
 
A lógica aplicada no modelo relacional
A lógica aplicada no modelo relacionalA lógica aplicada no modelo relacional
A lógica aplicada no modelo relacional
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 

Mais de Marlesson Santana

Ciência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesCiência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesMarlesson Santana
 
Data science com python - frameworks e melhores práticas
Data science com python - frameworks e melhores práticasData science com python - frameworks e melhores práticas
Data science com python - frameworks e melhores práticasMarlesson Santana
 
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?Marlesson Santana
 
Campus Party - Sistemas de Recomendação
Campus Party - Sistemas de RecomendaçãoCampus Party - Sistemas de Recomendação
Campus Party - Sistemas de RecomendaçãoMarlesson Santana
 
Machine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMachine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMarlesson Santana
 
Ciência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesCiência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesMarlesson Santana
 
Deep Learning para Sistemas de Recomendação
Deep Learning para Sistemas de RecomendaçãoDeep Learning para Sistemas de Recomendação
Deep Learning para Sistemas de RecomendaçãoMarlesson Santana
 
Training deep auto encoders for collaborative filtering
Training deep auto encoders for collaborative filteringTraining deep auto encoders for collaborative filtering
Training deep auto encoders for collaborative filteringMarlesson Santana
 
DDC - workshop deep learning
DDC -  workshop deep learningDDC -  workshop deep learning
DDC - workshop deep learningMarlesson Santana
 
Introdução a Redes Neurais Recorrentes
Introdução a Redes Neurais RecorrentesIntrodução a Redes Neurais Recorrentes
Introdução a Redes Neurais RecorrentesMarlesson Santana
 
Mineração de Dados em Redes Sociais
Mineração de Dados em Redes SociaisMineração de Dados em Redes Sociais
Mineração de Dados em Redes SociaisMarlesson Santana
 

Mais de Marlesson Santana (11)

Ciência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesCiência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisões
 
Data science com python - frameworks e melhores práticas
Data science com python - frameworks e melhores práticasData science com python - frameworks e melhores práticas
Data science com python - frameworks e melhores práticas
 
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
 
Campus Party - Sistemas de Recomendação
Campus Party - Sistemas de RecomendaçãoCampus Party - Sistemas de Recomendação
Campus Party - Sistemas de Recomendação
 
Machine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMachine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produção
 
Ciência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesCiência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisões
 
Deep Learning para Sistemas de Recomendação
Deep Learning para Sistemas de RecomendaçãoDeep Learning para Sistemas de Recomendação
Deep Learning para Sistemas de Recomendação
 
Training deep auto encoders for collaborative filtering
Training deep auto encoders for collaborative filteringTraining deep auto encoders for collaborative filtering
Training deep auto encoders for collaborative filtering
 
DDC - workshop deep learning
DDC -  workshop deep learningDDC -  workshop deep learning
DDC - workshop deep learning
 
Introdução a Redes Neurais Recorrentes
Introdução a Redes Neurais RecorrentesIntrodução a Redes Neurais Recorrentes
Introdução a Redes Neurais Recorrentes
 
Mineração de Dados em Redes Sociais
Mineração de Dados em Redes SociaisMineração de Dados em Redes Sociais
Mineração de Dados em Redes Sociais
 

UFG - Topic Modeling in Text

  • 1. Modelagem de Tópicos em Texto LSA e pLSA Fundamentos Teóricos para Análise de Dados Marlesson Santana ~
  • 2. • Introdução • Modelagem de Tópico • Latent Semantic Analysis • Probabilistic Latent Semantic Analysis • Conclusão Roteiro 2
  • 3. A compreensão da linguagem natural e extração de padrões em dados não estruturados não é uma tarefa trivial. Diferentes técnicas de estatística e ML podem ser utilizadas para mineração de dados em texto com foco na extração da informação. Introdução 3
  • 4. A modelagem de tópicos é uma técnica de mineração de texto que fornece métodos para identificar palavras-chave co-ocorrentes para resumir grandes coleções de informações textuais. Introdução: Modelagem de Tópicos 4 Diferentes algoritmos podem ser utilizados para modelagem de tópicos, dentre eles os de fatoração de matrizes.
  • 5. A maioria dos modelos de tópicos são baseados na mesma suposição básica: ● Cada documento consiste em uma mistura de tópicos ● Cada tópico consiste em uma coleção de palavras Introdução: Modelagem de Tópicos 5 Dessa forma, a semântica do documento está sendo governada por algumas variáveis ocultas ou “latentes” que não estamos observando.
  • 6. A descoberta de tópicos em documentos de texto é útil para diferentes finalidades: ● agrupamento de documentos semelhantes ● resumo de documentos ● recuperação de informações ● recomendações de conteúdos Introdução: Modelagem de Tópicos 6
  • 7. O LSA é uma das técnicas fundamentais na modelagem de tópicos. A ideia central é usar uma matriz de co-ocorrência (termo-documento) e decompor em matrizes separadas de termo-tópico e tópico-documento. LSA: Latent Semantic Analysis 7
  • 8. A matriz de termo-documento (co-ocorrência) pode ser construída de diferentes formas, geralmente passa por um pipeline de NLP para maximizar a representatividade LSA: Term-Document 8
  • 10. LSA: Term-Document com Tf-IDF 10 A abordagem mais utilizada no LSA na criação da matriz de termo-documento é utilizar o TF*IDF RAW TF TF*IDF
  • 11. LSA: Fatoração da Matriz 11 A matriz termo-documento com dimensões m x n, admite uma fatoração SVD ● U: Vetor singular esquerdo, matriz com m termos e n conceitos ● S: Valores singulares, matriz diagonal com os pesos de cada conceito ● Vt: Vetor singular direito, n conceitos e m documentos
  • 12. LSA: Fatoração da Matriz 12 Termo-Documento = Termo-Tópico * Tópico-Tópico * Tópico-Documento
  • 13. LSA: Fatoração da Matriz 13 A escolha dos tópicos, ou valores singulares, se faz pela ordem S1 > S2 > S3 > Sn da matriz tópico-tópico. Quanto maior o valor singular mais importante é o tópico associado a ele. Dessa forma é realizada o truncamento da matriz em um valor K, onde K é a quantidade de tópicos. Termo-Documento = Termo-Tópico * Tópico-Tópico * Tópico-Documento
  • 14. LSA: Semântica dos Tópicos 14 Tópico 0: 'computador', 'TI', 'gamer' Tópico 1: 'comida', 'fria', 'ai' Termo-Tópico * Tópico-Tópico = Termo-Tópico
  • 15. LSA: Tópico dos documentos 15 Os três primeiros documentos são do Tópico 0 (computador', 'TI', 'gamer') e os três últimos do Tópico 1 ('comida', 'fria', 'ai') Tópico-Tópico * Tópico-Documento = Tópico-Documento
  • 16. LSA 16 ● Método simples e de fácil implementação ● A fatoração SVD utilizada pode ser computacionalmente custosa para uma matriz com muitos dados ● Modelo linear, pode não funcionar bem em conjuntos de dados com dependências não lineares. ● Uma alternativa ao LSA é o pLSA que adiciona o conceito de probabilidade na distribuição dos termos/documentos nos tópicos
  • 17. O pLSA usa um método probabilístico em vez do SVD. A idéia central é encontrar um modelo probabilístico com tópicos latentes que possam gerar os dados que observamos em nossa matriz de termo-documento. pLSA: Probabilistic Latent Semantic Analysis 17
  • 18. Os parâmetros das funções P(z), P(d|z), P(w|z) são desconhecidas e devem ser estimadas. O pLSA utiliza o método de Expectation Maximization (EM) para estimar os parâmetros da função de probabilidade. pLSA: Probabilistic Latent Semantic Analysis 18
  • 19. O EM é um método iterativo para encontrar estimativas de máxima verossimilhança em modelos estatísticos. Os passos são: ● uma etapa de expectativa (E), que cria uma função para a expectativa da log-verossimilhança avaliada usando a estimativa atual dos parâmetros ● e uma etapa de maximização (M), que calcula os parâmetros maximizando o log esperado pela probabilidade encontrada na etapa E. ● Estas estimativas paramétricas são então usadas para determinar a distribuição das variáveis latentes no próximo passo E. pLSA: Expectation Maximization (EM) 19
  • 21. pLSA: Probabilistic Latent Semantic Analysis 21 Existe um paralelo entre as probabilidades do pLSA e as matrizes do LSA. P(Z) = P(W|Z) = P(D|Z) =
  • 22. pLSA 22 ● O pLSA adiciona um tratamento probabilístico de tópicos e palavras sobre o LSA. Em alguns casos se torna um modelo mais flexível. ● Uma alternativa mais conhecida para modelar probabilidade com extração de tópicos é o método Latent Dirichlet Allocation (LDA).
  • 23. Conclusão 23 ● As duas técnicas apresentada (LSA e pLSA) podem ser utilizadas para modelagem de tópicos e descoberta de conhecimento em base de dados textual. ● A semântica de cada Tópico está associada a coleção de palavras contidas no tópico, uma interpretação ainda é necessária.