SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
Minerando
informações de textos
Trilha - Machine Learning
Bárbara Barbosa
@bahbbc
Quem sou eu
● Mestranda em Sistemas de
Informação - EACH/USP
● Organizadora do Rails Girls SP
desde 2015
● Cientista de dados na Creditas
Ciclo de vida de
um projeto de
Data Science
Ciclo de vida de um projeto de Data
Science
1 - Identificando o problema
Ciclo de vida de um projeto de Data
Science
2 - Preparando os dados
Ciclo de vida de um projeto de Data
Science
3 - Analisando os dados
Ciclo de vida de um projeto de Data
Science
4 - Visualizar ideias
Ciclo de vida de um projeto de Data
Science
5 - Apresentação das descobertas
E onde entram
os textos?
Que parte de um projeto de DS entra o
pré processamento textual?
Problema Preparação
dos dados
Análise de
dados
Visualização
de dados
Apresentação
10% 70% 10% 10% +80%
Mineração de textos
Processo de extrair informação à partir dos textos. Normalmente requer um pré
processamento dos dados.
Dicionário para
começar a falar
a língua do
NLP/PLN
Definições
● Corpus é um conjunto de n documentos;
● Termos são pedacinhos de cada documento, quebrados em palavras,
radicais ou conjunto de palavras;
Usaremos os termos de cada documento para fazer o pré processamento.
Considerando-se termos = palavras podemos fazer um pouco de pré
processamento para reduzir o conjunto de dados e evitar redundância.
Processos de
limpeza e
preparação de
textos
Tokenização
● Converter as frases do texto em palavras individuais;
É necessário para as próximas etapas de limpeza.
Limpeza de texto
● Conversão de todo o texto para letras minúsculas;
● Remover pontuações;
● Remover números;
Limpeza de texto
Cuidado com a limpeza textual!
StopWords
Uma lista de Stopwords é uma lista de palavras que não tem potencial para ajudar
a caracterizar o conteúdo de um texto.
Palavras como a, o, de, do, um, mais, mas, como, ou, seu, sua, etc.
StopWords
O snowball possui uma lista padrão de Stop Words para o português:
http://snowball.tartarus.org/algorithms/portuguese/stop.txt
StopWords podem reduzir o conjunto de dados de 30% a 50%
Stemming
Alguns experimentos mostram redução de 5% do tamanho original do córpus.
Matrizes de palavras
● Binária
Doc 1 - Gatos pretos dão mais sorte que gatos brancos.
Doc 2 - Meus gatos dão muito trabalho.
gatos pretos dão mais sorte que brancos doce muito
1 1 1 1 1 1 1 0 0
1 0 1 0 0 0 0 0 1
Matrizes de palavras
● Frequência
Doc 1 - Gatos pretos dão mais sorte que gatos brancos.
Doc 2 - Meus gatos dão muito trabalho.
gatos pretos dão mais sorte que brancos doce muito
2 1 1 1 1 1 1 0 0
1 0 1 0 0 0 0 0 1
Bag of Words (BoW)
São as matrizes de frequências, com um nome mais bonito.
Matrizes de palavras
● TF-IDF (Term Frequency Inverse Document Frequency)
Doc 1 - Gatos pretos dão mais sorte que gatos brancos.
Doc 2 - Meus gatos dão muito trabalho.
gatos pretos dão mais sorte que brancos meus trabalho muito
0 0.3 0.3 0.3 0.3 0.3 0.3 0 0 0
0 0 0.3 0 0 0 0 0.3 0.3 0.3
Matrizes de palavras
● TF-IDF (Term Frequency Inverse Document Frequency)
Matrizes de palavras
● TF-IDF (Term Frequency Inverse Document Frequency)
Vamos fazer a conta para a primeira frase:
tfidf(gatos) = 2 * log(2/2) = 0
tfidf(pretos) = 1 * log(2/1) = 0.30
Word Cloud
Qual nosso problema?
Vamos usar o dataset do 20newsGroup*
Queremos que dado um certo texto sejamos capazes de dizer em qual categoria
ele será inserido.
*https://archive.ics.uci.edu/ml/datasets/Twenty+Newsgroups
Depois de tanta teoria...
Vamos ver um pouco de código!
bit.ly/2sVNbtg
Mas pra que eu
vou usar tudo
isso?
E depois de todo esse
pré-processamento?
Agora começa a análise de dados!
Agrupamento, classificação, visualização, etc.
Muito Obrigada
:)
Bárbara Barbosa
Twitter: @bahbbc
Email: barbarab.claudino@gmail.com
LinkedIn: https://br.linkedin.com/in/bahbbc
Dúvidas?

Mais conteúdo relacionado

Semelhante a Minerando informações de textos

Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Adriano Melo
 
Introdução a programação em python d2
Introdução a programação em python d2Introdução a programação em python d2
Introdução a programação em python d2
Moises de Paula
 
Por que Python - Latinoware 2008
Por que Python - Latinoware 2008Por que Python - Latinoware 2008
Por que Python - Latinoware 2008
Marco Mendes
 

Semelhante a Minerando informações de textos (20)

Introdução à mineração de textos - Nerdzão
Introdução à mineração de textos - NerdzãoIntrodução à mineração de textos - Nerdzão
Introdução à mineração de textos - Nerdzão
 
Contributos das Tecnologias da Língua para a Globalização do Português
Contributos das Tecnologias da Língua para a Globalização do PortuguêsContributos das Tecnologias da Língua para a Globalização do Português
Contributos das Tecnologias da Língua para a Globalização do Português
 
Compressão de Índices
Compressão de ÍndicesCompressão de Índices
Compressão de Índices
 
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
 
Ip 01 logica
Ip 01 logicaIp 01 logica
Ip 01 logica
 
Python for kids
Python for kidsPython for kids
Python for kids
 
Inglies.At2
Inglies.At2Inglies.At2
Inglies.At2
 
Automacao com Python.pdf
Automacao com Python.pdfAutomacao com Python.pdf
Automacao com Python.pdf
 
Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitter
 
O ABC das CAT's: O que você nunca se atreveu a perguntar
O ABC das CAT's: O que você nunca se atreveu a perguntarO ABC das CAT's: O que você nunca se atreveu a perguntar
O ABC das CAT's: O que você nunca se atreveu a perguntar
 
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
Trabalho de Graduação - Normalização de ontologias em lógica de descrições AL...
 
Introdução a programação com Python (para jornalistas)
Introdução a programação com Python (para jornalistas)Introdução a programação com Python (para jornalistas)
Introdução a programação com Python (para jornalistas)
 
Porque Python?
Porque Python?Porque Python?
Porque Python?
 
TDC2018SP | Trilha Comp Cognitiva - Quer ter um bom chatbot ? Entao vamos com...
TDC2018SP | Trilha Comp Cognitiva - Quer ter um bom chatbot ? Entao vamos com...TDC2018SP | Trilha Comp Cognitiva - Quer ter um bom chatbot ? Entao vamos com...
TDC2018SP | Trilha Comp Cognitiva - Quer ter um bom chatbot ? Entao vamos com...
 
Introdução a programação em python d2
Introdução a programação em python d2Introdução a programação em python d2
Introdução a programação em python d2
 
Por que Python - Latinoware 2008
Por que Python - Latinoware 2008Por que Python - Latinoware 2008
Por que Python - Latinoware 2008
 
Python django7semestre
Python django7semestre Python django7semestre
Python django7semestre
 
Por que Python?
Por que Python?Por que Python?
Por que Python?
 
TDC2018SP | Trilha BigData - Mais Falados - Usando a Interacao Social para a ...
TDC2018SP | Trilha BigData - Mais Falados - Usando a Interacao Social para a ...TDC2018SP | Trilha BigData - Mais Falados - Usando a Interacao Social para a ...
TDC2018SP | Trilha BigData - Mais Falados - Usando a Interacao Social para a ...
 
DicionáRio
DicionáRioDicionáRio
DicionáRio
 

Minerando informações de textos

  • 1. Minerando informações de textos Trilha - Machine Learning Bárbara Barbosa @bahbbc
  • 2. Quem sou eu ● Mestranda em Sistemas de Informação - EACH/USP ● Organizadora do Rails Girls SP desde 2015 ● Cientista de dados na Creditas
  • 3.
  • 4. Ciclo de vida de um projeto de Data Science
  • 5. Ciclo de vida de um projeto de Data Science 1 - Identificando o problema
  • 6. Ciclo de vida de um projeto de Data Science 2 - Preparando os dados
  • 7. Ciclo de vida de um projeto de Data Science 3 - Analisando os dados
  • 8. Ciclo de vida de um projeto de Data Science 4 - Visualizar ideias
  • 9. Ciclo de vida de um projeto de Data Science 5 - Apresentação das descobertas
  • 10. E onde entram os textos?
  • 11. Que parte de um projeto de DS entra o pré processamento textual? Problema Preparação dos dados Análise de dados Visualização de dados Apresentação 10% 70% 10% 10% +80%
  • 12. Mineração de textos Processo de extrair informação à partir dos textos. Normalmente requer um pré processamento dos dados.
  • 13. Dicionário para começar a falar a língua do NLP/PLN
  • 14. Definições ● Corpus é um conjunto de n documentos; ● Termos são pedacinhos de cada documento, quebrados em palavras, radicais ou conjunto de palavras; Usaremos os termos de cada documento para fazer o pré processamento. Considerando-se termos = palavras podemos fazer um pouco de pré processamento para reduzir o conjunto de dados e evitar redundância.
  • 16. Tokenização ● Converter as frases do texto em palavras individuais; É necessário para as próximas etapas de limpeza.
  • 17. Limpeza de texto ● Conversão de todo o texto para letras minúsculas; ● Remover pontuações; ● Remover números;
  • 18. Limpeza de texto Cuidado com a limpeza textual!
  • 19. StopWords Uma lista de Stopwords é uma lista de palavras que não tem potencial para ajudar a caracterizar o conteúdo de um texto. Palavras como a, o, de, do, um, mais, mas, como, ou, seu, sua, etc.
  • 20. StopWords O snowball possui uma lista padrão de Stop Words para o português: http://snowball.tartarus.org/algorithms/portuguese/stop.txt StopWords podem reduzir o conjunto de dados de 30% a 50%
  • 21. Stemming Alguns experimentos mostram redução de 5% do tamanho original do córpus.
  • 22. Matrizes de palavras ● Binária Doc 1 - Gatos pretos dão mais sorte que gatos brancos. Doc 2 - Meus gatos dão muito trabalho. gatos pretos dão mais sorte que brancos doce muito 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1
  • 23. Matrizes de palavras ● Frequência Doc 1 - Gatos pretos dão mais sorte que gatos brancos. Doc 2 - Meus gatos dão muito trabalho. gatos pretos dão mais sorte que brancos doce muito 2 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1
  • 24. Bag of Words (BoW) São as matrizes de frequências, com um nome mais bonito.
  • 25. Matrizes de palavras ● TF-IDF (Term Frequency Inverse Document Frequency) Doc 1 - Gatos pretos dão mais sorte que gatos brancos. Doc 2 - Meus gatos dão muito trabalho. gatos pretos dão mais sorte que brancos meus trabalho muito 0 0.3 0.3 0.3 0.3 0.3 0.3 0 0 0 0 0 0.3 0 0 0 0 0.3 0.3 0.3
  • 26. Matrizes de palavras ● TF-IDF (Term Frequency Inverse Document Frequency)
  • 27. Matrizes de palavras ● TF-IDF (Term Frequency Inverse Document Frequency) Vamos fazer a conta para a primeira frase: tfidf(gatos) = 2 * log(2/2) = 0 tfidf(pretos) = 1 * log(2/1) = 0.30
  • 29. Qual nosso problema? Vamos usar o dataset do 20newsGroup* Queremos que dado um certo texto sejamos capazes de dizer em qual categoria ele será inserido. *https://archive.ics.uci.edu/ml/datasets/Twenty+Newsgroups
  • 30. Depois de tanta teoria... Vamos ver um pouco de código! bit.ly/2sVNbtg
  • 31. Mas pra que eu vou usar tudo isso?
  • 32. E depois de todo esse pré-processamento? Agora começa a análise de dados! Agrupamento, classificação, visualização, etc.
  • 34. Bárbara Barbosa Twitter: @bahbbc Email: barbarab.claudino@gmail.com LinkedIn: https://br.linkedin.com/in/bahbbc Dúvidas?