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
• ...
Componentes para uma solu¸˜o...
ca
Fonte

Coletor

Pré-processamento
dos documentos

Agrupa
documentos

Agrupamento de men...
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=”...
Pr´-processamento
e
dos dados

5
Formato de um documento
... Esta disciplina tem como objetivo apresentar os principais
conceitos da ´rea de Inteligˆncia A...
Conjunto de Exemplos - Atributo/Valor
Doc.

apresent

form

tecnic

caracteriz

···

d1

0.33

0.33

0.33

0.33

···

d2

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

(1)

• Os atributos s˜o ...
Diminuindo a dimensionalidade do vetor
• Como filtrar as palavras que devem ser usadas como
atributos?
• Em todos os idioma...
Diminuindo ainda mais a
dimensionalidade do vetor
• Algumas palavras podem aparecer no texto de diversas
maneiras: t´cnica...
Atributo/Valor usando vetores
• J´ conhecemos os atributos.
a
• E os valores?
Booleana - se a palavra aparece ou n˜o no
a
...
Por freq¨ˆncia do termo
ue
(apresent,0.33) (form,0.33) (tecnic,0.33) (caracteriz,0.33)
(projet,1.0) (introdutori,0.33) (ob...
Executando esta etapa no R
http://rpubs.com/fbarth/agrupamentosTwitter

Pr´-processamento dos dados —
e

Executando esta e...
Componentes para uma solu¸˜o...
ca
Fonte

Coletor

Pré-processamento
dos documentos

Agrupa
documentos

Agrupamentos de
do...
Algoritmos para
Agrupamento

15
Defini¸oes de Algoritmos de Agrupamento
c˜
• O objetivo dos algoritmos de agrupamento ´ colocar
e
os objetos similares em u...
Algoritmos para Agrupamento - K-means
• K significa o n´mero de agrupamentos (que deve ser
u
informado ` priori).
a
• Sequˆ...
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...
Algoritmo K-means
• A medida de distˆncia pode ser a distˆncia Euclidiana:
a
a
n

− −
| → − → |=
x
y

(xi − yi )2

(2)

i=...
Como determinar o melhor k?

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

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

Algoritmos para Agrupamento —

Ag...
Referˆncias
e
• RDataMining.com: Text Mining.
http://www.rdatamining.com/examples/text-mining.
Acessado em 14 de junho de ...
• BARTH, F. J. Ferramentas para a detec¸˜o de grupos
ca
em Wikis. In: VII Simp´sio Brasileiro de Sistemas
o
Colaborativos,...
Próximos SlideShares
Carregando em…5
×

Web Data Mining em R: agrupamento de mensagens do twitter

473 visualizações

Publicada em

Web Data Mining em R: agrupamento de mensagens do twitter

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
473
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Web Data Mining em R: agrupamento de mensagens do twitter

  1. 1. Agrupamento de mensagens do Twitter Fabr´ J. Barth ıcio Faculdade BandTec e VAGAS Tecnologia Junho de 2013
  2. 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. 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. 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
  5. 5. Pr´-processamento e dos dados 5
  6. 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. 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. 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. 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. 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. 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. 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. 13. Executando esta etapa no R http://rpubs.com/fbarth/agrupamentosTwitter Pr´-processamento dos dados — e Executando esta etapa no R 13
  14. 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
  15. 15. Algoritmos para Agrupamento 15
  16. 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. 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. 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. 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. 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. 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. 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. 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

×