Data, Text and Web Mining

705 visualizações

Publicada em

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
705
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
10
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Data, Text and Web Mining

  1. 1. Data, Text and Web Mining Fabr´ J. Barth ıcio TerraForum Consultores Junho de 2010
  2. 2. Objetivo Apresentar a importˆncia do tema, os conceitos a relacionados e alguns exemplos de aplica¸˜es. co Data, Text and Web Mining — Objetivo 2
  3. 3. Importˆncia do Tema a 3
  4. 4. Problema Importˆncia do Tema — a Problema 4
  5. 5. 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 Horário 10 12 30 14 16 20 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. Importˆncia do Tema — a Alguns dados... 5
  6. 6. Alguns 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 Importˆncia do Tema — a 5 10 Alguns dados... 15 20 25 30 35 40 45 50 Tempo (Dias) 55 60 65 70 75 80 85 6
  7. 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 7
  8. 8. • Sumarizar a opini˜o expressa na Web sobre a sua a empresa. • Identificar padr˜es de navega¸˜o em sites. o ca • Identificar grupos de usu´rios com perfil similar em a ambientes de escrita colaborativa. Importˆncia do Tema — a Por que minerar informa¸˜es? co 8
  9. 9. Explicitar conhecimento m´dico e a partir de registros m´dicos e 9
  10. 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 10
  11. 11. Quais s˜o os a componentes deste sistema? 11
  12. 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 12
  13. 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 13
  14. 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 14
  15. 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 15
  16. 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 16
  17. 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 17
  18. 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 18
  19. 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 19
  20. 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 20
  21. 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[2]: s˜o algoritmos indutores de ´rvore de a a decis˜o, top-down, recursivos e que fazem uso do a 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 21
  22. 22. Resultado: Sistema Especialista (none, soft, hard) Quais s˜o os componentes deste sistema? — a Resultado: Sistema Especialista 22
  23. 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 23
  24. 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 24
  25. 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 25
  26. 26. Organizar documentos 26
  27. 27. O que fazer com grandes quantidades de documentos? • Not´ ıcias, patentes, artigos... • Para tirar proveito desta informa¸˜o ´ necess´rio ca e a organiz´-la de alguma forma: a Agrupamento de not´ ıcias, patentes, artigos. Classifica¸˜o, Recomenda¸˜o e Filtragem de ca ca Not´ ıcias. Organizar documentos — O que fazer com grandes quantidades de documentos? 27
  28. 28. Exemplo de agrupamento E quando n˜o ´ poss´ fazer manualmente? a e ıvel Organizar documentos — Exemplo de agrupamento 28
  29. 29. 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. Organizar documentos — Defini¸˜es de Algoritmos de Agrupamento co 29
  30. 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 30
  31. 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 31
  32. 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 32
  33. 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 33
  34. 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 34
  35. 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 35
  36. 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 36
  37. 37. Componentes para uma solu¸˜o... ca Organizar documentos — Componentes para uma solu¸˜o... ca 37
  38. 38. Pr´-processamento dos documentos: um e pouco de c´digo... o Converter texto em TF-IDF usando o RapidMiner. Organizar documentos — Pr´-processamento dos documentos: um pouco de c´digo... e o 38
  39. 39. Que algoritmo de agrupamento utilizar? Organizar documentos — Que algoritmo de agrupamento utilizar? 39
  40. 40. 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 Organizar documentos — Algoritmos para Agrupamento - K-means 40
  41. 41. 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 8 (3) Atribuição dos objetos aos agrupamentos Organizar documentos — Algoritmo para Agrupamento - K-means 1 2 3 4 5 6 7 8 (4) Definição do centro do agrupamento 41
  42. 42. Algoritmos para agrupamento dos documentos - Weka Execu¸˜o do K-means no Wekaa . ca a http://www.cs.waikato.ac.nz/ml/weka/ Organizar documentos — Algoritmos para agrupamento dos documentos - Weka 42
  43. 43. 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 Organizar documentos — ,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 ,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 ¥ 43
  44. 44. Classifica¸˜o de ca documentos 44
  45. 45. Classifica¸˜o e Filtragem de Not´ ca ıcias Classifica¸˜o de documentos — ca Classifica¸˜o e Filtragem de Not´ ca ıcias 45
  46. 46. 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 46
  47. 47. Qual ´ o problema? e Classifica¸˜o de documentos — ca Qual ´ o problema? e 47
  48. 48. Uma solu¸˜o... ca Classifica¸˜o de documentos — ca Uma solu¸˜o... ca 48
  49. 49. Processo de trabalho Classifica¸˜o de documentos — ca Processo de trabalho 49
  50. 50. Minerando ambientes colaborativos de escrita (Wiki) 50
  51. 51. Que informa¸oes um Wiki tem? c˜ Documento Vers˜o a Editor Data Documento Vers˜o a Editor Data d1 1 ··· d2 4 2 ··· d3 1 u7 u5 ··· d1 u1 u2 d1 3 ··· d3 2 4 ··· d3 3 u6 u6 ··· d1 u2 u3 d1 5 ··· d4 1 1 ··· d4 2 u8 u9 ··· d2 u4 u4 d2 2 ··· d5 1 3 ··· d5 2 u10 u11 ··· d2 u5 u6 ··· ··· ··· ··· Exemplo de hist´rico de cria¸˜o e altera¸˜o de p´ginas em um Wiki. o ca ca a Minerando ambientes colaborativos de escrita (Wiki) — Que informa¸oes um Wiki tem? c˜ 51
  52. 52. O que eu posso fazer com isto? (a) (b) u1 u2 Legenda: uI = usuário i d1 dI = documento i u3 u4 u10 d5 u5 d2 u6 u11 u7 u8 d3 d4 u9 Minerando ambientes colaborativos de escrita (Wiki) — 111111111111 000000000000 1111111 0000000 111111111111 000000000000 1111111 0000000 111111111111 000000000000 d2 1111111 0000000 111111111111 000000000000 1111111 0000000 111111111111 000000000000 1111111 0000000 111111111111 000000000000 1111111 0000000 111111111111 000000000000 d3 1111111 0000000 111111111111 000000000000 1111111 0000000 111111111111 000000000000 1111111 0000000 111111111111 000000000000 1111111 0000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 d1 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 1111111 0000000 1111111 0000000 d5 1111111 0000000 1111111 0000000 1111111 0000000 1111111 0000000 d4 1111111 0000000 1111111 0000000 1111111 0000000 1111111 0000000 O que eu posso fazer com isto? Similaridade: 111 000 111 000 alta média baixa 52
  53. 53. Exemplo Execu¸˜o de uma aplica¸˜o usando estes conceitos. ca ca Minerando ambientes colaborativos de escrita (Wiki) — Exemplo 53
  54. 54. Considera¸˜es Finais co 54
  55. 55. Considera¸oes Finais c˜ • Caso sobre conhecimento m´dico: Data Mining. e • Agrupamento, classifica¸˜o e filtragem de ca documentos: Text Mining. • Caso Wiki: Web Mining • O que existe em comum nestes casos? Considera¸˜es Finais — co Considera¸˜es Finais co 55
  56. 56. Referˆncias e 56
  57. 57. References [1] Tom M. Mitchell. Machine Learning. McGraw-Hill, 1997. [2] J. R. Quinlan. Knowledge Acquisition for Knowledge-Based Systems, chapter Simplifying Decision Trees. Academic Press, 1988. [3] Stuart J. Russel and Peter Norvig. Artificial intelligence: a modern approach. Prentice-Hall, 2 edition, 2003. [4] Ian H. Witten and Eibe Frank. Data Mining: Practical Machine Learning Tools and Techniques. Elsevier, second edition, 2005. 56-1

×