Análise de Abordagens para Matching de Formulários na Deep Web 1 - PDF
Download "Análise de Abordagens para Matching de Formulários na Deep Web 1"
Ísis Bardini Angelim
1 Análise de Abordagens para Matching de Formulários na Deep Web 1 Augusto Ferreira de Souza, Ronaldo dos Santos Mello Departamento de Informática e Estatística Universidade Federal de Santa Catarina Caixa Postal Florianópolis SC Brasil Abstract. This paper presents a survey of Web form matching approaches in the context of the Deep Web. First, it introduces the features used by each author regarding matching processes. In the following, a comparison of related work is provided. It concludes with an analysis of their contributions and limitations, and suggests some topics for future research. Resumo. Este artigo apresenta uma revisão da literatura sobre matching de formulários Web no contexto da Deep Web. Primeiramente, abordam-se as características utilizadas por cada autor para a execução do matching. Na sequência, é apresentado um comparativo dos trabalhos relacionados. O artigo conclui com uma análise das principais contribuições e limitações das abordagens, além de sugerir alguns tópicos para pesquisas futuras. 1. Introdução O aumento do volume de dados disponíveis na Deep Web [Halevy et al. 2009] faz com que aumente a necessidade de acesso a essas informações por parte dos usuários. A Deep Web representa dados disponíveis na Web que são visíveis apenas quando mostrados em páginas dinâmicas criadas a partir do resultado de uma pesquisa geralmente definida sobre um formulário Web [Bergman 2001]. O formulário Web (Web form) é a principal interface de pesquisa para um banco de dados na Deep Web. Para se ter acesso às informações da Deep Web, são necessários sistemas para a coleta destas informações, como por exemplo, crawlers, metasearchers e sistemas de integração de dados na Web. Porém, após a coleta, se faz necessária à utilização de técnicas de casamento (matching) para facilitar o acesso dos usuários a essas fontes de dados, principalmente as fontes de dados relevantes. O matching de dados nesse contexto corresponde ao casamento de esquemas de formulários Web e é um problema a ser tratado em diversos processos de gerenciamento de dados, como por exemplo, integração de dados, consulta a diferentes fontes de dados e pesquisa por similaridade. 1 Este trabalho conta com recursos do CNPq através do projeto WF-Sim (Nro. processo: /2010-3).
2 A motivação deste artigo é a dificuldade associada à execução do matching de formulários Web. Tais dificuldades ocorrem devido à existência de uma grande variedade de formulários com atributos diferentes que representam um mesmo conceito, a existência de atributos semelhantes para conceitos diferentes, a alta variação da frequência de atributos de um determinado domínio, a existência de atributos sem rótulos ou com vários campos, a diversidade de restrições de valores entre os atributos, dentre outros. A Figura 1 exemplifica a dificuldade para execução do matching em formulários Web no domínio de revendas de automóveis. Percebe-se que diferentes rótulos são utilizados para representar o mesmo conceito: by brand, car make-model, model e manufacturer, ou rótulos com grafia similar podem representar conceitos diferentes: year of manufacture e manufacturer. Figura 1: Matching de formulários Web no domínio de automóveis [Freire et al. 2010]. As vantagens da utilização de um processo de matching é a visão centralizada de esquemas de formulários Web, a distribuição de consultas e a possibilidade de integrar diversos bancos de dados. Com o suporte de uma atividade de matching é possível para o usuário definir filtros de busca sobre uma visão mais ampla do domínio ou ainda especificar uma consulta em um determinado formulário Web que pode ser propagada para outros formulários com atributos similares. Com o objetivo de contribuir com as pesquisas que necessitam da execução de matching de dados na Deep Web, este artigo apresenta uma revisão a respeito de algumas abordagens sobre esse assunto de matching que pode ocorrer em formulários Web, dados na Deep Web e em esquemas de dados. Primeiramente, alguns trabalhos relacionados são descritos brevemente. Na sequência, é apresentada uma análise comparativa de características destes trabalhos, contribuindo com o estabelecimento de um estado da arte sobre o assunto. Por fim, sugere-se alguns pontos que estão em aberto e que podem ser utilizados para trabalhos futuros. Cabe salientar que, durante a revisão bibliográfica, identificou-se alguns surveys sobre matching de esquemas de dados. ([Shvaiko and Euzenat 2005], [Bernstein et al. 2011] e [Dorneles et al. 2011]). Entretanto, este trabalho apresenta o estado da arte para trabalhos mais recentes e focados em formulários Web.
3 2. Trabalhos Relacionados Esta seção revisa e comenta as principais características e diferenciais de alguns trabalhos relacionados à problemática de matching de formulários Web. A proposta de [Freire et al. 2010] apresenta o sistema PruSM (Prudent Schema Matching). O sistema recebe os dados de uma coleção de formulários previamente coletados. Estes formulários servem como entrada para um módulo de agregação (Aggregation) que, utiliza técnicas para a preparação dos dados, como por exemplo a remoção de stop words. A próxima etapa é o módulo de Descoberta de Relacionamentos (Matching Discovery), onde são analisados os relacionamentos e a frequência entre os atributos. Primeiramente, é calculada a similaridade do rótulo, utilizando a distância do cosseno entre os termos dos vetores de seus rótulos, onde se fornece uma medida da importância do termo dentro do conjunto baseado na sua frequência no conjunto como, por exemplo, manufacturer e year of manufacturer. Na sequência, calcula-se a similaridade entre os valores do atributo. Por fim, é realizada a correlação dos valores dos atributos do conjunto, para detectar casos como, por exemplo, Make e Brand, que apesar de possuírem grafia diferente, possuem o mesmo significado. Ao final do processo, os atributos com baixa frequência têm seus pesos recalculados através de um algoritmo chamado STF (Singular Token Frequence). Em seguida, aplica-se um algoritmo conhecido como 1NN (1-Nearest-Neighbor Clustering), que agrupa o atributo raro ao seu vizinho mais próximo de maior frequência. Estes passos geram um novo cluster de atributos considerados representativos. Finalmente, incorpora-se este novo cluster ao cluster confiável, utilizando um algoritmo denominado HAC (Hierarchical Agglomerative Clustering), onde os atributos são representados em uma estrutura de árvore e são aglomerados aos mais próximos sucessivamente. Ocorre então a identificação de conjuntos de alta confiança, ou seja, clusters de atributos afins. O DynaBot [Rocco et al. 2005] é definido como um sistema de descoberta de fontes de dados orientado à Deep Web. Ele possui arquitetura modular com suporte a focused crawlers, com ênfase em matching, sondagem e ranqueamento de páginas rastreadas. O DynaBot utiliza um componente plugável denominado analisador semântico específico, o qual analisa o banco de dados candidato e possui um Combinador de Classe de Serviço (Service Class Matcher). A descrição de classe serviço (service class description) é uma descrição abstrata utilizada para determinar os recursos das fontes encontradas e relacionar fontes da Deep Web. Uma classe de serviço (service class) é um conjunto de fontes da Deep Web que apresentam a mesma funcionalidade, fornecendo uma descrição geral dos dados. A descrição da classe de serviço articula uma interface de consulta e fornece uma referência para determinar a relevância de um serviço específico para uma classe de serviço. A descrição da classe de serviço é composta inicialmente por um desenvolvedor ou usuário do serviço e ainda pode ser revisto através de algoritmos de aprendizagem automatizados embutidos na execução do matching. Quando o rastreador cruza com a interface de consulta, este invoca o combinador de classe de serviço para determinar se a fonte é de fato candidata à classe de serviço. Em caso positivo, ela é classificada como membro de uma classe de serviço baseada na descrição de classe de serviço.
4 O trabalho apresentado por [Hong et al. 2010] propõe uma abordagem que combina múltiplos matchers utilizando a denominada Teoria de Evidência de Dempster-Shafer. Esta teoria matemática fornece mecanismos para a representação da incerteza, imprecisão e informação incompleta. Ela combina evidências de diferentes fontes para alcançar um grau de confiança, considerando todas as evidências apresentadas. Quatro matchers individuais são utilizados, dos quais três são baseados nas características da semântica dos rótulos e o último utiliza o tipo de dado dos atributos para o matching. O primeiro matcher utiliza o dicionário semântico WordNet 2 que ajuda no cálculo de similaridade entre os termos que possuem o mesmo significado, como por exemplo, carro e veículo. O segundo utiliza distância de edição para medir a similaridade entre duas strings, ou seja, quantas transformações são necessárias para transformar uma string na outra. No terceiro matcher, a medida de similaridade é definida através do total e da ordem dos caracteres comum a ambas. Por fim, o último matcher define se dois tipos de dados são compatíveis, ou seja, se são do mesmo tipo ou se um é subordinado ao outro, como por exemplo, quando se depara com uma data pode-se encontrar, dia, mês e ano. Experimentos com um conjunto de 88 formulários distribuídos em 6 domínios obtiveram um valor de precisão de 96% no domínio de Autos e a sua menor percentagem foi no domínio de Jobs com 91,9%. Apesar dos excelentes resultados, encontra-se nesta abordagem uma limitação pelo fato do sistema utilizar o recurso do dicionário semântico comparando somente duas strings por vez. Na proposta de [Wang et al. 2004], primeiramente define-se um esquema como um conjunto de atributos, cada um dos quais com um único significado. Nessa abordagem, os bancos de dados Web podem ser categorizados em um domínio específico, como por exemplo, venda de livros. Em cada domínio específico, existe um esquema global, o esquema de interface e o esquema de resultado. O esquema global representa o conhecimento geral sobre o domínio e consiste dos atributos representativos dos objetos dos dados. O esquema de interface consiste de atributos sobre os quais os usuários podem consultar. Já o esquema de resultado consiste de atributos que os usuários podem navegar. O matching entre dois esquemas determina que certos atributos de um esquema correspondem semanticamente a certos atributos do outro esquema. O matching pode ocorrer nas seguintes formas: entre esquema global e esquema de interface, entre esquema global e esquema de resultado, entre esquema de interface e esquema de resultado, esquema de resultado e esquema de resultado e por fim, esquema de interface e esquema de interface. Considera-se cada atributo de um esquema de interface ou de resultado como um "documento" e cada atributo do esquema global como um "conceito", gera-se uma matriz sendo que cada linha representa um vetor de documento correspondente. Portanto, calcula-se a similaridade entre os atributos de diferentes esquemas. Essa proposta descreve as relações de correspondência entre diferentes esquemas de bancos de dados da Web em um domínio específico, mas também fornece uma visão global sobre como reforçar a precisão da correspondência através da realização de vários tipos de matching de esquema simultaneamente. A análise de um amplo conjunto de características é realizada por [Silva et al. 2007]. As informações extraídas dos formulários e do site em geral formam um conjunto com os termos e atributos mais significativos do domínio, sendo esse conjunto utilizado para a criação de um modelo base. Este modelo consiste de uma tripla FP 2
5 (Backlink, PC, FC), onde FP corresponde ao Form Page, PC a Page Contents, FC a Form Contents e backlink consiste de uma lista de URLs que apontam para um FP. Um algoritmo denominado CAFC-CH (Context-Aware Form Clustering Content Hub) utiliza o modelo anteriormente definido para a determinação de centroides iniciais que são utilizados para a clusterização, sendo que quanto mais relevantes os termos melhor será o resultado. Os centroides são determinados com o cálculo da média dos pesos dos termos das páginas. O algoritmo define o domínio ao qual o formulário pertence, além de utilizar as informações visíveis do site, que são automaticamente obtidas através da remoção das tags do HTML para a obtenção dos termos. Ele utiliza a métrica TF-IDF para a definição dos pesos dos atributos e dependendo da localização do atributo o sistema atribui pesos maiores para os termos mais significativos. Com a utilização do modelo base e com as triplas que ajudam na determinação do modelo, em 454 form pages apenas 17 foram classificadas incorretamente. Porém, apesar da utilização de um modelo base, a abordagem não possui técnicas para a atualização deste modelo, o que acaba sendo um grande problema devido à dinamicidade das páginas Web. Esse trabalho possui um diferencial que é a atribuição de pesos de acordo com a importância de cada termo recuperado do site. Este processo de determinação/resgate de termos relevantes é um tema atual de pesquisa na área [He et al. Chang 2004]. Nele, crawlers fazem uso da localização e formatação dos termos no site, como por exemplo, o tamanho e estilo da fonte, entre outras características, para a determinação de pesos para cada termo existente. Esses termos, quando relevantes, são de grande valia no processo de execução do matching, pois eles podem ajudar na determinação de centroides para a formação de clusters ou até na formação de modelos para a comparação dos atributos. Segundo [Freire et al. 2008], uma boa solução para a execução do matching começa com uma boa extração dos rótulos dos formulários, formando um conjunto de tuplas (rótulos-atributos) manualmente derivado para uma dada amostra de formulários. Estes são utilizados para classificar os mapeamentos candidatos gerados automaticamente: caso pertençam ao conjunto, eles são marcados como amostras positivas; caso contrário são marcados como amostras negativas. Essas tuplas são utilizadas em um primeiro classificador Naïve Bayes. O classificador Naïve Bayes emprega um raciocínio probabilístico que engloba teoria de grafos para o estabelecimento de relações entre sentenças e ainda teoria de probabilidades para a atribuição de níveis de confiabilidade. Ele tem uma parte estrutural refletindo relações causais entre as variáveis de entrada (inputs) e a variável de saída (output) do sistema e valores de probabilidade refletindo a força da relação. Após passarem pelo classificador Naïve Bayes, as tuplas passam por um segundo classificador que é uma árvore de decisão. Os atributos não classificados retornam ao início do processo, sendo novamente comparados com os conjuntos já classificados, ou seja, o conjunto é atualizado para uma nova tentativa de classificação. Esse sistema possui a desvantagem de requerer o processamento manual, mas possui a vantagem de ter um modelo de comparação que é atualizado dinamicamente com os atributos que já foram processados. Utilizando aproximadamente 170 amostras para os experimentos, o valor de recall do classificador Naïve Bayes para a classificação de atributos negativos no conjunto, mas sem remover os positivos, foi de 98%.
6 Em [Do and Rahm 2002] utilizam-se matchers simples e matchers híbridos. Nos matchers simples, os valores representam a fonte para a avaliação da similaridade entre os dados do esquema. Isto pode ser feito sintaticamente, comparando as strings, ou semanticamente, comparando seus significados. Os matchers híbridos usam uma combinação fixa de matchers simples e outros híbridos para obter maior precisão nos valores de similaridade. O matcher híbrido combina a comparação de strings e a hierarquia dos nomes. Primeiramente, constrói-se uma frase concatenando todos os nomes dos atributos em uma única seqüência. A seguir, a string e a estrutura são analisadas, como por exemplo, PurchaseOrder.ShipTo.Street e PurchaseOrder.shipToStreet. Em seus experimentos, este trabalho obteve uma média de precisão acima de 0,9 combinando as suas duas soluções de matching. Em [Chang and Cheng 2007] um mecanismo de busca pesquisa entidades e executa o matching das entidades. No contexto deste trabalho, uma entidade representa determinados tipos de dados, como por exemplo, um número de telefone, um nome ou uma data. Realiza-se uma consulta com as entidades alvo e após a busca, cada resultado corresponde a uma tupla. Uma tupla pode conter uma ou mais instâncias, cada uma associada a um tipo de entidade. Por exemplo, (David, é uma tupla do tipo (#name, # ). O objetivo é encontrar, a partir das tuplas correspondentes na ordem de classificação, quais correspondem a consulta. A ordem de classificação é gerada a partir da frequência da tupla, frequência da instância e a incerteza da instância da entidade. Na sua essência, o sistema assume a "integração em um sentido probabilístico". Dadas entidades independentes com probabilidades, a pesquisa encontra casamentos com outras entidades. A proposta de [Hao et al. 2010] emprega uma abordagem de integração Local as View (LAV) com suporte de ontologia. Neste sistema, o método de mapeamento e matching entre o esquema do mediador e as visões locais da Deep Web é gerada pela afirmação das relações dos grupos semânticos de acordo com uma ontologia. No LAV, o mapeamento associa cada atributo do esquema a uma consulta. Do ponto de vista da modelagem, a abordagem LAV é baseada na ideia de que o conteúdo de cada elemento de uma fonte local deve ser caracterizada em termos de uma visão sobre o esquema global. Esta ideia é eficaz sempre que o sistema de matching de dados é baseado em um esquema global que é estável e bem estabelecido. A proposta de [Bhattacharjee and Jamil 2009] apresenta um sistema de matching de esquemas chamada de OntoMatch, composto por métodos que definem os algoritmos de matching. Estes métodos são utilizados para projetar uma função para a seleção e ordenação dos matchers propostos. Um destes é o Structure Matcher, utilizado para estruturas aninhadas e que mede a similaridade entre subárvores enraizadas nos nós correspondentes aos valores. Quanto mais as duas subárvores são parecidas, mais próximos os valores são. A semelhança das duas subárvores é definida por uma combinação de características analisadas de forma recursiva, entre elas as relações de cardinalidade e algumas restrições. Já o Synonym Matcher é uma caracterização que identifica se dois valores são sinônimos entre si.
7 3. Comparativo O quadro comparativo na Tabela 1 mostra algumas características relevantes para a comparação das abordagens descritas na seção 2. Tabela 1: Comparativo das abordagens. Trabalho Técnica Itens de dados utilizados Análise sintática e/ou semântica Utiliza intervenção manual? [Freire et al. 2010] [Rocco et al. 2005] Correlação de atributos Descrição com a funcionalidade Atributos Ambas Não Atributos Semântica Opcional [Hong et al. 2010] Dempster Shafer e dicionário semântico Rótulos e tipos de dados Ambas Não [Hao et al. 2010] Grupos semânticos e ontologia Atributos Ambas Não [Silva et al. 2007] Clusters Atributos Ambas Não [Freire et al. 2008] [Do and Rahm 2002] Naïve Bayes e Árvore de decisão Comparação de strings e hierarquia dos nomes Atributos Ambas Sim Valores Ambas Opcional [Bhattacharjee and Jamil 2009] Ontologia Valores Ambas Não [Wang et al. 2004] Definição de esquemas Atributos Semântica Sim [Chang and Cheng 2007] Holística Tipos de dados Ambas Não
8 Com relação ao critério Técnica, verifica-se uma grande diversidade de abordagens utilizadas para a execução do matching, observando-se que é uma linha de pesquisa bastante diversificada e que está aberta para novos estudos, pois muitas técnicas apresentam vantagens e desvantagens e não existe uma unanimidade para a utilização de determinada técnica. Com relação ao tópico Itens de Dados Utilizados em cada abordagem, verificase devido a um bom desempenho em trabalhos mais abrangentes, uma tendência na utilização das informações dos atributos (rótulos e valores), para a execução do matching, ao invés de somente os rótulos ou só os valores. Eles levam vantagem pelo fato de terem mais informações disponíveis para a execução do processo de casamento, já que mais informações podem contribuir para a confirmação de uma alta similaridade entre os dados. Outra faceta é o Tipo de Análise realizado pelo trabalho, que pode abranger somente uma análise sintática, semântica ou ambas juntas. Observa-se a tendência da utilização da análise sintática e semântica na maioria dos trabalhos, pois geram mais variáveis para a execução do matching. Cabe observar a utilização de uma ontologia nos trabalhos ([Hao et al. 2010] e [Bhattacharjee and Jamil 2009]) como apoio à determinação da importância de um atributo. A utilização de ontologia não é plenamente aceita entre os autores. Essa divergência ocorre devido ao grande esforço necessário para construí-las e mantê-las. Característica presente em poucos trabalhos é a intervenção manual. Em ([Freire et al. 2008] e [Wang et al. 2004]) esta característica faz parte do processo. Em ([Rocco et al. 2005] e [Do and Rahm 2002]) pode ser opcional, possibilitando a intervenção em algumas etapas do processo no qual o usuário pode dar um feedback, por exemplo, para fornecer manualmente correspondências ou para confirmar ou rejeitar correspondências que são automaticamente propostas pelo sistema. Apesar de melhorar o resultado do matching, não se mostra uma solução atrativa considerando a intervenção humana necessária para a execução do processo. 4. Considerações Finais O volume de dados na Deep Web cresce a cada dia e a procura de mecanismos robustos para o matching destes dados é relevante, considerando a necessidade dos usuários de encontrar dados e informações relevantes para as suas necessidades, como por exemplo, uma oferta de emprego ou um veículo que deseja comprar. Este artigo apresenta o estado da arte referente à execução de matching focado na Deep Web, bem como uma análise comparativa de algumas de suas características. Algumas considerações e sugestões de trabalhos futuros podem ser levantadas a partir do comparativo apresentado. Primeiramente, uma análise mais ampla do conjunto de dados disponíveis nos sites a fim de encontrar semelhanças que ajudem na determinação do domínio dos formulários, como por exemplo, descobrir o nome das imagens no site, a que assunto se refere às propagandas, o nome do site, para que estas informações também se tornem uma premissa importante para a execução do casamento dos dados. Esse tipo de abordagem poderia ser melhor explorada.
9 Quanto à utilização de ontologias no processo de matching deve-se considerar o custo inicial de criá-la em virtude das especificidades de cada domínio. Entretanto, quando a ontologia estiver pronta e consideravelmente robusta, ela pode ajudar na decisão da importância de um determinado atributo no domínio. Após essa decisão, pode-se atribuir pesos aos atributos determinando o quão importante ele é, ou até mesmo descartá-lo, para que não interfira negativamente no resultado do matching. Um aspecto que é pouco comentado nos trabalhos é o tempo de processamento das técnicas de matching. Nesse sentido, devido ao crescimento na utilização de computação distribuída é interessante a aplicação de técnicas de multiprocessamento para a execução dos casamentos, visando diminuir o overhead durante a execução do matching e possibilitando um maior número de comparação entre os dados. Além disso, outros pontos relevantes para trabalhos futuros são: Adoção de técnicas de pré-processamento, como limpeza dos dados e análise de restrições de valor dos atributos dos formulários coletados para posteriormente executar o matching a fim de melhorar a acurácia do resultado; Utilização de técnicas de inteligência artificial para a simulação e determinação de centroides e distribuição de clusters de atributos afins, bem como técnicas de machine learning para a classificação dos atributos; Consideração dos dados escondidos nos bancos de dados como mais um parâmetro para determinar a similaridade dos formulários que permitem o acesso a eles. Esse estudo foi realizado a fim de identificar contribuições que possam embasar uma proposta de pesquisa em andamento na área de matching de dados na Deep Web no Programa de Pós Graduação em Ciência da Computação da Universidade Federal de Santa Catarina - UFSC. 5. Referências Bergman, Michael K. (2001). The Deep Web: Surfacing Hidden Value, In BrightPlanet. Bernstein, P. A., Madhavan, J., Rahm, E. (2011). Generic Schema Matching, Ten Years Later, In: Proceedings Very Large Data Base (VLDB). Bhattacharjee, A. Jamil, H. (2009). OntoMatch: A Monotonically Improving Schema Matching System for Autonomous Data Integration, In: IEEE International Conference on Information Reuse and Integration (IRI 09). Chang, K. C.-C and Cheng, T. (2007) Entity Search Engine: Towards Agile Best- Effort Information Integration over the Web, In: Proceedings of the Second Conference on Innovative Data Systems Research (CIDR). Do, H-H., Rahm, E. (2002). COMA - A system for flexible combination of schema matching approaches, In: Very Large Data Base (VLDB). Dorneles, C. F., Gonçalvez, R., Mello, R. S. (2011). Approximate data instance matching: a survey. Knowledge and Information Systems, In: Knowledge and Information Systems, volume 27, number 1, p
10 Freire, J., Nguyen, H. and Nguyen, T. (2008). Learning to Extract Form Labels, In: Proceedings of the Very Large Data Base (PVLDB), p Freire, J., Nguyen, H. and Nguyen, T. (2010). PruSM: A Prudent Schema Matching Approach for Web Forms, In: Conference on Information and Knowledge Management (CIKM), p Halevy, A., Madhavan, J., Afanasiev, L., Antova, L. (2009). Harnessing the Deep Web: Present and Future, In: Conference on Innovative Data Systems Research (CIDR). Hao, L., Wan-Li,Z., Fei, R., (2010) Describing the Semantic Relation of the Deep Web Query Interfaces Using Ontology Extended LAV, In: Journal Of Software, Vol. 5, nº. 1, p He, B., Tao, T. and Chang, K. C.-C. (2004). Organizing structured web sources by query schemas: a clustering approach, In: Conference on Information and Knowledge Management (CIKM), p Hong, J., He, Z., and Bell, David A. (2010). An evidential approach to query interface matching on the deepweb, In: Journal Information Systems, p Rocco, D., Caverlee, J., Liu, L., Critchlow, T. (2005). Exploiting the deep web with dynabot: matching, probing, and ranking, In: Poster Proceedings of the 14th International World Wide Web Conference (WWW F05), p Shvaiko, P. and Euzenat, J. (2005) A Survey of Schema-based Matching Approaches, In: Journal on Data Semantics (JoDS) - IV. Silva, A., Freire, J. and Barbosa, L. (2007). Organizing Hidden-Web Databases by Clustering Visible Web Documents, In: IEEE International Conference on Semantic Computing (IEEE), p Wang, J., Wen, J-R., Lochovsky, F., Ma, W-Y. (2004). Instance-based Schema Matching for Web Databases by Domain-specific Query Probing, In: Very Large Data Base (VLDB), p
Similaridade entre documentos semi-estruturados Rodrigo Gonçalves, Ronaldo dos Santos Mello 1 Departamento de Informática e Estatística Universidade Federal de Santa Catarina (UFSC) Caixa Postal 476 88040-900