SlideShare ist ein Scribd-Unternehmen logo
1 von 55
O que o twitter está pensando? 
Extraindo informações do twitter utilizando NLTK 
Adolfo Guimarães 
SEMINFO 2014 
adolfoguimaraes@gmail.com 11/09/2014 @guimaraesadolfo
Quem sou eu? 
• Adolfo Guimarães 
• Mestre em Ciência da Computação pela UFMG 
• Graduado em Ciência da Computação pela UFS 
• Docente na UFS e UNIT 
• Colaborador do grupo de pesquisa Pii (Processamento de Imagens e 
Inteligência-UFS e Integrante do Grupo de Pesquisa Interdisciplinar em 
Tecnologia da Informação e Comunicação da UNIT. 
• Contato: 
adolfoguimaraes@gmail.com 
www.twitter.com/guimaraesadolfo 
http://sites.google.com/site/adolfoguimaraes
Agenda 
• Motivação 
• Introdução a Mineração de Dados 
• Processamento de Linguagem Natural e 
NLTK: Natural Language Toolkit 
• Extraindo informações do twitter com NLTK
Dados x Informação
R C O R A
C A R R O
A internet em 1 minuto 
278 mil tweets 
2 milhões de buscas 
2,4 milhões de posts 
216 mil fotos 
204 
milhões 
de e-mails 
enviados
• Vídeo sobre BIG DATA do canal Nerdologia 
disponível em: https://www.youtube.com/watch? 
v=hEFFCKxYbKM
Como lidar com toda essa 
quantidade de dados?
Como extrair informação útil 
destes dados?
Mineração de Dados!!!
O que é Mineração de Dados?
“Mineração de Dados é análise de grandes 
conjuntos de dados a fim de encontrar 
relacionamentos inesperados e de resumir os 
dados de uma forma que eles sejam tanto úteis 
quanto compreensíveis ao dono dos dados”
“Mineração de dados é um campo 
interdisciplinar que junta técnicas de máquinas 
de conhecimentos, reconhecimento de 
padrões, estatísticas, banco de dados e 
visualização, para conseguir extrair 
informações de grandes bases de dados”
“Mineração de Dados é um passo no processo 
de descoberta de conhecimento que consiste na 
realização da análise dos dados e na aplicação 
de algoritmos de descoberta que, sob certas 
limitações computacionais, produzem um 
conjunto de padrões de certos dados”
O que é Mineração de Dados? 
• “Extrair ou 'minerar' conhecimento de uma grande 
quantidade de dados” (Kamber, 2001); 
• Também conhecido como KDD (Knowledge 
Discovery from Data); 
• Podemos classificar também a mineração de 
dados como um dos passos no processo de 
“descoberta do conhecimento”.
O que é Mineração de Dados? 
Dados 
Seleção 
Dados Escolhidos 
Pré-processamento 
Dados Pré-Processados 
Conhecimento 
Transformação 
Dados Transformados Padrões 
Mineração de Dados 
Avaliação
O que podemos extrair desta página?
Mineração de Dados 
• A mineração de dados pode ser vista de forma 
diferente a depender da área em que é aplicada.
Mineração de Dados 
• Para a comunidade de business intelligence 
Decision Making 
Data Presentation 
Visualization Techniques 
Data Mining 
Information Discovery 
Data Exploration 
Increasing potential" 
to support" 
business decisions 
Statistica Summary, Querying, and Reporting 
Business Analyst 
Data Preprocessing/Integration, Data Warehouses 
Data Sources 
End User 
Data Analyst 
Paper, Files, Web documents, Scientific experiments, Database Systems 
DBA
Mineração de Dados 
• Para a comunidade de aprendizado de máquina e estatística 
Dados 
Pré-Processamento 
Mineração de Dados 
Pós-Processamento 
Padrão / Informações / Conhecimento
Questões importantes 
• Ao desenvolver aplicações utilizando os conceitos 
de mineração de dados, devemos nos ater a 
algumas questões importantes: 
• Qual o tipo de conhecimento a ser minerado? 
• Qual o tipo dos dados a serem minerados? 
• Quais as técnicas a serem utilizadas? 
• Quais as aplicações que serão consideradas?
Desafios 
• Obter tais respostas não é uma tarefa simples, necessita de 
estudo e conhecimento sobre o ambiente no qual a mineração 
será aplicada; 
• Além disso, minerar dados hoje em dia gera uma série de 
desafios, como: 
• Lidar com diferentes tipos de dados e de alta dimensão; 
• Trabalhar com dados com ruídos e incompletos; 
• Implementar algoritmos eficientes e que permitam ser 
escalados.
Pré-processamento 
• Uma das fases mais importante no trabalho de 
mineração de dados é o pré-processamento de 
dados; 
• Essa tarefa tem como finalidade aumentar a 
qualidade dos dados extraídos; 
• A importância dessa tarefa aumenta com a 
mineração de textos da internet, onde, não existem 
padrões e quem gera os dados tem total liberdade 
de produzi-lo de diversas maneiras.
Pré-processamento 
• As fases de um pré-processamento consistem em: 
• Limpeza dos dados; 
• Integração dos dados; 
• Transformação dos dados; 
• Redução dos dados
Tarefas 
• A mineração de dados também pode ser 
classificada de acordo com as tarefas realizadas: 
• Classificação 
• Predição 
• Agrupamento 
• Associação
Um foco em classificação
Classificação 
• Os métodos de classificação trabalham com um 
conjunto de dados que possuem uma classificação 
(ou classe) conhecida; 
• A partir dos dados conhecidos, deve-se construir 
um modelo e a partir deste modelo classificar 
instâncias desconhecidas da base de dados; 
• O processo de classificação é dividido em duas 
fases: (1) Treinamento e (2) Teste.
Classificação 
• Exemplo: classificar um certo personagem como 
sendo da série Game of Thrones ou The Walking 
Dead.
Classificação: Treinamento 
Base de Treinamento 
Algoritmo de 
Classificação 
Classificador" 
(Modelo)
Classificação: Teste 
Base de Teste 
Classificador" 
(Modelo) 
Dados 
Classificados
Classificação: Avaliação 
Dados Reais 
Comparação 
Dados 
Classificados 
Avaliação do Algoritmo" 
de Classificação
Classificação: Técnicas 
• Existem várias técnicas de classificação: 
• Árvores de decisão 
• Classificação Bayesiana 
• Classificação baseada em regras 
• Redes Neurais 
• SVM 
• Regras por associação 
• Algoritmos Genéticos 
• Entre outros ….
Classificação Bayesiana 
• Essa técnica se baseia na idéia de que é possível 
determinar a probabilidade de um certo evento 
ocorrer, dada a probabilidade um evento 
passado; 
• Está entre os algoritmos mais usados para 
classificação dada a sua simplicidade e eficiência 
se comparado com técnicas mais complexas;
Classificação Bayesiana 
• Exemplo: 
• Característica: 
probabilidade de matar zumbis 
0.8 0.3 0.9 
0.7 
0.2
NLTK e o Processamento de 
Linguagem Natural
Inteligência Artificial
Linguagem Natural
Compreender o que o computador diz 
Compreender o que os humanos dizem
Linguagem Natural 
• Linguagem Natural é uma área de Inteligência 
Artificial que lida com os problemas gerados pela 
geração e compreensão de linguagens humanas 
naturais. 
• Podemos dividir em dois processo: 
• Geração de Linguagem Natural 
• Processamento de Linguagem Natural
Linguagem Natural 
• Na geração de linguagem natural estamos 
preocupados em através de dados estruturados 
gerar informação próxima a linguagem humana. 
• No processamento de linguagem natural estamos 
preocupados em através de dados na linguagem 
humana extrair dados que possam ser 
processados por um computador.
Processamento de Linguagem Natural 
• No processamento de linguagem natural está 
preocupado em como a linguagem está 
estruturada; 
• Informações sobre a sintaxe, semântica, 
morfologia, estruturação das frases etc.
Vamos começar a trabalhar???
Ferramentas utilizadas 
• NITROUS.IO - ambiente de desenvolvimento na 
nuvem: http://www.nitrous.io 
• TWEEPY - api para extração de dados do 
TWITTER: http://github.com/tweepy/tweepy 
• NLTK (Natural Language Toolkit) - conjunto de 
ferramentas para trabalhar com linguagem 
natural: http://www.nltk.org
NLTK - Natural Language Toolkit
Criação do ambiente no Nitrous.io 
• Crie uma conta free no nitrous.io; 
• Crie uma box do tipo Python/Django; 
• Instale o Tweepy através do comando: 
• pip install tweepy 
• Instale o NLTK através do comando: 
• pip install nltk
Tweepy 
• Para utilizar a API de coleta de dados do twitter é preciso 
cadastrar um app no site de desenvolvedores do twitter: 
http://dev.twitter.com 
• Se não aparecer nenhuma opção para genrenciar seus 
app, procure por “Manger Your Apps” no rodapé do site; 
• Depois de cadastrar utilize API Key e o API Secrete para 
se autenticar quando utilizar a API; 
• Para o minicurso utilizei informações de um app que crie, 
no entanto, estarei desativando nos próximos dias.
NLTK 
• Instalação: 
• Disponível para Windows, Linux e Mac, as ferramentas são de 
fácil instalação e as instruções estão disponíveis em 
www.nltk.org/install.html ; 
• O NLTK possui um grande corpus de texto disponível para 
download. Existem textos em português, inglês e outros idiomas; 
• Para a instalação de qualquer pacote extra do NLTK utilize o 
comando nltk.download() dentro do interpretador python (para 
acessar basta digitar python na linha de comando) 
• As stopwords são um dos pacotes que precisar sem instalados.
Referências 
• Data Mining - Concepts and Techniques 
Jiawei Han and Micheline Kamber 
Second Edition 
• Natural Language Processing with Python 
Analyzing Text with the Natural Language Toolkit 
Steven Bird, Ewan Klein, and Edward Loper 
O’Reilly Media, 2009 
Disponível em: www.nltk.org/book 
• Material da professora Gisele Pappa (DCC/UFMG)
Referências 
• Base de dados em inglês para análise de sentimento: 
• http://ai.stanford.edu/~amaas/data/sentiment/ 
• Referenciado pelo paper: http://cs.stanford.edu/ 
people/ang/?portfolio=learning-word-vectors-for-sentiment- 
analysis 
• Tutorial do exemplo de análise de sentimento apresentado: 
• http://www.sjwhitworth.com/sentiment-analysis-in-python- 
using-nltk/
Obrigado!!! 
• Se interessou pelo tema? Entra em contato: 
adolfoguimaraes@gmail.com ou me segue no 
twitter: @guimaraesadolfo ;)

Weitere ähnliche Inhalte

Andere mochten auch

Google+ Para Empresas - GBG Aracaju - Tiago Araujo Melo
Google+ Para Empresas - GBG Aracaju - Tiago Araujo MeloGoogle+ Para Empresas - GBG Aracaju - Tiago Araujo Melo
Google+ Para Empresas - GBG Aracaju - Tiago Araujo MeloTiago Melo
 
Web 2.0 Collaboration – Using digital tools for redesigning governance
Web 2.0 Collaboration – Using digital tools for redesigning governanceWeb 2.0 Collaboration – Using digital tools for redesigning governance
Web 2.0 Collaboration – Using digital tools for redesigning governancePaul Gilbreath
 
Ruby on rails - CEFET de Lagarto
Ruby on rails - CEFET de LagartoRuby on rails - CEFET de Lagarto
Ruby on rails - CEFET de LagartoDante Regis
 
Análise dos sites dos presidenciáveis - Eleições 2014
Análise dos sites dos presidenciáveis - Eleições 2014Análise dos sites dos presidenciáveis - Eleições 2014
Análise dos sites dos presidenciáveis - Eleições 2014Sueli Bacelar
 
Ecossistemas de startups nordestinos os desafios para a competitividade (2)
Ecossistemas de startups nordestinos  os desafios para a competitividade (2)Ecossistemas de startups nordestinos  os desafios para a competitividade (2)
Ecossistemas de startups nordestinos os desafios para a competitividade (2)Ludmilla Veloso [LION]
 
Palestra - Bem vindo a era pós-digital: Empreendendo em um ambiente mutante.
Palestra - Bem vindo a era pós-digital: Empreendendo em um ambiente mutante.Palestra - Bem vindo a era pós-digital: Empreendendo em um ambiente mutante.
Palestra - Bem vindo a era pós-digital: Empreendendo em um ambiente mutante.Cássio Nunes
 
Social Web Studies - What kind of collaboration is right for your business
Social Web Studies - What kind of collaboration is right for your businessSocial Web Studies - What kind of collaboration is right for your business
Social Web Studies - What kind of collaboration is right for your businessPaul Gilbreath
 
Projeto software alem da tecnologia v2
Projeto   software alem da tecnologia v2Projeto   software alem da tecnologia v2
Projeto software alem da tecnologia v2Roberto Brandini
 
Apresentação ForkInSergipe
Apresentação ForkInSergipeApresentação ForkInSergipe
Apresentação ForkInSergipeRafael França
 
Arquiteturas de software para computação ubiqua
Arquiteturas de software para computação ubiquaArquiteturas de software para computação ubiqua
Arquiteturas de software para computação ubiquaRubens Matos Junior
 
IBECC - Contratos Empresariais - Revisão e Controle
IBECC - Contratos Empresariais - Revisão e ControleIBECC - Contratos Empresariais - Revisão e Controle
IBECC - Contratos Empresariais - Revisão e ControleAlexandra Yusiasu dos Santos
 
Web 2.0 Collaboration – Using digital tools for redesigning governance
Web 2.0 Collaboration – Using digital tools for redesigning governanceWeb 2.0 Collaboration – Using digital tools for redesigning governance
Web 2.0 Collaboration – Using digital tools for redesigning governancePaul Gilbreath
 
ThingTank @ MIT-Skoltech Innovation Symposium 2014
ThingTank @ MIT-Skoltech Innovation Symposium 2014ThingTank @ MIT-Skoltech Innovation Symposium 2014
ThingTank @ MIT-Skoltech Innovation Symposium 2014Neil Rubens
 
Implementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsImplementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsEdward David Moreno
 
Network Learning: AI-driven Connectivist Framework for E-Learning 3.0
Network Learning: AI-driven Connectivist Framework for E-Learning 3.0Network Learning: AI-driven Connectivist Framework for E-Learning 3.0
Network Learning: AI-driven Connectivist Framework for E-Learning 3.0Neil Rubens
 
O papel da internet na Assessoria de Imprensa
O papel da internet na Assessoria de ImprensaO papel da internet na Assessoria de Imprensa
O papel da internet na Assessoria de ImprensaElaine Mesoli
 
Aula06 matriz em C
Aula06 matriz em CAula06 matriz em C
Aula06 matriz em CYuri Passos
 

Andere mochten auch (20)

Introdução ao scrum
Introdução ao scrumIntrodução ao scrum
Introdução ao scrum
 
Google+ Para Empresas - GBG Aracaju - Tiago Araujo Melo
Google+ Para Empresas - GBG Aracaju - Tiago Araujo MeloGoogle+ Para Empresas - GBG Aracaju - Tiago Araujo Melo
Google+ Para Empresas - GBG Aracaju - Tiago Araujo Melo
 
Web 2.0 Collaboration – Using digital tools for redesigning governance
Web 2.0 Collaboration – Using digital tools for redesigning governanceWeb 2.0 Collaboration – Using digital tools for redesigning governance
Web 2.0 Collaboration – Using digital tools for redesigning governance
 
Ruby on rails - CEFET de Lagarto
Ruby on rails - CEFET de LagartoRuby on rails - CEFET de Lagarto
Ruby on rails - CEFET de Lagarto
 
Análise dos sites dos presidenciáveis - Eleições 2014
Análise dos sites dos presidenciáveis - Eleições 2014Análise dos sites dos presidenciáveis - Eleições 2014
Análise dos sites dos presidenciáveis - Eleições 2014
 
Ecossistemas de startups nordestinos os desafios para a competitividade (2)
Ecossistemas de startups nordestinos  os desafios para a competitividade (2)Ecossistemas de startups nordestinos  os desafios para a competitividade (2)
Ecossistemas de startups nordestinos os desafios para a competitividade (2)
 
Seminario - Versão Final
Seminario - Versão FinalSeminario - Versão Final
Seminario - Versão Final
 
Palestra - Bem vindo a era pós-digital: Empreendendo em um ambiente mutante.
Palestra - Bem vindo a era pós-digital: Empreendendo em um ambiente mutante.Palestra - Bem vindo a era pós-digital: Empreendendo em um ambiente mutante.
Palestra - Bem vindo a era pós-digital: Empreendendo em um ambiente mutante.
 
Social Web Studies - What kind of collaboration is right for your business
Social Web Studies - What kind of collaboration is right for your businessSocial Web Studies - What kind of collaboration is right for your business
Social Web Studies - What kind of collaboration is right for your business
 
Projeto software alem da tecnologia v2
Projeto   software alem da tecnologia v2Projeto   software alem da tecnologia v2
Projeto software alem da tecnologia v2
 
Apresentação ForkInSergipe
Apresentação ForkInSergipeApresentação ForkInSergipe
Apresentação ForkInSergipe
 
Arquiteturas de software para computação ubiqua
Arquiteturas de software para computação ubiquaArquiteturas de software para computação ubiqua
Arquiteturas de software para computação ubiqua
 
IBECC - Contratos Empresariais - Revisão e Controle
IBECC - Contratos Empresariais - Revisão e ControleIBECC - Contratos Empresariais - Revisão e Controle
IBECC - Contratos Empresariais - Revisão e Controle
 
Web 2.0 Collaboration – Using digital tools for redesigning governance
Web 2.0 Collaboration – Using digital tools for redesigning governanceWeb 2.0 Collaboration – Using digital tools for redesigning governance
Web 2.0 Collaboration – Using digital tools for redesigning governance
 
ThingTank @ MIT-Skoltech Innovation Symposium 2014
ThingTank @ MIT-Skoltech Innovation Symposium 2014ThingTank @ MIT-Skoltech Innovation Symposium 2014
ThingTank @ MIT-Skoltech Innovation Symposium 2014
 
Implementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsImplementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufs
 
Network Learning: AI-driven Connectivist Framework for E-Learning 3.0
Network Learning: AI-driven Connectivist Framework for E-Learning 3.0Network Learning: AI-driven Connectivist Framework for E-Learning 3.0
Network Learning: AI-driven Connectivist Framework for E-Learning 3.0
 
O papel da internet na Assessoria de Imprensa
O papel da internet na Assessoria de ImprensaO papel da internet na Assessoria de Imprensa
O papel da internet na Assessoria de Imprensa
 
Aula06 matriz em C
Aula06 matriz em CAula06 matriz em C
Aula06 matriz em C
 
Plano do Projeto
Plano do ProjetoPlano do Projeto
Plano do Projeto
 

Ähnlich wie Minicurso: O que o twitter está pensando? Extraindo informações do twitter utilizando NLTK

Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharePalestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharepccdias
 
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...Ambiente Livre
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dadosElton Meira
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
Palestra Big Data SCTI
Palestra Big Data SCTIPalestra Big Data SCTI
Palestra Big Data SCTIBruna Pereira
 
V SEGINFO - “Recuperando Dados (Data Carving) em Mídias e em Redes”
V SEGINFO - “Recuperando Dados (Data Carving) em Mídias e em Redes”V SEGINFO - “Recuperando Dados (Data Carving) em Mídias e em Redes”
V SEGINFO - “Recuperando Dados (Data Carving) em Mídias e em Redes”Clavis Segurança da Informação
 
House of data - ciência de dados para desenvolvedores
House of data - ciência de dados para desenvolvedoresHouse of data - ciência de dados para desenvolvedores
House of data - ciência de dados para desenvolvedoresAna Paula Gomes
 
aula01-aulainicial-160805044212.pptx yyy
aula01-aulainicial-160805044212.pptx yyyaula01-aulainicial-160805044212.pptx yyy
aula01-aulainicial-160805044212.pptx yyyJoefersonDelfino2
 
House of data - TDC Floripa
House of data - TDC FloripaHouse of data - TDC Floripa
House of data - TDC FloripaAna Paula Gomes
 
Armadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de SoftwareArmadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de Softwarejamersonlima
 
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetosCapítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetosEverton Souza
 
Você está preparado para o GDPR?
Você está preparado para o GDPR?Você está preparado para o GDPR?
Você está preparado para o GDPR?Centus Consultoria
 
Visualização de dados
Visualização de dadosVisualização de dados
Visualização de dadoslrmodesto
 
Sistema da informacao
Sistema da informacaoSistema da informacao
Sistema da informacaopaulocsm
 
Apresentação de Seminário - Universidade Federal de Sergipe
Apresentação de Seminário - Universidade Federal de SergipeApresentação de Seminário - Universidade Federal de Sergipe
Apresentação de Seminário - Universidade Federal de SergipeMisaelFalco
 
Plano de ensino - Princípios de Sistemas da Informação
Plano de ensino - Princípios de Sistemas da InformaçãoPlano de ensino - Princípios de Sistemas da Informação
Plano de ensino - Princípios de Sistemas da Informaçãoefjunior
 

Ähnlich wie Minicurso: O que o twitter está pensando? Extraindo informações do twitter utilizando NLTK (20)

Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharePalestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
 
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dados
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
Palestra Big Data SCTI
Palestra Big Data SCTIPalestra Big Data SCTI
Palestra Big Data SCTI
 
V SEGINFO - “Recuperando Dados (Data Carving) em Mídias e em Redes”
V SEGINFO - “Recuperando Dados (Data Carving) em Mídias e em Redes”V SEGINFO - “Recuperando Dados (Data Carving) em Mídias e em Redes”
V SEGINFO - “Recuperando Dados (Data Carving) em Mídias e em Redes”
 
House of data - ciência de dados para desenvolvedores
House of data - ciência de dados para desenvolvedoresHouse of data - ciência de dados para desenvolvedores
House of data - ciência de dados para desenvolvedores
 
Pentaho Weka latinoware
Pentaho Weka latinowarePentaho Weka latinoware
Pentaho Weka latinoware
 
aula01-aulainicial-160805044212.pptx yyy
aula01-aulainicial-160805044212.pptx yyyaula01-aulainicial-160805044212.pptx yyy
aula01-aulainicial-160805044212.pptx yyy
 
House of data - TDC Floripa
House of data - TDC FloripaHouse of data - TDC Floripa
House of data - TDC Floripa
 
Armadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de SoftwareArmadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de Software
 
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetosCapítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
 
Big Data Latinoware 2014
Big Data Latinoware 2014Big Data Latinoware 2014
Big Data Latinoware 2014
 
Você está preparado para o GDPR?
Você está preparado para o GDPR?Você está preparado para o GDPR?
Você está preparado para o GDPR?
 
Visualização de dados
Visualização de dadosVisualização de dados
Visualização de dados
 
Sistema da informacao
Sistema da informacaoSistema da informacao
Sistema da informacao
 
Big Data, JVM e Redes Sociais
Big Data, JVM e Redes SociaisBig Data, JVM e Redes Sociais
Big Data, JVM e Redes Sociais
 
Desvendando o mundo iOS
Desvendando o mundo iOSDesvendando o mundo iOS
Desvendando o mundo iOS
 
Apresentação de Seminário - Universidade Federal de Sergipe
Apresentação de Seminário - Universidade Federal de SergipeApresentação de Seminário - Universidade Federal de Sergipe
Apresentação de Seminário - Universidade Federal de Sergipe
 
Plano de ensino - Princípios de Sistemas da Informação
Plano de ensino - Princípios de Sistemas da InformaçãoPlano de ensino - Princípios de Sistemas da Informação
Plano de ensino - Princípios de Sistemas da Informação
 

Minicurso: O que o twitter está pensando? Extraindo informações do twitter utilizando NLTK

  • 1. O que o twitter está pensando? Extraindo informações do twitter utilizando NLTK Adolfo Guimarães SEMINFO 2014 adolfoguimaraes@gmail.com 11/09/2014 @guimaraesadolfo
  • 2. Quem sou eu? • Adolfo Guimarães • Mestre em Ciência da Computação pela UFMG • Graduado em Ciência da Computação pela UFS • Docente na UFS e UNIT • Colaborador do grupo de pesquisa Pii (Processamento de Imagens e Inteligência-UFS e Integrante do Grupo de Pesquisa Interdisciplinar em Tecnologia da Informação e Comunicação da UNIT. • Contato: adolfoguimaraes@gmail.com www.twitter.com/guimaraesadolfo http://sites.google.com/site/adolfoguimaraes
  • 3. Agenda • Motivação • Introdução a Mineração de Dados • Processamento de Linguagem Natural e NLTK: Natural Language Toolkit • Extraindo informações do twitter com NLTK
  • 5. R C O R A
  • 6. C A R R O
  • 7. A internet em 1 minuto 278 mil tweets 2 milhões de buscas 2,4 milhões de posts 216 mil fotos 204 milhões de e-mails enviados
  • 8. • Vídeo sobre BIG DATA do canal Nerdologia disponível em: https://www.youtube.com/watch? v=hEFFCKxYbKM
  • 9. Como lidar com toda essa quantidade de dados?
  • 10. Como extrair informação útil destes dados?
  • 12. O que é Mineração de Dados?
  • 13. “Mineração de Dados é análise de grandes conjuntos de dados a fim de encontrar relacionamentos inesperados e de resumir os dados de uma forma que eles sejam tanto úteis quanto compreensíveis ao dono dos dados”
  • 14. “Mineração de dados é um campo interdisciplinar que junta técnicas de máquinas de conhecimentos, reconhecimento de padrões, estatísticas, banco de dados e visualização, para conseguir extrair informações de grandes bases de dados”
  • 15. “Mineração de Dados é um passo no processo de descoberta de conhecimento que consiste na realização da análise dos dados e na aplicação de algoritmos de descoberta que, sob certas limitações computacionais, produzem um conjunto de padrões de certos dados”
  • 16. O que é Mineração de Dados? • “Extrair ou 'minerar' conhecimento de uma grande quantidade de dados” (Kamber, 2001); • Também conhecido como KDD (Knowledge Discovery from Data); • Podemos classificar também a mineração de dados como um dos passos no processo de “descoberta do conhecimento”.
  • 17. O que é Mineração de Dados? Dados Seleção Dados Escolhidos Pré-processamento Dados Pré-Processados Conhecimento Transformação Dados Transformados Padrões Mineração de Dados Avaliação
  • 18. O que podemos extrair desta página?
  • 19.
  • 20. Mineração de Dados • A mineração de dados pode ser vista de forma diferente a depender da área em que é aplicada.
  • 21. Mineração de Dados • Para a comunidade de business intelligence Decision Making Data Presentation Visualization Techniques Data Mining Information Discovery Data Exploration Increasing potential" to support" business decisions Statistica Summary, Querying, and Reporting Business Analyst Data Preprocessing/Integration, Data Warehouses Data Sources End User Data Analyst Paper, Files, Web documents, Scientific experiments, Database Systems DBA
  • 22. Mineração de Dados • Para a comunidade de aprendizado de máquina e estatística Dados Pré-Processamento Mineração de Dados Pós-Processamento Padrão / Informações / Conhecimento
  • 23. Questões importantes • Ao desenvolver aplicações utilizando os conceitos de mineração de dados, devemos nos ater a algumas questões importantes: • Qual o tipo de conhecimento a ser minerado? • Qual o tipo dos dados a serem minerados? • Quais as técnicas a serem utilizadas? • Quais as aplicações que serão consideradas?
  • 24. Desafios • Obter tais respostas não é uma tarefa simples, necessita de estudo e conhecimento sobre o ambiente no qual a mineração será aplicada; • Além disso, minerar dados hoje em dia gera uma série de desafios, como: • Lidar com diferentes tipos de dados e de alta dimensão; • Trabalhar com dados com ruídos e incompletos; • Implementar algoritmos eficientes e que permitam ser escalados.
  • 25. Pré-processamento • Uma das fases mais importante no trabalho de mineração de dados é o pré-processamento de dados; • Essa tarefa tem como finalidade aumentar a qualidade dos dados extraídos; • A importância dessa tarefa aumenta com a mineração de textos da internet, onde, não existem padrões e quem gera os dados tem total liberdade de produzi-lo de diversas maneiras.
  • 26. Pré-processamento • As fases de um pré-processamento consistem em: • Limpeza dos dados; • Integração dos dados; • Transformação dos dados; • Redução dos dados
  • 27. Tarefas • A mineração de dados também pode ser classificada de acordo com as tarefas realizadas: • Classificação • Predição • Agrupamento • Associação
  • 28. Um foco em classificação
  • 29. Classificação • Os métodos de classificação trabalham com um conjunto de dados que possuem uma classificação (ou classe) conhecida; • A partir dos dados conhecidos, deve-se construir um modelo e a partir deste modelo classificar instâncias desconhecidas da base de dados; • O processo de classificação é dividido em duas fases: (1) Treinamento e (2) Teste.
  • 30. Classificação • Exemplo: classificar um certo personagem como sendo da série Game of Thrones ou The Walking Dead.
  • 31.
  • 32.
  • 33.
  • 34. Classificação: Treinamento Base de Treinamento Algoritmo de Classificação Classificador" (Modelo)
  • 35. Classificação: Teste Base de Teste Classificador" (Modelo) Dados Classificados
  • 36. Classificação: Avaliação Dados Reais Comparação Dados Classificados Avaliação do Algoritmo" de Classificação
  • 37. Classificação: Técnicas • Existem várias técnicas de classificação: • Árvores de decisão • Classificação Bayesiana • Classificação baseada em regras • Redes Neurais • SVM • Regras por associação • Algoritmos Genéticos • Entre outros ….
  • 38. Classificação Bayesiana • Essa técnica se baseia na idéia de que é possível determinar a probabilidade de um certo evento ocorrer, dada a probabilidade um evento passado; • Está entre os algoritmos mais usados para classificação dada a sua simplicidade e eficiência se comparado com técnicas mais complexas;
  • 39. Classificação Bayesiana • Exemplo: • Característica: probabilidade de matar zumbis 0.8 0.3 0.9 0.7 0.2
  • 40. NLTK e o Processamento de Linguagem Natural
  • 43. Compreender o que o computador diz Compreender o que os humanos dizem
  • 44. Linguagem Natural • Linguagem Natural é uma área de Inteligência Artificial que lida com os problemas gerados pela geração e compreensão de linguagens humanas naturais. • Podemos dividir em dois processo: • Geração de Linguagem Natural • Processamento de Linguagem Natural
  • 45. Linguagem Natural • Na geração de linguagem natural estamos preocupados em através de dados estruturados gerar informação próxima a linguagem humana. • No processamento de linguagem natural estamos preocupados em através de dados na linguagem humana extrair dados que possam ser processados por um computador.
  • 46. Processamento de Linguagem Natural • No processamento de linguagem natural está preocupado em como a linguagem está estruturada; • Informações sobre a sintaxe, semântica, morfologia, estruturação das frases etc.
  • 47. Vamos começar a trabalhar???
  • 48. Ferramentas utilizadas • NITROUS.IO - ambiente de desenvolvimento na nuvem: http://www.nitrous.io • TWEEPY - api para extração de dados do TWITTER: http://github.com/tweepy/tweepy • NLTK (Natural Language Toolkit) - conjunto de ferramentas para trabalhar com linguagem natural: http://www.nltk.org
  • 49. NLTK - Natural Language Toolkit
  • 50. Criação do ambiente no Nitrous.io • Crie uma conta free no nitrous.io; • Crie uma box do tipo Python/Django; • Instale o Tweepy através do comando: • pip install tweepy • Instale o NLTK através do comando: • pip install nltk
  • 51. Tweepy • Para utilizar a API de coleta de dados do twitter é preciso cadastrar um app no site de desenvolvedores do twitter: http://dev.twitter.com • Se não aparecer nenhuma opção para genrenciar seus app, procure por “Manger Your Apps” no rodapé do site; • Depois de cadastrar utilize API Key e o API Secrete para se autenticar quando utilizar a API; • Para o minicurso utilizei informações de um app que crie, no entanto, estarei desativando nos próximos dias.
  • 52. NLTK • Instalação: • Disponível para Windows, Linux e Mac, as ferramentas são de fácil instalação e as instruções estão disponíveis em www.nltk.org/install.html ; • O NLTK possui um grande corpus de texto disponível para download. Existem textos em português, inglês e outros idiomas; • Para a instalação de qualquer pacote extra do NLTK utilize o comando nltk.download() dentro do interpretador python (para acessar basta digitar python na linha de comando) • As stopwords são um dos pacotes que precisar sem instalados.
  • 53. Referências • Data Mining - Concepts and Techniques Jiawei Han and Micheline Kamber Second Edition • Natural Language Processing with Python Analyzing Text with the Natural Language Toolkit Steven Bird, Ewan Klein, and Edward Loper O’Reilly Media, 2009 Disponível em: www.nltk.org/book • Material da professora Gisele Pappa (DCC/UFMG)
  • 54. Referências • Base de dados em inglês para análise de sentimento: • http://ai.stanford.edu/~amaas/data/sentiment/ • Referenciado pelo paper: http://cs.stanford.edu/ people/ang/?portfolio=learning-word-vectors-for-sentiment- analysis • Tutorial do exemplo de análise de sentimento apresentado: • http://www.sjwhitworth.com/sentiment-analysis-in-python- using-nltk/
  • 55. Obrigado!!! • Se interessou pelo tema? Entra em contato: adolfoguimaraes@gmail.com ou me segue no twitter: @guimaraesadolfo ;)