23
Agrupamento de mensagens do Twitter Fabr´ ıcio J. Barth Faculdade BandTec e VAGAS Tecnologia Junho de 2013

Web Data Mining em R: agrupamento de mensagens do twitter

Embed Size (px)

DESCRIPTION

Web Data Mining em R: agrupamento de mensagens do twitter

Citation preview

Page 1: Web Data Mining em R: agrupamento de mensagens do twitter

Agrupamento de mensagens doTwitter

Fabrıcio J. Barth

Faculdade BandTec e VAGAS Tecnologia

Junho de 2013

Page 2: Web Data Mining em R: agrupamento de mensagens do twitter

Sumario

• Componentes para uma solucao

• Coletor

• Pre-processamento dos documentos

• Agrupamento dos documentos

• Analises

Agrupamento de mensagens do Twitter — Sumario 2

Page 3: Web Data Mining em R: agrupamento de mensagens do twitter

Componentes para uma solucao...

Coletor

Fonte

Pré-processamentodos documentos

Agrupadocumentos

Agrupamentos de documentos

Agrupamento de mensagens do Twitter — Componentes para uma solucao... 3

Page 4: Web Data Mining em R: agrupamento de mensagens do twitter

Coletando dados do twitter com o R� �l i b r a r y ( t w i t t e R )

c r e d <− OAuthFactory $new (

consumerKey=”XXXX” ,

c o n s u m e r S e c r e t=”XXXX” ,

requestURL=” h t t p s : // a p i . t w i t t e r . com/ oauth / r e q u e s t token ” ,

accessURL=” h t t p s : // a p i . t w i t t e r . com/ oauth / a c c e s s token ” ,

authURL=” h t t p : // a p i . t w i t t e r . com/ oauth / a u t h o r i z e ” )

c r e d $ handshake ( )

r e g i s t e r T w i t t e r O A u t h ( c r e d )

about 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)

about p r o t e s t o 2 <− s e a r c h T w i t t e r ( ’ sp ’ , 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 )

df <− twListToDF ( t e x t )

save ( df , f i l e =” . . / data / p r o t e s t o . rda ” )� �Agrupamento de mensagens do Twitter — Coletando dados do twitter com o R 4

Page 5: Web Data Mining em R: agrupamento de mensagens do twitter

Pre-processamento

dos dados

5

Page 6: Web Data Mining em R: agrupamento de mensagens do twitter

Formato de um documento

... Esta disciplina tem como objetivo apresentar os principais

conceitos da area de Inteligencia Artificial, caracterizar as

principais tecnicas e metodos, e implementar alguns problemas

classicos desta area sob um ponto de vista introdutorio.

A estrategia de trabalho, o conteudo ministrado e a forma

dependerao dos projetos selecionados pelos alunos.

Inicialmente, os alunos deverao trazer os seus Projetos de

Conclusao de Curso, identificar interseccoes entre o projeto e a

disciplina, e propor atividades para a disciplina. ...

Pre-processamento dos dados — Formato de um documento 6

Page 7: Web Data Mining em R: agrupamento de mensagens do twitter

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 · · · · · · · · · · · · · · ·

Pre-processamento dos dados — Conjunto de Exemplos - Atributo/Valor 7

Page 8: Web Data Mining em R: agrupamento de mensagens do twitter

Atributo/Valor usando vetores

Como representar os documentos?

−→di = (pi1, pi2, · · · , pin) (1)

• Os atributos sao as palavras que aparecem nos

documentos.

• Se todas as palavras que aparecem nos documentos

forem utilizadas, o vetor nao ficara muito grande?

Pre-processamento dos dados — Atributo/Valor usando vetores 8

Page 9: Web Data Mining em R: agrupamento de mensagens do twitter

Diminuindo a dimensionalidade do vetor

• Como filtrar as palavras que devem ser usadas como

atributos?

• Em todos os idiomas existem atomos (palavras) que

nao significam muito. Stop-words

Esta disciplina tem como objetivo apresentar os principais

conceitos da area de Inteligencia Artificial, caracterizar as

principais tecnicas e metodos, e implementar alguns problemas

classicos desta area sob um ponto de vista introdutorio.

· · ·

Pre-processamento dos dados — Diminuindo a dimensionalidade do vetor 9

Page 10: Web Data Mining em R: agrupamento de mensagens do twitter

Diminuindo ainda mais adimensionalidade do vetor

• Algumas palavras podem aparecer no texto de diversas

maneiras: tecnica, tecnicas, implementar,

implementacao...

• Stemming - encontrar o radical da palavra e usar

apenas o radical.

Pre-processamento dos dados — Diminuindo ainda mais a dimensionalidade do vetor 10

Page 11: Web Data Mining em R: agrupamento de mensagens do twitter

Atributo/Valor usando vetores

• Ja conhecemos os atributos.

• E os valores?

? Booleana - se a palavra aparece ou nao no

documento (1 ou 0)

? Por frequencia do termo - a frequencia com que

a palavra aparece no documento (normalizada ou

nao)

? Ponderacao tf-idf - o peso e proporcional ao

numero de ocorrencias do termo no documento e

inversamente proporcional ao numero de

documentos onde o termo aparece.

Pre-processamento dos dados — Atributo/Valor usando vetores 11

Page 12: Web Data Mining em R: agrupamento de mensagens do twitter

Por frequencia do termo

(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)

Pre-processamento dos dados — Por frequencia do termo 12

Page 13: Web Data Mining em R: agrupamento de mensagens do twitter

Executando esta etapa no R

http://rpubs.com/fbarth/agrupamentosTwitter

Pre-processamento dos dados — Executando esta etapa no R 13

Page 14: Web Data Mining em R: agrupamento de mensagens do twitter

Componentes para uma solucao...

Coletor

Fonte

Pré-processamentodos documentos

Agrupadocumentos

Agrupamentos de documentos

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

Pre-processamento dos dados — Componentes para uma solucao... 14

Page 15: Web Data Mining em R: agrupamento de mensagens do twitter

Algoritmos para

Agrupamento

15

Page 16: Web Data Mining em R: agrupamento de mensagens do twitter

Definicoes de Algoritmos de Agrupamento

• O objetivo dos algoritmos de agrupamento e colocar

os objetos similares em um mesmo grupo e objetos

nao similares em grupos diferentes.

• Normalmente, objetos sao descritos e agrupados

usando um conjunto de atributos e valores.

• Nao existe nenhuma informacao sobre a classe ou

categoria dos objetos.

Algoritmos para Agrupamento — Definicoes de Algoritmos de Agrupamento 16

Page 17: Web Data Mining em R: agrupamento de mensagens do twitter

Algoritmos para Agrupamento - K-means

• K significa o numero de agrupamentos (que deve ser

informado a priori).

• Sequencia de acoes iterativas.

• A parada e baseada em algum criterio de qualidade

dos agrupamentos (por exemplo, similaridade media).

Algoritmos para Agrupamento — Algoritmos para Agrupamento - K-means 17

Page 18: Web Data Mining em R: agrupamento de mensagens do twitter

Algoritmo para Agrupamento - K-means

1

2

3

4

5

0

1 2 3 4 5 6 7 8

1

2

3

4

5

0

1 2 3 4 5 6 7 8

1

2

3

4

5

0

1 2 3 4 5 6 7 8

(1) Objetos que devem ser agrupados

1

2

3

4

5

0

1 2 3 4 5 6 7 8

(2) Sorteio dos pontos centrais dos agrupamentos

(3) Atribuição dos objetos aos agrupamentos (4) Definição do centro do agrupamento

Algoritmos para Agrupamento — Algoritmo para Agrupamento - K-means 18

Page 19: Web Data Mining em R: agrupamento de mensagens do twitter

Algoritmo K-means

• A medida de distancia pode ser a distancia Euclidiana:

| −→x −−→y |=

√√√√ n∑i=1

(xi − yi)2 (2)

• a funcao para computar o ponto central pode ser:

−→µ =1

M

∑−→x ∈C

−→x (3)

onde M e igual ao numero de pontos no agrupamento

C.

Algoritmos para Agrupamento — Algoritmo K-means 19

Page 20: Web Data Mining em R: agrupamento de mensagens do twitter

Como determinar o melhor k?

A medida de distribuicao dos pontos normalmente empregada e sum of squared errors.

Algoritmos para Agrupamento — Como determinar o melhor k? 20

Page 21: Web Data Mining em R: agrupamento de mensagens do twitter

Agrupamento de mensagens do twittercom o R

http://rpubs.com/fbarth/agrupamentosTwitter

Algoritmos para Agrupamento — Agrupamento de mensagens do twitter com o R 21

Page 22: Web Data Mining em R: agrupamento de mensagens do twitter

Referencias

• 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.r-

project.org/web/packages/tm/vignettes/tm.pdf.

Acessado em 14 de junho de 2013.

Algoritmos para Agrupamento — Referencias 22

Page 23: Web Data Mining em R: agrupamento de mensagens do twitter

• BARTH, F. J. Ferramentas para a deteccao de grupos

em Wikis. In: VII Simposio Brasileiro de Sistemas

Colaborativos, 2010, Belo Horizonte. Anais do VII

Simposio Brasileiro de Sistemas Colaborativos. IEEE

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. . Recuperacao e mineracao de

informacoes para a area criminal. In: VI Encontro

Nacional de Inteligencia Artificial, 2007, Rio de

Janeiro. Anais do XXVII Congresso da SBC, 2007.

Algoritmos para Agrupamento — Referencias 23