Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução Cristiano Carvalho SLIDE CAPA Trabalhando com dados da Web SLIDE PARA SEPARAR CAPÍTULO/ TÓPICO Web A Web ▪ Bilhões de páginas Web (veja +) ▪ Centenas de milhões de tweets diários (veja +) ▪ Bilhões de consultas realizadas no Google diariamente ▪ Milhões de servidores e petabytes de dados SLIDE PARA TÓPICOS http://worldwidewebsize.com http://www.internetlivestats.com http://www.internetlivestats.com Web A Web Bilhões de páginas Web (veja +) Centenas de milhões de tweets diários (veja +) Bilhões de consultas realizadas no Google diariamente Milhões de servidores e petabytes de dados SLIDE PARA TÓPICOS Experimento: busque pelo termo “a” no Google e observe o número de respostas http://worldwidewebsize.com http://www.internetlivestats.com http://www.internetlivestats.com Informação não estruturada Por que minerar grandes volumes de texto? ▪ Minimizar o esforço humano (em consumir esses dados) ▪ Busca por padrões e informações relevantes ▪ Fornecer conhecimento para tomadas de decisão otimizadas SLIDE PARA TÓPICOS Exemplos de aplicações Diretórios da Web, clipping de notícias, bibliotecas digitais, busca de documentos, monitoramento de marca ... SLIDE PARA TÓPICOS Text Data Management and Analysis: A Practical Introduction to Information Retrieval and Text Mining by Chengxiang Zhai, Sean Massung Mineração de Texto SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Text Data Management and Analysis: A Practical Introduction to Information Retrieval and Text Mining by Chengxiang Zhai, Sean Massung Mineração de Texto SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Text Data Management and Analysis: A Practical Introduction to Information Retrieval and Text Mining by Chengxiang Zhai, Sean Massung Mineração de Texto SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Text Retrieval and Mining SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Network Mining SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Referências Imagem Web Autor: http://www.a3data.com.br Imagens sobre Mineração de Texto Text Data Management and Analysis: A Practical Introduction to Information Retrieval and Text Mining by Chengxiang Zhai, Sean Massung http://www.morganclaypoolpublishers.com/catalog_Orig/product_info.php?cPath=24&pr oducts_id=954 Autor: http://czhai.cs.illinois.edu Imagens sobre Escopo da Disciplina Autor: http://cristianocarvalho.cc SLIDE PARA TÓPICOS http://www.a3data.com.br http://www.morganclaypoolpublishers.com/catalog_Orig/product_info.php?cPath=24&products_id=954 http://www.morganclaypoolpublishers.com/catalog_Orig/product_info.php?cPath=24&products_id=954 http://czhai.cs.illinois.edu http://cristianocarvalho.cc SLIDE DE ENCERRAMENTO Introdução Cristiano Carvalho SLIDE CAPA Processamento de Linguagem Natural (NLP) SLIDE PARA SEPARAR CAPÍTULO/ TÓPICO NLP - Processamento de linguagem natural ● NLP é a base para mineração de texto ● Computadores estão muito longe de serem capazes de entender linguagem natural ○ É preciso escalar computacionalmente e em cobertura, o que dificulta o uso de métodos muito profundos e limitados a certos domínios SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES NLP - Processamento de linguagem natural Na prática são utilizados métodos (rasos) estatísticos de NLP como base, enquanto humanos fornecem ajuda quando necessário. SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES “O cachorro está perseguindo o garoto no playground“ Estruturando o Texto SLIDE PARA TÓPICOS “O cachorro está perseguindo o garoto no playground“ Representação em strings de caracteres ● Representa qualquer tipo de texto ou linguagem ● Não é possível realizar análise semântica ○ Não estamos reconhecendo nem ao menos as palavras ● Considera todos os espaços e símbolos SLIDE PARA TÓPICOS STRING 1 “�����������������“ Representação em strings de caracteres SLIDE PARA TÓPICOS STRING 1 ● Representa qualquer tipo de texto ou linguagem ● Não é possível realizar análise semântica ○ Não estamos reconhecendo nem ao menos as palavras ● Considera todos os espaços e símbolos “Der Hund jagt das Kind auf dem Spielplatz“ Representação em strings de caracteres SLIDE PARA TÓPICOS STRING 1 ● Representa qualquer tipo de texto ou linguagem ● Não é possível realizar análise semântica ○ Não estamos reconhecendo nem ao menos as palavras ● Considera todos os espaços e símbolos “O cachorro está perseguindo o garoto no playground“ Segmentação de palavras SLIDE PARA TÓPICOS STR 1 STRING 2 STRING 4 STRING 6 STRING 8STR 3 S5 S7 ● Representa mesmo texto porém em forma de sequência de palavras. ● Palavras são as unidades básicas da comunicação humana ● Permite contagem de palavras mais frequentes “O cachorro está perseguindo o garoto no playground“ Segmentação de palavras SLIDE PARA TÓPICOS STR 1 STRING 2 STRING 4 STRING 6 STRING 8STR 3 S5 S7 ● Permite formar tópicos a partir da conexão entre as palavras ● Se algumas palavras são positivas e outras são negativas podemos realizar análise semântica (sentimento) Segmentação de palavras SLIDE PARA TÓPICOS STRING ?? STRING ?? ?? ??STR ?? ? ? ● Generaliza menos que a representação por caracteres ○ Em algumas linguagens torna-se difícil identificar palavras “�����������������“ SLIDE DE ENCERRAMENTO Cristiano Carvalho SLIDE CAPAConhecimento, Colaboração e Marketing Conceitos de Inteligência na Web SLIDE PARA SEPARAR CAPÍTULO/ TÓPICO A Sabedoria das Multidões Inteligência Coletiva: Inteligência compartilhada ou de grupo formada através da colaboração, esforço coletivo, competição entre indivíduos e aparece como consenso em tomadas de decisão SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES “ Ninguém sabe tudo, porém todos sabem alguma coisa “ Paulo Freire SLIDE PARA CITAÇÕES A Sabedoria das Multidões O termo Inteligência Coletiva aparece na sociobiologia, na ciência política e aplicações de crowdsourcing. SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES A Sabedoria das Multidões Crowdsourcing: “Terceirização em multidão”. Normalmente comunidade online. Processo de comunicação que pode ser encontrado em comunidades open source SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES A Sabedoria das Multidões Criação de softwares complexos Conhecimento colaborativo (wiki's) Ferramentas de gerenciamento de conhecimento em organizações de grande porte SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES O Poder das Multidões Crowdfunding: A prática de financiar um projeto ou empreendimento através de contribuições monetárias de um grande número de pessoas, tipicamente através da internet SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES O Poder das Multidões Um grande número de pessoas unindo seu poder econômico para sustentar uma companhia, organização ou projeto em que acreditam SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES 5.1 Bilhões em 2013 34.4 Bilhões em 2017 +90 Bilhões esperados para 2025 (veja +) http://www.breakawayfunding.com/top-5-reasons-why-crowdfunding-in-2017-will-be-the-best/ Como NÃO utilizar um Crowdfunding: Case Zebeléo A força destrutiva das multidões SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA (veja +) https://exame.abril.com.br/pme/crowdfunding-da-hamburgueria-de-leo-e-bel-pesce-e-cancelado/ “ Muitos apontaram que as contribuições eram caras diante das recompensas recebidas ” Exame SLIDE PARA CITAÇÕES “ Não oferecia nenhum tipo de participação no negócio em troca das contribuições” Exame SLIDE PARA CITAÇÕES “ Para os críticos, os três sócios poderiam muito bem conseguir um investidor para o seu negócio, ou colocar a mão no bolso pela hamburgueria,em vez de pedir dinheiro para as pessoas comuns ” Exame SLIDE PARA CITAÇÕES A gafe chamou a atenção do país e…… O caso foi muito além…. A força destrutiva das multidões SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA (veja +) https://www.tecmundo.com.br/polemica/109167-bel-pesce-empreendedora-mal-compreendida-farsa-midiatica.htm Vários outros casos na Web... A força destrutiva das multidões SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA (veja +) http://epoca.globo.com/vida/experiencias-digitais/noticia/2015/11/dog-haus-como-destruir-reputacao-de-um-restaurante-nas-redes-sociais.html Inteligência Competitiva IC: Processo sistemático e ético de coleta, tratamento e análise da informação sobre atividades dos concorrentes, tecnologias e mercado, visando subsidiar a tomada de decisão e atingir as metas estratégicas da empresa SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES image url http://www.mirus3group.com/test/wp-content/uploads/2011/04/where-we-plug-in6.png Inteligência Competitiva Coletar informações do ambiente externo para entender as forças e fraquezas dos competidores; Avaliar sua própria competitividade; Prever* as intenções dos competidores, as expectativas dos clientes e do mercado como um todo SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES image url *No sentido de ser proativo e antecipar da melhor maneira possível algumas tendências com base na experiência. Não existe previsão de fato, a menos que o passado se repita em alguma forma de padrão. http://www.mirus3group.com/test/wp-content/uploads/2011/04/where-we-plug-in6.png SLIDE DE ENCERRAMENTO Referências Open source tree http://www.9cubesdigitali.com/images/slider/img4.png Wiki logo https://upload.wikimedia.org/wikipedia/commons/d/de/Wikipedia_Logo_1.0.png Crowdfunding http://www.thegarden.space/wp-content/uploads/2017/02/crowdfunding-224x149.jpeg http://www.breakawayfunding.com/top-5-reasons-why-crowdfunding-in-2017-will-be-the- best/ Matéria "LG just used an iPhone to post a tweet mocking the iPhone" https://www.dailydot.com/debug/lg-twitter-iphone-6/ SLIDE PARA TÓPICOS http://www.9cubesdigitali.com/images/slider/img4.png https://upload.wikimedia.org/wikipedia/commons/d/de/Wikipedia_Logo_1.0.png https://www.dailydot.com/debug/lg-twitter-iphone-6/ Referências Indiegogo Logo https://upload.wikimedia.org/wikipedia/commons/6/6c/Indiegogo_logo.png Kickante Logo https://meuanjomaria.files.wordpress.com/2016/05/kickante-logo1.png?w=600 KickStarter Logo https://vignette.wikia.nocookie.net/tomba/images/2/20/Kickstarter- logo.png/revision/latest?cb=20151211134237 Matéria "Crowdfunding da hamburgueria de Leo e Bel Pesce é cancelado" https://exame.abril.com.br/pme/crowdfunding-da-hamburgueria-de-leo-e-bel-pesce-e- cancelado/ SLIDE PARA TÓPICOS https://upload.wikimedia.org/wikipedia/commons/6/6c/Indiegogo_logo.png https://meuanjomaria.files.wordpress.com/2016/05/kickante-logo1.png?w=600 Referências Matéria "Bel Pesce: empreendedora malcompreendida ou farsa midiática?" https://www.tecmundo.com.br/polemica/109167-bel-pesce-empreendedora-mal- compreendida-farsa-midiatica.htm Matéria "The Dog Haüs: como destruir a reputação de um restaurante nas redes sociais" https://epoca.globo.com/vida/experiencias-digitais/noticia/2015/11/dog-haus-como- destruir-reputacao-de-um-restaurante-nas-redes-sociais.html Imagem Inteligência Coletiva http://www.mirus3group.com/test/wp-content/uploads/2011/04/where-we-plug-in6.png Matéria "Crowdfunding da hamburgueria de Leo e Bel Pesce é cancelado" https://exame.abril.com.br/pme/crowdfunding-da-hamburgueria-de-leo-e-bel-pesce-e- cancelado/ SLIDE PARA TÓPICOS Cristiano Carvalho SLIDE CAPAConhecimento, Colaboração e Marketing Mundo Social SLIDE PARA SEPARAR CAPÍTULO/ TÓPICO Por que ficar atento a Web e às mídias sociais? Cada vez mais pessoas usam regularmente as mídias sociais SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES Mundo Social SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADALink Link https://rafaeldelazari.jusbrasil.com.br/artigos/121943825/islandia-uma-experiencia-constitucional-para-o-brasil https://super.abril.com.br/comportamento/cutucaram-a-constituicao/ Arte de “João Montanaro” Mundo Social SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Por que ficar atento a Web e às mídias sociais? Através da web buscam manter e ampliar o relacionamento com empresas e entidades públicas (fanpages, follow de perfis, comentários em páginas, assinatura de feeds rss) SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES Marketing orgânico Mundo Social SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Alguns cuidados... Pode haver viés de disponibilidade SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES Algorítmos e reforço do viés de julgamento Mundo Social SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Fonte http://revistagalileu.globo.com/Revista/noticia/2015/06/bem-vindos-zuckernet-os-efeitos-de-conhecer-o-mundo-atraves-de-uma-unica-rede-social.html Por que ficar atento a Web e às mídias sociais? Perfis públicos, de uma forma ou de outra, estão sendo comentados nas mídias sociais e a polaridade das discussões pode ser positiva ou negativa Não há controle sobre essas interações, apenas influência. Não participar das conversas pode significar que a empresa endossa o que é dito, seja positiva ou negativamente SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES Lembra do caso? Pois é ... Mundo Social SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Fonte https://epoca.globo.com/vida/experiencias-digitais/noticia/2016/09/o-silencio-e-pior-estrategia-para-bel-pesce.html “... a mesma dinâmica das redes sociais que a colocou no olimpo do empreendedorismo do Brasil pode tirá-la de lá… ” ÉPOCA SLIDE PARA CITAÇÕES Como utilizar as mídias sociais? Lançamento e divulgação de produtos Análise do comportamento dos consumidores, tendências e oportunidades Monitoramento da marca para gestão estratégica SLIDE PARA TÓPICOS Como utilizar as mídias sociais? Comunicação, suporte e relacionamento com o cliente Gasta-se muito em pesquisas de mercado e sistemas de qualidade. Mas e a voz que vem da Web? SLIDE PARA TÓPICOS Atenção!! Uma vez na Web… Riscos? SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Fonte https://www.dailydot.com/debug/lg-twitter-iphone-6/ Planejamento O Refletir sobre a maneira mais adequada de entrar nas redes e se preparar Estabelecer objetivos e metas Alocar pessoas e recursos Preparar as pessoas e as regras a serem respeitadas (políticas de uso) SLIDE PARA TÓPICOS SLIDE DE ENCERRAMENTO Referências Constituição Islândia https://super.abril.com.br/comportamento/cutucaram-a-constituicao/ https://rafaeldelazari.jusbrasil.com.br/artigos/121943825/islandia-uma-experiencia- constitucional-para-o-brasil Arte de João Montanaro https://noticias.bol.uol.com.br/fotos/entretenimento/2014/08/25/os-quadrinhos-de-joao- montanaro-na-folha-de-s-paulo.htm Poema Cliente Bradesco https://www.facebook.com/Bradesco/posts/279431488756318 https://exame.abril.com.br/marketing/bradesco-responde-pedido-de-cliente-com-poema- no-facebook/ SLIDE PARA TÓPICOS https://super.abril.com.br/comportamento/cutucaram-a-constituicao/ https://rafaeldelazari.jusbrasil.com.br/artigos/121943825/islandia-uma-experiencia-constitucional-para-o-brasil https://rafaeldelazari.jusbrasil.com.br/artigos/121943825/islandia-uma-experiencia-constitucional-para-o-brasil https://noticias.bol.uol.com.br/fotos/entretenimento/2014/08/25/os-quadrinhos-de-joao-montanaro-na-folha-de-s-paulo.htm https://noticias.bol.uol.com.br/fotos/entretenimento/2014/08/25/os-quadrinhos-de-joao-montanaro-na-folha-de-s-paulo.htm https://www.facebook.com/Bradesco/posts/279431488756318 https://exame.abril.com.br/marketing/bradesco-responde-pedido-de-cliente-com-poema-no-facebook/https://exame.abril.com.br/marketing/bradesco-responde-pedido-de-cliente-com-poema-no-facebook/ Referências Matéria "Bem-vindos à Zuckernet: os efeitos de conhecer o mundo através de uma única rede social" https://revistagalileu.globo.com/Revista/noticia/2015/06/bem-vindos-zuckernet-os- efeitos-de-conhecer-o-mundo-atraves-de-uma-unica-rede-social.html Matéria "O silêncio é a pior estratégia para Bel Pesce" https://epoca.globo.com/vida/experiencias-digitais/noticia/2016/09/o-silencio-e-pior- estrategia-para-bel-pesce.html Matéria "LG just used an iPhone to post a tweet mocking the iPhone" https://www.dailydot.com/debug/lg-twitter-iphone-6/ SLIDE PARA TÓPICOS https://revistagalileu.globo.com/Revista/noticia/2015/06/bem-vindos-zuckernet-os-efeitos-de-conhecer-o-mundo-atraves-de-uma-unica-rede-social.html https://revistagalileu.globo.com/Revista/noticia/2015/06/bem-vindos-zuckernet-os-efeitos-de-conhecer-o-mundo-atraves-de-uma-unica-rede-social.html https://epoca.globo.com/vida/experiencias-digitais/noticia/2016/09/o-silencio-e-pior-estrategia-para-bel-pesce.html https://epoca.globo.com/vida/experiencias-digitais/noticia/2016/09/o-silencio-e-pior-estrategia-para-bel-pesce.html https://www.dailydot.com/debug/lg-twitter-iphone-6/ Cristiano Carvalho SLIDE CAPAConhecimento, Colaboração e Marketing Monitoramento SLIDE PARA SEPARAR CAPÍTULO/ TÓPICO Marketing Social e Monitoramento Diagnóstico: Saber o quê, por quê, quem, quando, quanto, onde, como estão falando da sua marca, empresa ou assunto de interesse e qual será seu plano de ação seguinte. SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES image url https://4.bp.blogspot.com/-j3oAcnw_LdE/U5dXZboIbbI/AAAAAAAABAs/7wCMVfALJcU/s1600/O-que-quando-quem-porque.jpg Tesla's Case Monitoramento SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Fonte https://officechai.com/news/elon-musk-receives-product-suggestion-twitter-tesla-implements-6-days-later/#sthash.dSJuc1Nu.luaRj0wv.dpbs Região Engenharia de Atributos SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Fonte https://officechai.com/news/elon-musk-receives-product-suggestion-twitter-tesla-implements-6-days-later/#sthash.dSJuc1Nu.luaRj0wv.dpbs Palavras-chave Engenharia de Atributos SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Fonte https://officechai.com/news/elon-musk-receives-product-suggestion-twitter-tesla-implements-6-days-later/#sthash.dSJuc1Nu.luaRj0wv.dpbs Polaridade Engenharia de Atributos SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Fonte https://officechai.com/news/elon-musk-receives-product-suggestion-twitter-tesla-implements-6-days-later/#sthash.dSJuc1Nu.luaRj0wv.dpbs Entidade Engenharia de Atributos SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Fonte https://officechai.com/news/elon-musk-receives-product-suggestion-twitter-tesla-implements-6-days-later/#sthash.dSJuc1Nu.luaRj0wv.dpbs Entidade Pois é.... SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Fonte Fonte https://www.b9.com.br/63059/elon-musk-vira-policial-civil-em-outdoor-no-mato-grosso-do-sul/ https://twitter.com/elonmusk/status/695666033676328960 Referências Imagem “O quê, quando, onde...” https://4.bp.blogspot.com/- j3oAcnw_LdE/U5dXZboIbbI/AAAAAAAABAs/7wCMVfALJcU/s1600/O-que-quando- quem-porque.jpg Matéria "Elon Musk Receives Product Suggestion On Twitter, Tesla Implements It 6 Days Later" https://officechai.com/news/elon-musk-receives-product-suggestion-twitter-tesla- implements-6-days-later/ Matéria “Elon Musk vira policial civil em outdoor no Mato Grosso do Sul” https://www.b9.com.br/63059/elon-musk-vira-policial-civil-em-outdoor-no-mato-grosso- do-sul/ Elon Tweet https://twitter.com/elonmusk/status/695666033676328960 SLIDE PARA TÓPICOS https://4.bp.blogspot.com/-j3oAcnw_LdE/U5dXZboIbbI/AAAAAAAABAs/7wCMVfALJcU/s1600/O-que-quando-quem-porque.jpg https://4.bp.blogspot.com/-j3oAcnw_LdE/U5dXZboIbbI/AAAAAAAABAs/7wCMVfALJcU/s1600/O-que-quando-quem-porque.jpg https://4.bp.blogspot.com/-j3oAcnw_LdE/U5dXZboIbbI/AAAAAAAABAs/7wCMVfALJcU/s1600/O-que-quando-quem-porque.jpg https://officechai.com/news/elon-musk-receives-product-suggestion-twitter-tesla-implements-6-days-later/ https://officechai.com/news/elon-musk-receives-product-suggestion-twitter-tesla-implements-6-days-later/ https://www.b9.com.br/63059/elon-musk-vira-policial-civil-em-outdoor-no-mato-grosso-do-sul/ https://www.b9.com.br/63059/elon-musk-vira-policial-civil-em-outdoor-no-mato-grosso-do-sul/ https://twitter.com/elonmusk/status/695666033676328960 SLIDE DE ENCERRAMENTO Cristiano Carvalho SLIDE CAPARecuperação da Informação (RI) O que é RI? SLIDE PARA SEPARAR CAPÍTULO/ TÓPICO Recuperação da Informação Recuperação da informação é uma subárea da ciência da computação que trata da recuperação automática da informação SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES Recuperação da Informação ● Surgiu na década de 60 Principal objetivo era automatizar o acesso a informação em bibliotecas ● Principais focos até final dos anos 80: catálogos de bibliotecas, jornais, revistas, enciclopédias eletrônicas e bases de dados de empresas SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES (veja +) https://ciir-publications.cs.umass.edu/getpdf.php?id=1066 Recuperação da Informação Foco mais recente na Web: ● Abundância de informação não estruturada ● Publicação sem controle central e diversidade ● Dificuldade na busca de informação específica, normalmente contida em documentos SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES Recuperação da Informação Documentos: Fazem o papel de registros de dados Normalmente são compostos de textos em linguagem natural Podem conter qualquer tipo de mídia (texto, imagem, som) SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES Recuperação da Informação Podemos ter informação textual associada a outros tipos de dados Ex: Google Imagens SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES Recuperação de Dados Recuperação de Informação Tarefas precisas Tarefas imprecisas Sistemas não visam incorporar o significado do que está sendo buscado Sistemas tentam modelar o significado do que está sendo buscado Respostas devem ser corretas Objetivo é trazer as melhores respostas. Normalmente não há o conceito de resposta correta SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Recuperação de Dados Recuperação de Informação Uma busca por documentos que contém a palavra Belo Horizonte Uma busca por bons documentos que falam sobre a cidade de Belo Horizonte SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Recuperação da Informação Ranking: Ordem por relevância SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES R EL EV ÂN C IA SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Sistema de Busca Consulta s Resposta s SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Sistema de Filtragem Entreg a SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Recuperação da Informação “o algoritmo deles mostrou que os filmes do Kevin Spacey eram muito vistos, assim como os dirigidos por David Fincher, e que uma série britânica dos anos 90 sobre os bastidores sujos do Parlamento tinha uma interessante legião de seguidores…” SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVELCOLOCAR MUITO TEXTO NOS SLIDES Fonte http://www.nytimes.com/2013/02/25/business/media/for-house-of-cards-using-big-data-to-guarantee-its-popularity.html SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Fonte https://www.linkedin.com/pulse/seria-stranger-things-uma-obra-de-arte-do-algoritmo-da-gustavo-miller SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR ● Classificação de documentos SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR ● Detecção de duplicatas Recuperação da Informação ● Coleta de dados na web ● Geração de resumos/extração informação em texto ● Problemas de agrupamento (clustering) ● Detecção de fraudes, plágio, fake news ● ... SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES SLIDE DE ENCERRAMENTO Referências Robot with a bunch of books in the workshop of its creator Imagens Sistema de Busca Imagens Sistema de Filtragem https://www.shutterstock.com Print Screen de serviços https://news.google.com.br https://images.google.com https://www.amazon.com.br https://www.netflix.com SLIDE PARA TÓPICOS https://www.shutterstock.com Referências Matéria "Giving Viewers What They Want" https://www.nytimes.com/2013/02/25/business/media/for-house-of-cards-using-big-data- to-guarantee-its-popularity.html Texto "Seria Stranger Things uma obra de arte do algoritmo da Netflix?" https://www.linkedin.com/pulse/seria-stranger-things-uma-obra-de-arte-do-algoritmo-da- gustavo-miller/ SLIDE PARA TÓPICOS Ferramenta PráticaCristiano Carvalho SLIDE CAPA KNIME SLIDE PARA SEPARAR CAPÍTULO/ TÓPICO KNIME Criado em 2004, a Universidade de Constança, Alemanha Livre (open source) Baixa curva de aprendizado SLIDE PARA TÓPICOS KNIME Uma das poucas ferramentas que tem mecanismos de Text Mining eficientes Aplicações reais: não é meramente educativa. Se você não for o analista, pode ser o profissional que vai desenvolver o fluxo para o analista. SLIDE PARA TÓPICOS Líder entre plataformas de #DataScience e #MachineLearning !� SLIDE PARA IMAGENS OBS: FOTO CENTRALIZADA Link https://www.forestgt.com.au/latest-news/2018/3/2/knime-2018-gartner-magic-quadrant-market-leader Fluxos Ágeis Análise de dados ágil com workflows Componentes modulares facilitam a criação, modificação e manutenção dos fluxos de análise SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES Programadores? Requer o mínimo de programação (embora programadores possam construir módulos personalizados, incluindo outras linguagens como R, Python, Java) Opções de importação/exportação de dados e conexões com outros sistemas SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES Referências KNIME - 2018 Gartner Magic Quadrant Market Leader https://www.forestgt.com.au/latest-news/2018/3/2/knime-2018- gartner-magic-quadrant-market-leader SLIDE PARA TÓPICOS https://www.forestgt.com.au/latest-news/2018/3/2/knime-2018-gartner-magic-quadrant-market-leader https://www.forestgt.com.au/latest-news/2018/3/2/knime-2018-gartner-magic-quadrant-market-leader SLIDE DE ENCERRAMENTO Exemplos de ProjetosCristiano Carvalho SLIDE CAPA O Boticário SLIDE PARA SEPARAR CAPÍTULO/ TÓPICO No próximo slide: Do que se trata o conjunto de documentos recuperados da Web? SLIDE PARA PERGUNTAS SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Do que se trata? O que mais chamou a atenção e qual o clima da discussão? SLIDE PARA PERGUNTAS SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR O que mais chamou a atenção? Qual o clima da discussão? SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR O que mais chamou a atenção? Qual o clima da discussão? SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Vídeo O que mais chamou a atenção? Qual o clima da discussão? https://www.youtube.com/watch?v=p4b8BMnolDI&feature=youtu.be Alguma entidade detectada? SLIDE PARA PERGUNTAS SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Figuras importantes na discussão SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Busca <> Mineração SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Itaipava? Faz sentido? Fonte http://economia.ig.com.br/2015-06-18/conar-recomenda-suspensao-de-pecas-publicitarias-da-itaipava.html Algum movimento ou amplificador? SLIDE PARA PERGUNTAS SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Algum movimento/amplificador? E o sentimento? SLIDE PARA PERGUNTAS SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Sentimento SLIDE PARA QUADROS OBS: PARA ACRESENTAR OU EXCLUIR COLUNAS 1. SELECIONE A COLUNA 2. CLICK COM O BOTÃO DIREITO 3. VÁ EM INSERIR Sentimento Quem seriam os influentes? SLIDE PARA PERGUNTAS Influentes SLIDE PARA TÓPICOS Outros Trabalhos SLIDE PARA SEPARAR CAPÍTULO/ TÓPICO Opcional: Documento Extra SLIDE PARA TEXTO CORRIDO OBS: NÃO É ACONSELHÁVEL COLOCAR MUITO TEXTO NOS SLIDES Link https://paper.dropbox.com/doc/EAD-RI-PUCMINAS--AM4fYxeP5H7MVtGG3NhS9pslAg-OORhMJJkMCkUWrNYcoLEw Referências Documento Compartilhado (Opcional) :) https://paper.dropbox.com/doc/EAD-RI-PUCMINAS-- AM4fYxeP5H7MVtGG3NhS9pslAQ- OORhMJJkMCkUWrNYcoLEw SLIDE PARA TÓPICOS https://paper.dropbox.com/doc/EAD-RI-PUCMINAS--AM4fYxeP5H7MVtGG3NhS9pslAQ-OORhMJJkMCkUWrNYcoLEw https://paper.dropbox.com/doc/EAD-RI-PUCMINAS--AM4fYxeP5H7MVtGG3NhS9pslAQ-OORhMJJkMCkUWrNYcoLEw https://paper.dropbox.com/doc/EAD-RI-PUCMINAS--AM4fYxeP5H7MVtGG3NhS9pslAQ-OORhMJJkMCkUWrNYcoLEw SLIDE DE ENCERRAMENTO Modelos�de�RI Cristiano�Carvalho SLIDE�CAPA Transformando� documentos�em� vetores SLIDE�PARA� SEPARAR� CAPÍTULO/� TÓPICO Escopo SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Modelos�em�Recuperação�da� Informação Núcleo�de�qualquer�sistema�de� recuperação�de�informação Utilizados�para�representar� características�semânticas�dos� elementos�envolvidos�nos�sistemas SLIDE�PARA� TÓPICOS Modelos�em�Recuperação�da� Informação Modelos�clássicos:�booleano,�vetorial�e� probabilístico Modelos�bastante�utilizados:�vetorial,� language�models�e�BM25�(que�são� probabilísticos) Diversos�outros�modelos�na�literatura SLIDE�PARA� TÓPICOS Modelo�Vetorial Proposto�em�1968�e�continua�sendo� muito�empregado�hoje�em�dia Proposto�originalmente�para�resolver� problemas�de�busca Sucesso�reside�na�eficiência�e�nos�bons� resultados�obtidos SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Modelo�Vetorial Todos�os�componentes�do�sistema�são� vistos�como�conjuntos�de�palavras Elementos�a�serem�modelados�são� representados�como�vetores�dentro�de� um�espaço�vetorial. Dimensão�do�espaço�é�dada�pelo� número�de�palavras�distintas SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Modelo�Vetorial Número�de�palavras�distintas�da�coleção� de�documentos�determina�dimensão�do� espaço�onde�os�documentos�e�consultas� serão�representadosComo�determinar�as�coordenadas�dos� elementos�? SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Modelo�VetorialO�IDF�tenta�expressar�a�“importância”� de�uma�palavra�dentro�da�coleção N:�número�total�de�documentos�de�uma� coleção nt�:�número�de�documentos�onde�a� palavra�t�ocorreu Quanto�mais�rara�a�palavra,�maior�seu� idf�! SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Peso�de�um�termo�em�um�documento Medidas�de�Tf�e�Idf� SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�um�documento Medidas�de�Tf�e�Idf� SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�um�documento TF-IDF�dos�Termos�do� Documento SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�um�documento TF-IDF�dos�Termos�do� Documento SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�um�documento TF-IDF�dos�Termos�do� Documento SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�um�documento TF-IDF�dos�Termos�do� Documento SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�um�documento TF-IDF�dos�Termos�da� Consulta SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�um�documento TF-IDF�dos�Termos�da� Consulta SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�um�documento TF-IDF�dos�Termos�da� Consulta SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�um�documento TF-IDF�dos�Termos�da� Consulta SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�uma�consulta TF-IDF�dos�Termos�da� Consulta SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Devemos�representar�a�consulta� com�todos�termos�da�coleção Peso�de�um�termo�em�um�documento TF-IDF�dos�Termos�da� Consulta SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�um�documento Coordenadas�da�Consulta SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�um�documento Coordenadas�dos� Documentos SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Peso�de�um�termo�em�um�documento Qual�Doc�melhor�representa� a�consulta? SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Como�descobrir�a� melhor�ordem�de� documentos? SLIDE�PARA� PERGUNTAS SLIDE�DE� ENCERRAMENTO Referências Imagens�sobre�Escopo�da�Disciplina Autor:�http://cristianocarvalho.cc SLIDE�PARA� TÓPICOS http://cristianocarvalho.cc Modelos�de�RI Cristiano�Carvalho SLIDE�CAPA Cálculo�de� similaridade SLIDE�PARA� SEPARAR� CAPÍTULO/� TÓPICO Similaridade�de�Consultas As�consultas�são�utilizadas�para� determinar�importância�das�páginas Um�modelo�de�RI�é�utilizado�para� computar�a�similaridade�entre�uma� consulta�Q�e�um�determinado� documento�P SLIDE�PARA� TÓPICOS Representação�de�documentos�em�vetores Qual�Doc�melhor�representa� a�consulta? SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Modelo�Vetorial Correlação�entre�dois�vetores�é�utilizada� para�medir�a�proximidade�entre�os� elementos�reais�modelados SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Cálculo�de�similaridade�entre�vetores Qual�Doc�melhor�representa� a�consulta? SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Ordenação�Final Qual�Doc�melhor�representa� a�consulta? SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Aplicações�do�modelo�vetorial O�modelo�vetorial�pode�ser�aplicado�em� qualquer�tipo�de�problema�de�RI Aplicação�direta�do�modelo�em�sistemas� de�busca SLIDE�PARA� TÓPICOS Filtragem�com�Modelo� Vetorial Bases�de�dados�contêm�perfis�no�lugar� de�documentos Perfis�são�conjuntos�de�termos�que� descrevem�os�interesses�dos�usuários Documentos�que�chegam�para�o� sistema�são�tratados�como�consultas SLIDE�PARA� TÓPICOS Ou�ainda... As�medidas�que�dão�pesos�para�termos� distintos,�podem�ser�usadas�como� entrada�para�algoritmos�outros�métodos� de�mineração�de�dados A�similaridade�de�documentos�pode�ser� utilizada�para�agrupar�documentos� similares�(doc-doc)�ao�invés�de� consultas�e�documentos�(termos�-�doc) SLIDE�PARA� TÓPICOS SLIDE�DE� ENCERRAMENTO Referências Robot�with�a�bunch�of�books�in�the�workshop�of�its� creator Imagens�Sistema�de�Busca Imagens�Sistema�de�Filtragem https://www.shutterstock.com Print�Screen�de�serviços https://news.google.com.br https://images.google.com https://www.amazon.com.br https://www.netflix.com SLIDE�PARA� TÓPICOS https://www.shutterstock.com Modelos�em�RI Cristiano�Carvalho SLIDE�CAPA Pré- processamento� de�documentos SLIDE�PARA� SEPARAR� CAPÍTULO/� TÓPICO Pré-processamento�de� documentos ●Importante�procedimento�empregado� na�construção�de�sistemas�de�RI ●Operações�(ou�transformações)� textuais: ○ Análise�léxica�do�texto ○ Eliminação�de�stopwords ○ Stemming�das�palavras ○ Seleção�de�termos�ou�palavras- chave SLIDE�PARA� TÓPICOS Análise�léxica ●Processo�de�conversão�de�uma� sequência�de�caracteres�em�uma� sequência�de�palavras�(Bag-of-words) SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Análise�léxica ●Somente�quebrar�espaços? ○ Dígitos ○ Hífen ○ Marcas�de�pontuação ○ Caixa�das�palavras�(maiúsculas�e� minúsculas) SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Dígitos ●Números�sozinhos�são�vagos ●1987�pode�representar�um�ano�ou�um� número�de�pessoas�em�um�registro ●Usualmente�números�não�são� considerados�como�termos�de�índice SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Hífen ●Difícil�decisão�para�o�analisador�léxico ●Existem�palavras�que�incluem�hífens� como�parte�integral ●Guarda-chuva,�B-52 Adote�uma�regra�geral,�mas�tenha� consciência�das�exceções. SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Marcas�de�pontuação ●Removidas�por�completo�do�texto ●Baixo�risco�de�não�interpretar� palavras�sem�pontuação ○“300�A.C.”�será�interpretado�de� maneira�similar�ao�remover�a� pontuação�“300�AC” SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Maiúsculas�e�Minúsculas ●Letras�em�maiúsculo�ou�minúsculo� normalmente�não�tem�impacto� significante�na�identificação�de� termos�de�índice ●Normalmente�todo�o�texto�é� convertido�para�maiúsculas�ou� minúsculas SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Maiúsculas�e�Minúsculas ●Mas�fique�atento,�em�alguns�casos�a� semântica�pode�ficar�comprometida�� ○Banco�vs.�banco,�Serra�vs.�serra SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Remoção�de�stopwords ●Palavras�muito�frequentes�entre�os� documentos�de�uma�coleção�não�são� boas�como�discriminantes ●Frequentemente�chamadas�de� stopwords�e�normalmente�removidas� dos�termos�de�índice SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Remoção�de�stopwords ●Ex:�artigos,�preposições,�conjunções� o,�a,�portanto,�logo,�pois,�como… ●Eliminar�stopwords�reduz� significamente�o�tamanho�do�índice SLIDE�PARA� TÓPICOS Remoção�de�stopwords ●Fique�atento!�Apesar�dos�benefícios,�a� eliminação�de�stopwords�pode�reduzir� a�revocação ○Uma�busca�por�“ser�ou�não�ser” SLIDE�PARA� TÓPICOS Stemming ●Pode�ser�que�um�documento�possua� apenas�uma�variação�da�palavra� procurada.�Ex:�Plurais,�gerúndios�e� sufixos ●Substituir�as�palavras�pelos�seus� respectivos�stems�(radicais)�pode� superar�parcialmente�esse�problema SLIDE�PARA� TÓPICOS Stemming ●Stem�é�a�porção�de�uma�palavra�que� resta�após�a�remoção�de�afixos� (prefixos�e�sufixos) casa,�casinha,�casinhas,�casas�=�casa ●Também�reduz�o�tamanho�da� estrutura�de�indexação�(número�de� palavras�distintas) SLIDE�PARA� TÓPICOS Stemming ●Existem�controvérsias�na�literatura� sobre�os�benefícios�do�stemming�na� performance�da�recuperação ●Em�determinadas�línguas�o�stemming� pode�ser�difícil�de�se�realizar,�exigindo� buscas�em�tabelas�externas�e� algoritmos�específicos SLIDE�PARA� TÓPICOS SLIDE�DE� ENCERRAMENTO Mineração�de�TextoCristiano�Carvalho SLIDE�CAPA Processamento� de�linguagem� natural SLIDE�PARA� SEPARAR� CAPÍTULO/� TÓPICO Escopo SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA SLIDE�PARA� TÓPICOS●Minimizar�o�esforço�humano�ao� consumir�grandes�volumes�de�dados� ●Fornecer�conhecimento�para�tomadas� de�decisão�otimizadas Recuperação�de�Texto�e� Mineração SLIDE�PARA� TÓPICOS ●Recuperação�de�texto�é�um� componente�essencial�de�qualquer� sistema�de�mineração�de�textos ●Recuperação�de�texto�pode�ser�um� pré-processador�para�mineração�de� textos Recuperação�de�Texto�e� Mineração Pipeline SLIDE�PARA� IMAGENS OBS:�FOTO�CENTRALIZADA Recupera ção�de� Texto Mineraçã o�de� Texto Big�Text� Data Conjunto�Relevante� (Menor) Conhecime nto Aplicaç ões� Diversa s “O�cachorro�está�perseguindo�o�garoto�no� playground“ Segmentação�de�palavras SLIDE�PARA� TÓPICOS STR�1 STRING� 2 STRING� 4 STRING� 6 STRING� 8 STR�3 S5 S7 ●Representa�mesmo�texto�porém�em� forma�de�sequência�de�palavras. ●Palavras�são�as�unidades�básicas�da� comunicação�humana ●Permite�contagem�de�palavras�mais� frequentes “O�cachorro�está�perseguindo�o�garoto�no� playground“ Segmentação�de�palavras SLIDE�PARA� TÓPICOS STR�1 STRING� 2 STRING� 4 STRING� 6 STRING� 8 STR�3 S5 S7 ●Permite�formar�tópicos�a�partir�da� conexão�entre�as�palavras ●Se�algumas�palavras�são�positivas�e� outras�são�negativas�podemos� realizar�análise�semântica� (sentimento) Segmentação�de�palavras SLIDE�PARA� TÓPICOS STRING�?? STRING�?? ?? ??STR�?? ? ? ●Generaliza�menos�que�a� representação�por�caracteres� ○ Em�algumas�linguagens�torna-se� difícil�identificar�palavras� ●Perda�de�informação “�����������������“ “O�cachorro�está�perseguindo�o�garoto�no� playground“ POS�-�Part�of�Speech�Tags SLIDE�PARA� TÓPICOS Art Substantiv o Verbo�principal� gerúndio Substanti vo Substantiv o Aux Ar t AD CP ●Método�complementar�à� representação�em�palavras ●Possível�contar�adjetivos,�sujeitos,� verbos,�sujeitos�associados�a�quais� verbos ●Enriquece�a�representação�do�texto “O�cachorro�está�perseguindo�o�garoto�no� playground“ Detecção�de�Entidades SLIDE�PARA� TÓPICOS Animal Pessoa Local ●Adição�de�entidades�e� relacionamentos ●Análise�semântica�das�palavras ●Relações ○ o�cachorro�estava�perseguindo�o� garoto ○ o�garoto�está�no�playground “O�cachorro�está�perseguindo�o�garoto�no� playground“ Detecção�de�Entidades SLIDE�PARA� TÓPICOS Animal Pessoa Local ●Sujeito�mais�frequente�em�uma� coleção�de�artigos�e�notícias ●Coocorrência:�Pessoas�geralmente� citadas�em�conjunto ●Menos�robusto�que�identificação�de� palavras�ou�até�análise�sintática Trade-off SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES “O�cachorro�está�perseguindo�o�garoto�no� playground“ “O�cachorro�está�perseguindo�o�garoto�no� playground“ STR�1 STRING� 2 STRING� 4 STRING� 6 STRING� 8 STR�3 S5 S7 Animal Pessoa Local Art Substantiv o Verbo�principal� gerúndio Substantiv o SubstantivoAux Ar ADCP Mais�próximo� da� representação� humana�de� conhecimento Mais�esforço� humano�e� mais� propenso�a� erros Humanos�e�Algoritmos Computadores�não�são�capazes�de�obter� uma�representação�de�texto� completamente�correta É�preciso�combinar�a�colaboração� humana�com�sistemas�computacionais SLIDE�PARA� TÓPICOS Humanos�e�Algoritmos Padrões�extraídos�do�texto�podem�ser� interpretados�por�humanos�e�esses� podem�fornecer�informações�e�dados� anotados�que�tornam�os�algoritmos�mais� efetivos�(Algoritmos�de�classificação) SLIDE�PARA� TÓPICOS Associações�entre�palavras Associações�entre�termos�para�sugerir� variações�de�consultas Construção�automática�de�mapas�de� tópicos:�palavras�são�vértices�e� conexões�são�arestas�(Nossa�aula�de� grafos!�:) Comparar�e�sumarizar�opiniões� SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES Quais�palavras�mais� fortemente�associadas�a� “bateria”�em�reviews� positivos�e�negativos�a� respeito�do�iPhone6? SLIDE�PARA� PERGUNTAS Input�para�métodos�de� Machine�Learning Agrupamentos�(clustering) Categorização�ou�Classificação Mineração�de�regras�de�associação Trending�Topics SLIDE�PARA�TEXTO� CORRIDO OBS:�NÃO�É�ACONSELHÁVEL�COLOCAR MUITO�TEXTO�NOS�SLIDES SLIDE�DE� ENCERRAMENTO Coleta de Dados Cristiano Carvalho Tipos de Coleta Escopo Coleta de Dados São necessárias ferramentas e estratégias para ter acesso aos dados da Web Existem diferentes formas de abordar uma tarefa de coleta Existem também uma série de desafios e problemas Coleta de Dados Atualmente muitas formas vêm sendo desenvolvidas para facilitar a disseminação de conteúdo (APIs, RSS, bases completas para download ...) Formatos de conteúdo na Web HTML HyperText Markup Language ou Linguagem de Marcação de Hipertexto. Formatos de conteúdo na Web HTML <title> Atlético-mg | Globoesporte.com </title> <li class="menu-item " id="menu-2-brasileirao-serie-a"> <a href="http://globoesporte.globo.com/futebol/brasileirao-serie- a/” class="menu-item-link"> <span class="menu-item-title"> brasileirão série a </span> </a> </li> http://globoesporte.globo.com/futebol/brasileirao-serie-a/ Formatos de conteúdo na Web XML HTML e XML são primos. Ambos identificam elementos em uma página e utilizam sintaxes similares. A grande diferença entre HTML e XML é que o HTML descreve a aparência e a ações em uma página na rede, já o XML descreve o conteúdo de um documento. Formatos de conteúdo na Web XML <item> <title> Intestino gigante alerta população quanto ao câncer em Juiz de Fora </title> <link> http://g1.globo.com/mg/zona-da-mata/... </link> <category>Zona da Mata</category> <pubDate>Fri, 07 Aug 2015 19:19:21 -0300</pubDate> </item> Formatos de conteúdo na Web JSON O formato JSON é eficiente e simples. Sua estrutura é de fácil entendimento e utiliza convenções comuns em muitas linguagens de programação. Muitos desenvolvedores utilizam essa alternativa, porém o XML ainda é um bom candidato, especialmente quando se quer validações mais robustas, usando os chamados XML- schemas Formatos de conteúdo na Web JSON { "name":"John", "age":31, "city":"New York" } Web Crawling vs Web Scraping Web Scraping ● Extração de conteúdo específico Geralmente focam em sites específicos em busca de dados também específicos Ex: comparação de preços, notícias sobre moda… Web Crawling vs Web Scraping Web Crawling ● Cobertura em largura Essencialmente o que Google, Yahoo, Bing, etc, fazem, procuram por qualquer informação e baixam o conteúdo completo das páginas APIs e Feeds RSS API - Interface para Programação de Aplicações ● Fornece acesso direto a dados de uma aplicação ● Formatos bem definidos ● Credenciais de acesso Comum em mídias sociais como Twitter, Instagram, Facebook... APIs e Feeds RSS Feed RSS ● Disponibiliza conteúdo de notícias e textos completos ● Atualização contínua do conteúdo ● Formato de entrega pré-estabelecido Comum de sites de notícias e blogs Datasets para Download ● Diferentes organizações oferecem datasets estruturados e prontos para Download Portais do governo, ONGs, sites de competições (i.e. kaggle.com) Referências Imagens sobre Escopo da Disciplina Autor: http://cristianocarvalho.cc Print Screen https://globoesporte.globo.com/futebol/ http://cristianocarvalho.cc Coleta de Dados Cristiano Carvalho Coleta de dados via APIs API - Application Programming Interface É um conjunto definido de mensagens de requisição e resposta HTTP, geralmente expressado nos formatos XML ou JSON Um exemplo popular é a utilização para leitura e publicação de mensagens no Twitter No nosso caso queremos coletar dados API - Application Programming Interface Não é necessária a implementação de scripts externos de coleta É preciso criar e registrar uma aplicação para obter credenciais de acesso Fácil extração dos dados disponibilizados em formatos semi-estruturados Cadastro de desenvolvedorde aplicações 1. Caso não tenha conta, criar um usuario em https://twitter.com/ 1. Acessar área de desenvolvedor https://developer.twitter.com/en/apply/user 1. Preencher o formulário solicitando acesso como desenvolvedor Exemplos de Alunos e dados preenchidos https://twitter.com/ https://developer.twitter.com/en/apply/user https://paper.dropbox.com/doc/EAD-RI-PUCMINAS--ANYIRzIQyvcZQMNeJ9A8a0H~Ag-OORhMJJkMCkUWrNYcoLEw:uid=201995533928425712154792&h2=(NOVO)-Cadastro-de-Developer-n Cadastro de desenvolvedor de aplicações ● Após o preenchimento pode ser que o Twitter te mande um e-mail para saber mais informações ○ Responda (em inglês) que suas intenções são educativas e que você vai realizar tarefas como text processing, count terms frequency, text similarities matching… ○ E que além disso não pretende postar na conta de outros usuários e nem divulgar esses resultados Após aprovação do Twitter https://developer.twitter.com/en/account/get-started https://developer.twitter.com/en/account/get-started Uma vez aprovados, criamos um App https://developer.twitter.com/en/apps https://developer.twitter.com/en/apps Uma vez aprovados, criamos um App https://developer.twitter.com/en/apps ● Preenchemos as informações necessárias https://developer.twitter.com/en/apps Uma vez aprovados, criamos um App https://developer.twitter.com/en/apps ● Se não tiver uma url própria para usar, pode utilizar a minha: http://cristianocarvalho.cc/ https://developer.twitter.com/en/apps Com o App criado, temos as credenciais https://developer.twitter.com/en/apps https://developer.twitter.com/en/apps Com o App criado, temos as credenciais https://developer.twitter.com/en/apps https://developer.twitter.com/en/apps KNIME: Coleta via API do Twitter Coleta no KNIME: Conexão e Autorização via node Twitter API Connector Consulta Com o node Twitter Search é possível realizar buscas e os dados já vêm formatados em uma tabela Explore a documentação do Serviço https://developer.twitter.com/en/docs/tweets/search/guides/standard-operators https://developer.twitter.com/en/docs/tweets/search/guides/standard-operators Referências Site do Twitter https://twitter.com/ Área de desenvolvedor https://developer.twitter.com/en/apply/user Área de aplicativos https://developer.twitter.com/en/apps https://twitter.com/ https://developer.twitter.com/en/apply/user https://developer.twitter.com/en/apps Referências Documentação de busca no Twitter https://developer.twitter.com/en/docs/tweets/search/g uides/standard-operators Documentação extra Exemplos de Alunos e dados preenchidos https://developer.twitter.com/en/docs/tweets/search/guides/standard-operators https://paper.dropbox.com/doc/EAD-RI-PUCMINAS--ANYIRzIQyvcZQMNeJ9A8a0H~Ag-OORhMJJkMCkUWrNYcoLEw:uid=201995533928425712154792&h2=(NOVO)-Cadastro-de-Developer-n Coleta de Dados Cristiano Carvalho Coleta de dados via APIs API - Application Programming Interface É um conjunto definido de mensagens de requisição e resposta HTTP, geralmente expressado nos formatos XML ou JSON Um exemplo popular é a utilização para leitura e publicação de mensagens no Twitter No nosso caso queremos coletar dados API - Application Programming Interface Não é necessária a implementação de scripts externos de coleta É preciso criar e registrar uma aplicação para obter credenciais de acesso Fácil extração dos dados disponibilizados em formatos semi-estruturados Cadastro de desenvolvedor de aplicações 1. Caso não tenha conta, criar um usuario em https://twitter.com/ 1. Acessar área de desenvolvedor https://developer.twitter.com/en/apply/user 1. Preencher o formulário solicitando acesso como desenvolvedor Exemplos de Alunos e dados preenchidos https://twitter.com/ https://developer.twitter.com/en/apply/user https://paper.dropbox.com/doc/EAD-RI-PUCMINAS--ANYIRzIQyvcZQMNeJ9A8a0H~Ag-OORhMJJkMCkUWrNYcoLEw:uid=201995533928425712154792&h2=(NOVO)-Cadastro-de-Developer-n Cadastro de desenvolvedor de aplicações ● Após o preenchimento pode ser que o Twitter te mande um e-mail para saber mais informações ○ Responda (em inglês) que suas intenções são educativas e que você vai realizar tarefas como text processing, count terms frequency, text similarities matching… ○ E que além disso não pretende postar na conta de outros usuários e nem divulgar esses resultados Após aprovação do Twitter https://developer.twitter.com/en/account/get-started https://developer.twitter.com/en/account/get-started Uma vez aprovados, criamos um App https://developer.twitter.com/en/apps https://developer.twitter.com/en/apps Uma vez aprovados, criamos um App https://developer.twitter.com/en/apps ● Preenchemos as informações necessárias https://developer.twitter.com/en/apps Uma vez aprovados, criamos um App https://developer.twitter.com/en/apps ● Se não tiver uma url própria para usar, pode utilizar a minha: http://cristianocarvalho.cc/ https://developer.twitter.com/en/apps Com o App criado, temos as credenciais https://developer.twitter.com/en/apps https://developer.twitter.com/en/apps Com o App criado, temos as credenciais https://developer.twitter.com/en/apps https://developer.twitter.com/en/apps KNIME: Coleta via API do Twitter Coleta no KNIME: Conexão e Autorização via node Twitter API Connector Consulta Com o node Twitter Search é possível realizar buscas e os dados já vêm formatados em uma tabela Explore a documentação do Serviço https://developer.twitter.com/en/docs/tweets/search/guides/standard-operators https://developer.twitter.com/en/docs/tweets/search/guides/standard-operators Referências Site do Twitter https://twitter.com/ Área de desenvolvedor https://developer.twitter.com/en/apply/user Área de aplicativos https://developer.twitter.com/en/apps https://twitter.com/ https://developer.twitter.com/en/apply/user https://developer.twitter.com/en/apps Referências Documentação de busca no Twitter https://developer.twitter.com/en/docs/tweets/search/g uides/standard-operators Documentação extra Exemplos de Alunos e dados preenchidos https://developer.twitter.com/en/docs/tweets/search/guides/standard-operators https://paper.dropbox.com/doc/EAD-RI-PUCMINAS--ANYIRzIQyvcZQMNeJ9A8a0H~Ag-OORhMJJkMCkUWrNYcoLEw:uid=201995533928425712154792&h2=(NOVO)-Cadastro-de-Developer-n Coleta de Dados Cristiano Carvalho Coleta de Feeds RSS Feeds RSS Usado principalmente em sites de notícias e blogs para compartilhamento de notícias com textos completos e até mesmo arquivos multimídia. Um tipo de programa conhecido como "feed reader" ou agregador pode ler diversas páginas habilitadas para RSS. Feeds RSS Exemplo: agregar diversos itens relativos a carros de diversos feeds sobre automóveis Existem tanto sites que funcionam como feed readers como extensões para navegadores web. Coleta de Feeds RSS A coleta de conteúdo a partir de feeds rss é feita através de requisições HTTP Similar as APIs, facilita o processo de extração dos dados, por esses já virem em um padrão estabelecido (XML) Não exige autenticação para obter os dados e tem periodicidade controlada pelo próprio site Feeds RSS em XML XML <item> <title> Intestino gigante alerta população quanto ao câncer em Juiz de Fora </title> <link> http://g1.globo.com/mg/zona-da-mata/... </link> <category>Zona da Mata</category> <pubDate>Fri, 07 Aug 2015 19:19:21 -0300</pubDate> </item> KNIME: Coleta via link de RSS Coleta no KNIME: Feed RSS Via node HttpRetriever Leitura de Feeds RSS 65 ❖ O FeedParser extrai o conteúdo em XML e transforma em tabela Leitura de Feeds RSS 66 ❖ Transformando os dados em documentos Assim como na prática de similaridades, precisamos de objetos do tipo “Document”. Utilizamos o node “Strings to document” Qual coluna da tabela de dados representa o texto de um documento? qual coluna seria o autor? e o título? …. Coleta de Dados Cristiano Carvalho Web CrawlingColetores Navegadores automáticos entre páginas web que visam armazenar uma cópia local das páginas encontradas Devem obedecer algumas restrições ao visitar sites Coletores O Protocolo de Exclusão de Robôs (Robot Exclusion Protocol) especifica algumas regras de acesso Principal regra é deixar um intervalo de tempo entre acessos a cada servidor O Protocolo de Exclusão de Robôs Robots.txt Padrão definido em 30 de junho de 1994 Define as permissões do coletor em um determinado site As diretrizes são descritas em um arquivo chamado “robots.txt”, localizado no servidor web coletado Robots.txt http://NOME-SITE/robots.txt O asterisco (*) indica “todo e qualquer” Esquema gráfico do funcionamento de um coletor Web Crawling Web Start Links iniciais Links a visitar Links visitadosPáginas Próximo Link Coletar Página Extrair links Web Scraping Técnicas de Extração O primeiro passo é entender a estrutura do documento HTML em que as informações estão. <title> Atlético-mg | Globoesporte.com </title> <li class="menu-item " id="menu-2-brasileirao-serie-a"> <a href="http://globoesporte.globo.com/futebol/brasileirao-serie- a/” class="menu-item-link"> <span class="menu-item-title"> brasileirão série a </span> </a> </li> http://globoesporte.globo.com/futebol/brasileirao-serie-a/ Técnicas de Extração - XPath O XPath é uma sintaxe para navegar entre atributos e elementos em um documento html/xml. <table> <tr> <td>Cell A</td> <td>Cell B</td> </tr> </table> Técnicas de Extração - XPath O XPath é uma sintaxe para navegar entre atributos e elementos em um documento html/xml. Exemplos de notação XPath: //td[1] : retorna o primeiro td //td[position()=1] : retorna o primeiro td //table[@class=’tabelaX’] : retorna a table com a classe ‘tabelaX’ //table/td[1] : retorna o primeiro td de uma <table> https://msdn.microsoft.com/pt-br/library/ms256122(v=vs.120).aspx?f=255&MSPPError=-2147217396 Referências Exemplo Robots.txt https://www.google.com.br/robots.txt Exemplo HTML https://globoesporte.globo.com/futebol/ Notação XPath https://msdn.microsoft.com/pt- br/library/ms256122%28v=vs.120%29.aspx?f=255&MSPPError=- 2147217396 https://www.google.com.br/robots.txt https://globoesporte.globo.com/futebol/ Coleta de Dados Cristiano Carvalho KNIME:Coleta de Páginas HTML (Versão alternativa) Coleta da Web ❖ Seed - Lista de URLs 83 URLs podem ser lidas a partir de uma tabela. Tabelas podem inclusive ser criadas a partir do node Table Creator Coleta da Web ❖ Fetch HTTP - Download de Páginas 84 O node HttpRetriever cuida automaticamente da requisição do conteúdo da página ao servidor. Extração de Dados ❖ Parsing HTML -> XML 85 O HtmlParser extrai o conteúdo HTML e transforma em tabela Extraindo conteúdo de interesse com XPath ❖ Extraindo artigos Primeiramente procuramos no html da página (Ctrl + U) onde está o conteúdo de interesse (Ctrl + F) e quais são as tags e classes associadas ao mesmo Ou “botão direito-> Inspecionar” 86 Extraindo conteúdo de interesse com XPath ❖ Extraindo artigos - Onde está a notícia “Pluto´s….” ? 87 Extraindo conteúdo de interesse com XPath ❖ Nesta página os artigos estão em uma “div” e classe “story” 88 Extraindo conteúdo de interesse com XPath ❖ Extraindo conteúdo de interesse com XPath. Com o node XPath utilizamos a regra: ➢ //dns:div[contains(@class,”story”)] para extrair artigos na página (Stories) 89 “//dns:” é um prefixo padrão Extraindo conteúdo de interesse com XPath Artigos extraidos com as regras XPath. 90 Extraindo conteúdo de interesse com XPath ❖ Extraindo Headlines E se quisermos os headlines das noticias? Nesta página os headlines dos artigos estão dentro de tags “h2” 91 Extraindo conteúdo de interesse com XPath ❖ Extraindo Headlines - regra: //dns:h2 Ou seja, todos h2 dentro da extração anterior (Story) possuem os headlines das notícias 92 Extraindo conteúdo de interesse com XPath ❖ Extraindo Headlines regra: //dns:h2 93 Lembre-se de especificar a coluna certa ❖ Extraindo Headlines regra: //dns:h2 94 Não esqueça de fornecer a coluna que você criou na extração anterior, para que esta seja extraída em sequência. Extraindo conteúdo de interesse com XPath ❖ Extraindo Headlines - regra: //dns:h2 Portanto conseguimos extrair os headlines dos artigos (Stories) 95 = Extraindo conteúdo de interesse com XPath ❖ Texto dos Headlines (Tarefa) 96 ➢ Uma vez que temos o conteúdo dos headlines (entre tags h2) extraídos, como podemos extrair o texto do título? Dica: Após detectar como extrair o local do título você poderá utilizar a opção para recuperar apenas o texto da resposta, sem adição de tags html. Extraindo conteúdo de interesse com XPath ❖ Link dos headlines ➢ O último passo nos trouxe um texto sem outros dados. ➢ Para extrairmos os links precisamos buscar dados um passo antes, ou seja criar um fluxo paralelo à extração do texto e não em sequencial. 97 Extraindo conteúdo de interesse com XPath ❖ Link dos headlines 98 Extraindo conteúdo de interesse com XPath ❖ Autores (Tarefa) 99 Extrair o nome dos autores nos artigos Extraindo conteúdo de interesse com XPath ❖ Substituindo strings - removendo “by” 100 O node String Replacer substitui valores de strings. Nesse exemplo estamos substituindo as ocorrências de “By” por “” (string vazia) Coleta de Dados Cristiano Carvalho Scraper: Geração de regras XPATH Anexo: Extensão Scraper (Chrome) Extensão Scraper (Chrome) ❖ Scraper ➢ Ferramenta que simplifica a extração de regras (Xpath) para Web Scraping ❖ Instalação no google chrome https://chrome.google.com/webstore/detail/scraper/mbigbapnjcgaffo hmbkdlecaccepngjd 105 https://chrome.google.com/webstore/detail/scraper/mbigbapnjcgaffohmbkdlecaccepngjd Extensão Scraper (Chrome) ❖ Exemplo no site do NYTimes 106 Extensão Scraper (Chrome) ❖ Exemplo no site do NYTimes Encontre um elemento na página (ex: Head da notícia) e clique com o botão direito. Depois clique em: 107 Extensão Scraper (Chrome) ❖ Exemplo no site do NYTimes Em selector Xpath você encontra a regra para itens similares ao selecionado anteriormente. Assim basta copiar a regra e colar no node Xpath do knime! Além disso é possível visualizar os dados que essa regra está gerando. 108 Extensão Scraper (Chrome) ❖ Modificando uma regra na ferramenta A regra identificada para o autor retornou apenas um resultado. Isso porque foi gerado “[1]” para as tags, ou seja, apenas o primeiro registro. (Leia mais sobre notação XPath) 109 https://msdn.microsoft.com/pt-br/library/ms256122(v=vs.120).aspx?f=255&MSPPError=-2147217396 Extensão Scraper (Chrome) ❖ Modificando uma regra na ferramenta 110 Retirando o último “[1]” antes de article Extensão Scraper (Chrome) ❖ Modificando uma regra na ferramenta 111 Especificando a regra em p para restringir a classe “byline” que possui apenas o nome do autor. Mineração de Redes Cristiano Carvalho Grafos - Redes Complexas Network Mining O que são grafos? Um grafo é definido formalmente como G = (V, E), onde V é o conjunto de vértices (entidades) conectados por E arestas (relacionamento) A B D E FC O que são grafos? Rede Direcional A B D E F C O que são grafos? Não Direcional A B D E F C O que são grafos? Pesos nas conexões A B D E F C 5 1 3 8 9 2 O que são grafos? Exemplo de representação - Mídias sociais A B (RTs, shares, comments, likes ...) Users Por que estudar grafos/redes? Importante ferramenta matemática com aplicação em diversas áreas do conhecimento Existem centenas de problemas computacionais que usam grafos com sucesso. Por que estudar grafos/redes? Identificar a habilidade de comunicação entre duas entidades em uma rede Criar heurísticas ótimas/sub-rotinas para realizar busca de padrões em redes reais Que tipo de dado você poderia modelar como um grafo?Mineração de Redes Cristiano Carvalho Modelagem em Grafos Internet Sistema de Metrô Contatos Sexuais Colaboração entre Cientistas Partidos Políticos Interações Proteicas Referências Internet Mathematics - Further Directions http://pi.math.cornell.edu/~mec/Winter2009/RalucaRemus/Lecture5/lecture5.html Sistema De Transporte Colectivo (metro) https://www.taringa.net/posts/turismo/9228455/Sistema-De-Transporte-Colectivo-metro.html The structure and function of complex networks http://www.cin.ufpe.br/~rbcp/taia/structure-complex-networks.pdf Grafo de partidos políticos https://www.instagram.com/p/BhKJBeAFRRj/?utm_source=ig_web_copy_link Yeast protein interaction network https://services.math.duke.edu/~rtd/RGD/RGD.html https://www.taringa.net/posts/turismo/9228455/Sistema-De-Transporte-Colectivo-metro.html http://www.cin.ufpe.br/~rbcp/taia/structure-complex-networks.pdf https://www.instagram.com/p/BhKJBeAFRRj/?utm_source=ig_web_copy_link Métricas em Redes Complexas Cristiano Carvalho Medidas de Centralidade Medidas de Centralidade Grau Closeness (Proximidade) Betweenness (Intermediação) Grau do Nó (Vértice) É uma medida relativa aos vértices de um grafo O grau de um vértice é dado pelo número de arestas que lhe são incidentes Exemplo: Grau 3 = A, B, D Grau 2 = C, E Grau 1 = F A B D E FC Closeness - Proximidade É definida pelo comprimento de caminhos mais curtos Caminhos mais curtos representam a menor distância entre pares de vértices Caminho Em um grafo sem arestas ponderadas o caminho é definido pelo número de arestas de um ponto a outro Exemplo: A - F = (A-C-B-E-D-F) (5) (A-B-E-D-F) (4) (A-D-F) (2) A B D E FC Caminho Em um grafo sem arestas ponderadas o caminho é definido pelo número de arestas de um ponto a outro Exemplo: A - F = (A-C-B-E-D-F) (5) (A-B-E-D-F) (4) (A-D-F) (2) A B D E FC Caminho mais curto Em um grafo sem arestas ponderadas o caminho é definido pelo número de arestas de um ponto a outro Exemplo: A - F = (A-C-B-E-D-F) (5) (A-B-E-D-F) (4) (A-D-F) (2) A B D E FC Closeness - Proximidade Quanto mais central é o vértice menor é a distância total para todos os outros vértices Exemplo: F = 11 1-D A B D E FC Closeness - Proximidade Quanto mais central é o vértice menor é a distância total para todos os outros vértices Exemplo: F = 11 1-D + 2-E A B D E FC Closeness - Proximidade Quanto mais central é o vértice menor é a distância total para todos os outros vértices Exemplo: F = 11 1-D + 2-E + 2-A A B D E FC Closeness - Proximidade Quanto mais central é o vértice menor é a distância total para todos os outros vértices Exemplo: F = 11 1-D + 2-E + 2-A + 3-B + 3-C = 11 A B D E FC Closeness - Proximidade Quanto mais central é o vértice menor é a distância total para todos os outros vértices Exemplo: D = 7 1-F + 2-E + 2-A + 2-B + 2-C = 7 A B D E FC Betweenness – Intermediação (Vértice) ● Define o número de vezes que um vértice age como ponte ao longo do caminho mais curto entre dois outros vértices Betweenness – Intermediação (Vértice) ● Para cada par de vértices calcular os caminhos mais curtos entre eles ● Para cada par de vértices determinar a fração de caminhos mais curtos que passam através do vértice em questão ● Somar esta fração de todos os pares de vértices Betweenness – Intermediação (Vértice) Exemplo: D = A – E A – F C – F A B D E FC Betweenness – Intermediação (Vértice) A B D E FC Exemplo: D = A – E A – F C – F Betweenness – Intermediação (Vértice) A B D E FC Exemplo: D = A – E A – F C – F Betweenness – Intermediação (Aresta) A B D E FC Exemplo: A - D = A – E A – F Betweenness – Intermediação (Aresta) A B D E FC Exemplo: A - D = A – E A – F Métricas em Redes Complexas Cristiano Carvalho Medidas de Importância Medidas de Importância PageRank Hits PageRank PageRank procura expressar a probabilidade de um caminhante aleatório no grafo chegar a um vértice P PageRank Considera o quanto um vértice é referenciado (Ex: B) Se quem aponta para o vértice também é importante (Observe C) PageRank A importância de um vértice P é dada pela seguinte equação: PR(i) - PR do vértice i que aponta para A Probabilidade inicial de todas = 1/N L(i) - quantidade de links de saída em i Desafios - Vértices sem ligações A não recebe links de ninguém e passa a ter PR=0 B recebe 0 de A Desafios - Ciclos Cálculo do PageRank fica "preso" no ciclo infinito Em cada iteração o valor de PageRank é transmitido de um vértice para outro do ciclo e não há convergência PageRank - Dump Factor ● d - dump factor (geralmente entre 0.1 e 0.9) ○ Probabilidade de continuar seguindo os links. ○ Do contrário acontecerá um “teletransporte” para qualquer outro vértice ● N - Total de páginas HITS - Hubs e Autoridades ● Um bom hub é uma página que aponta para boas autoridades ● Uma boa autoridade é uma página apontada por bons hubs. HITS Utiliza valores de hub e autoridade para definir a reputação de uma página P. Hub de uma página “P”– é dado em função dos valores de autoridade das páginas para onde ela aponta. Autoridade de uma página “P”– é dada em função dos valores de hub das páginas que apontam para P Referências PageRank https://pt.m.wikipedia.org/wiki/Ficheiro:PageRank-hi-res.png https://es.wikipedia.org/wiki/PageRank#/media/File:PageRanks- Example.svg https://pt.m.wikipedia.org/wiki/Ficheiro:PageRank-hi-res.png Métricas em Redes Complexas Cristiano Carvalho KNIME: Análise de Influentes Análise em Redes Sociais ❖ Selecionando os principais tweets 59 Uma vez que você tenha os tweets coletados o primeiro passo é extrair os principais tweets da base, ou seja aqueles que foram compartilhados (retweets). Análise em Redes Sociais ❖ Limpar tweets sem retweets 60 Com isso é possível diminuir o número de conexões a serem analisadas, focando apenas nos posts que existem conexões na rede Análise em Redes Sociais ❖ Contar interações conexões entre usuários 61 Em seguida, vamos encontrar as conexões entre os usuários através dos seus compartilhamentos. Assim você tem dados para formar um grafo conectado de usuários e retweets. Análise em Redes Sociais ❖ Agrupar usuários por retweets 62 Através da aba Manual Aggregation, conte (Count) quando (Time) um usuário retuitou outro usuário (Agrupe Users e Retweet from) Análise em Redes Sociais ❖ Resultado da contagem de conexões entre usuários 63 Observe que: DannOfThursday_ retuitou ColonoGamer 1 vez MailloLeandro retuitou nadyagospel 2 vezes Análise em Redes Sociais ❖ Criando Grafo ou Rede de Conexões 64 Com o Object Inserter definimos quem serão os vértices (Nodes) a serem conectados, o que identifica as arestas (Edge) se haverá um peso para cada conexão (Weight Column) Análise em Redes Sociais ❖ Rede de retweets (influenciadores) 65 Análise em Redes Sociais ❖ Vamos enriquecer a rede com outros atributos 66 Análise em Redes Sociais ❖ E até outros formatos de visualização 67 Coleta em Redes Sociais ❖ Buscando informações de usuários no Twitter 68 Com o node Twitter Users buscamos informações de cada usuário. Precisamos da lista de usuários a serem buscados. Análise de Redes ❖ Informações de Vértices 69 O Node (no sentido de Vértice) Table gera uma tabela com os vértices da rede Podemos buscar informações já filtradas apenas para essa rede específica. Com o Node Table extraímos os ids dos vértices da rede, ou seja nomes de usuários. Análise de Redes ❖ Busca de dados de usuários 70 Agora podemos fornecer o ID dos usuários no node Twitter Users e buscar informações no Twitter. Análise de Redes 71 ❖ Agora temos dados para enriquecer a rede e suas respectivas conexões Análise em Redes Sociais ❖ Inserindo atributos na rede 72 Com o node Multi Feature Inserter inserimos os dados na rede.Quais entradas do node? Análise em Redes Sociais ❖ Inserindo atributos na rede 73 Nesse exemplo estamos inserindo a foto do usuário e o número de followers. Porém em possível selecionar diversos atributos da lista Análise em Redes Sociais ❖ Inserindo o foto no perfil na rede 74 Em Node Layout configuramos o campo Icon para utilizar a coluna “Profile Image” com fotos que coletamos de cada usuário. Coleta em Redes Sociais ❖ Customize o layout do grafo através das abas General 75 Métricas em Redes Complexas Cristiano Carvalho KNIME: Top Vértices ❖ Métricas 79 Leitura habitual da rede com o Network Reader O Network Analyzer permite calcular várias métricas. ➢ Vamos calcular o grau do vértice, ou seja, o número total de ligações de cada vértice possui ➢ Além disso o grau de entrada e saída separadamente Análise de Redes ❖ Métricas 80 Resultado do Network Analyzer Análise de Redes ❖ Filtrando os top 5 vértices de maior grau total 81 Ordene os vértices por grau decrescente e filtre os 5 maiores Análise de Redes ❖ Retirando vértices 82 Com o Node Name Filter podemos excluir da rede os vértices por nome. Nesse caso vamos incluir na rede apenas os vértices que filtramos anteriormente. Obs: é preciso conectar também a rede original Nota: Não esqueça que “Node” em grafos significa vértice ou nó da rede e não um node do knime Análise de Redes ❖ Hiperarestas 83 Com o Edge Degree Filter eliminamos hiperarestas, ou seja selecionamos arestas que conectam no máximo dois vértices Isso é necessário pois o visualizador do knime não aceita hipergrafos Análise de Redes ❖ Grafo formado pelos 5 vértices de maior grau de entrada 84 Análise de Redes ❖ Grafo formado pelos 5 vértices de maior grau de entrada (Resultado) 85 Análise de Redes Expressões Regulares Cristiano Carvalho KNIME: Regex ❖ Expressões Regulares ou Regex (notações) 89 Extração de Texto por Regras Semelhante aos wildcards as expressões regulares permitem a criação de diversos tipos de regras para tratar o texto. http://turing.com.br/material/regex/introducao.html ❖ Exemplos simples (referência) 90 Extração de Texto por Regras ➢ A RegEx [c9] reconhece o padrão c e o padrão 9 ➢ A RegEx [A-Z] reconhece todas as letras maiúsculas ➢ A RegEx [A-Z0-9] reconhece todas as letras maiúsculas e números ➢ A classe \d é equivalente à classe [0-9] http://aprenda.vidageek.net/aprenda/regex Pré-processamento ❖ Exemplo em pré-processamento Adicionando o Regex Filter é possível filtrar o texto a partir de regras. Com “.*[\d\W]+.*” eliminamos strings que possuem dígitos (\d) e caracteres que não são letras (\W) 91 Pré-processamento ❖ Como filtrar por número específico de caracteres A regra “\d{4}” especifica o padrão de quatro dígitos Podemos ter o mesmo resultado utilizando “[0-9]{4}” Explore mais exemplos http://aprenda.vidageek.net/aprenda/regex e teste no KNIME, com o Row Filter sobre uma coluna de String fica bem facinho :) 92 http://aprenda.vidageek.net/aprenda/regex Referências Expressões regulares: introdução http://turing.com.br/material/regex/introducao.html Aprenda RegEx http://aprenda.vidageek.net/aprenda/regex Métricas em Redes Complexas Cristiano Carvalho KNIME: Menor Caminho ❖ Qual o menor caminho entre Schwarzenegger e Isótopo? 97 A medida do menor caminho é implementada pelo node Shortest Path Análise de Redes ❖ Qual o menor caminho entre Schwarzenegger e Isótopo? 98 Para visualizar uma rede utilizamos o Network Viewer Análise de Redes ❖ Como assim? Jurassic Park easter egg 99 Análise de Redes http://screencrush.com/lost-world-jurassic-park-easter-egg/
Compartilhar