Uma introdução à mineração de informações
Upcoming SlideShare
Loading in...5
×
 

Uma introdução à mineração de informações

on

  • 307 views

 

Statistics

Views

Total Views
307
Views on SlideShare
307
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Uma introdução à mineração de informações Uma introdução à mineração de informações Presentation Transcript

  • Uma Introdu¸˜o ` Minera¸˜o de ca a ca Informa¸˜es co Fabr´ J. Barth ıcio Apontador http://www.apontador.com.br http://www.apontador.com.br/institucional/ fabricio.barth@lbslocal.com Outubro de 2010
  • Objetivo Apresentar a importˆncia do tema, os conceitos a relacionados e alguns exemplos de aplica¸˜es. co Uma Introdu¸˜o ` Minera¸˜o de Informa¸˜es — ca a ca co Objetivo 2
  • Importˆncia do Tema a 3 View slide
  • Problema http://investingcaffeine.com/2010/01/07/tmi-the-age-of-information-overload/ Importˆncia do Tema — a Problema 4 View slide
  • Alguns dados... Relação Horário x Dia x Quantidade de Notícias Produzidas 500 450 400 350 300 250 200 150 100 50 0 500 400 Notícias 300 200 100 0 0 2 4 6 8 10 12 30 14 16 20 Horário 10 18 20 22 0 40 50 60 70 80 90 Dia Quantidade de not´ ıcias publicadas na Web por apenas seis ve´ ıculos de not´ ıcias (D0 = 17/07/2007) Importˆncia do Tema — a Alguns dados... 5
  • Mais dados... Notícias publicadas na Internet 160000 Estadão Folha G1 Globo Online Terra Último Segundo Total 140000 Quantidade (Notícias) 120000 100000 80000 60000 40000 20000 0 0 5 10 15 20 25 30 35 40 45 50 Tempo (Dias) 55 60 65 70 75 80 85 D0 = 17/07/2007 Importˆncia do Tema — a Mais dados... 6
  • Big Data “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...”[Data, data everywhere. A special report on managing information 2010] Importˆncia do Tema — a Big Data 7
  • Por que minerar informa¸oes? c˜ • Explicitar conhecimento m´dico a partir de registros e m´dicos. e • Sumarizar tendˆncias de publica¸˜es de artigos e e co patentes sobre um determinado tema. • Sumarizar e filtrar not´ ıcias relevantes. Importˆncia do Tema — a Por que minerar informa¸˜es? co 8
  • • Sumarizar a opini˜o expressa na Web sobre a sua a empresa. • Identificar padr˜es de navega¸˜o em sites. o ca • Identificar conte´do impr´prio em sites. u o Importˆncia do Tema — a Por que minerar informa¸˜es? co 9
  • Explicitar conhecimento m´dico e a partir de registros m´dicos e 10
  • Diagn´stico para o uso de lentes de o contato O setor de oftalmologia de um hospital da cidade de S˜o a Paulo possui, no seu banco de dados, um hist´rico de o pacientes que procuraram o hospital queixando-se de problemas na vis˜o. a A conduta, em alguns casos, realizada pelo corpo cl´ ınico de oftalmologistas do hospital ´ indicar o uso de lentes ao e paciente. Problema: Extrair do banco de dados do hospital uma hip´tese que explica que paciente deve usar ou o n˜o lente de contatos. a Explicitar conhecimento m´dico a partir de registros m´dicos — e e Diagn´stico para o uso de lentes de contato o 11
  • Quais s˜o os a componentes deste sistema? 12
  • Componentes • Que objetos s˜o relevantes para a cria¸˜o da hip´tese? a ca o • Como represent´-los? a • Que linguagem de representa¸˜o de conhecimento ca deve-se utilizar para representar a hip´tese? o • Que algoritmo utilizar para gerar a hip´tese? o Quais s˜o os componentes deste sistema? — a Componentes 13
  • • Que objetos s˜o relevantes? a Depois de um estudo detalhado do problema com especialistas da ´rea... a Idade do paciente. Se o paciente tem ou n˜o miopia. a Se o paciente tem ou n˜o astigmatismo. a Qual ´ a taxa de lacrimejamento dos olhos do e paciente. • Como represent´-los? Atributo/Valor a Quais s˜o os componentes deste sistema? — a Componentes 14
  • Atributos • idade (jovem, adulto, idoso) • miopia (m´ ıope, hiperm´trope) e • astigmatismo (n˜o, sim) a • taxa de lacrimejamento (reduzido, normal) • lentes de contato (forte, fraca, nenhuma) Quais s˜o os componentes deste sistema? — a Atributos 15
  • Dados Idade Miopia Astigmat. Lacrimej. Lentes jovem m´ ıope n˜o a reduzido nenhuma jovem m´ ıope n˜o a normal fraca jovem m´ ıope sim reduzido nenhuma jovem m´ ıope sim normal forte jovem hiper n˜o a reduzido nenhuma jovem hiper n˜o a normal fraca jovem hiper sim reduzido nenhuma jovem hiper sim normal forte adulto m´ ıope n˜o a reduzido nenhuma Quais s˜o os componentes deste sistema? — a Dados 16
  • Idade Miopia Astigmat. Lacrimej. Lentes adulto m´ ıope n˜o a normal fraca adulto m´ ıope sim reduzido nenhuma adulto m´ ıope sim normal forte adulto hiper sim reduzido nenhuma adulto hiper n˜o a normal fraca adulto hiper sim reduzido nenhuma adulto hiper sim normal nenhuma Quais s˜o os componentes deste sistema? — a Dados 17
  • Idade Miopia Astigmat. Lacrimej. Lentes idoso m´ ıope n˜o a reduzido nenhuma idoso m´ ıope n˜o a normal nenhuma idoso m´ ıope sim reduzido nenhuma idoso m´ ıope sim normal forte idoso hiper n˜o a reduzido nenhuma idoso hiper n˜o a normal fraca idoso hiper sim reduzido nenhuma idoso hiper sim normal nenhuma Quais s˜o os componentes deste sistema? — a Dados 18
  • Extra¸˜o de “conhecimento” ca • O que foi apresentado nos slides anteriores pode ser considerado como conhecimento? N˜o a • Pode ser apresentado como uma informa¸˜o que ca consegue explicar a tomada de decis˜o dos a especialistas? N˜o a • O que fazer? Quais s˜o os componentes deste sistema? — a Extra¸˜o de “conhecimento” ca 19
  • Extra¸˜o de “conhecimento” ca • Extrair a informa¸˜o realmente relevante. ca • Utilizar uma linguagem de representa¸˜o ca compreens´ ao ser humano. ıvel Quais s˜o os componentes deste sistema? — a Extra¸˜o de “conhecimento” ca 20
  • ´ Arvore de decis˜o a • Cada nodo interno testa um atributo. • Cada aresta corresponde a um valor de atributo. • Cada nodo folha retorna uma classifica¸˜o. ca Quais s˜o os componentes deste sistema? — a ´ Arvore de decis˜o a 21
  • ´ Algoritmos Indutores de Arvores de Decis˜o a • Que algoritmo utilizar para gerar hip´teses na o forma de ´rvores de decis˜o? a a • ID3, C4.5[Quinlan 1988]: s˜o algoritmos indutores de a ´rvore de decis˜o, top-down, recursivos e que fazem a a uso do conceito de entropia para identificar os melhores atributos que representam o conjunto de dados. Quais s˜o os componentes deste sistema? — a ´ Algoritmos Indutores de Arvores de Decis˜o a 22
  • Resultado: Sistema Especialista (none, soft, hard) Quais s˜o os componentes deste sistema? — a Resultado: Sistema Especialista 23
  • Sistema Especialista: Regras de Produ¸˜o ca • Baseado na premissa que o processo de tomada de decis˜o humano pode ser modelado por meio de regras a ˜ do tipo SE condi¸˜es ENTAO conclus˜es [FACA co o ¸ a¸˜es] co • Convertendo uma ´rvore de decis˜o em regras de a a produ¸˜o: ca Quais s˜o os componentes deste sistema? — a Sistema Especialista: Regras de Produ¸˜o ca 24
  • ˜ • SE lacrimejamento=reduzido ENTAO lente=nenhuma ˜ • SE lacrimejamento=normal E astigmatismo=n˜o ENTAO a lente=fraca • SE lacrimejamento=normal E astigmatismo=sim E ˜ miopia=miope ENTAO lente=forte • SE lacrimejamento=normal E astigmatismo=sim E ˜ miopia=hipermetrope ENTAO lente=nenhuma Quais s˜o os componentes deste sistema? — a Sistema Especialista: Regras de Produ¸˜o ca 25
  • Um pouco de c´digo... o • Gerar a ´rvore de decis˜o usando o RapidMinera . a a • Codificar as regras de produ¸˜o usando o Drools ca Expert b . a http://www.rapidminer.com b http://www.jboss.org/drools/drools-expert.html Quais s˜o os componentes deste sistema? — a Um pouco de c´digo... o 26
  • Organizar documentos 27
  • O que fazer com grandes quantidades de documentos? • Not´ ıcias, patentes, artigos, mensagens de twitter... • Para tirar proveito desta informa¸˜o ´ necess´rio ca e a organiz´-la de alguma forma: a Agrupamento de not´ ıcias, patentes, artigos e mensagens. Classifica¸˜o, Recomenda¸˜o e Filtragem de ca ca documentos (not´ ıcias, relat´rios, mensagens do o twitter, avalia¸˜o de itens). ca Organizar documentos — O que fazer com grandes quantidades de documentos? 28
  • Exemplo de classifica¸˜o/agrupamento ca Organizar documentos — Exemplo de classifica¸˜o/agrupamento ca 29
  • Exemplo de classifica¸˜o/agrupamento ca • E quando n˜o ´ poss´ fazer manualmente? a e ıvel • Qual ´ o processo para classificar e agrupar e documentos de forma autom´tica? a Organizar documentos — Exemplo de classifica¸˜o/agrupamento ca 30
  • 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. ... Organizar documentos — Formato de um documento 31
  • 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 Organizar documentos — Atributo/Valor usando vetores 32
  • 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 ··· Organizar documentos — Diminuindo a dimensionalidade do vetor 33
  • 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. Organizar documentos — Diminuindo ainda mais a dimensionalidade do vetor 34
  • 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. Organizar documentos — Atributo/Valor usando vetores 35
  • 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) Organizar documentos — Por freq¨ˆncia do termo ue 36
  • 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 ··· ··· ··· ··· ··· Organizar documentos — Conjunto de Exemplos - Atributo/Valor 37
  • Classifica¸˜o de ca documentos 38
  • An´lise de Sentimento em mensagens no a Twitter Teor das mensagens sobre a Vale nos ultimos sete dias. ´ Classifica¸˜o de documentos — ca An´lise de Sentimento em mensagens no Twitter a 39
  • Conjunto de Exemplos Rotulados Doc. Mensagem Classe d1 A empresa X ´ uma empresa muito s´ria e e Positivo d2 O produto Y ´ uma porcaria e Negativo d3 Gostei muito da palestra de fulano Positivo d4 Aquela praia ´ muito bonita e Positivo d5 Gostei daquele restaurante Positivo ··· dn Classifica¸˜o de documentos — ca Conjunto de Exemplos Rotulados 40
  • Conjunto de Exemplos - Atributo/Valor e Classe Doc. restaur empres bom caracteriz ··· Classe d1 0.33 0.33 0.33 0.33 ··· Positivo d2 0 0.5 0.2 0.33 ··· Negativo d3 1 0.6 0 0 ··· Positivo d4 0.4 0.3 0.33 0.4 ··· Positivo d5 1 0.4 0.1 0.1 ··· Positivo dn ··· ··· ··· ··· ··· ··· Classifica¸˜o de documentos — ca Conjunto de Exemplos - Atributo/Valor e Classe 41
  • Algoritmo Na¨ Bayes ıve NaiveBayesLearn(exemplos): P (vj ) e P (ai |vj ) for all valor alvo vj do P (vj ) ← estimar P (vj ) for all valor de atributo ai de cada atributo a do P (ai |vj ) ← estimar P (ai |vj ) end for end for ClassifyNewInstance(x): VN B VN B = arg maxvj ∈V P (vj ) i P (ai |vj ) Classifica¸˜o de documentos — ca Algoritmo Na¨ Bayes ıve 42
  • Exemplo Execu¸˜o de um demo usando estes conceitos... ca § T r a n s f o r m a n d o o c o n j u n t o de t r e i n a m e n t o em um v e t o r de p a l a v r a s C r i a n d o o modelo A p l i c a n d o o modelo a n o v o s c a s o s Mensagem ”Meu v o t o e p a r a 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 ” E s t e p r o d u t o e m u i t o r u i m ” e c l a s s i f i c a d a como NEGATIVA Mensagem ” Nunca m a i s compro n a q u e l a l o j a ! ” e c l a s s i f i c a d a como NEGATIVA Mensagem ” F u l a n o e um m e n t i r o s o ! ” 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 v o t o ” e c l a s s i f i c a d a como POSITIVA ¦  Classifica¸˜o de documentos — ca Exemplo ¤ ¥ 43
  • Classifica¸˜o e Filtragem de Not´ ca ıcias Classifica¸˜o de documentos — ca Classifica¸˜o e Filtragem de Not´ ca ıcias 44
  • Conjunto de Exemplos - Atributo/Valor e Classe Doc. apresent form tecnic caracteriz ··· Relevante d1 0.33 0.33 0.33 0.33 ··· 1 d2 0 0.5 0.2 0.33 ··· 0 d3 1 0.6 0 0 ··· 1 d4 0.4 0.3 0.33 0.4 ··· 1 d5 1 0.4 0.1 0.1 ··· 1 dn ··· ··· ··· ··· ··· ··· Classifica¸˜o de documentos — ca Conjunto de Exemplos - Atributo/Valor e Classe 45
  • Qual ´ o problema? e Classifica¸˜o de documentos — ca Qual ´ o problema? e 46
  • Uma solu¸˜o... ca Classifica¸˜o de documentos — ca Uma solu¸˜o... ca 47
  • Processo de trabalho Classifica¸˜o de documentos — ca Processo de trabalho 48
  • Agrupamento de documentos 49
  • 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. Agrupamento de documentos — Defini¸˜es de Algoritmos de Agrupamento co 50
  • Componentes para uma solu¸˜o... ca Agrupamento de documentos — Componentes para uma solu¸˜o... ca 51
  • 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 Agrupamento de documentos — Algoritmos para Agrupamento - K-means 52
  • 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 Agrupamento de documentos — 8 1 2 3 4 5 6 7 8 (4) Definição do centro do agrupamento Algoritmo para Agrupamento - K-means 53
  • Algoritmos para agrupamento dos documentos - Weka Execu¸˜o do K-means no Wekaa . ca a http://www.cs.waikato.ac.nz/ml/weka/ Agrupamento de documentos — Algoritmos para agrupamento dos documentos - Weka 54
  • Algoritmo para agrupamento dos documentos - Resultados ¤ § A A A A A A A A A A A A A A ¦  instˆncia a instˆncia a instˆncia a instˆncia a instˆncia a instˆncia a instˆncia a instˆncia a instˆncia a instˆncia a instˆncia a instˆncia a instˆncia a instˆncia a 0.1 0.1 0.3 0.3 0.3 0.8 0.1 0.1 0.1 0.6 0.6 0.1 0.2 0.1 ,0.1 ,0.2 ,0.4 ,0.1 ,0.1 ,0.7 ,0.1 ,0.1 ,0.1 ,0.5 ,0.5 ,0.1 ,0.8 ,0.1 Agrupamento de documentos — ,0.1 ,0.3 ,0.5 ,0.1 ,0.1 ,0.8 ,0.1 ,0.1 ,0.1 ,0.6 ,0.6 ,0.1 ,0.8 ,0.1 ,0.1 ,0.1 ,0.8 ,0.1 ,0.1 ,0.8 ,0.1 ,0.1 ,0.1 ,0.6 ,0.6 ,0.1 ,0.7 ,0.1 ,0.1 ,0.8 ,0.9 ,0.1 ,0.1 ,0.8 ,0.1 ,0.1 ,0.1 ,0.6 ,0.6 ,0.1 ,0.9 ,0.1 est´ a est´ a est´ a est´ a est´ a est´ a est´ a est´ a est´ a est´ a est´ a est´ a est´ a est´ a no no no no no no no no no no no no no no cluster cluster cluster cluster cluster cluster cluster cluster cluster cluster cluster cluster cluster cluster 1 1 0 1 1 0 1 1 1 0 0 1 0 1 Algoritmo para agrupamento dos documentos - Resultados ¥ 55
  • Minerando o log de um servidor Web 56
  • Exemplo t´ ıpico de log Minerando o log de um servidor Web — Exemplo t´ ıpico de log 57
  • Pr´-processamento do log: identifica¸˜o e ca de usu´rios a Minerando o log de um servidor Web — Pr´-processamento do log: identifica¸˜o de usu´rios e ca a 58
  • Pr´-processamento do log: identifica¸˜o e ca das se¸˜es co Minerando o log de um servidor Web — Pr´-processamento do log: identifica¸˜o das se¸˜es e ca co 59
  • Matriz de transa¸oes c˜ Minerando o log de um servidor Web — Matriz de transa¸˜es co 60
  • Regras de Associa¸˜o ca • Caso do supermercado (fralda → cerveja) • Quem acessa a p´gina sobre futebol tamb´m acessa a a e p´gina de volei em 90% dos casos (futebol → volei). a • Quem acessa a p´gina de ofertas e a p´gina de a a material de constru¸˜o tamb´m finaliza a compra em ca e 83% dos casos (ofertas ∧ material constru¸˜o → ca compra) Minerando o log de um servidor Web — Regras de Associa¸˜o ca 61
  • Considera¸˜es Finais co 62
  • Considera¸oes Finais c˜ • Foram vistos: problemas de classifica¸˜o, agrupamento ca e an´lise de log. Tem muito mais de onde vieram a estes... • Aten¸˜o para o processo! Pr´-processamento, ca e cria¸˜o dos modelos, avalia¸˜o e aplica¸˜o. ca ca ca • Alguns algoritmos para minera¸˜o de informa¸˜o s˜o ca ca a pesados. Talvez, parte da solu¸˜o esteja na ado¸˜o de ca ca cloud computing. • Muitos dados... Muitas oportunidades... Considera¸˜es Finais — co Considera¸˜es Finais co 63
  • Outros exemplos • Wiki2Groupa - 2010 • Sistema Folkalizab - 2009 • Sistema opSysc - 2008 • Sistema FaroFino - 2005 • Mais informa¸˜es podem ser encontradas em co http://fbarth.net.br e http://fbarth.net.br/projetos/riInteligente.html a http://trac.fbarth.net.br/wikiAnalysis b http://www.jessicacintra.com.br/jeh/folkaliza/Home/Default.aspx c http://www.opsys.com.br Considera¸˜es Finais — co Outros exemplos 64
  • Referˆncias e 65
  • References [Data, data everywhere. A special report on managing information 20 DATA, data everywhere. A special report on managing information. The Economist, p. 1–16, February 2010. [Liu 2009]LIU, B. Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data (Data-Centric Systems and Applications). 1st ed. 2007. corr. 2nd printing. ed. Springer, 2009. Hardcover. ISBN 3540378812. Dispon´ em: ıvel <http://www.amazon.com/exec/obidos/redirect?tag=citeulike0720&path=ASIN/3540378812>. [Mitchell 1997]MITCHELL, T. M. Machine Learning. [S.l.]: McGraw-Hill, 1997. 65-1
  • [Quinlan 1988]QUINLAN, J. R. Knowledge acquisition for knowledge-based systems. In: . [S.l.]: Academic Press, 1988. cap. Simplifying Decision Trees. [Russel e Norvig 2003]RUSSEL, S. J.; NORVIG, P. Artificial intelligence: a modern approach. 2. ed. [S.l.]: PrenticeHall, 2003. ISBN 0-13-790395-2. [Witten e Frank 2005]WITTEN, I. H.; FRANK, E. Data Mining: Practical Machine Learning Tools and Techniques. Second. [S.l.]: Elsevier, 2005. 65-2