Explorando o Feedback do Usuário para
 Classificação de Fontes de Dados em
Sistemas de Integração Pay-as-you-go
            Aluno: Hélio Rodrigues de Oliveira
                     hro@cin.ufpe.br
          Orientadora: Bernadette Farias Lóscio
                     bfl@cin.ufpe.br
               Centro de Informática (CIn)
        Pós-Graduação em Ciência da Computação
       Universidade Federal de Pernambuco (UFPE)
Roteiro
• Motivação

• Objetivos e Contribuições do Trabalho

• Fundamentação Teórica

• Abordagem para Classificação de Fontes de Dados
  utilizando o Feedback do Usuário

• Implementação e Experimentos

• Considerações Finais

• Trabalhos Futuros
Motivação
• Integração de Dados é uma importante área de pesquisa!
   – Os sistemas de integração de dados buscam oferecer uma visão
     unificada de dados distribuídos em fontes autônomas e heterogêneas
• Com o crescimento da Web, intensificou-se a necessidade de
  soluções de integração de dados!
   – Grandes volumes de dados e facilidade de acesso
• A facilidade de acesso a grandes volumes de dados traz vantagens
  e desvantagens
   – Maior quantidade de informação
   – Porém, nem sempre confiável
• Os sistemas de integração de dados Pay-as-you-go podem ser
  considerados
Motivação

Pergunta: Que fontes são mais relevantes para
     um Sistema de Integração de Dados
               Pay-as-you-go?


• Possível Solução:
   – Definição de uma técnica para medir a relevância da fonte de
     dados, e a partir desta medida, classificá-las
   – Utilizar o feedback do usuário como parte do cálculo da
     relevância
Objetivos
• Objetivo Geral:

  Especificação de uma abordagem para auxiliar a
   seleção de fontes de dados a serem incluídas em
  um sistema de integração de dados pay-as-you-go
Objetivos
• Objetivos Específicos:
   – Estudos dirigidos na área de integração de dados pay-as-you-
     go, feedback do usuário e seleção de fontes
   – Definição de métricas para o cálculo de relevância das fontes de
     dados
   – Formalização do feedback do usuário
   – Especificação de uma abordagem para classificação e seleção
     de fontes de dados utilizando o feedback do usuário
   – Implementação dos algoritmos de análise de relevância e
     inferência de feedback
   – Implementação do protótipo para auxílio nos testes
   – Realização de experimentos com a aplicação da abordagem
     sobre fontes de dados bibliográficos
Fundamentação Teórica

• Integração de Dados
• Feedback do usuário
• Seleção de Fontes
Integração de Dados

• Busca oferecer uma visão unificada dos dados das
  fontes
• Diversas soluções propostas
   – Abordagens Convencionais (mediadores / datawarehouse)
   – PDMS
   – Sistemas de integração de dados pay-as-you-go
Abordagem Convencional
PDMS
Abordagem Pay-as-you-go


• Baixo custo de inicialização
• Geração incremental e automática de mapeamentos
• Resultados podem ser imprecisos
• Flexível e escalável
• Uso do feedback do usuário para refinamento dos
  mapeamentos
• Facilidade de inclusão de novas fontes
• Uma nova fonte pode não ser relevante
Fundamentação Teórica

• Integração de Dados
• Feedback do usuário
• Seleção de Fontes
Feedback do Usuário

• O feedback do usuário é um tema bastante discutido
• Necessidade de obter informações essenciais através
  do usuário, de forma explícita ou não
• Feedback em Recuperação da Informação
   – Explícito
   – Implícito
   – Pseudo Feedback
• Feedback em Sistemas de Int. Pay-as-you-go
   – Conjunto de anotações providas pelo usuário sobre um artefato
   – Artefato: consultas, mapeamentos, esq. mediação, dentre outros
Feedback do Usuário

• Em nossa abordagem:
  – Feedback explícito
  – Anotação sobre os resultados das consultas
  – Formalização do feedback para obtenção da medida
    de relevância
Fundamentação Teórica

• Integração de Dados
• Feedback do usuário
• Seleção de Fontes de Dados
Seleção de Fontes de Dados

• A grande quantidade de fontes de dados
  disponíveis exige a seleção de fontes relevantes
• A seleção é necessário devido a:
  – Dinamicidade das fontes
  – Heterogeneidade dos esquemas
  – Qualidade dos dados


 Selecionar fontes relevantes tornou-se essencial
Seleção de Fontes

• As abordagens possuem dois direcionamentos
• Soluções baseadas em palavra-chave
  – Técnicas utilizadas em recuperação da informação
  – Bag of words
  – estrutural
• Soluções baseadas em consultas federadas
  – Consultas estruturadas
  – Estrutural e/ou semântica
  – Reescrita de consultas
Trabalhos Relacionados
Abordagem Proposta

• Auxiliar a seleção de fontes de dados a serem incluídas
  em um sistema de integração de dados pay-as-you-go


• Classificação de fontes candidatas de acordo com a
  relevância


• Análise de relevância baseada no feedback do usuário
Abordagem - Definições

• Sistema de Integração de Dados Pay-as-you-go I=(Si,Qi)
• Conjunto de fontes de dados inicial (Si)


• Consultas de integração (Qi)


• Termo do resultado da consulta (ti)
Abordagem - Definições

• Anotação de feedback

   – T: tupla
   – V: valor (True positive, False Positive, False negative)
• Feedback de uma consulta q

• Feedback do usuário u
Abordagem - Definições

• Precision do feedback da consulta q



• Recall do feedback da consulta q



• F-measure do feedback da consulta q
Formalização do Problema

  Problema. Seja I = (QI ,SI) um SID pay-as-you-go, o
     feedback do usuário UF(u) com relação à QI e o
 conjunto de fontes candidatas DSI a serem adicionadas.
 Devemos classificar as fontes contidas em DSI, para
 auxiliar o usuário na escolha de fontes relevantes, que
 poderão ser adicionadas no conjunto SI. Consideramos
 que uma fonte ds é relevante, com respeito a QI , se os
 resultados obtidos em QI melhoram, de acordo com os
    requisitos do usuário, após a adição de ds a SI.
Análise de relevância

• Muitos trabalhos consideram apenas a estrutura
• Dados incompletos e incorretos podem ser retornados
• Necessário capturar os requisitos que um SID espera
  atender (consultas)
• Utilizamos dois conceitos:
• Peso de uma consulta (w)
   – frequência
• Benefício de uma fonte em relação à consulta (B)
Análise de relevância

• Relevância de uma fonte de dados candidata (R)
Algoritmo
Algoritmo
Exemplo
• Sist. Int. Pay-as-you-go sobre dados bibliográficos em
  Ciência da Computação
• Bases candidatas: ds1, ds2 e ds3
• Consultas de integração: q1, q2 e q3
   – Consulta 1. Retorne os títulos dos artigos publicados em
     journals no ano de 2011.
   – Consulta 2. Retorne os artigos que citam referências ao
     SIGMOD 2011.
   – Consulta 3. Retorne o nome dos autores que publicaram no I-
     SEMANTICS 2011.
Objetivo: classificar as fontes segundo os valores de relevância
  obtidos
Exemplo

Caso da fonte candidata ds1:
Exemplos de anotações obtidas sobre os resultados das
  consultas sobre ds1 – UF(u)
ufq1 = { <“Creative Learning with Serious Games”,True Positive>,
        <“The Challenges in Developing E-Content”,False Positive>,
        <“Automated Assessment, Face to Face”,False Negative>}
ufq2 = { <“Processing theta-joins using MapReduce”,True Positive>,
        <“Automated Assessment, Face to Face”,False Positive>}
ufq3 = { <"Nikola Tomasevic",True Positive>,
        <"Philipp Heim",False Negative>,
        <"Hélio Rodrigues",False Positive>}
Exemplo

1) Inicialmente, obtém-se os valores de F-measure. Neste
   caso temos:
• Fq1 = 0.95
• Fq2 = 0.67
• Fq3 = 0.78


2) Próximo passo executar a inferência do feedback. O
   resultado gera um conj. de anotações UF'(u).
Exemplo

Exemplos de anotações obtidas sobre os resultados das
  consultas – UF’(u)
uf′q1 = { <“Creative Learning with Serious Games”,True Positive>,
         <“The Challenges in Developing E-Content”,False Positive>,
         <“Automated Assessment, Face to Face”,True Positive>}
uf′q2 = { <“Interaction record matching”, False Negative>,
         <“Automated Assessment, Face to Face”, False Positive>}
uf′q3 = { <"Nikola Tomasevic",True Positive>,
         <"Philipp Heim",False Negative>}
Exemplo

3) Obtém-se os valores de F'-measure. Neste caso temos:
• F'q1 = 0.85
• F'q2 = 0.9
• F'q3 = 0.8


4) A partir de F e F', calculamos os valores de benefícios
   para cada consulta
   – B(ds1,q1) = 0.89
   – B(ds1,q2) = 1.34
   – B(ds1,q3) = 1.02
Exemplo

5) Consideramos os pesos das consultas iguais a 1.


6) Por fim, calculamos o valor de R(ds1) = 4.32


Repetindo os passos para ds2 e ds3, obtemos:
   – R(ds2) = 4.26
   – R(ds3) = 3.69


A classificação final em ordem decrescente no valor de
  relevância seria: (ds1, ds2, ds3).
Implementação

• Protótipo DSFilter para validação dos experimentos
• Arquitetura 3 camadas
• Componentes principais:
   – GUI
   – Gerenciador de Consultas
   – Gerenciador de Feedback
   – Analisador de Relevância
   – Gerenciador do Repositório de Dados
Arquitetura
Casos de Uso
Experimento

• Cenário: domínio de dados bibliográficos em Ciência da
  Computação
• Modelo de dados: RDF
• Entradas:
   – Qi : 13 consultas SPARQL
   – Si : DBLP
   – DS : 30 datasets candidatos
Experimento

• Máquina utilizada:
   – DELL Inspiron
   – Core i7 2 x 2.10 GHz
   – 8GB RAM
   – SO Linux
   – Java JDK 1.7
• Outras tecnologias: Jena API, Jena TDB, PostgreSQL


• O experimento executa 12 testes de cálculo de
  relevância para cada fonte candidata em DS
Experimento
Cada teste considera três critérios/variáveis
– Número de consultas
– Número de anotações
– Tipos de anotações
Experimento

• A partir destes testes, foram realizadas três análises:
   – Quantidade de consultas
   – Quantidade de anotações
   – Tipos de anotações de feedback
Experimento

• Análise 1: Quantidade de consultas
Experimento

• Análise 2: Quantidade de anotações
Experimento

• Análise 3: Tipos de anotações de feedback
Experimento - Considerações

• Quanto maior o número de anotações corretas, mais
  confiáveis serão os valores de Relevância
• Ao aumentarmos o número de anotações, aumentando
  o valor de R. Ou seja, se a base´já era considerada boa,
  o valor vai tender a ser melhor ainda
• O feedback é o ponto-chave desse comportamento de R
• O processo não garante que fontes boas terão altos
  valores de R
• Mas o processo garante que fontes ruins não terão altos
  valores de relevância
Considerações Finais

• Abordagem para classificação de fontes de dados
   – Necessidade dos sistemas e aplicações em selecionar fontes
     relevantes
   – Foco em sistemas de integração pay-as-you-go, porém
     extensível a qualquer abordagem
   – Feedback do usuário como foco central do processo de análise
     de relevância
   – Independência do modelo de dados
• Experimentos
   – Avaliação do comportamento do valor de relevância
   – Influência da qualidade do feedback no resultado final
Considerações Finais
• Contribuições
  – Especificação da Abordagem
      • Formalização do Feedback do Usuário
      • Definição da medida de relevância
      • Especificação do processo de inferência de feedback
  – Desenvolvimento de um protótipo
• Publicação
  – Feedback-based data set recommendation for building linked data
    applications. In Proceedings of the 8th International Conference on
    Semantic Systems, I-SEMANTICS, pages 49–55, Graz, Austria.
  – Link
Trabalhos Futuros

• Tratamento do Feedback para vários usuários
• Melhoria das técnicas de inferência das anotações de
  feedback
• Realização de um checkup das fontes de dados na Web
• Avaliação da qualidade da abordagem
Obrigado!

Apresentação da Dissertação

  • 1.
    Explorando o Feedbackdo Usuário para Classificação de Fontes de Dados em Sistemas de Integração Pay-as-you-go Aluno: Hélio Rodrigues de Oliveira hro@cin.ufpe.br Orientadora: Bernadette Farias Lóscio bfl@cin.ufpe.br Centro de Informática (CIn) Pós-Graduação em Ciência da Computação Universidade Federal de Pernambuco (UFPE)
  • 2.
    Roteiro • Motivação • Objetivose Contribuições do Trabalho • Fundamentação Teórica • Abordagem para Classificação de Fontes de Dados utilizando o Feedback do Usuário • Implementação e Experimentos • Considerações Finais • Trabalhos Futuros
  • 3.
    Motivação • Integração deDados é uma importante área de pesquisa! – Os sistemas de integração de dados buscam oferecer uma visão unificada de dados distribuídos em fontes autônomas e heterogêneas • Com o crescimento da Web, intensificou-se a necessidade de soluções de integração de dados! – Grandes volumes de dados e facilidade de acesso • A facilidade de acesso a grandes volumes de dados traz vantagens e desvantagens – Maior quantidade de informação – Porém, nem sempre confiável • Os sistemas de integração de dados Pay-as-you-go podem ser considerados
  • 4.
    Motivação Pergunta: Que fontessão mais relevantes para um Sistema de Integração de Dados Pay-as-you-go? • Possível Solução: – Definição de uma técnica para medir a relevância da fonte de dados, e a partir desta medida, classificá-las – Utilizar o feedback do usuário como parte do cálculo da relevância
  • 5.
    Objetivos • Objetivo Geral: Especificação de uma abordagem para auxiliar a seleção de fontes de dados a serem incluídas em um sistema de integração de dados pay-as-you-go
  • 6.
    Objetivos • Objetivos Específicos: – Estudos dirigidos na área de integração de dados pay-as-you- go, feedback do usuário e seleção de fontes – Definição de métricas para o cálculo de relevância das fontes de dados – Formalização do feedback do usuário – Especificação de uma abordagem para classificação e seleção de fontes de dados utilizando o feedback do usuário – Implementação dos algoritmos de análise de relevância e inferência de feedback – Implementação do protótipo para auxílio nos testes – Realização de experimentos com a aplicação da abordagem sobre fontes de dados bibliográficos
  • 7.
    Fundamentação Teórica • Integraçãode Dados • Feedback do usuário • Seleção de Fontes
  • 8.
    Integração de Dados •Busca oferecer uma visão unificada dos dados das fontes • Diversas soluções propostas – Abordagens Convencionais (mediadores / datawarehouse) – PDMS – Sistemas de integração de dados pay-as-you-go
  • 9.
  • 10.
  • 11.
    Abordagem Pay-as-you-go • Baixocusto de inicialização • Geração incremental e automática de mapeamentos • Resultados podem ser imprecisos • Flexível e escalável • Uso do feedback do usuário para refinamento dos mapeamentos • Facilidade de inclusão de novas fontes • Uma nova fonte pode não ser relevante
  • 12.
    Fundamentação Teórica • Integraçãode Dados • Feedback do usuário • Seleção de Fontes
  • 13.
    Feedback do Usuário •O feedback do usuário é um tema bastante discutido • Necessidade de obter informações essenciais através do usuário, de forma explícita ou não • Feedback em Recuperação da Informação – Explícito – Implícito – Pseudo Feedback • Feedback em Sistemas de Int. Pay-as-you-go – Conjunto de anotações providas pelo usuário sobre um artefato – Artefato: consultas, mapeamentos, esq. mediação, dentre outros
  • 14.
    Feedback do Usuário •Em nossa abordagem: – Feedback explícito – Anotação sobre os resultados das consultas – Formalização do feedback para obtenção da medida de relevância
  • 15.
    Fundamentação Teórica • Integraçãode Dados • Feedback do usuário • Seleção de Fontes de Dados
  • 16.
    Seleção de Fontesde Dados • A grande quantidade de fontes de dados disponíveis exige a seleção de fontes relevantes • A seleção é necessário devido a: – Dinamicidade das fontes – Heterogeneidade dos esquemas – Qualidade dos dados Selecionar fontes relevantes tornou-se essencial
  • 17.
    Seleção de Fontes •As abordagens possuem dois direcionamentos • Soluções baseadas em palavra-chave – Técnicas utilizadas em recuperação da informação – Bag of words – estrutural • Soluções baseadas em consultas federadas – Consultas estruturadas – Estrutural e/ou semântica – Reescrita de consultas
  • 18.
  • 19.
    Abordagem Proposta • Auxiliara seleção de fontes de dados a serem incluídas em um sistema de integração de dados pay-as-you-go • Classificação de fontes candidatas de acordo com a relevância • Análise de relevância baseada no feedback do usuário
  • 20.
    Abordagem - Definições •Sistema de Integração de Dados Pay-as-you-go I=(Si,Qi) • Conjunto de fontes de dados inicial (Si) • Consultas de integração (Qi) • Termo do resultado da consulta (ti)
  • 21.
    Abordagem - Definições •Anotação de feedback – T: tupla – V: valor (True positive, False Positive, False negative) • Feedback de uma consulta q • Feedback do usuário u
  • 22.
    Abordagem - Definições •Precision do feedback da consulta q • Recall do feedback da consulta q • F-measure do feedback da consulta q
  • 23.
    Formalização do Problema Problema. Seja I = (QI ,SI) um SID pay-as-you-go, o feedback do usuário UF(u) com relação à QI e o conjunto de fontes candidatas DSI a serem adicionadas. Devemos classificar as fontes contidas em DSI, para auxiliar o usuário na escolha de fontes relevantes, que poderão ser adicionadas no conjunto SI. Consideramos que uma fonte ds é relevante, com respeito a QI , se os resultados obtidos em QI melhoram, de acordo com os requisitos do usuário, após a adição de ds a SI.
  • 24.
    Análise de relevância •Muitos trabalhos consideram apenas a estrutura • Dados incompletos e incorretos podem ser retornados • Necessário capturar os requisitos que um SID espera atender (consultas) • Utilizamos dois conceitos: • Peso de uma consulta (w) – frequência • Benefício de uma fonte em relação à consulta (B)
  • 25.
    Análise de relevância •Relevância de uma fonte de dados candidata (R)
  • 26.
  • 27.
  • 28.
    Exemplo • Sist. Int.Pay-as-you-go sobre dados bibliográficos em Ciência da Computação • Bases candidatas: ds1, ds2 e ds3 • Consultas de integração: q1, q2 e q3 – Consulta 1. Retorne os títulos dos artigos publicados em journals no ano de 2011. – Consulta 2. Retorne os artigos que citam referências ao SIGMOD 2011. – Consulta 3. Retorne o nome dos autores que publicaram no I- SEMANTICS 2011. Objetivo: classificar as fontes segundo os valores de relevância obtidos
  • 29.
    Exemplo Caso da fontecandidata ds1: Exemplos de anotações obtidas sobre os resultados das consultas sobre ds1 – UF(u) ufq1 = { <“Creative Learning with Serious Games”,True Positive>, <“The Challenges in Developing E-Content”,False Positive>, <“Automated Assessment, Face to Face”,False Negative>} ufq2 = { <“Processing theta-joins using MapReduce”,True Positive>, <“Automated Assessment, Face to Face”,False Positive>} ufq3 = { <"Nikola Tomasevic",True Positive>, <"Philipp Heim",False Negative>, <"Hélio Rodrigues",False Positive>}
  • 30.
    Exemplo 1) Inicialmente, obtém-seos valores de F-measure. Neste caso temos: • Fq1 = 0.95 • Fq2 = 0.67 • Fq3 = 0.78 2) Próximo passo executar a inferência do feedback. O resultado gera um conj. de anotações UF'(u).
  • 31.
    Exemplo Exemplos de anotaçõesobtidas sobre os resultados das consultas – UF’(u) uf′q1 = { <“Creative Learning with Serious Games”,True Positive>, <“The Challenges in Developing E-Content”,False Positive>, <“Automated Assessment, Face to Face”,True Positive>} uf′q2 = { <“Interaction record matching”, False Negative>, <“Automated Assessment, Face to Face”, False Positive>} uf′q3 = { <"Nikola Tomasevic",True Positive>, <"Philipp Heim",False Negative>}
  • 32.
    Exemplo 3) Obtém-se osvalores de F'-measure. Neste caso temos: • F'q1 = 0.85 • F'q2 = 0.9 • F'q3 = 0.8 4) A partir de F e F', calculamos os valores de benefícios para cada consulta – B(ds1,q1) = 0.89 – B(ds1,q2) = 1.34 – B(ds1,q3) = 1.02
  • 33.
    Exemplo 5) Consideramos ospesos das consultas iguais a 1. 6) Por fim, calculamos o valor de R(ds1) = 4.32 Repetindo os passos para ds2 e ds3, obtemos: – R(ds2) = 4.26 – R(ds3) = 3.69 A classificação final em ordem decrescente no valor de relevância seria: (ds1, ds2, ds3).
  • 34.
    Implementação • Protótipo DSFilterpara validação dos experimentos • Arquitetura 3 camadas • Componentes principais: – GUI – Gerenciador de Consultas – Gerenciador de Feedback – Analisador de Relevância – Gerenciador do Repositório de Dados
  • 35.
  • 36.
  • 37.
    Experimento • Cenário: domíniode dados bibliográficos em Ciência da Computação • Modelo de dados: RDF • Entradas: – Qi : 13 consultas SPARQL – Si : DBLP – DS : 30 datasets candidatos
  • 38.
    Experimento • Máquina utilizada: – DELL Inspiron – Core i7 2 x 2.10 GHz – 8GB RAM – SO Linux – Java JDK 1.7 • Outras tecnologias: Jena API, Jena TDB, PostgreSQL • O experimento executa 12 testes de cálculo de relevância para cada fonte candidata em DS
  • 39.
    Experimento Cada teste consideratrês critérios/variáveis – Número de consultas – Número de anotações – Tipos de anotações
  • 40.
    Experimento • A partirdestes testes, foram realizadas três análises: – Quantidade de consultas – Quantidade de anotações – Tipos de anotações de feedback
  • 41.
    Experimento • Análise 1:Quantidade de consultas
  • 42.
    Experimento • Análise 2:Quantidade de anotações
  • 43.
    Experimento • Análise 3:Tipos de anotações de feedback
  • 44.
    Experimento - Considerações •Quanto maior o número de anotações corretas, mais confiáveis serão os valores de Relevância • Ao aumentarmos o número de anotações, aumentando o valor de R. Ou seja, se a base´já era considerada boa, o valor vai tender a ser melhor ainda • O feedback é o ponto-chave desse comportamento de R • O processo não garante que fontes boas terão altos valores de R • Mas o processo garante que fontes ruins não terão altos valores de relevância
  • 45.
    Considerações Finais • Abordagempara classificação de fontes de dados – Necessidade dos sistemas e aplicações em selecionar fontes relevantes – Foco em sistemas de integração pay-as-you-go, porém extensível a qualquer abordagem – Feedback do usuário como foco central do processo de análise de relevância – Independência do modelo de dados • Experimentos – Avaliação do comportamento do valor de relevância – Influência da qualidade do feedback no resultado final
  • 46.
    Considerações Finais • Contribuições – Especificação da Abordagem • Formalização do Feedback do Usuário • Definição da medida de relevância • Especificação do processo de inferência de feedback – Desenvolvimento de um protótipo • Publicação – Feedback-based data set recommendation for building linked data applications. In Proceedings of the 8th International Conference on Semantic Systems, I-SEMANTICS, pages 49–55, Graz, Austria. – Link
  • 47.
    Trabalhos Futuros • Tratamentodo Feedback para vários usuários • Melhoria das técnicas de inferência das anotações de feedback • Realização de um checkup das fontes de dados na Web • Avaliação da qualidade da abordagem
  • 48.