Uma Introdu¸ c˜ ao ` a Minera¸ c˜ ao de Informa¸ c˜
- es na era do Big Data
Fabr´ ıcio J. Barth
VAGAS Tecnologia e Faculdades BandTec
Setembro de 2012
Uma Introdu c ao ` a Minera c ao de Informa c oes na era do - - PowerPoint PPT Presentation
Uma Introdu c ao ` a Minera c ao de Informa c oes na era do Big Data Fabr cio J. Barth VAGAS Tecnologia e Faculdades BandTec Setembro de 2012 Palestrante Fabr cio J. Barth . Formado em Ci encia da Computa
Fabr´ ıcio J. Barth
VAGAS Tecnologia e Faculdades BandTec
Setembro de 2012
ıcio J. Barth. Formado em Ciˆ encia da Computa¸ c˜ ao pela FURB. Mestrado e Doutorado em Engenharia da Computa¸ c˜ ao pela USP.
c˜ ao e minera¸ c˜ ao de informa¸ c˜
dom´ ınios de investiga¸ c˜ ao; Identifica¸ c˜ ao de temas emergentes e especialistas em bases de patentes e artigos; Desenvolvimento e gest˜ ao de uma plataforma de busca georeferenciada (www.apontador.com.br).
(www.vagas.com.br). Professor da Faculdade BandTec (www.bandtec.com.br).
Uma Introdu¸ c˜ ao ` a Minera¸ c˜ ao de Informa¸ c˜
Palestrante 2
Apresentar a importˆ ancia do tema, os conceitos relacionados e alguns exemplos de aplica¸ c˜
Uma Introdu¸ c˜ ao ` a Minera¸ c˜ ao de Informa¸ c˜
Objetivo 3
ancia do Tema
ao-estruturados (textos) ⋆ Agrupamento ⋆ Classifica¸ c˜ ao
c˜
encias
Uma Introdu¸ c˜ ao ` a Minera¸ c˜ ao de Informa¸ c˜
Sum´ ario 4
5
http://investingcaffeine.com/2010/01/07/tmi-the-age-of-information-overload/ Importˆ ancia do Tema — Problema 6
50 100 150 200 250 300 350 400 450 500 Relação Horário x Dia x Quantidade de Notícias Produzidas 2 4 6 8 10 12 14 16 18 20 22 Horário 0 10 20 30 40 50 60 70 80 90 Dia 100 200 300 400 500 Notícias
Quantidade de not´ ıcias publicadas na Web por apenas seis ve´ ıculos de not´ ıcias (D0 = 17/07/2007) Importˆ ancia do Tema — Alguns dados... 7
20000 40000 60000 80000 100000 120000 140000 160000 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 Quantidade (Notícias) Tempo (Dias) Notícias publicadas na Internet Estadão Folha G1 Globo Online Terra Último Segundo Total
D0 = 17/07/2007 Importˆ ancia do Tema — Mais dados... 8
“We collect an astonishing amount of digital information... ...we’ve long since surpassed our ability to store and process it all. Big data is here, and it’s causing big problems...”[1] Importˆ ancia do Tema — Big Data 9
http://www.ibmbigdatahub.com/
Importˆ ancia do Tema — Mais n´ umeros 10
edico a partir de registros m´ edicos.
falhas)
encias de publica¸ c˜
patentes sobre um determinado tema.
ıcias relevantes.
Importˆ ancia do Tema — Por que minerar informa¸ c˜
11
ao expressa na Web sobre a sua empresa.
c˜ ao em sites.
udo impr´
c˜ ao de livros, filmes, restaurantes e empregos.
Importˆ ancia do Tema — Por que minerar informa¸ c˜
12
13
O setor de oftalmologia de um hospital da cidade de S˜ ao Paulo possui, no seu banco de dados, um hist´
pacientes que procuraram o hospital queixando-se de problemas na vis˜ ao. A conduta, em alguns casos, realizada pelo corpo cl´ ınico de oftalmologistas do hospital ´ e indicar o uso de lentes ao paciente. Problema: Extrair do banco de dados do hospital uma hip´
n˜ ao lente de contatos.
Explicitar conhecimento m´ edico a partir de registros m´ edicos — Diagn´
14
Explicitar conhecimento m´ edico a partir de registros m´ edicos — Banco de dados do ambiente de produ¸ c˜ ao 15
16
ao relevantes para a cria¸ c˜ ao da hip´
a-los?
c˜ ao de conhecimento deve-se utilizar para representar a hip´
Por onde come¸ car? — Responder as seguintes perguntas: 17
ao relevantes? ⋆ Depois de um estudo detalhado do problema com especialistas da ´ area... ⋆ Idade do paciente. ⋆ Se o paciente tem ou n˜ ao miopia. ⋆ Se o paciente tem ou n˜ ao astigmatismo. ⋆ Qual ´ e a taxa de lacrimejamento dos olhos do paciente.
a-los? Atributo/Valor
Por onde come¸ car? — Responder as seguintes perguntas: 18
ıope, hiperm´ etrope)
ao, sim)
Por onde come¸ car? — Atributos 19
Idade Miopia Astigmat. Lacrimej. Lentes jovem m´ ıope n˜ ao reduzido nenhuma jovem m´ ıope n˜ ao normal fraca jovem m´ ıope sim reduzido nenhuma jovem m´ ıope sim normal forte jovem hiper n˜ ao reduzido nenhuma jovem hiper n˜ ao normal fraca jovem hiper sim reduzido nenhuma jovem hiper sim normal forte adulto m´ ıope n˜ ao reduzido nenhuma
Por onde come¸ car? — Dados 20
Idade Miopia Astigmat. Lacrimej. Lentes adulto m´ ıope n˜ ao normal fraca adulto m´ ıope sim reduzido nenhuma adulto m´ ıope sim normal forte adulto hiper sim reduzido nenhuma adulto hiper n˜ ao normal fraca adulto hiper sim reduzido nenhuma adulto hiper sim normal nenhuma
Por onde come¸ car? — Dados 21
Idade Miopia Astigmat. Lacrimej. Lentes idoso m´ ıope n˜ ao reduzido nenhuma idoso m´ ıope n˜ ao normal nenhuma idoso m´ ıope sim reduzido nenhuma idoso m´ ıope sim normal forte idoso hiper n˜ ao reduzido nenhuma idoso hiper n˜ ao normal fraca idoso hiper sim reduzido nenhuma idoso hiper sim normal nenhuma
Por onde come¸ car? — Dados 22
considerado como conhecimento? N˜ ao
c˜ ao que consegue explicar a tomada de decis˜ ao dos especialistas? N˜ ao
Por onde come¸ car? — Extra¸ c˜ ao de “conhecimento” 23
c˜ ao realmente relevante.
c˜ ao compreens´ ıvel ao ser humano.
(mostrar exemplo no RapidMiner - www.rapid-i.com)
Por onde come¸ car? — Extra¸ c˜ ao de “conhecimento” 24
Por onde come¸ car? — ´ Arvore de decis˜ ao 25
forma de ´ arvores de decis˜ ao?
ao algoritmos indutores de ´ arvore de decis˜ ao, top-down, recursivos e que fazem uso do conceito de entropia para identificar os melhores atributos que representam o conjunto de dados.
Por onde come¸ car? — Algoritmos Indutores de ´ Arvores de Decis˜ ao 26
(none, soft, hard)
Por onde come¸ car? — Resultado: Sistema Especialista 27
28
ıcias, patentes, artigos, mensagens de twitter, quest˜
ario de pesquisa, ...
c˜ ao ´ e necess´ ario
a-la de alguma forma: ⋆ Agrupamento de not´ ıcias, patentes, artigos e mensagens. ⋆ Classifica¸ c˜ ao, Recomenda¸ c˜ ao e Filtragem de documentos (not´ ıcias, relat´
twitter, avalia¸ c˜ ao de itens).
Organizar documentos — O que fazer com grandes quantidades de documentos? 29
Organizar documentos — Exemplo de classifica¸ c˜ ao/agrupamento 30
e-processamento dos dados.
ao supervisionada).
c˜ ao do modelo.
c˜ ao
Organizar documentos — Etapas 31
32
... Esta disciplina tem como objetivo apresentar os principais conceitos da ´ area de Inteligˆ encia Artificial, caracterizar as principais t´ ecnicas e m´ etodos, e implementar alguns problemas cl´ assicos desta ´ area sob um ponto de vista introdut´
A estrat´ egia de trabalho, o conte´ udo ministrado e a forma depender˜ ao dos projetos selecionados pelos alunos. Inicialmente, os alunos dever˜ ao trazer os seus Projetos de Conclus˜ ao de Curso, identificar intersec¸ c˜
disciplina, e propor atividades para a disciplina. ...
Pr´ e-processamento dos dados — Formato de um documento 33
Doc. apresent form tecnic caracteriz · · · d1 0.33 0.33 0.33 0.33 · · · d2 0.5 0.2 0.33 · · · d3 1 0.6 · · · d4 0.4 0.3 0.33 0.4 · · · d5 1 0.4 0.1 0.1 · · · dn · · · · · · · · · · · · · · ·
Pr´ e-processamento dos dados — Conjunto de Exemplos - Atributo/Valor 34
Como representar os documentos? − → di = (pi1, pi2, · · · , pin) (1)
ao as palavras que aparecem nos documentos.
forem utilizadas, o vetor n˜ ao ficar´ a muito grande?
Pr´ e-processamento dos dados — Atributo/Valor usando vetores 35
atributos?
atomos (palavras) que n˜ ao significam muito. Stop-words
Esta disciplina tem como objetivo apresentar os principais conceitos da ´ area de Inteligˆ encia Artificial, caracterizar as principais t´ ecnicas e m´ etodos, e implementar alguns problemas cl´ assicos desta ´ area sob um ponto de vista introdut´
· · ·
Pr´ e-processamento dos dados — Diminuindo a dimensionalidade do vetor 36
maneiras: t´ ecnica, t´ ecnicas, implementar, implementa¸ c˜ ao...
apenas o radical.
Pr´ e-processamento dos dados — Diminuindo ainda mais a dimensionalidade do vetor 37
a conhecemos os atributos.
⋆ Booleana - se a palavra aparece ou n˜ ao no documento (1 ou 0) ⋆ Por freq¨ uˆ encia do termo - a freq¨ uˆ encia com que a palavra aparece no documento (normalizada ou n˜ ao) ⋆ Pondera¸ c˜ ao tf-idf - o peso ´ e proporcional ao n´ umero de ocorrˆ encias do termo no documento e inversamente proporcional ao n´ umero de documentos onde o termo aparece.
Pr´ e-processamento dos dados — Atributo/Valor usando vetores 38
(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´ e-processamento dos dados — Por freq¨ uˆ encia do termo 39
40
Coletor Fonte Pré-processamento dos documentos Agrupa documentos Agrupamentos de documentos An´ alise do conte´ udo publicado no Twitter atrav´ es de algoritmos de agrupamento — Componentes para uma solu¸ c˜ ao... 41
✞ ☎
$ c u r l −o a b o u t B r a s i l . t x t h t t p s :// stream . t w i t t e r . com/1/ s t a t u s e s / f i l t e r . j s o n ? t r a c k=b r a s i l −u u s e r : passwd % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent L e f t Speed 100 4549k 0 4549k 5986 0 − −: − −: − − 0 : 1 2 : 5 8 − −: − −: − − 6226 $ wc −l a b o u t B r a s i l . t x t 1501 a b o u t B r a s i l . t x t $ date Ter 28 Ago 2012 23:51:10 BRT
✡ ✝ ✆
An´ alise do conte´ udo publicado no Twitter atrav´ es de algoritmos de agrupamento — Coletando dados do twitter 42
✞ ☎
# # forma de uso : ruby t w i t t e r . rb > mensagens . csv # r e q u i r e ’ rubygems ’ r e q u i r e ’ j s o n ’ content = F i l e . open ( ’ a b o u t B r a s i l . t x t ’ ) content . each do | l i n e | puts JSON . parse ( l i n e ) [ ’ t e x t ’ ] end
✡ ✝ ✆
An´ alise do conte´ udo publicado no Twitter atrav´ es de algoritmos de agrupamento — Coletando dados do twitter 43
Coletor Fonte Pré-processamento dos documentos Agrupa documentos Agrupamentos de documentos
Wiki2Group - http://trac.fbarth.net.br/wikiAnalysis An´ alise do conte´ udo publicado no Twitter atrav´ es de algoritmos de agrupamento — Componentes para uma solu¸ c˜ ao... 44
e colocar
n˜ ao similares em grupos diferentes.
ao descritos e agrupados usando um conjunto de atributos e valores.
ao existe nenhuma informa¸ c˜ ao sobre a classe ou categoria dos objetos.
An´ alise do conte´ udo publicado no Twitter atrav´ es de algoritmos de agrupamento — Defini¸ c˜
Agrupamento 45
umero de agrupamentos (que deve ser informado ` a priori).
encia de a¸ c˜
e baseada em algum crit´ erio de qualidade dos agrupamentos (por exemplo, similaridade m´ edia).
An´ alise do conte´ udo publicado no Twitter atrav´ es de algoritmos de agrupamento — Algoritmos para Agrupamento - K-means 46
1 2 3 4 5 1 2 3 4 5 6 7 8 1 2 3 4 5 1 2 3 4 5 6 7 8 1 2 3 4 5 1 2 3 4 5 6 7 8 (1) Objetos que devem ser agrupados 1 2 3 4 5 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
An´ alise do conte´ udo publicado no Twitter atrav´ es de algoritmos de agrupamento — Algoritmo para Agrupamento - K-means 47
Execu¸ c˜ ao do processo no RapidMiner
An´ alise do conte´ udo publicado no Twitter atrav´ es de algoritmos de agrupamento — Algoritmo para agrupamento dos twittes - Resultados 48
RT @TWlTTEI : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ l e l e l e ’ ’ paragada ’ ’ tharara ’ ’ RT @TWlTTEI : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ l e l e l e ’ ’ paragada ’ ’ tharara ’ ’ RT @PiadaDePobre : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ l e l e l e ’ ’ paragada ’ ’ thara RT @soucrack : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ l e l e l e ’ ’ paragada ’ ’ tharara ’ RT @PiadaDePobre : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ l e l e l e ’ ’ paragada ’ ’ thara ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ l e l e l e ’ ’ paragada ’ ’ tharara ’ ’ parapapa ’ ach RT @PiadaDePobre : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ l e l e l e ’ ’ paragada ’ ’ thara ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ l e l e l e ’ ’ paragada ’ ’ tharara ’ ’ parapapa ’ ach RT @PiadaDePobre : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ l e l e l e ’ ’ paragada ’ ’ thara RT @PiadaDePobre : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ l e l e l e ’ ’ paragada ’ ’ thara RT @TWlTTEI : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ l e l e l e ’ ’ paragada ’ ’ tharara ’ ’ RT @TWlTTEI : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ l e l e l e ’ ’ paragada ’ ’ tharara ’ ’ An´ alise do conte´ udo publicado no Twitter atrav´ es de algoritmos de agrupamento — An´ alise dos agrupamentos (clusters) 49
An´ alise do conte´ udo publicado no Twitter atrav´ es de algoritmos de agrupamento — An´ alise dos agrupamentos (clusters) 50
51
Teor das mensagens sobre a empresa Vale nos ´ ultimos sete dias. http://www.opsys.com.br/ - [4] Classifica¸ c˜ ao de documentos — An´ alise de Sentimento em mensagens no Twitter 52
Doc. Mensagem Classe d1 A empresa X ´ e uma empresa muito s´ eria Positivo d2 O produto Y ´ e uma porcaria Negativo d3 Gostei muito da palestra de fulano Positivo d4 Aquela praia ´ e muito bonita Positivo d5 Gostei daquele restaurante Positivo dn · · ·
Classifica¸ c˜ ao de documentos — Conjunto de Exemplos Rotulados 53
Doc. restaur empres bom caracteriz · · · Classe d1 0.33 0.33 0.33 0.33 · · · Positivo d2 0.5 0.2 0.33 · · · Negativo d3 1 0.6 · · · Positivo d4 0.4 0.3 0.33 0.4 · · · Positivo d5 1 0.4 0.1 0.1 · · · Positivo dn · · · · · · · · · · · · · · · · · ·
Classifica¸ c˜ ao de documentos — Conjunto de Exemplos - Atributo/Valor e Classe 54
ıve Bayes [6]
Classifica¸ c˜ ao de documentos — Classificando objetos 55
Utilizando o modelo criado ´ e poss´ ıvel inferir se novos twittes possuem sentimento positivo ou negativo. ✞ ☎
Transformando
de treinamento em um v e t o r de p a l a v r a s Criando
Aplicando
novos casos Mensagem ”Meu voto e para X, com c e r t e z a ! ” e c l a s s i f i c a d a como POSITIVA Mensagem ” Este produto e muito ruim ” e c l a s s i f i c a d a como NEGATIVA Mensagem ”Nunca mais compro naquela l o j a ! ” e c l a s s i f i c a d a como NEGATIVA Mensagem ” Fulano e um mentiroso ! ” e c l a s s i f i c a d a como NEGATIVA Mensagem ”X l i d e r a inten ˜ A§ ˜ A£o de voto ” e c l a s s i f i c a d a como POSITIVA
✡ ✝ ✆
Classifica¸ c˜ ao de documentos — Utiliza¸ c˜ ao 56
Classifica¸ c˜ ao de documentos — Outro Exemplo: Classifica¸ c˜ ao e Filtragem de Not´ ıcias 57
http://fbarth.net.br/projetos/riInteligente.html - Sistema FaroFino [5] Classifica¸ c˜ ao de documentos — Qual ´ e o problema? 58
Coletor de RSS Web Pré-processamento dos documentos Classifica e filtra documentos Notícia 1 = gostei Notícia 2 = não gostei Notícia 3 = gostei Notícia 4 = gostei Notícia 5 = gostei Notícia 6 = não gostei Notícia 7 = gostei Algoritmo gerador de hipóteses ID3, C4.5, J4.8 Naïve Bayes Knn, SVM Hipótese Treinamento, Testes e Prototipação implementação Classifica¸ c˜ ao de documentos — Processo de trabalho 59
60
Padrões
Log dos servidores de aplicação
Agrupamento de pageview Análise de correlação Mineração de regras de associação Mineração de padrões sequenciais Banco de dados com as transações dos usuários Pré−processamento dos dados Identificação de pageview Identificação de seções Integração de dados Transformação dos dados Limpeza dos dados Padrões de uso
Minerando o log de um servidor Web — Processo de minera¸ c˜ ao de padr˜
61
Minerando o log de um servidor Web — Exemplo t´ ıpico de log 62
Minerando o log de um servidor Web — Pr´ e-processamento do log: identifica¸ c˜ ao de usu´ arios 63
Minerando o log de um servidor Web — Pr´ e-processamento do log: identifica¸ c˜ ao das se¸ c˜
64
Minerando o log de um servidor Web — Matriz de transa¸ c˜
65
usu´ ario categoria1 categoria2 categoria3 · · · categoriam user1 2 · · · 1 user2 1 1 · · · user3 2 1 · · · user4 1 · · · · · · · · · · · · · · · · · · · · · usern 1 1 · · · 1
agina pode pertencer a uma categoria (i.e., tipo de livro, tipo de estabelecimento comercial)
agina pode estar associada a uma cidade (i.e., um estabelecimento, uma vaga de emprego) Minerando o log de um servidor Web — Matriz de transa¸ c˜
c˜
aginas 66
agina sobre futebol tamb´ em acessa a p´ agina de volei em 90% dos casos (futebol → volei).
agina de ofertas e a p´ agina de material de constru¸ c˜ ao tamb´ em finaliza a compra em 83% dos casos (ofertas ∧ material constru¸ c˜ ao → compra)
Minerando o log de um servidor Web — Regras de Associa¸ c˜ ao 67
68
Acertivo
Utilização Avaliação Criação dos modelos Pré−processamento Entendimento do problema Ferramentas (i.e., RapidMiner, Weka, libsvm, Octave, Matlab)
Levantamento de requisitos Análise descritiva dos dados Eficiente (tempo e espaço) Considera¸ c˜
Processo 69
c˜ ao, agrupamento e an´ alise de log. Tem muito mais de onde vieram estes...
c˜ ao para o processo! Pr´ e-processamento, cria¸ c˜ ao dos modelos, avalia¸ c˜ ao e aplica¸ c˜ ao.
ferramentas para a minera¸ c˜ ao das informa¸ c˜
entender os seus dados e os seus problemas! Fa¸ ca uma an´ alise descritiva dos dados.
Considera¸ c˜
Considera¸ c˜
70
http://fbarth.net.br http://fbarth.net.br/materiais/palestras.html fabricio.barth@gmail.com
Considera¸ c˜
Obrigado! 71
72
[1] Data, data everywhere. a special report on managing infor-
[2] Chih-Chung Chang and Chih-Jen Lin. LIBSVM: A li- brary for support vector machines. ACM Transactions
2:27:1–27:27,
tw/~cjlin/libsvm. [3] Bing Liu. Web Data Mining: Exploring Hyperlinks, Con- tents, and Usage Data (Data-Centric Systems and Appli- cations). Springer, 1st ed. 2007. corr. 2nd printing edition, January 2009. 72-1
[4] Thomas Jefferson P. Lopes, Gabriel Koji Lemos Hi- ratani, Fabr´ ıcio J. Barth, Orlando Rodrigues, Jr., and Ju- liana Maraccini Pinto. Minera¸ c˜ ao de opini˜
a an´ alise de investimentos. In Companion Proceedings of the XIV Brazilian Symposium on Multimedia and the Web, WebMedia ’08, pages 117–120, New York, NY, USA, 2008. ACM. [5] Jo˜ ao Carlos Medau, Maria Cristina Belderrain, and Fabr´ ıcio J. Barth. Reordena¸ c˜ ao de resultados de busca na web conforme crit´ erio de relevˆ ancia definido pelo usu´ ario. In Anais do XI Simp´
ıdia e Web - WebMedia, pages 220–222, 2005. [6] Tom M. Mitchell. Machine Learning. McGraw-Hill, 1997. 72-2
[7] J. R. Quinlan. Knowledge Acquisition for Knowledge-Based Systems, chapter Simplifying Decision Trees. Academic Press, 1988. [8] Stuart J. Russel and Peter Norvig. Artificial intelligence: a modern approach. Prentice-Hall, 2 edition, 2003. [9] Ian H. Witten and Eibe Frank. Data Mining: Practical Machine Learning Tools and Techniques. Elsevier, second edition, 2005. 72-3