SlideShare uma empresa Scribd logo
Agrupamento de mensagens do
Twitter
Fabr´ J. Barth
ıcio
Faculdade BandTec e VAGAS Tecnologia

Junho de 2013
Sum´rio
a
• Componentes para uma solu¸˜o
ca
• Coletor
• Pr´-processamento dos documentos
e
• Agrupamento dos documentos
• An´lises
a

Agrupamento de mensagens do Twitter —

Sum´rio
a

2
Componentes para uma solu¸˜o...
ca
Fonte

Coletor

Pré-processamento
dos documentos

Agrupa
documentos

Agrupamento de mensagens do Twitter —

Componentes para uma solu¸˜o...
ca

Agrupamentos de
documentos

3
Coletando dados do twitter com o R
¤

§
l i b r a r y ( twitteR )
c r e d < O A u t h F a c t o r y $new (
−
consumerKey=”XXXX” ,
c o n s u m e r S e c r e t=”XXXX” ,
r e q u e s t U R L=” h t t p s : // a p i . t w i t t e r . com/ o a u t h / r e q u e s t t o k e n ” ,
a c c e ssU R L=” h t t p s : // a p i . t w i t t e r . com/ o a u t h / a c c e s s t o k e n ” ,
authURL=” h t t p : // a p i . t w i t t e r . com/ o a u t h / a u t h o r i z e ” )
cred $ handshake ( )
registerTwitterOAuth ( cred )
a b o u t p r o t e s t o < s e a r c h T w i t t e r ( ’#p r o t e s t o s p ’ , n =250)
−
a b o u t p r o t e s t o 2 < s e a r c h T w i t t e r ( ’ s p ’ , n=90)
−
p r e f e i t u r a T w e e t s < u s e r T i m e l i n e ( ’ P r e f e i t u r a SP ’ )
−
t e x t < c ( about p r o t e s t o , about p r o t e s t o 2 , p r e f e i t u r a T w e e t s )
−
d f < twListToDF ( t e x t )
−
s a v e ( df , f i l e =” . . / d a t a / p r o t e s t o . r d a ” )

¦


Agrupamento de mensagens do Twitter —

Coletando dados do twitter com o R

¥

4
Pr´-processamento
e
dos dados

5
Formato de um documento
... Esta disciplina tem como objetivo apresentar os principais
conceitos da ´rea de Inteligˆncia Artificial, caracterizar as
a
e
principais t´cnicas e m´todos, e implementar alguns problemas
e
e
cl´ssicos desta ´rea sob um ponto de vista introdut´rio.
a
a
o
A estrat´gia de trabalho, o conte´do ministrado e a forma
e
u
depender˜o dos projetos selecionados pelos alunos.
a
Inicialmente, os alunos dever˜o trazer os seus Projetos de
a
Conclus˜o de Curso, identificar intersec¸oes entre o projeto e a
a
c˜
disciplina, e propor atividades para a disciplina. ...

Pr´-processamento dos dados —
e

Formato de um documento

6
Conjunto de Exemplos - Atributo/Valor
Doc.

apresent

form

tecnic

caracteriz

···

d1

0.33

0.33

0.33

0.33

···

d2

0

0.5

0.2

0.33

···

d3

1

0.6

0

0

···

d4

0.4

0.3

0.33

0.4

···

d5

1

0.4

0.1

0.1

···

dn

···

···

···

···

···

Pr´-processamento dos dados —
e

Conjunto de Exemplos - Atributo/Valor

7
Atributo/Valor usando vetores
Como representar os documentos?
→
−
di = (pi1 , pi2 , · · · , pin)

(1)

• Os atributos s˜o as palavras que aparecem nos
a
documentos.
• Se todas as palavras que aparecem nos documentos
forem utilizadas, o vetor n˜o ficar´ muito grande?
a
a

Pr´-processamento dos dados —
e

Atributo/Valor usando vetores

8
Diminuindo a dimensionalidade do vetor
• Como filtrar as palavras que devem ser usadas como
atributos?
• Em todos os idiomas existem ´tomos (palavras) que
a
n˜o significam muito. Stop-words
a
Esta disciplina tem como objetivo apresentar os principais
conceitos da ´rea de Inteligˆncia Artificial, caracterizar as
a
e
principais t´cnicas e m´todos, e implementar alguns problemas
e
e
cl´ssicos desta ´rea sob um ponto de vista introdut´rio.
a
a
o
···

Pr´-processamento dos dados —
e

Diminuindo a dimensionalidade do vetor

9
Diminuindo ainda mais a
dimensionalidade do vetor
• Algumas palavras podem aparecer no texto de diversas
maneiras: t´cnica, t´cnicas, implementar,
e
e
implementa¸˜o...
ca
• Stemming - encontrar o radical da palavra e usar
apenas o radical.

Pr´-processamento dos dados —
e

Diminuindo ainda mais a dimensionalidade do vetor

10
Atributo/Valor usando vetores
• J´ conhecemos os atributos.
a
• E os valores?
Booleana - se a palavra aparece ou n˜o no
a
documento (1 ou 0)
Por freq¨ˆncia do termo - a freq¨ˆncia com que
ue
ue
a palavra aparece no documento (normalizada ou
n˜o)
a
Pondera¸˜o tf-idf - o peso ´ proporcional ao
ca
e
n´mero de ocorrˆncias do termo no documento e
u
e
inversamente proporcional ao n´mero de
u
documentos onde o termo aparece.
Pr´-processamento dos dados —
e

Atributo/Valor usando vetores

11
Por freq¨ˆncia do termo
ue
(apresent,0.33) (form,0.33) (tecnic,0.33) (caracteriz,0.33)
(projet,1.0) (introdutori,0.33) (objet,0.33) (inteligente,0.33)
(conclusa,0.33) (selecion,0.33) (intersecco,0.33) (classic,0.33)
(identific,0.33) (conceit,0.33) (trabalh,0.33) (disciplin,1.0)
(traz,0.33)

Pr´-processamento dos dados —
e

Por freq¨ˆncia do termo
ue

12
Executando esta etapa no R
http://rpubs.com/fbarth/agrupamentosTwitter

Pr´-processamento dos dados —
e

Executando esta etapa no R

13
Componentes para uma solu¸˜o...
ca
Fonte

Coletor

Pré-processamento
dos documentos

Agrupa
documentos

Agrupamentos de
documentos

Wiki2Group - http://trac.fbarth.net.br/wikiAnalysis

Pr´-processamento dos dados —
e

Componentes para uma solu¸˜o...
ca

14
Algoritmos para
Agrupamento

15
Defini¸oes de Algoritmos de Agrupamento
c˜
• O objetivo dos algoritmos de agrupamento ´ colocar
e
os objetos similares em um mesmo grupo e objetos
n˜o similares em grupos diferentes.
a
• Normalmente, objetos s˜o descritos e agrupados
a
usando um conjunto de atributos e valores.
• N˜o existe nenhuma informa¸˜o sobre a classe ou
a
ca
categoria dos objetos.

Algoritmos para Agrupamento —

Defini¸˜es de Algoritmos de Agrupamento
co

16
Algoritmos para Agrupamento - K-means
• K significa o n´mero de agrupamentos (que deve ser
u
informado ` priori).
a
• Sequˆncia de a¸˜es iterativas.
e
co
• A parada ´ baseada em algum crit´rio de qualidade
e
e
dos agrupamentos (por exemplo, similaridade m´dia).
e

Algoritmos para Agrupamento —

Algoritmos para Agrupamento - K-means

17
Algoritmo para Agrupamento - K-means
5

5

4

4

3

3

2

2

1

1

0

0
1

2

3

4

5

6

7

1

8

2

3

4

5

6

7

8

(2) Sorteio dos pontos centrais dos agrupamentos

(1) Objetos que devem ser agrupados

5

5

4

4

3

3

2

2

1

1

0

0
1

2

3

4

5

6

7

(3) Atribuição dos objetos aos agrupamentos

Algoritmos para Agrupamento —

8

1

2

3

4

5

6

7

8

(4) Definição do centro do agrupamento

Algoritmo para Agrupamento - K-means

18
Algoritmo K-means
• A medida de distˆncia pode ser a distˆncia Euclidiana:
a
a
n

− −
| → − → |=
x
y

(xi − yi )2

(2)

i=1

• a fun¸˜o para computar o ponto central pode ser:
ca
→= 1
−
→
−
x
µ
M→
− ∈C
x

(3)

onde M ´ igual ao n´mero de pontos no agrupamento
e
u
C.

Algoritmos para Agrupamento —

Algoritmo K-means

19
Como determinar o melhor k?

A medida de distribui¸˜o dos pontos normalmente empregada ´ sum of squared errors.
ca
e

Algoritmos para Agrupamento —

Como determinar o melhor k?

20
Agrupamento de mensagens do twitter
com o R
http://rpubs.com/fbarth/agrupamentosTwitter

Algoritmos para Agrupamento —

Agrupamento de mensagens do twitter com o R

21
Referˆncias
e
• RDataMining.com: Text Mining.
http://www.rdatamining.com/examples/text-mining.
Acessado em 14 de junho de 2013.
• Ingo Feinerer. Introduction to the tm Package: Text
Mining in R. http://cran.rproject.org/web/packages/tm/vignettes/tm.pdf.
Acessado em 14 de junho de 2013.

Algoritmos para Agrupamento —

Referˆncias
e

22
• BARTH, F. J. Ferramentas para a detec¸˜o de grupos
ca
em Wikis. In: VII Simp´sio Brasileiro de Sistemas
o
Colaborativos, 2010, Belo Horizonte. Anais do VII
Simp´sio Brasileiro de Sistemas Colaborativos. IEEE
o
Computer Society, 2010. v.II. p.8 - 11.
• BARTH, F. J. ; BELDERRAIN, M. C. R. ;
QUADROS, N. L. P. ; FERREIRA, L. L. ;
TIMOSZCZUK, A. P. . Recupera¸˜o e minera¸˜o de
ca
ca
informa¸˜es para a ´rea criminal. In: VI Encontro
co
a
Nacional de Inteligˆncia Artificial, 2007, Rio de
e
Janeiro. Anais do XXVII Congresso da SBC, 2007.

Algoritmos para Agrupamento —

Referˆncias
e

23

Mais conteúdo relacionado

Destaque

Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataPré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
Fabrício Barth
 
Ln l.agapito
Ln l.agapitoLn l.agapito
Ln l.agapito
potaters
 
Mineração de padrões frequentes - Pós Graduação em Big Data
Mineração de padrões frequentes - Pós Graduação em Big DataMineração de padrões frequentes - Pós Graduação em Big Data
Mineração de padrões frequentes - Pós Graduação em Big Data
Fabrício Barth
 
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big DataContexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Fabrício Barth
 
Machine learning for computer vision part 2
Machine learning for computer vision part 2Machine learning for computer vision part 2
Machine learning for computer vision part 2
potaters
 
Motion and tracking
Motion and trackingMotion and tracking
Motion and tracking
potaters
 
Codifique uma vez, distribua em Android, iOS e Windows Phone
Codifique uma vez, distribua em Android, iOS e Windows PhoneCodifique uma vez, distribua em Android, iOS e Windows Phone
Codifique uma vez, distribua em Android, iOS e Windows Phone
João Gabriel Lima
 
Image formation
Image formationImage formation
Image formation
potaters
 
Regras de Associação - Mineração de Dados
Regras de Associação - Mineração de DadosRegras de Associação - Mineração de Dados
Regras de Associação - Mineração de Dados
Norton Guimarães
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando R
Fabrício Barth
 
Machine learning fro computer vision - a whirlwind of key concepts for the un...
Machine learning fro computer vision - a whirlwind of key concepts for the un...Machine learning fro computer vision - a whirlwind of key concepts for the un...
Machine learning fro computer vision - a whirlwind of key concepts for the un...
potaters
 
Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity Recognition
Fabrício Barth
 

Destaque (12)

Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataPré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
 
Ln l.agapito
Ln l.agapitoLn l.agapito
Ln l.agapito
 
Mineração de padrões frequentes - Pós Graduação em Big Data
Mineração de padrões frequentes - Pós Graduação em Big DataMineração de padrões frequentes - Pós Graduação em Big Data
Mineração de padrões frequentes - Pós Graduação em Big Data
 
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big DataContexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
 
Machine learning for computer vision part 2
Machine learning for computer vision part 2Machine learning for computer vision part 2
Machine learning for computer vision part 2
 
Motion and tracking
Motion and trackingMotion and tracking
Motion and tracking
 
Codifique uma vez, distribua em Android, iOS e Windows Phone
Codifique uma vez, distribua em Android, iOS e Windows PhoneCodifique uma vez, distribua em Android, iOS e Windows Phone
Codifique uma vez, distribua em Android, iOS e Windows Phone
 
Image formation
Image formationImage formation
Image formation
 
Regras de Associação - Mineração de Dados
Regras de Associação - Mineração de DadosRegras de Associação - Mineração de Dados
Regras de Associação - Mineração de Dados
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando R
 
Machine learning fro computer vision - a whirlwind of key concepts for the un...
Machine learning fro computer vision - a whirlwind of key concepts for the un...Machine learning fro computer vision - a whirlwind of key concepts for the un...
Machine learning fro computer vision - a whirlwind of key concepts for the un...
 
Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity Recognition
 

Semelhante a Web Data Mining em R: agrupamento de mensagens do twitter

Uma introdução à mineração de informações
Uma introdução à mineração de informaçõesUma introdução à mineração de informações
Uma introdução à mineração de informações
Fabrício Barth
 
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
Nécio de Lima Veras
 
Algoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesAlgoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizes
RADILSON RIPARDO DE FRETIAS
 
Raciocínio Lógico Aplicado a Resolução de Problemas Matemáticos
Raciocínio Lógico Aplicado a Resolução de Problemas MatemáticosRaciocínio Lógico Aplicado a Resolução de Problemas Matemáticos
Raciocínio Lógico Aplicado a Resolução de Problemas Matemáticos
André Constantino da Silva
 
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
UFAM - Universidade Federal do Amazonas
 
R para Iniciantes
R para IniciantesR para Iniciantes
R: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreR: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livre
Luis Borges Gouveia
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em C
rodolfoeyalana
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
lucianacmota
 
Data, Text and Web Mining
Data, Text and Web MiningData, Text and Web Mining
Data, Text and Web Mining
Fabrício Barth
 
Introdução à Estatística
Introdução à EstatísticaIntrodução à Estatística
Introdução à Estatística
Carlos Santos Junior
 
Big data
Big dataBig data
Linguagem R
Linguagem RLinguagem R
Linguagem R
Anderson Sanches
 
Aprendendo R
Aprendendo RAprendendo R
Recuperação Inteligente de Informações
Recuperação Inteligente de InformaçõesRecuperação Inteligente de Informações
Recuperação Inteligente de Informações
elliando dias
 
Ferramentas Java para Recuperação e Mineração de Informações
Ferramentas Java para Recuperação e Mineração de InformaçõesFerramentas Java para Recuperação e Mineração de Informações
Ferramentas Java para Recuperação e Mineração de Informações
Fabrício Barth
 
Desenvolvimento de um Sistema de Recomendação de Artigos Científicos e Avalia...
Desenvolvimento de um Sistema de Recomendação de Artigos Científicos e Avalia...Desenvolvimento de um Sistema de Recomendação de Artigos Científicos e Avalia...
Desenvolvimento de um Sistema de Recomendação de Artigos Científicos e Avalia...
Christiano Avila
 
APRENDIZAGEM DE MÁQUINA PARA PREVISÃO DE DEMANDA EM UM SISTEMA DE COMPARTILHA...
APRENDIZAGEM DE MÁQUINA PARA PREVISÃO DE DEMANDA EM UM SISTEMA DE COMPARTILHA...APRENDIZAGEM DE MÁQUINA PARA PREVISÃO DE DEMANDA EM UM SISTEMA DE COMPARTILHA...
APRENDIZAGEM DE MÁQUINA PARA PREVISÃO DE DEMANDA EM UM SISTEMA DE COMPARTILHA...
Rafael Felipe Nascimento de Aguiar
 
Aula 7 - MASP - ferramentas da qualidade - 2019-1
Aula 7   - MASP -  ferramentas da qualidade - 2019-1Aula 7   - MASP -  ferramentas da qualidade - 2019-1
Aula 7 - MASP - ferramentas da qualidade - 2019-1
IFMG
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
gjpbg
 

Semelhante a Web Data Mining em R: agrupamento de mensagens do twitter (20)

Uma introdução à mineração de informações
Uma introdução à mineração de informaçõesUma introdução à mineração de informações
Uma introdução à mineração de informações
 
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
 
Algoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesAlgoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizes
 
Raciocínio Lógico Aplicado a Resolução de Problemas Matemáticos
Raciocínio Lógico Aplicado a Resolução de Problemas MatemáticosRaciocínio Lógico Aplicado a Resolução de Problemas Matemáticos
Raciocínio Lógico Aplicado a Resolução de Problemas Matemáticos
 
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
 
R para Iniciantes
R para IniciantesR para Iniciantes
R para Iniciantes
 
R: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreR: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livre
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em C
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
 
Data, Text and Web Mining
Data, Text and Web MiningData, Text and Web Mining
Data, Text and Web Mining
 
Introdução à Estatística
Introdução à EstatísticaIntrodução à Estatística
Introdução à Estatística
 
Big data
Big dataBig data
Big data
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Aprendendo R
Aprendendo RAprendendo R
Aprendendo R
 
Recuperação Inteligente de Informações
Recuperação Inteligente de InformaçõesRecuperação Inteligente de Informações
Recuperação Inteligente de Informações
 
Ferramentas Java para Recuperação e Mineração de Informações
Ferramentas Java para Recuperação e Mineração de InformaçõesFerramentas Java para Recuperação e Mineração de Informações
Ferramentas Java para Recuperação e Mineração de Informações
 
Desenvolvimento de um Sistema de Recomendação de Artigos Científicos e Avalia...
Desenvolvimento de um Sistema de Recomendação de Artigos Científicos e Avalia...Desenvolvimento de um Sistema de Recomendação de Artigos Científicos e Avalia...
Desenvolvimento de um Sistema de Recomendação de Artigos Científicos e Avalia...
 
APRENDIZAGEM DE MÁQUINA PARA PREVISÃO DE DEMANDA EM UM SISTEMA DE COMPARTILHA...
APRENDIZAGEM DE MÁQUINA PARA PREVISÃO DE DEMANDA EM UM SISTEMA DE COMPARTILHA...APRENDIZAGEM DE MÁQUINA PARA PREVISÃO DE DEMANDA EM UM SISTEMA DE COMPARTILHA...
APRENDIZAGEM DE MÁQUINA PARA PREVISÃO DE DEMANDA EM UM SISTEMA DE COMPARTILHA...
 
Aula 7 - MASP - ferramentas da qualidade - 2019-1
Aula 7   - MASP -  ferramentas da qualidade - 2019-1Aula 7   - MASP -  ferramentas da qualidade - 2019-1
Aula 7 - MASP - ferramentas da qualidade - 2019-1
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 

Mais de Fabrício Barth

Iniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.comIniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.com
Fabrício Barth
 
Web Data Mining com R: identificação de spam utilizando Random Forest
Web Data Mining com R: identificação de spam utilizando Random ForestWeb Data Mining com R: identificação de spam utilizando Random Forest
Web Data Mining com R: identificação de spam utilizando Random Forest
Fabrício Barth
 
Data Science, Machine Learning and Big Data
Data Science, Machine Learning and Big DataData Science, Machine Learning and Big Data
Data Science, Machine Learning and Big Data
Fabrício Barth
 
Uma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big DataUma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big Data
Fabrício Barth
 
Projeto Simple Maps
Projeto Simple MapsProjeto Simple Maps
Projeto Simple Maps
Fabrício Barth
 
Atena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Atena: um sistema para suporte ao planejamento na área de Gestão de ProjetoAtena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Atena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Fabrício Barth
 

Mais de Fabrício Barth (6)

Iniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.comIniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.com
 
Web Data Mining com R: identificação de spam utilizando Random Forest
Web Data Mining com R: identificação de spam utilizando Random ForestWeb Data Mining com R: identificação de spam utilizando Random Forest
Web Data Mining com R: identificação de spam utilizando Random Forest
 
Data Science, Machine Learning and Big Data
Data Science, Machine Learning and Big DataData Science, Machine Learning and Big Data
Data Science, Machine Learning and Big Data
 
Uma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big DataUma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big Data
 
Projeto Simple Maps
Projeto Simple MapsProjeto Simple Maps
Projeto Simple Maps
 
Atena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Atena: um sistema para suporte ao planejamento na área de Gestão de ProjetoAtena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Atena: um sistema para suporte ao planejamento na área de Gestão de Projeto
 

Último

Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 

Último (6)

Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 

Web Data Mining em R: agrupamento de mensagens do twitter

  • 1. Agrupamento de mensagens do Twitter Fabr´ J. Barth ıcio Faculdade BandTec e VAGAS Tecnologia Junho de 2013
  • 2. Sum´rio a • Componentes para uma solu¸˜o ca • Coletor • Pr´-processamento dos documentos e • Agrupamento dos documentos • An´lises a Agrupamento de mensagens do Twitter — Sum´rio a 2
  • 3. Componentes para uma solu¸˜o... ca Fonte Coletor Pré-processamento dos documentos Agrupa documentos Agrupamento de mensagens do Twitter — Componentes para uma solu¸˜o... ca Agrupamentos de documentos 3
  • 4. Coletando dados do twitter com o R ¤ § l i b r a r y ( twitteR ) c r e d < O A u t h F a c t o r y $new ( − consumerKey=”XXXX” , c o n s u m e r S e c r e t=”XXXX” , r e q u e s t U R L=” h t t p s : // a p i . t w i t t e r . com/ o a u t h / r e q u e s t t o k e n ” , a c c e ssU R L=” h t t p s : // a p i . t w i t t e r . com/ o a u t h / a c c e s s t o k e n ” , authURL=” h t t p : // a p i . t w i t t e r . com/ o a u t h / a u t h o r i z e ” ) cred $ handshake ( ) registerTwitterOAuth ( cred ) a b o u t p r o t e s t o < s e a r c h T w i t t e r ( ’#p r o t e s t o s p ’ , n =250) − a b o u t p r o t e s t o 2 < s e a r c h T w i t t e r ( ’ s p ’ , n=90) − p r e f e i t u r a T w e e t s < u s e r T i m e l i n e ( ’ P r e f e i t u r a SP ’ ) − t e x t < c ( about p r o t e s t o , about p r o t e s t o 2 , p r e f e i t u r a T w e e t s ) − d f < twListToDF ( t e x t ) − s a v e ( df , f i l e =” . . / d a t a / p r o t e s t o . r d a ” ) ¦ Agrupamento de mensagens do Twitter — Coletando dados do twitter com o R ¥ 4
  • 6. Formato de um documento ... Esta disciplina tem como objetivo apresentar os principais conceitos da ´rea de Inteligˆncia Artificial, caracterizar as a e principais t´cnicas e m´todos, e implementar alguns problemas e e cl´ssicos desta ´rea sob um ponto de vista introdut´rio. a a o A estrat´gia de trabalho, o conte´do ministrado e a forma e u depender˜o dos projetos selecionados pelos alunos. a Inicialmente, os alunos dever˜o trazer os seus Projetos de a Conclus˜o de Curso, identificar intersec¸oes entre o projeto e a a c˜ disciplina, e propor atividades para a disciplina. ... Pr´-processamento dos dados — e Formato de um documento 6
  • 7. Conjunto de Exemplos - Atributo/Valor Doc. apresent form tecnic caracteriz ··· d1 0.33 0.33 0.33 0.33 ··· d2 0 0.5 0.2 0.33 ··· d3 1 0.6 0 0 ··· d4 0.4 0.3 0.33 0.4 ··· d5 1 0.4 0.1 0.1 ··· dn ··· ··· ··· ··· ··· Pr´-processamento dos dados — e Conjunto de Exemplos - Atributo/Valor 7
  • 8. Atributo/Valor usando vetores Como representar os documentos? → − di = (pi1 , pi2 , · · · , pin) (1) • Os atributos s˜o as palavras que aparecem nos a documentos. • Se todas as palavras que aparecem nos documentos forem utilizadas, o vetor n˜o ficar´ muito grande? a a Pr´-processamento dos dados — e Atributo/Valor usando vetores 8
  • 9. Diminuindo a dimensionalidade do vetor • Como filtrar as palavras que devem ser usadas como atributos? • Em todos os idiomas existem ´tomos (palavras) que a n˜o significam muito. Stop-words a Esta disciplina tem como objetivo apresentar os principais conceitos da ´rea de Inteligˆncia Artificial, caracterizar as a e principais t´cnicas e m´todos, e implementar alguns problemas e e cl´ssicos desta ´rea sob um ponto de vista introdut´rio. a a o ··· Pr´-processamento dos dados — e Diminuindo a dimensionalidade do vetor 9
  • 10. Diminuindo ainda mais a dimensionalidade do vetor • Algumas palavras podem aparecer no texto de diversas maneiras: t´cnica, t´cnicas, implementar, e e implementa¸˜o... ca • Stemming - encontrar o radical da palavra e usar apenas o radical. Pr´-processamento dos dados — e Diminuindo ainda mais a dimensionalidade do vetor 10
  • 11. Atributo/Valor usando vetores • J´ conhecemos os atributos. a • E os valores? Booleana - se a palavra aparece ou n˜o no a documento (1 ou 0) Por freq¨ˆncia do termo - a freq¨ˆncia com que ue ue a palavra aparece no documento (normalizada ou n˜o) a Pondera¸˜o tf-idf - o peso ´ proporcional ao ca e n´mero de ocorrˆncias do termo no documento e u e inversamente proporcional ao n´mero de u documentos onde o termo aparece. Pr´-processamento dos dados — e Atributo/Valor usando vetores 11
  • 12. Por freq¨ˆncia do termo ue (apresent,0.33) (form,0.33) (tecnic,0.33) (caracteriz,0.33) (projet,1.0) (introdutori,0.33) (objet,0.33) (inteligente,0.33) (conclusa,0.33) (selecion,0.33) (intersecco,0.33) (classic,0.33) (identific,0.33) (conceit,0.33) (trabalh,0.33) (disciplin,1.0) (traz,0.33) Pr´-processamento dos dados — e Por freq¨ˆncia do termo ue 12
  • 13. Executando esta etapa no R http://rpubs.com/fbarth/agrupamentosTwitter Pr´-processamento dos dados — e Executando esta etapa no R 13
  • 14. Componentes para uma solu¸˜o... ca Fonte Coletor Pré-processamento dos documentos Agrupa documentos Agrupamentos de documentos Wiki2Group - http://trac.fbarth.net.br/wikiAnalysis Pr´-processamento dos dados — e Componentes para uma solu¸˜o... ca 14
  • 16. Defini¸oes de Algoritmos de Agrupamento c˜ • O objetivo dos algoritmos de agrupamento ´ colocar e os objetos similares em um mesmo grupo e objetos n˜o similares em grupos diferentes. a • Normalmente, objetos s˜o descritos e agrupados a usando um conjunto de atributos e valores. • N˜o existe nenhuma informa¸˜o sobre a classe ou a ca categoria dos objetos. Algoritmos para Agrupamento — Defini¸˜es de Algoritmos de Agrupamento co 16
  • 17. Algoritmos para Agrupamento - K-means • K significa o n´mero de agrupamentos (que deve ser u informado ` priori). a • Sequˆncia de a¸˜es iterativas. e co • A parada ´ baseada em algum crit´rio de qualidade e e dos agrupamentos (por exemplo, similaridade m´dia). e Algoritmos para Agrupamento — Algoritmos para Agrupamento - K-means 17
  • 18. Algoritmo para Agrupamento - K-means 5 5 4 4 3 3 2 2 1 1 0 0 1 2 3 4 5 6 7 1 8 2 3 4 5 6 7 8 (2) Sorteio dos pontos centrais dos agrupamentos (1) Objetos que devem ser agrupados 5 5 4 4 3 3 2 2 1 1 0 0 1 2 3 4 5 6 7 (3) Atribuição dos objetos aos agrupamentos Algoritmos para Agrupamento — 8 1 2 3 4 5 6 7 8 (4) Definição do centro do agrupamento Algoritmo para Agrupamento - K-means 18
  • 19. Algoritmo K-means • A medida de distˆncia pode ser a distˆncia Euclidiana: a a n − − | → − → |= x y (xi − yi )2 (2) i=1 • a fun¸˜o para computar o ponto central pode ser: ca →= 1 − → − x µ M→ − ∈C x (3) onde M ´ igual ao n´mero de pontos no agrupamento e u C. Algoritmos para Agrupamento — Algoritmo K-means 19
  • 20. Como determinar o melhor k? A medida de distribui¸˜o dos pontos normalmente empregada ´ sum of squared errors. ca e Algoritmos para Agrupamento — Como determinar o melhor k? 20
  • 21. Agrupamento de mensagens do twitter com o R http://rpubs.com/fbarth/agrupamentosTwitter Algoritmos para Agrupamento — Agrupamento de mensagens do twitter com o R 21
  • 22. Referˆncias e • RDataMining.com: Text Mining. http://www.rdatamining.com/examples/text-mining. Acessado em 14 de junho de 2013. • Ingo Feinerer. Introduction to the tm Package: Text Mining in R. http://cran.rproject.org/web/packages/tm/vignettes/tm.pdf. Acessado em 14 de junho de 2013. Algoritmos para Agrupamento — Referˆncias e 22
  • 23. • BARTH, F. J. Ferramentas para a detec¸˜o de grupos ca em Wikis. In: VII Simp´sio Brasileiro de Sistemas o Colaborativos, 2010, Belo Horizonte. Anais do VII Simp´sio Brasileiro de Sistemas Colaborativos. IEEE o Computer Society, 2010. v.II. p.8 - 11. • BARTH, F. J. ; BELDERRAIN, M. C. R. ; QUADROS, N. L. P. ; FERREIRA, L. L. ; TIMOSZCZUK, A. P. . Recupera¸˜o e minera¸˜o de ca ca informa¸˜es para a ´rea criminal. In: VI Encontro co a Nacional de Inteligˆncia Artificial, 2007, Rio de e Janeiro. Anais do XXVII Congresso da SBC, 2007. Algoritmos para Agrupamento — Referˆncias e 23