universidade federal de santa catarina programa de pós ... filesimilaridade grau de semelhança...
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
� 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
� 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