universidade federal de santa catarina programa de pós ... filesimilaridade grau de semelhança...

67
Universidade Federal de Santa Catarina Programa de Pós-Graduação em Ciência da Computação Similaridade semântica entre instâncias de dados semi-estruturadas Rodrigo Gonçalves Orientador: Prof. Dr. Ronaldo dos Santos Mello Novembro de 2006

Upload: phamdang

Post on 08-Feb-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Universidade Federal de Santa CatarinaPrograma de Pós-Graduação em Ciência da Computação

Similaridade semântica entre instâncias de dados semi-estruturadas

Rodrigo Gonçalves

Orientador: Prof. Dr. Ronaldo dos Santos Mello

Novembro de 2006

Sumário

1. Motivação

2. Trabalhos relacionados

3. Proposta

4. Projeto

5. Atividades atuais e futuras

Sumário

1. Motivação

1. O problema

2. Métricas

3. Objetivos

2. Trabalhos relacionados

3. Proposta

4. Projeto

5. Atividades atuais e futuras

Motivação

� Grande quantidade de informação

� Várias fontes disponíveis

� Informações duplicadas

� Integração

� Consolidar informações

� Facilitar o acesso à informação

� Etapas

Motivação

� Integração - etapas

0. Identificar as fontes de informação e tratá-las

1. Identificar dados equivalentes nas e entre as fontes

2. Integrar os dados� Quais dados integrar e como integrar?

Motivação

� Dados equivalentes

� Similaridade� Grau de semelhança� Métricas

� Diferentes domínios

� Dados semi-estruturados

� XML

� Desafios adicionais

Motivação

� XML

� Padrão para troca de informações

� Adoção em larga escala

� Fontes de dados na WEB

� DBLP, Citeseer, Sigmod

� Representação de forma organizada e dinâmica das informações

� Não há padronização entre as fontes

Motivação

� XML & Integração - Dificuldades

� Dinamismo do XML

� Estruturas distintas para representar a mesma informação

� Domínio

� Conceitos e representação das informações variam

Motivação<livro ano=“1978”>

<autor>Rodrigo Gonçalves</autor>

<autor>Paulo Soares</autor>

<titulo>Similaridade</titulo>

</livro>

<livro>

<autores>Rodrigo Gonçalves, Paulo Soares</autores>

<titulo>Similaridade</titulo>

<publicacao>1978</publicacao>

</livro>

Motivação

<peca>

<autor>João Carlos</autor>

<titulo>Um conto de sábado</titulo>

</peca>

<apresentacao>

Um Conto de Sábado. João Carlos, 1990

</apresentação>

Sumário

1. Motivação

1. O problema

2. Métricas

3. Objetivos

2. Trabalhos relacionados

3. Proposta

4. Projeto

5. Atividades atuais e futuras

Motivação

� Métricas� Determinam o grau de semelhança

� Um valor numérico

� Conforme a natureza dos dados

� Exemplos� Em Espaço Vetorial� Focadas em Strings� Voltadas para Árvores� Baseadas em séries temporais� Consideram freqüência de elementos

Sumário

1. Motivação

1. O problema

2. Métricas

3. Objetivos

2. Trabalhos relacionados

3. Proposta

4. Projeto

5. Atividades atuais e futuras

Motivação

� Objetivo Geral da Dissertação

� Elaborar métricas para determinar a equivalência entre instâncias semi-estruturadas através da análise de suas estruturas e conteúdos.

� Foco em instâncias

� Conteúdo

Motivação

� Objetivos Específicos da Dissertação� Estabelecer métricas para a

determinação da similaridade entre instâncias XML

� Considerar a semântica das informações nos documentos comparados

� Possibilitar o uso de ontologias para auxiliar a comparação

� Buscar um processo automatizado

Sumário

1. Motivação

2. Trabalhos relacionados

1. Taxonomia

2. Comparativo

3. Proposta

4. Projeto

5. Atividades atuais e futuras

Trabalhos relacionados

� Organizam-se em quatro categorias básicas

� Conforme a natureza dos dados manipulados

1. Dados simples

2. Dados complexos

3. Comparação estrutural

4. Comparação completa

Trabalhos relacionados

� Categorias� Dados simples

� Valores atômicos

� Palavras, números, datas, etc.

� Suporte à métricas mais complexas

� Dados complexos� Compostos por dados simples e/ou dados

complexos

� Listas, coleções, tuplas

� Base dos documentos XML

Trabalhos relacionados

� Categorias

� Comparação estrutural

� Semelhança estrutural

� Documentos similares na apresentação

� Não considera-se o conteúdo

� Utilizado em clusterização de dados

Trabalhos relacionados

� Categorias

� Comparação completa

� Leva em conta a estrutura e o conteúdo dos documentos

� Documentos similares pela informação, não apenas pela forma

� Custo elevado

� Dependente da natureza dos dados

Sumário

1. Motivação

2. Trabalhos relacionados

1. Taxonomia

2. Comparativo

3. Proposta

4. Projeto

5. Atividades atuais e futuras

Trabalhos relacionados

EstruturaGrafos“Path shingle”

AmbosDocumentos XML“Detecting duplicate objects in XML documents”

Estrutura e/ou dadosGrafos“Similarity flooding”

AmbosDados estruturados“Meaningfull change detection in structured data”

EstruturaDocumentos XML“Evaluating structural similarity in XML documents”

EstruturaDocumentos XML“Detecting structural similarity between XML documents”

DadosObjetos complexos“Finding similar identities among objects from multiple WEB sources”

DadosFrases e blocos de texto“On the resemblance and containment of documents”

AmbosDados estruturados e semi-estruturados

“Measuring similarity between collections of values”

Considera estrutura e/ou

dados?FocoTrabalho

Trabalhos relacionados

ShinglesNão faz uso“Path shingle”

IDF, distância de edição

Não faz uso“Detecting duplicate objects in XML documents”

Similarity floodingNão faz uso“Similarity flooding”

Cobertura de arestasNão faz uso“Meaningfull change detection in structured data”

Séries temporaisNão faz uso“Evaluating structural similarity in XML documents”

Distância de edição entre árvores

Não faz uso“Detecting structural similarity between XML documents”

Espaço vetorialNão faz uso. Um fator de relevância pode ser associado aos atributos dos elementos.

“Finding similar identities among objects from multiple WEB sources”

Shingsem, shingconNão faz uso“On the resemblance and containment of documents”

tupleSim, listSim, setSim

Considera o tipo de estrutura (tupla, coleção, lista)

“Measuring similarity between collections of values”

MétricasUso de semânticaTrabalho

Trabalhos relacionados

Protótipo para experimentos“Path shingle”

Protótipo para experimentos“Detecting duplicate objects in XML documents”

Implementação e testes com usuários“Similarity flooding”

Implementação no projeto “Tsimmis and C³” na Universidade de Stanford

“Meaningfull change detection in structured data”

Protótipo para experimentos“Evaluating structural similarity in XML documents”

Protótipo para experimentos“Detecting structural similarity between XML documents”

Protótipo para experimentos“Finding similar identities among objects from multiple WEB sources”

Não apresenta“On the resemblance and containment of documents”

Protótipo para experimentos“Measuring similarity between collections of values”

Teste e validaçãoTrabalho

Sumário

1. Motivação

2. Trabalhos relacionados

3. Proposta

4. Projeto

5. Atividades atuais e futuras

Proposta

� Definir métricas para comparação entre instâncias XML� Considerando estrutura e dados

� Buscando combinar e suprir as deficiências de trabalhos existentes� Semântica

� Uso de ontologias

� Automatização� Usuário especialista quase inexistente

� Adaptativa � Plugins

Proposta

� Definir métricas para comparação entre instâncias XML

� Priorizando a qualidade da comparação

� Focando em um ambiente de documentos e artigos científicos

� Bibliotecas digitais

Proposta

� Este trabalho faz parte de um projeto financiado pelo programa CNPq/CTInfo

� Projeto em convênio com o grupo de Banco de Dados da UFRGS

� Consiste de uma Plataforma de Editoração, Indexação e Busca Personalizada em Bibliotecas Digitais

Sumário

1. Motivação

2. Trabalhos relacionados

3. Proposta

4. Projeto

5. Atividades atuais e futuras

Projeto

� Abordagem adotada

� Trabalhos atuais

� Adotam abordagens que “generalizam” a comparação

� Não há uma preocupação com a semântica dos dados

� A performance da comparação é um dos fatores mais considerados

� Sugere-se uma abordagem mais procedural, baseada em heurísticas

Projeto

� Abordagem adotada� Dividir a comparação em várias etapas

� Um trabalho mais detalhado

� Permite considerar melhor a semântica dos dados

� Facilita uma abordagem adaptativa

� Cada etapa analisada de forma independente e em estágios� Várias abordagens por processo

ProjetoInstância 1

Instância 2

ThesaurusMatcher

String SimilarityMatcher

Tags Renamer

Tags Relation Matcher

Tags Ontology Matcher

Tags MatchesElector

Tags MatchesChooser

Tags LexicalMatcher

Tags Extractor

Tags ContentMatcher

Tags Cleaner

Fim do processo

NovaInstância 1

Nova Instância 2

Projeto

� Etapas sugeridas

1. Preparação de nomes de elementos

2. Transformações nas estruturas das instâncias� Torná-las mais homogêneas

Projeto

� Etapas sugeridas

3. Cálculo da similaridade pontual� Comparação de elementos simples

� Atribuição de pesos

� Comparação de elementos complexos

4. Cálculo da similaridade global� Similaridade entre as instâncias analisadas

Projeto - Etapas

� Preparação dos nomes de elementos� Tratamentos léxicos� Comparação� Escolha dos melhores representantes� Substituição nas estruturas originais

Projeto - Etapas

� Preparação dos nomes de elementos� Tratamentos léxicos

� Remoção de caracteres especiais� Heurísticas para padronizar os nomes

� DataDeNascimento <-> Data de nascimento� Data_De_Nascimento <-> Data de nascimento� Remoção de numerais ao final de palavras� etc.

Projeto - Etapas

� Preparação dos nomes de elementos� Comparação

� Métricas de similaridade para strings� Thesaurus� Ontologias� Conteúdo das instâncias (elementos

simples)

Projeto - Etapas<livro>

<autor>Rodrigo Gonçalves</autor><titulo>Similaridade entre documentos semi-estruturados - Uma nova abordagem</titulo><assuntos>

<assunto1>Similaridade</assunto1><assunto2>Inteligencia Artificial</assunto2><assunto3>Banco de dados</assunto3><assunto4>XML</assunto4>

</assuntos><publicacao>2006</publicacao><edicao>1</edicao>

</livro>

<obra><autor>

<nome>Rodrigo Gonçalves</nome></autor><titulo>

<principal>Similaridade entre documentos semi-estrurados</principal><secundario>Uma nova abordagem</secundario>

</titulo><assuntos>Similaridade, Inteligencia Artificial, XML</assuntos><publicacao>2007</publicacao>

</obra>

{livro, obra}{publicacao}

{autor}{titulo}

{assuntos, assunto}{edicao}

{primario}{secundario}

Projeto - Etapas

� Preparação dos nomes de elementos� Escolha dos melhores representantes

� Dois ou mais nomes de elementos dados como equivalentes

� Ontologia / thesaurus ajudam a decidir qual o melhor

� Se não for possível, adota-se o exemplar do conjunto que mais assemelha-se aos demais na média

Projeto - Etapas

� Preparação dos nomes dos elementos� Substituição nas estruturas originais

� Nomes substituídos pelos representantes escolhidos no passo anterior.

Projeto - Etapas<obra>

<autor>Rodrigo Gonçalves</autor><titulo>Similaridade entre documentos semi-estruturados - Uma nova abordagem</titulo><assunto>

<assunto>Similaridade</assunto><assunto>Inteligencia Artificial</assunto><assunto>Banco de dados</assunto><assunto>XML</assunto>

</assunto><publicacao>2006</publicacao><edicao>1</edicao>

</livro>

<obra><autor>

<nome>Rodrigo Gonçalves</nome></autor><titulo>

<principal>Similaridade entre documentos semi-estrurados</principal><secundario>Uma nova abordagem</secundario>

</titulo><assunto>Similaridade, Inteligencia Artificial, XML</assunto><publicacao>2007</publicacao>

</obra>

{obra}{publicacao}

{autor}{titulo}

{assuntos}{edicao}

{primario}{secundario}

Projeto - Etapas

� Preparação dos nomes de elementos� Questões em aberto

� Métricas a utilizar para comparar strings

� Eficiência do processo

� Testes para validá-la

� Impacto do pré-processamento na qualidade da comparação

Projeto - etapas

� Transformações nas estruturas das instâncias� Deslocar atributos para subelementos

� Semânticamente indiferente� Reduz diferenças estruturais

Projeto - etapas

� Transformações nas estruturas das instâncias

� Compatibilizar estrutura dos elementos

� Elementos que são simples e complexos

� Elementos simples e listas

� Tornar o elemento simples complexo

� Análise do conteúdo dos elementos

� Semanticamente desejável

� Tornar o elemento complexo simples

Projeto - etapas

� Transformações nas estruturas das instâncias

� Extrair estruturas dos elementos

� Todos os exemplos existentes

� Agrupar as estruturas dos elementos de mesmo nome encontradas

Projeto - etapas

� Transformações nas estruturas das instâncias

� Com os subelementos não comuns entre as estruturas de um elemento

� Buscar casar pelos dados

� Transformar em listas

� Ignorar

� Plugins?

Projeto - Etapas

<autor> <autor> <autor> <autor><nome> <nome> <nome> <nome><idade> <lingua> <editora> <pais><lingua> </autor> <lingua> <lingua><principalObra> </autor> </autor>

</autor>

<autor> <autor> <autor> <autor><nome> <nome> <nome> <nome><idade> <lingua> <editora> <pais><lingua> </autor> <lingua> <lingua><principalObra> </autor> </autor>

</autor>

<autor> <autor> <autor> <autor><nome> <nome> <nome> <nome><idade> <lingua> <editora> <pais><lingua> </autor> <lingua> <lingua><principalObra> </autor> </autor>

</autor>

<autor> <autor> <autor> <autor><nome> <nome> <nome> <nome><lista> <lingua> <lista> <lista><lingua> </autor> <lingua> <lingua>

</autor> </autor> </autor>

Projeto - etapas

� Transformações nas estruturas das instâncias

� Reestruturar as instâncias

� Com base nas transformações definidas nos passos anteriores

� Instâncias prontas para uma comparação dos dados

Projeto - Etapas

<obra><autor>Rodrigo Gonçalves</autor><titulo>Similaridade entre documentos semi-estruturados - Uma nova abordagem</titulo><assunto>

<assunto>Similaridade</assunto><assunto>Inteligencia Artificial</assunto><assunto>Banco de dados</assunto><assunto>XML</assunto>

</assunto><publicacao>2006</publicacao><edicao>1</edicao>

</livro>

<obra><autor>

<nome>Rodrigo Gonçalves</nome></autor><titulo>

<principal>Similaridade entre documentos semi-estrurados</principal><secundario>Uma nova abordagem</secundario>

</titulo><assunto>Similaridade, Inteligencia Artificial, XML</assunto><publicacao>2007</publicacao>

</obra>

Projeto - Etapas

<obra><autor>Rodrigo Gonçalves</autor><titulo>Similaridade entre documentos semi-estruturados - Uma nova abordagem</titulo><assunto>Similaridade, Inteligencia Artificial, Banco de dados, XML</assunto><publicacao>2006</publicacao>

</obra>

<obra><autor>Rodrigo Gonçalves</autor><titulo>Similaridade entre documentos semi-estrurados | Uma nova abordagem</titulo><assunto>Similaridade, Inteligencia Artificial, XML</assunto><publicacao>2007</publicacao>

</obra>

Projeto - etapas

� Cálculo de similaridade pontual

� Atribuição de pesos aos elementos

� Importante para uma comparação que preza pelo aspecto semântico

� Critérios para definir os pesos individualmente e a interação entre os mesmos nas estruturas das instâncias.

� Plugins

Projeto

� Pesos dos elementos

� Diferentes formas de comparação

� Definem a importância dos elementos na comparação

� Esclarecem a “confiança” que têm-se nos elementos para definir a similaridade

� Várias heurísticas foram definidas para ajudar a definir o peso de um elemento

Projeto

� Pesos dos elementos

� Heurísticas

� Aspectos sintáticos e semânticos

� Combinação

� Melhor aproveitamento das informaçoes disponíveis

Projeto

Projeto

Projeto

� Pesos dos elementos

� Heurísticas

� Aspectos sintáticos considerados

� Posição dos elementos

� Freqüência dos elementos

� Forma de apresentar a informação

� Organização dos dados

� Elementos direta e indiretamente relacionados

� etc.

Projeto

� Pesos dos elementos

� Heurísticas

� Aspectos semânticos considerados

� Relacionados à ontologia do domínio adotada

� Características dos dados extraídas das instâncias analisadas.

Projeto

� Pesos dos elementos

� Heurísticas

� Aspectos semânticos considerados

� Similaridade/existência dos elementos na ontologia

� Cardinalidades e importância

� Completude dos elementos

� Elementos que não estão faltando dados

� etc.

Projeto - etapas

� Cálculo de similaridade pontual

� Comparação de elementos simples

� Comparação dos dados

� Métricas para strings

� Heurísticas para identificação e tratamento de diferentes representações dos dados

� etc.

� Conforme o domínio dos dados

Projeto - etapas

� Cálculo de similaridade pontual

� Comparação de elementos complexos

� Não restringida pela estrutura

� Elementos em lugares distintos nas instâncias podem ser equivalentes

� Similaridade dos elementos complexos como resultado dos elementos simples que o compõe

� Aspectos estruturais devem influenciar no peso de seus componentes

Projeto - etapas

� Similaridade global

� Produto final do processo

� Considera

� Pesos definidos aos elementos

� Valores de similaridade encontrados

� Razão entre lembrança e precisão � Origem a diferentes valores de similaridade

Atividades atuais e futuras

� Implementação e testes do algorítimo.

� Etapa de tratamento de nomes implementada

� Etapa de transformações na estrutura jácom 60% da implementação feita

� Etapa de cálculo de similaridade sendo iniciada a implantação

Atividades atuais e futuras

� Ontologia

� Definição de qual ontologia será adotada

� Como a mesma será gerada/alimentada

� Que informações deverá conter para ser utilizada pelo processo de definição de pesos e para a comparação.

� Ontologia básica para o domínio literário desenvolvida

Atividades atuais e futuras

� Ontologia

Atividades atuais e futuras

� Estabelecimento das fórmulas e como será feito o cálculo que irá definir os pesos dos elementos.

� Fórmulas e cálculo da similaridade em vias de definição

� Aspectos levantados e algorítimo básico elaborado

� Testes para assegurar qualidade e validade

Atividades atuais e futuras

� Finalização da implementação e testes para obter dados para a preparação de artigos

� CaiSE'07

� XATA2007

� WWW2007

� Escrita do texto da dissertação

� Estrutura e corpo básico elaborados

Referências

� http://www.inf.ufsc.br/~rodrigog/artigos/rg_erbd2006.pdf

� http://www.inf.ufsc.br/~rodrigog/artigos/SimilaritySurvey.pdf