Web Data Mining com R



Documentos relacionados
Disciplina de Text Mining

Data, Text and Web Mining

Web Data mining com R: aprendizagem de máquina

Fabrício J. Barth. Apontador

Hierarquia de modelos e Aprendizagem de Máquina

Informações na era do Big Data

Web Data Mining com R: design de projetos para criação de modelos preditivos

Aprendizagem de Máquina

Algoritmos Indutores de Árvores de

Algoritmos de Agrupamento - Aprendizado Não Supervisionado. Fabrício Jailson Barth

MINERAÇÃO DE DADOS APLICADA. Pedro Henrique Bragioni Las Casas

Contexto de Big Data, Ciência de Dados e KDD

Data Mining. Origem do Data Mining 24/05/2012. Data Mining. Prof Luiz Antonio do Nascimento

Sistema Tutor Inteligente baseado em Agentes. Pedagógicas da Universidade Aberta do Piauí. Prof. Dr. Vinicius Ponte Machado

Processamento de dados [no R] Fabrício Jailson Barth

Laboratório de Mídias Sociais

textos documentos semi-estruturado

UTILIZANDO O SOFTWARE WEKA

Aprendizagem de Máquina

servidores Web com RapidMiner

Observatório da Web: Uma Plataforma para Monitoramento de Eventos em Tempo Real. Gisele L. Pappa Outubro/2013

ADM041 / EPR806 Sistemas de Informação

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka

Prof. Msc. Paulo Muniz de Ávila

Universidade Tecnológica Federal do Paraná UTFPR Programa de Pós-Graduação em Computação Aplicada Disciplina de Mineração de Dados

Aprendizagem de Máquina. Ivan Medeiros Monteiro

RECUPERANDO INFORMAÇÃO SOBRE TEXTOS PUBLICADOS NO TWITTER

Análise de usabilidade de menus de navegação em portal com grande quantidade de informação e vários níveis hierárquicos

XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO

APLICATIVO PARA GERENCIAMENTO DE FORÇA DE TRABALHO EM EMPRESAS DE TELEFONIA MÓVEL

Programação Web Prof. Wladimir

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Administração Central Unidade de Ensino Médio e Técnico - Cetec. Ensino Técnico. Componente Curricular: REDES DE COMUNICAÇÃO DE DADOS II

DWARF DATAMINER: UMA FERRAMENTA GENÉRICA PARA MINERAÇÃO DE DADOS

O que é a ciência de dados (data science). Discussão do conceito. Luís Borges Gouveia Universidade Fernando Pessoa Versão 1.

Grupo de Banco de Dados da UFSC

Data Mining: Conceitos e Técnicas

Análise e visualização de dados utilizando redes neurais artificiais auto-organizáveis

SISTEMAS DE APRENDIZADO PARA A IDENTIFICAÇÃO DO NÚMERO DE CAROÇOS DO FRUTO PEQUI LEARNING SYSTEMS FOR IDENTIFICATION OF PEQUI FRUIT SEEDS NUMBER

Data Mining: Ferramenta JAVA

INTELIGÊNCIA ARTIFICIAL Data Mining (DM): um pouco de prática. (1) Data Mining Conceitos apresentados por

ANEXO I Sumário Manual de Preços e Serviços Digitais

Clustering - agrupamento. Baseado no capítulo 8 de. Introduction to Data Mining

EaD como estratégia de capacitação

Experimentos de Mineração de Dados em R Disciplina do curso de Pós-Graduação da UTFPR

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5

Análise de Sentimentos e Mineração de Links em uma Rede de Co-ocorrência de Hashtags

Segurança em Computadores. GTI SEDU

Janine Garcia 1 ; Adamo Dal Berto 2 ; Marli Fátima Vick Vieira 3

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

USO DE REDES SOCIAIS EM AMBIENTES CORPORATIVOS.

Manual do Usuário 2013

Segurança em Dispositivos Móveis. <Nome> <Instituição> < >

Implementação de um serviço de Site Dinâmico para a Intranet do Pólo de Touros utilizando o ambiente Apache, MYSQL e PHP em um Servidor Linux

CLIPPING. Thiago A. S. Pardo

Banco de Dados - Senado

Conteúdo Programático

Guerreiro SEO. John I. Jerkovic. Novatec

Planejamento Estratégico de TI. Prof.: Fernando Ascani

O Recurso a Meios Digitais no Contexto do Ensino Superior. Um Estudo de Uso da Plataforma.

Tarefas e Técnicas de Mineração de Dados TAREFAS E TÉCNICAS DE MINERAÇÃO DE DADOS

PROJETO UCA: FORMAÇÃO BRASIL. Proposta de operacionalização. Formação dos professores na escola

EQUIPE: ANA IZABEL DAYSE FRANÇA JENNIFER MARTINS MARIA VÂNIA RENATA FREIRE SAMARA ARAÚJO

EMENTAS DAS DISCIPLINAS

Introdução ao Plone. terça-feira, 4 de agosto de 15

Ambiente Virtual de Avaliações Utilizando Certificados Digitais. Fernando Gevard Acadêmico Paulo Fernando da Silva - Orientador

EMENTAS DAS DISCIPLINAS

Tópicos Especiais: INTELIGÊNCIA DE NEGÓCIOS II. Mineração de Dados. Sylvio Barbon Junior 26 de junho de 2015 DC-UEL Sylvio Barbon Jr 1

como ferramenta de análise de informações no mercado de saúde: o caso da Unimed-BH Ana Paula Franco Viegas Pereira

Agrupamento de dados

Política de privacidade do Norton Community Watch

XX Foro Iberoamericano de Sistemas de Garantía y Financiación para las Pymes

Aprendizagem de Máquina

Organizaçãoe Recuperação de Informação GSI521. Prof. Rodrigo Sanches Miani FACOM/UFU

Mineração de Opinião / Análise de Sentimentos

Projeto de Redes Neurais e MATLAB

Extração de Conhecimento & Mineração de Dados

Diferenças da versão 6.3 para a 6.4

PROJETO DE REDES

SIGEM AVALIAÇÃO DE ALUNOS WEB

Manual UNICURITIBA VIRTUAL para Professores

Sistema de mineração de dados para descobertas de regras e padrões em dados médicos

Profs. Luiz Laranjeira, Nilton Silva, e Fabrício Braz

Estudos de Imagem e Notoriedade

Data Mining II Modelos Preditivos

Boas Práticas em Sistemas Web muito além do HTML...

Pós-Graduação em Engenharia Elétrica Inteligência Artificial

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Mineração de Dados. Prof. Júlio Cesar Nievola Especialização em Inteligência Computacional PPGIA - PUCPR

NOVA PROPOSTA DE MATRIZ CURRICULAR CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Kaspersky Anti-Virus 2013 Kaspersky Internet Security 2013 Lista de novos recursos

PLANO DE ENSINO. Mestrado em Matemática - Área de Concentração em Estatística

Transcrição:

Web Data Mining com R Fabrício J. Barth fabricio.barth@gmail.com VAGAS Tecnologia e Faculdade BandTec Maio de 2014

Objetivo O objetivo desta palestra é apresentar conceitos sobre Web Data Mining, fluxo de trabalho e exemplos de tarefas de Web Data Mining utilizando o R. Web Data Mining com R Objetivo 2

Sumário Conceitos: web data mining, aprendizagem de máquina e a linguagem de programação R. Análise de mensagens do twitter usando algoritmos de agrupamento. Desenvolvimento de algoritmos anti-spam. Considerações finais. Referências. Web Data Mining com R Sumário 3

Conceitos 4

Web Data Mining A área de Web Data Mining tem como objetivo descobrir conhecimento útil a partir da estrutura dos hyperlinks da Web, conteúdo das páginas e log de utilização dos sites. Conceitos Web Data Mining 5

Descobrir conhecimento útil: Sintetizar informação: a partir de logs de servidores web, identificar qual é o caminho mais frequente de navegação dos usuários no site. a partir de notícias publicadas em veículos web, sumarizar os principais eventos do dia. Prescrever ações: a partir do histórico de candidaturas em vagas de um candidato, recomendar novas vagas para o mesmo. a partir de conteúdo previamente moderado, construir uma aplicação capaz de moderar conteúdo automaticamente. Conceitos Web Data Mining 6

Aprendizagem de máquina Aprendizagem Supervisionada Modelos preditivos Não supervisionada Modelos descritivos Classificação Regressão Sumarização Associação Agrupamento Conceitos Aprendizagem de máquina 7

Exemplo de dataset com classe Idade Miopia Astigmat. Lacrimej. Lentes jovem míope não reduzido nenhuma jovem míope não normal fraca jovem míope sim reduzido nenhuma jovem míope sim normal forte adulto míope não reduzido nenhuma Conceitos Exemplo de dataset com classe 8

Exemplo de modelo preditivo Conceitos Exemplo de modelo preditivo 9

Exemplos de aprendizagem não supervisionada Table 1: Exemplo de tabela com as transações dos usuários usuário categoria 1 categoria 2 categoria 3 categoriam user 1 0 2 0 1 user 2 1 1 0 0 user 3 2 0 1 0 user 4 0 1 0 0 usern 1 1 0 1 Conceitos Exemplos de aprendizagem não supervisionada 10

Exemplo de identificação de grupos em redes sociais Conceitos Exemplo de identificação de grupos em redes sociais 11

Projeto R http://www.r-project.org/ R Studio - http://www.rstudio.com/ É free É a linguagem de programação mais popular para análise de dados Script é melhor que clicar e arastar: É mais fácil de comunicar. Reproduzível. É necessário pensar mais sobre o problema. Existe uma quantia grande de pacotes disponíveis Conceitos Projeto R 12

Web Data Mining e dados não estruturados A área de Web Data Mining tem como objetivo descobrir conhecimento útil a partir da estrutura dos hyperlinks da Web, conteúdo das páginas e log de utilização dos sites. São todos dados não estruturados. Estes dados precisam ser pré-processados e convertidos em dados estruturados. Conceitos Web Data Mining e dados não estruturados 13

Análise de mensagens do twitter usando algoritmos de agrupamento 14

Componentes para uma solução... Fonte Coletor Pré-processamento dos documentos Agrupa documentos Agrupamentos de documentos Análise de mensagens do twitter usando algoritmos de agrupamento Componentes para uma solução... 15

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 ) dados < s e a r c h T w i t t e r ( e c o n o m i s t b r a s i l, n=250) d f < twlisttodf ( dados ) save ( df, f i l e =.. / data / 20140424 e c o n o m i s t b r a s i l. rda ) Análise de mensagens do twitter usando algoritmos de agrupamento Coletando dados do twitter com o R 16

Formato de um documento... Esta disciplina tem como objetivo apresentar os principais conceitos da área de Inteligência Artificial, caracterizar as principais técnicas e métodos, e implementar alguns problemas clássicos desta área sob um ponto de vista introdutório. A estratégia de trabalho, o conteúdo ministrado e a forma dependerão dos projetos selecionados pelos alunos. Inicialmente, os alunos deverão trazer os seus Projetos de Conclusão de Curso, identificar intersecções entre o projeto e a disciplina, e propor atividades para a disciplina.... Análise de mensagens do twitter usando algoritmos de agrupamento Formato de um documento 17

Conjunto de Exemplos - Atributo/Valor Doc. apresent form tecnic caracteriz d 1 0.33 0.33 0.33 0.33 d 2 0 0.5 0.2 0.33 d 3 1 0.6 0 0 d 4 0.4 0.3 0.33 0.4 d 5 1 0.4 0.1 0.1 d n Análise de mensagens do twitter usando algoritmos de agrupamento Conjunto de Exemplos - Atributo/Valor 18

Atributo/Valor usando vetores Como representar os documentos? di = (p i1, p i2,, pin) (1) Os atributos são as palavras que aparecem nos documentos. As palavras do texto precisam ser normalizadas: caixa baixa, remover acentuação, remover stop-words, aplicar algoritmos de steamming. Análise de mensagens do twitter usando algoritmos de agrupamento Atributo/Valor usando vetores 19

Remover stop-words Em todos os idiomas existem átomos (palavras) que não significam muito. Stop-words Esta disciplina tem como objetivo apresentar os principais conceitos da área de Inteligência Artificial, caracterizar as principais técnicas e métodos, e implementar alguns problemas clássicos desta área sob um ponto de vista introdutório. Análise de mensagens do twitter usando algoritmos de agrupamento Remover stop-words 20

Algoritmos de steamming Algumas palavras podem aparecer no texto de diversas maneiras: técnica, técnicas, implementar, implementação... Stemming - encontrar o radical da palavra e usar apenas o radical. Análise de mensagens do twitter usando algoritmos de agrupamento Algoritmos de steamming 21

Atributo/Valor usando vetores Já conhecemos os atributos. E os valores? Booleana - se a palavra aparece ou não no documento (1 ou 0) Por freqüência do termo - a freqüência com que a palavra aparece no documento (normalizada ou não) Ponderação tf-idf - o peso é proporcional ao número de ocorrências do termo no documento e inversamente proporcional ao número de documentos onde o termo aparece. Análise de mensagens do twitter usando algoritmos de agrupamento Atributo/Valor usando vetores 22

Por freqüência 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) Análise de mensagens do twitter usando algoritmos de agrupamento Por freqüência do termo 23

Executando esta etapa no R http://rpubs.com/fbarth/agrupamentotwitterconalytics Análise de mensagens do twitter usando algoritmos de agrupamento Executando esta etapa no R 24

Componentes para uma solução... Fonte Coletor Pré-processamento dos documentos Agrupa documentos Agrupamentos de documentos Análise de mensagens do twitter usando algoritmos de agrupamento Componentes para uma solução... 25

Algoritmos para Agrupamento 26

Definições de Algoritmos de Agrupamento O objetivo dos algoritmos de agrupamento é colocar os objetos similares em um mesmo grupo e objetos não similares em grupos diferentes. Normalmente, objetos são descritos e agrupados usando um conjunto de atributos e valores. Não existe nenhuma informação sobre a classe ou categoria dos objetos. Algoritmos para Agrupamento Definições de Algoritmos de Agrupamento 27

Algoritmos para Agrupamento - K-means K significa o número de agrupamentos (que deve ser informado à priori). Sequência de ações iterativas. A parada é baseada em algum critério de qualidade dos agrupamentos (por exemplo, similaridade média). Algoritmos para Agrupamento Algoritmos para Agrupamento - K-means 28

Algoritmo para Agrupamento - K-means 5 5 4 4 3 3 2 2 1 1 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 (1) Objetos que devem ser agrupados (2) Sorteio dos pontos centrais dos agrupamentos 5 5 4 4 3 3 2 2 1 1 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 (3) Atribuição dos objetos aos agrupamentos (4) Definição do centro do agrupamento Algoritmos para Agrupamento Algoritmo para Agrupamento - K-means 29

Algoritmo K-means A medida de distância pode ser a distância Euclidiana: x y = n (x i y i ) 2 (2) i=1 a função para computar o ponto central pode ser: µ = 1 M x C x (3) onde M é igual ao número de pontos no agrupamento C. Algoritmos para Agrupamento Algoritmo K-means 30

Algoritmos para Agrupamento 31

Como determinar o melhor k? A medida de distribuição dos pontos normalmente empregada é sum of squared errors. Algoritmos para Agrupamento Como determinar o melhor k? 32

Agrupamento de mensagens do twitter com o R http://rpubs.com/fbarth/agrupamentotwitterconalytics Algoritmos para Agrupamento Agrupamento de mensagens do twitter com o R 33

Desenvolvimento de algoritmos anti-spam Algoritmos para Agrupamento Desenvolvimento de algoritmos anti-spam 34

Algoritmos para Agrupamento 35

Modelos preditivos para classificação Algoritmos para Agrupamento Modelos preditivos para classificação 36

Desenvolvimento de modelos preditivos para classificação Algoritmos para Agrupamento Desenvolvimento de modelos preditivos para classificação 37

Aprendizado de árvores de decisão Algoritmos para Agrupamento Aprendizado de árvores de decisão 38

Florestas de árvores de decisão Algoritmos para Agrupamento Florestas de árvores de decisão 39

Exemplo de classificação de Spam usando RandomForest http://rpubs.com/fbarth/classificacaospamrandomforest Algoritmos para Agrupamento Exemplo de classificação de Spam usando RandomForest 40

Considerações finais Análise de mensagens do twitter Transformação de informação não-estruturada em estruturada. Uso do algoritmo k-means Este mesmo processo pode ser aplicado para outros problemas similares: análise de notícias, análise de patentes e artigos científicos. Algoritmos para Agrupamento Considerações finais 41

Desenvolvimento de algoritmos anti-spam Uso do algoritmo random forest. Como desenvolver e avaliar um modelo preditivo. Este mesmo processo pode ser aplicado para outros problemas similares, inclusive problemas de recomendação de itens. Algoritmos para Agrupamento Considerações finais 42

Material de consulta fbarth.net.br/materiais/docs/webminingrconalytics.pdf: link para os slides. http://fbarth.net.br/materiais/webminingr.html: tutorial apresentado no Mozilla Tech Day 2013. http://rpubs.com/fbarth/: scripts em R para problemas de Aprendizagem de Máquina. fabricio.barth@gmail.com Algoritmos para Agrupamento Material de consulta 43

Referências Bing Liu. Web Data Mining: exploring hyperlinks, contents, and usage data, 2008. Tom Mitchell. Machine Learning, 1997. Iah H. Witteh and Eibe Frank. Data Mining: Practical Machine Learning Tools and Techniques (Third Edition), 2011. Pang-Ning Tan, Michael Steinbach and Vipin Kumar. Introduction to Data Mining, 2006. Andrew Ng. http://www.ml-class.org Algoritmos para Agrupamento Referências 44

Andy and Matthew. Classification and regression by randomforest. R News, vol. 3, number 3, pages 18-22, 2002. Costa, H.; Merschmann, L. H. C.; Barth, F.; Benevenuto, F. Pollution, Bad-mouthing, and Local Marketing: The Underground of Location-based Social Networks. Information Sciences, 2014. 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 45

Barth, F. J. Ferramentas para a detecção de grupos em Wikis. In: VII Simpósio Brasileiro de Sistemas Colaborativos, 2010, Belo Horizonte. Anais do VII Simpósio 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.. Recuperação e mineração de informações para a área criminal. In: VI Encontro Nacional de Inteligência Artificial, 2007, Rio de Janeiro. Anais do XXVII Congresso da SBC, 2007. Algoritmos para Agrupamento Referências 46