NATAN DE ALMEIDA LAVERDE INTEGRAÇÃO DA DIMENSÃO TEMPO EM CONSULTAS POR SIMILARIDADE SOBRE DADOS MÉTRICOS - PDF
Download "NATAN DE ALMEIDA LAVERDE INTEGRAÇÃO DA DIMENSÃO TEMPO EM CONSULTAS POR SIMILARIDADE SOBRE DADOS MÉTRICOS"
Geovane Teixeira Dias
1 NATAN DE ALMEIDA LAVERDE INTEGRAÇÃO DA DIMENSÃO TEMPO EM CONSULTAS POR SIMILARIDADE SOBRE DADOS MÉTRICOS LONDRINA PR 2014
3 NATAN DE ALMEIDA LAVERDE INTEGRAÇÃO DA DIMENSÃO TEMPO EM CONSULTAS POR SIMILARIDADE SOBRE DADOS MÉTRICOS Versão Preliminar de Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Computação da Universidade Estadual de Londrina para obtenção do título de Bacharel em Ciência da Computação. Orientador: Prof. Dr. Daniel dos Santos Kaster LONDRINA PR 2014
4 Natan de Almeida Laverde Integração da dimensão tempo em consultas por similaridade sobre dados métricos/ Natan de Almeida Laverde. Londrina PR, p. : il. (algumas color.) ; 30 cm. Orientador: Prof. Dr. Daniel dos Santos Kaster Universidade Estadual de Londrina, Consultas por similaridade. 2. Espaço métrico-temporal. I. Daniel dos Santos Kaster. II. Universidade Estadual de Londrina. III. Ciência da Computação. IV. Integração da dimensão tempo em consultas por similaridade sobre dados métricos CDU 02:141:005.7 Este trabalho é dedicado às crianças adultas que, quando pequenas, sonharam em se tornar cientistas.
7 Ciência da Computação está tão relacionada aos computadores quanto a Astronomia aos telescópios, Biologia aos microscópios, ou Química aos tubos de ensaio. A Ciência não estuda ferramentas. Ela estuda como nós as utilizamos, e o que descobrimos com elas Edsger Dijkstra
9 LAVERDE, N. A.. Integração da dimensão tempo em consultas por similaridade sobre dados métricos. 27 p. Trabalho de Conclusão de Curso (Graduação) Versão Preliminar. Bacharelado em Ciência da Computação Universidade Estadual de Londrina, RESUMO Palavras-chave: Consultas por similaridade. Espaço métrico-temporal.
11 LAVERDE, N. A.. Title of the Work. 27 p. Final Project (Undergraduation) Draft Version. Bachelor of Science in Computer Science State University of Londrina, ABSTRACT This is the english abstract. The Abstract in English should be faithful to the Resumo in Portuguese, but not a literal translation. Keywords: Similarity queries
13 LISTA DE ILUSTRAÇÕES Figura 1 Espaço de similaridade [1] Figura 2 Consultas por similaridade: (a) consulta por abrangência R(q,r) e (b) consulta aos k-vizinhos mais próximos 3-NN [2] Figura 3 Tipos de ordem de tempo: (a) tempo consecutivo e linearmente ordenado; (b) tempo ramificado com diferentes sucessores; (c) tempo ramificado com diferentes antessores; (d) tempo circular [3]
17 SUMÁRIO 1 INTRODUÇÃO FUNDAMENTAÇÃO Modelo de Dados para Dados Métricos Espaço de Similaridade Vetores de Características Funções de Distância Consultas por Similaridade Modelo de Dados Temporal e Espaço-temporal Funcionalidades temporais do padrão SQL: Modelo de Dados Métrico-Temporal CONCLUSÃO Referências
19 17 1 INTRODUÇÃO Desde o surgimento dos primeiros Sistemas de Gerenciamento de Banco de Dados (SGBD), informações relacionadas a tempo tem sido armazenadas em banco de dados, mais recentemente foram propostas novas formas de tratar o tempo e foram criadas extensões temporais para linguagens de consulta para que os SGBD suportassem essas operações. Informações temporais também podem ser incorporadas em dados espaciais, permitindo manter um acompanhamento do histórico das mudanças nos objetos espaciais ao longo do tempo. Um dado espacial é um tipo de dado complexo, e para realizar consultas neste domínio, normalmente utiliza-se consulta por similaridade. Muitos estudos contemplam formas de representar e consultar dados espaço-temporais. Porém, em se tratando de outros tipos de dados complexos, poucas alternativas foram propostas. É neste contexto que este trabalho se insere, buscando uma forma integrada de representar e consultar dados temporais associados a dados complexos.
21 19 2 FUNDAMENTAÇÃO A Seção 2.1 apresenta os conceitos de espaço-métrico e consultas por similaridade. Os conceitos dos modelos dados temporal e espaço-temporal, como granularidade, ordem e dimensão do tempo, são apresentados na Seção 2.2. Por fim, na Seção 2.3 é apresentada a definição de espaço métrico-temporal e as operações exploradas até então neste espaço. 2.1 Modelo de Dados para Dados Métricos Desde os primeiros SGBD, existe suporte para manipulação de dados como números, datas e pequenos textos. O sucesso dos SGBD na manipulação destes tipos de dados, chamados neste projeto dados tradicionais, incentivou o suporte de outros tipos de dados, chamados dados complexos, que podem ser dados resultantes de experimentos científicos, textos de grande extensão, imagens, sons, vídeos digitais, dados espaciais, dados geográficos e séries temporais [1] Espaço de Similaridade Normalmente, dados complexos não são comparados utilizando-se seu formato original. Em vez disso, em geral, são representados por meio de características extraídas do conteúdo do dado, que o descrevem em um nível semântico. Por exemplo, uma imagem é essencialmente uma matriz de pixels, o que não oferece diretamente uma interpretação semântica do seu conteúdo. Porém, com a utilização de algoritmos de processamento de imagens é possível extrair vetores de características que descrevam melhor a cena retratada, permitindo comparações em um nível mais próximo da interpretação do ser humano. Quanto às comparações, os vetores de características normalmente não possuem a Relação de Ordem Total (ROT), portanto os operadores relacionais (<,,, >) não podem ser utilizados. Os operadores de igualdade sempre podem ser utilizados, porém em dados complexos, este tipo de consulta normalmente tem pouca utilidade. Desta forma, o meio mais utilizado para comparação de dados complexos é com base na noção de similaridade. Comparar dados por similaridade pressupõe que os elementos (vetores de características) estão imersos em um espaço de similaridade, definido pelo conjunto de elementos e a relação de (dis)similaridade entre pares de elementos. A figura 1 exemplifica um espaço de similaridade. Espaços Métricos são a forma mais geral de se representar dados complexos em um espaço de similaridade e extensivamente usada na literatura. As operações sobre dados em espaços métricos mais relevantes são as consultas por similaridade,
22 20 Capítulo 2. Fundamentação que consistem em recuperar dados complexos com base na (dis)similaridade entre objetos [2]. Desta forma, este projeto considera que o modelo de dados métricos define dados complexos como espaços métricos e os manipula utilizando consultas por similaridade. Figura 1 Espaço de similaridade [1]. Um espaço métrico é representado como o par S, d s, onde S é um conjunto de dados complexos, não necessariamente dimensionais, e d s : S S R + é uma função que efetua o cálculo de dissimilaridade entre elementos desse domínio e que satisfaz as seguinte propriedades [2]. não negatividade: x, y S, d s (x, y) 0 simetria: x, y S, d s (x, y) = d s (y, x) identidade: x, y S, x = y d s (x, y) = 0 desigualdade triangular: x, y, z S, d s (x, z) d s (x, y) + d s (y, z) Vetores de Características Para muitos dados complexos, a representação original é limitada para descrever semanticamente o conteúdo. A extração de características é fundamental para o processamento de dados complexos e multimídia. Há diversos extratores de características para dados de multimídias propostos na literatura [1]. Imagens comumente são representadas por seus padrões de textura, cor e forma. No caso de vídeos digitais, as técnicas de extração de características de imagens também são utilizadas, e como normalmente quadros sequenciais possuem pequenas mudanças, os algoritmos de extração são geralmente baseados em tomadas, onde são identificados os quadros que melhor representam cada tomada, chamados de quadros-chave, que são submetidos aos algoritmos de extração de características. O processo também pode extrair
23 2.1. Modelo de Dados para Dados Métricos 21 outros atributos como trilha sonora e legendas, sincronizados com as tomadas identificadas. Os extratores de características de áudio, extraem características baseadas em tempo, frequência e amplitude, também segmentando os arquivos em quadros [1]. Podem ser aplicados processos de seleção e transformação de características. O processo de seleção de características, seleciona um subconjunto características mais relevantes para discriminar os objetos do vetor de características original. Estes algoritmos são baseados em estatísticas e algoritmos de aprendizado de máquina. A transformação de características, combinam e transformam as dimensões definidas no vetor de características original. Diversos trabalhos usam transformação de características para reduzir a dimensionalidade dos vetores de características [1] Funções de Distância Existem várias funções de distâncias definidas na literatura, as mais utilizadas são da família Minkowski (L p ), definidas pela equação 2.1, onde n é a dimensão do espaço vetorial e p é um valor inteiro. As funções mais utilizadas da família L p são: L 0 conhecida como Infinity ou Chebychev; L 1 conhecida como City Block ou Manhatan; L 2 conhecida como Euclidiana [1, 4]. L p (x, y) = n p x i y i p (2.1) Funções de distância dependem do domínio da aplicação e da forma como os elementos são representados. Outro exemplo de função é distância de Canberra, descrita na equação 2.2, é uma função sensível a pequenas variações [4]. i=1 Canberra(x, y) = d 1 i=0 x i y i x i + y i (2.2) Consultas por Similaridade Consultas por similaridade recuperam dados a partir de critérios que dependem da similaridade entre pares de elementos, normalmente calculados através de uma função distância entre eles. Exemplos de consultas por similaridade mais comuns são Consultas por Abrangência (Range query Rq) e consultas aos k-vizinhos Mais Próximos (k-nearest Neighbors query k-nnq), representadas graficamente na Figura 2. Entretanto, há outros tipos de consultas por similaridade, incluindo as junções por similaridade e a consulta aos k-vizinhos Mais Próximos com Condições (Conditional k-nearest Neighbors query ck-nnq). As consultas do tipo Rq, encontram os elementos dissimilares de um elemento de consulta, até um determinado limiar. Consultas k-nnq, retornam os k elementos mais similares ao elemento de consulta, enquanto consultas c k-nnq retornam os k elementos
24 22 Capítulo 2. Fundamentação mais similares ao elemento de consulta, desde que eles satisfaçam a uma condição adicional [1]. Figura 2 Consultas por similaridade: (a) consulta por abrangência R(q,r) e (b) consulta aos k-vizinhos mais próximos 3-NN [2]. 2.2 Modelo de Dados Temporal e Espaço-temporal O conceito de banco de dados temporal abrange qualquer tipo de aplicação de banco de dados que utiliza algum conceito de tempo na organização de suas informações. Esse tipo de aplicação começou a ser desenvolvido assim que banco de dados começaram a ser utilizados. Exemplos de uso incluem históricos de pacientes, sistemas de reservas (passagens aéreas, hotéis, etc.), histórico escolar de alunos, dados de experimentos científicos que incluem tempo de coleta, etc. [5]. Em banco de dados temporal, tempo é representado como uma sequência ordenada de pontos, dm query a granularidade dos pontos varia de acordo com a aplicação. Por exemplo, cada ponto pode representar um segundo, um dia ou qualquer outro intervalo determinado. Portanto, normalmente o termo chronon é utilizado ao invés de ponto, para representar a menor granularidade de uma aplicação. Para que um ponto representado tenha significado, é necessário usar algum tipo de calendário que organize o tempo de forma conveniente (ex: Gregoriano, Chinês, Islâmico, Hindu, etc) [5]. Em termos de ordem, o tempo pode ser consecutivo e linearmente ordenado, ramificado ou circular, ilustrados na Figura 3. Em tempo consecutivo e linearmente ordenado dois pontos sempre são ordenáveis; em tempo ramificado, no futuro pode possuir diferentes sucessores e no passado diferentes antecessores; e o tempo circular é utilizado quando eventos de tempo se repetem periodicamente, como dias da semana ou estações do ano [3]. Em termo de dimensões, o tempo pode ser tratado de maneiras distintas. A interpretação mais natural é associar o tempo em que o evento ocorreu ou o tempo em que um fato é considerado verdadeiro no mundo real. Esta interpretação é chamada de tempo de validade. Outra interpretação usada, refere-se à associação do tempo em que a informação está armazenada no banco de dados, ou seja o tempo que a informação é válida
25 2.2. Modelo de Dados Temporal e Espaço-temporal 23 Figura 3 Tipos de ordem de tempo: (a) tempo consecutivo e linearmente ordenado; (b) tempo ramificado com diferentes sucessores; (c) tempo ramificado com diferentes antessores; (d) tempo circular [3]. no sistema. Esta interpretação é chamada de tempo de transação. Estas duas formas de interpretação são as mais comuns, e aplicações podem fazer uso de apenas uma desta, ou de ambas, neste caso o banco de dados pode ser chamado de bitemporal [5]. TSQL2 [6] é uma extensão temporal definida para o padrão SQL-92, que permite consultas utilizando tempo de validade, tempo de transação e bitemporal em banco de dados relacionais. Banco de dados espaciais incorporam o suporte de objetos em um espaço multidimensional. Por exemplo, banco de dados cartográficos armazenam mapas, incluindo a descrição de objetos em um espaço bidimensional. Os sistemas que gerenciam este tipo de dados e as aplicações relacionadas, são chamados Sistema de Informação Geográfica. Consultas a esses dados podem consultas por abrangência, por vizinhos mais próximos e consultas topológicas [5, 7]. Um modelo de dados Espaço-Temporal incorpora conceitos espaciais, temporais e espaço-temporais, e captura simultaneamente os aspectos temporais e espaciais do dado [8]. Modelos de dados espaço-temporais são utilizados em aplicações onde ocorrem mudanças em objetos espaciais ao longo do tempo, e definem tipos de objetos, relações, operações e regras para manter a integridade do banco de dados. Consultas a dados espaço-temporais podem ser classificadas em três categorias: Consultas espaço-temporais simples como mudanças discretas ou objetos de referência em movimento; Consultas espaço-temporal por abrangência e/ou consultas por junção; Consultas espaço-temporal por comportamento envolvendo operadores unários [7] Funcionalidades temporais do padrão SQL:2011 O padrão SQL:2011 define uma série de extensões. E entre estas, existem algumas extensões temporais. Em [9], são exemplificas tabelas com período de validade, tabelas com período de transação, e permite a combinação em tabelas bitemporais.
26 24 Capítulo 2. Fundamentação Para definição de chaves primárias em tabelas com período de validade, para que não haja sobreposição de períodos, o período pode ser adicionado à chave primária com a cláusula WITHOUT OVERLAPS. Chaves estrangeiras também ser adicionadas. Para expressar consultas a estas tabelas podem ser usados os predicados: CONTAINS, OVERLAPS, EQUALS, PRECEDES, SUCCEEDS, IMMEDIATELY PRECE- DES, e IMMEDIATELY SUCCEEDS. Para fazer atualizações e deleções neste tipo de tabela, a cláusula FOR PORTION OF deve ser utilizada [9]. A padrão define que uma tabela que contenha um período do tipo SYSTEM_TIME, e inclua WITH SYSTEM VERSIONING em sua definição é uma tabela com tempo de transação. Para consultar este tipo de tabela, os predicados FOR SYSTEM_TIME AS OF, FOR SYSTEM_TIME FROM... TO... (não inclui o tempo inicial), e FOR SYS- TEM_TIME BETWEEN... AND... (inclui o tempo inicial) [9]. 2.3 Modelo de Dados Métrico-Temporal Associar tempo a dados complexos manipulados por similaridade não limita-se a simplesmente incluir uma ou mais dimensões temporais no espaço de representação do dado, pois a informação temporal pode afetar a noção de similaridade, além do fato que este espaço pode até mesmo não ser dimensional. Para incorporar a informação temporal em consultas por similaridade foi proposto em [10] o conceito de Espaço Métrico- Temporal. Que é composto por dois espaços métricos (uma componente métrica e uma temporal) [4, 11]. Seja a componente temporal de um espaço métrico definida como T, d t, onde T medidas de tempo que podem ser associadas a elementos armazenados em um espaço métrico. d t : T T R + é uma função que permita o cálculo de similaridade entre elementos desse domínio [4]. Desta forma, pode-se definir Espaço Métrico-Temporal, como sendo a associação de informações temporais a um elemento de um espaço métrico. Representado como o par V, d v, onde V = S T e d v : V V R + é uma métrica entre os elementos de um espaço métrico com informações temporais associadas [4, 10]. As operações exploradas até então sobre espaços métrico-temporais foram consultas por similaridade convencionais: Rq e k-nnq. Entretanto, há outras formas de consulta, exploradas considerando-se dados espaço-temporais, que também são úteis para dados métricos e que poderiam ser incluídas no modelo de dados. Para isso, é necessário combinar de forma consistente diferentes interpretações de tempo em um modelo único, estendendo a forma de representação e o conjunto de operações válidas. Este projeto tem como meta propor esse modelo de dados.
27 3 CONCLUSÃO 25
29 27 REFERÊNCIAS 1 KASTER, D. d. S. Tratamento de condições especiais para busca por similaridade em bancos de dados complexos. Tese (Doutorado) Universidade de São Paulo, ZEZULA, P. et al. Similarity Search: The Metric Space Approach. Springer, (Advances in Database Systems). ISBN Disponível em: <http://books.google.com.br/books?id=ktkwxsipxr4c>. 3 CASANOVA, M.; CAMARA, G.; DAVIS, C. Bancos de dados geograficos. MundoGEO, Disponível em: <http://books.google.com.br/books?id=pw40haaacaaj>. 4 BUENO, R. Tratamento de tempo e dinamicidade em dados representados em espaços métricos. Tese (Doutorado) Universidade de São Paulo, ELMASRI, R.; NAVATHE, S. Fundamentals of Database Systems. ADDISON WESLEY Publishing Company Incorporated, ISBN Disponível em: <http://books.google.com.br/books?id=zdhaqgaacaaj>. 6 SNODGRASS, R. T. et al. TSQL2 language specification. ACM SIGMOD Record, v. 23, n. 1, p , mar ISSN Disponível em: <http: //portal.acm.org/citation.cfm?doid= >. 7 PELEKIS, N. et al. Literature review of spatio-temporal database models. The Knowledge Engineering Review, Cambridge Univ Press, v. 19, n. 03, p , CHEN, C. X. Data Models and Query Languages of Spatio-Temporal Information. Tese (Doutorado) University of California Los Angeles, KULKARNI, K.; MICHELS, J.-E. Temporal features in sql:2011. SIGMOD Rec., ACM, New York, NY, USA, v. 41, n. 3, p , out ISSN Disponível em: <http://doi.acm.org/ / >. 10 BUENO, R. et al. Time-aware similarity search: a metric-temporal representation for complex data. In: Advances in Spatial and Temporal Databases. [S.l.]: Springer, p SOUSA, I. C. O. V. de; BUENO, R. Análise da Evolução Temporal de Dados Complexos. sbbd2013.cin.ufpe.br, p. 1 7, Disponível em: <http: //sbbd2013.cin.ufpe.br/proceedings/artigos/pdfs/sbbd\_wtd\_05.pdf>.
Integração da dimensão tempo em consultas por similaridade sobre dados métricos
Integração da dimensão tempo em consultas por similaridade sobre dados métricos Natan de Almeida Laverde 1, Daniel dos Santos Kaster 1 1 Departamento de Computação Universidade Estadual de Londrina (UEL)
Recuperação de Imagens Médicas por Conteúdo em um Sistema de Gerenciamento de Banco de Dados de Código Livre Humberto Razente, Maria Camila N. Barioni, Agma J. M. Traina, Caetano Traina Jr. GBDI Grupo