Pré-processamento de Coleta, Integração e Dados de Múltiplas...

Preview:

Citation preview

Coleta, Integração e Pré-processamento de Dados de Múltiplas Fontes

Natércia A. BatistaEstudante de Mestrado, PPGCC/UFMG

2

Olá

Michele A. BrandãoProfessora IFMG

PosDoc, PPGCC/UFMG

Daniel H. DalipProfessor CEFET-MG

Doutor, PPGCC/UFMG

Michele BritoMestre, PPGCC/UFMG

Mirella M. MoroProfessora DCC/UFMG

Doutora, UC Riverside

IntroduçãoMotivação e Tópicos Abordados

1

3

DadosQuem são?

De onde vêm?Como se comportam?

É possível domesticá-los?4

Quem são?

5

Fonte: https://pixabay.com 6

De onde vêm?

Como se Comportam?

7Fonte: https://seobrien.com/how-big-data-is-finding-its-market-in-texas

The Big Data Pipeline

8Fonte: H. V. Jagadish ACM SIGMOD Blog - 06/2012

É possível domesticá-los?

9Fonte: https://www.forbes.com/sites/gilpress/2016/03/23/data-preparation-most-time-consuming-least-enjoyable-data-science-task-survey-says

Building training sets: 3%Cleaning and organizing data: 60%Collecting data sets: 19%Mining data for patterns: 9%Refining algorithms: 4%Other: 5%

É possível domesticá-los?

10Fonte: https://www.forbes.com/sites/gilpress/2016/03/23/data-preparation-most-time-consuming-least-enjoyable-data-science-task-survey-says

Building training sets: 10%Cleaning and organizing data: 57%Collecting data sets: 21%Mining data for patterns: 3%Refining algorithms: 4%Other: 5%

Data ScienceData Engineering

11

Uma coisa é uma coisa

12

Science

knowledge or a system of knowledge covering general truths or the operation of general laws especially as obtained and tested through scientific method

Engineering

the application of science and mathematics by which the properties of matter and the sources of energy in nature are made useful to people

Fonte: https://www.merriam-webster.com

Scientists study the physical world. Engineers apply this knowledge of science to solve problems efficiently.

Interessante

EngenhariaCiência

13

dados

Objetivo deste TutorialEngenharia de Dados (com base na ciência) para fazer mais Ciência de Dados

14

Tópicos Abordados

15

Coleta

Integração

Pré-processamento

Análise e Aplicação

Coleta de DadosTipos de Fontes de Dados e Métodos de Coleta

2

16

Tipos de fonte de dados 17

web

Dados Abertos

Dados Conectados

APIs

Páginas da Web

Dados Abertos

18

Dados Abertos 19

Fonte: https://okfn.org/opendata/

Disponibilidade e AcessibilidadeDados devem ser disponibilizados de forma completa em formato conveniente e modificável.

Reúso e RedistribuiçãoDados devem ser disponibilizados sobre termos que permitam reutilização e redistribuição, além de um formato legível por máquina.

Participação UniversalTodos devem poder reutilizar e redistribuir os dados sem discriminação quanto à campos de atuação, pessoas ou grupos.

Dados Abertos - Portais 20

dados.gov.br

data.gov

europeandataportal.eu

Dados Conectados

21

Dados Conectados 22

Resource Description Framework - RDF 23

Sujeito Objeto(Valor)

Predicado

RDF com URIs 24

http://exemplo.org/pessoa/13 Joãohttp://exemplo.org/nome

Linked Open Data (LOD) 25Fonte: http://eis-bonn.github.io/Luzzu/

APIs

26

APIs 27

API

Bases de Dados Aplicações

APIs 28

Requisições e Respostas FormatadasRequisições e respostas são formatadas e pré-estabelecidas pelos desenvolvedores através do contrato de cada função ou endpoint.

Registro PrévioAs APIs em geral requerem um registro prévio das aplicações consumirão seus dados. Após registrar, desenvolvedor recebe uma chave para realizar e autenticar suas requisições.

Limite de RequisiçõesBoa parte das APIs disponíveis para consulta limitam o número de requisições que podem ser realizadas pelos usuários. Comumente medido em requisições/período de tempo ou tempo.

APIs Disponíveis 29

Páginas Web

30

Páginas da Web 31

Page

Page

Page

Page

Page

Page

Page

Page

web

Páginas da Web - HTML 32

33

Páginas da Web 34

Dados em Tags HTMLOs dados em páginas da web estão organizados tags HTML ou em seus atributos.A obtenção do dado é feita percorrendo o arquivo e extraindo os dados nesses locais.O processo muitas vezes é referido como scraping.

Limite de RequisiçõesLimite de requisições é definido no arquivo “robots.txt” presente na raíz dos websites.Geralmente medido em intervalo de tempo entre requisições (Crawl-delay).

MÉTODOS DE COLETA

35

Métodos de Coleta

36

◉ Breadth-First Search (BFS)

◉ Depth-First Search (DFS)

◉ SnowBall

◉ Random Walk (RW)

◉ Metropolis-Hastings Random Walk (MHRW)

Métodos de Coleta

37

◉ Breadth-First Search (BFS)

◉ Depth-First Search (DFS)

◉ SnowBall

◉ Random Walk (RW)

◉ Metropolis-Hastings Random Walk (MHRW)

Breadth-First Search (BFS) 38

Relashionship

Relashionship

Relashionship

Profundidade (Depth)

Breadth-First Search - Redes Sociais 39

Amizade

Profundidade (Depth)

Amizade

Amizade

Breadth-First Search - Páginas da Web/Wikipédia 40

Link

Profundidade (Depth)

Link

Link

Breadth-First Search - Redes Sociais Acadêmicas 41

Co-autor

Profundidade (Depth)

Co-autor

Co-autor

Autor

Paper

Breadth-First Search - Redes Sociais Acadêmicas 42

Co-autor

Co-autor

Co-autor

Profundidade (Depth)

Integração de DadosDefinição

3

43

Desafios

44

◉ Heterogêneos, não-estruturados ou semi-estruturados

◉ Modelos distintos

◉ Diferentes representações para objetos do mundo real

◉ Não confiáveis

Devido aos

próprios dados

A integração de dados consiste em combinar dados de

diferentes fontes para obter informações valiosas.

ETL (Extract Transform Load)

Principais etapas para integração de dados de múltiplas fontes. 46

240.000 pessoasbuscam pelo termo "ETL" por mês

ETL ou Integração de dados?

74.000 pessoasbuscam por "data integration" por mês

47

48

Integração de Dados

Limpeza dos dados

ETL

Perfil dos dados

Modelagem dos dados

Segurança dos dados

Dados estruturados

e não estruturados

Suporte à integração em tempo

realFusão dos dados

Integração de DadosAbordagens

49

Coletar ConsultarArmazenarIntegrado

Integração de DadosAbordagens

50

Coletar

Consultar

Armazenar

Integrar

Integração de DadosAbordagens

51

Coletar

Consultar

Armazenar

Integrar

Lago de dados (Data Lake)

Estratégias para Integração de Dados

52

◉ Sistemas de mediação - esquema global Golshan et al. [2017]

◉ Processamento de linguagem naturalMa et al. [2017]

◉ Abordagem bayesiana

Wang et al. [2017]

Estratégias para Integração em BD Relacional

Vertical

Tabelas com essencialmente as mesmas informações são concatenadas.

Horizontal

Diferentes tipos de dados são combinados com o objetivo de enriquecer uma tabela existente.

53

54

Exemplo: estratégia horizontal

id nome sobrenome gênero

c2 Joana Oliveira F

c5 Isis Lima F

c7 Rafael Silva M

... ... ... ...

cliente_id item_id preço

c2 i254 12,50

c5 i4245 1,99

c5 i32123 1,29

c5 i254 12,50

c5 i21435 5,99

c7 i254 12,50

... ... ...

item_id preço nome sobrenome gênero

i254 12,50 Joana Oliveira F

i4245 1,99 Isis Lima F

i32123 1,29 Isis Lima F

i254 12,50 Isis Lima F

i21435 5,99 Isis Lima F

i254 12,50 Rafael Silva M

... ... ... ... ...

Pré-processamentoDesafios no pré-processamento dos dados

4

55

Pré-processamento dos dados

56

◉ Dados coletados da web fornecem vários recursos para os pesquisadores

◉ Geralmente contam com alguns principais problemas:○ Dados incompletos○ Veracidade dos dados○ Duplicidade dos dados○ Ausência de padronização○ Redução de dados

Pré-processamento dos dados

57

Dados Incompletos

58

Nenhum valor armazenado em alguma variável○ Extrair de outra fonte?○ Remover valores?○ Substituir por default?

Dados Incompletos

59

Alves et al., 2016

GHTorrentInformações sobre

quantidade de commits

Dados Incompletos

60

GHTorrentDados sobre quantidade

de commits

Dados sobre linhas adicionadas e deletadas

em cada commit

Alves et al., 2016

Dados Incompletos

61

Dados divergente entre si

Projetos inexistentes ou transformados em particulares

Definição dos autores

Exclusão dos commits que não possuíam informação

Alves et al, 2016

Veracidade dos Dados

62

Melhoria da precisão dos dados○ Vieses○ Ruídos○ Anormalidades

Veracidade dos Dados

63

Geerts et al., 2018

DeFacto - Deep Fact Validation○ Estrutura de validação tripla em bases de

conhecimento○ Reconhecimento e verbalização da entidade

nomeada

Remoção de Duplicatas

64

◉ Dados duplicados podem ocorrer entre fontes distintas ou até mesmo na mesma origem

◉ Podem ser utilizados recursos de contexto para identificar duplicatas

Remoção de Duplicatas

65

de Souza Silva et al., 2018

Indexação Classifica-ção

Compara-ção de

Registros

Remoção de Duplicatas

66

de Souza Silva et al., 2018

◉ Seleção dos melhores atributos para a indexação○ Não utiliza técnicas de aprendizado de máquina○ Não exige a intervenção de especialistas

◉ Conjunto de métricas○ Duplicidade○ Distinção○ Densidade○ Repetição

Redução dos Dados

67

◉ Problema de minimizar a quantidade de dados a serem armazenados no conjunto de dados

◉ Soluções incluem○ Minimizar dados (outra forma de

armazenamento)○ Amostragem sem perda de generalidade

Redução dos Dados

68

Batista et al., 2017

Conjunto muito grande de repositórios

Redução dos Dados

69

Batista et al., 2017

Seleção de linguagens de programação específicas○ Maior número de repositórios○ Apenas repositórios ativos

Redução dos Dados

70

Batista et al., 2017

Ausência de Padronização

71

◉ Conjunto de dados heterogêneo e com formatos diferentes

◉ Reestruturação de dados em formato comum

Aplicações ReaisEstudos que utlizaram dados de mútiplas fontes

5

7272

Aplicações Reais

73

◉ Identificação de dados do Perfil de Usuários em Redes Sociais

Farnardi [2018]

◉ Visualização de Dados de Pesquisadores

Brandão [2018]

◉ Predição de Efeitos Colaterais de Medicamentos

Ma et al. [2017]

◉ Arcabouço para a Estimativa Automática da Qualidade na Web 2.0

Dalip et al. [2017]

Como o usuário pode determinar a qualidade da informação que ele acessa?Dalip et al., 2017

74

◉ Já existem meios manuais para tentar garantir a qualidade do conteúdo

◉ Problemas da Avaliação manual:○ Tamanho da coleção○ Velocidade que expande

◉ Possível Solução: Avaliar automaticamente a qualidade de conteúdo.

Como o usuário pode determinar a qualidade da informação que ele acessa?Dalip et al., 2017

75

◉ Diversos autores definem que a qualidade pode ser vista como um conceito multidimensional

◉ Tejay, et al. [2006] agrupou dimensões de qualidade em níveis semióticos. ○ Sintático, Semântico e Pragmático

◉ Dimensões são estimadas por indicadores

◉ Indicadores são extraídos de fontes

Fontes de dados - Wikipédia Dalip et al., 2017

76

Fontes de dados - Wikipédia Dalip et al., 2017

77

# Seções# Citações# Imagens

...

# letras# erros ort.Métricas de legibilidade

# de R# de R feitas por U registrados

...

# de documentos editados por UMédia de edições por D de U

...

Grau de entrada de DPagerank de D

...

Fontes de dados - Wikipédia Dalip et al., 2017

78

# Seções# Citações# Imagens

...

# letras# erros ort.Métricas de legibilidade

# de R# de R feitas por U registrados

...

# de documentos editados por UMédia de edições por D de U

...

Grau de entrada de DPagerank de D

...

Nível SintáticoAparênciaCorretude

OrganizaçãoLegibilidade

...

Fontes de dados - Wikipédia Dalip et al., 2017

79

# Seções# Citações# Imagens

...

# letras# erros ort.Métricas de legibilidade

# de R# de R feitas por U registrados

...

# de documentos editados por UMédia de edições por D de U

...

Grau de entrada de DPagerank de D

...

Nível SemânticoCoerência

ConfiabilidadeRedundância

...

Fontes de dados - Wikipédia Dalip et al., 2017

80

# Seções# Citações# Imagens

...

# letras# erros ort.Métricas de legibilidade

# de R# de R feitas por U registrados

...

# de documentos editados por UMédia de edições por D de U

...

Grau de entrada de DPagerank de D

...

Nível PragmáticoAdequabilidade

ImportânciaMaturidade

...

Formas de Coleta - Wikis

◉ Dump ○ Wikipédia: https://dumps.wikimedia.org/enwiki○ Wikia:

http://starwars.wikia.com/wiki/Special:Statistics

◉ API (Wikipédia):○ https://en.wikipedia.org/wiki/Special:Export

◉ Extração do conteúdo do HTML

81

Coleta de Cada Fonte - Wikipédia Dalip et al., 2017

Dump

◉ Grafo ◉ Documentos ◉ Texto atual

API

◉ Histórico de Edições ◉ Info. de Cada Usuário

82

Método Multivisão para Estimativa da QualidadeDalip et al., 2017

83

ArtigoWiki

Estruturado Artigo

Grafodo Artigo

Históricodo Artigo...

Modelo 1 Modelo 2 Modelo 3

Combinador

1.3 3.3 3.5

3.5

https://github.com/daniel-hasan/multiview-method

Avaliação - Amostras UtilizadasDalip et al., 2017

84

Amostra # de artigos Tamanho do Grafo Data da Coleta

WIKIPEDIA 3.294 Arestas: 86.077.675Vértices: 3.185.457 jan/2008

MUPPETS 1.550 Arestas: 282.568Vértices: 29.868 set/2009

StarWars 1.446 Arestas: 1.017.241Vértices: 106.434 out/2009

Amostras disponíveis em: http://www.lbd.dcc.ufmg.br/lbd/collections/wiki-quality

Metodologia de AvaliaçãoDalip et al., 2017

85

◉ Baseline: SVR sem usar multivisão

◉ Métrica para Comparação: Mean Squared error

◉ Avaliação Manual○ Wikipedia e StarWars: Comunidade avalia

manualmente quanto a qualidade○ Muppets: Usuários pontuam artigos de 1 a 5 estrelas

Avaliação - ResultadosDalip et al., 2017

86

Amostra Método MSE % Ganho

SVR 0,887

MVIEW 0,873* 1,6%

MVIEW 0,834* 5,9%

SVR 0,084

MVIEW 0,058* 30,9%

MVIEW+F0 0,068* 19%

SVR 1,69

MVIEW 1,693 -0,2%

MVIEW+F0 1,703 -0,8%

* = Diferenças estatisticamente significativas

ConclusõesFinalizando

6

8787

Conclusões

88

◉ PROBLEMA: lidar com fontes de dados heterogeneas

◉ Grandes DESAFIOS *antes* de fazer qualquer pesquisa ○ Coleta○ Integração○ Pré-processamento

◉ Aplicações discutidas○ Predição da qualidade de artigos em Wikis○ Efeitos colaterais em medicamentos○ Visualização de dados de pesquisadores

Tem *muito* mais, inclusive em artigos publicados aqui no SBBD

89

Dúvidas?

Contato

natercia@dcc.ufmg.br

Links úteis

bit.ly/proj-apoena

www.labcsx.dcc.ufmg.br

Agradecimentos

90

Recommended