SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
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

Más contenido relacionado

Destacado

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 DataFabrício Barth
 
Ln l.agapito
Ln l.agapitoLn l.agapito
Ln l.agapitopotaters
 
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 DataFabrí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 DataFabrí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 2potaters
 
Motion and tracking
Motion and trackingMotion and tracking
Motion and trackingpotaters
 
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 PhoneJoão Gabriel Lima
 
Image formation
Image formationImage formation
Image formationpotaters
 
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 DadosNorton 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 RFabrí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 RecognitionFabrício Barth
 

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

Similar a Agrupamento de mensagens do Twitter com K-means

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çõesFabrí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 algoritmosNé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 matrizesRADILSON 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áticosAndré 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: 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 livreLuis Borges Gouveia
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em Crodolfoeyalana
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Motalucianacmota
 
Data, Text and Web Mining
Data, Text and Web MiningData, Text and Web Mining
Data, Text and Web MiningFabrício Barth
 
Recuperação Inteligente de Informações
Recuperação Inteligente de InformaçõesRecuperação Inteligente de Informações
Recuperação Inteligente de Informaçõeselliando 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çõesFabrí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-1IFMG
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dadosgjpbg
 

Similar a Agrupamento de mensagens do Twitter com K-means (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
 

Más 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.comFabrí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 ForestFabrí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 DataFabrí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 DataFabrí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 ProjetoFabrício Barth
 

Más 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
 

Agrupamento de mensagens do Twitter com K-means

  • 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