Norma para a Elaboração Gráfica de Teses/Dissertações · Figura 11 – Cálculo de...
Transcript of Norma para a Elaboração Gráfica de Teses/Dissertações · Figura 11 – Cálculo de...
RESOLUÇÃO DE ENTIDADES UTILIZANDO MULTIDÕES
Jacson Hwang
Dissertação de Mestrado apresentada ao Programa
de Pós-graduação em Engenharia de Sistemas e
Computação, COPPE, da Universidade Federal do
Rio de Janeiro, como parte dos requisitos
necessários à obtenção do título de Mestre em
Engenharia de Sistemas e Computação.
Orientador(es): Jano Moreira de Souza
Rio de Janeiro
Outubro de 2014
RESOLUÇÃO DE ENTIDADES UTILIZANDO MULTIDÕES
Jacson Hwang
DISSERTAÇÃO SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO
LUIZ COIMBRA DE PÓS-GRADUAÇÃO E PESQUISA DE ENGENHARIA (COPPE)
DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS
REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE MESTRE EM
CIÊNCIAS EM ENGENHARIA DE SISTEMAS E COMPUTAÇÃO.
Examinada por:
________________________________________________
Prof. Jano Moreira de Souza, Ph.D.
________________________________________________
Prof. Geraldo Bonorino Xexéo, D.Sc.
________________________________________________
Prof.ª Ana Maria de Carvalho Moura, D.Sc.
RIO DE JANEIRO, RJ - BRASIL
OUTUBRO DE 2014
iii
Hwang, Jacson
Resolução de Entidades Utilizando Multidões/ Jacson
Hwang. – Rio de Janeiro: UFRJ/COPPE, 2014.
XIV, 121 p.: il.; 29,7 cm.
Orientador: Jano Moreira de Souza
Dissertação (mestrado) – UFRJ/ COPPE/ Programa de
Engenharia de Sistemas e Computação, 2014.
Referências Bibliográficas: p. 100-106.
1. Crowdsourcing. 2. Resolução de Entidade. I. Souza,
Jano Moreira de. II. Universidade Federal do Rio de
Janeiro, COPPE, Programa de Engenharia de Sistemas e
Computação. III. Título.
iv
Agradecimentos
Agradeço primeiramente a Deus, Senhor e salvador da minha vida.
Agradeço também Hwang Shun Li e Chen Ching Yueh, aqueles que me geraram
e tem cuidado de mim até os dias de hoje.
Agradeço aos meus irmãos André Hwang e Ivan Hwang que me auxiliam a todo
instante.
Ao Professor Jano, orientador excepcional, pela oportunidade e paciência na
realização deste trabalho, que espero fazer jus a confiança dedicada a mim.
A Sérgio Rodrigues e Marcio Antelio, meus coorientadores, pela disposição e boa
vontade em me ajudar em todas as horas, cada um ajudando na forma como pode.
Aos professores Geraldo Bonorino Xexéo e Ana Maria de Carvalho Moura, por
aceitarem fazer parte da banca examinadora, abrindo mão de seus compromissos e
sacrificando o tempo de suas agendas.
Aos companheiros de trabalho que auxiliaram na construção do sistema.
A todos aqueles que contribuíram diretamente e indiretamente com a pesquisa
realizada, parte fundamental deste trabalho.
v
Resumo da Dissertação apresentada à COPPE/UFRJ como parte dos requisitos
necessários para a obtenção do grau de Mestre em Ciências (M.Sc.)
RESOLUÇÃO DE ENTIDADES UTILIZANDO MULTIDÕES
Jacson Hwang
Outubro/2014
Orientador: Jano Moreira de Souza
Programa: Engenharia de Sistemas e Computação
É notável a facilidade da criação de novas bases de dados, tornando esta, que era
uma tarefa difícil, algo trivial. É comum uma instituição criar múltiplas bases de dados
que mantém referências às mesmas entidades no mundo real, como pessoas, produtos e
endereços, por exemplo. Ou seja, é evidente a redundância de informações em diferentes
fontes de dados. Isto pode acarretar inconsistências indesejadas e é um empecilho em
atividades posteriores de mineração de dados e Business Intelligence. Resolução de
Entidade é um processo que determina se duas referências ao mundo real são, na
realidade, referências à mesma entidade. Crowdsourcing é o ato de reunir um grupo de
pessoas desconhecidas a fim de realizar diversos tipos de tarefas. Essas tarefas podem
exigir inteligência, raciocínio lógico, expertise e criatividade, tornando a multidão uma
forte candidata na resolução de entidades. Desta forma, o objetivo deste trabalho é propor
um modelo capaz de explorar e potencializar a capacidade da multidão sem comprometer
a qualidade dos dados, fator essencial para a resolução de entidades.
vi
Abstract of Dissertation presented to COPPE/UFRJ as a partial fulfillment of the
requirements for the degree of Master of Science (M.Sc.)
ENTITY RESOLUTION USING CROWD
Jacson Hwang
October/2014
Advisor: Jano Moreira de Souza
Department: Systems and Computer Engineering
It is remarkable the simplicity of the creation of new databases, turning this task,
which was a difficult one, into something trivial. It is common for an institution to create
multiple databases that maintain references to the same entities in the real world, such as
people, products and addresses, for example. That is, it is evident the redundancy of
information in different sources of data. It can cause undesirable inconsistencies and it is
a hindrance to later activities of data mining and Business Intelligence. Entity Resolution
is a process that determines if two references of the real world are, actually, references to
the same entity. Crowdsourcing is the act of gathering a group of unknown people in
order to realize many types of tasks. These tasks may require intelligence, logical
reasoning, expertise and creativity, turning the crowd into a strong candidate in the entity
resolution. This way, the objective of this work is to propose a model capable of exploring
and potentiating the capability of the crowd without compromising the quality of the data,
essential fact to the entity resolution.
vii
Sumário
Agradecimentos .......................................................................................................... iv
Lista de Figuras ........................................................................................................... x
Lista de Tabelas ........................................................................................................ xii
Lista de Abreviaturas .............................................................................................. xiv
1. Introdução ............................................................................................................... 1
1.1. Objetivos ............................................................................................................ 2
1.2. Limitações do estudo .......................................................................................... 2
1.3. Organização do trabalho ..................................................................................... 2
2. Sabedoria das Multidões ......................................................................................... 4
2.1. Características das multidões .............................................................................. 4
2.1.1. Diversidade ................................................................................................. 5
2.1.2. Independência ............................................................................................. 5
2.1.3. Descentralização ......................................................................................... 6
2.2. Crowdsourcing ................................................................................................... 6
2.2.1. Características ............................................................................................ 7
2.2.2. Qualidade no contexto de multidão ............................................................ 10
2.2.3. Aplicações ................................................................................................. 16
2.3. Considerações Gerais ....................................................................................... 20
3. Resolução de Entidades......................................................................................... 21
3.1. Entidade, referência e instância ........................................................................ 22
3.2. Terminologia .................................................................................................... 23
3.2.1. Deduplicação de Dados ............................................................................. 24
3.2.2. Record Linkage.......................................................................................... 25
3.2.3. Merge - Purge ........................................................................................... 25
3.3. Princípios de Resolução de Entidades ............................................................... 26
3.4. Atividades de Resolução de Entidades .............................................................. 27
3.4.1. ERA 1 – Extração de Referência de Entidade ............................................ 28
3.4.2. ERA 2 – Preparação de Referência de Entidade ........................................ 29
3.4.3. ERA 3 – Resolução de Referência de Entidade........................................... 30
3.4.4. ERA 4 – Gerenciamento de Identidade de Entidade ................................... 34
viii
3.4.5. ERA 5 – Análise de Relação de Entidade ................................................... 38
3.5. Técnicas de Matching ....................................................................................... 39
3.5.1. Casamento Direto (Direct Matching) ......................................................... 39
3.6. Sistemas ER ..................................................................................................... 42
3.6.1. DataFlux dfPowerStudio ........................................................................... 42
3.6.2. Infoglid Identity Resolution Engine ............................................................ 42
3.6.3. OYSTER .................................................................................................... 43
3.7. Métricas de ER ................................................................................................. 44
3.7.1. Talburt-Wang Index (TWI)......................................................................... 44
3.7.2. Recall e precision ...................................................................................... 46
3.7.3. Medida Pairwise e Cluster-level ................................................................ 47
3.7.4. F-Score ...................................................................................................... 48
3.7.5. Eficácia ..................................................................................................... 49
3.8. Resolução de Entidades utilizando a multidão .................................................. 49
3.8.1. A multidão ................................................................................................. 49
3.8.2. Aplicações ................................................................................................. 50
3.8.3. Experimentos ............................................................................................. 56
3.8.4. Experimento da ferramenta Corleone ........................................................ 58
3.8.5. Experimento do Desafio de ER .................................................................. 59
3.9. Considerações Gerais ....................................................................................... 62
4. Proposta ................................................................................................................. 63
4.1. Motivação ........................................................................................................ 63
4.2. Definições ........................................................................................................ 64
4.3. Etapas .............................................................................................................. 65
4.3.1. Etapas ....................................................................................................... 67
4.4. Ferramenta ....................................................................................................... 72
4.4.1. Tecnologias ............................................................................................... 72
4.4.2. Etapas ....................................................................................................... 74
4.5. Considerações Gerais ....................................................................................... 83
5. Experimento e Estudo de Caso ............................................................................. 84
5.1. Metodologia ..................................................................................................... 84
5.2. Estudo de Caso ................................................................................................. 85
5.2.1. Motivação.................................................................................................. 85
ix
5.2.2. Fontes de Dados ........................................................................................ 86
5.2.3. Entidade Produto....................................................................................... 86
5.3. Perfil dos dados ................................................................................................ 88
5.4. Resultados ........................................................................................................ 88
5.4.1. Participação de usuários ........................................................................... 89
5.4.2. Comportamento na tarefa x número de ocorrências ................................... 89
5.4.3. Tempo de execução x número de ocorrências ............................................ 90
5.4.4. Usuários x ocorrência ............................................................................... 91
5.4.5. Cálculo de Similaridade entre os resultados da multidão e gabarito .......... 92
5.5. Perfil e respostas dos testadores ........................................................................ 95
5.6. Considerações Gerais ....................................................................................... 96
6. Conclusão e Trabalhos Futuros ............................................................................ 98
Referências Bibliográficas ...................................................................................... 100
Apêndices ................................................................................................................ 107
x
Lista de Figuras
Figura 1 – Exemplo de um simples MER (elaborado pelo autor) ................................. 22
Figura 2 – Em ordem, as Cinco Maiores Atividades de ER (adaptado de TALBURT
(2010)) ........................................................................................................................ 28
Figura 3 – Referências correspondentes e equivalentes (adaptado de TALBURT (2010))
................................................................................................................................... 32
Figura 4 – Histórico de Ocupações (adaptado de TALBURT (2010)) .......................... 37
Figura 5 – Relação entre referências (adaptado de TALBURT (2010)) ........................ 39
Figura 6 – Fórmula para Comparador de String de Jaro (adaptado de JARO (1989)) ... 41
Figura 7 – Fórmula de Distância de Jaro-Winkler (adaptado de TALBURT (2010)) .... 41
Figura 8 – Fórmula de similaridade de Jaccard (adaptado JACCARD (1901)) ............. 42
Figura 9 – Fórmula para o cálculo do conjunto V (adaptado de TALBURT (2010)) .... 44
Figura 10 – Fórmula para o cálculo de TWI (adaptado de TALBURT et al.(2007)) ..... 44
Figura 11 – Cálculo de similaridade (adaptado de TALBURT (2010)) ........................ 46
Figura 12 – Cálculo de recall e precision (elaborado pelo autor) ................................. 47
Figura 13 – Representação de conjuntos para cálculo de recall e precision (elaborado pelo
autor) .......................................................................................................................... 47
Figura 14 – Fórmula de Pair Precision (adaptado de TALBURT (2010)).................... 48
Figura 15 – Fórmula de Pair Recall (adaptado de TALBURT (2010))......................... 48
Figura 16 – Fórmula F-Score descrita em função de Precision, Recall e coeficiente Beta
(adaptado de GOUTTE & GAUSSIER (2005)) ........................................................... 48
Figura 17 – Fórmula de Precision e Recall descrita em falso-positivos, falso-negativos e
verdadeiro-positivos (adaptado de GOUTTE & GAUSSIER (2005)) .......................... 48
Figura 18 – Fórmula F-Score descrita em função de falso-positivos, falso-negativos,
verdadeiro-positivos e coeficiente beta (adaptado de GOUTTE & GAUSSIER (2005))
................................................................................................................................... 49
Figura 19 – Fórmula de Eficácia (adaptado de TANSEL et al. (2006)) ........................ 49
Figura 20 – Etapas e passos do modelo (elaborado pelo autor) .................................... 65
Figura 21 – Tela inicial da ferramenta CERM (elaborado pelo autor) .......................... 73
Figura 22 – Módulo Administrativo (elaborado pelo autor) ......................................... 74
Figura 23 – Módulo Administrativo – Entidades (elaborado pelo autor) ...................... 75
Figura 24 – Inserção de nome e descrição dos atributos da base de dados importada
(elaborado pelo autor) ................................................................................................. 76
xi
Figura 25 – Utilização da Ferramenta de Busca da Tarefa (elaborado pelo autor) ........ 78
Figura 26 – Painel do usuário (elaborado pelo autor) ................................................... 80
Figura 27 – Imagem extraída da ferramenta CERM, comparação de duas referências
(elaborado pelo autor) ................................................................................................. 87
Figura 28 – Análise da distribuição de usuários por fases (elaborado pelo autor) ......... 89
Figura 29 – Análise de comportamento dos usuários nas tarefas na fase de qualificação e
resolução (elaborado pelo autor) ................................................................................. 90
Figura 30 – Tempo de execução x ocorrências (elaborado pelo autor) ......................... 91
Figura 31 – Número de ocorrências necessárias para os usuários passarem da fase de
qualificação (elaborado pelo autor) ............................................................................. 92
Figura 32 – Número de ocorrências dos usuários na fase de resolução (elaborado pelo
autor) .......................................................................................................................... 92
Figura 33 – Distribuição das métricas T-W Index, precision, recall, F1-Score em função
do threshold (elaborado pelo autor) ............................................................................. 94
Figura 34 – Número de agrupamentos em função do threshold (elaborado pelo autor) 95
Figura 35 – Distribuição de participantes quanto ao conhecimento em crowdsourcing e
banco de dados (elaborado pelo autor) ........................................................................ 95
Figura 36 – Modelo de dados da ferramenta CERM (elaborado pelo autor) ............... 113
Figura 37 – Modelo de dados criado dinamicamente pela ferramenta CERM ao cadastrar
uma entidade (elaborado pelo autor).......................................................................... 114
Figura 38 – Diagrama de Classe da ferramenta CERM (elaborado pelo autor) ........... 115
Figura 39 – Diagrama de Caso de Uso da ferramenta CERM (elaborado pelo autor) . 116
Figura 40 – Diagrama de Caso de Uso Pacote Realizar tarefa da ferramenta CERM
(elaborado pelo autor) ............................................................................................... 116
Figura 41 – Função que retorna se usuário agrupou determinada referência com outra
(elaborado pelo autor) ............................................................................................... 117
Figura 42 – Cálculo do grau de similaridade entre duas referências na fase de resolução
(elaborado pelo autor) ............................................................................................... 117
Figura 43 – Exemplo de aplicação da fórmula para calcular grau de similaridade pela
votação da maioria (elaborado pelo autor) ................................................................. 118
Figura 44 - Formulário de satisfação da ferramenta CERM (elaborado pelo autor) .... 120
xii
Lista de Tabelas
Tabela 1 – Distribuição do perfil de trabalhadores (adaptado de KAZAI et al. (2011)) 12
Tabela 2 – JOHN SMITH em três formatos estruturados (adaptado de TALBURT (2010))
................................................................................................................................... 29
Tabela 3 – Classificação do Processo de Decisão de Resultados (adaptado de TALBURT
(2010)) ........................................................................................................................ 33
Tabela 4 – Cálculo de q-gram (adaptado de TALBURT (2010)) .................................. 40
Tabela 5 – O resultado de um cenário ER (E, S, ω1) (adaptado de TALBURT (2010)) 45
Tabela 6 – O resultado de um cenário ER (E, S, ω2) (adaptado de TALBURT (2010)) 45
Tabela 7 – Interseção da Matriz de (E, S, ω1) e (E, S, ω2) (adaptado de TALBURT
(2010)) ........................................................................................................................ 46
Tabela 8 - Características das ferramentas de resolução de entidades com crowdsourcing
(elaborado pelo autor) ................................................................................................. 55
Tabela 9 – Perfil dos dados do estudo da ferramenta CrowdER (adaptado de WANG et
al. (2012)) ................................................................................................................... 57
Tabela 10 – Exemplo de resultado de avaliação de times (adaptado de TALBURT et al.
(2009)) ........................................................................................................................ 58
Tabela 11 – Base de dados para o experimento da ferramenta Corleone (adaptado de
GOKHALE et al. (2014)) ............................................................................................ 59
Tabela 12 – Desempenho da ferramenta Corleone (adaptado de GOKHALE et al. (2014))
................................................................................................................................... 59
Tabela 13 – Exemplo de resultados de avaliação de times no Desafio de ER (adaptado de
TALBURT et al. (2009)) ............................................................................................ 61
Tabela 14 – Etapas do processo e técnicas correspondentes na ferramenta CERM
(elaborado pelo autor) ................................................................................................. 82
Tabela 15 – Atributos das três fontes de dados (elaborado pelo autor) ......................... 86
Tabela 16 – Perfil dos dados do experimento da ferramenta CERM (elaborado pelo autor)
................................................................................................................................... 88
Tabela 17 – Análise de métricas aplicadas ao resultado da resolução de entidade
executada pela multidão (elaborado pelo autor) ........................................................... 93
Tabela 18 - Características das ferramentas de resolução de entidades com
crowdsourcing, incluindo a ferramenta CERM (elaborado pelo autor)......................... 97
xiii
Tabela 19 - Resultado da busca por artigos da revisão sistemática (elaborado pelo autor)
................................................................................................................................. 111
Tabela 20 – Exemplo de agrupamento de referências equivalentes e sua qualidade
(elaborado pelo autor) ............................................................................................... 118
Tabela 21 - Perfil dos usuários da ferramenta CERM (elaborado pelo autor) ............. 119
Tabela 22 - Resposta para a pesquisa de satisfação (elaborado pelo autor) ................. 121
xiv
Lista de Abreviaturas
CSV – Comma-Separated Values
EM – Entity Matching
ER – Entity Resolution
ERA – Entity Resolution Activity
ERM – Entity-Relation Model
ETL – Extract Transform Load
HIT – Human Intelligence Tasks
HOC – Hands-off Crowdsourcing
IRE – Identity Resolution Engine
LOD – Linked Open Data
MDM – Master Data Management
MVC – Model-view-controller
OO – Orientado a Objetos
OYSTER – Open sYSTem Entity Resolution
RL – Record Linkage
SERF –Stanford Entity Resolution Framework
SBGD – Sistema de Gerenciamento de Banco de Dados
SBGDR – Sistema de Gerenciamento de Banco de Dados Relacional
SOG – Synthetic Occupancy Generator
SR – Revisão Sistemática
TWI – Talburt-Wang Index
UTI – Unstructured Textual Information
XML – eXtensible Markup Language
1
1.Introdução
O grande crescimento no volume de dados na Web, bem como a popularização
de atividades extremamente dependentes de dados, tais como: integração dos dados,
mineração dos dados, business intelligence, fazem com que se dê cada vez mais
importância à qualidade desses dados.
Atualmente, a informação é cada vez mais vista como um ativo organizacional
(REDMAN, 2008) que não só conduz os processos operacionais, mas de onde pode ser
extraído conhecimento (CHAN et al., 2009) usado para melhorar o desempenho
organizacional e ajudar a organização a ganhar vantagem competitiva no mercado.
Dentre os problemas que afetam a qualidade dos dados, a duplicidade de
registros ocorre de maneira frequente. Resolução de Entidades tem como objetivo
primário identificar referências que indicam o mesmo objeto no mundo real. A forma
mais comum para executar o processo de busca às referências duplicadas ocorre através
de algoritmos computacionais otimizados para tal tarefa.
Os algoritmos estão longe da perfeição quando o assunto é tratar referências que
representam o mesmo objeto do mundo real. É nesse momento que a sabedoria da
multidão pode auxiliar nessas inúmeras possibilidades de comparação (SUROWIECKI,
2006, LEVY, 2007). Adotando o conceito de computação humana (VON AHN, 2005),
apenas o poder de processamento humano é capaz de resolver determinadas tarefas.
Os trabalhos que procuram relacionar a multidão com a resolução de entidades
focam principalmente na abordagem híbrida, envolvendo técnicas e algoritmos com o
esforço da multidão. Tal abordagem foca em escalabilidade, uma vez que a maior parte
dos dados é processada computacionalmente.
Entretanto, é possível observar que nas abordagens propostas a multidão tem
sua capacidade bastante limitada, de modo que somente são criadas tarefas de
complexidade extremamente baixa. Este trabalho propõe uma abordagem em que a
multidão se torne mais presente no processo de resolução de entidades. Esta atitude
possibilita tornar o modelo mais genérico de forma a abranger mais situações, como
detectar referências equivalentes a partir de referências que não necessariamente têm
exatamente os mesmos atributos. Tal liberdade ainda permite a multidão avaliar
referências que contenham outros tipos de mídias, como áudio e vídeo, por exemplo.
Entretanto, esta liberdade em um primeiro momento, contribui para a diminuição da
2
qualidade dos dados, porém o modelo proposto foi projetado para atentar a essa questão
tão importante.
1.1.Objetivos
Os objetivos deste trabalho são:
1. Criar um modelo que permita maior participação da Multidão na Resolução
de Entidades possibilitando a entrada de dados de diversas bases e com
diferentes atributos agregando estratégias de qualidades.
2. Avaliar a eficiência do modelo utilizando métricas de qualidade adequadas ao
contexto de resolução de entidades.
3. Elaborar uma forma de aplicação do modelo de fácil entendimento e uso por
administradores de dados.
1.2.Limitações do estudo
O trabalho, embora realize uma abordagem de resolução de entidades, é
limitado, pois não contempla todas as atividades de resolução de entidades descritas na
seção 3.4. O modelo de processo sugerido tem seu foco na etapa principal de ER
(ERA3), que consiste na busca e agrupamento de referências que indiquem a mesma
entidade chamadas de referências equivalentes.
Outra limitação é a escalabilidade do processo deste trabalho. Como a
abordagem do processo envolve particularmente a multidão, isto é, não é envolvido
nenhum algoritmo computacional de filtragem de referências para diminuir a
quantidade de registros. As velocidades de resoluções dependem da quantidade de
usuários que estão realizando as tarefas. Entretanto, essa abordagem tem como objetivo
principal a eficácia e não a velocidade somente.
1.3.Organização do trabalho
O Capítulo 1 apresenta o escopo do problema a ser tratado, assim como as suas
limitações. A organização do trabalho e os objetivos a serem alcançados pela pesquisa
também são retratados nesse capítulo.
3
O Capítulo 2 apresenta uma revisão de literatura sobre um dos principais temas
dessa dissertação: crowdsourcing. Outro tema indiretamente relacionado a área, porém
essencial para este estudo, a Qualidade de Dados associado a Multidão, serão revisados
neste capítulo.
O Capítulo 3 aborda o tema central deste trabalho, apresentando conceitos
fundamentais de resolução de entidades. Além disso, apresenta as técnicas e algoritmos
mais utilizados nessa área. Ao fim deste capítulo é abordado alguns trabalhos que
aplicaram sistemas crowdsourcing no contexto de resolução de entidades.
O Capítulo 4 descreve o modelo de processo que engloba a resolução de
entidades com estratégias de qualidade de dados proposto por esse trabalho. O capítulo
segue descrevendo a maneira como o modelo pode ser aplicado em casos reais. Além
disso, a ferramenta CERM é descrito como prova funcional do modelo.
O Capítulo 5 contempla o relato dos experimentos realizados, incluindo a
justificativa para a utilização das métricas de desempenho, base de dados e estratégias
de qualidade de dados no modelo.
O Capítulo 6 traz a conclusão do trabalho com relato dos objetivos alcançados
e trabalhos futuros que esta dissertação poderá gerar.
Na parte final deste trabalho, são apresentados as Referências Bibliográficas e
os Apêndices da pesquisa.
4
2.Sabedoria das Multidões
Em seu livro, The Wisdom of Crowds, SUROWIECKI (2005) utiliza o termo
homólogo pela primeira vez e argumenta que um grupo se comporta de maneira
impressionantemente inteligente, se colocado sob circunstâncias apropriadas. Ainda
mais, afirma que estes grupos, na maioria das vezes, são mais inteligentes do que um
indivíduo sozinho no seu melhor estado (SUROWIECKI, 2006). O autor, de maneira
geral, define a sabedoria das multidões como uma inteligência coletiva, que é
construída a partir da agregação de avaliações individuais sob condições adequadas.
Segundo LÉVY (1998), inteligência coletiva é como “[...] uma inteligência
distribuída por toda parte, incessantemente valorizada, coordenada em tempo real, que
resulta uma mobilização efetiva das competências”. O autor ainda afirma que o
principal objetivo dessa inteligência é o reconhecimento e o enriquecimento mútuo
(LÉVY, 1998).
Este capítulo tem como objetivo explorar e expor as principais características
relacionadas à sabedoria da multidão e o conceito de Crowdsourcing. Também será
abordado como a qualidade da multidão influencia no resultado final de uma tarefa, e
como o design deve ser construído a fim de otimizar o esforço da multidão. O capítulo
é encerrado com as considerações gerais de como este trabalho adota algumas das
estratégias apresentadas.
2.1.Características das multidões
Algumas condições devem ser atendidas para garantir a sabedoria da multidão:
diversidade, independência e descentralização. A seguir, as três características serão
detalhadas:
5
2.1.1.Diversidade
O conhecimento consolidado por um grupo heterogêneo é mais significativo
porque cada membro pode contribuir com diferentes perspectivas sobre um mesmo
assunto, enquanto em grupos homogêneos cada membro contribui muito pouco para o
todo pelo fato de serem muito próximos (MARCH, 1991).
PAGE (2007, p.162) afirma que, em condições específicas, “[...] um grupo de
solucionadores aleatórios de problemas supera em desempenho um grupo constituído
pelos melhores solucionadores”1 . Essas condições específicas reforçam a ideia de que
nem todo grupo aleatório conseguiria executar algo como projetar uma plataforma de
petróleo, por exemplo.
O conceito de diversidade pode ser divido ainda em: diversidade de identidade,
habilidades e postura política (BRABHAM, 2007). A identidade, por exemplo, seria o
gênero, raça, nacionalidade ou religião.
As diversidades nas habilidades específicas contribuem para a resolução de
problemas complexos. À medida que um grupo recebe membros com as mais variadas
habilidades, maiores são as chances de o grupo resolver problemas de diferentes níveis
e áreas de conhecimento (BRABHAM, 2007).
A última diversidade é bem específica, pois diz respeito à solução de problemas
referentes a grupos políticos diferentes.
2.1.2.Independência
Decisões coletivas têm melhores resultados quando tomadas por pessoas
diferentes e de formas independentes, fundamentadas principalmente em opiniões
pessoais (SUROWIECKI, 2006 p.86). A independência contribui para a consolidação
das informações de modo que as pessoas não sejam influenciadas por outras e, além
disso, contribui para que erros cometidos não se propaguem.
Ainda mais, quanto mais as pessoas se utilizam de sua própria experiência e
opinião, maiores são as chances de agregar conhecimentos diversificados para o grupo.
1 Tradução do autor para: “[...] a randomly selected collection of
problem solvers outperforms a collection of the best individual problem
solvers."
6
2.1.3.Descentralização
SUROWIECKI (2006) afirma que a melhor solução para pessoas orgulhosas,
egoístas e tímidas trabalharem de forma ótima é através de um sistema descentralizado.
O motivo é devido a esses sistemas criarem um ambiente favorável em que
pessoas com dificuldades de trabalho em equipe cooperem sem restrições.
Um sistema descentralizado tem como ponto forte a opinião dos indivíduos,
diferentemente de um sistema centralizado, onde as ordens e decisões são acatadas por
todos e as opiniões pessoais não tem tanta relevância.
Uma desvantagem dessa abordagem é a inexistência de garantias de que uma
informação importante encontrada em uma parte do sistema seja disponibilizada para o
restante do sistema.
2.2.Crowdsourcing
Jeff Howe e Mark Robinson (HOWE, 2006a) criaram o termo Crowdsourcing,
entretanto o termo foi utilizado pela primeira vez por HOWE (2006b). O termo é
composto por duas palavras, crowd (multidão) e outsourcing (terceirização), que em
linhas gerais pode ser interpretado como a terceirização de tarefas para a multidão
solucionar.
Uma definição mais formal, dada por um dos criadores (HOWE, 2006a) do
termo seria “[...] o ato de uma companhia ou instituição escolher uma função
desenvolvida por um empregado e terceirizá-la para uma rede de pessoas indefinidas (e
geralmente grande) na forma de chamado aberto”2.
Segundo BRABHAM (2008), crowdsourcing é um “[...] modelo estratégico
para atrair uma multidão interessada e motivada de indivíduos capazes de prover
2 Tradução do autor para: “[...] the act of a company or institution
taking a function once performed by employees and outsourcing it to an
undefined (and generally large) network of people in the form of an
open call.”
7
soluções superiores em qualidade e quantidade em comparação às soluções tradicionais
oferecidas por empresas”3.
HOWE (2008) afirma ainda que a área de crowdsourcing está emergindo como
um meio economicamente viável de intensificação de esforços que requerem
intervenção humana.
Uma definição mais abrangente é a adotada por QUINN & BEDERSON (2011),
que define crowdsourcing como o ato de explorar as habilidades de pessoas com o
objetivo de atingir um bom resultado como, por exemplo, a resolução de um problema
ou apoiar a tomada de uma decisão. Consideramos esta definição mais adequada para
ser relacionada aos outros conceitos abordados neste trabalho.
2.2.1.Características
Existe uma enorme dificuldade em classificar os padrões de práticas de
crowdsourcing. Alguns exemplos são as diferentes formas que cada autor utiliza para
realizar essa avaliação (GEIGER et al., 2011, QUINN & BEDERSON, 2009, HOWE,
2009).
Esta seção tem como objetivo classificar as mais diversas variedades de
sistemas de crowdsourcing disponíveis.
2.2.1.1.Tipos
A classificação dos tipos de crowdsourcing varia de autor para autor. SCHENK
& GUITTARD (2011) classificam os sistemas em três tipos, de acordo com as tarefas:
simples, complexas e criativas.
Em geral, as tarefas simples são coletas de dados, categorização de produtos,
não necessitando de especialização por parte do usuário. As tarefas complexas
necessitam de conhecimento específico e em geral oferecem recompensas monetárias.
As tarefas criativas exigem certo nível de abstração e criatividade para serem
realizadas.
3 Tradução do autor para: “[...] strategic model to attract an
interested, motivated crowd of individuals capable of providing
solutions superior in quality and quantity to those that even
traditional forms of business can”.
8
Outra abordagem é a classificação segundo a natureza de contribuição do
usuário, utilizado por HOWE (2009). Elas não são mutuamente exclusivas, sendo elas:
crowdfunding, voto, criatividade e inteligência coletiva.
No trabalho proposto, iremos adotar o conceito de tarefa simples para,
justamente, permitir que o maior número de usuários possa participar das tarefas
geradas.
2.2.1.2.Competências dos indivíduos
A competência do indivíduo é uma importante característica para um sistema
de crowdsourcing. Os critérios adotados para selecionar os usuários dependem
essencialmente do propósito do sistema. Alguns sistemas necessitam de candidatos com
conhecimentos específicos, outros, não.
QUINN & BEDERSON (2011) definem quatro tipos de pré-seleção: (1)
sistemas que exigem habilidade ou conhecimento mínimo, (2) sistemas construídos
para um nicho bem específico, por exemplo, para uso interno da empresa, (3) ambas as
abordagens anteriores e (4) nenhuma restrição.
GEIGER et al. (2011b) afirmam que a diversidade de usuários pode
comprometer a qualidade dos dados; é por isso que a avaliação da competência do
usuário é essencial para determinados sistemas.
2.2.1.3.Visibilidade de contribuições
GEIGER et al. (2011) classificam em quatro tipos a visibilidade que os usuários
têm através do sistema em relação às contribuições de outros indivíduos:
Nenhuma: o usuário não tem qualquer permissão para visualizar outras
contribuições;
Visualizar: um usuário pode apenas visualizar a contribuição de alguém;
Avaliar: o usuário pode avaliar a contribuição de outra pessoa;
Modificar: o usuário pode alterar a contribuição de outro.
É importante notar que a falta de visibilidade ou excesso dela pode comprometer a
qualidade dos dados. Alguns sistemas, como o reCAPTCHA (Seção 2.2.3.4), não
utilizam nenhum nível de visibilidade, porém, caso utilizasse pelo menos o segundo
9
nível mais restrito (Visualizar), a estratégia de forçar o usuário a transcrever a imagem
seria inútil. O Wikipedia (WIKIPEDIA, 2014), por exemplo, permite a modificação da
contribuição de outros usuários.
2.2.1.4.Motivação
A motivação é fator fundamental para manter a multidão em constante
realização das tarefas, além de influenciar na qualidade de dados. A seguir serão
apresentadas as maneiras como os sistemas motivam os seus usuários:
Recompensa
A monetização é a maneira mais comum adotada pelos grandes sistemas de
crowdsourcing como fator motivacional. Inclusive, diversas pessoas utilizam esses
sistemas como forma de complementação de renda (CHEN & DOLAN, 2011).
Entretanto, casos de trapaças também são mais comuns, uma vez que os grandes
sistemas mantêm o anonimato dos trabalhadores (QUINN & BEDERSON, 2011).
Dois exemplos de grandes sistemas seriam o Amazon Mechanical Turk4 e o
CrowdFlower5, que monetizam cada tarefa executada pelos trabalhadores. Em geral os
preços giram em torno dos centavos.
A recompensa é mais ampla do que somente a monetização. Exemplos como o
Gift cards, muito comum nos Estados Unidos, ou dinheiro virtual em jogos também são
frequentes neste cenário (QUINN & BEDERSON, 2011).
GEIGER et al. (2011) classificam a monetização em dois tipos: (1) fixa, quando
o valor da remuneração é uniforme, e (2) dependente, quando as contribuições são
avaliadas, e as de maior impacto são mais valorizadas.
Diversão
É muito comum as pessoas passarem seu tempo em diversos tipos de
entretenimentos na internet. A variedade é enorme e vai desde leitura de blogs,
visualização de vídeos até jogos online (QUINN & BEDERSON, 2011).
4 https://www.mturk.com/mturk/welcome
5 http://www.crowdflower.com
10
Aproveitando este fato, VON AHN (2005) criou diversos jogos que exploram
o passatempo das pessoas para produzir dados úteis.
Outra área que explora esse nicho são os Jogos Com Propósito (Games With a
Purpose), onde os jogos são na realidade uma interface para a contribuição de sistemas
de crowdsourcing já existentes. Os principais motivos para as pessoas jogarem é
justamente a diversão que os jogos proporcionam. O ESP Game (Seção 2.2.3.2) e o
CAPTCHINO (Seção 2.2.3.5) são Jogos Com Propósito que deram certo.
Altruísmo
Problemas importantes e que têm impacto na sociedade e no convívio como um
todo atraem a atenção de pessoas altruístas. É comum as pessoas estarem contribuindo
em sistemas de crowdsourcing apenas pelo simples fato de quererem ajudar. A
recompensa nesses casos é a satisfação em contribuir para a resolução de um problema
de objetivo maior (QUINN & BEDERSON, 2009).
Reputação
QUINN & BEDERSON (2011) afirmam que grandes organizações podem
motivar as pessoas a participarem de seus sistemas apenas por reputação, sem ao menos
serem recompensados financeiramente. Além da monetização através das propagandas,
os usuários enviam vídeos ao Youtube (YOUTUBE, 2014) também em busca de fama
e reputação, o que acaba gerando milhares de novos vídeos todos os dias (YUEN et al.,
2011).
2.2.2.Qualidade no contexto de multidão
Até alguns anos atrás, a preocupação principal era a resolução do problema de
maneira rápida e barata, e isso a multidão tinha e tem condições de oferecer. Entretanto,
a rapidez e o custo reduzido não são as únicas questões que influenciam na adoção da
multidão. A qualidade dos dados que são produzidos é tão, ou se não, mais importante
do que os outros fatores.
Muitas experiências publicadas indicam que a qualidade não acompanha a
escalabilidade (WAIS et al., 2010). Ou seja, quanto maior é o volume de dados
envolvido, a qualidade de dados produzidos pela multidão é diminuída.
11
O custo e tempo para se verificar os resultados submetidos por trabalhadores
são comparáveis à execução da tarefa em si (IPEIROTIS et al., 2010). Ainda mais, os
autores afirmam que caso sejam necessários 10 trabalhadores na execução de uma
tarefa, o custo tende a ser comparável à solução de especialistas. A redundância
exagerada aumenta significantemente os custos de soluções utilizando multidão.
Há alguns anos, autores estão avaliando o custo benefício na utilização de
crowdsourcing em ambientes pagos. Um deles foi o trabalho de SNOW et al. (2008),
que utiliza o AMT (Amazon Mechanical Turk) para gerar anotações linguísticas, como
reconhecimento afetivo e ordenação temporal de eventos. Para cada tarefa, as respostas
dos trabalhadores eram anotadas e sua qualidade mensurada baseadas nas respostas
geradas por especialistas.
As plataformas de crowdsourcing oferecem oportunidades sem precedentes na
criação de benchmarks de avaliação, entretanto sofrem de um mal: a qualidade dos
dados que varia de acordo com o trabalhador, e consequentemente do seu nível de
competência e de seus desejos (KAZAI et al., 2011).
Os trabalhadores são bem diversificados, podem ser diferentes no quesito sócio
econômico ou em habilidades e motivações. Todos esses fatores influenciam o
resultado final de uma tarefa, tornando o controle da qualidade uma tarefa bastante
difícil (ROSS et al., 2010).
Como resultado da diversidade da multidão, a qualidade dos dados pode ser
baixa, além da desonestidade, a aleatoriedade e o descuido intensificarem esta situação.
Diversos trabalhos já foram escritos com base na detecção desses tipos de
trabalhadores. Alguns analisam o tempo gasto nas tarefas (DOWNS et al., 2010,
KITTUR et al., 2008, SNOW et al., 2008) enquanto outros comparam os resultados
obtidos com um conjunto já conhecido de respostas (ALONSO & BAEZA-YATES,
2011, KAZAI, 2011).
A seguir, é apresentada uma divisão simples de como a qualidade dos dados em
sistemas de crowdsoucing é analisada atualmente pela imensa maioria de trabalhos
relacionados nessa área.
2.2.2.1.Perfil
KAZAI et al. (2011) observou um padrão de comportamento de diversos turkers
baseado no tempo de execução de um HIT (Human Intelligence Tasks – Tarefas de
12
Inteligência Humana), a acurácia e a quantidade de anotações úteis. A partir dessas
observações, foram definidos cinco perfis de trabalhadores:
Spammer: são trabalhadores maliciosos que não produzem qualquer dado útil
para a tarefa.
Descuidado: se preocupam pouco com a qualidade do seu trabalho. Estes
trabalhadores podem contribuir com uma elevada fração de respostas úteis,
mas trabalham muito rápido, gastando pouco tempo por HIT. Entretanto, a
consequência desse comportamento é a baixa precisão.
Diligente: são caracterizados por serem cautelosos ao realizar a tarefa, alto
nível de contribuição, tempo gasto maior que a média e alta acurácia dos
dados.
Incompetente: contribuem bastante na tarefa, e embora gastem um tempo
considerável por HIT, produzem apenas com baixa qualidade, muitas das
vezes devido à falta de habilidade ou competência, ou até à má compreensão
da tarefa.
Competente: são trabalhadores qualificados que têm alto nível de contribuição
e com alta precisão, além de trabalharem rápido, tornando-os trabalhadores
muito eficientes e eficazes.
Tabela 1 – Distribuição do perfil de trabalhadores (adaptado de KAZAI et al.
(2011))
Spammer Descuidado Incompetente Competente Diligente
Resultados
úteis Baixo Alto Alto Alto Alto
Tempo
médio - Baixo Alto Baixo Alto
Acurácia - Baixo Baixo Alto Alto
VUURENS et al. (2011) dedicam seu trabalho a identificação dos diferentes
tipos de perfil de trabalhadores, com foco na categoria dos spammers. O primeiro tipo
a ser comentado são os trabalhadores éticos6, aqueles que contribuem para resultados
precisos, que seguem as instruções e destinam-se a produzir resultados significativos.
6 Tradução do autor para: “ethical workers”
13
Entretanto, LE et al. (2010) relatam que até mesmo os trabalhadores éticos podem
produzir resultados de baixa qualidade. Este baixo rendimento pode ser justificado pela
não compreensão total da intenção do solicitante da tarefa, ou pela incapacidade do
trabalhador (VUURENS et al. 2011).
Estes trabalhadores éticos de baixo rendimento são chamados de trabalhadores
desleixados7 e aqueles com melhores resultados de trabalhadores adequados8.
ZHU & CARTERETTE (2011) realizaram uma análise comportamental e
constataram que uma parcela mostrou um padrão de votação rápida e alternada. Estes
trabalhadores mostram uma capacidade comportamental de trapaça ao tentar
escolherem respostas aleatórias, de modo que seria difícil ao solicitante descobrir estas
desonestidades. Ainda em VUURENS et al. (2011), é descrito um grupo que possui
precisão média de acertos, indicando assim uma aleatoriedade nas respostas. Este grupo
é intitulado como spammers aleatórios9 e se utilizam dessa técnica para não serem
detectados.
Outro grupo descrito por ZHU & CARTERETTE (2011) se comporta de forma
uniforme. Estes trabalhadores não têm interesse em cumprir a tarefa de forma correta,
entretanto, não se utilizam de técnicas avançadas de trapaça, respondendo sempre as
mesmas respostas. Estes trabalhadores são chamados de spammers uniformes10
(VUURENS et al. 2011). Embora os padrões se repitam, sendo facilmente detectados
por inspeção manual, a detecção automatizada pode não perceber devido a outros
spammers uniformes responderam o mesmo ao longo de muitas questões.
E finalmente, através do experimento de ZHU & CARTERETTE (2011), notou-
se que três dos trabalhadores que apresentavam suspeitas de serem spammers aleatórios
mostraram uma precisão média de 0,52, o que tornava improvável que os trabalhadores
escolhessem todas as questões aleatoriamente. Tal atitude indica que estes
trabalhadores responderam algumas questões diligentemente; talvez as questões fáceis
ou para etapa de qualificação. Estes trabalhadores são chamados spammers semi-
aleatórios11 (VUURENS et al. 2011).
7 Tradução do autor para: “sloppy workers”
8 Tradução do autor para: “proper workers”
9 Tradução do autor para: “random spammers”
10 Tradução do autor para: “uniforme spammers”
11 Tradução do autor para: “semi-random spammers”
14
2.2.2.2.Design de Tarefas
A partir da classificação de perfil, KAZAI et al. (2011) sugerem que o design das
tarefas pode ser desenvolvido pensando nas características de cada tipo de trabalhador.
KITTUR et al. (2008) reforça que o design de tarefa influencia na qualidade dos
dados. Os autores propuseram duas tarefas para avaliar a qualidade de 14 artigos do
Wikipedia. No primeiro design, os colaboradores estavam livres para avaliar os artigos
e para preencher uma caixa de texto com as melhorias necessárias. Neste contexto,
metade dos dados foi classificada como suspeita (respostas maliciosas).
Em outro momento, o segundo design de tarefas consistia de quatro questões
com resultados já conhecidos antes da avaliação por parte da multidão, e ainda foi
desenvolvido de modo que a multidão tivesse recompensas para respostas corretas.
Com esta abordagem somente 2,5% dos dados foi classificada como suspeita.
Portanto, o design de tarefa é sim um importante fator que auxilia no aumento
da qualidade de dados. Projetar tarefas em que o custo para trapaceá-las é maior do que
para completá-las é uma estratégia para desestimular a trapaça.
Até mesmo usuários motivados podem trapacear no sistema, especialmente
quando a recompensa é monetária ou envolve competição. A falta de entendimento,
como comentado na seção anterior, pode provocar a inserção de dados não qualificados
ao propósito. QUINN & BEDERSON (2009, 2011) definem algumas estratégias de
controle de qualidade:
Checagem automática: para alguns problemas, algoritmos são capazes de
realizar uma verificação da resposta do usuário, permitindo saber se o
trabalhador respondeu ou não corretamente;
Modelo econômico: é a recompensa monetária de acordo com a qualidade da
contribuição;
Revisão em multicamada: grupos produzem os resultados, enquanto outros
grupos da multidão revisam as contribuições;
Tarefas defensivas: são aquelas em que é muito mais complexo trapacear que
realizar a tarefa propriamente dita;
Redundância: é a disponibilização das tarefas repetidas vezes, obtendo assim,
diversas respostas. Em geral, é realizado um sistema de votação, através da
15
maioria, para eleger a solução ótima. Essa forma de design contribui para
diferenciar trabalhadores de alta e baixa qualidade.
Implantação de gold label: consiste em inserir uma quantidade pequena de
tarefas onde as respostas já são conhecidas, permitindo a identificação de
usuários de baixa qualidade ou trapaceiros.
Filtro estatístico: filtrar ou agregar os dados e descobrir outliers para serem
removidos;
Design de tarefas que propiciam uma relação duradoura com o trabalhador pode
ser interessante, pois é criado uma relação de confiança em ambas as partes. As pessoas
são propensas a se especializarem em tarefas com treinamento melhorando seu
desempenho ao longo do tempo. Consequentemente isso acarreta em um controle de
qualidade menor. Além disso, o retorno da opinião dos trabalhadores melhora cada vez
mais o design na tarefa e os próprios trabalhadores podem treinar novatos (CHEN &
DOLAN, 2011).
Manter um meio de comunicação efetiva e estabelecer um sistema de
recompensa para os trabalhadores também estimulam os trabalhadores a produzirem
bons resultados e em grande volume (CHEN & DOLAN, 2011).
Uma forma de projetar o sistema crowdsourcing é a criação de etapas de
qualificação para filtrar os trabalhadores com menos eficiência. Existem duas maneiras
para realizar uma qualificação: a manual e a automatizada. A forma manual, embora
seja mais exata, é bem mais demorada e demanda a presença de pessoas para avaliação.
A outra maneira é a realização automática do processo, CHEN & DOLAR (2011)
recomendam rodadas de qualificação automatizadas processadas por algoritmos,
entretanto esta abordagem necessita de gabarito dos resultados previamente cadastrados
no sistema. Outra vantagem da qualificação automatizada é a maior escalabilidade em
relação à forma manual.
A fim de obter julgamentos mais precisos a respeito dos resultados da multidão,
votos para a mesma tarefa são reunidas. Estas tarefas podem ser agregadas em uma
única resposta por um algoritmo de consenso, onde o mais comum nesses casos é a
votação por maioria (RAYKAR et al., 2010). Embora possa dar bons resultados, esse
algoritmo é bem criticado, pois presume que todos os trabalhadores tenham a mesma
16
qualidade de produção, enquanto a qualidade, como pode ser vista nas seções
anteriores, pode ser bastante diversificada.
A exemplo de rodadas de qualificação automatizadas, o experimento realizado
por WAIS et al. (2010) contemplou 4660 participantes, dos quais apenas 79 atingiram
um nível alto de acurácia suficiente para participarem das tarefas reais.
Outra estratégia bastante utilizada no controle de trabalhadores a longo prazo é
o sistema multicamada de pagamento (NOVOTNEY & CALLISON-BURCH, 2010,
CHEN & DOLAN, 2011). A aplicação desse tipo de sistema auxilia na retenção de
bons trabalhadores, resultando em uma força de trabalho altamente qualificada (CHEN
& DOLAN, 2011). Essa abordagem ainda permite pagamentos mais elevados para os
trabalhadores mais "graduados", evitando o desperdício de dinheiro com trabalhadores
ruins.
A técnica de multicamada comentada por (CHEN & DOLAN, 2011) consiste
em diferenciar o pagamento de acordo com a qualidade do trabalhador. No trabalho em
questão, foram criadas duas etapas com tarefas idênticas. Para a primeira etapa, o
trabalhador recebia uma recompensa de $0.01, já para a segunda recebia $0.05. A
medida visa motivar o trabalhador para que produza resultados melhores. A troca de
nível era realizada de tempos em tempos de forma manual, o que tornava o processo
lento e pouco escalável.
2.2.3.Aplicações
2.2.3.1.Amazon Mechanical Turk
AMT (Amazon Mechanical Turk) é um sistema barato e rápido que coleta
anotações de um ampla base de contribuidores pagos não especializados da Internet
(SNOW et al., 2008).
Lançado em 2005, o AMT permite a distribuição de microtarefas para uma
multidão de usuários resolvê-las. Os usuários que pagam pelo serviço, também
chamados de requesters, dividem suas tarefas em formas de HIT, para que os usuários
monetizados (turkers ou workers) realizem as tarefas (ROSS et al., 2010).
A plataforma abriga diversos tipos de tarefas, que variam desde categorização
de imagens à pesquisa de mercado. O tempo e o valor monetário variam de acordo a
tarefa: quanto mais complexa, maior é a recompensa financeira (ROSS et al., 2010).
17
Ao contrário de muitas plataformas, o AMT não concentra tarefas em apenas
uma área específica; ele procura oferecer uma variedade de problemas e com isso mais
requesters podem solicitar os serviços, fazendo com que mais turkers possam
contribuir, oferecendo um ambiente propício para a prática de crowdsourcing.
2.2.3.2.ESP Game
ESP Game é um jogo que funciona com base na disputa entre duas pessoas
escolhidas aleatoriamente. Elas jogam ao mesmo tempo e o objetivo é escrever termos
que representem uma imagem. Os jogadores não têm nenhuma informação sobre o
outro. Após ambos digitarem a mesma palavra, a figura é alterada e o jogo prossegue.
Uma concordância é alcançada no momento em que um termo é escrito por
ambos os jogadores, cuja palavra torna-se uma descrição daquela imagem (VON AHN
& DABBISH, 2004).
Uma forma para evitar que a mesma descrição seja utilizada diversas vezes é
fazer com que após um número N de concordâncias, a palavra seja exibida ao lado da
figura e não possa mais ser inserida. Este processo tornou-se extremamente efetivo,
dado que algoritmos computacionais não têm a mesma eficiência se comparados a uma
pessoa para rotular imagens (VON AHN, 2009).
2.2.3.3.GalaxyZoo
O projeto GalaxyZoo foi concebido devido à necessidade de categorizar cerca
de 50.000 imagens de galáxias para a criação de um banco de dados (FORTSON et al.,
2011). A partir dessa experiência, surgiu a necessidade de classificar as imagens de
forma que levasse menos tempo.
Primeiramente, o voluntário aprende a categorizar as imagens a partir de um
tutorial; após esta etapa é permitida a classificação das diversas imagens ainda não
categorizadas por astrônomos. A primeira versão do GalaxyZoo consistia na
classificação da galáxia em elípticas, colisões e espirais, e caso fosse espiral ainda era
necessário informar a direção dos braços (GALAXY ZOO, 2014). A segunda versão
foi inspirada na descoberta da capacidade da então recém multidão de voluntários. Esta
versão consistia em classificar mais de 200.000 galáxias de acordo com o número de
braços espirais, entre outras informações (GALAXY ZOO, 2014). A terceira versão,
GalaxyZoo: Hubble, tinha como objetivo compreender a evolução das galáxias,
adicionando outras bases de dados maiores em relação a projetos anteriores
18
(FORTSON et al., 2011). A quarta versão, lançada em 2012, conta com novas câmeras
instaladas no telescópio Hubble, e com fotos mais detalhadas e profundas do universo
(GALAXY ZOO, 2014).
2.2.3.4.reCAPTCHA
Criado por VON AHN et al. (2008), é uma variação do CAPTCHA, que de
forma implícita auxilia na transcrição de livros.
O CAPTCHA (acrônimo para Completely Automated Public Turing test to
tell Computers and Humans Apart) é uma imagem contendo caracteres distorcidos que
aparecem na parte inferior em formulários Web (VON AHN et al., 2003). Além disso,
ele é utilizado para prevenir que programas autômatos abusem de serviços online.
Enquanto o CAPTCHA exibe imagens com caracteres aleatórios gerados por
computador, o reCAPTCHA exibe palavras de textos digitalizados (VON AHN et al.,
2008). Para diferenciar a utilização de um humano para uma máquina, o reCAPTCHA
exibe duas palavras, onde uma delas é conhecida e a outra não é. Esta última é retirada
de algum livro ou figura, sendo que não é possível um computador transcrevê-la. Em
resumo, a multidão acaba por ajudar na transcrição de livros de forma explícita.
2.2.3.5.CAPTCHINO
Captchino12 (SAHA et al., 2012) é uma ferramenta gamificada desenvolvida
para fazer uma análise da eficiência dos métodos geração de captchas existentes na
atualidade. Os usuários passam por uma fase de cadastro onde dizem o seu sexo e idade.
O jogo é composto de seis rodadas e em cada uma delas é apresentado um captcha que
utiliza algum dos métodos atual.
Os resultados foram analisados de acordo com a idade e o sexo das pessoas e a
taxa de usabilidade dos captchas foi descrita como a porcentagem de acertos dos
usuários. Os resultados mostraram que os métodos mais eficazes foram o (1)
Combocaptcha, onde duas ou mais palavras são exibidas ao usuário e este deve escolher
uma ou mais opções que contenham aquelas palavras e (2) Claptcha (SAHA et al.,
12http:// www.lpuprojectcaptcha.com
19
2012), onde um alfabeto é mostrado ao usuário e este deve dizer qual a localidade onde
este alfabeto é utilizado.
2.2.3.6.Senses
Senses (VENHUIZEN et al., 2013) foi um jogo desenvolvido para Wordrobe13
com o intuito de ajudar na identificação do significado de palavras em frases. O jogo é
constituído de várias rodadas onde são apresentadas frases ao jogador, e o jogo deve
escolher uma das opções que melhor descreve o significado da palavra destacada
naquela frase. O jogo possui um sistema de aposta, onde o jogador indica uma
porcentagem de certeza quanto à resposta dada. Quanto maior a aposta, maior será a
quantidade de pontos ganhos pelo jogador caso acerte. Este sistema foi adicionado para
que fosse possível avaliar a dificuldade de uma dada questão (VENHUIZEN et al.,
2013). Ao longo do jogo o jogador também adquire pontos e achievements que decoram
seu perfil no jogo.
A consolidação dos resultados é feita utilizando-se o voto da maioria. Nos testes
foram recebidas 5.478 questões, com uma média de três respostas de jogadores por
questão. Destas questões, foram analisadas 115 que receberam exatamente seis
respostas cada uma.
Nos resultados, o sistema se provou bastante eficiente, com taxas de precisão
acima de 80% quando analisados todos os dados e acima de 90% quando analisadas
somente as respostas com valor de aposta maior que 80%.
13http://www.wordrobe.org
20
2.3.Considerações Gerais
As características de Crowdsourcing apresentadas são importantes para o
modelo proposto. A diversidade é alcançada no modelo, pois não há restrições quanto
ao nível de conhecimento das pessoas. A independência é conquistada uma vez que
cada usuário não sabe o que outro realizou. A descentralização, por sua vez, é obtida
através da liberdade da resolução de entidade, com o mínimo de restrição possível para
a execução da tarefa por parte do usuário.
As tarefas desenvolvidas nesse trabalho são simples com a finalidade de
resolver um problema complexo de resolução de entidades. A qualidade é controlada
por meio de uma rodada de qualificação que classifica os usuários de acordo com o seu
desempenho. Além disso, a avaliação do perfil do usuário é realizada ao longo das
rodadas e sua evolução durante as tarefas resulta em uma melhor avaliação de seu perfil,
enquanto spammers deverão ser penalizados ao decorrer da rodada.
Além disso, alguns elementos como a pontuação e o ranking foram aplicados
como fatores motivacionais, gerando assim uma disputa por reputação e diversão. Além
disso, conta com o altruísmo das pessoas, pois estarão contribuindo para um trabalho
de dissertação de um colega.
21
3.Resolução de Entidades
Resolução de Entidades14 (Entity Resolution – ER) é uma área de importância
crescente para empresas e governos. Muitos pesquisadores têm trabalhado nessa área
desde os anos 1950. (ZHOU & TALBURT, 2011).
Para TALBURT (2010, p.29), resolução de entidade “[…] é o processo de
determinar se duas referências a objetos do mundo real estão se referindo ao mesmo
objeto ou a objetos diferentes.”15. O autor complementa que o termo entidade descreve
tanto um objeto real como uma pessoa, um lugar, ou coisa.
Em TANSEL et al. (2006), a entidade pode ser descrita como algo físico, como
uma pessoa, ou casa, ou pode ser alguma construção lógica, como uma família, uma
rede social ou uma lista de pessoas que gostam de um tipo de gênero musical.
Embora o processo de ER seja aplicado a pares de referências, ER pode ser
aplicado a grandes conjuntos de referências, bastando apenas agregar todas as
referências de um mesmo objeto em subconjuntos (TALBURT, 2010).
Dentro deste contexto de conjunto de referências, BENJELLOUN et al. (2009)
definem ER como “o processo de identificação e fusão de registros definidos para
representar a mesma entidade no mundo real ”16.
Entidades são descritas em função de atributos. Os valores desses atributos
informam sobre as características específicas da entidade. Atributos de Identidade17 são
aqueles em que quando juntos identificam uma entidade da outra. Os atributos como
CPF e data de aniversário são atributos de identidade para pessoas, assim como UPC
(Universal Product Code) seria para produtos.
TALBURT (2010) apresenta o termo Suposição de Referência Única18, onde
afirma que a referência é sempre criada para se referir exclusivamente a uma, e apenas
uma entidade.
14 Tradução do autor para: “Entity Resolution”
15Tradução do autor para: “[...] is the process of determining whether
two references to real-world objects are referring to the same object
or to different objects.”
16Tradução do autor para: “[...] the process of identifying and merging
records judged to represent the same real-world entity.”
17 Tradução do autor para: “Identity attributes”
18 Tradução do autor para: “Unique Reference Assumption”
22
A razão para esta suposição é que em situações do mundo real, uma referência
pode parecer ambígua, ou seja, ela pode se referir a mais de uma entidade ou
possivelmente a nenhuma. Por exemplo, um vendedor pode escrever uma descrição do
produto em um pedido de vendas, mas caso a descrição esteja incompleta, a pessoa que
processar a ordem de compra pode ficar em dúvida sobre qual produto deve ser
encomendado. Embora tenha acontecido este problema, a intenção do vendedor era
referenciar um produto apenas. (TALBURT, 2010).
Nesse caso, a completude da anotação pode estar comprometida, ou os dados
podem estar desatualizados. Os graus das dimensões da qualidade de dados afetam as
operações dos processos de ER e produzem resultados melhores ou piores. Esta é uma
razão pela qual a ER é tão próxima do campo de Qualidade da Informação.
3.1.Entidade, referência e instância
A área de resolução de entidades trata a questão de instâncias e referências de
forma diferenciada. No contexto de ER, as instâncias de uma entidade de MER (Modelo
Entidade Relacionamento) não são propriamente a entidade (Princípio 1 de ER
proposto por Talburt) e sim uma referência. Isso ocorre porque o contexto de ER
contempla que instâncias diferentes possam representar uma mesma entidade no mundo
real. Em teoria, essa duplicidade não deveria ocorrer, mas no mundo real e em diversos
banco de dados, ocorre até com muita frequência.
Uma instância de um tipo de entidade, como a entidade Autor na Figura 1, é
justamente um registro na tabela no banco de dados e que faz referência a algum autor
no mundo real. No contexto de ER, nada impede que exista outra instância que
referencie o mesmo autor do primeiro caso.
Figura 1 – Exemplo de um simples MER (elaborado pelo autor)
23
TALBURT (2010) ilustra um exemplo de aplicação de ER em contexto de
negócio. O autor supôs uma entidade Cliente e a mesma pode ser referenciada diversas
vezes no sistema de informação da empresa, em alguns casos, em sistemas diferentes.
Existem muitas razões para que a empresa crie múltiplas referências para um mesmo
cliente. Uma delas é que o cliente tenha realizado compras em diferentes canais de
vendas ou departamentos. Cada uma tem sua própria base de dados e estas
provavelmente não estão integradas com os restantes da empresa.
Outra característica para a proliferação das referências dos clientes no negócio
é que as características do cliente, especialmente os seus contatos, mudam a todo
momento. Caso o nome, e-mail ou telefone não sejam atualizados corretamente, os
sistemas podem assumir que as transações utilizando dados não armazenados
representem clientes novos. O reconhecimento desses registros que indicam o mesmo
cliente é a essência do ER (TALBURT, 2010).
Em outros casos, o problema pode ser simplesmente a falta de um controle
adequado da qualidade de informação em dados de entradas de forma manual,
permitindo erros ou variações nos valores. ARKADY (2007) descreve a existência de
inúmeros meios os quais podem ser introduzidos erros de qualidade de dados em um
sistema de informação.
O reconhecimento de que a informação sobre tipos de entidades críticos no
negócio deve ser sincronizada em toda a empresa, deu origem a prática de Master Data
Management (MDM) (LOSHIN, 2008).
3.2.Terminologia
Uma referência é um conjunto de valores de atributos para uma entidade
específica. Quando duas referências indicam a mesma entidade, eles são ditas co-refer
(CHEN et al., 2009), matching references (BENJELLOUN et al., 2009) ou referências
equivalentes19 (TALBURT, 2010).
Ainda em ZHOU & TALBURT (2011), o termo utilizado também é referência
equivalente para representar referências que estão relacionadas com o mesmo objeto.
A noção de resolução de entidade surgiu no contexto de remoção de referências
equivalentes entre duas listas. FELLEGI & SUNTER (1969) lidavam com este
19 Tradução do autor para: “Equivalent reference”
24
problema frequentemente e descrevem o processo como record linking ou record
linkage.
Posteriormente, no contexto de SGBD relacional, o foco passou a ser o
problema de encontrar e fundir múltiplas instâncias de um mesmo tipo de entidade
(HERNÁNDEZ & STOLFO, 1995), tal processo é chamado merge-purge. Foi descrito
como ER em 2004 em artigos e apresentações de pesquisadores de Stanford, liderado
por GARCIA-MOLINA (2006).
TALBURT (2010) argumenta que record linking é justamente uma
representação de uma decisão de resolução, enquanto ER é um termo mais adequado
para descrever todo o processo de decisão ao invés do termo record linking. Embora os
precursores tenham sido os processos de merge-purge e record linking, a área de ER
tem crescido tanto na parte teórica quanto na parte prática e atualmente descreve uma
abordagem muito mais ampla de atividades.
3.2.1.Deduplicação de Dados
O método de Deduplicação de Dados ou Data Deduplication consiste no
conjunto de mecanismos de compressão de dados que tem por finalidade eliminar a
redundância de dados em um determinado conjunto de informações ou bytes.
Com o objetivo de reduzir o espaço utilizado na memória como um todo, este
método é amplamente utilizado na identificação de sequências de bytes iguais em um
determinado arquivo a ser processado ou transferido para outro local de
armazenamento.
Durante o processo de análise do arquivo, trechos de bytes ficam armazenados
na memória até o fim da execução do algoritmo, para que trechos de bytes idênticos
sejam sumariamente excluídos da sequência de bytes do arquivo.
Existem diferentes tipos de Deduplicação de Dados, como o Post-process
Deduplication e o In-line Deduplication. No primeiro tipo de processo todos os dados
são armazenados para que depois se faça uma análise de seu conteúdo para busca de
trechos duplicados, fazendo com que a execução e armazenamento do arquivo sejam
feitas de forma mais ágil, já que o sistema só analisa seu conteúdo posteriormente. Já
no segundo tipo, os dados são armazenados na memória à medida que o sistema analisa
suas informações a procura de duplicatas, o que otimiza a quantidade de dados a serem
25
armazenados na memória, considerando que dados redundantes são eliminados antes
mesmo de serem persistidos na memória de um determinado dispositivo.
3.2.2.Record Linkage
O termo foi introduzido amplamente na comunidade científica em 1959
(NEWCOMBE et al., 1959). MALIN & SWEENEY(2005) definem o termo como o
processo de busca de entradas relacionadas em uma ou mais relações em uma base de
dados para criar uma ligação entre elas20.
O processo de Record Linkage, ou Data Linkage, ou ainda Record Linking, é
simplesmente identificar os grupos de registros equivalentes sem fundi-los. Isto é feito
através da atribuição de cada referência no mesmo grupo com um identificador comum
chamado de link, com grupos diferentes que têm diferentes link values. Linking é um
método para representar as decisões de resolução sobre as referências de entidade, onde,
por exemplo, são dadas a duas instâncias de referência (registros) o mesmo link value
representando a decisão de que eles são referências equivalentes (TALBURT, 2010).
Tal medida evita que haja informações duplicadas em determinado conjunto de
dados, economizando espaço de armazenamento e processamento, bem como reduz o
tempo gasto na análise das informações existentes.
Para isso, é preciso criar um novo conjunto de dados, removendo duplicatas de
informações em um ou mais arquivos ou combinando os mesmos para que o
relacionamento de dois ou mais elementos possa ser devidamente analisado e estudado
(WINKLER, 2006).
3.2.3.Merge - Purge
O processo de merge-purge representa a forma mais básica de ER e inicia com
a coleta de todas as referências a serem resolvidas em um único conjunto de dados.
Sistematicamente, este processo compara os pares de referências, e aquelas
consideradas equivalentes são reunidas em grupos ou clusters (TALBURT, 2010).
20 Tradução do autor para: “[...] is the process of finding related
entries in one or more related relations in a database and creating
links among them.”
26
Geralmente, mantêm-se o melhor exemplar de registro do grupo ou combinam-
se os valores dos atributos de todos os registros do grupo para criar um único registro,
daí o termo merge-purge.
Como nomenclatura análoga para o processo de Data Linkage, a técnica de
merge-purge também caracteriza um processo de correspondência e mistura de dados
a fim de reduzir ao máximo o tamanho de um arquivo ou de uma tabela através da
exclusão e reaproveitamento de dados idênticos.
Esta nomenclatura é mais comumente atribuída de forma comercial, por
aplicações que tem como função e objetivo comprimir arquivos por meio da exclusão
de trechos de dados duplicados em um determinado conjunto de dados.
3.3.Princípios de Resolução de Entidades
TALBURT (2010), estabelece aos 7 princípios para o contexto de resolução de
entidades:
Princípio 1 – Sistemas de informação armazenam e manipulam referências às
entidades, e não as entidades21.
Princípio 2 – ER consiste fundamentalmente em ligar referências equivalentes,
e não na correspondência de registros22.
Princípio 3 – Falsos negativos em ER são geralmente um problema mais difícil
de ser detectado e resolvido do que falsos positivos23.
Princípio 4 – Processos de ER são geralmente projetados para evitar falsos
positivos ao custo da criação de falsos negativos24.
21 Tradução do autor para: “[...] Information systems store and
manipulate references to entities, not the entities.”
22 Tradução do autor para: “[...] ER is fundamentally linking equivalent
references, not record matching.”
23 Tradução do autor para: “[...] ER false negatives are generally a
more difficult problem to detect and solve than are false positives.”
24 Tradução do autor para: “[...] ER processes are generally designed
to avoid false positives at the expense of creating false negatives.”
27
Princípio 5 – Sistemas ER ligam referências através de equivalência deduzida
e afirmada. Equivalência deduzida pode ser estabelecida através de
combinação direta, equivalência transitiva, ou análise de associação25.
Princípio 6 – Resolução de Entidades não é o mesmo que resolução de
identidade. Este último é apenas uma forma de ER26.
Princípio 7 – Sistemas ER que provêm valores de ligação persistentes devem
também implementar alguma forma de gerenciamento de identidade27.
3.4.Atividades de Resolução de Entidades
TALBURT (2010), estabelece as 5 atividades para a resolução de entidades:
ERA 1 – Extração de Referência de Entidade. Localizar e coletar referências
de entidades de informações não estruturadas.
ERA 2 – Preparação de Referência de Entidade. Aplicação de perfis,
padronização, limpeza de dados e outras técnicas de qualidade de dados para
estruturar as referências de entidades anteriores ao início do processo de
resolução.
ERA 3 – Resolução de Referência de Entidade. Determinar se duas referências
estão relacionadas à mesma entidade ou entidades diferentes.
ERA 4 – Gerenciamento de Identidade de Entidade. Construir e manter
registros da informação da identidade de entidade ao longo do tempo.
ERA 5 – Análise de Relação de Entidade. Explorar a rede de associações entre
as diferentes, porém relacionadas, entidades.
25 Tradução do autor para: “[...] ER systems link references through
inferred and asserted equivalence. Inferred equivalence can be
established through direct matching, transitive equivalence, or
association analysis.”
26 Tradução do autor para: “[...] Entity resolution is not the same as
identity resolution. Identity resolution is only one form of ER.”
27 Tradução do autor para: “[...] ER systems that provide persistent
link values must also implement some form of identity management.”
28
Figura 2 – Em ordem, as Cinco Maiores Atividades de ER (adaptado de
TALBURT (2010))
TALBURT (2010) compara o termo ER com o utilizado na área de Tecnologia
de Informação (TI), onde este tem dois aspectos: o “Big IT”, que significa qualquer
coisa com relação a computadores e o sentido mais restrito e técnico, o “Little IT”.
Tomadas em conjunto, as cinco atividades apresentadas na Figura 2 incluem o
"Big ER." Muitos autores utilizam o termo ER no sentido "Little ER" que compreende
apenas o ERA3 ou o ERA2 seguido por ERA3. Por exemplo, o processo de merge-
purge, que representa a extensão do ER para muitas organizações, é essencialmente
uma atividade ERA3. Nem todo processo de ER envolve todas as cinco atividades e
diferentes ferramentas e sistemas de ER são projetados para lidar com diferentes
atividades no processo global de ER.
3.4.1.ERA 1 – Extração de Referência de Entidade
Esta etapa é essencial quando os dados sobre as referências de entidade são
apresentados de forma desestruturada (TALBURT, 2010). Informação estruturada é
quando os dados são organizados de uma maneira em que todos os valores de atributos
são descritos de forma consistentes e padronizados.
No caso de formatos não estruturados, é necessária uma forma de padronização
dos dados para que se possa seguir com a execução das etapas futuras. Quando os dados
não estão estruturados, torna muito difícil a identificação dos atributos das referências.
A padronização pode ser executada por algoritmos computacionais, porém não tão
efetivos quanto aos resultados produzidos por pessoas (CHIANG et al., 2008, WU et
al., 2007).
Dois padrões comuns adotados para inserir um valor de atributo em um registro
são o formato de campo fixo e o delimitador de caractere. No formato de campo fixo
cada valor de atributo é um campo do registro que tem sempre a mesma posição inicial
e final. Em formatos delimitados por caracteres, os valores dos atributos estão em uma
lista ordenada separados por um caractere especial chamado delimitador de campo.
29
Vírgulas e caracteres de tabulação são comumente usados para esse fim e, por
essa razão os arquivos no formato delimitado por caracteres são chamados de Comma-
Separated Values (CSV).
Outro padrão amplamente utilizado é o XML (eXtensible Markup Language)
(EXTENSIBLE MARKUP LANGUAGE, 2014) que representa um formato
estruturado em que os valores dos atributos inseridos estão entre tags.
Na Tabela 2, é um exemplo de como o nome “JOHN SMITH” está representado
em três formatos diferentes. A primeira como posição fixa, a segunda como delimitado
pelo caractere "“" e a terceira utilizando XML.
O interesse na atividade ERA1 tem crescido junto com a percepção de que uma grande
quantidade de informações úteis de uma organização muitas vezes reside em formatos
não estruturados. INMON & NESAVICH (2007) sugerem que na maior parte das
vezes, a maioria das informações de uma organização existe em formatos não
estruturados (Unstructured Textual Information – UTI).
Tabela 2 – JOHN SMITH em três formatos estruturados (adaptado de
TALBURT (2010))
Char position 1 2 3 4 5 6 7 8 9 10
11
12
13
14
15
16
17
18
19
Fixed position J O H N S M I T H , J R
Delimited “ J O H N “ , “ S M I T H , J R “
XML < D O C > < L > S M I T H , J R < / L
XML (cont) > < F > J O H N < / L > < / D O C >
3.4.2.ERA 2 – Preparação de Referência de
Entidade
Mesmo quando referências a entidades estão em um formato estruturado, é
necessário um pré-processamento das fontes de referência de entidade antes do
processo de resolução efetiva ocorrer. Coletivamente, esse pré processo é chamado
ETL (Extract Transform Load), onde ETL é um acrônimo para extração, transformação
e carga. Este processo, também é chamado de limpeza de dados. A seguir estão as
operações comumente usadas para preparar referências para o processamento de ER
(CHAN et al., 2009):
30
Encoding – Converter encode de um dado para outro; Por exemplo, UTF-8
para ASCII;
Conversão – Transformar a representação de um formato de dado para outro.
Por exemplo, um dado do tipo inteiro para texto;
Padronização – Transformar a representação de dados para um padrão
previamente definido. Por exemplo, alterar o texto “Logradouro” e “Logr”
para “LOG”;
Correção – Alterar valores baseados em base de dados confiáveis. Por
exemplo, corrigir um código de CEP a partir do nome do logradouro,
município e UF pelos Correios28.
Validação – Criar regras lógicas baseados nos valores dos dados. Por exemplo,
verificar se uma compra foi realizada, anteriormente ao cadastro do cliente;
Melhoria – Acrescentar informações que não estão contidas na referência
original. Por exemplo, adicionar coordenadas de latitude e longitude baseado
nos dados do endereço da rua.
Nesta fase é que as áreas de ER e IQ (Information Quality) estão intimamente
relacionadas, pois a melhora dos dados aumenta as chances de sucesso da resolução de
entidades. E consequentemente, a resolução de entidades contribui para a melhora geral
da qualidade da informação no sistema (TALBURT, 2010).
3.4.3.ERA 3 – Resolução de Referência de Entidade
A etapa ERA3 é onde são tomadas as decisões sobre a equivalência de duas
instâncias de referência. Importante salientar que dois termos normalmente se
confundem nessa etapa: o matching e o linking. Enquanto o primeiro calcula o grau de
similaridade entre os valores dos atributos de identidade em duas referências, o segundo
termo agrupa referências equivalentes.
É muito comum as referências equivalentes terem link value e não terem
matching dos atributos de identidade. TALBURT (2010) dá como exemplo uma cliente
chamada Mary Jone que mora na Rua Oak e que se casa com John Smith. Mary tem
28 http://www.buscacep.correios.com.br
31
seu nome alterado para Mary Smith e posteriormente eles mudam para a Rua Elm.
Neste caso, as referências Mary Jones da Rua Oak e Mary Smith da Rua Elm
apresentam diferentes sobrenomes e endereços, entretanto representam a mesma
entidade.
Outra confusão com terminologia, é o termo duplicate, duplicate records ou
record deduplication (TALBURT, 2010). O autor afirma que é senso que o termo
duplication implica no nível máximo de similaridade, indicando que uma referência é
cópia exata da outra. Entretanto, em outros contextos, o termo pode ser usado para
indicar uma similaridade parcial e ainda em outros contextos como referência
equivalente (NAUMANN & HERSCHEL, 2010).
ER trata de tomar decisões e linking é uma maneira de caracterizar esta decisão
(Princípio 2 de ER) (TALBURT, 2010). Embora o conhecimento em que duas
referências tenham similaridade alta em alguns atributos ajude no processo de decisão,
o matching não é um fator determinante.
Em relação ao que foi discutido, TALBURT (2010) criou uma lei fundamental
de ER: “Duas referências de entidades devem ser ligadas se, e somente se, eles são
equivalentes (referenciam a mesma entidade)29.”
3.4.3.1.Referências correspondentes e equivalentes
A fim de exemplificar os conceitos de referência correspondentes e
equivalentes, TALBURT (2010) constrói um cenário em que existem três conjuntos.
O primeiro, conjunto S, é representado pelas referências das entidades. A
notação SxS representa um produto cartesiano de S sobre si mesmo, isto é, um conjunto
de todos os pares de referências em S. Um algoritmo pode facilmente calcular o grau
de similaridade de cada par e definir se as referências são iguais ou não de acordo com
um critério definido. O segundo, conjunto M, que denota um subconjunto de SxS e que
contém todos os pares correspondentes, isto é, o conjunto M representa os possíveis
pares equivalentes. E o terceiro, um conjunto E, que denota um subconjunto de SxS e
que contém todos os pares equivalentes.
29 Tradução do autor para: “Two entity references should be linked if
and only if they are equivalent (reference the same entity).”
32
Resumindo, o conjunto E representa os resultados corretos na resolução de
entidade, enquanto M representa os resultados correspondentes. O grau de intercessão
entre os dois conjuntos mostra que o processo de matching utilizado foi efetivo ou não.
Quanto menores são os conjuntos E-M e M-E, mais efetivo é o algoritmo de matching
para determinar a equivalência.
A Figura 3 mostra graficamente a intercessão desses dois subconjuntos.
Figura 3 – Referências correspondentes e equivalentes (adaptado de TALBURT
(2010))
A Figura 3 pode ser interpretada de uma maneira mais geral. Suponha que M é
considerado um processo de decisão que diz que sim quando dois registros são
equivalentes, e não quando eles não são. O conjunto E ainda mantém como os
resultados corretos. Algumas considerações podem ser tomadas:
M-E é o conjunto dos resultados falso positivos. Positivo indica que o processo
de decisão foi sim porque está contido no conjunto M, e falso porque o
conjunto não está contido em E, o que significa que eles não são equivalentes;
E-M é o conjunto de resultados falso negativos. Negativo porque o processo
de decisão foi não (não está contido em M), porém é uma decisão falsa, pois
os pares estão no conjunto E. Isto é, deveriam ser equivalentes;
M∩E é o conjunto de resultados verdadeiro positivos;
SxS - (M∪E) é o conjunto de verdadeiro negativos.
O verdadeiro positivo e o verdadeiro negativo são as decisões corretas, o restante são
decisões incorretas. A Tabela 3 resume de forma clara essas decisões.
33
Tabela 3 – Classificação do Processo de Decisão de Resultados (adaptado de
TALBURT (2010))
Decisão que deveria ser Sim Decisão que deveria ser Não
Decisão em Sim Verdadeiro Positivo Falso Positivo
Decisão em Não Falso Negativo Verdadeiro Negativo
3.4.3.2.Problema dos Falsos Negativos
Os falsos negativos são um problema constante na maioria dos contextos de ER.
A razão para isso é que a avaliação do processo de ER é focada sobre decisões positivas
e não negativas.
TALBURT (2010) explica o problema de forma clara ao citar que, em geral, o
conjunto das decisões negativas é muito maior do que as positivas. O autor ainda
exemplifica um caso em que o conjunto S possui 10.000 referências, logo SxS tem 100
milhões de pares. Se o processo de decisão para os pares positivos for de 1%, então 99
milhões são decisões negativas. Portanto, o conjunto E-M (falsos negativos) é uma
porção muito menor do que (SxS)- M (decisões negativas) (Princípio 3 de ER)
TALBURT (2010).
A melhor técnica para detectar pares de falsos negativos é por amostragem de
pares com decisão negativa (ARKADY, 2007). TALBURT (2010) ratifica ainda que,
o impacto de uma decisão falsa negativa é muito menor do que uma decisão falsa
positiva, pois afirmar que duas referências são equivalentes, sendo que não são, pode
trazer problemas futuros quanto unir registros de duas pessoas distintas como se fosse
a mesma, por exemplo. Caso duas referências sejam equivalentes pelo processo de
decisão, seus dados podem ser unificados de modo a consolidar as informações.
Entretanto, caso esses pares sejam falsos positivos, será problemático, pois na realidade
se estará fundindo duas referências não equivalentes, comprometendo a consistência
dos dados (Princípio 4 de ER) TALBURT (2010).
34
3.4.4.ERA 4 – Gerenciamento de Identidade de
Entidade
Outro importante termo relacionado à resolução de entidades é a identidade de
entidade30. LIM et al.(1993) definem este termo como um conjunto de valores de
atributos para entidade com um conjunto de regras de distinção, que permitem que a
entidade seja diferenciada de todas as outras entidades da mesma classe em um contexto
específico. A partir desta definição, a entidade de resolução pode ser realizada através
da comparação desses atributos de identidade. Existem diversas razões para que o
método de direct matching esteja longe da solução perfeita em resolução de entidades
(TALBURT, 2010). Logo abaixo seguem alguns exemplos:
O aumento de entidades em relação ao contexto original. Os valores de regras
e atributos criados para discernir 100 entidades diferentes podem não ser
suficientes para diferenciar caso sejam adicionadas mais 200 entidades.
Variação ou erro na representação de valores de atributos, erros de ortografia,
valores nulos e valores padrão.
Nem todos os atributos estão representados em cada referência. Referências
geralmente representam apenas uma projeção do conjunto total de atributos de
identidade. Por isso, em um caso onde houvessem duas referências
equivalentes, porém, sem nenhum matching, seria dado como não
equivalentes. Entretanto, se um atributo, como CPF, fizesse parte das
referências, claramente seriam identificadas como equivalentes.
Em ambientes onde existem pequenos números de registros, é possível identificar
uma entidade com poucos registros. Possivelmente, uma empresa de pequeno porte
pode identificar unicamente cada funcionário apenas pelo nome e sobrenome.
Entretanto, em uma população extremamente maior, dificilmente uma entidade pode
ser representada desta maneira. No Brasil, é muito comum as pessoas terem o mesmo
nome, nome do meio e sobrenome. Até mesmo esses dados com a data de aniversário
podem não ser suficientes para identificar uma única pessoa.
30 Tradução do autor para: “Entity identity”
35
A resolução de identidade31 é um processo de ER em que as referências são
resolvidas através da comparação de um conjunto pré-conhecido de identidades. A
resolução ocorre entre duas referências de entrada, e uma delas deve pertencer
necessariamente ao conjunto pré-conhecido. Um exemplo prático na utilização de
resolução de identidade é um sistema de reconhecimento de clientes que determina se
um cliente existe ou não baseado em um banco de dados. Ferramentas que possibilitam
a consulta em tempo real são extremamente valorizadas no mercado.
Caso pelo menos uma das referências da entidade faça parte do conjunto já
conhecido, a identificação da entidade pode ser uma técnica para executar a resolução
de entidades. No caso em que as duas referências sejam conhecidas do sistema,
claramente os resultados de resolução já são conhecidos também. E se apenas uma
entidade é conhecida e a outra não, as referências têm diferentes identidades. Existe
apenas um caso em que a resolução de entidade não consegue realizar a identificação,
que é quando as duas referências são entidades externas ao conjunto de entidades
conhecidas.
TALBURT (2010) ilustra um exemplo da diferença entre a resolução de
entidades e resolução de identidade. Dado um cenário onde existem duas impressões
digitais, estas, podem ser comparadas uma a outra e ditas equivalentes ou não
(resolução de entidades). Caso se queira identificar as digitais, será necessário um
banco de dados onde as digitais suspeitas já estejam previamente cadastradas (resolução
de identidade).
Quando a resolução de identidade é definida como parte do processo de
resolução de entidades de referência com uma entidade conhecida, indica que que a
resolução de identidade e resolução de entidades não são o mesmo processo. Ainda
mais, a resolução de identidade é apenas uma forma de resolução de entidades
(Princípio 6 de ER) TALBURT (2010).
A identidade desempenha um papel importante nos sistemas de ER.
Compreender o papel da identidade na ER indica a definição anterior, que é a identidade
de entidade como sendo um conjunto de regras e atributos que distinguem entre as
entidades em um dado contexto, e com o Princípio ERA 1, que estabelece que os
31 Tradução do autor para: “Identity resolution”
36
sistemas de ER trabalham com referências a entidades, não as entidades propriamente
ditas.
Entidades reais têm diversos números de atributos. Uma pessoa pode ser
descrita (atributos) de inúmeras maneiras, como: altura, peso, cor dos olhos, formação
acadêmica, data de nascimento e cidade natal, por exemplo. No entanto, o modelador
do sistema escolherá somente alguns atributos para representar a identidade dessa
entidade no sistema. Outros modeladores poderão escolher outras características da
entidade pessoa. O maior problema na perspectiva de ER é quando diferentes sistemas
geram referência para a mesma entidade usando diferentes atributos de identidade.
Um exemplo de múltiplas referências em sistemas diferentes são as redes
sociais. Muitas pessoas têm diversas “identidades online” e ligá-las está se mostrando
uma tarefa bem complexa. Trabalhos relacionados à aplicação de resolução de
entidades nessa área começaram a ser aplicados em 2006 (BILGIC et al., 2006).
3.4.4.1.Visualização de Identidades Internas e Externas
TALBURT (2010) ilustrou a questão da visualização de identidades com um
exemplo de histórico de mudanças de uma pessoa. A Figura 4 apresenta este exemplo
através de uma pessoa chamada Mary Smith, que, a partir de março de 2000, trocou o
seu nome para Mary Jones e seu endereço, e, em novembro de 2011, se mudou para
outro endereço. A pessoa chamada Mary é a mesma no mundo real para todos os três
históricos.
Uma maneira de descrever esta situação é, em termos de uma visão interna
contra uma visão externa de identidade (TALBURT et al., 2009).
A visão interna da situação apresentada pela Figura 4 seria do ponto de vista da
própria pessoa, ou algum parente bem próximo, alguém que tenha um contato muito
próximo sobre sua vida e histórico, isto é, a visão interna da identidade representa um
modelo de universo fechado em que para um dado conjunto de atributos de identidade,
todos os valores de atributo são conhecidos para o visualizador interno, e qualquer valor
para um destes atributos que não é um valor conhecido pertence à uma identidade
diferente (TALBURT, 2010).
37
Figura 4 – Histórico de Ocupações (adaptado de TALBURT (2010))
A segunda visão, a externa de identidade, é aquela em que foi coletado um
número de valores de atributos de uma identidade, mas sua corretude ou completude
são desconhecidas. Quando um sistema com base em visão externa recebe uma
referência, o sistema deve processar e escolher ligá-la a uma identidade existente ou se
deve criar uma nova. Portanto, uma visão externa representa um modelo de universo
aberto, porque ao contrário da visão interna, o sistema não pode assumir que ele tem
conhecimento completo de todos os valores de identidade.
Um fato que pode ocorrer, por exemplo, é que a Ocupação 3 não esteja
associada às outras duas ocupações. Isso torna a Ocupação 3 outra identidade, diferente
das outras. Consequentemente, devido a esse problema de não ter os dados completos,
o sistema pode construir uma visão imprecisa da identidade. Quando apresentado um
novo registro de ocupação, o sistema pode associá-lo erroneamente à uma identidade
inexistente ao qual não pertence. TALBURT (2010) comenta novamente a relação
estreita entre ER e IQ (Information Quality), pois acurácia e completude são duas das
16 dimensões de informação da qualidade descritos pelo Framework de Wang-Strong
(WANG & STRONG, 1996).
TALBURT (2010), afirma que um sistema ER com base em visão externa
constrói seu conhecimento sobre a identidade das entidades pouco a pouco, ou seja, de
forma incremental. O autor ainda comenta que a visão externa de identidade se
assemelha, em muito, aos esforços de uma empresa ou governo que tem de unificar a
sua visão de clientes.
Em geral, todos os sistemas de ER usam a identidade da referência em algum
nível para a resolução de entidades, porém nem todos os sistemas possuem um
gerenciamento de identidade. Um dos processos mais básicos é o merge-purge, que
utiliza a identidade realizando matching em seus atributos, e considera os atributos com
38
valores próximos equivalentes e posteriormente realiza a combinação. Sistemas que
têm como base o merge-purge não gerenciam a identidade das entidades, pois esse
conhecimento é recriado a cada vez que o processo é executado, uma vez que os dados
são descartados ao final do processo (TALBURT, 2010).
O gerenciamento de identidade em um sistema de ER ocorre quando são
carregadas informações de identidade, ou quando se mantém a totalidade ou parte da
informação de identidade da entidade a partir das referências que foram resolvidas.
Sistemas de ER que suportam o gerenciamento de identidade têm uma ampla vantagem
sobre outros sistemas, como o armazenamento das persistências de links entre as
referências, possibilidade de processamento transacional e aplicação de técnicas de
associação e declaração. (Princípio 7 de ER) TALBURT (2010).
3.4.5.ERA 5 – Análise de Relação de Entidade
Após as referências equivalentes terem sido agrupadas (ERA3) e possivelmente
identificadas (ERA4), a próxima etapa proposta por muitas ferramentas é encontrar
relacionamentos que essas referências equivalentes têm em relação ao restante da base
de dados.
Household relationship foi o primeiro conceito a explorar as diversas relações
que as referências de entidades do tipo clientes possuem. Criado por empresas de
marketing, este conceito visa procurar entender as relações de moradias de familiares.
Outra forma de explicar o conceito seria que "... são todas as pessoas que residem no
mesmo endereço e que têm o mesmo sobrenome."32 ( TALBURT, 2010).
TALBURT (2010) alega que embora o conceito seja simples, ele não capta as
exceções que existem na sociedade, como mulheres divorciadas com nome de casada,
ou mulheres casadas que não alteraram o seu nome. Logo, a relação de entidade não é
tão simples quanto parece. Referências podem estar relacionadas de formas que não
esteja clara esta relação.
Segundo WATTS & STROGATZ (1998) o relacionamento entre as entidades
pode ser categorizado em níveis de separação. O ERA3, nesse contexto, seria uma
atividade que busca duas referências com nível de separação zero, o que significaria
32 Tradução do autor para: “[...] all the people at the same address
with the same last name.”
39
referências equivalentes. Grau um de separação seria uma associação direta entre duas
referências como o household relationship, Para grau dois de separação seria uma
associação intermediária ou transitiva. Por exemplo, suponha que duas pessoas A e B
residam na mesma casa, e as pessoas B e C frequentem o mesmo clube (Figura 5). O
grau de separação entre A e B, e B e C é um; já o grau entre A e C é dois (TALBURT,
2010).
Figura 5 – Relação entre referências (adaptado de TALBURT (2010))
3.5.Técnicas de Matching
As técnicas de matching (ou casamento) são largamente utilizados na resolução
de entidades aplicados a algoritmos computacionais. A seguir, são apresentadas alguns
dos algoritmos mais comuns utilizados tanto no meio acadêmico ou comercial.
3.5.1.Casamento Direto (Direct Matching)
Correspondência direta é o cálculo do grau de similaridade entre os atributos de
identidade de duas referências. Existem basicamente cinco métodos: (1)
Correspondência exata, (2) Diferença Numérica, (3) Correspondência Sintática
Aproximada, (4) Correspondência Semântica aproximada e (5) Código de
Correspondência Derivada.
A correspondência exata é a forma mais simples de comparação, pois o
resultado só pode ser verdadeiro ou falso. O problema dessa categoria na comparação
de textos se deve à baixa probabilidade de um texto ser exatamente idêntico ao outro.
Logo, caso os textos tenham variação de um caractere, ou mesmo esteja em maiúsculo
e outro em minúsculo, o retorno será falso. O sucesso para esta categoria é uma boa
40
etapa ERA2 aplicada às referências, pois na ERA 2 é onde são aplicados os métodos de
limpeza dos dados.
A comparação entre dois campos de texto pode ser realizada sintaticamente ou
semanticamente. Os algoritmos ASM (Approximate String Matching) são utilizados em
comparações sintáticas (HERZOG et al., 2007).
3.5.1.1.Distância de Levenshtein
Este foi um dos primeiros algoritmos a surgir e que busca mensurar a
similaridade através do número mínimo de operações que uma string deve passar para
se tornar outra (LEVENSHTEIN, 1966). Normalmente as operações são: inserir um
caractere, apagar um caractere, substituir um caractere, ou também em algumas
variações do algoritmo, transpor dois caracteres adjacentes.
3.5.1.2.Q-Gram
O algoritmo q-gram leva em conta a ordenação dos caracteres. Um q-gram é
uma sequência fixa de caracteres de tamanho q (UKKONEN, 1992).
O princípio da similaridade de q-gram entre duas strings é que quanto maiores
forem os trechos que derivam da primeira string e são encontrados na segunda string,
mais similares elas serão.
Tabela 4 – Cálculo de q-gram (adaptado de TALBURT (2010))
1-gram 2-gram 3-gram
JULIE “J”, “U”, “L”, “E” “JU”, “UL” “JUL”
JULIES
Considere duas strings “JULIE” e “JULES” apresentadas na combinação de q-
grams na Tabela 4. Nesse exemplo, o valor máximo de q foi 3, quando dividido pelo
tamanho da string de 5, dando um grau de similaridade de 60%.
3.5.1.3.Jaro
Uma variação do q-gram é o Comparador de String de Jaro (JARO, 1989). Ele
considera o número de caracteres em comum entre duas strings e o número de
caracteres com transposições. A Figura 6 mostra a fórmula de similaridade de Jaro.
41
𝐽(𝐴, 𝐵) = 𝑊1.𝐶
𝐿𝐴+ 𝑊2.
𝐶
𝐿𝐵+ 𝑊3 .
(𝐶 − 𝑇)
𝐶
Figura 6 – Fórmula para Comparador de String de Jaro (adaptado de JARO
(1989))
A e B representam duas strings que serão comparadas. W1, W2 e W3 são pesos
definidos para a primeira string, segunda string e as transposições, respectivamente. O
somatório de W1 + W2 + W3 deverá ser 1. C é a quantidade de caracteres em comum
entre as duas strings. T é o número de transposições. LA e LB são os tamanhos das
strings A e B, respectivamente.
3.5.1.4.Jaro-Winkler
A Distância de Jaro-Winkler é uma métrica de distância entre strings que é uma
variação da distância do comparador de Jaro (JARO, 1989). Dadas duas strings s1 e s2,
m sendo o número de caracteres semelhantes e t o número de transposições, o cálculo
da distância de Jaro-Winkler é representado pela fórmula: 1/3( m/|s1| + m/|s2| + (m –
t)/m ).
Alguns algoritmos não só exigem que a sequência de caracteres seja o mesmo,
mas levam em conta a posição em que essa sequência se inicia. Estes algoritmos q-
gram são chamados posicionais. O algoritmo de Jaro-Winkler (WINKLER, 1999) é um
algoritmo q-gram posicional. Ele é uma modificação do tradicional algoritmo de Jaro
(1989), porém com pesos adicionais sobre os quatro primeiros caracteres das duas
strings. Outra fórmula para a distância de Jaro-Winkler com base no algoritmo de Jaro
está representada na Figura 7.
𝑊(𝐴, 𝐵) = 𝐽(𝐴, 𝐵) + 0.1 ∗ 𝑁 ∗ (1 − 𝐽(𝐴, 𝐵))
Figura 7 – Fórmula de Distância de Jaro-Winkler (adaptado de TALBURT
(2010))
3.5.1.5.Jaccard
Similaridade de Jaccard (JACCARD, 1901) é uma métrica de similaridade entre
conjuntos, comumente utilizada para calcular a distância entre palavras/frases. Esta
42
métrica de distância está sendo usada amplamente em algoritmos aplicados na área de
resolução de entidades para calcular a distância entre registros, como no projeto
CrowdER (WANG et al., 2012). Para se calcular a Similaridade de Jaccard, é preciso
dividir o módulo do conjunto interseção dos conjuntos pelo módulo do conjunto união
(Figura 8).
𝐽(𝐴, 𝐵) =|𝐴 ∩ 𝐵|
|𝐴 ∪ 𝐵|
Figura 8 – Fórmula de similaridade de Jaccard (adaptado JACCARD (1901))
3.6.Sistemas ER
Nesta seção serão apresentas algumas das ferramentas mais comuns e
importantes no mercado de resolução de entidades. Os sistemas têm diferentes enfoques
tratando diferentes atividades de ER. Algumas são utilizadas até pelo governo
americano para a identificação de pessoas, como será visto abaixo.
3.6.1.DataFlux dfPowerStudio
DataFlux® foi fundada em 1997 e após três anos foi adquirida pela SAS
Institute® e ao longo desse tempo evoluiu para fornecer uma ampla gama de aplicações,
incluindo a integração de dados, MDM e qualidade dos dados. Nos últimos anos, a
empresa tem posição de destaque na Magic Quadrant® for Data Quality Tools,
publicado pela Research Group® Gartner (SAS, 2014).
A ferramenta dfPowerStudio® é utilizado para executar a técnica de merge-
purge de dados de clientes que envolvem as atividades de preparação de referência
(ERA2) e etapas de resolução (ERA3).
3.6.2.Infoglid Identity Resolution Engine
Fundada em 1996, a Infoglide Software®, uma empresa privada, e tem como
foco o desenvolvimento e comercialização de software de resolução de identidades para
o mercado comercial e governamental. Sendo uma das principais empresas nesse tipo
de ramo, os seus sistemas apoiam alguns sistemas do departamento TSA
(Transportation Security Administration) dos Estados Unidos (INFOGLIDE
SOFTWARE, 2014).
43
O carro-chefe da empresa é a ferramenta Identity Resolution Engine® (IRE). O
IRE é baseado na arquitetura de unificação de base de dados heterogêneas, onde o
engine funciona como um hub que conecta e consulta múltiplas base de dados e tabelas.
Os resultados são combinados e apresentados para o usuário. Embora o IRE possa
operar de forma interativa ou em lote, ele é especializado em explorar e encontrar
relações não óbvias nos relacionamentos entre as entidades, tarefa executada no ERA
5 (TALBURT, 2010).
Dentre outros serviços do IRE, estão: Resolução de Identidades, Busca de
Similaridades, Link de Descoberta Social e Resolução de Anonimato para Dados
Privados.
3.6.3.OYSTER
OYSTER é um projeto de desenvolvimento de software de código aberto
patrocinado pelo Centro de Pesquisa na Universidade de Arkansas em Little Rock33.
OYSTER (Open sYSTem Entity Resolution) é um sistema de resolução de entidade que
pode ser configurado para ser executado em vários modos de operação, incluindo
merge-purge, captura de identidade e resolução de identidade. O motor de resolução
suporta correspondência direta probabilística, equivalência transitiva, e equivalência
assertiva (TALBURT, 2010).
A versão original de OYSTER foi projetado para apoiar a resolução de entidade
para registros de alunos, porém o sistema pode facilmente processar uma gama de
domínios de tipos de entidades.
O sistema OYSTER realiza também o gerenciamento de identidade e também
suporta identificadores persistentes de identidade. O sistema foi desenvolvido em Java
e seu código-fonte e documentação estão disponíveis34 para uso sob a licença de código
aberto. As informações são processadas em tempo real por meio de scripts XML
definidos pelo usuário.
33 http://ualr.edu/eriq
34 http://ualr.edu/eriq/downloads
44
3.7.Métricas de ER
As métricas são necessárias para avaliar, se de fato, um algoritmo ou modelo
são eficientes em suas abordagens. Algumas métricas são utilizadas em contexto gerais
como o recall e precision. Enquanto outras métricas, como TWI foi criado com o
propósito de avaliar de forma simplificada o grau de similaridade entre dois conjuntos
produzidos, em geral, por algoritmos aplicados a resolução de entidades. A seguir, são
apresentadas algumas das técnicas mais comuns na área de resolução de entidades, e
que serão utilizadas nos capítulos posteriores para mostrar que o modelo proposto é
viável em termos de eficiência.
3.7.1.Talburt-Wang Index (TWI)
Uma das métricas que foi desenvolvida para comparar resultados de ER e de
fácil aplicação computacional é o Talburt-Wang Index (TWI) (TALBURT et al., 2007).
O TWI consiste em calcular o grau de similaridade entre duas partições (ou
agrupamentos). O resultado do valor sempre será um valor entre 0 e 1; quanto maior o
valor, maior é o grau de similaridade.
Dada uma partição A e outra B de um conjunto S; e sendo V (Figura 9) o
conjunto de todas as interseções não nulas entre as partições A e B; então TWI será
definido como a Figura 10.
𝑉 = {𝐴𝑖 ∩ 𝐵𝑗|𝐴𝑖 ∈ 𝐴, 𝐵𝑗 ∈ 𝐵, 𝑎𝑛𝑑 𝐴𝑖 ∩ 𝐵𝑗 ≠ ∅}
Figura 9 – Fórmula para o cálculo do conjunto V (adaptado de TALBURT
(2010))
Caso A seja considerado o grupo das relações corretas, e B um grupo resultante
de uma aplicação de algoritmos computacionais, então o TWI pode ser interpretado
como a acurácia de resolução de entidade (ZHOU & TALBURT, 2011).
𝑇𝑊𝐼 = √|𝐴| . |𝐵|
|𝑉|
Figura 10 – Fórmula para o cálculo de TWI (adaptado de TALBURT et
al.(2007))
45
3.7.1.1.Cálculo passo a passo de TWI
Segundo a Definição 3.4 do livro de TALBURT (2010), um cenário ER é uma
tripla (E, S, ω), sendo E um processo de resolução de entidade, S um conjunto de
referências de entidades e ω representa a sequência em que as referências serão
processadas.
A fim de ilustrar o cálculo de similaridade do T-W Index, o processo E foi
definido assim como o conjunto S foi fixado, só alterando a sequência para serem
geradas diferentes partições.
A coluna “SCode” das Tabela 5 e Tabela 6 representa o linking para agrupar
referências equivalentes geradas pelos algoritmos.
As duas partições A e B representam os resultados dos cenários (E, S, ω1) e (E,
S, ω2) respectivamente, e o conjunto V representa a interseção das partições A e B.
A partição “A” possui duas subpartições {{r1, r3, r5}, {r2, r4}} e
Tabela 5 – O resultado de um cenário ER (E, S, ω1) (adaptado de TALBURT
(2010))
S, ω1 Output (E, S, ω1)
First Last DOB SCode Ident First Last DOB SCode
r1 Edgar Jones 20001104 G34 1 Edgar Jones 20001104 G34
r2 Mary Smith 19990921 G55 2 Mary Smith 19990921 G55
r3 Eddie Jones 20001104 H15 3 Eddie Jones 20001104 G34
r4 Mary Smith 19990921 H17 4 Mary Smith 19990921 H17
r5 Eddie Jones 20001104 G34 5 Eddie Jones 20001104 H15
A partição “B” possui {{r1, r3}, {r2, r4}, {r5}}, três subpartições.
Tabela 6 – O resultado de um cenário ER (E, S, ω2) (adaptado de TALBURT
(2010))
S, ω1 Output (E, S, ω2)
First Last DOB SCode Ident First Last DOB SCode
r1 Edgar Jones 20001104 G34 1 Edgar Jones 20001104 G34
r2 Mary Smith 19990921 G55 2 Mary Smith 19990921 G55
r3 Eddie Jones 20001104 H15 3 Eddie Jones 20001104 H15
46
r4 Mary Smith 19990921 H17 4 Mary Smith 19990921 H17
r5 Eddie Jones 20001104 G34 5 Eddie Jones 20001104 G34
A Tabela 7 representa o cálculo da interseção entre o conjunto A e B, tendo
como resultado final o valor 3.
Tabela 7 – Interseção da Matriz de (E, S, ω1) e (E, S, ω2) (adaptado de
TALBURT (2010))
A/B {r1, r3} {r2, r4} {r5}
{r1, r3, r5} 2 0 1 3
{r2, r4} 0 2 0 2
2 2 1 5
E finalmente, Figura 11 representa o cálculo do T-W Index. Caso a partição “A”
fosse o gabarito das referências, e a partição “B” gerada pela multidão, a acurácia da
multidão seria de 81,6%.
𝑇𝑊𝐼 = √|𝐴| . |𝐵|
|𝑉|=
√2 . 3
3=
2.494
3= 0.816
Figura 11 – Cálculo de similaridade (adaptado de TALBURT (2010))
3.7.2.Recall e precision
Recall e precision são medidas básicas usadas na avaliação de estratégias de
busca. Recall é a razão entre o número de registros relevantes recuperados e o número
total de registros relevantes na base de dados. Por exemplo, em uma busca de texto em
um conjunto de documentos, o recall é dado como a divisão entre o número de
resultados corretos e o número de resultados que deveriam retornar.
Em contrapartida, precision é a razão entre o número de registros relevantes
encontrados e o número de registros relevantes e irrelevantes recuperados. Em uma
busca de texto em um conjunto de documentos, por exemplo, a precisão é dada como
o número de resultados corretos divididos pelo total de resultados.
Recall e precision são expressos em percentagem. Esses são geralmente
objetivos conflitantes, considerando que se um quer ver mais itens relevantes,
geralmente mais itens irrelevantes também são recuperados.
47
Dado um conjunto A que representa os dados corretos, e o conjunto B que são
os dados a serem avaliados, a Figura 12 representa a fórmula para o cálculo do recall e
precision.
𝑟𝑒𝑐𝑎𝑙𝑙 = 𝐴 ∩ 𝐵
𝐴 𝑒 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
𝐴 ∩ 𝐵
𝐵
Figura 12 – Cálculo de recall e precision (elaborado pelo autor)
A Figura 13 ilustra a relação entre o conceito de recall e precision em forma de
conjuntos.
Figura 13 – Representação de conjuntos para cálculo de recall e precision
(elaborado pelo autor)
3.7.3.Medida Pairwise e Cluster-level
MENESTRINA et al. (2005) levantam a discussão da comparação “pairwise”
em relação a “cluster-level”, e propuseram uma nova medida chamada merge distance.
A medida pairwise é similar à Medida Rand Index, em que são contados pares no
interior das classes de partições (clusters). No entanto, no caso da medida pairwise, os
pares distintos são apenas contados.
Dada duas partições A = {{r1, r3, r5},{r2, r4}} e B = {{r1, r3},{r2, r4},{r5}},
a partição A gera um conjunto de quatro pares distintos: Pair (A) = {(r1, r3), (r1, r5),
(r3, r5), (r2, r4)}; e a partição B um conjunto de 2 pares: Pair (B) = {(r1, r3), (r2, r4)}.
Ainda, dadas as partições A e B, TALBURT (2010) define Pair precision e Pair
recall como apresentados nas Figura 14 e Figura 15.
48
𝑃𝑎𝑖𝑟𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 (𝐴, 𝐵) = |𝑃𝑎𝑖𝑟𝑠(𝐴) ∩ 𝑃𝑎𝑖𝑟𝑠 (𝐵)|
|𝑃𝑎𝑖𝑟𝑠(𝐴)|
Figura 14 – Fórmula de Pair Precision (adaptado de TALBURT (2010))
𝑃𝑎𝑖𝑟𝑅𝑒𝑐𝑎𝑙𝑙 (𝐴, 𝐵) = |𝑃𝑎𝑖𝑟𝑠(𝐴) ∩ 𝑃𝑎𝑖𝑟𝑠 (𝐵)|
|𝑃𝑎𝑖𝑟𝑠(𝐵)|
Figura 15 – Fórmula de Pair Recall (adaptado de TALBURT (2010))
3.7.4.F-Score
Para avaliar a o desempenho da recuperação dos dados, é possível a utilização
de uma medida chamada F-Score. Esta medida é dada como a média harmônica
(MITCHELL, 2004) da precisão e do recall. A versão universal do F-Score emprega
um coeficiente β, através do qual a razão precision-recall pode ser personalizada.
Abaixo segue a fórmula básica de F com coeficiente β = 1 (Figura 16):
𝐹𝛽 = (1 + 𝛽2) ∙ 𝑃 ∙ 𝑅
𝛽2𝑃 + 𝑅, 𝐹 = 𝐹1 = 2
𝑃 ∙ 𝑅
𝑃 + 𝑅
Figura 16 – Fórmula F-Score descrita em função de Precision, Recall e
coeficiente Beta (adaptado de GOUTTE & GAUSSIER (2005))
O coeficiente β permite que precision ou recall tenham maior relevância, e
ambos estão balanceados quando β = 1. Sabe-se que a precision e o recall podem ser
calculados com base nos falso-positivos e negativos e nos verdadeiro-positivos, como
segue na Figura 17, onde TP é o número de verdadeiro-positivos, FP, o número de
falso-positivos, e FN, falso-negativos.
𝑃 = 𝑇𝑃
𝑇𝑃 + 𝐹𝑃, 𝑅 =
𝑇𝑃
𝑇𝑃 + 𝐹𝑁
Figura 17 – Fórmula de Precision e Recall descrita em falso-positivos, falso-
negativos e verdadeiro-positivos (adaptado de GOUTTE & GAUSSIER (2005))
Dessa forma, a fórmula F-Score, também chamado F-measure, pode ser escrita
na forma apresentada na Figura 18.
49
𝐹𝛽 =(1 + 𝛽2)𝑇𝑃
(1 + 𝛽2)𝑇𝑃 + 𝛽2𝐹𝑁 + 𝐹𝑃
Figura 18 – Fórmula F-Score descrita em função de falso-positivos, falso-
negativos, verdadeiro-positivos e coeficiente beta (adaptado de GOUTTE &
GAUSSIER (2005))
Outras duas formas comuns de medidas F-Score são F2, o qual dá maior peso
para a recall, e F0.5, o qual dá maior ênfase ao precision.
3.7.5.Eficácia
A medida da eficácia pressupõe que, para uma coleção de referências M, o
número verdadeiro de entidades a que se referem é conhecido. A eficácia é uma média
harmônica da precisão e do recall de cada entidade (TANSEL et al., 2006). É indicado
para contextos que lidam com resolução de identidades (ERA5), pois o número n
(número de entidades do mundo real) já é conhecido de antemão. A fórmula da eficácia
é apresentada na Figura 19.
1
𝑁(∑
2 ∗ precision(i) ∗ recall(i)
precision(i) + recall(i)
𝑛
𝑖=1
)
Figura 19 – Fórmula de Eficácia (adaptado de TANSEL et al. (2006))
3.8.Resolução de Entidades utilizando a
multidão
A resolução de entidade é um processo originalmente construído a partir de
algoritmos que são limitados, pois a variedade de dados e fontes faz a comparação de
entidades ser um verdadeiro caos.
3.8.1.A multidão
A multidão tem um enorme potencial para a contribuição na resolução de
entidades. Isto se deve à capacidade de comparação e interpretação que não está
presente em nenhum algoritmo existente.
50
Algoritmos se prendem a regras pré-estabelecidas, enquanto a multidão tem seu
próprio modo de pensar e raciocinar. É com esse diferencial que os sistemas atualmente
têm se aproveitado para otimizar os seus resultados em resolução de entidades.
O ser humano tem facilidade para interpretar diversas representações de
dados. Entretanto, o ideal é que as tarefas sejam simples, permitindo que qualquer
pessoa possa realizar a tarefa (ZHANG et al., 2014).
A abordagem mais atual, a híbrida, está sendo aplicada em muitos trabalhos
(WHANG et al., 2013, DEMARTINI et al., 2012, GOKHALE et al., 2014, ZHANG et
al., 2014, WANG et al., 2012), de maneira que aproveita os pontos positivos da
abordagem humana e computacional.
O trabalho descrito em GOKHALE et al. (2014) foi o primeiro a propor a ideia
de Hands-off Crowdsourcing (HOC), que é uma ferramenta que não depende de um
desenvolvedor. Esta abordagem supera o principal obstáculo das propostas híbridas,
entretanto, ainda é muito limitada no quesito dos dados de entrada que podem ser
processados pelo modelo.
3.8.2.Aplicações
A partir do ano 2012, diversos trabalhos na área de resolução de entidades foram
publicados com o foco em crowdsourcing, buscando uma abordagem híbrida, onde a
multidão contribui em algumas etapas do workflow da resolução, e o restante é
executado por algoritmos provenientes da própria área de resolução de entidades. As
aplicações a seguir são os resultados da revisão sistemática que se encontra no
Apêndice 1.
3.8.2.1.ZenCrowd
ZenCrowd foi um sistema desenvolvido em 2012 para fazer uma combinação
de técnicas de crowdsourcing e reasoning probabilístico na resolução de entidades,
mais especificamente no ERA 3, em larga escala.
O sistema recebe como entrada um conjunto de páginas HTML que são
passadas a um Extrator de Entidades, que identifica potenciais entidades textuais
relevantes mencionadas na página. Uma vez detectadas, essas entidades são enviadas a
um comparador algorítmico que tenta ligar automaticamente entidades textuais e outras
51
entidades semanticamente similares da LOD (Linked Open Data) Cloud. Pelo fato do
carregamento ser muito demorado, foi criado um índice local para guardar informações
relevantes da LOD Cloud. Os Combinadores Algorítmicos retornam listas com os k
primeiros links das entidades da LOD.
Os resultados dos Combinadores Algorítmicos são armazenados em uma Rede
Probabilística e são combinados e analisados utilizando técnicas de inferência
probabilística. Os resultados são tratados de três modos diferentes, dependendo da sua
qualidade. Caso o resultado do algoritmo de decisão seja muito alto, os resultados são
automaticamente armazenados em um banco de dados local. Caso os resultados sejam
muito baixos, eles são descartados. E caso eles sejam considerados incertos (se os
valores de confiança forem relativamente baixos, por exemplo), eles são passados para
o Gerador de Micro Tarefas, que extrai fragmentos relevantes da página HTML original
e gera dinamicamente micro tarefas usando um modelo pré-definido. As tarefas são
publicadas na plataforma crowdsourcing para serem manuseadas pelos trabalhadores.
Os trabalhadores são classificados em confiáveis e não confiáveis a partir de
uma rodada onde os resultados já são conhecidos previamente. A confiabilidade de um
trabalhador é calculada dividindo-se o número de resultados corretos pelo número de
resultados mostrados ao trabalhador, ou seja, resultados_corretos / numero_resultados.
A confiabilidade é atualizada iterativamente à medida que o trabalhador avança no
jogo.
Os dados para avaliação consistem de 25 notícias escritas em inglês vindas de
diversas fontes. As notícias foram selecionadas de modo que houvesse assuntos de
interesse global, e de diversos países, como Estados Unidos, Índia e Suíça. Foram
extraídas 489 entidades utilizando o Stanford Parser (KLEIN & MANNING, 2003).
Para os experimentos foram empregados 80 trabalhadores distintos da plataforma
Amazon MTurk. Para cada tarefa era pago $0.01 que consistia em selecionar uma URL
dentre cinco que houvesse relação com a entidade em questão.
Para avaliar a efetividade do método, foram computados dados de precision (P),
recall (R) e accuracy (A) que foram calculados em função de verdadeiro-positivos,
verdadeiro-negativos, falso-negativos e falso-positivos (Seção 3.7.4).
Na análise dos resultados, notou-se que a utilização das técnicas de
crowdsourcing aumentou a precisão dos resultados em 6%. As vantagens do sistema
são a existência do framework probabilístico que promove um aumento de desempenho
52
considerável, variando entre 4% e 35% em relação ao modo manualmente otimizado, e
em cerca de 14% da otimização automática correspondente.
3.8.2.2.CrowdER
CrowdER (WANG et al., 2012) é um sistema que se utiliza do poder da
multidão para aprimorar a acurácia de métodos de Resolução de Entidades utilizando o
trabalho humano.
Para comparar strings, o autor utilizou a distância de Jaccard, e para comparar
valores numéricos, ele utilizou um certo valor de variação para mais ou para menos.
Pares que tinham similaridade abaixo de um certo threshold eram
automaticamente descartados e os outros eram enviados aos “trabalhadores” na forma
de pares ou de clusters. Nas tarefas em pares, eram apresentadas duas referências e era
perguntado ao trabalhador se aquelas referências eram equivalentes ou não. Já no caso
de clusters, era exibida um certo número de elementos e o trabalhador tinha que
classificar os registros de acordos com as labels que eram atribuídas. Elementos com o
mesmo label pertenciam ao mesmo cluster.
Nos experimentos foram utilizadas duas bases de dados: uma de produtos e
outra de restaurantes. Os resultados mostraram altos valores de recall para thresholds
muito baixos.
3.8.2.3.CrowdMatcher
CrowdMatcher é um sistema híbrido (máquina-multidão) que tem como
objetivo o schema matching, que é a comparação de schemas de diversas bases de dados
em busca de atributos que possam ser associados (ZHANG et al., 2014).
Os matchings gerados pela ferramenta são verificados através de questões
disponíveis para a multidão (Correspondence correctness queries - CCQs), que
determinam se correspondem ou não à mesma entidade.
Dado um par de esquemas, a primeira etapa é a utilização da ferramenta schema
matching para gerar um conjunto de possíveis pares, cada um associado a uma
probabilidade. Devido à incerteza, a probabilidade de possíveis pares é relativamente
baixa (geralmente menos de 50%), e, para isso, o sistema reduz a incerteza colocando
CCQs aos trabalhadores da multidão.
53
CrowdMatcher se utiliza da mesma estratégia de CrowdER (WANG et al.,
2012), adotando duas abordagens, CCQ únicos por HIT, e múltiplos CCQs, a fim de
maximizar a redução de incerteza dentro de um orçamento limitado.
CrowdMatcher também inclui várias características, como: integração de
diferentes matchings gerados a partir de ferramentas clássicas de schema matching;
minimização dos custos de crowdsourcing selecionando automaticamente o conjunto
mais informativo de CCQs dos possíveis matchings; é capaz de gerenciar respostas
imprecisas fornecidas pelos trabalhadores; e as respostas da multidão são usadas para
melhorar os resultados correspondentes.
Para o controle de qualidade, assumindo que nem todos os trabalhadores
respondem corretamente a questão, a ferramenta lida com as taxas de erros utilizando
o Teorema de Bayes (ZHANG et al., 2013).
3.8.2.4.Corleone
GOKHALE et al. (2014) propõem um conceito chamado hands-off
crowdsourcing (HOC). O trabalho de Gokhale concluiu que HOC consegue ser
escalável para necessidades de entity matching para empresas, startups e sistemas
crowdsourcing.
Corleone é uma solução que utiliza o conceito HOC para solucionar EM, e foi
demonstrado no artigo de GOKHALE et al. (2014) que esta solução produziu
resultados comparáveis ou até melhores, em relação às soluções tradicionais.
Ele se utiliza de regras para fazer um pré matching de pares com um certo nível
de semelhança e gerar pares candidatos para serem enviados aos trabalhadores do
Amazon MTurk.
As tarefas foram projetadas em forma de perguntas onde eram exibidos dois
elementos e os trabalhadores deveriam analisar se os elementos representavam a mesma
entidade ou não. Os matches são avaliados e os pares mais difíceis são repassados
novamente aos trabalhadores para serem reavaliados.
Nos testes os autores utilizaram 3 bases de dados: restaurantes, citações e
produtos. Para os testes, foram selecionados trabalhadores que possuíam altos valores
de confiabilidade no Amazon MTurk. Os resultados obtidos tiveram alto grau de
precisão e acurácia, com valores acima de 80%, em sua maioria.
54
3.8.2.5.Comparativo
De acordo com Tabela 8, é apresentado um comparativo entre os modelos e
ferramentas retornados pela revisão sistemática. A etapa ERA 3 foi predominante nos
casos estudados, mostrando ainda que embora a resolução de entidades seja um
conjunto de atividades, o ERA3 ainda é a mais estudada nesse campo de pesquisa. Cada
estudo concentrou seus esforços em uma abordagem diferente para o tratamento desta
atividade.
A ferramenta CrowdMatchER (ZHANG et al., 2014) tem como objetivo a
associação de diferentes atributos de bases diferentes, de forma que essas informações
são, na realidade, subsídios para futuras etapas, tanto em processos de resolução de
entidade, quanto em outras áreas. Ou seja, este modelo se restringe especificamente no
início do ERA3. Além disso, o CrowdMatchER não tem qualquer controle na qualidade
dos dados por parte dos usuários.
A ferramenta Corleone (GOKHALE et al., 2014), por outro lado, foca no
processo de Entity Matching, que é a comparação dos valores de um mesmo atributo
entre bases de dados. Corleone não se utiliza de nenhuma estratégia própria de controle
de qualidade de dados ao longo do processo. GOKHALE et al. (2014) adotaram o
controle de qualidade fornecido pelo MTurk.
ZenCrowd (DEMARTINI et al., 2012) tem uma abordagem que lida com LOD
(Linked Open Data), e não foca totalmente nas etapas de ER, pois transfere grande parte
para o LOD Cloud. Na realidade, ZenCrowd faz uma chamada ao LOD Cloud, e este
por sua vez executa o ERA3. A ferramenta possui estratégias de qualidade de dados,
como a criação de um indicador de qualidade ao decorrer da tarefa assim como uma
rodada de qualificação.
O CrowdER (WANG et al., 2012) tem aspectos muito parecidos do Corleone,
porém o CrowdER incorpora um controle de qualidade básico utilizando um HIT para
qualificação.
55
Tabela 8 - Características das ferramentas de resolução de entidades com crowdsourcing (elaborado pelo autor)
Ferramenta Etapa de
ER
HOC Dados de Entrada Estratégias de
Qualidade
Quem pode
testar
HIT Motivação da
Multidão
Corleone ERA3 Sim Duas bases e
atributos variados
- Usuários do
MTurk
Múltipla escolha (Sim,
Não, Em dúvida)
Monetização por
tarefa realizada
CrowdER ERA3 Não Duas bases e
atributos variados
Único HIT para
qualificação
Usuários do
MTurk
Múltiplas escolhas por par
/ categorização múltipla
Monetização por
tarefa realizada
CrowdMatchER ERA3
(schema)
Não Diversos schemas e
atributos variados
- Usuários do
MTurk
Múltipla Escolha (Sim ou
Não)
Monetização por
tarefa realizada
ZenCrowd ERA3 Não Website - Qualificação
- Atualização de
qualidade
Usuários do
MTurk
Múltipla Escolha Monetização por
tarefa correta
56
3.8.3.Experimentos
Na área de Resolução de Entidades não existe nenhum procedimento formal
para a avaliação de um modelo, nada relacionado a dados de entradas e nem métricas
utilizadas após a execução dos algoritmos e as tarefas relacionadas a multidão.
Através dos trabalhos retornados pela revisão sistemática descrita no Apêndice
1, foi possível identificar uma padronização quanto a metodologia dos experimentos.
A ferramenta ZenCrowd como mencionado na seção 3.8.2.1, tem como entrada
WebSites. Já a ferramenta CrowdMatcher tem como entrada schemas de base de dados.
As duas ferramentas têm focos diferentes de resolução de entidades em relação ao
trabalho proposto, e por isso estes trabalhos não serão levados em consideração quanto
aos dados utilizados em seus experimentos.
A ferramenta CrowdER e Corleone tem abordagens muito parecidas com o
presente trabalho, e por esse motivo serão analisados a forma como conduziram os seus
experimentos e também os dados utilizados. Além disso, o Desafio de Resolução de
Entidades proposto por TALBURT et al. (2009) também será analisado neste estudo.
3.8.3.1.Experimento da ferramenta CrowdER
Dados de Entrada
O estudo de WANG et al. (2012) analisa duas bases de dados reais, a primeira
relacionada à restaurantes e a segunda a produtos. Cada base contém dois arquivos, de
origens distintas.
A Tabela 9 apresenta informações sobre as referências dessas duas bases. A
base referente à entidade Restaurante contém os arquivos Fodors e Zagats, com 533 e
331 registros, respectivamente. Esta base apresenta 106 agrupamentos de restaurantes,
indicando assim, 106 restaurantes únicos entre os dois arquivos.
Para a base referente à entidade Produto, os websites Abt e Buy contêm 1081 e
1092 registros, respectivamente. Esta base apresenta 1097 agrupamentos e,
consequentemente, 1097 produtos únicos.
57
Tabela 9 – Perfil dos dados do estudo da ferramenta CrowdER (adaptado de
WANG et al. (2012))
Restaurante35 Produto36
Fodors Zagats Abt Website Buy Website
Quantidade de
Registros 533 331 1081 1092
Quantidade de
agrupamentos 106 1097
Atributos [name, address, city, type] [name, price]
Exemplo de
registro
[“oceana”, “55 e. 54th st.”,
“new york”, “seafood”]
[“Apple 8GB Black 2nd Generation
iPod Touch - MB528LLA”, “$229.00”]
Os critérios de matching definidos por WANG et al. (2012) são bastante simples
e são descritos abaixo:
1) Não existem referências equivalentes dentro de um mesmo arquivo;
2) Só existe no máximo um par de referências equivalentes entre os arquivos,
ou seja, o tamanho máximo de um cluster é de duas referências e o tamanho
mínimo, de um apenas.
Metodologia
CrowdER utiliza a métrica de recall para calcular a eficiência do seu modelo.
Como o objetivo do estudo era a otimização do número de HITs, o estudo comparou o
recall (Tabela 10) dos resultados em função da variação do número de pares que eram
gerados devido a um threshold especificado.
O estudo provou que mesmo diminuindo o número de pares de 367.653 para
161, o modelo proposto ainda apresentava um recall de 78,3%.
35 http://www.cs.utexas.edu/users/ml/riddle/data/restaurant.tar.gz
36 http://dbs.uni-leipzig.de/file/Abt-Buy.zip
58
Tabela 10 – Exemplo de resultado de avaliação de times (adaptado de
TALBURT et al. (2009))
Threshold Total #Pair Matches Recall
0.5 161 83 78,3%
0.4 755 99 93,4%
0.3 4.788 105 99,1%
0.2 23.994 106 100%
0.1 83.117 106 100%
0 367.653 106 100%
3.8.4.Experimento da ferramenta Corleone
Dados de Entrada
O experimento de GOKHALE et al. (2014) consistiu de três entidades:
Restaurante, Citação e Produto. As bases relacionadas à entidade Restaurante são os
mesmo do estudo de WANG et al. (2012) já apresentado anteriormente.
A entidade Citação nesse estudo é composta pelas bases DBLP37 e Google
Scholar38, que foram extraídas do estudo de KÖPCKE & RAHM (2010). Essa entidade,
inclusive, é bastante usada em trabalhos de Entity Matching (GOKHALE et al., 2014).
A base de dados da entidade Produto foi criada pelos próprios autores do estudo
que extraíram os dados da Amazon e Walmart, sendo o objetivo dos autores selecionar
um conjunto de dados diversificados aumentando a dificuldade de matching.
A Tabela 11 apresenta a quantidade de registros em cada tabela relacionada a
cada base de dados.
37 http://dblp.uni-trier.de
38 http:// scholar.google.com
59
Tabela 11 – Base de dados para o experimento da ferramenta Corleone
(adaptado de GOKHALE et al. (2014))
Base de
Dados
Tabela A Tabela B Número de
Matches
Restaurantes 533 331 112
Citações 2.616 64.263 5.347
Produtos 2.554 22.074 1.154
Metodologia
GOKHALE et al. (2014) analisaram o seu experimento segundo as métricas de
precision, recall e F1-Score. A Tabela 12 apresenta um exemplo da aplicação da
ferramenta Corleone em relação às bases de restaurantes, citações e produtos.
Nota-se também que, similarmente ao estudo da ferramenta CrowdER, os
princípios de matching são os mesmos descritos na seção 0.
Tabela 12 – Desempenho da ferramenta Corleone (adaptado de GOKHALE et
al. (2014))
Base de
Dados
Precision Recall F1
Restaurantes 97% 96,1% 96,5%
Citações 89,9% 94,3% 92,1%
Produtos 91,5% 87,4% 89,3%
3.8.5.Experimento do Desafio de ER
Dados de Entrada
ZHOU & TALBURT (2011) desenvolveram um desafio que simula a realidade
encontrada em projetos de integração de dados. Dos desafios propostos, alguns são:
lidar com a falta de dados ou dados incompletos, avaliar e melhorar a qualidade dos
dados, desenvolver uma estratégia de integração, selecionar e utilizar ferramentas
adequadas, ensaios repetidos e trabalho em equipe.
60
Os dados utilizados neste desafio foram gerados pela ferramenta SOG
(Synthetic Occupancy Generator) (TALBURT et al., 2009) e são referências que
representam clientes que residem nos Estados Unidos. As suas características são
descritas abaixo (ZHOU et al., 2013):
1) Lista A – Arquivo CSV contendo 94.306 registros. Os atributos dessa base
são: ID, nome, rua do endereço, cidade-estado-zip, PO Box, PO Box city-
state-zip, social security number (SSN) e data de aniversário;
2) Lista B – Arquivo delimitado por caractere contendo 100.777 registros. Os
atributos são: ID, primeiro nome, último nome, número da rua, endereço
primário, endereço secundário, cidade, estado, zip code, e número de
telefone;
3) Lista C – Arquivo de campo de tamanho fixo contendo 76.059 registros. Os
atributos são: primeiro nome, nome do meio, último nome, social security
number, data de aniversário e número de telefone;
4) COA – Arquivo limitador por caractere contendo 40.174 registros. Os
atributos são: último nome, endereço de origem (número, nome da rua, etc.)
seguido do endereço de destino.
O quarto arquivo armazena a mudança de endereço dos clientes. Este arquivo interliga
logicamente as três listas indicando o local de origem e destino da mudança de endereço
de um cliente. O objetivo do desafio é criar grupos de referências equivalentes entre as
três listas.
Metodologia
A métrica principal do Desafio de ER é o T-W Index (seção 3.7.1), entretanto
outras métricas são utilizadas para avaliar os diferentes times que resolvem o problema.
Uma delas é o Group count que representa o número de agrupamentos das referências.
Overlap count representa a quantidade de interceções das referências de um resultado
comparado ao gabarito. Por fim, Average Group Size, que é o tamanho médio dos
grupos formados.
A Tabela 13 mostra o exemplo de uma coleção de resultados de cinco times que
realizaram o Desafio de Resolução de Entidades.
61
Tabela 13 – Exemplo de resultados de avaliação de times no Desafio de ER
(adaptado de TALBURT et al. (2009))
True Team 1 Team 2 Team 3
T-W Index 1.0000 0.6250 0.5227 0.4483
Group Count 20,067 41,418 65,185 17,541
Overlap Count 20,067 46,126 69,192 41,848
Avg. Group Size 13.5 6.5 4.2 15.4
Class Distribution
1 200 12,180 28,500 200
2 400 8,078 21,700 400
3 2,300 1,300 4,000 2,000
4 3,800 2,500 3,250 3,600
5 4,500 3,560 2,500 4,500
6 5,617 7,000 2,485 3,800
7 2,450 6,000 2,450 2,141
8+ 800 800 300 900
É possível verificar que o Time 1 obteve o melhor desempenho dentre todos os
times, pois o grau de similaridade de seu resultado chegou a 62,5%.
Outros indicadores utilizados por TALBURT em seu desafio, é a distribuição
de classes (class distribution), indicada na Tabela 13. A distribuição de classes tem
como objetivo calcular a quantidade de registros por tamanho de cluster. Este indicador
apresenta como estão sendo distribuídos os registros em relação ao seu tamanho. Por
exemplo, na tabela acima, os resultados do Time 3 apresentam 4500 referências
equivalentes com três registros.
62
3.9.Considerações Gerais
Através dos estudos deste capítulo, é possível afirmar que a área de Resolução
de Entidades é extremamente ampla, e com o passar dos anos adquiriu e incorporou
diversos outros conceitos dentro de seu processo. Também é inevitável dizer que a
Resolução de Entidades tem importância fundamental no processo de melhoria na
qualidade de dados, seja em momentos de Integração de Dados, análise utilizando
mineração de dados e business intelligence.
Assim como a maioria dos processos, a resolução de entidades utilizava
essencialmente algoritmos computacionais, tanto para comparar os atributos entre as
entidades, quanto no aprendizado, aplicando regras a fim de determinar referências
equivalentes. Entretanto, os sistemas crowdsourcing estão cada vez mais presentes
também na área de ER. Neste capítulo foram descritos diversos estudos e trabalhos que
propõem uma abordagem híbrida, utilizando tanto a multidão quanto algoritmos
computacionais.
Entretanto, é possível observar que nas abordagens propostas a multidão tem
sua capacidade bastante limitada, de modo que somente são criadas tarefas de
complexidade extremamente baixa. Este trabalho propõe uma abordagem em que a
multidão se torne mais presente no processo de resolução de entidades. Esta atitude
possibilita tornar o modelo mais genérico de forma a abranger mais situações, como
detectar referências equivalentes a partir de referências que não necessariamente têm
exatamente os mesmos atributos. Tal liberdade ainda permite a multidão avaliar
referências que contenham outros tipos de mídias, como áudio e vídeo, por exemplo.
Entretanto, esta liberdade em um primeiro momento, contribui para a diminuição da
qualidade dos dados, porém o modelo proposto foi projetado para atentar a essa questão
tão importante.
63
4.Proposta
A resolução de entidades é um processo extremamente importante em áreas
como integração de dados, mineração de dados, business intelligence, entre outros.
Embora o objetivo principal da resolução de entidades seja a detecção de referências
equivalentes, tais ações contribuem para a eliminação de dados duplicados, e até mesmo
inconsistências em etapas futuras. Com essa capacidade, a resolução de entidades
prepara os dados fazendo com que as análises posteriores sejam mais fiéis à realidade,
aumentado as chances de sucesso.
A multidão é uma mão-de-obra diferenciada, criativa e, acima de tudo,
adaptável às diversas situações, com um grande potencial evolutivo, conforme relatado
na Seção 2.1. Muitas ferramentas estão se utilizando desse potencial para aumentar a
acurácia na resolução de entidades. A principal delas é a abordagem híbrida, onde parte
do processo é realizada pela multidão e parte realizada por algoritmos, geralmente de
aprendizado, como mostrado na Seção 3.8.2.
A proposta deste trabalho é propor um modelo que seja viável, no sentindo de
criação de uma ferramenta prática e também viável em termos de eficiência. O modelo
que será apresentado, também contempla uma maior participação da multidão no
processo de resolução, fato este, que não ocorre em outras abordagens estudadas no
capítulo anterior. A participação da multidão possibilita o modelo a tratar muito mais
casos de referências do que as abordagens estudadas na revisão sistemática.
4.1.Motivação
Através dos resultados da revisão sistemática, foi possível avaliar a tendência
dos trabalhos nesses últimos anos. Uma síntese das abordagens dos quatro estudos
selecionados para comparação é que todos eles utilizam a multidão, mas não em sua
plenitude, como pode ser lido na Seção 3.8.2.5.
As abordagens mais recentes de resolução de entidades com crowdsourcing
limitam a multidão em resolver somente partes bem específicas do workflow de ER, e
as partes restantes, que normalmente são algoritmos de aprendizados, ficam sob
responsabilidade de um desenvolvedor (GOKHALE et al., 2014).
O trabalho de GOKHALE et al. (2014) é o que mais se aproxima de uma
abordagem que aproveita melhor a capacidade da multidão, porém o contexto de
64
resolução de entidades deste trabalho também se encontra com muitas restrições, não
sendo possível fornecer mais de duas bases simultaneamente.
Todo este processo não é tão simples quanto parece. A multidão pode sim
produzir resultados satisfatórios, mas é importante atentar à qualidade dos dados
produzidos. Esse é um aspecto crítico para a resolução de entidades, uma vez que ER
está intrinsicamente ligado à qualidade dos dados.
O objetivo principal deste trabalho é criar um modelo que fomenta a
participação da multidão de forma maximizada no processo de resolução de entidades.
Um exemplo simples, é que os dados de entrada para os modelos e ferramentas
estudados contemplam no máximo duas listas onde são comparadas uma a outra em
busca de referências equivalentes. O modelo proposto por este trabalho busca agregar
os mais diversos tipos de entradas de referências para a resolução de entidades, sem a
perda de qualidade dos resultados gerados.
Além disso, o modelo inclui estratégias para garantir a qualidade dos dados,
condição essencial para uma resolução de entidade eficiente. O modelo tem como foco
a atividade ERA3 explicada na introdução da Seção 3.4.3, considerada a atividade
principal de ER.
4.2.Definições
Dois papéis estão envolvidos no modelo. O primeiro é o responsável pela
aplicação, é aquele que tem o interesse em agrupar as referências de modo a interligar
as referências equivalentes, mais especificamente aplicar a atividade ERA3 do processo
de TALBURT (2010) com o máximo de qualidade e menor custo.
O segundo papel são os usuários provenientes da multidão, i. e., são as pessoas
que participarão das atividades para resolver a resolução de entidades propriamente
dita.
Durante a tarefa, serão manipulados basicamente dois tipos de referências,
ambos extraídas das bases de dados selecionadas pelo responsável. O primeiro tipo de
referência é a chamada de alvo, e são referências que a multidão terá como parâmetro
para buscar as referências equivalentes. A outra é a referência suspeita, e são aquelas
que serão agrupadas juntamente com a referência alvo, de modo que todas elas
referenciam a mesma entidade.
65
4.3.Etapas
O modelo contempla duas fases: (1) a fase de definição e (2) a fase de execução.
A primeira é realizada pelos responsáveis, enquanto a segunda é realizada pelos
supervisores e a multidão. A Figura 20 ilustra essas etapas, fases, com seus passos
respectivos. Os detalhes de cada passo serão explicados logo a seguir.
Figura 20 – Etapas e passos do modelo (elaborado pelo autor)
66
As etapas definidas no processo, na fase de definição, são bastante flexíveis,
deixando a maioria das definições a cargo de quem for implantá-lo. Entretanto, existem
alguns pontos rígidos que deverão ser respeitados:
Visibilidade – A visibilidade das ações de um usuário, bem como sua
resolução para uma determinada referência não são visíveis no sistema
para outros usuários.
Qualidade de Dados por Entidade – O usuário terá sua qualidade
calculada para cada entidade a qual está associado. Caso tenha três
entidades associadas, serão três estimativas de qualidade.
Rodada – A rodada significa que a entidade estará disponibilizada para
a multidão até a condição de parada ser satisfeita. A rodada tem duas
fases: qualificação e resolução. A fase de qualificação antecede a de
resolução e tem como objetivo avaliar o desempenho dos usuários.
Design da tarefa – A tarefa consiste na escolha de uma referência alvo,
que é a base para a busca de referências equivalentes. O objetivo é
permitir ao usuário flexibilidade necessária para que a capacidade da
multidão seja maximizada.
Ferramenta de Busca de Referências – É essencial fornecer uma
ferramenta que possibilite o usuário realizar as buscas das referências
por conta própria. Seguindo a mesma linha de raciocínio do design de
tarefa, o objetivo é flexibilizar as ações do usuário dando-lhe liberdade.
Regras de Matching – As regras de matching devem ser exclusivamente
criadas pelo próprio usuário, bem como schema matching. Entretanto, o
responsável pode orientar o usuário segundo as suas necessidades.
As etapas do responsável são executadas apenas uma vez (Etapa I a Etapa XI e
Etapa XVI). Entretanto, as etapas da multidão (Etapa XII, Etapa XIII, Etapa XIV e
Etapa XV), por serem atribuídas a muitas pessoas utilizando em paralelo, não são
executadas apenas uma vez, havendo concorrência entre as execuções de diferentes
usuários.
67
4.3.1.Etapas
I. Definir entidade / Base de dados
O Responsável da aplicação deverá definir a entidade a ser trabalhada para a
resolução de entidades. Após isso, deverão ser reunidos as bases de dados e arquivos
que contenham as referências e, posteriormente, definir aqueles que participarão do
processo de ER.
Muitas vezes uma empresa tem alguma priorização de entidades em relação a
outras, assim como bases que são mais importantes ou emergenciais.
II. Definir e especificar atributos
Este passo é importante pois a multidão não conhece a entidade de antemão e
nem seus atributos. O atributo pode ser de conhecimento público, como o CPF, porém,
caso seja pouco conhecido e bastante utilizado pelo Responsável, é importante que a
multidão entenda como esse atributo se relaciona à entidade.
Nesse momento é importante definir também os atributos de cada base de dados
que serão exibidos à multidão. Essa decisão deve ser bem pensada, porque o julgamento
da equivalência de uma referência a outra depende essencialmente dos dados exibidos
nas tarefas.
III. Definir motivação da multidão
Esta etapa especifica quais serão as formas de motivações oferecidas aos
usuários em troca da colaboração nas tarefas. A recompensa pode ser oferecida somente
aos primeiros colocados de um ranking, ou pode ser monetária (por tarefa realizada).
As diversas opções em relação à motivação podem ser escolhidas da seção 2.2.1.4.
IV. Definir perfil de usuário
O perfil do trabalhador representa as suas ações, objetivos e pretensões. Como
comentado na seção 2.2.2.1, a análise do perfil do trabalhador é fundamental para
determinar a qualidade dos seus dados. Normalmente, cada perfil tem um padrão de
atuação e através desses padrões é possível determinar se um certo trabalhador é
diligente, competente ou até mesmo um spammer.
68
O modelo proposto e o conceito de referência alvo dão suporte a alguns tipos
de análises como o cálculo do recall e precision; outros pontos de vista também são
possíveis como os verdadeiro-positivos, falso-positivos e falso-negativos. Os
resultados verdadeiros-negativos também podem ser calculados, entretanto, para o
processo de ER, esse dado não é interessante.
Além desses indicadores, a acurácia, a eficácia, o tempo de resposta nas tarefas
e o cálculo de similaridade de Talburt-Wang Index também são essenciais para definir
o padrão de atuação dos usuários.
V. Definir métrica de avaliação de perfil
O trabalhador é peça fundamental em um sistema crowdsourcing. A avaliação
do perfil em termos de qualidade dos dados produzidos é algo que, se conseguido com
sucesso e exatidão, pode ser uma poderosa ferramenta para o aumento da qualidade dos
dados do sistema.
A métrica será definida para duas situações distintas. A primeira é relativa à
fase de qualificação. Nesta etapa do processo o gabarito é conhecido, logo é possível
uma métrica mais exata para o cálculo da qualidade. A segunda situação é para a rodada
de resolução, onde os resultados não são totalmente conhecidos e estão disponíveis
apenas os resultados de outros usuários para comparação.
A métrica é uma fórmula ou algoritmo que deverá se basear em alguns
componentes da resolução de entidades, como: recall e precision. Entretanto, a simples
relação dessas duas medidas não representa a complexidade dos processos de ER. As
medidas mais adequadas para este caso seriam os verdadeiro-positivos, falso-positivos
e falso-negativos. Além disso, na área de ER, falso-positivos são piores do que falso-
negativos, como já citado no Princípio 4 da Seção 3.3. É preferível a criação de falso-
negativos do que falso-positivos, isto é, na dúvida o melhor é não arriscar. Logo, o
recomendável é que seja uma fórmula ou algoritmo que contenha esses elementos e
tenha a possibilidade de ajustar pesos.
VI. Definir métrica de atualização de perfil
O usuário deverá ter sua qualidade calculada em diferentes momentos, e isso
pode ser definido aleatoriamente, ou a cada número de tarefas executadas. A
atualização do perfil é fundamental para detectar spammers semi-aleatórios, aqueles
69
que em etapas de qualificação o fazem diligentemente, mas em outras etapas
aleatoriamente. Além disso, a manutenção do perfil de um usuário reflete nos resultados
ao longo das rodadas, pois o perfil do usuário determina a relevância de seus resultados
no cálculo do voto pela maioria.
VII. Definir design de tarefa
O design de tarefa especificado nesta etapa será o mesmo aplicado à fase de
qualificação e de resolução. Esta etapa é a mais crucial para a multidão, pois o design
determinará o nível de complexidade na manipulação das referências. A facilidade no
entendimento da tarefa implica em a multidão produzir melhores resultados.
Neste caso, é importante aplicar elementos que permitam flexibilidade,
liberdade e simplicidade para que a multidão consiga ter acesso aos dados. Os usuários
terão a liberdade de escolher a regra que desejarem para julgar a equivalência de duas
referências.
A parte rígida desta etapa é a apresentação de uma referência alvo e ferramentas
que possibilitem a multidão encontrar as referências equivalentes.
VIII. Definir condição de parada de rodada
A rodada é formada por duas fases: a qualificação e a resolução. O início da
rodada se dá quando esta é criada e publicada (Etapa XI) para a multidão ter acesso. É
interessante que a rodada criada para uma entidade seja limitada de alguma forma.
A condição de parada da rodada pode ser uma quantidade mínima de referências
alvos a serem resolvidas. A condição também pode não só relacionar referências alvos,
mas qualquer referência que foi agrupada, seja alvo ou suspeita.
Além disso, a condição de parada pode ser temporal, pois o responsável pode
ter cronograma a cumprir com uma data prazo de entrega, ou ainda pode contemplar as
duas restrições.
IX. Definir condição de admissão
Ao realizar a qualificação, o sistema definirá o perfil do usuário referente a uma
entidade específica. A condição de admissão pode ser criada através de um threshold,
70
ou seja, caso o usuário não alcance um nível de acurácia desejado em relação aos casos
de resolução de entidades, este não poderá continuar na fase de resolução.
Além disso, o responsável pode definir um número limitado de tentativas
proibindo o usuário de prosseguir para a próxima fase de forma vitalícia. Ou ainda,
permitir que usuário tente quantas vezes desejar.
X. Definir gabarito
A definição do gabarito é essencial para a rodada de qualificação, pois através
dos dados do gabarito será possível ter uma avaliação fiel do perfil dos usuários. O
gabarito é uma pequena parcela das referências suspeitas que serão agrupadas
previamente.
XI. Cadastrar e disponibilizar rodada
Até está etapa, o responsável já terá definido todas as estratégias e técnicas que
serão utilizadas durante toda execução do modelo, restando apenas a criação e a
disponibilização da rodada.
A estratégia definida para a condição de parada da rodada (Etapa VIII), bem
como a entidade selecionada para o processo de ER (Etapa I) são associados a uma
rodada juntamente com os usuários que participarão. A rodada é então disponibilizada
para que os usuários possam efetuar a resolução de entidades e contribuir com dados.
A escolha dos usuários nessa etapa pode influenciar, em muito, a qualidade dos
resultados produzidos. Após a criação de algumas rodadas, já é possível conhecer o
perfil dos usuários. Logo, é interessante para o responsável adicionar usuários com
perfil de qualidade superior para uma entidade que contenha referências mais
complexas ou que necessite de um grau maior de atenção.
XII. Escolher entidade
Após todas as definições realizadas pelo responsável, a multidão tem o seu
início no processo. Como o modelo suporta a iteração de diversas entidades ao mesmo
tempo, o usuário deverá escolher uma para iniciar. Como será explicado
posteriormente, a entidade só poderá ser executada primeiramente na fase de
qualificação e depois na fase de resolução.
71
XIII. Executar qualificação
O primeiro contato da multidão com a entidade é através da qualificação. Esta
precede a etapa principal de resolução de entidades. Além de filtrar usuários com baixo
rendimento, esta etapa também tem o intuito de treinar a multidão. Uma vez que as
regras de matching podem não ser bem entendidas pelos usuários, a execução da
qualificação é uma oportunidade para a multidão aprender implicitamente.
XIV. Executar resolução
Após a qualificação do usuário, ele está apto para executar a tarefa de resolução.
Nesta etapa será gerada uma referência alvo que será a base para as buscas de
referências suspeitas. O objetivo principal é agrupar todas as referências suspeitas com
a alvo utilizando a regra de matching recomendada pelo responsável, e claro, através
também de seus próprios conhecimentos.
XV. Atualizar perfil de usuário
Cada vez que a resolução é executada, os resultados dos usuários são analisados.
Esta medida visa aplicar as técnicas definidas na Etapa VI, atualizando o perfil do
usuário. A manutenção do perfil é essencial, pois o usuário pode ter um desempenho
baixo no início da rodada e ao longo do tempo melhorar suas habilidades. Outro caso é
que o usuário não tenha entendido bem o objetivo da tarefa e conforme o andamento,
ele adquira o conhecimento necessário, executando assim a tarefa de forma correta.
XVI. Consolidar resultado
Ao término da rodada segundo as condições de parada definidas na Etapa VII,
os resultados produzidos pela multidão são analisados e consolidados, formando assim
a resolução de entidades. A consolidação será feita mediante alguma técnica ou
algoritmo que leve em conta o perfil de cada usuário. Aqueles com baixa qualidade
terão pouca relevância em seus resultados, porém usuários competentes ou diligentes
terão bastante participação na influência dos resultados finais.
72
4.4.Ferramenta
A fim de demonstrar que o modelo é funcional e realizável, foi criada uma
plataforma de resolução de entidades pela multidão. A ferramenta possibilita a inclusão
de diversos tipos de dados (relacionados a pessoas e produtos, por exemplo) para a
resolução de entidades através da multidão. A ferramenta recebeu o nome CERM,
acrônimo para Crowdsourcing Entity Resolution Model.
Esta ferramenta é inspirada em modelos propostos em (WANG et al., 2012) e
(WHANG et al., 2013) que realizam uma abordagem híbrida, utilizando tanto a
capacidade computacional quanto a humana. Entretanto, o foco está na maior liberdade
da multidão encontrar referências equivalentes com as metodologias estudadas na área
de qualidade de dados dando suporte ao modelo de modo que os resultados produzidos
sejam ótimos.
4.4.1.Tecnologias
A plataforma foi desenvolvida utilizando a linguagem PHP em sua versão 5,
lançando mão do conceito de MVC (Mode-view-controller). Para a camada de controle
e visão, foi utilizado o framework Bootstrap39 3.2.0. O banco de dados utilizado é o
Microsoft SQL Server Express 2008 R2 e o servidor web foi o Internet Information
Services 7.0 (IIS). A API do JQuery40 2.1.1 foi utilizada em diversas partes da
ferramenta, principalmente no recurso Drag and Drop nas tarefas executadas pelos
usuários. Para a exibição de alertas e caixas de diálogos foi utilizada a API Messi41,
para o bloqueio de tela foi usada a API blockUI42, para a criação de tooltips que exibem
detalhes de certo elemento na página foi utilizada a API Tipsy43 e para criação do
cronômetro regressivo utilizado na tarefa foi utilizada a API Time Circles44.
O modelo de dados está presente nos Apêndices 2 e 3. O Diagrama de Classe e
Caso de Uso da ferramenta CERM estão descritos nos Apêndice 4 e 5.
39 http://getbootstrap.com
40 http://query.com
41 http://marcosesperon.es/apps/messi
42 http://malsup.com/jquery/block/
43 http://onehackoranother.com/projects/jquery/tipsy/
44 http://plugins.jquery.com/timecircles/
73
Na Figura 21 é apresentada a tela inicial da ferramenta CERM.
Figura 21 – Tela inicial da ferramenta CERM (elaborado pelo autor)
O módulo administrativo foi criado para dar suporte ao responsável aos dados.
Neste módulo é possível cadastrar os usuários, criar e disponibilizar rodadas, cadastrar
entidades e importar as bases de dados.
Como será elucidado a seguir, o fluxo inicia com o cadastro da entidade e suas
bases de dados (em formato CSV). Ao serem importados, os dados dos arquivos são
copiados para a base de dados interna da ferramenta CERM (Apêndice 2) criando assim
tabelas dinâmicas para o armazenamento dos diferentes tipos de dados.
Na Figura 22 apresenta o Painel Administrativo da ferramenta CERM, que é
acessado pelo responsável da aplicação.
74
Figura 22 – Módulo Administrativo (elaborado pelo autor)
Similar ao painel administrativo, os usuários também possuem um painel onde
estão reunidos todos os dados sobre as tarefas disponíveis, bem como um ranking para
instigar a competição entre os usuários.
4.4.2.Etapas
I. Definir entidade / Base de dados
O planejamento propriamente dito da definição da entidade e de suas bases de
dados não é contemplada na plataforma, pois a ferramenta não tem um Driver ODBC
(Open Database Connectivity) para acessar e estabelecer conexão com os diferentes
SGBD disponíveis no mercado. Então, o responsável terá que realizar esta etapa
externamente. A incorporação de um driver era de certa forma simples de ser realizada,
porém como o foco do trabalho foi a criação do modelo para ER, não foi direcionado
esforço para tal. A ferramenta, porém, permite importar arquivos no formato CSV,
contendo os dados de interesse do responsável. Após a definição das entidades e das
bases que participarão da resolução de entidades, o responsável deverá cadastrá-las no
sistema.
Após a fase de execução, o sistema não permite a inclusão de novas bases de
dados relacionadas a entidade em questão. Essa restrição é fundamental, pois a inclusão
de uma base durante a fase de execução comprometeria a qualidade dos dados, elevando
o número de falsos negativos.
A ferramenta não possui limitação quanto à quantidade de bases cadastradas
para uma entidade, nem quanto ao número de registros. A Figura 23 apresenta a tela de
cadastro de entidades na ferramenta CERM.
75
Figura 23 – Módulo Administrativo – Entidades (elaborado pelo autor)
II. Definir e especificar atributos
Ao cadastrar a entidade e posteriormente relacionar as bases de dados, a
ferramenta permite a seleção dos atributos que farão parte do design da tarefa, isto é,
os atributos que a multidão terá acesso e, portanto, tomará como base para definir as
referências equivalentes (Figura 24).
Nessa etapa também a ferramenta permite a inclusão de um nome mais amigável
e descrição para os atributos. Essas duas medidas auxiliam a multidão a comparar duas
referências com mais precisão. Além disso, como é possível a inclusão de múltiplas
bases no sistema, a descrição associada aos atributos permitirá a multidão criar
associações tornando a resolução de entidades mais eficaz entre as bases.
76
Figura 24 – Inserção de nome e descrição dos atributos da base de dados
importada (elaborado pelo autor)
III. Definir motivação da multidão
A ferramenta depende essencialmente de três formas de motivação:
recompensa, competição e altruísmo. Os usuários têm uma pontuação para cada
entidade, e têm outra, global, que dá mais dinamismo à competição.
O ranking é sempre exibido no painel principal do sistema, logo após o usuário
realizar a autenticação. A recompensa pode ser distribuída para os n primeiros
colocados e o sistema pode informar a premiação.
77
A pontuação ocorre em dois momentos distintos, a primeira na fase de
qualificação, onde a ferramenta CERM admite somente os usuários que conseguirem
mais de 60 pontos.
O segundo momento é na fase de resolução, onde para cada tarefa executada é
gerada uma pontuação. Entretanto, nesta fase, o gabarito ainda não é conhecido, logo
uma estratégia para calcular a pontuação, diferente da fase anterior (qualificação), se
faz necessária. A forma como será calculada essa pontuação é baseada no voto da
maioria (RAYKAR et al., 2010), onde a resolução resolvida será comparada a de outros
usuários.
IV. Definir perfil de usuário
A ferramenta CERM adota a classificação descrita por KAZAI et al. (2011),
onde os trabalhadores são definidos como: spammer, descuidado, incompetente,
diligente e competente. Essas características serão definidas de acordo com o tempo de
execução da resolução, recall, precision e tentativas de fraudes.
V. Definir métrica de avaliação de perfil
Para a rodada de qualificação onde o gabarito já é conhecido, a métrica utilizada
pela ferramenta é o F-Score (seção 3.7.4) que é baseada nos resultados verdadeiro-
positivos, falso-negativos e falso-positivos. O F0,5 foi utilizado para calcular o
agrupamento dos resultados dos usuários com o gabarito. O coeficiente beta com valor
0,5 significa que os resultados falso-positivos influenciam de maneira negativa no
cálculo. Logo, quanto maior a quantidade de falso-positivos, menor será a qualidade
dos resultados.
VI. Definir métrica de atualização de perfil
O cálculo de qualidade na rodada de resolução é mais delicado, pois o gabarito
não está disponível. Logo, se faz necessário outra estratégia além da média F-Score. A
estratégia empregada, nesse caso, foi a criação de tarefas com referências alvo cujo
gabarito era previamente conhecido a cada 10 tarefas executadas por parte do usuário.
Isto é, cada vez que um usuário realizar 10 resoluções, a próxima será um resultado
conhecido, possibilitando um cálculo mais exato da qualidade da multidão.
78
VII. Definir design de tarefa
O design de tarefa da ferramenta CERM conta com o painel do usuário e a tarefa
propriamente dita. O painel exibe um ranking com a pontuação global de todos os
usuários, aumentando assim a competitividade e dando também acesso à tarefa de
resolução.
A Figura 25 mostra um exemplo de uma tarefa na ferramenta CERM. A tarefa
é formada por quatro componentes: (1) o filtro de busca – ferramenta onde são
realizadas as buscas de acordo com os atributos. Retorna as referências suspeitas onde
serão agrupadas a referência alvo. (2) grupo alvo – representado por uma área tracejada
por uma linha azul, é o local onde serão agrupadas todas as referências equivalentes.
(3) área de trabalho – é um local temporário onde o usuário poderá manipular as
referências ao decorrer da tarefa. Quando a tarefa é finalizada, somente as referências
dentro do "grupo alvo" serão associadas. (4) botões de ação – existem três botões na
parte superior: o primeiro é de desistência; o segundo é de finalização; e o último de
limpeza, isto é, a tarefa será reiniciada, voltando assim ao seu estado inicial.
O painel do usuário também contém diversas informações sobre as tarefas, que
diz respeito a pontuações, a maneira como duas referências devem ser comparadas para
serem equivalentes. A tarefa tem um tempo limite de 5 minutos para ser realizada.
Figura 25 – Utilização da Ferramenta de Busca da Tarefa (elaborado pelo autor)
79
IX. Definir condição de admissão
A ferramenta CERM permite a aprovação do usuário somente se a pontuação
gerada na qualificação ultrapassar 60 pontos. Caso não consiga esta pontuação, ele
poderá tentar novamente quantas vezes desejar.
X. Definir gabarito
A ferramenta CERM conta com um módulo similar ao da Etapa I, onde é
possível a importação de um arquivo CSV. Este módulo é próprio para a importação de
gabarito da entidade. A única restrição é que os ids desse arquivo devem ser os mesmos
ids importados na Etapa I.
XI. Cadastrar e disponibilizar rodada
A ferramenta permite o cadastro de rodadas e a associação de uma entidade a
diversos usuários. O cadastro da rodada consiste na definição da data início de
disponibilização e data prazo, quando será finalizado. Cada rodada tem apenas uma
entidade associada. Uma vez iniciada, não é mais possível a inclusão de novas bases de
dados para a entidade associada à rodada. O responsável também pode encerrar a
rodada no momento que desejar, bastando acessar o painel administrativo.
XII. Escolher entidade
Esta é a primeira etapa em que os usuários participam efetivamente do sistema.
A escolha da entidade ocorre através do painel de usuários. São exibidas somente as
entidades habilitadas para o usuário.
O usuário pode executar as tarefas de duas entidades concorrentemente, isto é,
enquanto em uma entidade o usuário está na fase de qualificação, em outra pode estar
na fase de resolução. Todas essas informações podem ser acompanhadas pelo painel.
A Figura 26 mostra o painel principal onde o usuário visualiza todas as
entidades cadastradas as quais ele pode ter acesso. Este acesso é definido pelo
responsável da aplicação.
80
Figura 26 – Painel do usuário (elaborado pelo autor)
XIII. Executar qualificação
O primeiro contato da multidão com a entidade é através da qualificação. Esta
precede a etapa principal de resolução de entidades. Além de filtrar usuários com baixo
rendimento, esta etapa também tem o intuito de treinar a multidão. Uma vez que as
regras de matching podem não ser bem entendidas pelos usuários, a execução da
qualificação é uma oportunidade para a multidão aprender implicitamente com os seus
erros. A pontuação gerada a cada tarefa apoia o aprendizado, uma vez que informa o
desempenho ao usuário.
XIV. Executar resolução
Após o usuário ser qualificado e passar nas condições de admissão, ele está apto
para executar a tarefa de resolução. Nesta etapa será gerada uma referência alvo que
será a base para as buscas de referências equivalentes. O objetivo principal é agrupar
todas as referências suspeitas com a alvo utilizando a regra de matching recomendada
pelo responsável.
Ao final de cada tarefa, a ferramenta CERM executa o algoritmo descrito na
seção Erro! Fonte de referência não encontrada. gerando assim um gabarito baseado
os resultados da multidão. Este gabarito é comparado ao resultado do usuário através
da média F-Score, gerando assim sua pontuação.
O usuário pode executar a tarefa quantas vezes desejar, e o sistema inclusive
estimula essa prática. Quanto mais dados gerados, mais consolidados são os resultados.
81
XV. Atualizar perfil de usuário
A cada final de tarefa é aplicado o algoritmo de atualização de perfil. Na
ferramenta ela ocorre de forma automática, sem a intervenção do responsável pela
aplicação
Dependendo da estratégia definida, a atualização do perfil pode ocorrer a cada
final de tarefa. O modo como ocorrerá essa atualização também depende da definição
da etapa VI. Os perfis são atualizados de acordo com o seu rendimento, sendo
analisados sob diversos aspectos. Essa etapa é executada automaticamente pelo
sistema.
XVI. Consolidar resultado
Após o término da rodada, o responsável pelos dados acionará a opção de
consolidação dos mesmos, disponibilizado pela ferramenta. Esta por sua vez executará
o algoritmo de votação pela maioria descrita na seção Erro! Fonte de referência não
ncontrada.. Porém, aplicando, todas as referências da entidade, e não somente uma
específica, como ocorre na etapa XIV.
O algoritmo de consolidação leva em conta o perfil dos usuários, não somente
o seu perfil mais recente. Entretanto, para os resultados realizados no passado, o
algoritmo associa estes resultados ao perfil do usuário naquele momento. Assim, a
relevância de um usuário competente, que no início das tarefas era descuidado, é maior
na situação atual do que na passada.
Ao final, é disponibilizado um arquivo em formato CSV contendo as referências
submetidas na etapa I com a inclusão de uma coluna linking_id que identifica os
clusters formados.
82
Tabela 14 – Etapas do processo e técnicas correspondentes na ferramenta
CERM (elaborado pelo autor)
Etapas do processo do
Modelo
Técnica na ferramenta CERM
I. Definir entidade / Base de
dados
Suporta parcialmente. Não é possível definir bases ou
tabelas. Mas é possível importar arquivos CSV das
bases.
II. Definir e especificar
atributos
Ao importar o arquivo CSV, é possível selecionar os
atributos que serão exibidos nas tarefas. Um nome
amigável e a descrição de cada atributo podem ser
informados pelo responsável.
III. Definir motivação da
multidão
A motivação é a competitividade, recompensa e
altruísmo.
IV. Definir perfil de usuário Spammer, descuidado, incompetente, diligente e
competente.
V. Definir métrica de
avaliação de perfil A métrica utilizada foi calcula pela média F1 Score.
VI. Definir métrica de
atualização de perfil A atualização do perfil é baseada no voto da maioria.
VII. Definir design de tarefa
O design possui componentes como ranking,
pontuação, drag and drop, um filtro dinâmico de
buscas e área de trabalho.
VIII. Definir condição de
parada de rodada
A condição de parada da ferramenta CERM é
temporal (data prazo) ou pela inativação realizada
pelo responsável.
IX. Definir condição de
admissão
O usuário é admitido se o seu desempenho
ultrapassar 60 pontos. Abaixo disso, a tarefa de
qualificação deve ser executada novamente.
X. Definir gabarito A ferramenta CERM suporta a importação de arquivo
CSV contendo gabarito.
XI. Cadastrar e disponibilizar
rodada
O cadastro consiste na associação da entidade, dos
usuários, de uma data de inicialização e término. A
disponibilização da rodada ocorre no próprio sistema.
XII. Escolher entidade
Os usuários têm acesso ao painel do sistema onde
estão localizadas todas as entidades disponíveis para
as tarefas.
XIII. Executar qualificação
CERM também suporta a fase de qualificação,
avaliando os usuários comparando seus resultados a
um gabarito e gerando uma pontuação.
XIV. Executar resolução
Através do painel, o usuário executará as tarefas
resolução que consiste no agrupamento de
referências equivalentes em relação ao alvo.
XV. Atualizar perfil de
usuário
O sistema atualiza o perfil definido na etapa VI de
forma automática, após a execução de uma tarefa.
XVI. Consolidar resultado A consolidação dos dados é realizada pelos dados
gerados pelos usuários em função de seu perfil.
83
4.5.Considerações Gerais
O modelo proposto é composto por 16 etapas, sendo 11 executadas pelo
responsável da aplicação e 5 etapas por parte da multidão. O desenvolvimento da
ferramenta CERM mostra que o modelo proposto é viável.
A maior dificuldade encontrada no desenvolvimento do CERM foi planejar
como o sistema seria construído de forma a atrair a atenção do usuário e tornar as tarefas
menos complexas. A abordagem escolhida teve como foco tornar a tarefa (HIT) o mais
intuitivo possível de modo a permitir o usuário a arrastar (drag and drop) os registros,
tornar a busca mais prática e simples.
A utilização de um ranking dinâmico também foi proposta pela ferramenta
CERM de modo a incentivar uma competição entre os usuários, com a finalidade de
gerar mais resoluções em pouco tempo.
A Tabela 14 apresenta, de forma resumida, como as etapas do modelo foram
aplicados particularmente a ferramenta CERM.
84
5.Experimento e Estudo de Caso
A partir da ferramenta criada, é possível comparar a eficiência do modelo
aplicando as técnicas de cálculo de similaridade, como o T-W Index (TALBURT et al.,
2007), recall, precision, F-Score (GOUTTE & GAUSSIER, 2005), entre outros.
Neste capítulo serão apresentadas as metodologias que serão aplicadas para a
realização do experimento, bem como as origens dos dados e o motivo para utilizá-las.
O objetivo do experimento é comprovar que o modelo proposto é viável e que
a ferramenta CERM criada a partir do modelo apresenta eficiência muito próximas das
ferramentas estudadas na revisão sistemática.
5.1.Metodologia
Através dos trabalhos retornados pela revisão sistemática descrita no Apêndice
1, foi possível identificar uma padronização quanto a metodologia dos experimentos.
A ferramenta ZenCrowd como mencionado na seção 3.8.2.1, tem como entrada
WebSites. Já a ferramenta CrowdMatcher tem como entrada schemas de base de dados.
As duas ferramentas têm focos diferentes de resolução de entidades em relação ao
trabalho proposto, e por isso estes trabalhos não serão levados em consideração quanto
aos dados utilizados em seus experimentos.
Os trabalhos relacionados à resolução de entidades não têm à disposição uma
base de dados formalizada para aplicação de modelos, algoritmos, benchmarks e afins.
Logo, o estudo sobre os recentes experimentos se fez necessário para identificar as
principais bases de dados utilizadas no contexto de multidão e resolução de entidades.
Os dados utilizados por WANG et al. (2012) são bastantes simples e,
praticamente, não representam qualquer desafio para a multidão, ainda mais que as
referências equivalentes se encontram uma em cada lista.
GOKHALE et al. (2014) criaram seus próprios dados relacionados à entidade
Produto. Entretanto, os autores da ferramenta Corleone não disponibilizaram os dados
de seus experimentos, tornando difícil uma comparação entre as ferramentas.
O desafio proposto por ZHOU & TALBURT (2011) seria uma coleção de dados
excelente para o estudo de caso, entretanto, a base de dados do desafio não se encontra
85
disponível no Website do Centro para Resolução de Entidades e Qualidade da
Informação da Universidade de Arkansas45.
Uma forma de contornar este problema foi a tentativa de localizar a ferramenta
SOG para simular os dados do desafio. Entretanto, a ferramenta também não se
encontra disponível no website da universidade e em nenhum outro local como o
SourceForge46 ou GitHub47.
Portanto, a solução para o estudo de caso foi a criação de uma base própria
relacionada à entidade Produto. A respeito da métrica que será utilizada, será tomado
como base as métricas do Desafio de ER (T-W Index, Group Count, Avg. Group Size),
CrowdER (recall) e Corleone (precision, recall e F-Score).
5.2.Estudo de Caso
5.2.1.Motivação
A entidade Produto foi definida como alvo deste experimento, pois representa
um tipo muito comum de entidade utilizada nos estudos relacionados à resolução de
entidades. Como citado acima, tanto a ferramenta Corleone e CrowdER utilizam a
entidade Produto em seus experimentos.
Outra justificativa é que os atributos relacionados aos produtos possuem
bastante variação em seus dados, justamente pela diversidade desta entidade. Sendo
ainda mais específico, foram selecionados apenas produtos eletrônicos para este estudo.
O motivo é que, produtos eletrônicos são encontrados mais facilmente na Web e têm
uma ampla divulgação de suas informações.
Com isso, foi criado um simples Web Crawler (PINKERTON, 1994) para a
extração de informações relativas a produtos eletrônicos nos websites citados na seção
a seguir.
45 http://ualr.edu/eriq/
46 http://sourceforge.net/
47 https://github.com/
86
5.2.2.Fontes de Dados
Fontes de dados são bases de dados ou arquivos de onde as referências foram
originadas. Para este experimento, foram escolhidas três fontes de dados: Amazon48,
BestBuy49 e Newegg50. Estas empresas são três grandes redes dos Estados Unidos que
comercializam principalmente produtos eletrônicos.
Estas três bases foram escolhidas pois possuem muitos produtos em comum,
com fotos dos produtos de diferentes ângulos e descrições variadas. Notou-se também
a duplicação de produtos dentro de um mesmo website.
A Tabela 15 apresenta os atributos associados a cada fonte de dados. Nota-se
que o atributo “Nome” está presente em todas as três fontes. Entretanto, isso não é
condição necessária para que o modelo possa funcionar, pois a multidão poderia fazer
associação das referências através de outros atributos, inclusive pela imagem.
Tabela 15 – Atributos das três fontes de dados (elaborado pelo autor)
Atributos Descrição Amazon BestBuy NewEgg
Nome Nome do produto X X X
Modelo Modelo do produto X X
Fabricante Fabricante do produto X X
Descrição Descrição do produto X
Imagem Imagem no formato JPG ou
PNG referente ao produto
X X
Preço Preço do produto em dólares X X
5.2.3.Entidade Produto
A Figura 27 é um exemplo de comparação entre duas referências de fontes
diferentes, a esquerda originada da empresa Amazon e a direita da Bestbuy. A
abordagem proposta no presente estudo permite que essas duas referências sejam ditas
equivalentes.
48 http://www.amazon.com/
49 http://www.bestbuy.com/site/index.jsp
50 http://www.newegg.com/
87
O ponto comum é a informação do modelo do notebook, “M6800”. Entretanto,
na referência alvo esta informação está localizada no atributo “nome” do produto,
enquanto essa informação está localizada no atributo “modelo” da referência suspeita.
As abordagens atuais e algoritmos computacionais precisariam ser configurados
para incluir em suas regras essa possibilidade, comparando o atributo nome da fonte de
dados Amazon com o atributo modelo da fonte de dados BestBuy.
Entretanto, essa é apenas uma das muitas possibilidades que um algoritmo
deveria considerar para tratar todos os tipos de casos, o que torna inviável esse tipo de
abordagem.
Figura 27 – Imagem extraída da ferramenta CERM, comparação de duas
referências (elaborado pelo autor)
Além disso, a abordagem proposta, permite inclusive o uso de imagens, que são
facilmente interpretadas pela multidão. Embora a imagem à esquerda esteja com pouca
qualidade, a multidão ainda é capaz de associar as duas imagens como o mesmo
produto. Por sua vez, um algoritmo computacional poderia concluir que os dois
produtos são diferentes pelo fato do notebook à esquerda ter uma imagem de um
automóvel em sua tela, e a da direita não.
88
Outra possibilidade é a inclusão de áudios e vídeos nas referências. Com a
evolução tecnológica e facilidade do HTML-5, isso não seria problema nenhum para
ser desenvolvido na ferramenta CERM.
Logo, quanto maior for o número de componentes agregados às referências,
maior é a complexidade dos problemas que um algoritmo deve solucionar, enquanto
para a multidão não passa de mais um simples campo.
5.3.Perfil dos dados
A seguir, a Tabela 16 apresentada o perfil dos dados extraídos dos websites
definidos para o estudo de caso. O total de registros capturados para o experimento
foram de 77 produtos. Se for considerar produtos únicos, isto é, descartando as
referências equivalentes, o número é reduzido para 27 produtos. O tamanho médio de
registros por produtos é de 2,85.
Tabela 16 – Perfil dos dados do experimento da ferramenta CERM (elaborado
pelo autor)
Amazon BestBuy Newegg Total
Quantidade de
registros
36 24 17 77
Quantidade de
Grupos
27 22 13 27
Tamanho médio de
grupos
1,33 1,09 1,31 2,85
5.4.Resultados
O experimento teve duração de cinco dias, iniciado em 15/09/2014 e com
término em 20/09/2014. Nas seções seguintes os resultados obtidos serão descritos e
representados em gráficos.
89
5.4.1.Participação de usuários
O número total de cadastros na ferramenta CERM foi de 42 pessoas. Dez
pessoas apenas se cadastraram e não realizaram quaisquer atividades. Três tentaram
passar na fase de qualificação, mas não tiveram êxito. Vinte e nove pessoas
conseguiram chegar à fase de execução. A Figura 28 apresenta esses dados de forma
ilustrativa.
Nota-se que a maioria dos usuários passou da fase de qualificação. A seguir esta
fase será analisada com mais detalhes.
Figura 28 – Análise da distribuição de usuários por fases (elaborado pelo autor)
5.4.2.Comportamento na tarefa x número de
ocorrências
O comportamento do usuário diante da tarefa se caracteriza pelas ações que este
possuía durante a tarefa. A seguir as três possíveis ações dos usuários:
1) Tarefa completa – Quando o usuário finaliza a tarefa antes do tempo
terminar.
2) Tempo esgotado – Quando o usuário realiza a tarefa até o tempo limite.
3) Desistência – Quando o usuário desiste por meio do botão de ação ou fecha
a janela do navegador.
0
5
10
15
20
25
30
35
Sem atividade Apenasqualificação
Qualificação +Resolução
Qu
anti
dad
e d
e u
suár
ios
90
De acordo com a Figura 29, o número de usuários que completaram a tarefa na
fase de resolução é muito maior do que os outros comportamentos, indicando assim que
a maioria das pessoas estava compromissada com o experimento. A baixa ocorrência
na fase qualificação é um indício de que esta fase era bastante fácil de ser ultrapassada.
Figura 29 – Análise de comportamento dos usuários nas tarefas na fase de
qualificação e resolução (elaborado pelo autor)
5.4.3.Tempo de execução x número de ocorrências
O tempo médio para a execução de uma tarefa na fase de qualificação foi de 85
segundos. Já para a fase de resolução o tempo médio foi de 51 segundos. Através da
Figura 30, duas hipóteses podem ser levantadas para justificar essa diminuição. A
primeira é que, na fase de qualificação, os usuários podem ter sido mais cautelosos,
portanto, demoraram mais para executar uma tarefa. A segunda hipótese é que,
conforme os usuários executavam a tarefa, aprimoravam cada vez mais suas habilidades
nas tarefas, terminando-as em tempos menores.
0
100
200
300
400
500
600
Tarefa
completa
Tempo
esgotado
Desistência
Ocorrên
cia
s
Situação
Qualificação
Resolução
91
Figura 30 – Tempo de execução x ocorrências (elaborado pelo autor)
5.4.4.Usuários x ocorrência
A média de tarefas executadas na fase de qualificação foi de 1,34 tarefas por
pessoa, enquanto que na fase de resolução foi de 21,1 tarefas por pessoa (Figura 31).
Esses dados mostram que era relativamente fácil passar de fase de qualificação (60
pontos), o que indica uma possibilidade no aumento da pontuação mínima para
qualificar ainda melhor a multidão.
Para a fase de resolução nota-se uma predominância no intervalo de 0 a 10
execuções (Figura 32), o que indica que a maioria dos usuários não se sentiram tão
motivados para continuarem a resolver as tarefas, indicando que uma premiação ou
monetização, possivelmente, poderia alavancar o número de tarefas por usuário.
050
100150200250300350400450
entre 0 e 1 entre 1 e 2 entre 2 e 3 entre 3 e 4 entre 4 e 5 5
Oco
rrên
cia
s
Tempo de execução (em minutos)
Resolução Qualificação
92
Figura 31 – Número de ocorrências necessárias para os usuários passarem da
fase de qualificação (elaborado pelo autor)
Figura 32 – Número de ocorrências dos usuários na fase de resolução (elaborado
pelo autor)
5.4.5.Cálculo de Similaridade entre os resultados da
multidão e gabarito
Após o término do experimento, todos os resultados dos usuários foram
computados de modo a gerar os agrupamentos das referências. O algoritmo aplicado
para gerar os agrupamentos foi o descrito no Apêndice 6.
A Tabela 17 apresenta os valores das métricas em função de um threshold
informado manualmente. A variação desta métrica nos permite analisar com maior
precisão os resultados gerados pela multidão.
010203040
entre 0 e 2 entre 3 e 4 entre 5 e 6 entre 7 e 8 entre 9 e
10
Usu
ário
s
Ocorrências
Fase de Qualificação
0
2
4
6
8
10
12
14
16
entre 0 e 10 entre 10 e 30 entre 30 e 50 entre 50 e 80
Usu
ário
s
Ocorrências
Fase de Resolução
93
O valor ótimo alcançado pelo sistema ocorre quando o threshold está
configurado para 95%, com um grau de similaridade também de 95%. Como o
CrowdER e o Corleone não utilizam o T-W Index em seus experimentos, a comparação
deverá ser feita por precision e recall.
Tabela 17 – Análise de métricas aplicadas ao resultado da resolução de entidade
executada pela multidão (elaborado pelo autor)
Threshold TRUE 0,40 0,5 0,6 0,7 0,8 0,9 0,95
T-W Index 1 0,73 0,85 0,91 0,91 0,91 0,91 0,95
Recall 1 1 1 1 1 1 1 0,99
Precision 1 0,59 0,75 0,86 0,86 0,86 0,86 0,96
F1-Score 1 0,75 0,86 0,92 0,92 0,92 0,92 0,98
Número de
agrupamentos
27 23 24 26 26 26 26 28
Tamanho Médio
de um grupo
2,85 3,65 3,33 3,04 3,04 3,04 3,04 2,86
Distribuição das classes
1 0 0 0 0 0 0 0 0
2 12 6 7 11 11 11 11 11
3 10 8 9 8 8 8 8 13
4 2 2 2 3 3 3 3 1
5 3 5 5 3 3 3 3 3
6 0 0 1 1 1 1 1 0
7 0 1 0 0 0 0 0 0
8+ 0 0 0 0 0 0 0 0
O CrowdER ( WANG et al., 2012) tem o seu melhor desempenho com um
recall de 92% (base de dados Produto), enquanto Corleone (GOKHALE et al , 2014)
tem com 96% (base de dados Restaurante). A ferramenta CERM apresentou um recall
de 100%. Devemos observar que essa situação ocorreu pelo fato do número de
referências ser relativamente pequeno.
Analisando o CERM pela métrica precision, é possível notar uma melhoria de
75% para 86% quando o threshold é configurado de 40% a 50%.
Na Figura 33, é possível, de forma mais clara, visualizar a evolução dos valores
das métricas. O recall sempre tem um valor máximo, mesmo para um threshold bem
baixo. Isso mostra que a multidão tem uma alta qualidade, e que a maioria das
resoluções executadas obtiveram êxito.
94
Figura 33 – Distribuição das métricas T-W Index, precision, recall, F1-Score em
função do threshold (elaborado pelo autor)
A Figura 34, mostra que o aumento do threshold implica no aumento do número
de clusters. Isso é totalmente compreensível, uma vez que os critérios utilizados para
agrupar duas referências se tornam cada vez mais restritos.
0,5
0,6
0,7
0,8
0,9
1
1,1
TRUE 0,4 0,5 0,6 0,7 0,8 0,9 0,95
Threshold
T-W Index
Recall
Precision
F1-Score
0
5
10
15
20
25
30
TRUE 0,4 0,5 0,6 0,7 0,8 0,9 0,95
Nú
mero
de a
gru
pam
en
tos
Threshold
95
Figura 34 – Número de agrupamentos em função do threshold (elaborado pelo
autor)
5.5.Perfil e respostas dos testadores
Os participantes preencheram um formulário sobre o nível de conhecimento
teórico em crowdsourcing, mais especificamente, nas áreas de Marketplace e de
CrowdScience.
O conhecimento em banco de dados, que a princípio não tem relação direta com
a resolução de tarefas, mas que pode influenciar nos resultados, também foi
considerado. O formato de apresentação de dados, tanto de pesquisa no filtro, lembra
muito o conhecimento adquirido com modelagem de dados.
O formulário estava disponível no momento do cadastro na ferramenta CERM,
onde as respostas estão no Apêndice 7. Esta seção dedica-se a estudar também as
respostas fornecidas pelos participantes após o experimento. O formulário em questão
encontra-se no Apêndice 8, e as respostas de cada usuário podem ser visualizadas no
Apêndice 9.
Figura 35 – Distribuição de participantes quanto ao conhecimento em
crowdsourcing e banco de dados (elaborado pelo autor)
Como mostrado na Figura 35, ao todo, 32 usuários participaram da rodada de
experimento. Nenhuma pessoa respondeu possuir conhecimento avançado em
Marketplace e CrowdScience. A grande maioria dos usuários não tinha conhecimento
a respeito de sistemas crowdsourcing.
96
5.6.Considerações Gerais
Outro fator analisado durante o experimento foi em relação à motivação dos
usuários. Para aumentar a interação com a multidão, foi utilizado o recurso de drag and
drop. Mesmo com esse recurso bem intuitivo, alguns usuários mostraram desinteresse
no uso da ferramenta, pois não acharam a tarefa divertida. Um fator motivacional bem
construído influencia de maneira positiva atraindo a multidão para a execução das
tarefas.
O modelo criado se diferencia principalmente dos outros devido as suas
estratégias de controle de qualidade. Além disso, a flexibilização da entrada de dados é
uma enorme vantagem, frente as abordagens mais atuais que sempre assumem duas
listas para resolução de entidade.
O grau de similaridade T-W Index obtido pela ferramenta CERM foi de 91%.
Isto fortalece o argumento que a multidão tem capacidade para resolver os mais
diferenciados tipos de entradas. Além disso, a ferramenta CERM obteve 86% de
precisão em seus resultados.
Na Tabela 18 são apresentadas as características, de forma resumida, do modelo
proposto por este estudo e desenvolvido com o nome de CERM comparando-o com as
ferramentas previamente estudados.
97
Tabela 18 - Características das ferramentas de resolução de entidades com crowdsourcing, incluindo a ferramenta CERM (elaborado
pelo autor)
Ferramenta Etapa de
ER
HOC Dados de Entrada Estratégias de
Qualidade
Quem pode
testar
HIT Motivação da
Multidão
Corleone ERA3 Sim Duas bases e
atributos variados
- Usuários do
MTurk
Múltipla escolha (Sim,
Não, Em dúvida)
Monetização por
tarefa realizada
CrowdER ERA3 Não Duas bases e
atributos variados
Único HIT para
qualificação
Usuários do
MTurk
Múltiplas escolhas por par
/ categorização múltipla
Monetização por
tarefa realizada
CrowdMatchER ERA3
(schema)
Não Diversos schemas e
atributos variados
- Usuários do
MTurk
Múltipla Escolha (Sim ou
Não)
Monetização por
tarefa realizada
ZenCrowd ERA3 Não Website - Qualificação
- Atualização de
qualidade
Usuários do
MTurk
Múltipla Escolha Monetização por
tarefa correta
CERM ERA3 Sim Diversas bases e
atributos variados
- Qualificação
- Atualização de
qualidade
- Perfil de Usuário
Qualquer
um
Filtro para consulta de
dados, drag and drop,
tempo limite
Competição,
diversão, altruísmo
98
6.Conclusão e Trabalhos Futuros
O grande crescimento no volume de dados na Web, bem como a popularização
de atividades extremamente dependentes de dados, tais como: integração dos dados,
mineração dos dados, business intelligence, fazem com que se dê cada vez mais
importância à qualidade desses dados.
Dentre os problemas que afetam a qualidade dos dados, a duplicidade de
registros ocorre de maneira frequente. Resolução de Entidades tem como objetivo
primário identificar referências que indicam o mesmo objeto no mundo real. A forma
mais comum para executar o processo de busca às referências duplicadas ocorre através
de algoritmos computacionais otimizados para tal tarefa.
Os algoritmos estão longe da perfeição quando o assunto é tratar referências que
representam o mesmo objeto do mundo real. É nesse momento que a sabedoria da
multidão pode auxiliar nessas inúmeras possibilidades de comparação (SUROWIECKI,
2006, LEVY, 2007). Adotando o conceito de computação humana (VON AHN, 2005),
apenas o poder de processamento humano é capaz de resolver determinadas tarefas.
A proposta deste trabalho não é provar que a abordagem puramente
crowdsourcing é melhor ou pior do que uma abordagem híbrida. Entretanto, o objetivo
principal é mostrar que é possível, sim, utilizar a capacidade da multidão para resolver
problemas de resolução de entidades de qualquer gênero.
Este trabalho utilizou três bases de dados com diferentes atributos, inclusive
com imagens dos produtos mostrando que a resolução pode envolver diferentes
informações. Vídeos e áudios também poderiam ser usados na ferramenta CERM,
necessitando apenas de pequenas adaptações.
As conclusões que podem ser analisadas deste trabalho é que a multidão pode
realizar tarefas de resolução de entidades com um grau maior de liberdade sem perder
a qualidade dos dados. Para isso foi necessário a utilização de estratégias que pudessem
auxiliar na separação de usuários com baixa qualidade daqueles com excelente
qualidade.
A seguir, os trabalhos futuros que podem ser gerados a partir deste trabalho:
Incluir a atividade ERA4 (seção 3.4.4) ao modelo pode ser uma forma
de reduzir esforço, custo e tempo, pois o modelo contemplaria o
gerenciamento de identidade das entidades. Logo, ao acrescentar uma
nova base de dados, não seria necessário refazer toda a resolução
99
permitindo que a resolução realizada anteriormente de uma entidade seja
reaproveitada em novas resoluções da mesma entidade, porém com
outras bases ou dados. Os agrupamentos já formados podem substituir
o lugar da referência alvo, por exemplo. Porém, ainda seriam necessárias
outras adaptações.
Um problema na resolução de entidades é que, a priori, é uma tarefa
cansativa e chata, criar e desenvolver um ambiente onde os elementos
de gamificação (bagdes, achievements) estejam presentes para motivar
os usuários, tornando a tarefa em algo casual, simples e divertido, são
medidas que podem fidelizar a utilização da ferramenta, podendo
aumentar a qualidade dos resultados a longo prazo.
Expansão do modelo contemplando níveis hierárquicos, onde até a
própria multidão pode ser usada para gerar o gabarito para a fase de
qualificação.
Assim como a ferramenta ZenCrowd, o modelo proposto pode também
realizar resolução de entidades para dados ligados, explorando o
potencial da multidão com maior ênfase do que as abordagens atuais.
A primeira atividade de resolução de entidades (ERA 1) também pode
ser resolvida com o modelo proposto, onde a multidão teria maior
participação para estruturar as informações, refinando os dados para que
a etapa ERA 3 apresente melhores resultados.
100
Referências Bibliográficas
VON AHN, L., 2005. Human Computation. . Phd. Pittsburgh, Pennsylvania: Carnegie
Mellon University.
VON AHN, L., 2009. "Human Computation". In: Proceedings of the 46th Annual
Design Automation Conference. New York, NY, USA: ACM. 2009. pp. 418–419.
VON AHN, L., BLUM, M., HOPPER, N., et al., 2003. "CAPTCHA: Using Hard AI
Problems for Security". In: BIHAM, Eli (ed.), Advances in Cryptology —
EUROCRYPT 2003. S.l.: Springer Berlin / Heidelberg. pp. 646–646.
VON AHN, L., DABBISH, L., 2004. "Labeling Images with a Computer Game". In:
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. New
York, NY, USA: ACM. 2004. pp. 319–326.
VON AHN, L., MAURER, B., MCMILLEN, C., et al., 2008, "reCAPTCHA: Human-
Based Character Recognition via Web Security Measures". In: Science. v. 321, pp.
1465–1468.
ALONSO, O., BAEZA-YATES, R., 2011. "Design and Implementation of Relevance
Assessments Using Crowdsourcing". In: CLOUGH, Paul, FOLEY, Colum, GURRIN,
Cathal, JONES, Gareth J. F., KRAAIJ, Wessel, LEE, Hyowon & MUDOCH, Vanessa
(eds.), Advances in Information Retrieval. S.l.: Springer Berlin Heidelberg. Lecture
Notes in Computer Science, 6611. pp. 153–164.
ALT, H., SCHARF, L., SCHOLZ, S., 2007. "Probabilistic Matching and Resemblance
Evaluation of Shapes in Trademark Images". In: Proceedings of the 6th ACM
International Conference on Image and Video Retrieval. New York, NY, USA: ACM.
2007. pp. 533–540.
ARKADY, M., 2007, Data Quality Assessment. . USA, Technics Publications, LLC.
BENJELLOUN, O., GARCIA-MOLINA, H., MENESTRINA, D., et al., 2009,
"Swoosh: A Generic Approach to Entity Resolution". In: The VLDB Journal. v. 18, pp.
255–276.
BILGIC, M., LICAMELE, L., GETOOR, L., et al., 2006. "D-Dupe: An Interactive Tool
for Entity Resolution in Social Networks". In: Visual Analytics Science And
Technology, 2006 IEEE Symposium On. S.l.: s.n. Outubro 2006. pp. 43–50.
BRABHAM, D.C., 2007. Disponível em:
<http://crowdsourcing.typepad.com/cs/2007/04/speakers_corner.html>. Acessado em:
22 Agosto 2014.
BRABHAM, D.C., 2008, "Crowdsourcing as a Model for Problem Solving An
Introduction and Cases". In: Convergence: The International Journal of Research into
New Media Technologies. v. 14, pp. 75–90.
101
CHAN, Y., TALBURT, J., TALLEY, T.M., 2009, Data Engineering: Mining,
Information and Intelligence. . 2010 edition. New York, Springer.
CHEN, D.L., DOLAN, W.B., 2011, Building a Persistent Workforce on Mechanical
Turk for Multilingual Data Collection. . S.l., s.n.
CHEN, Z., KALASHNIKOV, D.V., MEHROTRA, S., 2009. "Exploiting Context
Analysis for Combining Multiple Entity Resolution Systems". In: Proceedings of the
2009 ACM SIGMOD International Conference on Management of Data. New York,
NY, USA: ACM. 2009. pp. 207–218.
CHIANG, C.-C., TALBURT, J., WU, N., et al., 2008. "A Case Study in Partial Parsing
Unstructured Text". In: Proceedings of the Fifth International Conference on
Information Technology: New Generations. Washington, DC, USA: IEEE Computer
Society. 2008. pp. 447–452.
DEMARTINI, G., DIFALLAH, D.E., CUDRÉ-MAUROUX, P., 2012. "ZenCrowd:
Leveraging Probabilistic Reasoning and Crowdsourcing Techniques for Large-scale
Entity Linking". In: Proceedings of the 21st International Conference on World Wide
Web. New York, NY, USA: ACM. 2012. pp. 469–478.
DOWNS, J.S., HOLBROOK, M.B., SHENG, S., et al., 2010. "Are Your Participants
Gaming the System?: Screening Mechanical Turk Workers". In: Proceedings of the
SIGCHI Conference on Human Factors in Computing Systems. New York, NY, USA:
ACM. 2010. pp. 2399–2402.
DYBA, T., DINGSOYR, T., HANSSEN, G.K., 2007. "Applying Systematic Reviews
to Diverse Study Types: An Experience Report". In: 2013 ACM / IEEE International
Symposium on Empirical Software Engineering and Measurement. Los Alamitos, CA,
USA: IEEE Computer Society. 2007. pp. 225–234.
FELLEGI, I.P., SUNTER, A.B., 1969, "A Theory for Record Linkage". In: Journal of
The American Statistical Association. v. 64, pp. 1183–1210.
FORTSON, L., MASTERS, K., NICHOL, R., et al., 2011, "Galaxy Zoo: Morphological
Classification and Citizen Science". In: arXiv:1104.5513 [astro-ph].
GALAXYZOO, 2014. http://www.galaxyzoo.org/.
GARCIA-MOLINA, H., 2006. "Pair-Wise Entity Resolution: Overview and
Challenges". In: Proceedings of the 15th ACM International Conference on
Information and Knowledge Management. New York, NY, USA: ACM. 2006. pp. 1–
1.
GEIGER, D., SEEDORF, S., SCHULZE, T., et al., 2011, "Managing the Crowd:
Towards a Taxonomy of Crowdsourcing Processes". In: AMCIS 2011 Proceedings -
All Submissions.
GOKHALE, C., DAS, S., DOAN, A., et al., 2014. "Corleone: Hands-off
Crowdsourcing for Entity Matching". In: Proceedings of the 2014 ACM SIGMOD
International Conference on Management of Data. New York, NY, USA: ACM. 2014.
pp. 601–612.
102
GOUTTE, C., GAUSSIER, E., 2005. "A Probabilistic Interpretation of Precision,
Recall and F-score, with Implication for Evaluation". In: Proceedings of the 27th
European Conference on Advances in Information Retrieval Research. Berlin,
Heidelberg: Springer-Verlag. 2005. pp. 345–359.
HERNÁNDEZ, M.A., STOLFO, S.J., 1995. "The Merge/Purge Problem for Large
Databases". In: Proceedings of the 1995 ACM SIGMOD International Conference on
Management of Data. New York, NY, USA: ACM. 1995. pp. 127–138.
HERZOG, T.N., SCHEUREN, F.J., WINKLER, W.E., 2007, Data Quality and Record
Linkage Techniques. . 1st. S.l., Springer Publishing Company, Incorporated.
HOWE, J., 2006a. Disponível em:
<http://crowdsourcing.typepad.com/cs/2006/06/crowdsourcing_a.html>. Acessado
em: 22 Julho 2014.
HOWE, J., 2006b. Disponível em:
<http://archive.wired.com/wired/archive/14.06/crowds.html>. Acessado em: 1 Julho
2014.
HOWE, J., 2008, Crowdsourcing: Why the Power of the Crowd Is Driving the Future
of Business. . S.l., Crown Publishing Group.
HOWE, J., 2009, Poder Das Multidoes, O. . Tradução por: ALESSANDRA MUSSI
ARAUJO. S.l., Elsevier Brasil.
INMON, W.H., NESAVICH, A., 2007, Tapping into Unstructured Data: Integrating
Unstructured Data and Textual Analytics into Business Intelligence. . 1 edition. Upper
Saddle River, NJ, Prentice Hall.
IPEIROTIS, P.G., PROVOST, F., WANG, J., 2010. "Quality Management on Amazon
Mechanical Turk". In: Proceedings of the ACM SIGKDD Workshop on Human
Computation. New York, NY, USA: ACM. 2010. pp. 64–67.
JACCARD, P., 1901, "Étude comparative de la distribution florale dans une portion
des Alpes et des Jura". In: Bulletin del la Société Vaudoise des Sciences Naturelles. v.
37, pp. 547–579.
JARO, M.A., 1989, "Advances in Record-Linkage Methodology as Applied to
Matching the 1985 Census of Tampa, Florida". In: Journal of the American Statistical
Association. v. 84, pp. 414–420.
KAZAI, G., 2011. "In Search of Quality in Crowdsourcing for Search Engine
Evaluation". In: Proceedings of the 33rd European Conference on Advances in
Information Retrieval. Berlin, Heidelberg: Springer-Verlag. 2011. pp. 165–176.
KAZAI, G., KAMPS, J., MILIC-FRAYLING, N., 2011. "Worker Types and
Personality Traits in Crowdsourcing Relevance Labels". In: Proceedings of the 20th
ACM International Conference on Information and Knowledge Management. New
York, NY, USA: ACM. 2011. pp. 1941–1944.
103
KITCHENHAM, B., CHARTERS, S., 2007. Guidelines for performing Systematic
Literature Reviews in Software Engineering. S.l. Acessado em: 7 Julho 2013.
Disponível em: <http://www.dur.ac.uk/ebse/resources/Systematic-reviews-5-8.pdf>.
KITTUR, A., CHI, E.H., SUH, B., 2008. "Crowdsourcing User Studies with
Mechanical Turk". In: Proceedings of the SIGCHI Conference on Human Factors in
Computing Systems. New York, NY, USA: ACM. 2008. pp. 453–456.
KLEIN, D., MANNING, C.D., 2003. "Accurate Unlexicalized Parsing". In:
Proceedings of the 41st Annual Meeting on Association for Computational Linguistics
- Volume 1. Stroudsburg, PA, USA: Association for Computational Linguistics. 2003.
pp. 423–430.
KÖPCKE, H., RAHM, E., 2010, "Frameworks for entity matching: A comparison". In:
Data & Knowledge Engineering. v. 69, pp. 197–210.
LE, J., EDMONDS, A., HESTER, V., et al., 2010. "Ensuring quality in crowdsourced
search relevance evaluation: The effects of training question distribution". In: Proc.
SIGIR 2010 Workshop on Crowdsourcing for Search Evaluation. S.l.: s.n. 2010. pp.
21–26.
LEVENSHTEIN, V., 1966, "Binary Codes Capable of Correcting Deletions, Insertions,
and Reversals". In: Soviet Physics-Doklady. v. 10, pp. 707–710.
LÉVY, P., 1998, A inteligência coletiva: por uma antropologia do ciberespaço. .
Tradução por: Luiz Paulo Rouanet. 5 ed. São Paulo, Brasil, Edições Loyola.
LEVY, P., 2007, Inteligência coletiva (A). . S.l., Edicoes Loyola.
LIM, E.-P., SRIVASTAVA, J., PRABHAKAR, S., et al., 1993. "Entity Identification
in Database Integration". In: Proceedings of the Ninth International Conference on
Data Engineering. Washington, DC, USA: IEEE Computer Society. 1993. pp. 294–
301.
LOSHIN, D., 2008, Master Data Management. . San Francisco, CA, USA, Morgan
Kaufmann Publishers Inc.
MALIN, B., SWEENEY, L., 2005, ENRES: A Semantic Framework for Entity
Resolution Modelling. . S.l., s.n.
MARCH, J.G., 1991, "Exploration and Exploitation in Organizational Learning". In:
Organization Science. v. 2, pp. 71–87.
MENESTRINA, D., BENJELLOUN, O., GARCIA-MOLINA, H., 2005. Disponível
em: <http://ilpubs.stanford.edu:8090/699/>. Acessado em: 17 Setembro 2014.
MITCHELL, D.W., 2004, "More on Spreads and Non-Arithmetic Means". In: The
Mathematical Gazette. v. 88, pp. 142–144.
NAUMANN, F., HERSCHEL, M., 2010, An Introduction to Duplicate Detection. . S.l.,
Morgan & Claypool Publishers.
104
NEWCOMBE, H.B., KENNEDY, J.M., AXFORD, S.J., et al., 1959, "Automatic
Linkage of Vital Records Computers". In: Science. v. 130, pp. 954–959.
NOVOTNEY, S., CALLISON-BURCH, C., 2010. "Shared Task: Crowdsourced
Accessibility Elicitation of Wikipedia Articles". In: Proceedings of the NAACL HLT
2010 Workshop on Creating Speech and Language Data with Amazon’s Mechanical
Turk. Stroudsburg, PA, USA: Association for Computational Linguistics. 2010. pp. 41–
44.
PAGE, S.E., 2007, The Difference: How the Power of Diversity Creates Better Groups,
Firms, Schools, and Societies. . S.l., Princeton University Press.
PINKERTON, B., 1994. "Finding What People Want: Experiences with the
WebCrawler". In: First World Wide Web Conference. Geneva, Switzerland: s.n. 1994.
QUINN, A.J., BEDERSON, B.B., 2009, "A taxonomy of distributed human
computation". In: Human-Computer Interaction Lab Tech Report, University of
Maryland.
QUINN, A.J., BEDERSON, B.B., 2011. "Human computation: a survey and taxonomy
of a growing field". In: Proceedings of the 2011 annual conference on Human factors
in computing systems. New York, NY, USA: ACM. 2011. pp. 1403–1412.
RAYKAR, V.C., YU, S., ZHAO, L.H., et al., 2010, "Learning From Crowds". In: J.
Mach. Learn. Res. v. 11, pp. 1297–1322.
REDMAN, T.C., 2008, Data Driven: Profiting from Your Most Important Business
Asset. . S.l., Harvard Business Press.
ROSS, J., IRANI, L., SILBERMAN, M.S., et al., 2010. "Who are the crowdworkers?:
shifting demographics in Mechanical Turk". In: In Proceedings of CHI 2010, Atlanta
GA, ACM. S.l.: s.n. 2010.
SAHA, R., MANNA, R., GEETHA, G., 2012. "CAPTCHINO - A Gamification of
Image-Based CAPTCHAs to Evaluate Usability Issues". In: 2012 International
Conference on Computing Sciences (ICCS). S.l.: s.n. Setembro 2012. pp. 95–99.
SAS POSITIONED AS A LEADER IN MAGIC QUADRANT FOR DATA
QUALITY TOOLS | SAS PRESS RELEASES, 2014.
http://www.sas.com/news/preleases/data-quality-gartnermq.html.
SCHENK, E., GUITTARD, C., 2011, "Towards a characterization of crowdsourcing
practices". In: Journal of Innovation Economics. v. 7, pp. 93.
SNOW, R., O’CONNOR, B., JURAFSKY, D., et al., 2008. "Cheap and Fast—but is It
Good?: Evaluating Non-expert Annotations for Natural Language Tasks". In:
Proceedings of the Conference on Empirical Methods in Natural Language Processing.
Stroudsburg, PA, USA: Association for Computational Linguistics. 2008. pp. 254–263.
105
SUROWIECKI, J., 2005, The Wisdom of Crowds. . S.l., Knopf Doubleday Publishing
Group.
SUROWIECKI, J., 2006, A Sabedoria da Multidões. . Tradução por: Alexandre
Martins. Rio de Janeiro, Record.
TALBURT, J.R., 2010, Entity Resolution and Information Quality. . 1st. San Francisco,
CA, USA, Morgan Kaufmann Publishers Inc.
TALBURT, J.R., ZHOU, Y., SHIVAIAH, S.Y., 2009. "SOG: A Synthetic Occupancy
Generator to Support Entity Resolution Instruction and Research". In: BOWEN, Paul
L., ELMAGARMID, Ahmed K., ÖSTERLE, Hubert & SATTLER, Kai-Uwe (eds.),
Proceedings of the 14th International Conference on Information Quality, ICIQ 2009,
Hasso Plattner Institute, University of Potsdam, Germany, November 7-8 2009. S.l.:
HPI/MIT. 2009. pp. 91–105.
TALBURT, J., WANG, R., HESS, K., et al., 2007, Information Quality Management:
Theory and Applications. . S.l., Hershey. Acessado em: 8 Agosto 2014.
TANSEL, B., BRIZAN, D.G., TANSEL, A.U., 2006, "A Survey of Entity Resolution
and Record Linkage Methodologies". In: Communications of the IIMA. pp. 41–50.
UKKONEN, E., 1992, "Approximate String-matching with Q-grams and Maximal
Matches". In: Theor. Comput. Sci. v. 92, pp. 191–211.
VENHUIZEN, N.J., BASILE, V., EVANG, K., et al., 2013, "Gamification for Word
Sense Labeling". In: Proceedings of the 10th International Conference on
Computational Semantics (IWCS 2013) – Short Papers. pp. 397–403.
VUURENS, J., P. DE VRIES, A., EICKHOFF, C., 2011. "How Much Spam Can You
Take? An Analysis of Crowdsourcing Results to Increase Accuracy". In: ACM SIGIR
Workshop on Crowdsourcing for Information Retrieval (CIR’11). S.l.: ACM. 2011. pp.
21–26.
WAIS, P., LINGAMNENI, S., COOK, D., et al., 2010. "Towards Building a High-
Quality Workforce with Mechanical Turk". In: NIPS Workshop on Computational
Social Science and the Wisdom of Crowds. S.l.: s.n. Dezembro 2010.
WANG, J., KRASKA, T., FRANKLIN, M.J., et al., 2012, "Crowder: Crowdsourcing
entity resolution". In: PVLDB. pp. 59.
WANG, R.Y.-Y., STRONG, D.M., 1996, "Beyond accuracy: what data quality means
to data consumers". In: Journal of Management Information Systems. v. 12, pp. 5–33.
WATTS, D.J., STROGATZ, S.H., 1998, "Collective dynamics of “small-world”
networks". In: Nature. v. 393, pp. 440–442.
WEBSTER, J., WATSON, R.T., 2002, "Analyzing the Past to Prepare for the Future:
Writing a Literature Review". In: MIS Q. v. 26, pp. xiii–xxiii.
106
WHANG, S.E., LOFGREN, P., GARCIA-MOLINA, H., 2013, "Question Selection for
Crowd Entity Resolution". In: Proc. VLDB Endow. v. 6, pp. 349–360.
WINKLER, W.E., 1999. The State of Record Linkage and Current Research Problems.
S.l. Statistical Research Division, U.S. Census Bureau.
WINKLER, W.E., 2006. Overview of record linkage and current research directions.
S.l. BUREAU OF THE CENSUS.
WU, N., TALBURT, J., HEIEN, C., et al., 2007, "A Method for Entity Identification
in Open Source Documents with Partially Redacted Attributes". In: J. Comput. Sci.
Coll. v. 22, pp. 138–144.
YUEN, M.-C., KING, I., LEUNG, K.-S., 2011. "A Survey of Crowdsourcing Systems".
In: 2011 IEEE Third International Conference on Privacy, Security, Risk and Trust
(PASSAT) and 2011 IEEE Third Inernational Conference on Social Computing
(SocialCom). S.l.: s.n. Outubro 2011. pp. 766–773.
ZHANG, C.J., CHEN, L., JAGADISH, H.V., et al., 2013, "Reducing Uncertainty of
Schema Matching via Crowdsourcing". In: Proc. VLDB Endow. v. 6, pp. 757–768.
ZHANG, C.J., ZHAO, Z., CHEN, L., et al., 2014. "CrowdMatcher: Crowd-assisted
Schema Matching". In: Proceedings of the 2014 ACM SIGMOD International
Conference on Management of Data. New York, NY, USA: ACM. 2014. pp. 721–724.
ZHOU, Y., NELSON, E., KOBAYASHI, F., et al., 2013, "A Graduate-Level Course
on Entity Resolution and Information Quality: A Step Toward ER Education". In: J.
Data and Information Quality. v. 4, pp. 10:1–10:10.
ZHOU, Y., TALBURT, J., 2011, "Staging a Realistic Entity Resolution Challenge for
Students". In: J. Comput. Sci. Coll. v. 26, pp. 88–95.
ZHU, D., CARTERETTE, B., 2011. "An analysis of assessor behavior in crowdsourced
preference judgments". In: . S.l.: s.n. 2011.
2014. http://www.wikipedia.org/.
2014. http://www.youtube.com/.
2014. http://www.w3.org/XML/.
2014. http://www.infoglide.com/technology/identity-resolution-engine-ire/.
107
Apêndices
No Apêndice 1 é apresentado a revisão sistemática com informações detalhadas
sobre a pesquisa, os termos utilizados, as conferências selecionadas, os critérios de
avaliações adotados.
Os Apêndice 2 e 3 apresentam os modelos entidade-relacionamento criado para
a ferramenta CERM. O diagrama de classe e de caso de uso são apresentados nos
Apêndices 4 e 5, respectivamente.
O Apêndice 6 apresenta o algoritmo utilizado na ferramenta CERM para
calcular o gabarito final dos resultados gerados pela multidão.
O Apêndice 7 apresenta o perfil dos participantes dos experimentos.
O formulário enviado aos usuários da ferramenta CERM após a utilização da
mesma é apresentado no Apêndice 8. E as respostas dos formulários são exibidas no
Apêndice 9.
108
Apêndice 1 - Revisão Sistemática sobre
Entity Resolution e Crowdsourcing
A revisão sistemática de literatura foi utilizada para a elaboração da pesquisa de
trabalhos relacionados. A escolha deste método se deve, principalmente, ao seu rigor
na busca de trabalhos, e pela facilidade na identificação de lacunas em determinada
área (KITCHENHAM & CHARTERS, 2007). A motivação por este método era
encontrar trabalhos acadêmicos que relacionasse entity resolution com crowdsourcing.
DYBA et al. (2007) apresentam a revisão sistemática da literatura como uma
forma de estudo secundário caracterizado por ser rigoroso para identificar, avaliar e
resumir os estudos sobre o assunto.
KITCHENHAM & CHARTERS (2007) defendem que a revisão sistemática de
literatura consiste em três fases:
1. Planejamento – Quando fontes, objetivos, critérios, e protocolo para execução
são definidos.
2. Execução – Quando o protocolo definido é executado.
3. Relatório – Quando os dados dos artigos são analisados, extraídos e resumido.
A seguir, algumas diferenças entre a revisão tradicional e a sistemática são
apresentadas:
1. Na revisão sistemática a questão é mais específica do que nos métodos
tradicionais
2. A avaliação da revisão sistemática é mais rígida, enquanto em outros métodos
é variável.
3. O resumo pode ser qualitativo ou quantitativo na revisão sistemática, porém
nos métodos tradicionais é apenas qualitativo.
4. O critério de seleção é aplicado de forma uniforme na revisão sistemática, nos
métodos tradicionais podem ser tendenciosas.
5. O esforço empregado na revisão sistemática pode ser relativamente alto.
109
Fases da Pesquisa
Ter conhecimento sobre a área de pesquisa é um importante passo para um
trabalho bem fundamentado. A revisão sistemática da literatura foi realizada a fim de
averiguar o estado das pesquisas direcionadas na aplicação de crowdsourcing em entity
resolution. Esta seção tem como objetivo descrever a execução das três fases da revisão
sistemática.
Fase 1 – Planejamento
O primeiro passo foi elaborar a questão que representa a motivação deste
trabalho. A questão criada foi: “Crowdsourcing pode ser aplicado no contexto de ER?”.
E ainda mais, questões complementares foram formuladas: (1) Quais etapas de ER a
multidão é capaz de resolver? (2) Quais habilidades são necessárias? (3) Qual a
motivação desses usuários? Quais estratégias aumentam a acurácia da ER? Os artigos
selecionados a partir da revisão sistemática responderam essas questões.
As seguintes bases foram selecionadas para realizar a busca: ACM Digital
Library51, CiteseerX52, IEEE53, Scopus54, SciELO55, ScienceDirect56, Springer57 e Web
of Knowledge58, observando que a busca foi sem restrição de ano. Além disso, cinco
conferências foram manualmente examinadas, a partir do ano de 2008: CIKM
(International Conference on Information and Knowledge Management), ICDE
(International Conference on Data Engineering), ICUIMC (International Conference
on Ubiquitous Information Management and Communication), ACM SIGMOD
(Special Interest Group on Management of Data) Conference e VLDB (International
Conference on Very Large Data Bases).
O critério para os estudos primários era a utilização de multidão na resolução
de entidades onde era proposto um modelo, e para os estudos secundários a citação de
51 http://dl.acm.org/
52 http://citeseer.ist.psu.edu/
53 http://ieeexplore.ieee.org/
54 http://www.scopus.com/
55 http://www.scielo.org/
56 http://www.sciencedirect.com/
57 http://link.springer.com/
58 http://www.webofknowledge.com/
110
ferramentas que aplicam a resolução de entidades. Somente os trabalhos na língua
inglesa foram considerados.
Os termos “entity resolution” e “crowdsourcing” e seus equivalentes, formaram
a string de busca: “(((‘entity resolution’ OR ‘entity matching’ OR ‘entity identity’ OR
‘entity matching’ OR ‘entity linking’ OR ‘entity recognition’ OR ‘entity
disambiguation’ OR ‘entity coereference’ OR ‘coreference resolution’ OR ‘instance
matching’ OR ‘schema matching’ OR ‘matching pair’ OR ‘matching process’ OR
‘record linkage’ OR ‘deduplication’ OR ‘data matching’) AND (‘crowdsourcing’ OR
‘crowdsource’ OR ‘crowd computing’ OR ‘crowd-based’ OR ‘crowd based’ OR
‘crowding-based’ OR ‘wisdom of crowds’ OR ‘collective intelligence’ OR ‘crowd’ OR
‘crowdsourced’)) OR ‘crowd entity resolution’)”. Importante salientar que os termos
entre aspas simples não podem ser desmembrados, a fim de maximizar o número de
trabalhos que tem relação com as questões definidas.
Fase 2 – Execução
Cada base trabalha com uma forma de pesquisa avançada, portanto, oferece a
possibilidade de aplicação de filtros mais específicos de modo que os resultados
retornados sejam mais próximos do objetivo da revisão sistemática. O parâmetro
“TITLE-ABS-KEY” realiza a busca somente nos campos de título, abstract e meta
tags. Este parâmetro foi aplicado na base Scopus e ScienceDirect e reduziu a quantidade
de trabalhos de 386 e 309 para 46 e 1 respectivamente.
A execução da busca nas bases foi realizada em 10 de janeiro de 2014. A Tabela
19 apresenta os dados separados por cada mecanismo de busca. Logo abaixo, estão
passos e os resultados da execução:
1. A busca resultou em 69 estudos, sendo 18 repetições. Totalizando 51 estudos
diferentes.
2. O título e o abstract dos trabalhos restantes foram analisados levando em conta
as questões propostas pela revisão, o que reduziu o número para 25 trabalhos.
3. Nesse passo, a leitura da introdução foi analisada, caso não fosse compatível
com a pesquisa, o mesmo era excluído.
4. Os trabalhos restantes eram lidos por completo baseando-se nas questões da
revisão.
111
5. Finalmente, quatro estudos obedeceram aos critérios primário de inclusão.
Nenhum artigo contemplou o segundo critério.
Tabela 19 - Resultado da busca por artigos da revisão sistemática (elaborado
pelo autor)
Journal Conferência Capítulo Outro Total
ACM 2 4 0 0 6
CiteseerX 0 4 0 0 4
IEEE 0 4 0 0 4
ScienceDirect 1 0 0 0 1
Scopus 4 31 8 3 46
SciELO 0 0 0 0 0
Springer 0 0 1 0 1
Web of Knowledge 1 4 2 0 7
Total 8 47 11 3 69
Não repetidos 6 34 6 5 51
Selecionado 4 19 2 0 25
Incluído 0 4 0 0 4
Dentre os trabalhos retornados, foram executados os passos forward e backward
(WEBSTER & WATSON, 2002). Backward é o processo de recuperar artigos citados
por um trabalho e verificar se os mesmos podem ser incluídos sob as restrições da
revisão sistemática. Forward é o processo de recuperar os artigos que citaram o trabalho
em questão. A funcionalidade “Citado por” Google Scholar foi utilizado para realizar
o passo Forward. Estes procedimentos não resultaram em nenhum estudo, seja primário
ou secundário.
Durante a leitura dos 25 trabalhos foi observado a presença de dois autores
previamente já estudados, por exemplo, WANG et al. (2012) e GOKHALE et al.
(2014).
Fase 3 – Relatório
Cada um dos estudos primários apresentou uma ferramenta que utiliza a
multidão para a resolução de entidades: CrowdER (WANG et al., 2012), ZenCrowd
(DEMARTINI et al., 2012), CrowdMatcher (ZHANG et al., 2014) e Corleone
(GOKHALE et al., 2014).
112
A partir dos dados extraídos de cada uma das ferramentas de resolução de
entidades, um comparativo foi elaborado. Através da pesquisa, foi possível responder
as questões propostas inicialmente na revisão sistemática. A pergunta principal era:
“Crowdsourcing pode ser aplicado no contexto de ER?”. A resposta é sim.
Especialmente as aplicações CrowdER e Corleone, que apresentaram o modelo mais
completo para resolução de entidades. Embora, ambos modelos têm limitações
principalmente no formato de entrada de dados. As outras questões e respostas são:
(1) Quais etapas de ER a multidão é capaz de resolver? Em geral, os resultados
da pesquisa apontam para principalmente para o ERA 3, ou seja, a resolução de entidade
propriamente dita. Não foram encontrados modelos que cobrissem todas as etapas de
ER utilizando crowdsourcing. (2) Quais habilidades são necessárias? As abordagens
adotadas pela maioria dos trabalhos eram em geral, questões de múltiplas escolhas, ou
agrupamentos, tarefas simples para a multidão, então não eram necessárias habilidades
conhecidas. (3) Qual a motivação desses usuários? Todos os modelos retornados pela
revisão sistemática utilizavam a base de usuários do AMT para a realização das tarefas,
então a motivação principal foi a recompensa monetária. (4) Quais estratégias
aumentam a acurácia da ER? Avaliação do trabalhador, remoção de trabalhadores de
baixa qualidade, rodada de qualificação, peso nas respostas dos trabalhadores de alta
qualidade, utilização de acurácia do trabalhador fornecido pelo AMT.
113
Apêndice 2 - Modelo de Dados da
ferramenta CERM
Figura 36 – Modelo de dados da ferramenta CERM (elaborado pelo autor)
114
Apêndice 3 - Modelo de Dados criado
dinamicamente pela ferramenta CERM
Figura 37 – Modelo de dados criado dinamicamente pela ferramenta CERM ao
cadastrar uma entidade (elaborado pelo autor)
115
Apêndice 4 - Diagrama de Classe da
ferramenta CERM
Figura 38 – Diagrama de Classe da ferramenta CERM (elaborado pelo autor)
116
Apêndice 5 - Diagrama de Caso de Uso da
ferramenta CERM
Figura 39 – Diagrama de Caso de Uso da ferramenta CERM (elaborado pelo
autor)
Figura 40 – Diagrama de Caso de Uso Pacote Realizar tarefa da ferramenta
CERM (elaborado pelo autor)
117
Apêndice 6 – Algoritmo para calcular
gabarito final a partir dos resultados da
multidão
Após a execução da tarefa na fase de resolução, o gabarito ainda não é
conhecido. Logo, a única forma de calcular o gabarito nessa fase é através dos
resultados anteriores dos usuários.
Para avaliar a similaridade de duas referências, foi utilizada a média ponderada
(ALT et al., 2007) entre a opinião das pessoas com relação a semelhança das referências
e a qualidade do usuário naquele momento.
Considere um conjunto de pessoas P, um conjunto de qualidades Q e um
conjunto de entidades E. Considere ainda duas referências a, b ∈ E, e uma pessoa p ∈
P. A função de match para as entidades a e b é dada por:
𝑀𝑝(𝑎, 𝑏) = {1, 𝑠𝑒 𝑎 𝑝𝑒𝑠𝑠𝑜𝑎 𝑟𝑒𝑙𝑎𝑐𝑖𝑜𝑛𝑜𝑢 𝑎𝑠 𝑟𝑒𝑓𝑒𝑟ê𝑛𝑐𝑖𝑎𝑠 𝑎 𝑒 𝑏0, 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟á𝑟𝑖𝑜
Figura 41 – Função que retorna se usuário agrupou determinada referência com
outra (elaborado pelo autor)
A função utilizada para calcular se as referências a e b são a mesma entidade é
dada pela fórmula:
𝑆(𝑎, 𝑏) = ∑ 𝑀𝑝(𝑎, 𝑏) ∗ 𝑄𝑝𝑝 ∈𝑃
∑ 𝑄𝑝𝑝 ∈𝑃
Figura 42 – Cálculo do grau de similaridade entre duas referências na fase de
resolução (elaborado pelo autor)
Cada linha da Tabela 20 indica a situação de um usuário em uma rodada. Para
o usuário p1, por exemplo, no momento em que a rodada terminou, ele possuía
qualidade 0.9, recebeu como alvo a referência A e a relacionou juntamente com as
referências B, C e D.
118
Tabela 20 – Exemplo de agrupamento de referências equivalentes e sua
qualidade (elaborado pelo autor)
Usuário Qualidade Entidade
Alvo
Suspeita
1
Suspeita
2
Suspeita
3
p1 0,9 A B C D
p2 0,8 A B C
p3 0,4 A E
p4 0,2 A C D
Aplicando a função para as referências A e B baseada na Tabela 20, temos que:
𝑆(𝐴, 𝐵) = 0.9 ∗ 1 + 0.8 ∗ 1 + 0.4 ∗ 0 + 0.2 ∗ 0
0.9 + 0.8 + 0.4 + 0.2=
1.7
2.3 ≅ 0.74
Figura 43 – Exemplo de aplicação da fórmula para calcular grau de similaridade
pela votação da maioria (elaborado pelo autor)
Logo à similaridade das referências A e B de acordo com a opinião da multidão
é de aproximadamente 0.74.
119
Apêndice 7 - Perfil dos usuários da
ferramenta CERM
A Tabela 21 ilustra a resposta de cada usuário cadastrado na ferramenta CERM.
A ordem foi determinada pela data e hora de cadastro, e as respostas numéricas
equivalem a: (0) Nenhum, (1) Básico, (2) Intermediário e (3) Avançado.
Tabela 21 - Perfil dos usuários da ferramenta CERM (elaborado pelo autor)
Usuário Nível de
Escolaridade
Formação
em TI
Conhecimento em
Ferramentas Crowdsourcing
Outras
experiências
Marketplace CrowdScience Banco de
Dados 1 Superior Incompleto Sim 0 0 1
2 Superior Incompleto Sim 0 0 2
3 Mestrado Sim 1 1 3
4 Superior Incompleto Sim 0 0 1
5 Superior Incompleto Sim 0 0 1
6 Ensino Médio Completo Não 0 1 0
7 Superior Completo Não 0 0 0
8 Superior Incompleto Sim 0 0 2
9 Mestrado Sim 0 0 3
10 Superior Incompleto Não 0 0 0
11 Superior Incompleto Não 0 0 0
12 Mestrado Sim 1 1 3
13 Mestrado Sim 1 1 2
14 Doutorado Sim 0 0 1
15 Mestrado Sim 1 2 3
16 Pós-graduação Não 2 1 0
17 Ensino Médio Completo Não 0 0 0
18 Mestrado Sim 0 0 2
19 Superior Incompleto Sim 0 0 1
20 Superior Incompleto Sim 1 1 1
21 Pós-graduação Não 0 0 0
22 Ensino Fundamental Não 0 0 0
23 Superior Completo Não 0 0 0
24 Doutorado Sim 2 2 3
25 Superior Incompleto Sim 0 0 1
26 Superior Incompleto Sim 1 1 2
27 Superior Incompleto Sim 0 0 1
28 Mestrado Sim 0 0 1
29 Superior Incompleto Sim 0 1 1
30 Superior Incompleto Sim 1 2 2
31 Doutorado Sim 0 0 3
32 Superior Incompleto Não 0 0 0
120
Apêndice 8 - Formulário de pesquisa de
satisfação da ferramenta CERM
Figura 44 - Formulário de satisfação da ferramenta CERM (elaborado pelo
autor)
121
Apêndice 9 - Resposta dos participantes ao
formulário do Apêndice 8
A seguir são apresentadas as tabelas contendo as respostas do formulário de
satisfação dos usuários da ferramenta CERM (Figura 44). Das 42 pessoas cadastradas,
apenas 10 pessoas responderam o formulário.
As questões e respostas serão referenciadas nas tabelas conforme abaixo:
Questão 1: De 1 a 5, como você avalia a influência do ranking como fator
motivacional?
Questão 2: De 1 a 5, como você avalia o entendimento do vídeo tutorial?
Questão 3: De 1 a 5, como você avalia a facilidade de entendimento da
ferramenta CERM?
Questão 4: De 1 a 5, como você avalia a facilidade de executar a tarefa?
Questão 5: Durante a tarefa, qual era a regra utilizada para agrupar as
referências?
o Resposta 1: Comparava campo a campo, e agrupava somente se todos
os campos fossem iguais
o Resposta 2: Desconsiderava erros de digitação ou informações descritas
de forma diferentes, porém com o mesmo significado
o Resposta 3: Agrupava de maneira aleatória
Tabela 22 - Resposta para a pesquisa de satisfação (elaborado pelo autor)
Usuário 1 2 3 4 5 6 7 8 9 10 Média
Questão 1 4 5 4 3 4 5 4 2 5 3 3,9
Questão 2 4 3 2 4 4 4 4 4 4 3 3,6
Questão 3 5 4 2 4 4 4 4 3 4 2 3,6
Questão 4 5 4 4 4 3 5 4 3 4 3 3,9
Questão 5 2 1 2 2 1 1 2 2 2 2 -