FERNANDA APARECIDA LACHTIM CONTEÚDOS EM PORTAIS SEMÂNTICOS

Tamanho: px
Começar a partir da página:

Download "FERNANDA APARECIDA LACHTIM CONTEÚDOS EM PORTAIS SEMÂNTICOS"

Transcrição

1 MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA CURSO DE MESTRADO EM SISTEMAS E COMPUTAÇÃO FERNANDA APARECIDA LACHTIM ORGANIZAÇÃO E INSTANCIAÇÃO AUTOMÁTICA DE CONTEÚDOS EM PORTAIS SEMÂNTICOS Rio de Janeiro 2008

2 INSTITUTO MILITAR DE ENGENHARIA FERNANDA APARECIDA LACHTIM ORGANIZAÇÃO E INSTANCIAÇÃO AUTOMÁTICA DE CONTEÚDOS EM PORTAIS SEMÂNTICOS Dissertação de Mestrado apresentada ao Curso de Mestrado em Sistemas e Computação do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Sistemas e Computação. Orientadora: Prof a Ana Maria de Carvalho Moura, Dr. Ing. Co-orientadora: Prof a Maria Cláudia Reis Cavalcanti, D. Sc. Rio de Janeiro 2008

3 c2008 INSTITUTO MILITAR DE ENGENHARIA Praça General Tibúrcio, 80-Praia Vermelha Rio de Janeiro-RJ CEP Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá incluílo em base de dados, armazenar em computador, microfilmar ou adotar qualquer forma de arquivamento. É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem finalidade comercial e que seja feita a referência bibliográfica completa. Os conceitos expressos neste trabalho são de responsabilidade do autor e do orientador. L138o Lachtim, Fernanda Aparecida Organização e Instanciação Automática de Conteúdos em Portais Semânticos/ Fernanda Aparecida Lachtim. Rio de Janeiro: Instituto Militar de Engenharia, p.: il., tab. Dissertação (mestrado) Instituto Militar de Engenharia Rio de Janeiro, Web Semântica. 2. Portais Semânticos. 3. Ontologias I. Título. II. Instituto Militar de Engenharia. CDD

4 INSTITUTO MILITAR DE ENGENHARIA FERNANDA APARECIDA LACHTIM ORGANIZAÇÃO E INSTANCIAÇÃO AUTOMÁTICA DE CONTEÚDOS EM PORTAIS SEMÂNTICOS Dissertação de Mestrado apresentada ao Curso de Mestrado em Sistemas e Computação do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Sistemas e Computação. Orientadora: Prof a Ana Maria de Carvalho Moura, Dr. Ing. Co-orientadora: Prof a Maria Cláudia Reis Cavalcanti, D. Sc. Aprovada em 12 de Maio de 2008 pela seguinte Banca Examinadora: Prof a Ana Maria de Carvalho Moura, Dr. Ing. do IME - Presidente Prof a Maria Cláudia Reis Cavalcanti, D. Sc. do IME Prof a Karin Koogan Breitman, D. Sc., PUC/RJ da PUC-RJ Prof a Maria Luiza Machado Campos, Ph. D. do DCC/UFRJ Rio de Janeiro

5 A Deus, a minha família e a todos que amo 4

6 AGRADECIMENTOS A Deus, pelo dom da vida e por ter me fortalecido todos os dias dessa caminhada. Aos meus pais, Pedro e Iraci, que sempre me apoiaram em todos os momentos de minha vida e sem os quais eu não teria conseguido. Aos meus irmãos Wagner e Reginaldo que acreditaram em mim e pela força despendida. Ao Sandro e família pelas orações e apoio incondicional e por sempre estarem presentes em minha vida. Ao professor Luciano Eugênio de Castro Barbosa pelo apoio dado no início deste caminho e pelos ensinamentos e amizade despendida durante toda a graduação. Às professoras Ana Maria e Yoko, pela orientação, incentivo, atenção, conhecimento e paciência que empregaram durante toda essa caminhada com muito afinco. A todos os amigos em geral, pelos pensamentos positivos para que eu pudesse alcançar meus objetivos, em especial ao Antônio, Regina, Daniel e Leila que me acolheram de modo tão afetuoso em suas casas. Aos meus amigos do curso de mestrado, especialmente os que estiveram sempre presentes nos momentos difíceis nestes dois anos. Às professoras Karin Breitman e Maria Luiza por terem prestigiado este trabalho participando da banca examinadora. Ao Instituto Militar de Engenharia (IME) e a todos os professores e funcionários, em especial Marcelo Persegani, que prestaram os seus serviços, tornando possível a realização deste trabalho. A todas as instituições de apoio a pesquisa que colaboraram e financiaram este trabalho. Fernanda Aparecida Lachtim 5

7 Tudo posso naquele que me fortalece (Filipenses 4:13) 6

8 SUMÁRIO LISTA DE ILUSTRAÇÕES LISTA DE TABELAS LISTA DE ABREVIATURAS E SÍMBOLOS INTRODUÇÃO Motivação e Caracterização do Problema Objetivo Organização da dissertação ONTOLOGIAS E INTEROPERABILIDADE Interoperabilidade na Web Ontologias Ferramentas para o gerenciamento de Ontologias Protégé KAON (KArlsruhe ONtology) Sistemas de Integração Relacionados a Ontologias Sistemas que Utilizam Ontologia Única Global Sistemas que Utilizam Ontologias Locais Múltiplas Sistemas que Utilizam Ontologias Híbridas Interoperabilidade de Ontologias Interoperabilidade em nível de linguagem Interoperabilidade em nível de ontologia Cálculo de similaridades entre ontologias Tecnologias para calcular similaridades entre ontologias Abordagens para Interoperabilidade entre Ontologias Mapeamento Alinhamento Fusão ou Combinação Integração Considerações sobre processos de interoperabilidade

9 2.8 Tecnologias para prover interoperabilidade entre ontologias MAFRA CATO PROMPT Servidor Ontolingua Considerações Finais PORTAIS SEMÂNTICOS Portais Portais Semânticos Portais Tradicionais X Portais Semânticos Esquema de avaliação dos Portais Semânticos Descrição e Avaliação das Tecnologias de PS Gerador ONTOVIEWS Gerador de Portais do KAON e o ambiente PASS Gerador ODESeW Sistema SWED Sistema OntoWeb Análise Comparativa Considerações finais SISTEMA PARA A GERAÇÃO DE CONTEÚDOS EM PORTAIS SEMÂNTICOS Arquitetura Proposta para o SiGePoS Módulo Semântico Ontologia Base (OB) Mecanismo de Montagem de Consultas Mecanismo de Filtragem Mecanismo de Casamento Mecanismo de especificação de mapeamento Módulo de Busca Módulo de KDD Módulo de Instanciação Organização do Portal: estruturação das facetas

10 Materialização das instâncias do Portal Funcionalidades Considerações Finais PORTAL SEMÂNTICO EDUCACIONAL : ESPECIFICAÇÃO E PROTOTIPAÇÃO Sistema Gerador de Portais Semânticos (SiGePoS) SWOOGLE A API Jena Ontologia Base para o portal POSEDU (OBEDU) Módulo de Busca Módulo Semântico Mecanismo de Casamento Adaptações do CMS (CMS-estendido) Módulo de Instanciação do SiGePoS Configuração do Portal Definindo as facetas Geração das facetas através de regras de inferência Interface de Busca de informações no portal Outras Funcionalidades Restrição de acesso Inserção de Regras Considerações Finais AVALIAÇÃO DO ALGORITMO DE CASAMENTO CMS ESTEN- DIDO Medidas de avaliação de casamento Descrição do benchmark e da API para o alinhamento de ontologias Testes realizados Testes com diferentes Thresholds Testes com alteração dos pesos dos casamentos considerando as propriedades Considerações finais

11 7 ESTUDO DE CASO Primeiro Estudo de Caso Testes para avaliar a influência dos algoritmos de Edit Distance Testes para avaliar a influência dos sinônimos Testes para avaliar a influência das hierarquias Testes para avaliar a influência das propriedades Instanciando a Ontologia Base Instanciação no Portal POSEDU Segundo Estudo de Caso Testes para avaliar a influência dos algoritmos de Edit Distance Testes para avaliar a da influência dos sinônimos Testes para avaliar a influência das hierarquias Testes para avaliar a influência das propriedades Instanciando a Ontologia Base Instanciação no Portal POSEDU Considerações Finais CONCLUSÃO Contribuições Trabalhos futuros REFERÊNCIAS BIBLIOGRÁFICAS ANEXOS Anexo A: Ontologia do Swoogle que descreve os documentos recuperados da Web Anexo B: Dicionário de Sinônimos completo relativo aos conceitos e propriedades da ontologia

12 LISTA DE ILUSTRAÇÕES FIG.2.1 Arquitetura KAON FIG.2.2 Formas de utilização de ontologias FIG.2.3 Mapeamento de Ontologias FIG.2.4 Alinhamento de Ontologias FIG.2.5 Combinação das ontologias 1 e FIG.2.6 Processo de integração de ontologias FIG.2.7 Arquitetura Mafra FIG.2.8 Processo de cálculo de similaridade do Cato FIG.2.9 Processo de cálculo de similaridades do PROMPT FIG.3.1 Adaptação do Esquema de Avaliação dos Portais Semânticos (LAUSEN et al., 2005) FIG.3.2 Arquitetura geral dos componentes do Ontoviews FIG.3.3 Processo de anotação FIG.3.4 Arquitetura do Swed FIG.3.5 Criação e manutenção FIG.3.6 Coleta da informação FIG.3.7 Visualização multi-facetada do portal SWED FIG.3.8 Arquitetura do portal OntoWeb FIG.4.1 Arquitetura do SiGePoS FIG.4.2 Subconjunto da Ontologia Base EDU FIG.4.3 Processo de Casamento FIG.4.4 Mecanismo de Mapeamento FIG.4.5 Documento semântico (arquivo RDF/OWL visualizado no Protégé) FIG.4.6 Página HTML retornada pelo mecanismo de busca FIG.5.1 Arquitetura do SiGePoS FIG.5.2 Ontologia Base para o portal POSEDU FIG.5.3 Componente Portal Viewer da Arquitetura do Sistema SWED FIG.5.4 Arquitetura do SiGePoS em relação ao SWED FIG.5.5 Definição e Hierarquia de Facetas FIG.5.6 Regras Jena

13 FIG.5.7 Estrutura do portal POSEDU montada a partir da OB FIG.5.8 Resultados das Seleções referente à faceta Programa Educacional: Instituições de Ensino/Pesquisa FIG.5.9 Pesquisa 1 no portal POSEDU FIG.5.10 Pesquisa 2 no portal POSEDU FIG.5.11 Área restrita do Portal POSEDU FIG.5.12 Inserção de Regras FIG.6.1 Medidas de similaridades FIG.6.2 Fórmulas de Precisão e Revocação FIG.6.3 Exemplo Saida FIG.6.4 Exemplo FIG.6.5 Representação da Precisão FIG.6.6 Representação da Revocação FIG.6.7 Representando a precisão com diferentes Thresholds FIG.6.8 Representando a revocação com diferentes Thresholds FIG.6.9 Precisão FIG.6.10 Revocação FIG.7.1 Ontologia Base e Ontologia Externa FIG.7.2 Ontologias FIG.7.3 Subconjunto da OE com suas propriedades FIG.7.4 OB - Instanciando um valor da OE em Academic Research Institution da OB FIG.7.5 Instanciando o conceito Graduation Program na OB FIG.7.6 Instanciando o conceito Institution Units na OB FIG.7.7 OB - Instanciando o conceito Research Group na OB FIG.7.8 OB - Instanciando o conceito Research Sub Area na OB FIG.7.9 Visualização das Informações Referente aos Programas Educacionais FIG.7.10 Visualização das Informações Referente aos grupos de pesquisa FIG.7.11 Descrição das Ontologias Base e Externa FIG.7.12 Alteração da Hierarquia da OE FIG.7.13 Subconjunto da OE com suas propriedades

14 FIG.7.14 Instanciando um valor da OE em Academic Research Institution da OB FIG.7.15 Instanciando o conceito Institution Units na OB FIG.7.16 Instanciando o conceito Research Sub Area na OB FIG.7.17 Instanciando o conceito Research Group na OB FIG.7.18 Instanciando o conceito Research Project na OB FIG.7.19 Visualização das Informações Referente aos grupos de pesquisa FIG.7.20 Visualização das Informações Referente aos Projetos de Pesquisa

15 LISTA DE TABELAS TAB.2.1 Conflitos entre ontologias TAB.3.1 Comparação dos portais Web atuais com os portais semânticos - adaptado de (REYNOLDS et al., 2004) TAB.3.2 Quadro comparativo com as funcionalidades dos portais semânticos TAB.4.1 Template TAB.4.2 Template TAB.5.1 Base de Dados - Consulta com os Conceitos Principais TAB.5.2 Base de Dados - Consulta com os conceitos subordinados e propriedades TAB.5.3 Base de Dados - Documentos recuperados TAB.6.1 Descrição das ontologias utilizadas no benchmark TAB.6.2 Tabela de valores dos mecanismos de cálculo de similaridades TAB.6.3 Testes com diferentes Thresholds TAB.6.4 Precisão e revocação do CMS-estendido com a redução dos valores dos pesos de casamento com base nas propriedades TAB.7.1 Fragmento do Dicionário de Sinônimos TAB.7.2 Características Gerais das Ontologias Externa e Base TAB.7.3 Resultados do casamento considerando a influência dos algoritmos de Edit Distance TAB.7.4 Resultados do casamento considerando a influência dos sinônimos TAB.7.5 Resultados do casamento considerando a influência das hierarquias TAB.7.6 Resultados do casamento considerando a influência das propriedades TAB.7.7 Característica Gerais da Ontologia Externa e Base TAB.7.8 Resultados do casamento considerando a influência dos algoritmos de Edit Distance TAB.7.9 Resultados do casamento considerando a influência dos algoritmos de Edit Distance TAB.7.10 Resultados do casamento considerando a influência dos sinônimos

16 TAB.7.11 Resultados do casamento considerando a influência das hierarquias TAB.7.12 Resultados do casamento considerando a influência das propriedades TAB.10.1 Dicionário de Sinônimos completo relativo aos conceitos da ontologia TAB.10.2 Continuação do Dicionário de Sinônimos completo relativo aos conceitos da ontologia TAB.10.3 Dicionário de Sinônimos completo relativo as propriedades da ontologia

17 LISTA DE ABREVIATURAS E SÍMBOLOS ABREVIATURAS PS - Portais Semânticos WS - Web Semântica BD - Banco de Dados SGBD - Sistemas Gerenciadores de Banco de Dados 16

18 RESUMO As tecnologias da Web Semântica(WS) podem transformar simples portais da Web em aprimorados portais semânticos, facilitando consideravelmente a organização, recuperação e compartilhamento de informações, dentre outras atividades. Portais Semânticos são caracterizados por armazenarem e estruturarem conteúdos informacionais segundo ontologias específicas de domínio. Esses conteúdos são representados através de linguagens ontológicas (RDF, OWL, entre outras), dotadas da capacidade de inferir novos conhecimentos no portal. No entanto, a alimentação destes portais é na maior parte das vezes feita de maneira manual, o que pode tornar-se um problema considerando-se que um portal deve estar sempre atualizado. Neste trabalho é proposta uma arquitetura para recuperar informações da Web com base em ontologias de domínio, e a partir daí integrá-las, estruturá-las, organizá-las e instanciá-las num portal semântico, permitindo também inferir e agregar novas informações a este ambiente. Para atingir este objetivo, o trabalho investiga ferramentas de interoperabilidade entre ontologias e propõe a extensão do mecanismo CMS (CROSI Mapping System), utilizado para a realização do cálculo de similaridade entre entidades de ontologias e para possibilitar a instanciação dinâmica da ontologia base de um portal. Essa extensão foi implementada em um protótipo que é usado para alimentar o Portal Semântico Educacional (POSEDU). Por fim, este trabalho ainda contribui com o desenvolvimento de uma ontologia no domínio educacional, usada como ontologia base para o portal POSEDU. 17

19 ABSTRACT Semantic Web (SW) technologies can transform simple Web portals into refined semantic portals, making it considerably easier to organize, retrieve and share information, among other activities. Semantic Portals are characterized for storing and structuring informational contents according to specific domain ontologies. These contents are represented through ontological languages (RDF, OWL, etc.), which are able to infer new knowledge onto the portal. However, instantiating these portals is usually done manually, which may be a problem, since a portal should always be to date. In this work we propose an architecture to retrieve information from the Web according to domain ontologies, from which it is possible to integrate, structure, organize and instantiate information in a semantic portal, making it possible to deduce and aggregate new information to this environment. In order to reach this purpose, this work investigates interoperability tools among ontologies and proposes the extension of the CMS (CROSI Mapping System) mechanism, which is used to calculate similarities between ontology entities, making it possible the dynamic instantiation of a portal domain ontology. This extension has been implemented in a prototype that is used to feed the Semantic Educational Portal (POSEDU). Finally, this work also contributes with the development of an ontology in the education domain, which is used as a base ontology for the portal POSEDU. 18

20 1 INTRODUÇÃO A celeridade da transmissão de informação é um elemento chave na sociedade moderna. Porém, conseguir informações não é o suficiente. A verdadeira conquista está na capacidade de acessar, analisar e associar todas elas. O sucesso de uma empresa ou instituição pode ser medido pela qualidade de suas decisões, que vai depender da sua habilidade no gerenciamento das informações (PINHEIRO, 2004). A Web se tornou um grande desafio para a comunidade científica que busca sucesso na integração, intercâmbio e entendimento semântico dessas informações. Tal integração engloba: gerenciamento dos recursos, envolvendo a avaliação do conteúdo e de seus relacionamentos; padronização dos recursos, através da descrição de suas propriedades; e implementação de mecanismos que dêem suporte à descoberta e recuperação dos mesmos. Neste contexto surgiram os portais, que representam o mecanismo de interação e veiculação de usuários e serviços tanto no âmbito corporativo quanto no de governo (COLLINS, 2001) (DIAS, 2001). Através deles é oferecido um conjunto de facilidades que visam agilizar e facilitar as tarefas do usuário na busca de informações, comunicação ou execução de operações e serviços por ele disponibilizados. Inicialmente os portais funcionavam como máquinas de buscas mais sofisticadas, que tinham por objetivo reduzir o tempo despendido em procuras na internet (DIAS, 2001) e auxiliar os usuários menos experientes com a inclusão de categorias e páginas personalizadas com vários links para outras páginas, funcionando como páginas amarelas. Entretanto, as tecnologias da Web atual ainda não são suficientes para prover tais serviços de forma eficiente, devido principalmente ao fato de boa parte das informações disponíveis para acesso eletrônico apresentarem organização e conteúdos bastante heterogêneos: esses podem variar de um texto, sem nenhuma formatação, a um conjunto de registros bem formatados, além de não existir nesse ambiente uma separação clara entre conteúdo e apresentação das informações, retornando resultados imprecisos e irrelevantes por parte dos serviços de busca. Desta forma a Web Semântica(WS), idealizada por Tim Bernes Lee (BERNERS-LEE et al., 2001), veio como resposta à melhoria destas deficiências. Esta pretende ser uma extensão da Web atual, apresentando uma estrutura que possibilitará a compreensão e o 19

21 gerenciamento dos conteúdos armazenados na Web, independentemente da forma com que estes se apresentam. Entretanto, para que as idéias da WS sejam viabilizadas, é necessário que as informações publicadas sejam, de alguma forma, organizadas. Esta organização de informação está alicerçada por uma representação formal e explícita, de forma a permitir um processamento computacional. Estes sistemas de organização abrangem taxonomias, tesauros e ontologias, que atuam como artefatos essenciais para estabelecer um vocabulário compartilhado, permitindo a classificação e a troca de informações entre grupos de trabalho ou indivíduos. Ontologia é uma especificação explícita de uma conceitualização compartilhada (LAUSEN et al., 2005). Basicamente, uma ontologia consiste de conceitos, relações, definições, propriedades e restrições descritas na forma de axiomas sobre um domínio de interesse. É uma estrutura de organização do conhecimento que apresenta maior potencial representativo em relação aos tesauros tradicionais, como por exemplo permitir a inferência automática, útil para a manutenção da estrutura em um domínio complexo. A aplicação de ontologias permite o compartilhamento e o entendimento comum de um domínio de conhecimento, que pode ser estabelecido entre pessoas e sistemas de aplicação. Dessa forma, procura-se definir uma estrutura e o significado semântico dos documentos que o portal semântico disponibiliza, armazenando-os em seus repositórios ou na Web. 1.1 MOTIVAÇÃO E CARACTERIZAÇÃO DO PROBLEMA A Web evolui cada vez mais de forma desordenada e descentralizada, causando diversas problemáticas referentes à organização e ao acesso às informações, dentre as quais podem ser destacadas: a dificuldade na localização de informações relevantes, pois a forma como as informações estão dispostas exige que o usuário tenha um conhecimento a priori desta organização de conteúdos; as ferramentas de busca retornam um número muito grande de documentos irrelevantes, obrigando os usuários a um exame exaustivo dos resultados para filtrar o que de fato lhes interessa; falta de processamento semântico automatizado; organização de conteúdos voltada apenas para a compreensão humana. De fato, estas dificuldades referentes à Web são na verdade as próprias dificuldades que os portais atuais possuem. Diante deste cenário de evolução da Web e das tecnologias envolvidas, surgem os portais semânticos, cujo objetivo principal é tentar minimizar os problemas expostos. Neste contexto, um portal semântico procura promover uma estrutura com significado semântico aos documentos, utilizando ontologias como base 20

22 para apoiar uma instanciação mais dinâmica e integrativa para o usuário, trocando informações com a comunidade de interesse e habilitando o processamento automático de itens de informação (MAEDCHE et al., 2003). Entretanto, no contexto deste trabalho, é importante destacar algumas das limitações destes portais, tais como: a falta de interoperabilidade entre os portais e outros sites que tratam de um mesmo domínio de conhecimento, ou mesmo entre aqueles dotados de estruturas ontológicas similares; e a forma não automatizada de publicação de novas informações, ficando essa tarefa a cargo do criador ou do administrador do portal. Como exemplo pode-se citar o OntoWeb(JARRAR et al., 2002) que realiza, principalmente, a inserção de novos itens de informação por meio de um formulário disponibilizado no portal, como também o ODESeW (CORCHO et al., 2003) onde a provisão de informações é realizada por usuários e consiste principalmente da edição das instâncias dos conceitos, ou seja, a inserção, atualização e remoção de instâncias da ontologia manualmente. Ambos caracterizam a ausência de um mecanismo mais automatizado de interoperabilidade de ontologias para possibilitar publicação de novas informações. Diante destas considerações, o questionamento que guiará o presente trabalho é: de que forma ontologias e mecanismos de integração de informações contribuem para a formalização do conhecimento, de modo a promover a instanciação dinâmica em portais numa área de conhecimento? E ainda, como um portal pode contribuir para a organização do conteúdo e geração de novos conhecimentos em um determinado domínio? 1.2 OBJETIVO Devido aos problemas inerentes aos portais Web atuais, o desenvolvimento de mecanismos para melhorar a organização, integração e a gestão dinâmica dos portais apresentamse como ferramentas de grande utilidade. Neste contexto, os portais semânticos, diferentemente dos portais tradicionais, integram informações, deixando de atuar como uma mera página com links para outros sites, mas tornando-se uma fonte integradora de informações e serviços. O objetivo geral dessa dissertação é estudar e compreender, na prática a Web Semântica e suas tecnologias associadas, investigando de que forma o seu uso pode melhorar e intensificar a qualidade de integração das informações interoperadas através dos portais. Como objetivo específico este trabalho apresenta uma arquitetura que serve como 21

23 infraestrutura básica para a alimentação de um Portal Semântico, capaz de integrar e instanciar informações a partir do uso intensivo de ontologias. Assim, pretende-se que informações distribuídas na Web sejam recuperadas com base em uma ontologia de domínio, também criada no contexto deste trabalho, e, através de mapeamentos definidos entre essas informações e essa ontologia, novos conteúdos sejam dinamicamente categorizados e adicionados ao portal. Esta arquitetura permitiu a especificação e o desenvolvimento de um protótipo que atende à demanda de alimentação dinâmica de informações em um portal. Um estudo de tecnologias voltadas para a interoperabilidade entre ontologias, levou-nos ao CMS (CROSI Mapping System), que foi estendido para atender aos requisitos de eficiência, essenciais para realizar o casamento entre os conceitos das ontologias recuperadas e os da ontologia base do portal, favorecendo assim a transferência dessas informações para o portal. A recuperação destas informações permitiu gerar o POSEDU (POrtal SEmântico EDUcacional), que inclui componentes básicos a exemplo de: navegação através de facetas e busca por palavras chaves; módulo de inclusão de regras para inferência de novas informações. 1.3 ORGANIZAÇÃO DA DISSERTAÇÃO Além da introdução, este trabalho está estruturado da seguinte forma: no capítulo 2 a Web Semântica e tecnologias associadas são investigadas, com ênfase na interoperabilidade entre ontologias, onde é realizado um estudo das principais abordagens e mecanismos de casamento utilizados para interoperar ontologias. O capítulo 3 é dedicado ao estudo dos portais, onde é feita uma análise criteriosa que evidencia as limitações dos portais tradicionais frente aos semânticos. São apresentadas as principais iniciativas de desenvolvimento dos portais semânticos, com a descrição de alguns deles, permitindo uma comparação entre suas funcionalidades. No capítulo 4 é apresentada a arquitetura proposta do POSEDU, com a descrição detalhada de cada módulo do sistema, com destaque para a automatização do processo de da instanciação, fato inexistente nos portais semânticos atuais. O capítulo 5 descreve as principais características funcionais e de implementação no processo de desenvolvimento do portal POSEDU. O capítulo 6 é dedicado à avaliação do mecanismo de casamento utilizado pelo portal POSEDU, denominado de CMS-estendido. Trata-se de uma extensão da ferramenta CMS, 22

24 que beneficiou-se de outras estratégias para melhorar a sua eficiência no processo de casamento entre ontologias. Essa etapa, considerada imprescindível no seu processo de automatização, determina a qualidade dos dados instanciados no portal. O capítulo 7 apresenta um estudo de caso, onde podem ser observadas e avaliadas todas as funcionalidades desenvolvidas para o sistema POSEDU. E, finalmente, o capítulo 8 apresenta a conclusão dessa dissertação, com enfoque para as principais contribuições e sugestões para trabalhos futuros. 23

25 2 ONTOLOGIAS E INTEROPERABILIDADE A tarefa de gerenciar informações é um requisito de absoluta importância no dia a dia de uma organização. No entanto, esta tarefa não é trivial, e muito menos realizar o compartilhamento destas informações intra e entre organizações (SHETH e LARSON, 1990). Desde a década de 80 a troca de informações entre sistemas tem sido tratada com relevância no desenvolvimento de aplicações, visando à integração e ao reuso dos dados, (ZIEGLER e DITTRICH, 2004). Para isto, inicialmente surgiram os chamados Sistemas Gerenciadores de Bancos de Dados Distribuídos (OZSU e VALDURIEZ, 1999), os quais permitem que usuários, através de uma linguagem de consulta de alto nível, acessem e atualizem os dados espalhados em uma rede de computadores de forma transparente. Entretanto, com a necessidade de acesso a fontes de dados heterogêneas e distribuídas, surgiu uma demanda mais premente por tecnologias capazes de combinar recursos heterogêneos, levando assim à necessidade de interoperar e integrar dados. Sistemas de integração de dados visam prover uma visão unificada dos dados, de modo que aplicações não necessitem lidar com inúmeras fontes, interfaces e representação dos dados. Em especial, na comunidade de Banco de Dados (BDs) essa questão foi bastante explorada nas décadas de 80 e 90 (WIEDERHOLD, 1995), com o objetivo justamente de integrar fontes de dados heterogêneas, viabilizando a consulta aos dados dessas diversas fontes heterogêneas e distribuídas, através de uma visão integrada e única. De fato, a solução para estes problemas reside na complexa tarefa de se efetivar o compartilhamento de informações, motivados pela falta de interoperabilidade que envolve as várias fontes de dados. Segundo (BISHR, 1997),interoperabilidade é a capacidade que um sistema possui de compartilhar e trocar informações e aplicações. A falta de interoperabilidade se caracteriza pela heterogeneidade das fontes de dados, classificadas segundo (CUI e O BRIEN, 2000) e (SHETH, 1998), a partir de suas características sintáticas, estruturais, semânticas e de sistemas: A heterogeneidade sintática é caracterizada pelo envolvimento de diferentes linguagens e representações de dados; 24

26 A heterogeneidade estrutural é caracterizada pelo envolvimento de diferentes modelos de dados, significando que diferentes fontes de informação armazenam seus dados em estruturas com esquemas distintos; A heterogeneidade semântica, por sua vez, considera o conteúdo dos dados e o seu significado; Finalmente, a heterogeneidade de sistema é caracterizada pelos diferentes sistemas operacionais e hardware envolvidos. O objetivo maior dos sistemas de integração de dados sempre foi o de liberar o usuário da necessidade de localizar as diversas fontes, interagir com cada uma isoladamente e combinar os dados das múltiplas fontes manualmente (HALEVY, 2003). Contudo, não é uma tarefa muito fácil gerenciar informações, seja no âmbito acadêmico, seja no meio comercial. Na literatura existem diferentes tipos de classificações (LITWIN et al., 1990), (SHETH e LARSON, 1990), (BRIGHT et al., 1992), no que se refere às soluções para o compartilhamento de informações heterogêneas e distribuídas. No contexto deste trabalho, classificamos estes sistemas em dois segmentos: os sistemas de integração de dados, tais como: Sistemas de Banco de Dados Federados, Bancos de Dados com Esquema Global e Data Warehouses; sistemas de integração de dados na Web; e os sistemas de integração baseados em ontologias, que enfatizam aspectos prioritariamente ligados à semântica dos dados para a resolução de conflitos durante o processo de integração dos dados. Neste capítulo são abordados os conceitos importantes sobre interoperabilidade necessários para o desenvolvimento do trabalho descrito ao longo desta dissertação. A seção 2.1 destaca o uso de ontologias na Web, cuja importância tornou-se relevante com o surgimento da Web Semântica. A seção 2.2 é dedicada às ontologias, com ênfase nas tecnologias para representação e gerenciamento das mesmas. A seção 2.3 discute sistemas de integração que envolvem ontologias, cujo tema torna-se pertinente devido principalmente ao avanço da Web e à proliferação de documentos sem estrutura ou semiestruturados nestes ambientes. A seção 2.4 enfoca a questão da interoperabilidade entre ontologias, descrevendo os mecanismos eficientes capazes de suportar os diversos níveis de interoperabilidade. A seção 2.5 apresenta o mecanismo de cálculo de similaridades entre ontologias, indicando se entidades das ontologias fontes e alvos estabelecem relações semânticas entre si. A seção 2.6 descreve algumas tecnologias utilizadas para calcular a 25

27 similaridades entre as entidades das ontologias. A seção 2.7 descreve abordagens para a interoperabilidade entre ontologias tais como: alinhamento, mapeamento, combinação e integração entre ontologias. A seção 2.8 apresenta os mecanismos de interoperabilidade entre ontologias, descrevendo as principais tecnologias desenvolvidas com esse objetivo e para fechar o capítulo, são apresentadas algumas considerações finais. 2.1 INTEROPERABILIDADE NA WEB Devido aos grandes avanços tecnológicos alcançados no domínio de BDs, torna-se natural inferir que a comunidade de BDs vem podendo contribuir enormemente para a solução de interoperabilidade em ambientes ubíquos e de complexidade bem maior, como é o caso da Web. Entretanto, é importante destacar que no escopo da Web, a tarefa de integrar dados tem alcançado um nível de complexidade bem maior, visto que a própria estrutura da Web possui esquemas heterogêneos, dados sem uma estrutura bem definida e ausência de metadados. Estas características por si só tornam necessário a utilização de mecanismos mais flexíveis e eficientes para prover, de forma integrada, a manipulação destas fontes heterogêneas e distribuídas. Assim, a partir da própria natureza da Web, onde as informações são distribuídas em páginas interligadas no lugar de tabelas ou objetos, com um esquema claramente definido como em sistemas de bancos de dados, a comunidade de pesquisadores Web vislumbraram a possibilidade de organizar as informações de forma estruturada, de modo a possibilitar que máquinas processassem e integrassem recursos inteligentemente, permitindo principalmente a comunicação entre fontes de informações heterogêneas. A partir da linguagem de marcação XML que tornou-se o mecanismo mais utilizado na web como forma de prover interoperabilidade sintática aos recursos descritos na Web. Os documentos XML utilizam gramáticas que contém regras possibilitando especificar estruturas de dados denominadas DTD s ou XML schemas. Estes documentos representados em XML podem ser considerados dados semi-estruturados, pois permitem representar estruturas heterogêneas, irregulares e dinâmicas. Em função disto uma aplicação XML deve ser flexível o suficiente para suportar alternativas de representação de um determinado documento, de forma a possibilitar a integração entre eles. Todavia, vale observar que a integração de esquemas XML é um processo meramente sintático, isto é, não considera a semântica dos dados contidos nos documentos. Neste sentido, um conjunto de soluções propostas, vem sendo desenvolvido, não apenas com 26

28 o intuito de facilitar a integração de dados, mas de possibilitar buscas mais eficientes e rápidas na Web, além de permitir a dedução automática de conhecimento através de regras de inferência. Este conjunto de soluções vem sendo difundido como Web Semântica (BERNERS-LEE et al., 2001), considerado como uma extensão da Web atual descrita por Tim Bernees Lee, seu idealizador. A Web Semântica vem sendo considerada como um mecanismo para prover estrutura e significado na Web, permitindo sua evolução de uma rede de documentos para uma rede de informações, com um significado bem definido, podendo esta ser interpretada e processada por humanos e computadores (BERNERS-LEE, 1998), (BERNERS-LEE et al., 2001). Para tornar possível esta abordagem, é necessária a adoção de vários padrões que descrevam o contexto da informação de forma não ambígua. Dessa forma, ontologias vêm sendo utilizadas como forma de adicionar uma semântica maior às fontes de dados livres de ambigüidades e com um formalismo lógico passível de processamento automático, auxiliando assim nos problemas referentes às heterogeneidades (SUWANMANEE et al., 2005), (CUI e O BRIEN, 2000), (MENA et al., 1998), (BISHR, 1997). Neste contexto a próxima seção se dedicará à descrição da fundamentação teórica e das tecnologias que viabilizam a Web Semântica. 2.2 ONTOLOGIAS O termo Ontologia é originário da Filosofia, introduzido por Aristóteles (século III ac), na tentativa de responder algumas questões filosóficas. Entretanto, o termo Ontologia foi incorporado à Ciência da Computação, sendo definida por vários pesquisadores de forma diferenciada para descrever alguma área do conhecimento. (GRUBER, 1993) definiu ontologia como uma especificação explícita de uma conceitualização, sendo questionada por (GUARINO, 1998), que propôs uma definição de ontologia como uma teoria lógica para relacionar o significado intencional de um vocabulário formal, isto é, seu comprometimento com uma conceitualização particular do mundo. Segundo (SWARTOUT e TATE, 1999), Ontologia é definida como um conjunto de conceitos e termos que podem ser usados para descrever alguma área do conhecimento ou construir uma representação para o conhecimento. Ainda em (SWARTOUT et al., 1996) bases de conhecimento e ontologias são relacionadas, descrevendo assim ontologia como um conjunto estruturado de termos para a descrição de um domínio hábil a ser usado 27

29 como um esquema para uma base de conhecimento. Definições a parte, uma ontologia pode ser descrita conforme a especificação formal definida em (EHRIG e SURE, 2004) como: O := (C,HC,RC,HR,RI,I,A), onde uma ontologia O é uma tupla que consiste de: Conceitos C, que podem ser arranjados em uma hierarquia HC. As relações RC (ou propriedades) entre conceitos também podem ser arranjadas em uma hierarquia HR. Instância I de um conceito específico é interconectada por instâncias de propriedades RI. Adicionalmente, uma ontologia pode definir axiomas A, usados para inferir conhecimento. Dessa forma, uma ontologia é representada por um conjunto de termos hierarquicamente estruturados para descrever um domínio que pode ser usado como um esqueleto fundamental para uma base de conhecimento. Conceitos representam um conjunto ou classes de entidades; relações representam o tipo de interação entre os conceitos de um domínio; axiomas contêm regras, restrições de valores para classes ou instâncias; e instâncias são utilizadas para representar elementos específicos, ou seja, os próprios dados. Assim, ontologias podem ser usadas para: Explicitar significado aos objetos que nos rodeiam; Integrar recursos na Web permitindo a interoperabilidade semântica; Fornecer um entendimento comum dos conceitos para a comunicação entre agentes; Integrar esquemas relacionais de diferentes bases de dados. Existe um considerável número de linguagens de representação de ontologias baseadas em XML. Isto advém do fato desta ser considerada a linguagem padrão para a troca de dados na Web, sendo portanto, o veículo ideal para a representação de ontologias. Porém, esta linguagem por si só não é capaz de oferecer significado às estruturas dos dados. Por esse motivo foram desenvolvidas várias linguagens para suprir a falta de uma semântica mais expressiva, tais como: RDF/RDFS (RDF, 2004), DAML+OIL (DARPA Agent Markup Language) (CONNOLLY et al., 2001), e OWL (OWL, 2004) FERRAMENTAS PARA O GERENCIAMENTO DE ONTOLOGIAS Aliadas a essa gama de linguagens, existem também ferramentas para gerenciamento de ontologias. As principais funcionalidades dessas ferramentas são permitir a: criação, navegação, dedução, visualização, edição e integração de ontologias. A exemplo destas 28

30 ferramentas, podemos citar: Protégé (PROTEGE, 2007), Kaon (KAON, 2002), dentre várias outras (CORCHO et al., 2003) PROTÉGÉ O sistema Protégé é uma plataforma em software livre que provê um conjunto de ferramentas para a construção de modelos de domínio e aplicações baseadas em conhecimento, por meio de ontologias. Este foi desenvolvido em Java, garantindo assim a portabilidade entre vários sistemas pela Universidade de Standford (EU), pelo Departamento de Informática Médica da Escola de Medicina (SMI - Stanford Medical Informatics). Possui uma plataforma flexível e configurável para o desenvolvimento de aplicações e componentes dirigidas a modelos, podendo ser expandido através dos Plug-ins (PROTEGE, 2007).As ontologias no Protégé podem ser exportadas em vários formatos, incluindo RDF(S), OWL, e XML Schema. O Protégé possui uma API OWL que provê classes e métodos para carregar e salvar arquivos OWL, para consultar e manipular modelos de dados OWL, e para executar raciocínio baseado em Lógica Descritiva. A mesma pode ser usada diretamente por aplicações externas para acessar a base de conhecimento do Protégé. A API é designada para ser usada em dois contextos: desenvolvimento de componentes que são executados dentro do editor do Protégé-OWL; desenvolvimento de aplicações stand-alone (e.x., Servlets, Eclipse plug-ins). Uma ontologia Protégé consiste de: Classes: conceitos do domínio abordado, que constituem uma hierarquia taxonômica; Slots: descrevem propriedades de classes e instâncias; Facetas: descrevem propriedades de slots e permitem a especificação de restrições nos valores dos slots; Axiomas: especificam regras adicionais KAON (KARLSRUHE ONTOLOGY) Kaon é uma infra-estrutura de código aberto para o gerenciamento de ontologias. Este vem sendo desenvolvido desde 2001 em um esforço colaborativo de membros do Instituto 29

31 AIFB (Applied Informatics and Formal Description Methods) da Universidade Karlsruhe na Alemanha e membros do centro de pesquisa para tecnologias de informação FZI (Forschungszentrum Informatik) (GABEL et al., 2004). As ontologias Kaon consistem de conceitos, propriedades e instâncias agrupadas em unidades reusáveis chamadas OI- Models (Ontology-Instance models). A divisão entre conceitos e instâncias não são rígidos: Uma entidade pode ser interpretada como um conceito ou como uma instância, dependendo da visão do observador. Dessa forma, um conceito e instância com o mesmo URI podem coexistir no mesmo OI-Model. Estas instâncias são chamadas de instâncias estendidas do conceito, denominados de conceitos estendidos das instâncias; A instância é chamada de spanning instance do conceito; O conceito é chamado de spanning concepto de instância. Este possui também uma camada léxica que é constituída de informações léxicas sobre a ontologia, podendo ser explicitamente armazenadas e manipuladas dentro da própria ontologia. O Kaon consiste de diferentes módulos que promovem funcionalidades como: criação, armazenamento, recuperação, manutenção assim como a geração de aplicações baseadas em ontologias. Várias ferramentas são disponíveis para prover tais funcionalidades (GABEL et al., 2004): O KAON é composto por diversos componentes que serão descritos a seguir, com base na arquitetura apresentada na figura 2.1. Dentre os componentes, o KAON Frontend é representado por duas aplicações desenvolvidas para serem usadas por usuários humanos: - O WorkbenchKAON provê um ambiente gráfico para ontologias baseado em aplicações que incluem: O OI-Modeler é responsável pela criação e a manutenção de ontologias no modelo RDF/RDFS; Open Registry provê mecanismos para registrar e pesquisar ontologias no contexto distribuído. O Portal KAON é uma ferramenta simples para portais Web multi-linguagem baseados em ontologias gerando aplicação Web automaticamente. O mesmo é utilizado para 30

32 FIG. 2.1: Arquitetura KAON Fonte (GABEL et al., 2004) fornecer a visualização e a navegação através desta ontologia com descrições RDF automáticas para as páginas da aplicação. Este é baseado em Zope (plataforma OO de alto desempenho para construir aplicações Web dinamicamente). O núcleo do KAON inclui APIs e implementações para gerenciamento local e remoto de repositórios de ontologias: - API: uma interface abstrata para acessar vários tipos de ontologias independentemente de mecanismos de armazenagem é provido por API KAON e a API RDF. - Implementações: atualmente três diferentes implementações da API KAON e a API RDF são disponíveis: Servidor de Engenharia é um servidor de ontologia que utiliza um BD relacional para a persistência de ontologia; Servidor RDF pode ser usado para armazenar e acessar modelos RDF; APIonRDF é uma implementação na memória principal da API KAON na API RDF. 2.3 SISTEMAS DE INTEGRAÇÃO RELACIONADOS A ONTOLOGIAS Os sistemas de integração relacionados à ontologias enfatizam aspectos prioritariamente ligados à semântica dos dados para a resolução de conflitos durante o processo de 31

33 integração dos dados. Estes sistemas diferem dos anteriores, pelo fato de utilizarem ontologias para descreverem o domínio das informações a serem tratadas, assim como a estrutura e os conteúdos das fontes correspondentes, tornando-se peça indispensável para o compartilhamento de informações com a garantia de preservação da semântica dos dados. Existem três formas principais para explicitar o conteúdo semântico das fontes de dados através de ontologias, conforme mostrado na figura 2.2: ontologia única global, ontologias múltiplas locais e ontologia híbrida (WACHE et al., 2001). Em (LIVIA PREDOIU, 2005) também é feita uma classificação adicional com algumas soluções para a abordagem de integração de dados com a participação de ontologias, classificando-se em: tempo de execução e tempo de projeto. Na primeira abordagem a preocupação é com a maneira pela qual o usuário vê os dados no sistema durante a operação, ou seja, é centrada no usuário. E a segunda abordagem preocupa-se com a maneira com que os modelos das origens de dados são integrados. A seguir os autores adotam a mesma classificação para integração de dados considerada por (WACHE et al., 2001), descrita a seguir. FIG. 2.2: Formas de utilização de ontologias Fonte (WACHE et al., 2001) 32

34 2.3.1 SISTEMAS QUE UTILIZAM ONTOLOGIA ÚNICA GLOBAL Na abordagem de ontologia única as fontes de informação são relacionadas a uma única ontologia global, que possui o conjunto de termos a ser compartilhado por todas as fontes. Esta abordagem pode ser aplicada na integração de fontes de informação que compartilhem uma mesma visão de um domínio. Um sistema que adota esta abordagem para integração é o SIMS (ARENS et al., 1997). O modelo do domínio de aplicação do SIMS inclui uma hierarquia terminológica da base de conhecimento, onde cada fonte é relacionada com uma ontologia de domínio global (WACHE et al., 2001). Esta abordagem também é adotada pelo BUSTER (Bremen University Semantic Translator for Enhanced Retrivial), que é uma ferramenta inteligente de busca e recuperação de informações com mais semântica na Web. Ele é capaz de acessar fontes de informações heterogêneas e distribuídas, avaliando a relevância de seus conceitos espaciais e temporais e respeitando a informação requisitada. O BUSTER também pode ser usado para integrar informações heterogêneas através de resoluções de estrutura, sintática e semântica (VÖGELE et al., 2003). A abordagem de ontologia única pode ser aplicada a problemas de integração, onde todas as fontes de informações possuem uma visão de domínio aproximada. Esta abordagem é suscetível a mudanças nas fontes de informação, que podem afetar a conceitualização do domínio representado por uma ontologia SISTEMAS QUE UTILIZAM ONTOLOGIAS LOCAIS MÚLTIPLAS Na abordagem de múltiplas ontologias, cada fonte de informação é descrita por sua própria ontologia. Cada ontologia fonte pode ser desenvolvida sem levar em consideração outras fontes e suas respectivas ontologias locais, não sendo necessário uma ontologia global, mas a existência de algum mecanismo que forneça uma relação inter-ontologias. O OBSERVER (MENA et al., 1996) utiliza a abordagem de múltiplas ontologias, integrando várias fontes, cada uma com sua própria ontologia local. Entretanto, não se pode garantir que as diferentes ontologias fonte compartilhem o mesmo vocabulário. A vantagem desta abordagem pode ser sua desvantagem também, pois não existe um comprometimento ontológico mínimo e comum entre as ontologias, isto é, cada ontologia pode ser desenvolvida independentemente das outras (GRUBER, 1993). 33

35 2.3.3 SISTEMAS QUE UTILIZAM ONTOLOGIAS HÍBRIDAS Na abordagem de ontologias híbridas, de forma semelhante à abordagem de múltiplas ontologias, a semântica de cada fonte de dados é descrita por uma ontologia própria, mas para tornar as ontologias comparáveis umas com as outras, elas são construídas a partir de um vocabulário global compartilhado, que pode ser inclusive uma outra ontologia. Este vocabulário contém os termos básicos de um domínio, que são combinados nas ontologias locais de modo a descrever uma semântica mais complexa. Um exemplo desta abordagem é o COIN (GOH et al., 1999), que é um framework construído em um modelo de dados orientado a objetos dedutivos, onde os tipos de dados semânticos e suas propriedades são representados em uma ontologia. Os conflitos semânticos entre os sistemas heterogêneos não são identificados a priori, mas são detectados e reconciliados por um mediador de contexto, através da comparação dos axiomas de contextos correspondentes aos sistemas acoplados na troca de dados. A vantagem da abordagem híbrida é que novas fontes podem ser adicionadas facilmente, sem a necessidade de realizar a integração com cada uma das ontologias independentemente, mas com apenas uma ontologia. Este também suporta a aquisição e evolução de ontologias, onde o uso de um vocabulário torna as ontologias comparáveis. 2.4 INTEROPERABILIDADE DE ONTOLOGIAS Como foi dito anteriormente, no mundo da Web Semântica, as ontologias assumem um papel de extrema relevância, já que nesse ambiente, a semântica passa a ser o principal foco de processamento dos robôs e aplicações. Ontologias permitem disseminar o conhecimento entre domínios distintos e, tão importante quanto, possibilita uma forma de representação comum para a troca deste conhecimento, processado de forma automática através de sistemas de software. Porém, para que informações oriundas de ontologias diferentes sejam utilizadas, é necessário prever mecanismos eficientes, capazes de suportar os diversos níveis de interoperabilidade (FELICISSIMO, 2004). Nesse contexto, a heterogeneidade entre ontologias se caracteriza pelos chamados conflitos ou mismatches, que correspondem às diferenças entre os conceitos e definições das diversas ontologias, classificados segundo duas categorias: nível de linguagem, que se refere à camada sintática; e nível de ontologia, no que se refere à camada semântica (TUN, 2006), conforme descrita na tabela

36 TAB. 2.1: Conflitos entre ontologias Fonte (TUN, 2006) INTEROPERABILIDADE EM NÍVEL DE LINGUAGEM Ocorre quando ontologias escritas em linguagens distintas são combinadas, podendo ser subdivididas em 4 categorias: Sintaxe: diferentes linguagens de ontologias frequentemente possuem diferentes sintaxes. A classe Aluno, por exemplo, pode ser definida segundo linguagens distintas: o em RDF schema: rdfs:class ID = Aluno o em LOOM: (defconcept Aluno) Representação Lógica: se caracteriza por algumas diferenças na representação lógica. Por exemplo, para explicitar em algumas linguagens que duas classes são disjuntas utiliza-se (disjoint A B ) enquanto que em outras a negação é utilizada para explicitar esse mesmo fato; Construtores Semânticos: outra abordagem é a diferença entre os construtores semânticos de uma linguagem. Apesar do mesmo nome ser usado para uma construção em linguagens distintas, a semântica pode diferir. Por exemplo, existem diversas interpretações para A equal To B; Expressividade da linguagem: demonstra que duas linguagens são capazes de expressar coisas que não podem ser expressas em outras linguagens. Um bom exemplo para este fato são construtores de negação, presentes em algumas linguagens, e em outras não. 35

37 2.4.2 INTEROPERABILIDADE EM NÍVEL DE ONTOLOGIA Conflito em nível de ontologia domínios parcialmente sobrepostos são combinados. ontologias são escritas na mesma linguagem. dividido em duas categorias: Conceitualização e Explicação. acontece quando duas ou mais ontologias que descrevem Isto pode ocorrer quando as Conflito em nível de ontologia pode ser a) Conceitualização: este conflito está relacionado com a abrangência de um determinado domínio e a forma pela qual o mesmo é interpretado, podendo ser de dois tipos: Escopo: duas classes representam o mesmo conceito, mas não possuem as mesmas instâncias, embora possam ter uma interseção; Cobertura do modelo e granularidade: representa o grau de cobertura do domínio ou o nível de detalhe que esse domínio é modelado. Exemplo: Uma ontologia pode modelar Alunos mas não Professores. b) Explicação: este conflito está relacionado às diferenças no formato das ontologias, ou seja, de como a forma de conceitualização é especificada, estando associada ao estilo e terminologia de modelagem. 1) Conflitos terminológicos Termos sinônimos: conceitos são representados por diferentes nomes. Por exemplo, é comum o uso do termo Aluno em uma ontologia e Estudante em outra. Termos Homônimos: o significado do mesmo termo é diferente em contextos distintos. Exemplo: o termo condutor possui diferentes significados quando utilizados no domínio musical e no domínio de engenharia elétrica. 2) Estilo de Modelagem Paradigma: diferentes paradigmas podem ser usados para representar conceitos tais como tempo, ação, causalidade, atitudes proposicionais, etc. Por exemplo, um dos modelos pode usar representações temporais baseado em um intervalo lógico, enquanto outros podem usar uma representação baseada em pontos; 36

38 Descrição de conceitos: diversas escolhas podem ser feitas para a modelagem de conceitos nas ontologias. Por exemplo, uma distinção entre duas classes pode ser modelada usando um atributo qualificado ou introduzindo classes separadas. 3) Codificação: a instanciação de valores em uma ontologia pode ser representada em diferentes formatos. Por exemplo, a medida de distância em uma ontologia pode ser expressa em milhas, e em outra em quilômetros, ou ainda o formato da moeda em uma ontologia pode estar representada em dólares, e real em outra. 2.5 CÁLCULO DE SIMILARIDADES ENTRE ONTOLOGIAS O mecanismo de casamento ou matching é utilizado em muitos domínios de aplicação, tais como: Web Semântica, data warehouse, e-commerce, mediação de consulta, etc. Este mecanismo tem como entrada dois esquemas/ontologias, cada um consistindo de um conjunto de entidades, tais como tabelas, elementos XML, classes, propriedades, regras, predicados, devendo fornecer como saída um conjunto de medidas de similaridade entre estas entidades. No contexto do presente trabalho o termo casamento será aplicado no âmbito da Web, significando o mecanismo utilizado para calcular similaridades entre entidades das ontologias fonte e alvo. Este é considerado um processo importante e prévio de formalização das relações das entidades das ontologias, apoiando assim os mecanismos utilizados para efetuar a interoperabilidade entre ontologias. Dessa forma, nessa seção tratar-se-á de alguns aspectos dos conflitos, mencionados na seção 2.4.1, acrescidos de outros igualmente relevantes no processo de descoberta de similaridades entre ontologias: a) Conceitos e propriedades que possuem um mesmo significado, entretanto estão qualificados com nomes diferentes (conceitos sinônimos). Utiliza-se para isto um conhecimento adicional a partir de tesauros ou vocabulários controlados, a exemplo do wordnet 1 ; b) Conceitos e propriedades qualificados com o mesmo nome, mas com significados diferentes (conceitos homônimos). Para descobrir este tipo de conflito, é necessário utilizar informações de contexto dos conceitos, tais como:

39 Utilizam-se algoritmos que aplicam a estas estruturas propriedades tais como transitividade, cardinalidade, simetria; Verifica-se para cada conceito relacionado às propriedades do conceito em questão, se há equivalente na ontologia comparada; Verifica-se para cada conceito cuja propriedade leva ao conceito em questão, se há equivalente na ontologia comparada; Utilizam-se algoritmos que verificam os ancestrais e descendentes dos conceitos. c) Diferenças de grau e gênero, por exemplo: um termo no plural e outro no singular, um no feminino e outro no masculino, bem como diferentes tempos verbais; 2.6 TECNOLOGIAS PARA CALCULAR SIMILARIDADES ENTRE ONTOLOGIAS A descoberta de similaridade entre ontologias é uma tarefa árdua devido ao fato da existência de uma diversidade de conflitos, como mencionado em (TUN, 2006). Na literatura existe uma variedade de sistemas (DOAN et al., 2003), (KALFOGLOU e SCHORLEMMER, 2005), (KOTIS et al., 2006) com o propósito de encontrar similaridades entre entidades de ontologias. Estes fazem uso de recursos como dicionários controlados, tais como o WordNet; utilizam heurísticas relacionadas com seus conceitos e propriedades; e alguns utilizam técnicas que envolvem a estrutura das ontologias envolvidas no processo. Sistemas como o CMS (CROSI Mapping System) (KALFOGLOU e SCHORLEM- MER, 2005) capturam a semântica dos construtores OWL, possibilitando com sua arquitetura modular, consultar recursos externos lingüísticos (Wordnet) para apoiar no processo de cálculo de similaridades. O resultado dos valores das similaridades é compilado por múltiplos agregadores de similaridades, rodando em paralelo ou em ordem consecutiva. AUTOMS (Automated Ontology Mapping through Synthesis) (KOTIS et al., 2006) é uma ferramenta para o cálculo automático de similaridades entre entidades de ontologias, integrando métodos existentes na literatura. Para isto a ferramenta proposta explora o algoritmo de casamento semântico do HCONE-merge e o estende de diversos modos. O AUTOMS utiliza o algoritmo de casamento léxico COCLU, que faz uso do WordNet como conhecimento de apoio, bem como heurísticas de casamento que exploram características estruturais das ontologias fontes. Portanto, esta abordagem explora características léxicas, estruturais e semânticas de ontologias OWL. 38

40 GLUE é um sistema que emprega estratégia de aprendizagem múltipla para encontrar mapeamentos semânticos semi-automaticamente entre duas ontologias. Este sistema utiliza taxonomias que, segundo (DOAN et al., 2003), são componentes centrais de ontologias. Dadas duas taxonomias e suas instâncias associadas, são encontradas correspondências entre as taxonomias de duas ontologias: a partir de uma medida de similaridade pré-definida para cada conceito de uma taxonomia, o sistema encontra o nó mais similar na outra taxonomia. Esta estratégia de multi-aprendizagem utiliza um aprendiz para treinar as instâncias de modos diferentes. Este treinamento pode explorar as freqüências de palavras no texto, valor de instâncias, nome de instâncias, formato de valores, ou as características de distribuição de valores. 2.7 ABORDAGENS PARA INTEROPERABILIDADE ENTRE ONTOLOGIAS As abordagens que visam a interoperabilidade entre ontologias utilizam como passo inicial algum mecanismo de casamento, como os descritos na seção 2.6. Estas abordagens consistem dos diversos mecanismos propostos na literatura, apesar da falta de consenso entre os mesmos. Este trabalho apresenta quatro principais mecanismos, definidos e descritos mais detalhadamente a seguir: Mapeamento (NOY e MUSEN, 2000), (EHRIG e SURE, 2004), (CHOI et al., 2006); Alinhamento (FELICISSIMO, 2004), (CHOI et al., 2006); Fusão, Combinação ou (Merge) (NOY e MUSEN, 2002), (CHOI et al., 2006) e; Integração de Ontologias (PINTO e MARTINS, 2001), (CHOI et al., 2006), descritos a seguir: MAPEAMENTO Na literatura são encontradas diversas definições sobre o processo de mapeamento entre ontologias, tais como: Mapeamento é um conjunto de fórmulas que fornecem o relacionamento semântico entre os conceitos nos modelos (TUN, 2006); O processo de mapeamento estabelece correspondências entre as ontologias e determina o conjunto de conceitos sobrepostos, tais como: conceitos que são 39

41 FIG. 2.3: Mapeamento de Ontologias similares em significado mas possuem diferentes nomes ou estruturas; e conceitos que são únicos para cada ontologia (TUN, 2006); Mapeamento de Ontologia é o processo por meio do qual duas ontologias são semanticamente relacionadas no nível conceitual, e instâncias da ontologia fonte são transformadas em instâncias da ontologia alvo, de acordo com suas relações semânticas (MAEDCHE et al., 2002); Dadas duas ontologias A e B, o mapeamento entre as duas ontologias significa que para cada conceito na ontologia A é encontrado uma correspondência de conceitos com o mesmo, ou uma semântica similar na ontologia B e vice-versa (EHRIG e SURE, 2004); O mapeamento de ontologias refere-se à identificação de conceitos ou relacionamentos idênticos entre diferentes ontologias, especificando como se relacionam. As ontologias originais não se modificam, sendo inseridos axiomas adicionais para descrever o relacionamento entre os conceitos mapeados (KALFOGLOU e 40

42 SCHORLEMMER, 2005). Apesar das diversas definições acima, é importante destacar a característica fundamental desta abordagem, que é oferecer meios para a transferência de instâncias entre elas. Assim sendo, neste trabalho definimos mapeamento de ontologias como uma abordagem onde tem-se como resultado uma estrutura formal com expressões que ligam os termos de uma ontologia aos termos de uma outra ontologia. Esta estrutura formal pode ser usada para transferir instâncias de dados, para prover esquemas de integração e de combinação, e outras tarefas similares (FELICISSIMO, 2004). A Figura 2.3 ilustra um exemplo de mapeamento de ontologias, onde os conceitos Book da Ontologia1 e Book da Ontologia2 são mapeados através de expressões formais. É importante notar que o processo de mapeamento não modifica as ontologias envolvidas, porém produz como saída apenas um conjunto de correspondências entre elas ALINHAMENTO Na literatura são encontradas diversas definições sobre o processo de alinhamento entre ontologias, tais como: Entende-se por alinhamento ao processo em que diversas aplicações de sistemas abertos com suas diferentes ontologias terão que se submeter para garantir uma representação intermediária da informação e o compartilhamento entre elas. O resultado deste processo é um modelo persistente que estabelece a ligação entre as ontologias alinhadas, permitindo o compartilhamento e a reutilização de suas informações (FELICISSIMO, 2004); Alinhamento é o processo utilizado para tornar a ontologia fonte consistente e coerente com outras, sendo estas mantidas separadamente (TUN, 2006); Alinhamento é uma forma mais fraca de integração: requer mudanças mínimas, porém possui um suporte limitado para a interoperabilidade. É útil para classificação e recuperação de informação, entretanto não suporta profundas inferências (PINTO e MARTINS, 2001); O processo de alinhamento traz duas ou mais ontologias para um entendimento mútuo, tornando-as consistentes e coerentes (DIAS, 2006); 41

43 O alinhamento de ontologias (EHRIG e SURE, 2004) pode ser visto como um conjunto de mapeamentos de elementos e requer entendimento dos significados dos conceitos. As ontologias são mantidas separadas, mas pelo menos uma das originais é adaptada, de forma que a conceitualização e o vocabulário se emparelhem, sobrepondo partes das ontologias. O resultado desse processo é trazer as ontologias para um acordo mútuo. FIG. 2.4: Alinhamento de Ontologias Considerando todas as definições acima, é importante destacar que todas reúnem características encontradas na literatura, sendo uma das características fundamentais 42

44 desta abordagem a existência da ligação existente entre as entidades das ontologias e o fato das ontologias serem mantidas separadamente, permitindo o compartilhamento e a reutilização de suas informações. Dessa forma, neste trabalho definimos alinhamento como o processo de obter de duas ontologias um acordo mútuo, tornando-as consistentes e coerentes entre si, tendo-se como resultado as duas ontologias originais separadas, acrescidas de ligações entre seus termos equivalentes. Estas ligações permitem que as ontologias alinhadas reusem as informações umas das outras. Este processo pode requerer uma transformação das ontologias envolvidas, eliminando informações não necessárias. Em contraste com o processo de mapeamento, não há preocupação com a transferência de instâncias, apenas com a criação de uma relação entre entidades de ontologias. Já no caso da abordagem de mapeamento, além de existir esta relação, as instâncias podem ser transferidas de uma entidade para outra, entre ontologias de domínios semelhantes ou até mesmo complementares. O alinhamento é normalmente realizado quando as ontologias são de domínios complementares, porém com alguma sobreposição de conceitos. A Figura 2.4 ilustra um exemplo de alinhamento de ontologias, onde o conceito Artigo em Anais de O1 é alinhado ao conceito Artigo em Anais de O2 (FELICISSIMO, 2004). Observe, na figura 2.4, que quando dois conceitos são alinhados, as equivalências são adicionadas nas duas ontologias comparadas. Por exemplo, a informação de que o conceito alinhado Artigo em Anais da primeira ontologia, é equivalente ao conceito Artigo em Anais da segunda ontologia é adicionada em ambas as ontologias FUSÃO OU COMBINAÇÃO De forma semelhante aos demais processos, também podem ser encontradas na literatura algumas definições sobre o procedimento de combinação, dentre as quais podemos destacar: O objetivo no processo de combinação é criar uma ontologia única e coerente que inclua informações de todas as ontologias fontes (NOY e MUSEN, 2000); O processo de combinação entre ontologias utiliza como entrada duas ontologias combinando partes sobrepostas retornando uma ontologia combinada baseada nestas duas ontologias fonte e alvo (HITZLER et al., 2005). 43

45 Considerando as definições acima, é importante destacar que todas possuem o consenso de que o resultado final do processo é uma única ontologia. Dessa forma, neste trabalho definimos combinação como o processo de combinação de ontologias resulta na combinação das versões das ontologias originais em uma ontologia única, com todos seus termos juntos e sem a definição clara de suas origens. Pinto e Martins (PINTO e MARTINS, 2001) afirmam que, ao realizar a combinação, torna-se difícil identificar na ontologia resultante as regiões providas pelas diversas ontologias combinadas. Normalmente, as ontologias originais descrevem domínios similares ou de sobreposição (FELICISSIMO, 2004). A Figura 2.5 ilustra um exemplo de combinação de duas ontologias distintas com domínios similares em uma ontologia única, sem a definição clara de suas origens. FIG. 2.5: Combinação das ontologias 1 e INTEGRAÇÃO O termo integração de ontologias tem sido alvo de grandes controvérsias na literatura, devido a utilização indiscriminada do termo para expressar diferentes situações. Em (SOWA, 2005) integração é o processo de encontrar similaridades entre duas ontologias diferentes A e B, derivando uma nova ontologia C, facilitando assim a interoperabilidade 44

46 entre sistemas computacionais baseados nestas ontologias. A nova ontologia C pode ser substituída pelas ontologias A ou B. Já em (PINTO et al., 1999), o processo de integração é considerado segundo três perspectivas: (1) quando a construção da nova ontologia é caracterizada pelo reuso (pode ser decorrente de um processo de generalização, especialização ou readaptação de outras ontologias já existentes) de outras ontologias já disponíveis; (2) quando a construção de uma ontologia se dá pela combinação de diversas ontologias resultando em uma ontologia única (combinação); (3) quando uma aplicação usa uma ou mais ontologias. Nesse trabalho a abordagem que mais se adapta aos nossos objetivos corresponde à primeira abordagem considerada por (PINTO et al., 1999), na qual integração é vista como um processo de reuso, razão pela qual é considerada como um processo metodológico inserido num contexto de processo bem maior, que é a construção de ontologias. Segundo (PINTO e MARTINS, 2001), o processo de construção de ontologias é composto de diversos estágios, a saber: especificação, conceitualização, formalização, implementação e manutenção. Nesse artigo, seus autores propõem uma forma de acessorar as metodologias de desenvolvimento de ontologias com conceitos que, se respeitados durante todas as fases do desenvolvimento, e principalmente nas de projeto, possibilitam uma integração futura dos módulos de forma natural, dispensando muitas alterações. O objetivo desse processo é construir uma nova ontologia a partir de outras já existentes, onde os conceitos presentes nas outras ontologias podem ser refinados através de um nível maior de detalhamento (especializações) ou de generalizações, de forma a atender às especificidades e objetivos da ontologia proposta. O desenvolvimento de cada um dos módulos de construção de ontologias segue orientações iniciais de projeto, já prevendo uma integração futura. As ontologias módulos são unidas posteriormente, formando a ontologia integrada pretendida no início do projeto, ressaltando que não se perde a identidade da origem de cada conceito na ontologia resultante. A figura 2.6 apresenta um exemplo de integração de ontologias no domínio educacional, segundo essa visão metodológica. A Ontologia Inicial Educacional pretendida é constituída dos módulos de projeto: ontologia de congresso científico, ontologia de produção científica e ontologia de avaliação educacional, que por sua vez também são ontologias. O desenvolvimento de cada módulo deve ser realizado segundo as etapas descritas anteriormente, prevendo-se uma integração futura. Apesar dos processos de integração e combinação de ontologias serem muito similares, 45

47 FIG. 2.6: Processo de integração de ontologias estes podem ser diferenciados pela análise da ontologia resultante. Na integração é possível identificar os limites e conceitos pertencentes às ontologias que lhes deram origem, com a definição clara de suas origens. Já na combinação isso não é possível. Vale ainda ressaltar que a tarefa de juntar ontologias se torna mais simples na integração, conforme explorado em Pinto e Martins (PINTO e MARTINS, 2001), já que os módulos foram projetados para tal, o que não ocorre na combinação. Por outro lado, percebe-se que, ao se construir uma nova ontologia a partir de duas outras ou mais, com partes sobrepostas, verifica-se claramente um processo de combinação entre ontologias, ao passo que, ao se modificar, generalizar e especializar conceitos em ontologias fontes, fica notadamente configurado um processo de integração de ontologias CONSIDERAÇÕES SOBRE PROCESSOS DE INTEROPERABILIDADE As abordagens de interoperabilidade apresentadas são caracterizadas pela seguinte seqüência de graus de comprometimento: alinhamento < mapeamento < integração < combinação. Justifica-se esta seqüência, pelo fato do alinhamento apenas estabelecer correspondências entre entidades de ontologias, configurado aqui como o grau mínimo 46

48 de relacionamento. Já no mapeamento existe o comprometimento do processo de transferências de instâncias de entidades da ontologia fonte para a ontologia alvo. A integração é caracterizada pela geração de uma nova ontologia, embora mantenha a referência às ontologias originais. E, finalmente, a combinação gera uma nova ontologia livre de vínculo com as ontologias originais. 2.8 TECNOLOGIAS PARA PROVER INTEROPERABILIDADE ENTRE ONTOLO- GIAS Diversas tecnologias foram desenvolvidas para apoiar as diferentes abordagens de interoperabilidade entre ontologias. De forma a complementar esse capítulo e a título de exemplo, descreveremos a seguir algumas dessas tecnologias através de algumas ferramentas citadas na literatura. Uma revisão mais abrangente dessas ferramentas pode ser encontrada em (LACHTIM et al., ISSN: ). Vale observar que, na literatura, diversas ferramentas são descritas com o propósito de realizar a interoperabilidade entre ontologias segundo uma determinada abordagem (mapeamento, alinhamento, combinação e integração). Porém, devido a falta de consenso nos termos usados para definir cada abordagem, foi preciso investigar cada ferramenta para verificar qual das abordagens (definidas neste trabalho) realmente atendem MAFRA A ferramenta MAFRA (MApping FRAmework for distributed ontologies) (MAEDCHE et al., 2002), desenvolvida como um projeto de tese de doutorado da Universidade de Trásos-Montes e Alto Douro Vila Real é um framework construído para apoio ao mapeamento de ontologias distribuídas na Web Semântica. Esta ferramenta detecta automaticamente similaridades entre entidades de duas ontologias distintas, realizando o mapeamento entre elas e transformando instâncias da ontologia fonte em instâncias da ontologia alvo. Na arquitetura do MAFRA, visualizada na figura 2.7, são identificados cinco módulos horizontais e quatro componentes verticais. O módulo horizontal prevê a normalização das ontologias em uma representação uniforme, eliminando diferenças de sintaxe e tornando as diferenças semânticas mais aparentes. Este utiliza as similaridades encontradas entre as entidades das ontologias, estabelecendo correspondências entre entidades da ontologia fonte e alvo, denominadas 47

49 pontes semânticas. Posteriormente, transforma as instâncias de uma ontologia fonte para instâncias de uma ontologia alvo, de acordo com as informações contidas nas pontes semânticas. A dimensão vertical do MAFRA contêm módulos que interagem com os módulos horizontais durante todo o processo de mapeamento, e têm como objetivo: realizar estratégias de sincronização de mudanças para permitir a evolução de ontologias; estabelecer consenso de construção das pontes semânticas entre duas comunidades que participam do processo de mapeamento; utilizar um conhecimento adicional através de glossários e tesauros para ajudar a identificar sinônimos, tais como o WordNet; e por fim prover uma inteface gráfica para interagir com usuários. FIG. 2.7: Arquitetura Mafra Fonte (MAEDCHE et al., 2002) CATO A ferramenta CATO (Componente para Alinhamento Taxonômico de Ontologias), desenvolvida pela PUC-RJ, é uma ferramenta para alinhamento automático entre as taxonomias das ontologias fonte e alvo (FELICISSIMO, 2004). O alinhamento realizado é dividido em três etapas: a primeira etapa compara lexicamente os conceitos das ontologias de entrada e usa um mecanismo de poda estrutural dos conceitos associados como condição de parada; a segunda etapa compara estruturalmente as hierarquias das ontologias, identificando as similaridades entre suas sub-árvores comuns; a terceira etapa refina os resultados da etapa anterior, classificando os conceitos identificados como: similares, bem 48

50 similares ou pouco similares, de acordo com um percentual de similaridade predefinido. A figura 2.8 permite visualizar o processo descrito acima. FIG. 2.8: Processo de cálculo de similaridade do Cato Fonte (FELICISSIMO, 2004) PROMPT O PROMPT (NOY e MUSEN, 2000) é um plugin da ferramenta de gerenciamento de ontologias PROTÉGÉ (PROTEGE, 2007), em constante evolução e desenvolvido pela Universidade de Stanford. A ferramenta PROMPT é considerada a tecnologia mais abrangente, capaz de realizar a interoperabilidade de ontologias segundo as abordagens de alinhamento e combinação tendo, mais recentemente, evoluído para atender a abordagem de mapeamento (S. M. FALCONER, 2006), (LACHTIM et al., ISSN: ). No entanto, será descrita aqui de forma sucinta, ilustrando apenas a abordagem de combinação. No processo de combinação entre ontologias o sistema recebe como entrada duas ontologias e o processo se inicia com o casamento de similaridade lingüística entre entidades das ontologias fonte e alvo em uma comparação inicial, gerando uma lista de sugestões para o usuário. A partir do conhecimento que se tem sobre as duas ontologias, é 49

51 possível criar, editar, remover e executar as sugestões da lista. À medida que as mudanças são realizadas, o Prompt realiza novas análises, sugerindo novas operações. O ciclo se repete até que todos os conceitos e propriedades sejam analisados e os conflitos eliminados, tal como ilustra a figura 2.9. FIG. 2.9: Processo de cálculo de similaridades do PROMPT Fonte (NOY e MUSEN, 2000) SERVIDOR ONTOLINGUA São poucas as ferramentas na literatura que apóiam a abordagem de integração de ontologias de acordo com a perspectiva adotada em nosso trabalho (PINTO e MARTINS, 2001). Como ferramenta de destaque para esta abordagem tem-se o sistema Ontolingua, mantido pelo Knowledge Systems Laboratory da Universidade de Stanford, que além de apoiar no gerenciamento de ontologias como algumas ferramentas já abordadas, ainda possui algumas particularidades que propiciam a reutilização de ontologias para a composição de uma ontologia final integrada. O servidor Ontolingua (FARQUHAR et al., 1997) possui um conjunto de ferramentas e serviços que disponibilizam uma interface de acesso (navegadores) permitindo a criação, visualização e edição de ontologias. Este sistema se caracteriza como um ambiente de apoio para auxiliar no processo de construção colaborativa de ontologias, possuindo particularidades que propiciam a integração de ontologias. A característica importante dessa ferramenta está na possibilidade de reutilizar 50

52 ontologias para a composição de uma ontologia final integrada a partir de seus módulos, isto é, de ontologias menores. Para permitir o reuso de ontologias disponíveis na biblioteca do Ontolingua, um conjunto de operações de integração foram identificadas, a exemplo da operação de inclusão, que é usada quando uma ontologia disponível na biblioteca do Ontolingua é utilizada na criação da ontologia que está sendo construída pelo usuário. 2.9 CONSIDERAÇÕES FINAIS Este capítulo apresentou um estudo sobre o problema de interoperabilidade de dados, evoluindo de um ambiente tradicional de BDs até os ambientes que se valem de ontologias. Como o foco deste trabalho é voltado para o ambiente Web e ontologias para interoperabilidade, a apresentação de tecnologias voltadas para a representação e manipulação de ontologias recebeu maior destaque. Neste capítulo, foi apresentado o conceito de casamento para calcular similaridades entre ontologias e algumas tecnologias desenvolvidas para realizar este tratamento. Dentre as tecnologias apresentadas, destaca-se o CMS que explora características morfológicas, léxicas e estruturais de ontologias OWL. Outro destaque é o AUTOMS que além de explorar características morfológicas, léxicas e estruturais, utiliza também o Wordnet para facilitar o casamento de termos sinônimos. Por fim, foi apresentado o sistema Glue, que explora as freqüências das palavras no contexto textual das instâncias para fazer predições, aplicando ainda análise estatística para avaliar os dados que são computados segundo uma distribuição probabilística. Foram apresentadas também as abordagens encontradas na literatura para a interoperabilidade entre ontologias: mapeamento, alinhamento, combinação e integração. Foi possível constatar que na literatura não existe um consenso sobre os conceitos e terminologia envolvendo estas abordagens, sendo algumas delas ainda tratadas como sinônimas. Assim sendo, para evitar confusões, neste trabalho procurou-se levantar as diferentes definições (seção 2.7) e adotar uma delas ao longo do mesmo. Adicionalmente, foram apresentadas algumas tecnologias de interoperabilidade, ficando claro que ainda não existe uma tecnologia madura que forneça um processamento completo e automatizado para todos os processos. Além disso, pouquíssimas ferramentas foram encontradas na literatura para apoiar o processo de integração de ontologias. Resumindo, é possível afirmar que, no tocante a técnicas e ferramentas de interoperabilidade entre ontologias, a literatura ainda apresenta um quadro bem incipiente 51

53 e pouco consensual em relação à terminologia e conceitos aí envolvidos, motivados talvez pela não cristalização dos mesmos e pela amplitude da problemática dos conflitos existentes no processo. O próximo capítulo é dedicado aos portais semânticos, que surgem como uma evolução dos portais Web tradicionais para viabilizar a coleta de informações relevantes para uma determinada comunidade de interesse, tendo como base toda a estrutura e padrões da Web Semântica. Uma característica importante de um portal semântico é que este se utilize de mecanismos de interoperabilidade entre ontologias como meio de instanciar, agregar e deduzir novas informações no portal. 52

54 3 PORTAIS SEMÂNTICOS Devido ao crescimento exponencial de informações disponibilizadas pelas organizações em suas páginas Web, grande tem sido o esforço despendido pelas mesmas no gerenciamento dessas informações de um modo mais eficaz, de forma a permitir o seu compartilhamento e o reuso, em especial quando envolvem conhecimentos de domínios distintos. Além disso, este gerenciamento torna-se ainda mais difícil devido a formatos distintos de representação do conhecimento, e inconsistências semânticas entre os diversos recursos tratados. Desse modo, conforme já abordado no capítulo anterior, as ontologias assumem um papel relevante em um contexto heterogêneo, possibilitando uma forma de representação comum para a troca deste conhecimento, processado de forma automática através de sistemas de software. Neste contexto, surgem os portais semânticos, considerados na literatura como uma evolução dos portais convencionais, e que constituem o tema principal do presente capítulo, tratado aqui da seguinte forma: primeiramente é realizada uma descrição dos portais Web, classificados quanto ao seu contexto e funcionalidades; em seguida é apresentado um conjunto de funcionalidades técnicas, operacionais e de infraestrutura utilizadas como mecanismos para a avaliação de Portais Semânticos. Essas funcionalidades serão utilizadas ao longo da análise de alguns geradores de portais e suas instâncias (que são de fato os próprios portais semânticos), como forma de comparar as potencialidades dessas diversas tecnologias. 3.1 PORTAIS Segundo Botto (BOTTO, 2004), portal é um site com um grupo de propósitos, algumas vezes correlacionados, e outras vezes de objetivos genéricos, mas com ampla oferta de recursos ou serviços, disponibilizados através de um único ponto de entrada para seus usuários. Como enfatizado em (TOLEDO, 2002), portal é um site Web que coleta informações para um grupo de usuários que possuem interesses em comum, sendo este um ponto de entrada para a localização de conteúdos de interesse de uma comunidade. Contudo, inicialmente os portais tinham outra conotação, onde o termo portal era conhecido como um mecanismo de busca, cuja finalidade era facilitar o acesso 53

55 às informações contidas em vários documentos dispersos pela Internet. Utilizando recursos de pesquisas booleanas e navegação associativa entre links, os mecanismos de busca auxiliavam os usuários a localizar documentos na Internet. Com relação ao contexto de utilização dos portais, estes podem ser classificados (TOLEDO, 2002) como públicos e corporativos: Portal público: ttambém conhecido como portal Web, portal internet ou portal de consumidores, provê ao usuário uma única interface à imensa rede de servidores que compõem a internet. Sua função é atrair o público que utiliza a internet em geral, estabelecendo um relacionamento com seus visitantes e tornando-se uma mídia adicional para o marketing de produtos; Portal corporativo: pode ser considerado como uma evolução das intranets, incorporando novas tecnologias que possibilitem identificação, captura, armazenamento, recuperação e distribuição de grandes quantidades de informações de múltiplas fontes internas e externas para as pessoas e equipes de uma organização. Já com relação às suas funcionalidades os portais podem ser classificados em: portais com ênfase em suporte à decisão; portais com ênfase em processamento colaborativo; e portais de suporte à decisão e processamento colaborativo. Portais com ênfase em suporte à decisão: auxiliam executivos, gerentes e analistas a acessar as informações corporativas para a tomada de decisões; Portais com ênfase em processamento colaborativo: lidam com informações tanto da cadeia produtiva tradicional, armazenadas e manipuladas por aplicativos corporativos, quanto com informações geradas por pessoas ou grupos fora dessa cadeia; Portais de suporte à decisão e processamento colaborativo: sendo os mais abrangentes, conectam os usuários a todas as informações e pessoas necessárias para a realização de seus negócios. São consolidados, em um mesmo ambiente, aplicativos de gerenciamento de conteúdo, processamento de decisões, groupware, workflow, correio eletrônico, business intelligence, sistemas especialistas, etc. Observamos, entretanto, que as tecnologias utilizadas atualmente no desenvolvimento destes portais ainda não apresentam um mecanismo de busca e navegação de informações 54

56 mais efetivos do ponto de vista do usuário, devido principalmente à inexistência de uma clara separação entre conteúdo e apresentação, e a não exploração de aspectos semânticos das informações, causando pesquisas imprecisas através de palavras-chaves e recuperação de informações irrelevantes. Além disso, no que se refere à manutenção e gerenciamento dos portais, existem várias limitações, tais como: alto custo de manutenção; limitação no reuso da informação; e dificuldades de adicionar novos tipos de informações. Nos últimos anos, observou-se um enorme progresso na gestão semântica de fontes de informações heterogêneas. A peça central deste progresso é uma nova geração de ferramentas e técnicas de gestão de conhecimento, baseada principalmente na Web Semântica. Estas tecnologias podem transformar simples portais da Web em aprimorados portais semânticos (PS), facilitando consideravelmente a recuperação, compartilhamento e organização de informações, dentre outros. 3.2 PORTAIS SEMÂNTICOS Os Portais Semânticos surgiram como uma evolução natural dos portais tradicionais, onde a tecnologia da WS é empregada para melhorar o processamento, a busca, a organização, o compartilhamento e a inferência de informações, solucionando muitos dos problemas encontrados nos portais Web convencionais. O desenvolvimento dos Portais Semânticos está centrado no uso intensivo de ontologias, com o objetivo de permitir o compartilhamento e o entendimento comum de um domínio entre pessoas e sistemas de aplicação, além de viabilizar estrutura e significado semântico aos documentos acessados pelo portal, armazenando-os em seus repositórios ou na Web (PINHEIRO, 2004). Enquanto os portais Web atuais são baseados em padrões da tecnologia Web tradicionais tais como HTML, XML, sevlets, JSPs, etc, os portais semânticos, além deste ferramental, utilizam-se de linguagens ontológicas tais como RDF, RDF schema e OWL (CORCHO et al., 2003), que facilitam a atualização dos seus conteúdos, e possibilitam buscas mais eficientes. Isto é possível pelo fato da ontologia se beneficiar de uma terminologia adequada para descrever conteúdos e axiomas formais usados na criação de novas relações, e para restringir suas interpretações segundo um sentido pretendido (NOY e HAFNER, 1997). Por exemplo, considere uma ontologia de origem acadêmica, contendo termos universidade, publicação, pessoa e autor, e um conjunto de axiomas com declarações do tipo: todos os artigos são publicações ou os autores das publicações são pessoas. A partir destas declarações, será possível inferir 55

57 novos fatos, como por exemplo, que publicações foram realizadas por um determinado autor, que ajudarão na recuperação de resultados de buscas dos portais, até então inviáveis de serem obtidos nos sistemas de recuperação convencionais (LAUSEN et al., 2005). Com o objetivo de reduzir o tempo de busca às informações relevantes na Web e ajudar usuários inexperientes, alguns sites de busca passaram a utilizar o conceito de categorias, agrupando sites e documentos em grupos pré-definidos, de acordo com seu conteúdo. Site de Navegação passou a ser a expressão utilizada para descrever os sites (Excite, Infoseek, Yahoo!, Lycos, entre outros) que passaram a disponibilizar essas novas funcionalidades. Entretanto, estes sites utilizam classificações de faceta única, que são inerentemente mais rígidas e de difícil manutenção. Nesse contexto, surgiu o conceito de multi-faceta. A idéia de classificação multi-facetada foi proposta em 1967 por S.R. Ranganathan (RANGANATHAN e GOPINATH, 1967). Ao longo das décadas de 1980 e 1990, a idéia da busca multi-facetada foi empregada pela comunidade de pesquisa em recuperação de informação e encontrada sob várias formas na Web. A partir daí foi integrada à idéia de busca facetada semântica, onde facetas são baseadas em estruturas ontológicas dotadas de capacidade de raciocínio (MÄKELÄ et al., 2005). Existem alguns trabalhos que utilizam a classificação multi-facetada, justificando sua utilidade, tais como a apresentada em (SUOMINEN et al., 2007). Nesse artigo, os autores utilizam o método card sorting para determinar uma maior usabilidade na construção de facetas para um portal. Este método é utilizado para projetar visões intuitivas aos usuários finais, e um método para mapear estas facetas em ontologias indexadas. Nesse método, a participação do usuário é crucial para organizar termos em categorias pré-determinadas ou não, utilizando seu mapa mental para determinar a organização dos termos nestas hierarquias. Já Sidoroff em (SIDOROFF e HYVONEN, 2005), apresenta um estudo de caso visualizando a busca semântica e técnicas que podem ser aplicadas para resolver os problemas de descoberta e agregação de informações em portais governamentais. Este trabalho visa melhorar a descoberta de conteúdo através da abordagem de busca multifacetada baseada em ontologias, utilizando a recomendação de links para apresentar informações relevantes. Além de fornecer ao usuário uma visão geral do tipo de informação que existe no repositório e guiar o usuário na formulação de consultas em termos de conceitos 56

58 apropriados, as facetas permitem ainda combinar um ou mais valores na navegação. Assim, é possível, por exemplo, obter todas as universidades (faceta universidade) que possuem avaliação da Capes igual a 5 (faceta avaliação) e que possuem área de pesquisa em banco de dados (faceta área de pesquisa). Entretanto, apesar dessas vantagens, a dificuldade de construção do esquema de multi-facetas deve ser levada em consideração, já que no mundo real usuários possuem diferentes visões do mesmo domínio. Para diminuir esta diferença (SUOMINEN et al., 2007) combinam a visão do usuário final com revisões dos profissionais da área de domínio. Na abordagem multi-facetada, o usuário seleciona uma categoria c1 em uma faceta f1. A partir daí o sistema restringe a pesquisa, deixando no resultado apenas os objetos que são anotados na faceta f1. Quando uma seleção adicional da categoria c2 de outra faceta f2 é realizada, o resultado da seleção corresponde à interseção dos itens de informação das categorias selecionadas, ou seja, c1 c2. Dessa forma, o uso de multi-facetas é importante pelo fato de permitir a apresentação de resultados de uma consulta a partir da interseção de várias categorias. Além disso, as multi-facetas fornecem ao usuário uma visão geral do tipo de informação existente em um repositório, podendo guiar o usuário na (re)formulação de consultas, utilizando termos e conceitos apropriados. 3.3 PORTAIS TRADICIONAIS X PORTAIS SEMÂNTICOS Na tabela 3.1 a seguir são visualizadas algumas das principais diferenças entre os portais tradicionais e os portais semânticos, levando-se em consideração que nem todos os portais semânticos encontrados na literatura preenchem necessariamente todos esses requisitos: TAB. 3.1: Comparação dos portais Web atuais com os portais semânticos - adaptado de (REYNOLDS et al., 2004) Características Portais Tradicionais Portais Semânticos Busca Baseados em texto livre Baseados em ontologias Navegação Hierarquia fixa de classificação Multidimensional com facetas Atualização Adição de informações e anotações Adição de novas classificações Gerencia de conteúdo Gerenciamento central Gerenciamento descentralizado Processamento/acesso Processamento manual para acesso humano Processamento automatizado para acesso de agentes Publicação Manual e/ou via formulários específicos Automática - visão integrada de ontologias As buscas utilizadas em um portal tradicional normalmente são baseadas em palavraschave em texto livre e, adicionando o fato dos documentos e páginas não serem descritos adequadamente e os usuários não contextualizarem sua busca, fornecendo 57

59 geralmente termos insuficientes para qualificar exatamente o que estão procurando, acaba resultando numa grande quantidade de documentos irrelevantes. Já no cenário dos portais semânticos, as buscas são realizadas com base em ontologias que incluem termos sinônimos e homônimos dos conceitos, melhorando os resultados obtidos. Outra questão a ser considerada, é a forma de estruturação da informação no portal, que tende a considerar um determinado conteúdo sob um único aspecto, obrigando todos os usuários a ter uma visão similar sobre um tema. A maioria dos portais tradicionais possuem uma única hierarquia de classificação usada na navegação. Já os portais semânticos sugerem a agregação das informações em uma estrutura multidimensional através das multi-facetas, conforme já mencionado anteriormente. Em portais tradicionais os usuários podem adicionar informações e anotações dentro da estrutura definida no portal, tais como comentários e avaliações, enquanto que os portais semânticos permitem uma customização mais extensiva, por meio de uma abordagem descentralizada, onde comunidades de usuários podem desenvolver estruturas de navegação como um conjunto externo de anotações RDF. Assim, o site central pode agregar ao portal os enriquecimentos providos pelas comunidades. Nos portais tradicionais as informações são organizadas em registros estruturados, encorajando um projeto top-down e manutenção centralizada. Já nos portais semânticos as informações são semi-estruturadas e extensíveis, permitindo a evolução bottom-up e alterações descentralizadas. Outra vantagem dos portais semânticos é o fato das ontologias propiciarem o processamento das informações pela máquina. Ontologias permitem a representação do conhecimento de maneira que este possa ser compartilhado, tornando possível a comunicação entre agentes de software, auxiliando as pessoas nos processos de buscar, extrair, interpretar e processar a informação (LAUSEN et al., 2005). Já os portais tradicionais deixam estas atividades a mercê do usuário. Em relação ao processo de instanciação de conteúdos, esse é feito manualmente ou a partir de formulários específicos gerados pelo próprio portal nos portais tradicionais de acordo com o esquema único de classificação, enquanto nos portais semânticos uso de ontologias propicia a interoperabilidade de ontologias e conseqüentemente a extração dinâmica de conteúdos para alimentar o portal. 58

60 3.4 ESQUEMA DE AVALIAÇÃO DOS PORTAIS SEMÂNTICOS Embora a literatura aponte um esquema de avaliação voltado para a análise de portais semânticos (PS) (LAUSEN et al., 2005), este esquema foi adaptado no contexto dessa dissertação com o objetivo de possibilitar a análise não somente destes portais, mas também dos sistemas que o geraram. Estas características são divididas em três camadas: Informação de Acesso, Processamento de Informações e Tecnologias. FIG. 3.1: Adaptação do Esquema de Avaliação dos Portais Semânticos (LAUSEN et al., 2005) a) Camada de Tecnologias Esta camada de avaliação consiste em descrever as tecnologias e metodologias associadas aos sistemas no desenvolvimento dos portais semânticos. Tecnologias de Sistema Esta característica analisa quais tecnologias foram utilizadas para o desenvolvimento de um portal e está associada especificamente aos sistemas geradores de portais semânticos. Linguagem de desenvolvimento: indica a linguagem utilizada na construção da ferramenta; Licença de uso: indica se há necessidade de aquisição de licenças para utilização da ferramenta ou se esta pode ser utilizada gratuitamente; 59

61 Armazenamento de dados: esta compreende aspectos de armazenamento (banco de dados, repositório de RDF, etc.), transferência e indexação de dados nos portais semânticos; Tecnologia de segurança: esta característica descreve as tecnologias de segurança utilizadas, como por exemplo, senha de proteção para as áreas privadas do portal. Sistema de manutenção e administração: esta descreve as tecnologias e políticas utilizadas para a administração e manutenção dos portais; Tecnologias da Web Semântica Esta característica descreve quais tecnologias da WS foram utilizadas para o desenvolvimento direto ou indireto do portal e está associada aos sistemas geradores de portais semânticos. Ontologias: componente central dos portais semânticos, são utilizadas para descrever alguma área do conhecimento ou construir uma representação para um dado domínio. Nesse item estão implícitos mecanismos para permitir a construção de ontologias de domínios para suportar diferentes aplicações; Inferência e raciocínio: dependendo dos formalismos da ontologia, diferentes mecanismos podem ser usados para aumentar a usabilidade do sistema. Por exemplo, uma máquina de inferência poderia interpretar relacionamentos transitivos ou simétricos; Web Services: esta indica se o PS utiliza uma solução para a integração de sistemas, ou seja, se o PS interage com outras aplicações por meio de serviços Web; b) Processamento da Informação Esta camada identifica como os portais semânticos lidam com os estágios do ciclo de vida relacionados aos itens de informação das ontologias: criação, publicação, organização, acesso e manutenção. Criação: esta característica analisa o mecanismo de instanciação de informações adotado nos PS. Este pode ser realizado através de: informações 60

62 adicionadas pelo usuário através de formulários oferecidos pelos PS, cujos valores representam as instâncias dos conceitos de uma ontologia de domínio; informações podem ser recolhidas através de robôs e instanciadas na ontologia do PS, dentre outros; Publicação: esta característica analisa o mecanismo de publicação de informações adotado nos PS, ou seja, define o processo de tornar as informações públicas ou acessíveis aos usuários; Organização: esta característica avalia como os portais organizam a informação, de maneira a facilitar a navegação por parte dos usuários. Por exemplo, se o portal possui uma estrutura de navegação fixa e sem mudanças, baseada em um único esquema de classificação, ou se o portal possui esquemas mais intuitivos e flexíveis para a navegação como exemplo, a estruturação multifacetada; Acesso: esta característica analisa o aspecto do acesso, ou seja, como a busca de informações pode ser realizada pelo site. Para avaliar a capacidade de busca do PS são distinguidos três tipos de busca: 1. Busca por palavras chaves; 2. Busca e navegação com base em ontologias; 3. Busca com poder de inferência. Manutenção dos itens de informação: para garantir a usabilidade duradoura de um PS, é necessário que o portal ofereça mecanismos que facilitem a modificação dos itens de informação ali presentes com o menor esforço possível, garantindo uma evolução eficiente. c) Acesso à Informação Esta camada descreve as características relacionadas à disponibilização de documentação ou qualquer ajuda que colabore para a manipulação dos sistemas geradores de portais e dos portais semânticos propriamente ditos. Ajuda e documentação: embora seja melhor que o portal possa ser usado sem documentação, um PS não pode prescindir deste item. Esta documentação deveria ser focada nas tarefas dos usuários e possuírem listas concretas dos passos necessários ao uso do portal. Um mapa do site pode ajudar a compreender a funcionalidade e estrutura do portal. 61

63 3.5 DESCRIÇÃO E AVALIAÇÃO DAS TECNOLOGIAS DE PS Esta seção descreve e analisa os geradores e portais semânticos, tendo como base as características do esquema de avaliação apresentada na seção anterior. Os geradores provêm a infra-estrutura necessária ao desenvolvimento de portais semânticos, estruturando seus itens de informações com base em ontologias e oferecendo serviços importantes, tais como: busca semântica, recomendação de links, customização, inferência, esquemas de exportação em diferentes representações ontológicas, etc. Como exemplo destes geradores de PS têm-se: Ontoviews, o gerador de portais do Kaon, ODESeW, Sistema SWED e Sistema OntoWeb, apresentados a seguir: GERADOR ONTOVIEWS Ontoviews (MÄKELÄ et al., 2004) é uma ferramenta utilizada para o desenvolvimento de portais semânticos. Ele é baseado na idéia de classificação multi-facetada, com o uso de ontologias RDFS. Possui um serviço de ligação dinâmica com base em regras lógicas que definem associações de interesse, sendo disponibilizadas na interface dos usuários como links rotulados. As principais características do sistema incluem: 1) facilidade de adaptação para novos domínios; 2) facilidade de extensão e adaptação para novas interfaces e padrões de interação; 3) estrutura tão modular quanto possível; e 4) uma clara separação entre os principais componentes do sistema. Estes componentes são visualizados na figura 2, extraída de (MÄKELÄ, 2006), que apresenta a arquitetura geral dos componentes do Ontoviews: O servidor lógico Ontodella fornece ao sistema serviços de raciocínio, tais como, projeção de visões de categorias e recomendações de links semânticos gerados dinamicamente; O Ontogator é uma máquina de busca RDF baseada em visões, responsável pela funcionalidade de busca através de múltiplas facetas do sistema; O terceiro componente Ontoviews-c vincula os serviços do Ontogator e Ontodella, oferecendo ao usuário interfaces de acesso. Existem diversos portais semânticos que se utilizam do Ontoviews para a geração e manutenção de seu conteúdo, tais como: o MuseumFinland, um museu Virtual 62

64 FIG. 3.2: Arquitetura geral dos componentes do Ontoviews Fonte (MÄKELÄ et al., 2004) Semântico finlandês, que combina o material de 3 museus diferentes; o SW-Suomi.Fi uma versão semântica do portal Suomi.Fi; o Veturi, um serviço de descoberta em páginas 2 amarelas semânticas, dentre outros. O PS MuseumFinland (HYVÖNEN et al., 2005) é um projeto do grupo Semantic Computing Research Group (SeCo) da universidade de Helsinki University of Technology (TKK). O portal apresenta uma coleção de itens de dados referentes às informações recuperadas de coleções de banco de dados do National Museum,Espoo City Museum e Lahti City Museum. É um sistema que apresenta a exibição de 4000 artefatos culturais, incorporando metadados referentes a 260 sites históricos da Finlândia. A seguir é apresentada uma análise do Ontoviews e de sua instância: Portal MuseumFinland, segundo as características apontadas na seção 3.4. a) Camada de Tecnologias Tecnologias de Sistema Linguagem de desenvolvimento: linguagem java; o OntoViews foi implementado na Licença de uso: o código fonte é aberto (open source); Armazenamento de dados: este pode utilizar gerenciadores de banco de dados como forma de armazenamento de dados tais como: Ingres, MS Server, MS Access;

65 Tecnologia de Segurança: não foi identificado nenhum nível de restrição de acesso; Sistema de manutenção: o Ontoviews é baseado no Apache Cocoon 3, que é um framework de desenvolvimento para web, baseado em componentes e no conceito de separação de interesses. Este também é modularizado em dois servidores independentes (Ontogator e Ontodella), provendo assim uma clara separação do sistema de busca e recomendação de links, o que facilita a manutenção do sistema. Tecnologias da Web Semântica Ontologias: o Ontoviews suporta o uso de um conjunto de ontologias no formato RDF/XML, a exemplo do portal MuseumFinland que utiliza sete ontologias de domínio neste formato baseadas no tesauro MASA 4 ; Inferência e raciocínio: baseados em regras lógicas, inferência; a projeção das facetas e geração de links são baseada no SWI-Prolog como máquina de Web Services: as subpartes do sistema estão disponíveis para serem utilizadas por meio de Web services; b) Processamento da Informação Criação e publicação: as informações do portal MuseumFinland são provenientes de quatro fontes de dados, relativos a museus situados em diferentes localizações, correspondentes a sistemas de banco de dados e esquemas diferentes. Para resolver o problema da interoperabilidade entre estas fontes de informações, os bancos de dados heterogêneos são transformados em uma base de conhecimento global sintática e semanticamente interoperáveis no formato RDF, em conformidade com o conjunto global de ontologias do museu. Este processo de criação de conteúdo é semi-automático, isto é, conversores são utilizados para realizar as transformações destas informações que estão nas bases de dados em RDF, conforme as ontologias compartilhadas do portal mostradas na figura 3.3. O processo é descrito a seguir:

66 (i) a homogeneização sintática é obtida pela transformação dos registros dos bancos de dados relacionais em XML, utilizando o DB2XML; (ii) definições terminológicas em RDF são criadas e os termos são associados aos conceitos da ontologia através de mapeamentos; (iii) a interoperabilidade semântica é obtida pela transformação de XML em formato RDF, em conformidade com as ontologias globais do museu através do conversor XML2RDF Annomobile. FIG. 3.3: Processo de anotação Fonte (HYVÖNEN et al., 2005) Organização: a organização das instâncias do portal MuseumFinland é baseada na idéia de classificação multi-facetada, Os conceitos são utilizados para indexação e são chamados de categorias, organizadas sistematicamente em um conjunto hierárquico, também denominado de taxonomias ortogonais; Acesso: este oferece uma máquina de busca baseada na semântica do conteúdo, oferecendo opção de busca por palavras chaves. O portal oferece também um sistema de recomendação de links que permite ao usuário encontrar associações semânticas implícitas dentro da coleção de dados globais, usando estas associações para navegar nas coleções; Manutenção dos itens de informação: as ontologias são baseadas em tesauros e gerenciadas com a ferramenta de edição de ontologias Protégé; c) Acesso à informação 65

67 Ajuda e Documentação: tanto o gerador OntoViews quanto o portal MuseumFinland são bastante citados na literatura de portais semânticos, possuindo uma vasta gama de artigos. Entretanto, o OntoViews carece de documentação suficiente para ajudar o desenvolvedor na geração de novas instâncias e aplicações desse ferramental GERADOR DE PORTAIS DO KAON E O AMBIENTE PASS O gerador de portais do KAON, denominado portal KAON (KAON, 2002), pertence à infra-estrutura do framework KAON, seguindo a metodologia do SEAL (MAEDCHE et al., 2003). Este gerador explora as ontologias disponíveis através do servidor do KAON. Assim, para criar o portal, o usuário necessita construir uma ontologia que contenha a informação que será apresentada na Web. Esse gerador pode ser usado para fornecer a visualização e a navegação através desta ontologia, que também pode ser disponibilizada em versões multilíngües. Neste contexto se encaixa o ambiente PASS (Portal with Access to Semantic Search) (PINHEIRO, 2004) que é considerado uma extensão do gerador de portais do KAON. Este objetiva criar uma infra-estrutura básica para auxiliar o usuário a realizar buscas no ambiente Web, com o auxílio de ontologias de domínio específico. Para alcançar este objetivo, o ambiente PASS apresenta duas funcionalidades principais: a do editor de ontologias para o ambiente Web, denominado ONTOPASS (ONTOlogies for the PASS), e a da ferramenta de busca semântica denominada TOSS (TOol for Semantic Search). O ONTOPASS e a ferramenta TOSS estendem o KAON Portal, estes possuem uma arquitetura estruturada em camadas do framework KAON, acrescida do ambiente PASS. O ONTOPASS permite a criação e edição de ontologias através do ambiente Web, permitindo a evolução e manutenção das ontologias ao longo do tempo. A ferramenta TOSS utiliza os termos presentes nas ontologias para orientar as buscas realizadas pelos usuários. Esses termos são empregados no processo de expansão dos termos da busca, objetivando aumentar a relevância dos resultados e categorizar os resultados obtidos através do sistema de recomendação colaborativa. O PASS apresenta outras funcionalidades que podem ser destacadas: o armazenamento de informações sobre os usuários e suas preferências (personalização da página), de forma a agilizar consultas posteriores a elementos da ontologia; o recomendação colaborativa, onde usuários mais experientes podem recomendar 66

68 links para outros usuários menos experientes; Existem algumas aplicações de portais semânticos que utilizam o gerador de portais do KAON e do ambiente PASS, tais como o Portal Vision e o Portal PASS respectivamente, descritos a seguir: O Portal Vision (HEFKE, 2004), é um Portal Semântico que provê informações sobre eventos, projetos e um roadmap de gestão de conhecimento da Europa. O Portal PASS (PINHEIRO, 2004) tem como objetivo criar uma infra-estrutura básica para auxiliar o usuário a realizar buscas na Web, com o auxílio de ontologias de domínio específico. Este utiliza uma ontologia construída a partir do tesauro sobre Ciência da Informação, cujos termos do tesauro foram transformados em conceitos ou sinônimos e o relacionamento entre os termos foram transformados em propriedades associativas ou relações hierárquicas, dependendo do tipo de propriedade. Relações lógicas podem ser estabelecidas entre conceitos da ontologia de forma a inferir novas informações no portal. A análise do Ambiente PASS, será realizada por meio de sua instância Portal PASS, segundo as características apontadas na seção 3.4. a) Camada de Tecnologias Tecnologias de Sistema Linguagem de desenvolvimento: implementado em Java; Licença de uso: código fonte aberto (open source); Armazenagem dos dados: bancos de dados relacionais podem ser utilizados para o armazenamento. No caso do ambiente PASS, as ontologias foram armazenadas no banco de dados relacional, PostgreSQL, e/ou em arquivos texto, presentes na camada de armazenamento; Tecnologia de segurança: o ambiente PASS possui um mecanismo de autenticação, exigindo, portanto, uma identificação prévia do usuário para acessar o portal; Sistema de manutenção: as páginas para a visualização da informação podem ser customizadas. Nesse caso, é fácil estender o KAON Portal com uma página customizada para personalizar a exibição. Isto é conseguido estritamente separando a apresentação e o acesso aos dados, através de uma biblioteca abrangente de tags. 67

69 Tecnologias da Web Semântica Ontologias: as ontologias KAON são grafos interconectados de objetos, cujos elementos podem ser acessados através da navegação. No ambiente PASS podese modelar a ontologia utilizando o ONTOPASS. A ontologia utilizada neste ambiente foi construída a partir de um tesauro sobre Ciência da Informação; Inferência e raciocínio: o ambiente PASS permite a modelagem uma gama diversa de relacionamentos entre conceitos, expressos através de diferentes tipos de associações, tais como: herança, agregação, predicados genéricos (tem, distribui, etc.). Além disso, foram previstos mecanismos para dedução de novas relações existentes no mundo descritas a partir de associações lógicas ou propriedades entre elas, tais como: sinonímia, transitividade, simetria, inversão, etc; Web Services: não oferece suporte a serviços Web. b) Processamento da Informação Criação e Publicação: a provisão de conteúdo do portal PASS é realizada manualmente através do editor de ontologias ONTOPASS, tornando possível a criação e edição de ontologias através do próprio ambiente Web; Organização: o portal PASS é estruturado segundo a sua ontologia base, onde os conceitos, propriedades e instâncias da ontologia são exibidos na forma de árvore. A partir dessa forma de visualização, o usuário é capaz de selecionar um conceito, navegar por suas propriedades e verificar as instâncias correspondentes; Acesso: o portal PASS utiliza um processo de expansão dos termos de busca, que consiste na pesquisa não somente do conceito escolhido pelo usuário, mas também dos subconceitos e dos conceitos associados através de algum predicado (propriedade). A idéia é associar automaticamente esses termos de forma a criar uma seqüência de palavras-chave associadas por operadores booleanos; Manutenção dos itens de informação: o acréscimo do editor de ontologias ONTOPASS torna possível a criação e edição de ontologias através do ambiente Web, permitindo a evolução e manutenção das ontologias ao longo do tempo. 68

70 c) Informação de Acesso Ajuda e documentação: a única descrição do sistema disponível é a própria dissertação do autor e um artigo publicado em conferência (PINHEIRO e MOURA, 2004) GERADOR ODESEW ODESeW (Semantic Web Portal based on WebODE) (CORCHO et al., 2003) é um front-end do workbench de engenharia de ontologias WebODE, utilizado para a geração automática de portais de conhecimento para intranet e extranet. O ODESeW é umas das principais aplicações frontend do WebODE, que é uma plataforma independente e completamente implementada em Java, permitindo escalabilidade e extensibilidade. A arquitetura do ODESeW 2.0 estende o framework Struts, que é baseado no padrão de projeto Model-View-Controller (MVC) e amplamente utilizado por aplicações Web (LÓPEZ-CIMA et al., 2007). Existem diversas aplicações de portais semânticos que utilizam as ferramentas ODESeW, tais como o Esperonto Portal e o FundFinder. O FundFinder é um portal semântico que permite a realização de buscas e navegação através das informações sobre oportunidades de financiamento. Esta aplicação foi criada a partir da infra-estrutura do WebOde, além de um conjunto adicional de ferramentas utilizadas para extrair conhecimento de dados estruturados e semi-estruturados. processo consiste da extração e instanciação de conhecimentos das fontes de informação heterogêneas para torná-las disponíveis na Web. O objetivo principal é permitir acesso semântico ao conteúdo disponível no atual portal CIDEM, integrado ao conteúdo de outras fontes heterogêneas. As seguintes tecnologias são utilizadas: Este Um conjunto de ontologias de domínio (cobrindo o domínio de financiamento e outros domínios relacionados); Um processo automático chamado ODEMapster, capaz de transformar a informação da base de dados em bases de conhecimento, de acordo com o documento de mapeamento declarativo, previamente especificado; Um processo automático chamado Parser é capaz de extrair informações de documentos semi-estruturados e instanciá-los em bases de conhecimento, de acordo 69

71 com uma configuração previamente especificada; A infra-estrutura do WebOde, com destaque para a ferramenta ODESeW, inerente a esta infra-estrutura, que é capaz de desenvolver portais semânticos com navegação semântica e funcionalidades de consulta. A linguagem R2O (BARRASA et al., 2004), tem como objetivo permitir especificações de mapeamento entre bases de dados e um conjunto de ontologias. Dessa forma, mapeamentos podem ser processados pelo processador ODEMapster, que transforma o conteúdo da base de dados em instâncias de uma ontologia implementada em linguagens RDF Schema ou OWL. Em relação às funcionalidades do gerador ODESeW e de sua instância: Portal FundFinder, é apresentado abaixo as características apontadas na seção 3.4. a) Camada de Tecnologias Tecnologias de Sistema Linguagem de desenvolvimento: o ODESeW utiliza a linguagem Java para a construção de aplicações Web baseadas em ontologias; utiliza o Java Beans para o gerenciamento de componentes ontológicos; Licença de uso: os autores oferecem um acesso temporário para o WebODE, bastando para isto enviar um para a requisição de uma conta de usuário; Armazenamento de dados: ontologias são armazenadas em um banco de dados relacional, sendo portanto capaz de gerenciar uma grande quantidade de ontologias eficientemente. É também facilmente extensível, de modo que o gerenciador de banco de dados pode ser alterado, bem como algum sistema backend pode ser adicionado a sua arquitetura. Este utiliza o Oracle como banco de dados relacional; Tecnologia de segurança: administradores e membros com permissão apropriada podem editar a ontologia diretamente via editor de ontologia WebODE; Sistema de manutenção: a manutenção do portal é relacionada a diferentes níveis de permissão, onde apenas administradores e membros com permissão apropriada podem editar informações no portal. Este emprega um baixo 70

72 esforço na configuração e manutenção do sistema. O ODESeW provê ferramentas que permitem aos desenvolvedores reusarem visões genéricas na criação de visões personalizadas ou visões específicas na intranet/extranet. Tecnologias da Web Semântica Ontologias: o gerador ODESeW utiliza ontologias no formato RDF ou OWL. No contexto da aplicação do portal FundFinder, as ontologias representam o domínio de oportunidades de financiamento, aplicações, organizações, pessoas, localizações, publicações e etc. Inferência e raciocínio: o ODESeW utiliza um editor de axiomas (WAB) para modelar axiomas capazes de verificar a consistência de informação do portal usando o WebODE; Web Services Semânticos: nenhum serviço Web. a versão atual WebODE não implementa b) Processamento da Informação Criação o processo de extração e geração de conhecimento para o OS FundFinder é extraído de uma base de dados pelo processador ODEMapster e do Official Journal documents pelo Knowledge Parser, representando este conhecimento em RDF. A partir daí este conteúdo é importado pelo workbench WebODE, usando serviços de importação do WebODE. Finalmente, o conteúdo é apresentado usando o gerador de portal ODESeW, que provê funcionalidades para navegação e consulta baseada em semântica, possibilitando diferentes tipos de acesso para diferentes usuários. Publicação: uma das vantagens de se utilizar o ODESeW embutido no workbench WebODE é justamente poder usar alguns dos serviços do workbench WebODE, a exemplo dos serviços de importação de ontologias. Assim, é possível incluir ontologias através do workbench e estas serem selecionadas para a publicação no ODESeW; Organização: as informações podem ser estruturadas de forma hierárquica baseada na ontologia do portal, visualizando as informações através de um menu baseado em frames; 71

73 Acesso: o ODESeW oferece um sistema de busca baseado em palavras chaves ou usando a estrutura da ontologia como template, ou seja, por meio de um formulário que permite selecionar conceitos e atributos da ontologia retornando os valores especificados nos formulários; Manutenção: esta tarefa é realizada pelo WebODE, responsável pela edição e manutenção de ontologias. Consiste principalmente da edição das instâncias dos conceitos, ou seja, inserção, atualização e remoção de instâncias da ontologia. O ODESeW suporta esta tarefa permitindo que usuários editem as instâncias e os valores de seus atributos, providos principalmente por usuários da intranet. Os administradores das ontologias podem, no entanto, fornecer permissão para a edição de partes específicas da ontologia publicada no portal para usuários extranet; c) Acesso à Informação Ajuda e documentação: o ODESeW e o portal FundFinder possuem algumas referências na literatura, principalmente por fazerem parte do workbench de engenharia de ontologias WebODE. Entretanto, nenhuma documentação foi encontrada que orientem desenvolvedores a criarem suas próprias instâncias SISTEMA SWED O SWED (Semantic Web Environmental Directory) (BRICKLEY et al., 2002) faz parte do projeto europeu SWAD-Europe (Semantic Web Advanced Development). Este projeto tem como objetivo criar um sistema escalável e sustentável para a construção e manutenção de portais na Web. O sistema SWED centraliza o armazenamento, administração e propriedade de informação, permitindo que os membros da organização publiquem e controlem suas próprias informações. A figura 3.6 mostra a arquitetura do SWED. Estas informações são então coletadas e conferidas pelo SWED, que produz o diretório numa página Web. Os dados (no formato padrão da WS - RDF) são criados pelo provedor de informação (Information Provider), podendo ser gerados de modos diferentes, tais como: Utilizando um formulário da Web a partir do qual gera um arquivo RDF; Obtidos de um banco de dados; ou 72

74 A partir de um editor de texto. Estes três tipos de coleta de informações podem ser realizados, desde que o arquivo final esteja em um formato RDF correto. FIG. 3.4: Arquitetura do Swed Fonte (SWED, 2004) O Provedor de Informação, que é uma organização ou projeto, provê ao PS as informações estruturadas em formato RDF. Os dados são então capturados pelo PS e armazenados em um banco de dados, junto com um vocabulário/tesauro usado para categorizar o projeto e a instituição (empresa ou organização que mantém o site), a partir do qual os modelos de exibição são associados às informações. A colheita e Publicação importa a informação e a processa para ser exibida ao usuário, gerando as visões dinamicamente com base nos modelos, conforme ilustra a figura 3.5. A partir do momento em que as organizações preenchem o formulário Web de criação de dados e registram o local de armazenamento dos arquivos RDF contendo esses dados, estes são coletados dos próprios sites Web das organizações. Isto é feito por um robô que, de forma sistemática e freqüente, recupera os arquivos RDF de todas as organizações que estejam cadastrados no diretório do sistema. Uma vez coletados os arquivos (passo 1 na figura 3.6), estes são enviados ao diretório de publicação na base de dados RDF, que guarda cópias dos dados. Estas cópias são usadas para criar as páginas Web (passo 2 e 3 na figura 3.6), geradas segundo um template, permitindo assim a criação e edição de visões das informações. O sistema SWED possui todo um ferramental para criação de instâncias de portais. O portal REWERSE 73

75 FIG. 3.5: Criação e manutenção Fonte (SWED, 2004) (BRUNKHORST e HENZE, 2005) e o portal SWED (de mesmo nome), descrito a seguir, são exemplos de portais criados com a infraestrutura do SWED. Um exemplo de uso do sistema SWED é o portal SWED, que é constituído de um diretório sobre organizações e projetos, conforme visualizado na figura 3.7. O portal SWED é composto por uma ontologia sobre organização/projeto, cujo objetivo é descrever as propriedades das organizações e projetos utilizados pelo SWED. A seguir são apresentados os tesauros e ontologias utilizados no SWED: Topic of Interest Thesaurus - tesauros utilizados para classificar os ambientes relacionados com os temas de interesse das organizações / projetos; Operational Area Ontology - ontologia para definir que áreas estão contidas dentro de outras áreas, usada para gerar a faceta de navegação da área operacional do SWED; Type of Activity Thesaurus - tesauros adaptados do padrão de classificação industrial de atividades (SIC); Type of Organisation Thesaurus - um vocabulário taxonômico para classificação de tipos da organização; 74

76 FIG. 3.6: Coleta da informação Fonte (SWED, 2004) Type of Project Thesaurus - um vocabulário taxonômico para classificação de tipos de projetos; Relationship Ontology - define o tipo de relacionamento entre projetos e organizações que são representadas no SWED. Com relação às características referentes ao sistema e portal SWED descritas na seção 3.4 tem-se que: a) Camada de Tecnologias Tecnologias de Sistema Linguagem de desenvolvimento: o SWED é implementado em Java e roda sobre o container Tomcat. Utiliza a tecnologia Jakarta para a geração da inteface do portal; Licença de uso: o código fonte é disponível como open source; Armazenamento de dados: o portal pode carregar os dados da memória ou utilizar um banco de dados relacional como o Mysql; 75

77 FIG. 3.7: Visualização multi-facetada do portal SWED Fonte (SWED, 2004) Tecnologia de segurança: em um portal descentralizado os dados devem ser hospedados pelo provedor das organizações. Portanto, estes têm o controle total sobre a edição de suas informações, não sendo necessária uma infraestrutura especial de segurança para apoiar este requisito; Sistema de manutenção: o sistema é caracterizado por uma gestão descentralizada, onde cada organização é responsável por inserir e manter suas próprias informações. Portanto, a manutenção é distribuída entre os membros da comunidade, reduzindo com isso os esforços a poucos mantenedores. Como cada organização tem interesse em manter as informações atualizadas, existe então uma maior probabilidade de que o portal permaneça atualizado sem muitos esforços. Tecnologias da Web Semântica Ontologias: as ontologias utilizadas estão no formato OWL, enquanto que os tesauros são baseados no SKOS (Simple Knoweldge Representation System) (SKOS, 2005); Inferência e raciocínio: quando os arquivos de dados são carregados, estes podem ser processados usando um conjunto de regras de inferência. Estas regras podem ser usadas para implementar partes relevantes do processamento 76

78 de RDFS e OWL, computando o fechamento transitivo das propriedade dos tesauros; Web Services: não foram encontradas na documentação do portal informações sobre a implementação deste recurso. b) Processamento da Informação Criação: devido a sua natureza descentralizada, os membros da organização controlam suas próprias informações. Os dados são criados pela própria organização, sendo gerados a partir de um formulário da Web obtido de um banco de dados ou a partir de um editor de texto, gerando um arquivo de dados em formato RDF; Publicação: as organizações mantêm um arquivo RDF em seu servidor para que robôs do portal varram periodicamente em busca de novas informações, ou seja, em vez das organizações enviarem os dados, o próprio portal SWED é responsável pela coleta das novas informações; Organização: o portal SWED possui um sistema de navegação baseada em multi-facetas, provendo assim visões múltiplas e simultâneas para uma coleção de informações, conforme visualizado na figura 3.7. Os usuários podem explorar as informações através das classificações por categoria de organizações e projetos; Acesso: o portal suporta pesquisa por texto livre por meio de uma instância embutida no motor Lucene 5. Os recursos RDF são indexados de acordo com seu conteúdo, com base nos valores de suas propriedades; Manutenção: este possui ontologias em formato owl e, portanto podem utilizar qualquer editor de ontologias para o gerenciamento da mesma e que suporte este formato. c) Acesso à Informação Ajuda e documentação: este possui uma documentação razoável, capaz de ajudar os desenvolvedores a implementarem instâncias utilizando essa ferramenta

79 3.5.5 SISTEMA ONTOWEB O sistema OntoWeb (Ontology-based Information Exchange for Knowledge Management and Electronic Commerce) (MAJER et al., 2002) faz parte do projeto OntoWeb da União Européia. Este foi construído sobre o servidor de aplicação ZOPE e um Framework de gerenciamento de conteúdo CMF (Content Management Framework). O objetivo geral do sistema é prover informações a partir da construção semi-automática de um portal comunitário, com os metadados fornecidos pela comunidade. Existem duas formas de prover informações ao portal: informações podem ser obtidas a partir do próprio portal OntoWeb, através de templates gerados a partir da ontologia da comunidade; ou fora do portal OntoWeb. Nesse caso, os participantes enriquecem os recursos com metadados, e a partir daí, um syndicator rastreaia os sites anotados, usando as ontologias dos membros da comunidade. As informações anotadas são extraídas e armazenadas na base de conhecimento do portal (MAJER et al., 2002). A figura 3.8 apresenta a arquitetura do portal OntoWeb. FIG. 3.8: Arquitetura do portal OntoWeb Fonte (MAJER et al., 2002) Para garantir a qualidade dos dados no ambiente do OntoWeb, o sistema foi estendido com um workflow que regula o processo de publicação de informações. Um usuário pode apenas adicionar instâncias de dados, enquanto o administrador pode alterar o esquema da ontologia. Existem três estados possíveis para o processo de publicação de informações: (i) 78

80 estado privado: os objetos são visíveis apenas para o próprio usuário; (ii) estado pendente: torna as informações visíveis aos revisores; e (iii) estado publicado: as informações já foram verificadas e estão prontas para serem exploradas (MAJER et al., 2002). As formas de visualização e edição de novos itens de informação são apresentadas a seguir: Templates: estes são gerados de acordo com a ontologia base do OntoWeb. Dessa forma a comunidade de usuários pode preencher os dados nestes templates e submete-los ao servidor ZOPE; Syndication: o sistema permite o acesso centralizado às informações distribuídas nos sites participantes. Estes podem enriquecer os recursos situados fora do portal OntoWeb com metadados. Isto é feito por informações sindicalizadas de participantes pela replicação de suas instâncias de dados. Ambas as ontologias e instâncias podem ser sindicalizadas na ontologia base e na instância base no servidor STARLab DOGMA (JIJUAN et al., 2001). Como exemplo de uso do sistema OntoWeb tem-se um portal comunitário acadêmico e industrial com interesse voltado para a Web Semântica. A principal meta do portal é prover o acesso integrado de informações aos membros da comunidade, obtendo todos os tipos de informações relacionadas na rede OntoWeb. O portal consiste de uma base de conhecimento, onde são armazenadas e gerenciadas as ontologias e suas instâncias. Isto permite que os usuários do portal possam ter acesso às informações, obtendo vantagens dos conceitos compartilhados oferecidos pela ontologia base. Com relação às características funcionais referentes à seção 3.4, ao sistema e portal OntoWeb apresenta: a) Camada de Tecnologias Tecnologias de Sistema Linguagens de desenvolvimento: este utiliza a linguagem de programação orientada a objeto (Java); Licença de uso: o OntoWeb possui o código-fonte aberto (Open source); Armazenamento de dados: utiliza o dispositivo de armazenamento Zope Object Database (ZODB), uma base de dados de objetos incluída no ZOPE. Este oferece o Zope Enterprise Objects (ZEO), servidor remoto para armazenar informações utilizadas por aplicações distribuídas em um servidor central; 79

81 Tecnologia de segurança: o sistema possui um esquema próprio para definição de permissões. Sistema de manutenção: o sistema habilita o processo de manutenção através de um esquema de definição de permissões. Administradores do sistema podem publicar rejeitar, cancelar, remover e alterar as informações do portal, enquanto usuários podem manter seus próprios itens de informação em sua pasta pessoal. Tecnologias da Web Semântica Ontologias: a ontologia do OntoWeb reusa grande parte da ontologia KA2, construída a partir da Comunidade de Aquisição de conhecimento. Esta descreve conteúdos como: publicações, projetos, organizações, pessoas e eventos. Utilizam partes do padrão de metadados Dublin Core 6 para a descrição dessas informações; Inferência e raciocínio: o OntoWeb utiliza apenas RDF(S) para estruturar seu conteúdo. Como trabalho futuro os autores pretendem dotar a ontologia com características da OWL, com propriedades relacionais, como a simetria, por exemplo; Web Services: na documentação foram encontradas referências para uma futura implementação de serviços Web no portal. b) Processamento da Informação Criação e publicação de informações: o portal OntoWeb faz uso dos recursos disponíveis do sistema a exemplo do workflow que regula o processo de publicação de informações; Organização: o portal possui um menu estruturado em forma de árvore, que é automaticamente gerado com base em sua ontologia. Portanto, este possui um único esquema de classificação, não suportando a estruturação multi-facetada; Acesso: o portal permite realizar buscas por palavras chaves, com base nos termos da própria ontologia. O sistema explora os conceitos e relacionamentos

82 das ontologias, permitindo ao usuário interagir com informações no nível conceitual; Manutenção dos itens de informação: como as ontologias são representadas em formato RDF,, qualquer editor de ontologias pode ser utilizado para o gerenciamento das mesmas, desde que suporte este formato. c) Acesso à Informação Ajuda e Documentação: este possui uma extensa documentação que acompanha a construção do projeto. 3.6 ANÁLISE COMPARATIVA A partir do estudo dos geradores e de suas instâncias, é possível realizar uma análise comparativa dessas tecnologias, levando em consideração as principais características do esquema de avaliação apresentado na seção 3.4. No item referente à publicação, destaca-se o SWED, que possui uma forma mais automatizada e descentralizada de publicar as informações de uma determinada organização. Usuários cadastram seus próprios conteúdos e Robôs do sistema SWED varrem periodicamente em busca de novas informações, caracterizando uma forma mais passiva de recuperação de informações, pois depende da iniciativa do usuário para alimentar o portal. Em outros geradores de portais tais como OntoWeb, a inserção de novos itens de informação pode ser realizada por meio de um formulário disponibilizado no portal ou por meio do agrupamento de conteúdos anotados através de recursos externos a Web. Além disso, apresenta uma funcionalidade importante, a do workflow, com dois estados de publicação: private (onde as informações só podem ser visualizadas e publicadas por seus donos e gerenciadores do portal); e published (onde as informações podem ser acessadas e publicadas por visitantes e aprovadas ou não por revisores), não disponibilizada aos demais portais. Entretanto, o OntoWeb trabalha apenas com uma única ontologia, onde todos os usuários possuem a mesma visão sobre o conteúdo armazenado no portal, não existindo funções avançadas de gerenciamento de permissões. Essa questão de visão única é resolvida no gerador ODESeW e no portal PASS, que oferecem uma ontologia específica para tratar usuários e suas preferências. 81

83 No tocante à de busca e navegação de informações, foi verificado que o portal Ontoweb, o gerador do portal KAON e o ODESeW apresentam o conteúdo nos portais por eles gerados através de uma hierarquia simples, baseada na estrutura de sua ontologia. Já o SWED e o OntoViews organizam seus itens de informação com base em multi-facetas, possibilitando uma visão mais flexível das informações no portal. Todos os geradores de portal analisados possuem um sistema de busca baseado em palavras chaves. O portal PASS utiliza também um processo de busca baseado na expansão dos termos acrescentando seus subconceitos, conceitos associados ou predicados, associando-os automaticamente de forma a criar uma seqüência de palavras-chave ligadas por operadores booleanos. No item relativo à evolução e manutenção de portais, destacam-se o OntoViews e o SWED, pois oferecem modularização dos mecanismos de busca e estruturação do portal, facilitando a sua evolução e manutenção. A tabela 3.2 a seguir apresenta um resumo das funcionalidades observadas em cada um dos portais semânticos, analisados ao longo dessa seção: Pelo fato do SWED dispor de algumas características e facilidades importantes, dentre elas: uma infra-estrutura opensource; uma relativa facilidade de extensão de código; documentação para o desenvolvimento de novas instâncias; e de ser principalmente um dos poucos portais a possuir uma estruturação multi-facetada, provendo uma visão categorizada, ampla e simples do seu conteúdo, este foi escolhido como ferramenta principal para geração do portal POSEDU (POrtal Semântico de EDUcação), desenvolvido como objetivo principal dessa dissertação. Vale ainda ressaltar que, através da arquitetura proposta neste trabalho, foi possível acrescentar funcionalidades ao SWED, de modo a tornar o processo de manutenção/criação mais dinâmico, aplicando para isto uma abordagem pro-ativa, ou seja, independente de cadastro de usuário para permitir a recuperação e atualização de informações. 3.7 CONSIDERAÇÕES FINAIS O principal benefício dos portais semânticos é a capacidade de modelar todo o conhecimento ali reunido a partir de ontologias. Devido à natureza intrínseca das ontologias quanto ao seu poder de representar e expressar conhecimento de um domínio qualquer, a sua aplicação direta como fonte de conhecimento em portais permite 82

84 TAB. 3.2: Quadro comparativo com as funcionalidades dos portais semânticos compartilhar informações com comunidades de interesse, habilitar o processamento automático de itens de informação através de novas inferências, além de aumentar o poder de navegação, organização e pesquisa de informações. Por não se utilizarem desses recursos ontológicos para realização de buscas ou estruturação de informações, os portais tradicionais/convencionais carecem desses requisitos, ficando apenas como meros provedores de informações, ainda dependentes do ser humano para sua alimentação. Entretanto, com a análise das tecnologias de portais realizada ao longo desse capítulo, observou-se que os PS estão apenas começando, requerendo ainda maior maturidade e evolução no que diz respeito a aplicação de conceitos da WS e serviços oferecidos, principalmente quanto a adequação do uso de web services em sua infra-estrutura. Portanto, no contexto deste trabalho, é importante destacar que dentre as limitações destes portais, estão: a falta de interoperabilidade entre os portais e outros portais ou sites 83

85 que tratam de um mesmo domínio de conhecimento ou mesmo entre aqueles dotados de estruturas ontológicas similares; e a forma não automatizada de organização e publicação de novas informações, ficando essas tarefas a cargo do criador ou do administrador do portal. Diante destas considerações, o próximo capítulo detalhará a arquitetura do protótipo desenvolvido com propósitos de gerar um portal semântico. Nesse capítulo serão descritos os mecanismos de integração de informações que contribuirão para a formalização do conhecimento, de modo a promover a instanciação dinâmica de seus conteúdos no portal. 84

86 4 SISTEMA PARA A GERAÇÃO DE CONTEÚDOS EM PORTAIS SEMÂNTICOS Este capítulo tem como objetivo detalhar a arquitetura de um sistema gerador de portais semânticos (SiGePoS), com a descrição de todos os seus módulos. Ao longo dessas seções serão apresentados o modelo ontológico do sistema, que servirá como base para a estrutura do portal educacional, bem como o módulo semântico, com a visualização dos templates correspondentes à etapa de montagem de consultas para esse módulo. Serão descritos também o mecanismo de cálculo de similaridades para determinar a qualidade das informações recuperadas que serão instanciadas no portal, bem como o mecanismo de mapeamento que será útil na transferência de instâncias das ontologias externas para a ontologia base do portal. 4.1 ARQUITETURA PROPOSTA PARA O SIGEPOS Este trabalho propõe uma arquitetura para prover suporte no processo de integração de informações com base em ontologias de domínio, visando a instanciação dinâmica em portais semânticos. Conforme exposto no capítulo anterior, os portais ainda apresentam sérias limitações para tornar a informação acessível aos usuários de forma eficiente, retornando informações imprecisas nas buscas (LARA et al., 2004). Esta proposta é, portanto amparada nessa idéia, pois visa melhorar a qualidade semântica das respostas às consultas efetuadas, permitindo conteúdos informacionais mais precisos no portal. A Figura 4.1 ilustra a arquitetura proposta neste trabalho. Embora esta arquitetura seja de caráter genérico, este trabalho foi desenvolvido com foco no domínio educacional, voltado para o âmbito governamental. Por isso, foi desenvolvida uma ontologia denominada Ontologia Base (OB) para este domínio, conforme descrito na seção A arquitetura proposta foi dividida em quatro módulos principais: Módulo de busca: responsável pela busca de informações na Web, seja por ontologias relacionadas a um domínio específico (busca semântica), seja por páginas Web tradicionais, na Web aberta; Módulo semântico: além de montar os templates para servir de entrada ao módulo de 85

87 busca, este recebe os documentos semânticos retornados pelo mecanismo de busca, filtrando-os e validando-os para a realização do casamento entre as entidades das ontologias, para finalmente intercambiar instâncias entre estas ontologias; Módulo de instanciação: através de um módulo gerador do portal, o conteúdo, a estrutura de hipertexto, a apresentação e navegação são modelados, e os dados instanciados dinamicamente a partir da estruturação e recomendação de links; FIG. 4.1: Arquitetura do SiGePoS Módulo de KDD: este módulo tem como objetivo fornecer ao portal semântico a recomendação de links de páginas na Web associados às informações educacionais, recuperadas através de um serviço de busca aberto na Web. A descrição mais detalhada de cada um dos módulos presentes nesta arquitetura, figura 4.1 é apresentada nas subseções seguintes MÓDULO SEMÂNTICO O módulo semântico é o responsável pela alimentação dinâmica da (OB). Periodicamente, conforme configuração do sistema, este módulo aciona o mecanismo monta consulta semântica, que se encarrega da formulação e montagem das consultas. Estas consultas 86

88 têm como base um conjunto de termos extraídos da OB, com o objetivo de alimentar o módulo de busca e permitir a recuperação de documentos semânticos. Modelos de consultas (templates) são usados para capturar informações na Web, cujo resultado passa por um mecanismo de filtragem. Os documentos semânticos retornados pelo mecanismo de busca são aqui denominados de Ontologias Externas (OE), estes documentos são então armazenados e, em seguida, é realizado o casamento entre as entidades da OB e as entidades de cada uma das ontologias externas (OE) resultantes da filtragem. A partir daí é realizado o mapeamento entre cada par de ontologias, permitindo viabilizar posteriormente a transferência de instâncias entre elas ONTOLOGIA BASE (OB) A OB exerce um papel de extrema importância na estruturação do portal, pois é utilizada por todos os módulos da arquitetura, ganhando assim um destaque especial. No módulo semântico ela é utilizada para a instanciação dos templates de consulta, cuja etapa é essencial como entrada para o módulo de busca, e no tratamento do resultado do módulo de busca. FIG. 4.2: Subconjunto da Ontologia Base EDU Na organização do portal, a OB é crucial para a composição das facetas e classificação 87

89 das instâncias segundo essas categorias. E, finalmente, no módulo de KDD ela é utilizada tanto na fase de separação dos grupos durante o processo de clusterização, como também no módulo de instanciação quando utiliza suas instâncias para popular o portal. Com o objetivo de servir de base para os exemplos usados no detalhamento dos módulos a seguir, esta seção apresenta brevemente uma ontologia voltada para o domínio educacional, que é apresentada na íntegra no capítulo 5. A figura 4.2 apresenta apenas um subconjunto dos conceitos que compõem esta ontologia educacional MECANISMO DE MONTAGEM DE CONSULTAS Segundo (DEY, 2001), contexto é qualquer informação que pode ser usada para caracterizar uma situação de uma entidade, podendo ser uma pessoa, lugar, ou objeto, considerados pertinentes à interação entre um usuário e uma aplicação. Em sistemas computacionais, é possível adaptar e mudar uma seqüência de ações, estilo das interações e o tipo de retorno das informações com base num contexto. A expressão de consulta construída neste módulo considera o contexto de um conceito dentro de uma ontologia. Assim, no desenvolvimento de uma consulta envolvendo um determinado conceito de uma ontologia, estende-se a expressão de consulta com a inclusão dos conceitos que se relacionam com o mesmo, seja por herança ou associação. Na abordagem proposta, utilizaremos a noção de contexto de um conceito de uma ontologia, com o objetivo de restringir o resultado da busca feita por um mecanismo de busca. Desta forma o Módulo de montagem da consulta constrói consultas com base na OB. As expressões de consulta são construídas levando-se em conta dois modelos (templates), que geram dois grupos de consulta. Cada template apresenta uma configuração diferente, considerando o contexto como fator de influência nas buscas, como mencionado em (PINHEIRO, 2004). A configuração dos templates de consulta utiliza algumas definições, listadas a seguir: conceitos principais: são aqueles que devem estar no primeiro nível da ontologia, isto é, como filhos (is-a) do conceito raiz (thing); conceitos subordinados (subconceitos): são aqueles que estão até o quarto nível da ontologia, sob um conceito principal; 88

90 conceitos equivalentes: são aqueles conceitos cadastrados como conhecimento adicional (e.g. vocabulário controlado), e que possuem similaridade (equivalentes ou sinônimos) ao conceito em questão; conceitos domínio: são aqueles que fazem o papel de sujeito da tripla: sujeito, predicado e objeto das linguagens ontológicas; e conceitos range 7 : são aqueles que fazem o papel de objeto da tripla: sujeito, predicado e objeto das linguagens ontológicas. A partir de cada template de consulta são geradas várias expressões de consulta, construídas a partir de conceitos principais, tendo como apoio um dicionário de sinônimos (Anexo B). A partir de uma expressão de consulta, como por exemplo, (Education Program) AND (provided Program By) AND (Institution Units), serão recuperadas todas as ontologias (páginas OWL) que possuam estes termos. A associação dos conceitos em uma expressão de consulta se dá através dos conectores booleanos AND e OR, podendo o espaço em branco ser utilizado para omitir o uso do AND na expressão da consulta. Uma vez montadas, as consultas são submetidas pelo módulo semântico a uma máquina de busca semântica. A figura 4.2 apresentada na seção servirá como base para os exemplos utilizados no detalhamento dos templates de consulta apresentados a seguir. Para melhor representar os templates de consulta será utilizada a notação BNF (Backus-Naur Form), que introduz uma forma de representação textual para descrever gramáticas livres de contexto(backus et al., 1997). Template 1: Conceitos equivalentes e subordinados O Template 1 utiliza os conceitos equivalentes a cada conceito principal selecionado, tendo como apoio um dicionário de sinônimos. Inclui ainda os conceitos subordinados ao conceito principal até o quarto nível da ontologia; A seguir são apresentados alguns exemplos de expressões de consulta seguindo as especificações da sintaxe BNF definidas anteriormente, e com base na ontologia educacional (figura 4.2): 7 Foi utilizado o termo range, em consonância com a nomenclatura adotada no RDF 89

91 TAB. 4.1: Template 1 Exemplo 1: <Monta Consulta1>::= (Education Program) OR (Academic Program OR educational activity OR Course OR Programa Acadêmico OR Ensino acadêmico) OR (Higher Education Program OR Extensional Course Program) Esta consulta retorna como resultado ontologias que possuem programas de educação de nível superior (Higher Education Program) ou cursos de extensão (Extensional Course Program). Analisando mais detalhadamente, esta consulta é composta pelo conceito principal Education Program (que caracteriza o contexto da consulta) e de seus conceitos equivalentes, separados pelo operador OR. No exemplo 1, acrescentam-se os seguintes conceitos equivalentes: Academic Program OR educational activity OR Course OR Programa Acadêmico OR Ensino acadêmico. Por fim, acrescenta-se a coleção dos conceitos subordinados Higher Education Program OR Extensional Course Program do conceito principal Education Program, que são de interesse especificar. 90

92 A seguir é apresentado outro exemplo de expressões de consultas baseado no template 1. Nesse exemplo, vale ressaltar que, como não existem conceitos subordinados, a consulta foi composta somente com o conceito principal e seus equivalentes. Exemplo 2: Monta Consulta2::= (Research Sub Area) OR (Research OR Area de pesquisa OR Linha de pesquisa OR Domínio de pesquisa) Template 2: tripla: domínio, relacionamento e range O Template 2 é definido na forma de uma tripla, que é composta pelo conceito domínio, um relacionamento e por conseguinte o conceito range associado ao relacionamento, além dos conceitos subordinados ao conceito range e os conceitos equivalentes referentes a todos os conceitos e propriedades do template. A seguir o operador booleno AND é acrescido à consulta para garantir a participação do relacionamento e do conceito range. Considere a seguinte consulta seguindo as especificações da sintaxe BNF definida anteriormente: Exemplo 3: <Monta Consulta2>::= (Finantial Institution for Research Support) AND (supplies Funding) AND (Academic Funding) OR (International Student Program Cooperation OR Scholarships Support Program) OR (Institution for Research Support OR sponsors OR provides funding for OR prove recursos para OR fomenta OR Finantial Aid OR Finantial academic support OR Finantial Assistance OR Fomento acadêmico OR Fomento pesquisa) Esta consulta retorna como resultado ontologias que possuem instituições que financiam os programas educacionais, tais como: cursos de graduação e pósgraduação, através de bolsas de estudos e programas de cooperação internacional. Neste exemplo, a tripla se forma com o conceito domínio Finantial Institution for Research Support, o relacionamento supplies Funding e o conceito range Academic Funding. Esta consulta inclui ainda os conceitos subordinados ao conceito range, International Student Program Cooperation/ Scholarships Support Program, separados pelo operador booleano OR. Por fim, esta consulta leva em consideração os sinônimos do conceito domínio, range, subordinados e propriedades, representados aqui pelos 91

93 TAB. 4.2: Template 2 seguintes termos: Institution for Research Support, sponsors, provides funding for, prove recursos para, fomenta, Finantial Aid, Finantial academic support, Finantial Assistance, Fomento acadêmico e Fomento pesquisa) As expressões de consulta geradas a partir dos templates serão as entradas para o módulo de busca. O resultado da busca, constituído de um conjunto de documentos semânticos, será analisado pelo mecanismo de filtragem conforme apresentado a seguir MECANISMO DE FILTRAGEM Os resultados do módulo de busca passarão por um mecanismo de filtragem, denominado Agente de Filtragem. Este módulo será responsável por selecionar, dentre um conjunto de documentos semânticos retornados, quais estarão aptos a participarem do mecanismo 92

94 de cálculo de similaridades. Para isto, serão selecionados todos os documentos no formato OWL que serão então analisados para verificação de sua validade, i.e., se de fato equivalem a um documento semântico OWL. Os documentos retidos no processo de filtragem possuem geralmente extensão DAML, XML ou outra extensão que não seja OWL. Os documentos que passam pelo filtro são encaminhados então ao processo de validação, que reterá aqueles que, apesar de possuírem extensão OWL, não se caracterizam como documentos semânticos, apresentando-se na maioria das vezes como documentos mal formados. O processo de validação de ontologias, neste caso, pode então ser definido como a etapa que garante a qualidade e a adequação de uma ontologia a ser usada ou reusada num contexto específico, para um objetivo específico (FERNÁNDEZ, 2006) MECANISMO DE CASAMENTO Os documentos semânticos selecionados (armazenados em formatos OWL) passam por um processo de casamento, definido como um mecanismo de descoberta de similaridades entre as ontologias fonte (cada ontologia externa recuperada no resultado - OE) e alvo (OB). Assim, os termos da ontologia fonte selecionada deverão ser comparados aos termos da ontologia alvo, a fim de encontrar medidas de similaridades léxicas e estruturais entre estes termos, utilizando para isso vocabulários controlados ou tesauros, para levar em conta os sinônimos e/ou conceitos equivalentes, conforme pode ser visualizado na figura 4.3. O mecanismo de casamento usado é crucial para determinar uma boa qualidade na instanciação do portal. Para isto, destacam-se neste módulo funcionalidades que devem ser levadas em consideração, tais como: Tratar termos sinônimos, utilizando um conhecimento adicional a partir de tesauros ou vocabulários controlados, a exemplo do aqui utilizado para o domínio educacional; Tratar termos homônimos, verificando o contexto da informação tais como propriedades, ancestrais e antecedentes dos termos; Tratar termos que possuem diferenças mínimas sintáticas, tais como diferenças de grau e gênero, utilizando para isto algoritmos de edit distance. Para melhor ilustrar as funcionalidades requeridas para o cálculo de similaridades, considere-se os formalismos a seguir, baseados nas especificações do CMS (KALFOGLOU 93

95 FIG. 4.3: Processo de Casamento e SHADBOLT, 2005): dois conceitos coe e cob de duas ontologias fonte (OE) e alvo (OB) e suas respectivas propriedades P OE e P OB, onde P é um conjunto de propriedades que têm c como domínio e outros conceitos ou tipos de dados como range. A similaridade inicial entre cob e coe é recursivamente definida como sim In (cob, coe) = α sim local (cob, coe) + β sim property (P OB, P OE)onde: α e β são pesos arbitrários; sim local é o resultado do cálculo de similaridade apenas dos conceitos da OB e OE; sim property é o resultado do cálculo de similaridade apenas das propriedades. Considere também HOB e HOE como o conjunto de ancestrais e descendentes das classes cob, coe respectivamente. A partir daí, a similaridade final pode ser calculada, sendo definida como:sim F inal (cob, coe) = sim In (cob, coe) + sim(hob, HOE). Ao calcular a similaridade referente à fórmula: sim property (P OB, P OE), são consideradas as principais heurísticas do processo de casamento: Casamento de classes que possuam as mesmas propriedades, domínios e ranges similares: P OB = P OE e sim set ( P OB, P OE) t e sim set (Φ P OB, Φ P OE) 94

96 t, onde: t é um threshold predefinido, representa o range das propriedades e Φ o domínio das mesmas. Casamento de classes que possuam as mesmas propriedades, domínios diferentes e ranges similares: P OB = P OE e sim set ( POB, P OE) t, sim set (Φ P OB, Φ P OE) < t. Casamento de classes que possuam as mesmas propriedades, mas domínios e ranges diferentes: POB = P OE e sim set ( P OB, P OE) < t e sim set ( Φ P OB, Φ P OE) < t MECANISMO DE ESPECIFICAÇÃO DE MAPEAMENTO Após a obtenção destas medidas de similaridade, calculadas pelo módulo de casamento, serão realizados os processos de especificação de mapeamento (EHRIG e SURE, 2004), (SILVA, 2004), (CHOI et al., 2006). Como definido no capítulo 2, mapeamento entre ontologias é o processo em que se verifica se duas ontologias são semanticamente relacionadas no nível conceitual. Se isso ocorre, instâncias da ontologia fonte são transformadas em instâncias da ontologia alvo de acordo com suas relações semânticas (SILVA, 2004), dando origem a mapeamentos que serão responsáveis pela transformação das instâncias da ontologia fonte (advindas das diversas instituições do domínio educacional) para as instâncias da OB, que constituirão a fonte de alimentação para o Portal Semântico. A figura 4.4 apresenta um exemplo do processo de mapeamento entre duas ontologias: Neste exemplo, são visualizados dois subconjuntos de duas ontologias: a primeira está representando uma OE retornada da Web; e a segunda, uma visão parcial da ontologia educacional. Os retângulos com linha cheia representam os conceitos e as tracejadas representam instâncias destes conceitos. As linhas cheias representam a relação existente entre as duas entidades que foram definidas como similares pelo mecanismo de casamento e as que possuem seta indicam o fluxo de transferência das informações. A partir dessa etapa, a entidade Master da OE, que possui a instância Computer Science, é transferida para a entidade Master Program da OB. Segue-se com a entidade Department, com sua instância Computer and Information Science Engineering, que é também transferida para a entidade Institution Units da OB,e por fim a entidade University com sua instância University of Florida que também é transferida para a 95

97 FIG. 4.4: Mecanismo de Mapeamento entidade Academic Research Institution da OB MÓDULO DE BUSCA Neste módulo é proposto o uso de uma máquina de busca semântica para recuperar, indexar, analisar e pesquisar documentos semânticos, ou seja, documentos RDF, XML, DAML, OWL, dentre outros, objetivando facilitar a navegação e acesso aos dados. Como descrito anteriormente, o módulo semântico é responsável pela formulação das cadeias de busca que servirão de entrada para o presente módulo. Por exemplo, através da expressão de consulta: (Academic Research Institution) OR (University OR School OR Academic Institution OR Research Institution OR Centro de Pesquisa OR Centro de Ensino Superior OR Faculdade OR Universidade) é recuperado o seguinte documento semântico, conforme visualizado na figura 4.5: O documento recuperado é um arquivo RDF/OWL que apresenta uma ontologia e corresponde a uma OE. Observa-se que o termo Academic Research Institution da cadeia/expressão da consulta não aparece no documento recuperado. Isto pode ocorrer devido a recursos utilizados pelas ferramentas de busca, que se valem de um dicionário 96

98 FIG. 4.5: Documento semântico (arquivo RDF/OWL visualizado no Protégé) de termos adicional. Neste exemplo, o termo University foi considerado equivalente ao termo Academic Research Institution, justificando desta forma a recuperação do referido documento. A arquitetura proposta inclui também a utilização de uma máquina de busca aberta para recuperar documentos na Web, como mostra o exemplo da figura 4.6. O documento da figura 4.6 foi recuperado com base nos seguintes termos da OB: educational program e sinônimos como academic programs. O documento da figura 4.6 foi recuperado da universidade de Harvard, e seu link será visualizado na área de recomendação de links. Dessa forma, quando um usuário navegar pelo portal, por exemplo, na faceta de programas educacionais, este documento poderá ser encontrado. Este módulo é muito importante no contexto deste trabalho, pelo fato de ajudar a 97

99 FIG. 4.6: Página HTML retornada pelo mecanismo de busca Fonte: dinamizar a recuperação de novas informações que serão instanciadas no portal semântico (FERREIRA e DA GAMA, 2008) MÓDULO DE KDD O principal objetivo deste módulo é classificar e fornecer ao portal semântico links de páginas na Web associados às informações educacionais, porém recuperadas através de um serviço de busca aberto na Web (e.g. Google, Yahoo). Os documentos HTML recuperados com base nos conceitos da OB passam então por um módulo de KDD (Knowledge Discovery in Database) (FRAWLEY et al., 1991), servindo como um filtro para a seleção dos documentos mais relevantes. Este módulo, complementar ao módulo semântico, visa aprimorar a coleta de informações para o portal, pois recupera também conteúdos informacionais através de serviços de busca tradicionais, preparando-os para a etapa posterior de instanciação no portal. A recomendação de links do portal é feita a partir de categorias previamente definidas, considerando a OB (PINHEIRO, 2004). A finalidade desses sistemas de recomendação de links é localizar fontes de informação relacionadas ao interesse ou necessidade do usuário (MONTANER et al., 2002), fornecendo informações adicionais sem que o usuário realize uma busca. Os conceitos da OB descrita no capítulo 5 servirão como entrada para uma máquina de busca tradicional para a recuperação de páginas HTML do domínio em questão. 98

100 Estas páginas passarão então por uma etapa de clusterização, procurando identificar suas características comuns com os elementos de cada grupo ou classe escolhida com base nos termos da ontologia. Cada página será incluída no grupo ou classe com o/a qual mais se assemelha. Como exemplo, considere uma página do domínio educacional contendo informações sobre cursos de uma determinada universidade. Esta página poderia ser incluída como um link recomendado no grupo de programas educacionais e ser acessado posteriormente pelo usuário no portal, através da faceta Programas Educacionais MÓDULO DE INSTANCIAÇÃO Este módulo é responsável pela estruturação e instanciação dinâmica do portal semântico. Ele faz uso de regras para a geração automática de novos conhecimentos a partir do conhecimento mapeado das várias fontes de dados, tornando a recuperação e navegação de conteúdo mais inteligente. O processo de estruturação e instanciação do portal é composto por etapas, especificadas a seguir: a) Organização do Portal: estruturação das facetas; b) Materialização das instâncias do Portal Instâncias que compõem as facetas; Geração de novos conhecimentos com o uso de regras O portal possui funcionalidades que permite a recuperação facilitada de informações e outras funcionalidades adicionais, conforme apresentado a seguir: a) Funcionalidades principais: Busca de informações no portal: Busca de informação através de navegação do portal utilizando facetas; Busca de informação através de palavras chaves; b) Funcionalidades Adicionais 99

101 ORGANIZAÇÃO DO PORTAL: ESTRUTURAÇÃO DAS FACETAS O gerador do portal provê mecanismos necessários para a definição e montagem das facetas. As facetas são definidas em formato de arquivo n3 8, fazendo referência às ontologias que lhe dão origem. Neste mesmo arquivo existem referências a modelos de configuração de páginas Web para a montagem das facetas, traduzindo assim informações que estão em formato OWL e n3 para o formato HTML MATERIALIZAÇÃO DAS INSTÂNCIAS DO PORTAL a) Instâncias que compõem as facetas Uma vez definidas as facetas, o gerador pode, periodicamente ou sob demanda, extrair dos conceitos da ontologia as instâncias que compõem o portal. Estas instâncias são armazenadas no próprio arquivo da ontologia, mas podem também ser carregadas na memória ou a partir de um banco de dados. É importante observar que estas instâncias são classificadas de acordo com os conceitos que compõem uma determinada faceta. Isso ocorre justamente pelo fato das facetas terem sido definidas a partir de propriedades da própria ontologia que ligam estes conceitos entre si e destes possuírem suas próprias instâncias (FERREIRA e DA GAMA, 2008). Quando a ontologia e suas instâncias de dados estão separadas em arquivos diferentes ou utilizando um banco de dados, o sistema verifica a ligação das mesmas através das referências existentes nos arquivos de configuração. b) Geração de novos conhecimentos com o uso de regras A Web Semântica vislumbra a idéia de que dados na Web sejam definidos e ligados entre si, sendo assim processáveis por máquina nas etapas de automação, integração e reuso de aplicações. Para isso, computadores necessitam ter acesso a coleções estruturadas de informações (dados e metadados) e de um conjunto de regras de inferência que ajudem no processo de dedução automátitca (MATTOS et al., 2006). Dessa forma, regras podem inferir um fato não representado na ontologia, dando uma maior expressividade ao documento (BARRASA et al., 2004). No contexto deste trabalho, algumas regras, que são apresentadas na íntegra no capítulo 5, podem ser úteis na obtenção de algumas informações, a exemplo de:

102 1) Se os programas educacionais (?P) são providos pelas unidades institucionais (?U) e esta é parte de uma instituição de pesquisa (?I), então estes também são providos por uma instituição de pesquisa. provided Program By (?P,?U) part of(?u,?i) provided Program By (?P,?I); 2) Um programa educacional (?EP) deve obter um conceito (?C) superior a 3 para ser uma instância do portal, caso contrário este deve ser excluído; Education Program(?EP) concept(?c) greaterthan(?c, 3) Education Program(?EP) FUNCIONALIDADES a) Funcionalidades principais: Busca de informações no portal O portal deve permitir que o usuário possa recuperar informações de duas formas distintas e coligadas: através da navegação nas facetas; ou somente por palavras chaves, podendo combinar valores de instâncias dentro de expressões booleanas, conforme descrito a seguir. b) Funcionalidades Adicionais Cabe aqui ressaltar que, muito embora um portal contemple uma ampla gama de funcionalidades (THE DELPHI GROUP, 2000), não é objetivo do presente trabalho explorá-las completamente, e nem tão pouco desenvolvê-las. O objetivo vislumbrado no escopo desse trabalho é prover facilidades semânticas, ampliando o poder de integração de informações, instanciação e organização de conteúdos no portal com base em ontologias. 4.2 CONSIDERAÇÕES FINAIS Este capítulo apresentou a arquitetura proposta descrevendo como um sistema poderá oferecer um modo mais automatizado para organizar, integrar e instanciar informações em um portal semântico, tendo como base uma ontologia central. 101

103 De modo a conferir um mecanismo mais automático de instanciação de portais, foram previstos na arquitetura: mecanismos de montagem de consulta baseados em templates a partir da OB; mecanismos para calcular a similaridade entre conceitos das ontologias; técnicas de mapeamento; e um procedimento de instanciação do portal, diferindo de outros sistemas que, na maioria das vezes, procedem inserindo informações de forma manual, carecendo de mecanismos integradores de informações. O próximo capítulo detalhará as etapas de desenvolvimento do sistema SiGePos, bem como as características de implementação e tecnologias utilizadas nesse processo. 102

104 5 PORTAL SEMÂNTICO EDUCACIONAL : ESPECIFICAÇÃO E PROTOTIPAÇÃO Este capítulo tem como objetivo mostrar os aspectos de implementação do sistema gerador do POSEDU, apresentando o detalhamento de construção de todos os módulos do sistema. Inicialmente é feita uma descrição geral do sistema e das tecnologias e ferramentas utilizadas no desenvolvimento do portal, seguida da descrição das decisões e detalhes de implentação mais importantes de alguns dos módulos do sistema. 5.1 SISTEMA GERADOR DE PORTAIS SEMÂNTICOS (SIGEPOS) Conforme apresentado no capítulo 4, o objetivo da arquitetura proposta neste trabalho é que toda a execução do SiGePoS seja automática, ou seja, sem intervenção do usuário, bastando apenas que o sistema seja acionado e que o mesmo esteja conectado à Web. Este portal foi desenvolvido na linguagem de programação orientada a objetos Java 9, versão 1.5. O ambiente utilizado para o desenvolvimento da aplicação foi o Eclipse 10, em sua versão 3.0, integrado a um computador PC com um processador core duo de 1 GB de memória. Para auxiliar no desenvolvimento, foram utilizadas as bibliotecas Java dos pacotes Jena, de cujas interfaces é possível manipular classes, propriedades e instâncias de uma ontologia como classes Java. Para o módulo de casamento, foram selecionados e adaptados alguns dos componentes do mecanismo de cálculo de similaridades CMS (CROSI Mapping System)(KALFOGLOU e HU, 2005). Dentre os mecanismos de busca semântica disponíveis na literatura tais como o SemSearch (LEI, 2006) e o Swoogle (DING et al., 2004), este último foi escolhido para a execução das consultas por disponibilizar a interface REST (FIELDING, 2000). Nessa interface as consultas são compostas no formato HTTP GET e a recuperação dos resultados é fornecida através de uma página dinâmica Web, codificada em RDF/XML. A execução do mecanismo de cálculo de similaridade é realizada sobre as ontologias que compõem o documento codificado em RDF/XML. Este documento é analisado, a

105 partir do qual é aplicado um filtro para recuperar apenas as ontologias no formato OWL. Os links das ontologias são então recuperados e o cálculo das similaridades é realizado com as sub-árvores identificadas da OB. A partir disto ocorre o processo de filtragem das OEs, cuja seleção restringe-se apenas às ontologias que estão no formato OWL. Em seguida é realizado o processo de verificação de validade das OEs, sendo armazenadas no disco apenas as ontologias válidas para o domínio em questão. As instâncias das entidades consideradas similares são então copiadas para a ontologia base, cujas informações são utilizadas para popular o portal. Em seguida serão descritas as principais tecnologias utilizadas na implementação do sistema. No capítulo 4 a arquitetura proposta para o sistema gerador do POSEDU foi apresentada e descrita de forma genérica. Porém, na figura 5.1 a seguir, esta mesma arquitetura é reapresentada, desta vez com um enfoque mais específico e mais voltado ao contexto das tecnologias que foram utilizadas para a sua construção. FIG. 5.1: Arquitetura do SiGePoS Algumas das tecnologias e ferramentas utilizadas na implementação do SiGePoS são 104

106 descritas em mais detalhes a seguir. 5.2 SWOOGLE Swoogle (DING et al., 2004) é um mecanismo de busca de documentos, termos e dados semânticos encontrados na Web. Emprega um sistema de rastreamento para descobrir documentos RDF, OWL, DAML e XML e este extrai metadados para cada documento descoberto, computando relações entre eles. Os documentos descobertos são também indexados por um sistema de recuperação de informação. Caracteres N-Gram ou URIrefs podem ser usados como palavras chaves para encontrar documentos relevantes e para computar similaridades entre documentos. Em tempos da WS, sistemas de busca e de indexação mais poderosos tornaram-se cada vez mais um requisito relevante aos pesquisadores da área de WS, na tarefa de ajudá-los a encontrar documentos semânticos na Web. Tal sistema pode ser também usado para dar suporte a ferramentas em desenvolvimento, tais como editores de anotação. Vale destacar que o Swoogle também tem sido utilizado como mecanismo de busca semântica em outras pesquisas, a exemplo de (TRILLO et al., 2007). Neste trabalho o Swoogle é utilizado para descobrir a semântica das palavras chaves utilizadas em uma busca, ajudando a contextualizar a informação através de suas ontologias indexadas. 5.3 A API JENA Jena é um framework em Java para construção de aplicativos para a Web Semântica que provê um ambiente de programação para as linguagens de ontologias RDF, RDF Schema RDF Vocabulary Description Language e OWL, incluindo um mecanismo ou motor de inferência baseado em regras. Trata-se de um projeto iniciado nos laboratórios de pesquisa para a WS da empresa HP. Jena possui uma API específica para o tratamento de ontologias. Esta API transforma uma dada ontologia em um modelo abstrato de dados orientado a objetos, permitindo que seus termos possam a ser manipulados como objetos. Este modelo é baseado na linguagem em que a ontologia é escrita. Por exemplo, existem modelos específicos para OWL, DAML+OIL Darpa Agent Markup Language + Ontology Inference Layer, RDF, entre outros. A API em questão recupera as informações das tags das ontologias, que são específicas para cada uma das linguagens de ontologias. Nenhuma informação é deduzida, 105

107 já que a API não é um mecanismo de inferência. A grande vantagem de transformar ontologias em modelos orientados a objeto é que os termos das ontologias são tratados como objetos e, conseqüentemente, a programação OO pode ser utilizada. 5.4 ONTOLOGIA BASE PARA O PORTAL POSEDU (OBEDU) Como esse trabalho foi desenvolvido para o contexto educacional, tornou-se necessário construir uma ontologia para este domínio, a OBEDU. De forma a prover uma ontologia para o portal aprimorada e mais voltada para a realidade do país, foi realizado um estudo com enfoque nos portais educacionais relativo aos programas de graduação e pós-graduação no Brasil e no exterior, além dos portais institucionais de fomento que apóiam o ensino e pesquisa, como forma de coletar os requisitos necessários e adequados à organização de um portal dessa natureza. Para a construção dessa ontologia foi estudada também a LAG (Lista de Assuntos do Governo), cuja abordagem está inserida em uma iniciativa do governo, a arquitetura e-ping - Padrão de Interoperabilidade de Governo Eletrônico (EPING, 2006). Esta arquitetura tem como objetivo definir um conjunto mínimo de premissas, políticas, especificações e técnicas que regulamentam a utilização da Tecnologia de Informação e Comunicação (TIC) na interoperabilidade de Serviços de Governo Eletrônico, estabelecendo as condições de interação com os demais poderes e esferas do governo e com a sociedade em geral. A LAG em muito contribuiu para selecionar os assuntos relevantes no âmbito da graduação e pós-graduação no país. Em termos metodológicos para a construção dessa ontologia, foi adotada a abordagem proposta por Uschold e King (USCHOLD, 1996), que possui basicamente quatro etapas principais: a) identificação do propósito e escopo; b) construção da ontologias com a codificação e integração com as ontologias existentes; c) avaliação e a documentação desta ontologia. A OBEDU tem como objetivo permitir a visualização de informações educacionais no nível de: instituições de ensino e pesquisa e os programas educacionais oferecidos por cada um, relacionados aos cursos de graduação, pós-graduação e cursos de extensão, incluindo também aqueles oferecidos a distância; conceitos obtidos e áreas de atuação de cada programa, com seus respectivos projetos e grupos de pesquisa; instituições avaliadoras e órgãos que fomentam estes programas, tais como: recursos para projetos, bolsas para cursos de pós-graduação e programas específicos para graduação, que contemplam 106

108 intercâmbio de alunos em universidades no exterior, dentre outros. Os passos adotados no desenvolvimento do modelo ontológico foram definidos a partir das seguintes premissas: Definição dos objetivos alvo da ontologia, determinando para que e por quem será utilizada; Pesquisas em portais educacionais de programas de graduação, pós-graduação e órgãos de fomento de ensino e pesquisa como instrumento de coleta de requisitos; Busca por ontologias para reutilização; Definição de questões de competência; Definição dos conceitos básicos da ontologia base; Definição das hierarquias da ontologia a partir dos conceitos básicos; Definição dos relacionamentos entre os conceitos; Avaliação da ontologia a partir de: a) questões de competência; b) definição das facetas para o portal semântico; Questões de competência Uma das fases de desenvolvimento da OBEDU foi a elaboração das questões de competência. Essas permitiram orientar a construção das consultas de interesse do público alvo do portal educacional, algumas das quais obtidas também por inferência. As questões de competência foram expressivas na determinação dos relacionamentos entre os temos da ontologia. A seguir são apresentadas algumas das questões de competência relacionadas à OB proposta. a) Que instituições oferecem cursos de doutorado em uma determinada área de conhecimento? b) Que projetos de pesquisa estão sendo desenvolvidos em uma determinada unidade institucional ou programa? 107

109 c) Que programas de doutorado são oferecidos em uma dada instituição? d) Quais instituições oferecem cursos a distância? e) Que grupos de pesquisa trabalham em uma determinada área? f) Com quais instituições uma dada instituição mantém cooperação? g) Que linhas de pesquisa são desenvolvidas em um dado programa de mestrado? h) Que programas de mestrado oferecem uma dada área de pesquisa? i) Que instituições de pesquisa oferecem bolsas de uma modalidade específica? j) Que programas de pós-graduação são suportados por uma determinada instituição financeira? k) Quais grupos de pesquisa participam de uma determinada área de pesquisa? l) Quais projetos participam de uma determinada área de pesquisa? m) Quais programas educacionais são suportados por uma determinada instituição financeira? n) Que cursos graduação/pós-graduação têm um determinado conceito? o) Que conceito tem um determinado curso (graduação/pg)? p) Quais são os programas de intercâmbio estudantil internacionais existentes com uma determinada instituição? q) Com quais instituições uma dada instituição mantém cooperação internacional? A OB construída, apresentada na Figura 5.2, descreve os termos, relacionamentos e propriedades que compõem a ontologia base: Os conceitos oriundos de relacionamentos de especialização, tais como os relacionamentos do tipo is-a, são descritos em ontologias numa organização hierárquica. Nesta figura, os conceitos Education Program e os seus descendentes em primeiro grau Extensional Course Program, Higher Education Program, bem como descendentes de segundo grau Graduation Program e Undergraduation Program e de terceiro grau Master Program e PHD Program estão organizados em uma relação 108

110 do tipo is-a. Outro relacionamento de especialização descrito na ontologia base é composto pelo conceito pai Academic Funding e seus conceitos descendentes International Student Program Cooperation e Scholarships Support Program. Relacionamentos associativos simples e agregações, que são um caso particular da associação do tipo parte-de/todo são representados de forma não hierárquica por propriedades. Como exemplo dessa associação tem-se o conceito Academic Research Institution que é associado ao conceito Institution Units através de uma agregação do tipo parte-de, significando que cada unidade institucional é parte de uma única instituição de pesquisa acadêmica. Já no caso de relacionamento associativo simples, a OB é composta por vários casos, como por exemplo: o conceito Education Program é associado ao conceito Institution Units através da propriedade provided Program by, representando uma simples associação entres os dois conceitos, onde cada programa educacional é provido por uma determinada unidade institucional. Já os filhos de segundo grau de Education Program, representados neste caso pelos conceitos Graduation Program, que está associado ao conceito Academic Funding através da propriedade type Graduation Funding, e Undergraduation Program, ligado também ao conceito Academic Funding através da propriedade type Undergraduation Funding, descrevem os tipos de recursos que estes programas (gra duação e de pós-gaduação) podem usufruir, tais como: tipos de bolsas de estudos e programas de cooperação no exterior. Existem ainda outros relacionamentos que representam associações simples, tais como: o conceito Research Group que está associado ao Institution Units através da propriedade associated to, indicando as instituições das quais fazem parte aquele grupo de pesquisa e a RA:Research Sub através da group Works In, para especificar a área de atuação daquele grupo de pesquisa; Research Project que está associado ao conceito RA:Research Sub Area através da propriedade project contributes to, para indicar a área de conhecimento do projeto em questão, como também Education Program ligado às propriedades offers Reserch Area, e offers Research Project, determinando respectivamente as áreas e projetos de pesquisa vinculados a um programa. Estes conceitos e relacionamentos descrevem pesquisas que são realizadas por determinados programas educacionais caracterizados pela existência de grupos e projetos de pesquisa. É importante citar que o conceito RA:Research Sub Area está associado a uma taxonomia com a nomenclatura de termos que compõem as áreas do conhecimento disponibilizadas 109

111 pelo CNPQ. 11 Outros conceitos como Academic Research Institution, que é ligado ao conceito International Student Program Cooperation através da propriedade has Students Exchange Program, e International Student Program Cooperation com Academic Research Institution através da propriedade program Exchanges With, permitem representar respectivamente as instituições que estabelecem acordos de intercâmbio internacional estudantil (duplo-diploma, por exemplo). O conceito Finantial Institution for Research Support é associado ao conceito Academic Funding através da propriedade supplies Funding, bem como o conceito Research Project está associado ao conceito Finantial Institution for Research Support através da propriedade funding by. Estes relacionamentos servem para descrever respectivamente os recursos disponíveis pelas instituições de suporte a pesquisa para apoio aos projetos. O conceito Higher Education Program está ligado ao conceito Finantial Institution for Research Support através da propriedade supported By representando quais instituições de suporte a pesquisa dão suporte a determinados programas de nível superior. O conceito Education Program é associado ao conceito Evaluator Institution através da propriedade evaluated by, indicando as instituições que avaliam os programas educacionais. O conceito Academic Research Institution é ligado ao conceito CC:City através da propriedade location, sendo importante destacar que o conceito CC:City está associado a uma outra taxonomia composta por países e cidades. A ontologia também apresenta o auto-relacionamento especificado pela propriedade Instituitions cooperation, que associa o conceito Academic Research Institution a ele mesmo, objetivando mostrar a cooperação entre essas Instituições de ensino e pesquisa. A OB requer uma representação em termos formais, sendo necessário para isto um ambiente de construção amparado por linguagens da WS. Desta forma, o grupo W3C 12 (World Wide Web Consortium), responsável pelo desenvolvimento e divulgação da WS, vem desenvolvendo diferentes tecnologias, dentre as quais podemos destacar as linguagens para representação de ontologias, já estudadas no capítulo 2, que permitem formalizar explicitamente o conhecimento, denominadas de ferramentas para gerenciamento das ontologias (LACHTIM et al., ISSN: ), e regras que permitem a dedução de novos conhecimentos do conhecimento.pdf

112 FIG. 5.2: Ontologia Base para o portal POSEDU 5.5 MÓDULO DE BUSCA Neste módulo é proposto o uso da máquina de busca semântica Swoogle para recuperar, indexar, analisar e pesquisar documentos semânticos na Web, i.e, documentos RDF, XML, DAML, OWL, dentre outros. Como já mencionado anteriormente, a interface de busca REST (FIELDING, 2000), permite a composição de consultas em HTTP GET, recuperando os resultados como uma página dinâmica Web codificada em RDF/XML. Foi desenvolvido uma ontologia (anexo A) que codifica semanticamente os metadados do Swoogle e a descrição dos resultados das consultas. A composição das consultas utilizando a interface REST é feita conforme especificação abaixo: Uma consulta é representada como uma URL: REST QUERY::= SERVICE URI? PARAMS swd ontology&searchstring=service&key=demo O parâmetro querytype especifica o tipo de recurso a ser pesquisado, que neste caso são 111

113 as ontologias. Já o parâmetro searchstring define quais strings participarão da busca, e por fim o parâmetro key=demo permite apenas a recuperação dos primeiros 25 resultados de busca. Os resultados são retornados de acordo com os templates montados a partir da ontologia base (OBEDU), conforme descrito na seção 5.6, em conjunto com a consulta especificada anteriormente. O retorno das consultas submetidas ao Swoogle é constituído basicamente de documentos no formato RDF/XML, contendo informações úteis, a exemplo dos links das ontologias externas. Estes resultados são nomeados da seguinte forma: montaconsultagrupoa [i].xml e são interpretados pelo parser DOM, que cria as visões de árvores a partir das informações conseguidas com a leitura destes arquivos. A máquina de busca aberta Yahoo 13 está sendo utilizada para recuperar documentos em HTML, trabalho ora em desenvolvimento (FERREIRA e DA GAMA, 2008). 5.6 MÓDULO SEMÂNTICO Conforme mencionado no capítulo 4, o módulo semântico é responsável pela alimentação dinâmica da ontologia base. Periodicamente, este módulo aciona o mecanismo monta consulta semântica, que formula e monta as consultas antes de submetê-la à máquina de busca semântica Swoogle. Para tanto, as expressões foram classificadas segundo os grupos de consulta permitidos pela máquina Swoogle, onde palavras chaves são conectadas entre si através de conectores booleanos AND e OR. Entretanto, pode-se ou não omitir o uso do AND na expressão da consulta, utilizando apenas um espaço em branco entre as palavras. Já o conector booleano OR participa da expressão da consulta. Assim, o template Monta Consulta: <Monta Consulta 1>::= (Education Program) OR (Academic Program OR educational activity OR Course OR Programa Acadêmico OR Ensino acadêmico) OR Higher Education Program OR Extensional Course Program) é transformado para a expressão aceita pela interface REST a seguir, antes de ser submetido ao Swoogle:

114 <Monta Consulta1>::= swd ontology + &searchstring= + Education Program AND Academic Program OR educational activity OR Course OR Programa Acadêmico OR Ensino acadêmico OR Higher Education Program OR Extensional Course Program OR Distance Learning Program + &key=demo ); A partir destas consultas já transformadas, o módulo de busca Swoogle é acionado, em busca de documentos semânticos que possuem coincidências com o template especificado. Vale a pena observar que, apesar do Swoogle limitar o número de consultas a recuperação de apenas 25 dos primeiros resultados de busca, ele provê serviços de busca através da interface REST. Segundo (FIELDING, 2000), o uso do comando GET diminui o consumo de banda durante as requisições, facilitando também a interpretação semântica já existente em proxies, firewalls e caches existentes no nível de transporte das mensagens, e não se prendendo a tipos de variáveis. Isso permite classificá-lo como uma estrutura de fraco acoplamento segundo os preceitos iniciais dos web services. 5.7 MECANISMO DE CASAMENTO Os documentos semânticos selecionados no formato OWL passam por um processo de casamento, definido como um mecanismo de descoberta de similaridades entre as ontologias fontes e alvo. Conforme será demonstrado no capítulo 6, a versão do CMS estendido, contribuição importante desse trabalho, é o software utilizado para o cálculo de similaridades no sistema proposto. Este, por exemplo, permite a agregação de vários métodos de casamento, e, além disto, utiliza o pacote secondstring para o cálculo de similaridades baseado em cálculos de edit distance. O algoritmo de cálculo de similaridades foi organizado com base nos requisitos supracitados. Inicialmente a extensão do CMS verifica as pequenas diferenças sintáticas entre os termos da ontologia fonte e alvo com base no algoritmo de edit distance. Em seguida verifica-se os termos sinônimos utilizando um conhecimento adicional, baseado em um dicionário de sinônimos cujos valores são armazenados em uma base de dados. Após este cálculo, o contexto do termo é levado em consideração. Recupera-se todas as propriedades, domínio e range de cada propriedade relacionada aos termos, comparando-os com algoritmos de edit distance e seus sinônimos, a partir do qual a similaridade inicial armazenada é refinada. Outra informação de contexto levada 113

115 em conta são os cálculos de similaridades envolvendo os ancestrais e descendentes dos termos, cujos valores são utilizados também para refinar a similaridade anterior. No capítulo 6 são citadas algumas heurísticas para determinar um valor numérico arbitrário para as classes que possuam propriedades. A seguir serão descritas as principais alterações realizadas no CMS e as especificidades que caracterizam a extensão proposta por esse trabalho, aqui denominada de mecanismo CMS-estendido ADAPTAÇÕES DO CMS (CMS-ESTENDIDO) Casamento direcionado é o processo de submeter as expressões de consulta à máquina de busca semântica (Swoogle), retornando os resultados que são armazenados em uma base de dados. Estes resultados são informações referentes as entidades relativas das consultas e que possivelmente estão contidas nos documentos semânticos retornados. Somente estas possíveis entidades são utilizados no cálculo de similaridades. Na tabela 5.1 a base de dados com as informações relativas às consultas pode ser observada. TAB. 5.1: Base de Dados - Consulta com os Conceitos Principais Código Consulta Template Conceito Principal 1 Template1 Education Program 2 Template1 Research Sub Area 3 Template1 Research Project 4 Template1 Research Group 5 Template1 Academic Funding 6 Template1 Academic Research Institution 7 Template1 Support Research Institution 8 Template1 Institution Units A partir de cada conceito principal, seus descendentes e propriedades que possivelmente fazem parte do documento retornado são armazenados, conforme pode ser observado na tabela 5.2. A tabela ilustra alguns conceitos subordinados e propriedades do conceito de código 1, referente ao termo Program Education e ao template: <Monta Consulta1>::= swd ontology + &searchstring= + Education Program AND Academic Program OR educational activity OR Course OR Programa Acadêmico OR Ensino acadêmico OR Higher Education Program OR Extensional Course Program + &key=demo ); Já na tabela 5.3 observa-se os documentos recuperados e que estão no contexto das consultas referentes aos termos principais Education Program e Institution Units: Além do casamento direcionado, algumas das classes do sistema foram selecionadas 114

116 TAB. 5.2: Base de Dados - Consulta com os conceitos subordinados e propriedades Código Código Consulta Entidade Classificação 1 1 offers Reserch Area Propriedade 2 1 program Provided By Propriedade 3 1 offers Research Project Propriedade 4 1 Higher Education Program SubConceito 5 1 Graduation Program SubSubConceito TAB. 5.3: Base de Dados - Documentos recuperados Código Documento Código Consulta Endereço Documento 1 1 file:/e:/projeto/ontologias/ontologiasexternas/ontologia1.owl 2 1 file:/e:/projeto/ontologias/ontologiasexternas/ontologia2.owl 1 8 file:/e:/projeto/ontologias/ontologiasexternas/ontologia3.owl 2 8 file:/e:/projeto/ontologias/ontologiasexternas/ontologia4.owl como alvo de extensão. Uma das classes escolhidas para o cálculo de similaridades foi a OntStructurePlusMatcher, pelo fato desta considerar as propriedades, domínio e range dos termos. Entretanto, algumas alterações foram realizadas com o objetivo de melhorar a precisão e revocação da recuperação dos termos, conforme comprovada no capítulo 6. Para tal, foi adicionado às propriedades seus respectivos domínio e range. Além disso, o algoritmo apenas verificava as propriedades que possuíam algum tipo de restrição. Assim, uma alteração foi implementada para verificar qualquer propriedade, independentemente de restrição. Outra classe escolhida foi a OntCanoNameMatcher, que toma como base o nome canônico de um conceito, que é o nome da classe concatenado com o nome local de sua classe pai, ou se não possui pai, concatena-o com os filhos. Por exemplo, se uma classe A é Subclasse de B que é Subclasse de C, então os nomes canônicos de A e B são C.B.A e C.B respectivamente. Os termos são extraídos das ontologias fonte (OE) e alvo (OB), gerando nomes canônicos, para a seguir compará-los com os métodos de edit distance. A esta etapa foi adicionada, como extensão, a comparação com os termos sinônimos, oriundos do dicionário de sinônimos (Anexo B). Além disso, esta classe verificava apenas a hierarquia de conceitos diferentes da OE e OB, ou seja, conceitos como Institution Units de uma OE e Institution Units da OB já eram considerados similares sem levar em consideração seu contexto. Foi realizada então uma alteração adicional para verificação da hierarquia de todos os conceitos, considerando assim o seu entorno contextual, tratando também da hierarquia dos filhos, não considerada antes, já que somente os pais dos conceitos eram levados em conta. 115

117 5.8 MÓDULO DE INSTANCIAÇÃO DO SIGEPOS A partir da instanciação da ontologia base com as informações recuperadas da Web, o sistema poderá consultá-las para então popular o portal semântico POSEDU 14. O gerador de portais SWED (SWED, 2004) foi escolhido por apresentar inúmeras facilidades (vide capítulo 3), principalmente no que diz respeito ao sistema de navegação baseado em facetas, provendo assim visões múltiplas e simultâneas para uma coleção de informações, conforme visualizado na figura 5.7, onde usuários podem explorar informações através das facetas, elaboradas com base numa ontologia. Este sistema também, no capítulo 3, apresenta sua arquitetura através da figura 3.6. A seguir (figura 5.3) será exposto com mais detalhes parte desta arquitetura referente ao componente portal Viewer pelo fato de ser o maior responsável pela instanciação de informações do portal. FIG. 5.3: Componente Portal Viewer da Arquitetura do Sistema SWED Fonte (SWED, 2004) O Portal Viewer importa a informação e a processa para ser exibida ao usuário, gerando as visões dinamicamente com base nos modelos. O mesmo adota um padrão de projeto conhecido como Model-View-Controller (MVC). Uma instância de portal é especificado por um DataSource, que, por sua vez, dá acesso às representações de um conjunto de facetas, dentre outras funcionalidades fornecidos pela biblioteca Jena. O componente View utiliza o Jakarta Velocity para recuperar os recursos de acordo com um conjunto de templates. O Controller é um servlet java que recebe requisições para visualizar recursos ou um conjunto de resultados de busca casadas com algum filtro. Este determina também o template apropriado para usar sobre a máquina Velocity. Este 14 posedu/ 116

118 trabalho utiliza o componente Portal Viewer do SWED através do módulo de instanciação. FIG. 5.4: Arquitetura do SiGePoS em relação ao SWED Na figura 5.4 a arquitetura do SiGePoS está sendo apresentada através de uma nova nuance sob a arquitetura do SWED permitindo uma melhor comparação entre os mesmos. É conveniente destacar que componente Portal Viewer é utilizado na implementação do SiGePoS seguindo exatamente as mesmas especificações já detalhadas nesta seção. A seguir são apresentados alguns itens que compõem a etapa para possibilitar a estruturação e instanciação das facetas do portal comentadas no capítulo 4: Configuração do Portal Definindo as facetas Geração das facetas através de regras de inferência A etapa de busca de informações é composta por alguns itens que também foram comentados no capitulo 4 e que são explicitados a seguir: Busca de informação através de navegação do portal utilizando facetas; Busca de informação através de palavras chaves; CONFIGURAÇÃO DO PORTAL O principal arquivo de configuração que define as fontes de dados a serem visualizadas no portal é o WEB-INF/config/sources.n3, sendo este um arquivo RDF em sintaxe N

119 As propriedades usadas para descrever uma fonte de dados neste arquivo são definidas segundo um vocabulário RDF, através do arquivo portal-config-vocab.n3. Para compartilhar estes vocabulários é utilizado o prefixo pcv. Desta forma, cada fonte de dados é definida como um tipo de recurso pvc:datasource e com um número de propriedades definidas. As fontes de dados utilizam uma string de codificação, no caso wwite, que é usada para sua identificação em uma requisição http para o portal. Também é necessário um inteiro número de ordem, que é usado para organizar as fontes de dados. A fonte de dados é descrita através de label descritivo, conforme visualizado a seguir: rdf:type pcv:datasource; rdfs:label Ontologia no Domínio Educacional ; pcv:encoding wwite ; pcv:order 10 xsd:integer ; dc:description Ambiente com instâncias da ontologia no domínio educacional ; Os dados podem ser divididos em dois grupos: ontologias e instâncias de dados. Estes não necessariamente possuem uma clara separação, mas os arquivos tratados como ontologias são carregados em memória e consultados de acordo com os relacionamentos hierárquicos entre conceitos nas facetas. As instâncias de dados podem ser carregadas na memória ou encontradas em um banco de dados. Todas as buscas e consultas checam a união da ontologia e suas instâncias de dados. Neste caso, as instâncias de dados estão no mesmo arquivo da ontologia owl, conforme especificado a seguir: pcv:ontologysourceurl < portal : //data/ontologiabase.owl > A propriedade básica final e requerida pcv:stylesheet é usada para definir o estilo CSS utilizado para a visualização dos templates. pv:stylesheet swed style.css DEFININDO AS FACETAS Os templates padrão do portal provêm uma interface de navegação facetada, onde facetas são especificadas como parte da configuração da fonte de dados. Estas são definidas usando a propriedade pcv:facet para apontar um recurso, através de uma instância da classe pcv:facet. 118

120 Existem atualmente duas subclasses concretas de pcv:facet suportadas no SWED: pcv: HierarchicalFacet recursos indexados são classificados por conceitos arranjados em alguma estrutura hierárquica; e pcv:alpharangefacet recursos são agrupados pela primeira letra de uma propriedade de valor literal. Uma faceta declarada como apenas uma pcv:facet será tratada como uma faceta flat, com um simples conjunto de literais permitidos e valores de recursos (SWED, 2004). Um exemplo de definição de facetas será descrito a seguir: Nota-se que a faceta Programa Educacional: Instituicao de Ensino/Pesquisa é do tipo pcv:hierarchicalfacet ou seja, é constituído de uma estrutura hierárquica que envolve instituições de ensino e pesquisa e suas unidades institucionais, onde a pcv:facetbase pfc:academic Research Institution Entity 1 se caracteriza como raiz da hierarquia artificial. Esta hierarquia é mostrada na figura 5.5: FIG. 5.5: Definição e Hierarquia de Facetas 119

121 5.8.3 GERAÇÃO DAS FACETAS ATRAVÉS DE REGRAS DE INFERÊNCIA Quando os arquivos de dados são carregados, estes podem ser processados e submetidos a um conjunto de regras pré-definidas. Estas regras de inferência podem ser usadas tanto para implementar partes relevantes de processamento de RDFS e OWL, como para introduzir restrições de integridade (ou de negócio) específicas ao domínio da aplicação e ainda para computar o fechamento transitivo de propriedades dos tesauros (SWED, 2004). É conveniente ressaltar que apesar de existirem várias linguagens de regras na literatura, conforme já mencionado no capitulo 2, o sistema SWED faz uso da linguagem de regras do Jena 16. As regras de inferência são especificadas usando a propriedade de configuração pcv: closurerulesurl, que aponta para um arquivo texto contendo regras com a sintaxe do Jena. As regras escritas em Jena são executadas utilizando a própria API do Jena sobre uma base de dados em OWL. Essas regras são definidas pelo objeto Java rule da seguinte forma: uma lista de termos que formam os predicados que compõem o corpo da regra, identificando as suas premissas; uma lista de termos que compõem o predicado único da cabeça da regra, identificando a sua conclusão; e por fim um nome para identificar a regra e uma direção, que são opcionais. A figura 5.6 resume a sintaxe informal das regras Jena: FIG. 5.6: Regras Jena

122 Estas regras são usadas para processar um conjunto de instâncias de dados e executálas em um contexto onde a ontologia base também é visível para um conjunto de regras. A seguir são apresentadas algumas regras que o SiGePoS utiliza para a realização de inferência. As inferências realizadas no item a) são necessárias para garantir a hierarquia entre as entidades da faceta de tipo de programa educacional. #inferências necessárias para faceta de categoria de programa educacional a) (?P rdf:type pfc:master Program) > (?P pfc:graduation program type pfc:master entity). (?P rdf:type pfc:phd Program) > (?P pfc:graduation program type pfc:phd entity). (?P rdf:type pfc:undergraduation Program) > (?P pfc:graduation program type pfc:undergraduation entity). (?P rdf:type pfc:extensional Course Program) > (?P pfc:graduation program type pfc:extensional course entity). A inferência do item b) é relativa à faceta: Programa Educacional: Instituição Ensino/Pesquisa, e pode ser interpretada da seguinte forma: se os Programas Educacionais são providos pelas unidades institucionais e esta é parte de uma instituição de pesquisa, então esta provê programas educacionais: #inferências relativas à faceta de instituição de pesquisa/unidade de programa educacional b) (?P pfc:provided Program By?D) > (?P pfc:provided Program By cl?d). ((?P pfc:provided Program By cl?d) (?D pfc:part Of?U) > (?P pfc:provided Program By cl?u). Além disso no item c), se um programa educacional possuir um conceito menor do que três, os programas educacionais não participarão das facetas: c) (?P pfc:concept?c) lessthan(?c, 3) > drop(0). A inferência do item d) é referente à faceta de: Programa Educacional: Área de Pesquisa, e pode ser interpretada da seguinte forma: se um determinado programa educacional oferece determinadas sub áreas de pesquisa, e estas fazem parte de determinadas grandes áreas de pesquisa, então os programas educacionais também as oferecem. 121

123 #inferências relativas à faceta de área de pesquisa de programa educacional d) (?P pfc:offers Reserch Area?A) > (?P pfc:offers Reserch Area cl?a). (?P pfc:offers Reserch Area cl?s) (?S RA:part Of?A) > (?P pfc:offers Reserch Area cl?a). A inferência do item e) é referente à faceta de: Programa Educacional: Bolsa de Estudo, e pode ser interpretada da seguinte forma: se um determinado programa de graduação possui um recurso financeiro e este recurso é uma bolsa de estudo, então este programa realmente possui uma bolsa de estudo. E se um determinado programa de pós-graduação possui um recurso financeiro e este recurso é uma bolsa de estudo então este programa realmente possui uma bolsa de estudo. #inferências necessárias para faceta de bolsa de estudo de programa educacional e) (?P pfc:type Undergraduation Funding?F) (?F rdf:type pfc:scholarships Support Program) > (?P pfc:program has scholarship?f). (?P pfc:type Graduation Funding?F) (?F rdf:type pfc:scholarships Support Program) > (?P pfc:program has scholarship?f). A inferência do item f) é referente à faceta de: Grupo de Pesquisa: Instituição de Ensino/Pesquisa, e pode ser interpretada da seguinte forma: se grupos de pesquisa são associados a unidades institucionais e estas fazem parte de instituição acadêmica então os grupos também são associados pela instituição de pesquisa. #inferências relativas à faceta de instituição de pesquisa/unidade de grupo de pesquisa f) (?G pfc:associated To?D) > (?G pfc:associated To cl?d). (?G pfc:associated To cl?d) (?D pfc:part Of?U) ( > (?G pfc:associated To cl?u). A inferência do item g) é referente à faceta de: Grupo de Pesquisa: Área de Pesquisa, e pode ser interpretada da seguinte forma: se um grupo de pesquisa trabalha em determinada sub área de pesquisa e esta faz parte de uma grande área de pesquisa então o grupo de pesquisa também trabalha na grande área. 122

124 #inferências relativas à faceta de área de pesquisa de grupo de pesquisa g) (?G pfc:group Works In?A) > (?G pfc:group Works In cl?a). (?G pfc:group Works In cl?s) (?S RA:part Of?A) ( > (?G pfc:group Works In cl?a). A inferência do item h) é referente à faceta de: Projeto de Pesquisa: Instituição de Ensino/Pesquisa, e pode ser interpretada da seguinte forma: se projetos de pesquisa são oferecidos por programas educacionais e estes são providos por unidades institucionais então os projetos são também providos pelas unidades institucionais. E se projetos de pesquisa são providos por uma unidade institucional e esta é parte de uma instituição de pesquisa então os projetos também são providos pela instituição de pesquisa. #inferências relativas à faceta de instituição de pesquisa/unidade de grupo de pesquisa (?EP pfc:offers Research Project?RP) (?EP pfc:program Provided By?U) h) > (?RP pfc:project provided by?u). (?RP pfc:project provided by?u) > (?RP pfc:project provided by cl?u). (?RP pfc:project provided by cl?u) (?U pfc:part Of?I) > (?RP pfc:project provided by cl?i). A inferência do item i) é referente à faceta de: Projeto de Pesquisa: Área de Pesquisa, e pode ser interpretada da seguinte forma: se um projeto de pesquisa contribui com determinada sub área de pesquisa e esta faz parte de uma grande área de pesquisa então o projeto de pesquisa também contribui com a grande área. #inferências relativas à faceta de área de pesquisa de projeto de pesquisa i) (?P pfc:project Contributes To?A) > (?P pfc:project Contributes To cl?a). (?P pfc:project Contributes To cl?s) (?S RA:part Of?A) > (?P pfc:project Contributes To cl?a). A inferência do item j) é referente à faceta de: Instituição de Ensino/Pesquisa: Localização, e pode ser interpretada da seguinte forma: se uma instituição de pesquisa esta localizada em uma cidade e esta faz parte de um país, então esta instituição também esta localizada neste país. 123

125 #inferências relativas à faceta de localização de instituição acadêmica j) (?I pfc:location?c) > (?I pfc:location cl?c). (?I pfc:location cl?c) (?C CC:part Of?P) > (?I pfc:location cl?p). A inferência do item k) é relativa à faceta de: Instituição de Ensino/Pesquisa: Instituição parceira, e pode ser interpretada da seguinte forma: se uma Instituição I1 coopera com uma Instituição I2 consideramos que exista uma simetria. k) (?Upfc:instituitions Cooperation?V) >(?Vpfc:instituitions Cooperation?U). A inferência do item l) é referente à faceta de: Instituição de Ensino/Pesquisa: Programa de Cooperacao de Estudantes, e pode ser interpretada da seguinte forma: se uma instituição de pesquisa possui um programa de cooperação de estudantes e este possui um tipo de cooperação então a instituição de pesquisa possui este tipo de cooperação l) #Inferência relativa ao tipo de programa de cooperação que uma instituição mantém (?I pfc:has Students Exchange Program?P) (?P pfc:cooperation Type?T) > (?I pfc:institution has coop type?t) INTERFACE DE BUSCA DE INFORMAÇÕES NO PORTAL A partir da definição e geração das facetas, o sistema extrai dos conceitos da OB as instâncias que compõem o portal. Desta forma, o portal permite que o usuário possa realizar buscas de informação de duas formas distintas e coligadas: através da navegação nas facetas; ou somente por palavras chaves, podendo combinar valores de instâncias dentro de expressões booleanas, conforme descrito a seguir: Busca de informação através de navegação do portal utilizando facetas O Gerador do Portal é o módulo responsável por prover as facetas de navegação do portal, conforme visualizadas na figura 5.7 e já explicitadas na seção 5.8. Nesta abordagem multi-facetada, o usuário poderá navegar selecionando os itens da faceta, a exemplo do item Instituto Militar de Engenharia - IME, da faceta Programa Educacional: Instituições de Ensino/Pesquisa e na mesma faceta, a Seção de Engenharia 124

126 FIG. 5.7: Estrutura do portal POSEDU montada a partir da OB de Computac a o (SE8). Em seguida, ao selecionar outro item, por exemplo, Mestrado, na faceta Programa Educacional: Diploma Acade mico, o sistema restringe a navegac a o, deixando no resultado apenas os itens referentes a estas facetas. Os resultados destas selec o es correspondem a intersec a o dos itens selecionados, podendo ser visualizados na figura 5.8. Busca de informac a o por palavras chaves Ale m da navegac a o facilitada pelo uso das multi-facetas, o portal POSEDU possui um esquema de busca por palavras chaves. Por exemplo, para procurar por todas as ocorre ncias de insta ncias que possuem o conceito PUC, basta fazer menc a o a este, conforme exemplo a seguir: 125

127 FIG. 5.8: Resultados das Seleções referente à faceta Programa Educacional: Instituições de Ensino/Pesquisa Neste exemplo a palavra pesquisada é PUC*, onde o símbolo * significa que uma busca será realizada com uma seqüência qualquer de caracteres após a palavra PUC. Como resultado pode-se observar na figura 5.9 que é retornando tanto as instâncias de PUC-RS como as de PUC-Rio. Consultas também podem ser expressas utilizando-se uma junção de operadores boole anos AND e OR, conforme ilustrado a seguir. Neste exemplo, busca-se por todas as ocorrências de instâncias que tenham a palavra doutora* combinada com qualquer seqüência de caracteres ou mestra* também combinada com qualquer seqüência de caracteres e com a exclusão de todas as instâncias que possuam a palavra estatística. (doutora* OR mestra*) AND - estatística A figura 5.10 apresenta os resultados da busca, onde observa-se a confirmação de ocorrências de apenas programas educacionais de mestrado e doutorado e a falta da ocorrência de Doutorado em Estatística OUTRAS FUNCIONALIDADES Cabe aqui ressaltar que, muito embora um portal contemple uma ampla gama de funcionalidades (THE DELPHI GROUP, 2000), não é objetivo do presente trabalho explorá-las completamente e nem tão pouco desenvolvê-las. É vislumbrado no escopo desse trabalho prover facilidades semânticas reutilizando uma infra-estrutura ampliando 126

128 FIG. 5.9: Pesquisa 1 no portal POSEDU FIG. 5.10: Pesquisa 2 no portal POSEDU o seu poder de integração de informações, instanciação e organização de conteúdos no portal com base em ontologias. No entanto, algumas poucas funcionalidades permitirão maior flexibilidade de utilização do portal por parte do usuário, conforme apresentado a seguir RESTRIÇÃO DE ACESSO O POSEDU prevê uma área de acesso restrito ao administrador do portal, responsável pelas funções intrínsecas de configuração e distribuição de papéis e senhas aos usuários, conforme visualizado na figura Este possui ainda uma funcionalidade adicional, 127

129 responsável por acionar periodicamente o modulo semântico.dessa forma, o Swoogle varre a Web em busca de atualizações ou novos documentos semânticos (RDF, OWL, etc). FIG. 5.11: Área restrita do Portal POSEDU Assim, surge a necessidade de recarregar estas atualizações no portal de acordo com as categorias das facetas, incluindo-se para isto a opção de recarregar dados considerando a existência destes novos documentos semânticos INSERÇÃO DE REGRAS Foi desenvolvida uma interface para o Portal com a intenção de permitir a inclusão de regras, de modo a facilitar o trabalho do usuário administrador. Este deverá então incluir essas regras no arquivo específico do sistema para que possam ser processadas juntamente com as demais regras. A inserção das regras é dividida em duas partes: cabeça e corpo da regra, conforme mostra a figura FIG. 5.12: Inserção de Regras 5.9 CONSIDERAÇÕES FINAIS Este capítulo apresentou os detalhes e decisões de desenvolvimento e de implementação da arquitetura proposta para o SiGePoS, mostrando como este sistema oferece um 128

130 modo mais automatizado para integrar, organizar e instanciar informações em um portal semântico, tendo como base uma ontologia central no domínio educacional OBEDU. Para isso contamos com um ferramental de apoio no processo de construção do sistema POSEDU, tais como a API Jena, software de extrema importância para a manipulação da ontologia base, espinha dorsal do portal, bem como do editor de ontologias Protégé, essencial para a construção da ontologia OBEDU. Para o cálculo de similaridades foi utilizada a API CMS, que foi estendida, fornecendo desta forma uma melhoria significativa de resultados em relação ao CMS padrão. Os resultados obtidos com testes feitos a partir um benchmark de ferramentas de mapeamento/casamento serão apresentados no capítulo 6 a seguir. Para a alimentação do portal POSEDU foi necessário buscar informações em portais estrangeiros, pela carência de documentos OWL em portais nacionais, apesar dos nossos objetivos serem voltados para os problemas nacionais. Entretanto, a partir da existência destes documentos em portais nacionais, o SiGePoS será capaz de recuperá-los e incorporá-los ao portal. Esta fase de implementação permitiu, portanto, a validação das idéias propostas pelo modelo e arquitetura do SiGePoS. O próximo capítulo analisará o mecanismo de casamento que foi estendido para o uso do SiGePoS, denominado CMS-estendido. Os resultados conferidos através de testes com auxílio de um benchmark foram essenciais para justificar o seu uso no portal. 129

131 6 AVALIAÇÃO DO ALGORITMO DE CASAMENTO CMS ESTENDIDO Este capítulo é dedicado à avaliação do mecanismo de casamento, denominado CMSestendido, proposto neste trabalho, utilizando um benchmark constituído de 51 ontologias de um domínio específico. Na seção 6.1 são apresentadas as medidas utilizadas na avaliação dos mecanismos de casamento. Já a seção 6.2 descreve o benchmark e a API para o alinhamento de ontologias (ontology alignment). A seção 6.3 apresenta os testes realizados e, finalmente, a seção 6.4 apresenta as considerações finais. 6.1 MEDIDAS DE AVALIAÇÃO DE CASAMENTO Precisão e revocação são conceitos amplamente utilizados em Sistemas de Recuperação da Informação (RI) para medir o desempenho desses sistemas. São medidas utilizadas para avaliar a eficácia de um sistema de RI, ou seja, elas medem a habilidade do sistema em recuperar os documentos relevantes, evitando ao mesmo tempo, os não relevantes. Essas medidas podem ser avaliadas em sistemas de RI através de um conjunto de consultas, também denominadas coleção de referência (PINHEIRO, 2004). A figura 6.1 visualiza graficamente os conceitos relacionados às medidas de precisão e revocação. FIG. 6.1: Medidas de similaridades Revocação: é a fração dos documentos relevantes (o conjunto R) que foi recuperada. 130

132 Por exemplo, se existem 8 respostas relevantes para uma dada consulta e a máquina de busca retornou somente 2 dentre suas 10 primeiras respostas, dizemos que a revocação é de 25% (isto é, um quarto dos documentos relevantes foi recuperado); Precisão: é a fração dos documentos recuperados (conjunto A) que é relevante. Por exemplo, se 2 entre 10 respostas retornadas são relevantes, dizemos que a precisão é de 20%. As fórmulas a seguir (figura 6.2) demonstram esses conceitos: FIG. 6.2: Fórmulas de Precisão e Revocação 6.2 DESCRIÇÃO DO BENCHMARK E DA API PARA O ALINHAMENTO DE ONTOLOGIAS Esta seção apresenta o benchmark e a API utilizada para a avaliação de alinhamento entre ontologias. As medidas de precisão e revocação foram utilizadas no contexto de um benchmark que avalia algoritmos de casamento entre ontologias. Esta avaliação surgiu principalmente devido ao número crescente de métodos/algoritmos disponíveis para realizar o casamento entre esquemas de ontologias, sugerindo então a necessidade de se estabelecer um consenso para a avaliação destes métodos. Desta forma, surgiu a iniciativa de avaliação de alinhamento de ontologias OAEI (The Ontology Alignment Evaluation Innitiative) 17. Esta iniciativa trabalha em conjunto com um benchmark 18, que inclui uma coleção de 51 ontologias no domínio de referências bibliográficas descritas na tabela 6.1, que avaliam a precisão e a revocação do cálculo de similaridade destes algoritmos. A avaliação consiste num conjunto de testes, onde cada teste utiliza uma ontologia fonte (ontologia uma ontologia completa sobre o domínio de referências bibliográficas) e a compara com outra ontologia, que é a própria ontologia fonte modificada. Os algoritmos de

133 similaridade utilizados nos testes geram um arquivo com um formato definido pela API de alinhamento contendo os pares casados com uma determinada pontuação. Desta forma, é realizada uma comparação com outro arquivo padrão (refalign) disponibilizado pelo benchmark que possui os pares e pontuação estipulados como modelo para os testes. Por fim, a partir destes últimos arquivos é gerado um arquivo com as medidas de similaridades de precisão e revocação. As modificações realizadas na ontologia modelo 101 para permitir a realização dos testes são agrupadas basicamente em 6 grupos básicos de alterações, conforme descrito a seguir: (i) Alterações dos nomes das entidades: nomes de entidades substituídas por strings randômicas, sinônimos, nomes com diferentes convenções, nomes com diferentes linguagens diferentes; (ii) Comentários: supressão de comentários ou alterados para outra linguagem; (iii) Hierarquia: podem ser suprimidas, expandidas ou achatadas; (iv) Instâncias: podem ser suprimidas; (v) Propriedades: podem ser suprimidas ou restrições podem ser descartadas nas classes; (vi) Classes: podem ser expandidas, i.e., substituídas por várias classes ou achatadas. A tabela 6.1 a seguir apresenta detalhadamente as 51 modificações da ontologia fonte (101), sendo que cada uma destas possui aglutinações de cada grupo de alteração. Além da utilização do benchmark, foi necessário utilizar a API de alinhamento ontology alignment para padronizar o formato de saída do casamento, de modo a cobrir a maioria dos casos de interoperabilidade ocorridos entre as diversas ontologias. Esta API além de ser utilizada para padronizar o formato das ontologias, é muito útil em vários contextos: A API para o alinhamento de ontologias pode ser utilizada para padronizar o formato das ontologias, podendo ser muito útil em vários contextos: Para coletar os alinhamentos entre duas ontologias; Para modularizar os algoritmos de alinhamento; Para comparar os resultados com outros possíveis resultados padrões; 132

134 TAB. 6.1: Descrição das ontologias utilizadas no benchmark Código Descrição 101 Alinhamento de referência: este teste compara a ontologia com a própria; 102 Ontologia Irrelevante: este compara a ontologia 101 com outra de um domínio completamente diferente 103 Generalização de linguagem: algumas restrições indisponíveis são substituídas por restrições mais gerais disponíveis 104 Restrição de linguagem: este teste compara a ontologia com restrição em OWL Lite (restrições indisponíveis foram descartadas) 201 RNomes de Classes substituídas por strings aleatórias 202 Nomes de Classes substituídas por strings aleatórias, exclusão dos comentários 203 Sem comentários 204 Nomes das classes com diferentes convenções, tais como: letras maiúsculas e minúsculas, exclusão dos comentários 205 Sinônimo: Nomes originais das classes foram substituídos por sinônimos, exclusão dos comentários 206 Linguagem diferente: a ontologia é completamente traduzida para uma linguagem diferente da língua inglesa 207 Linguagem diferente: a ontologia é em parte traduzida para uma linguagem diferente da língua inglesa 208 Nome com diferentes convenções, sem comentários 209 Alteração de alguns nomes das classes para sinônimos, sem comentários 210 Linguagem diferente, sem comentários 221 SubClasses suprimidas: sem especialização 222 Hierarquia achatada 223 Hierarquia expandida 224 Sem instância 225 Sem restrição: todas as restrições nas propriedades foram suprimidas da ontologia 228 Sem propriedades 229 Classes x instâncias: algumas classes se tornam instâncias 230 Classes achatadas: alguns componentes das classes são expandidas ex: ano, mês e dia em vez de data 231 Classes expandidas: algumas classes são expandidas em diversas classes 232 Sem hierarquia e sem instâncias 233 Sem hierarquia e sem propriedades 236 Sem instâncias sem propriedades 237 Hierarquia achatada e sem instâncias 238 Hierarquia expandida e sem instâncias 239 Hierarquia achatada e sem propriedades 240 Hierarquia expandida e sem propriedades 241 Hierarquia expandida e sem instâncias 246 Sem hierarquia, sem instâncias e sem propriedades 247 Hierarquia expandida, sem instâncias e sem propriedades 248 Nome com diferentes convenções, sem comentário e sem hierarquia 249 Nome com diferentes convenções, sem comentário, sem instâncias 250 Nome com diferentes convenções, sem comentário, sem propriedades 251 Nome com diferentes convenções, sem comentário, hierarquia achatada 252 Nome com diferentes convenções, sem comentário, hierarquia expandida Para gerar a saída de diferentes algoritmos e várias formas de interoperabilidades. Por exemplo, um algoritmo pode gerar transformações de uma fonte para outra; pontes de axiomas podem ser utilizados para unir duas ontologias; consulta a wrappers (ou mediadores) podem ser úteis para reescrever consultas na leitura de uma fonte em particular; regras de inferência para transferir conhecimento de um contexto para outro. Um exemplo da saída padrão da API for ontology alignment é apresentado a seguir(figura 6.3: Este documento, no formato XML/RDF, padroniza a saída do cálculo de similaridades entre entidades de duas ontologias. A seguir é realizada uma breve descrição de suas características: O elemento level indica o formato de alinhamento utilizado, que corresponde às seguintes especificações: level 0 possui uma definição básica de correspondências entre um par de entidades discretas identificadas por uma URI; 133

135 FIG. 6.3: Exemplo Saida level 1 substitui pares de entidades por pares de conjuntos ou lista de entidades. Este corresponde a um ligeiro refinamento do nível 0; level 2 considera um conjunto de expressões mais gerais de uma determinada linguagem em particular (L). Correspondências são, portanto, direcionais e correspondem a uma cláusula do tipo: x, z grandparent(x, z) y; parent(x, y) parent(y, z) Um conjunto de correspondências estabelece a relação entre as entidades de uma primeira ontologia e as de uma segunda ontologia da seguinte forma: O elemento type possui valores tais como: 11, 1?, 1*,?+ indicando o tipo de alinhamento realizado entre as 2 ontologias e suas respectivas aridades, conforme explicitado a seguir: Normalmente a notação padrão de aridade é 1:1, 1:m, n:1 ou n:m. A API align especifica os mapeamentos em termos de função, nomeando os mapeamentos como: injetivo, sobrejetor e total ou parcial em ambos os lados. Este possui então, mais aridades de alinhamentos como os definidos a seguir: 134

136 1 é para o caso de ser injetivo e total;? para injetivo; + para total e * para nenhuma das ocorrências anteriores tanto no mapeamento de ida quanto para seu inverso. O elemento onto1 (value: URL) corresponde à primeira ontologia alinhada e onto2 (value: URL) à segunda ontologia alinhada; O elemento map é descrito como um conjunto de correspondências entre entidades das ontologias e pode se repetir varias vezes no documento; O elemento Cell descreve uma correspondência particular entre as entidades, provendo as seguintes opções: entity1 (value: URI) corresponde à URI de alguma entidade da primeira ontologia; entity2 (value: URI) corresponde à URI de alguma entidade da segunda ontologia; Measure (value: float entre 0. e 1.) mede o grau de confiança do relacionamento entre a primeira e a segunda entidade; relation (value: Relation) o relacionamento entre a primeira e a segunda entidade, ex. = relacionamento de igualdade. Depois de obtidas as correspondências deste arquivo padrão para cada teste, a API ontology alignment utiliza-se dos valores para calcular algumas medidas (e.g. precisão e revocação), de extrema importância para avaliar estes algoritmos de casamento. Como resultado desta aplicação o seguinte arquivo é gerado: FIG. 6.4: Exemplo 135

137 6.3 TESTES REALIZADOS A tabela 6.2 apresenta os resultados dos testes realizados com as cinqüenta e uma ontologias do domínio de Referências Bibliográficas do benchmark, utilizando dois dos algoritmos de cálculo de similaridades disponíveis na API para alinhamento de ontologias, tais como: SMO e Levenstein. TAB. 6.2: Tabela de valores dos mecanismos de cálculo de similaridades SMO Levenstein CMS-MC CMS -StrutCano CMS-estendido Map Prec Rev Prec Rev Prec Rev Prec Rev Prec Rev NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Nessa tabela são apresentadas também três representações do CMS. Na primeira delas, o CMS melhores combinações(cms-mc) combina todos os mecanismos de cálculo de similaridade, encontrando a melhor combinação que possua os valores mais altos de precisão e revocação. A outra representação, CMS Struct-Cano, utiliza apenas as classes OntCanoNameMatcher e OntStructurePlusMatcher do mecanismo CMS, que são alvos da extensão do algoritmo desenvolvido ao longo dessa dissertação. Por fim, a terceira 136

138 representação é o CMS estendido, proposto por este trabalho, visando aprimorar a técnica de casamento entre ontologias. Esses resultados, apresentados na tabela 6.2, permitem uma comparação entre os valores obtidos com o CMS original e o CMS-estendido. Todos os valores de precisão e revocação dos cálculos de similaridades apresentados na tabela 6.2 foram calculados com base em um Threshold = 0.80, ou seja, todos os casamentos pontuados com um valor igual ou superior ao limiar de 0.80 serão considerados. O gráfico representado na figura 6.5 expressa os valores da precisão apresentados na tabela 6.2. Nesse gráfico é possível observar que o CMS - MC possui, na maioria dos casos, os melhores valores para a precisão, considerando que para se obter o CMS - MC foram feitos testes exaustivos combinando as várias ontologias e os diversos algoritmos a fim de se detectar os melhores resultados obtidos. O CMS - StrutCano e o CMS-estendido são os que mais se aproximam em termos de resultados, mas nota-se que na maior parte dos testes o CMS-estendido tem melhores resultados. Os mecanismos de Levenstein e SMO são os que possuem os menores valores de precisão em relação aos outros mecanismos. FIG. 6.5: Representação da Precisão O gráfico 6.6 expressa os valores da revocação apresentados na tabela 6.2. Através do gráfico observamos que os valores dos algoritmos Levenstein e os do CMS - estendido possuem, na maioria dos casos, os maiores valores para a revocação. A seguir é realizada uma análise mais detalhada dos resultados expressos na Tabela 6.2. Para melhor analisar esses resultados, as ontologias foram agrupadas de acordo com o grau de similaridade entre elas. 137

139 FIG. 6.6: Representação da Revocação Ontologias O CMS-estendido perde em precisão em relação ao mecanismo CMS-MC devido a presença de alguns pares de casamentos indevidos. Entretanto, ganha em relação ao mecanismo CMS-StrutCano, cujo algoritmo foi alvo de nossa extensão. O CMS estendido faz o casamento entre pares corretamente, não encontrados pelo CMS-StrutCano. Isso ocorre devido a presença de um dicionário de termos adicionado ao CMS-estendido, possibilitando o casamento de pares tais como: Organization-Institution e Edition-Issue No caso da ontologia 102, não é retornado nenhum casamento entre pares de entidades, pelo fato da ontologia ser de domínio completamente diferente. A falta de casamento entre pares é também confirmada pelo CMS-estendido, que utiliza informações de contexto para computar os pares do casamento. No caso das ontologias 103 e 104, a generalização de linguagem e características de restrição praticamente não afetaram os resultados (vide tabela 6.2). Ontologias Neste grupo os nomes das entidades das ontologias são suprimidos na própria ontologia e substituídos por strings aleatórias, sinônimos, nomes com diferentes convenções e nomes 138

140 estrangeiros. O CMS-estendido explora os comentários e os labels destas entidades, além de possuir um dicionário de sinônimos para ajudar com os sinônimos. Em todos os algoritmos os resultados de casamento que envolvem a ontologia 202, perdem em precisão e revocação, comprovadamente pelos baixos valores apresentados, principalmente pelo fato das entidades estarem nomeadas com strings aleatórias, e estas entidades não possuírem nem comentários nem labels que possam esclarecer o significado dos termos. Os casamentos das ontologias 203, 204 e 205 possuem precisão com valores elevados nas diferentes versões do CMS em relação aos outros algoritmos de casamentos comparados, pelo fato, por exemplo, de letras maiúsculas e minúsculas não influenciarem no cálculo de similaridade do CMS, pois o mesmo faz um tratamento dos strings ao realizar a comparação com algoritmos de edit distance. O CMS-MC destaca-se pois apresenta melhores valores com precisão em torno de 1.0. Já o CMS-estendido possui os melhores resultados em relação a revocação, enquanto o CMS - StrutCano apresenta os piores resultados. Nos testes realizados com as ontologias 206 e 207 o algoritmo CMS-estendido apresenta uma ligeira elevação do valor de precisão em relação ao algoritmo CMS - StrutCano, enquanto no CMS-MC o valor da precisão é de 1.0. Já com relação à revocação, todas as versões do CMS apresentam valores relativamente baixos, com destaque para o CMSestendido, que apresenta valores maiores. Os valores destas ontologias são medianos se comparados com o restante do grupo, pelo fato destas ontologias apresentarem entidades e comentários expressos em língua estrangeira, salvo alguns dos comentários que são descritos em inglês. Nos testes com a ontologia 208, encontram-se também bons valores de precisão nas diferentes versões do CMS, já que os conceitos são expressos na mesma língua e em letras maiúsculas, o que no caso do CMS não impacta tanto nos resultado dos cálculos. Já no teste com a ontologia 209, que apresenta a maioria dos termos substituídos diretamente pelos seus sinônimos, o algoritmo StrutCano apresenta uma redução nos valores de precisão e revocação, por possuir um dicionário mais amplo e geral baseado no Wordnet. Por fim, nos testes com a ontologia 210, os três CMS apresentam valores de precisão e revocação menores que nos testes com as ontologias 206 e 207. Isso ocorre pois, além da ontologia 210 ser expressa em linguagem estrangeira também não possui comentários diferentemente das ontologias 206 e

141 Ontologias Os nomes, labels e comentários nestas ontologias não têm características específicas que possam influenciar no resultado do casamento. Estas ontologias resultaram de modificações na estrutura e da adição ou supressão de propriedades na própria ontologia. Os testes com as ontologias 228, 233, 236, 239, 240, 241, 246 e 247 apresentam baixa precisão pelo fato das propriedades terem sido suprimidas na própria ontologia, e isso occorre principalmente nos resultados do algoritmo StrutCano. Já o algoritmo CMS-MC apresenta os melhores valores de precisão, enquanto o CMS-estendido possui os melhores valores de revocação. Os baixos valores apresentados em alguns casamentos se devem ao fato da exclusão das propriedades, que são amplamente utilizadas pelos algoritmos CMSs, como forma de contextualizar um conceito e de realizar o refinamento dos valores iniciais do cálculo de similaridade. Nos testes com a ontologia 237, nota-se uma pequena melhora nos valores de precisão e revocação em relação aos outros valores do grupo, nas três modalidades dos algoritmos CMS, pelo fato desta ontologia possuir algumas propriedades. Nos testes com o restante das ontologias, nota-se pequenas diferenças nos valores de precisão e revocação entre os mecanismos avaliados. Ontologias Este grupo de testes foi o que apresentou os piores resultados de precisão e revocação nos algoritmos CMS - StrutCano e CMS - estendido. Apenas o algoritmo CMS-MC não pôde ser comprovado, pelo fato dos resultados não terem sido calculados em (KALFOGLOU e HU, 2005). Esses resultados ocorreram devido aos nomes das classes, comentários e labels terem sido removidos e substituídos por strings aleatórias, pois o CMS-estendido não considera as instâncias para o cálculo de similaridade, e por isso não teria como encontrar os casamentos. Já nos casos em que as propriedades das classes das ontologias não são removidas, nota-se uma leve melhoria nos resultados. Este é o caso, por exemplo, dos testes com as ontologias 248, 249, 251, 252, 253, 257 e 258. Nos demais testes, foram obtidos valores de precisão e revocação iguais a zero. 140

142 Ontologias Estas ontologias são caracterizadas pela diferenças na estrutura, nomes de classes e propriedades, podendo considerar ainda uma combinação de outros casos. O interessante é que estas ontologias não foram preparadas com base na ontologia 101, tendo sido simplesmente escolhidas por representar ontologias reais, utilizadas no domínio de Referências Bibliográficas. As medidas de precisão neste grupo em todas as versões do algoritmo CMS apresentam bons resultados, enquanto que as medidas de revocação destes algoritmos apresentam valores menores em relação às outras medidas dos outros grupos TESTES COM DIFERENTES THRESHOLDS Para uma melhor análise dos resultados utilizando o CMS-estendido, foram utilizados diferentes valores de Threshold para comparação dos resultados, tais como: 0.60, 0.80 e Nota-se que na tabela 6.3, nos valores de precisão referente ao threshold de 0.60 em comparação aos threshold de 0.80 e 0.95 ocorreu uma redução considerável de valores em todas as ocorrências, devido ao fato do aumento expressivo de entidades casadas, sem, porém terem qualquer equivalência com a ontologia fonte 101 (casamentos irrelevantes). Nota-se que apesar dos maiores valores de precisão, na tabela 6.3, estarem em menor quantidade com o threshold igual a 0.80, este ainda apresenta maior quantidade dos maiores valores em revocação em relação ao threshold de Já com a elevação do threshold para 0.95, foram detectadas tênues alterações nos casos de ontologias dotadas de outros idiomas tais como 206, 207 e 210 e com aquelas constituídas de strings aleatórias, como no caso da ontologia 201. Foi possível observar também uma diminuição das medidas de precisão e revocação no caso das ontologias 228 e 236. Como se sabe em ambas foram suprimidas as propriedades e na ontologia 236 foram suprimidas as instâncias. Essa diminuição de valores ocorreu devido ao fato das propriedades serem extremamente importantes na pontuação final do cálculo de similaridade. Como o algoritmo não leva em conta as instâncias, a supressão das mesmas não é relevante. As ontologias de 239 a 249 sofreram também o impacto de alterações. Nestas também foram excluídas as propriedades, em algumas retiraram-se os comentários, e em outras ainda foram alteradas as hierarquias da ontologia. Estas ontologias foram influenciadas negativamente, devido também a substituição de termos 141

143 por strings aleatórias, ocasionando muitos casamentos com a pontuação abaixo de 0.95, justificando assim a baixa pontuação alcançada, já que o threshold de 0.95 é mais restritivo. Como já era de se esperar, quanto maior o nível de restrição no processo de casamento entre ontologias (threshold > 0.60) menor é o número de casamentos obtidos. No caso do threshold =0.95, é possível observar um impacto maior desta alteração. Em conseqüência destas análises, foi escolhido o threshold de 0.80 como ideal para o cálculo de similaridades de nosso sistema. Isto é justificado pelo fato desta opção reunir os maiores valores de precisão e revocação, expressando assim o casamento com a maior fidelidade possível, já que o sistema não prevê a interação com o usuário para a avaliação destes casamentos. TAB. 6.3: Testes com diferentes Thresholds CMS-estendido 0.60 CMS-estendido 0.80 CMS-estendido 0.95 Map Prec Rev Prec Rev Prec Rev NaN NaN NaN NaN NaN NaN

144 Os gráficos 6.7 e 6.8 apresentam os dados da tabela 6.4, mostrando que o threshold de 0.80 apresenta apenas 32% dos valores de precisão maiores em relação ao threshold de FIG. 6.7: Representando a precisão com diferentes Thresholds Entretanto, ao contrário da precisão, a revocação do threshold de 0.80 apresenta uma gama de valores com resultados maiores, representando 58% em relação ao threshold de FIG. 6.8: Representando a revocação com diferentes Thresholds Já nenhum valor de revocação do threshold de 0.95 apresenta um resultado superior em relação ao threshold de Portanto, visto que a qualidade do casamento depende 143

145 também da revocação, no conjunto total é verificado que o threshold de 0.80 possui vantagem em relação aos demais valores TESTES COM ALTERAÇÃO DOS PESOS DOS CASAMENTOS CON- SIDERANDO AS PROPRIEDADES Em busca de melhores resultados para as medidas de precisão e revocação nos testes como o algoritmo CMS estendido, usando o valor do Threshold igual a 0.80, foram modificados alguns pesos do cálculo de similaridades com base nas propriedades. Os pesos foram originalmente especificados no CMS com a seguinte pontuação: (PDR) se propriedades, domínio e range forem equivalentes então a pontuação será igual 1; (PD) se propriedade e o domínio forem equivalentes então a pontuação será igual 0.9; (PR) se propriedade e o range forem equivalentes então pontuação será igual 0.8; (DR) se domínio e range forem equivalentes então a pontuação será 0.7; (D) se domínio for equivalente então pontuação será igual 0.4; ( ) se nada for igual, então pontuação será 0. Três testes foram realizados, com pesos acrescidos de 10, 20 e 30 pontos percentuais, respectivamente. Entretanto, os valores das medidas de precisão e revocação diminuiram com o aumento destes parâmetros. Ao constatar que o aumento dos pesos com base nas propriedades levou a resultados piores de precisão e revocação, optou-se pela estratégia oposta, isto é, diminuição dos pesos em 10, 20 e 30 pontos percentuais. Concluiu-se então, que,foi possível obter um aumento da precisão. A tabela 6.4 apresenta as novas medidas de similaridades referentes à primeira iteração de redução, isto é, com 10% de redução dos pesos. Os novos valores dos parâmetros são: PDR, 1; PD, 0.80; PR, 0.70; DR, 0.60; D, 0.30;, 0. Os testes que se seguiram relativos à segunda e terceira iteração de redução não obtiveram uma modificação expressiva, digna de comentário. Assim, serão apresentados apenas os resultados da primeira iteração. Após uma comparação dos resultados obtidos das tabelas 6.3 e 6.4 para um threshold igual a 0.80, foi verificado que ocorreu a diminuição da precisão e da revocação nos 144

146 seguintes casos: , , e Na maioria das demais ocorrências houve uma ligeira diminuição dos valores da revocação ou o valor foi mantido. Não ocorreu diminuição das medidas no caso , por exemplo, pois a ontologia 202 que participou deste teste possui muitas propriedades com strings aleatórias e sem comentários. Isso ocasionou poucos casamentos com a pontuação acima de 0.85, pois o casamento é realizado levando-se em consideração as propriedades com os nomes semelhantes, já que o mesmo não possui comentários. Esta ontologia não sofreu um impacto maior. TAB. 6.4: Precisão e revocação do CMS-estendido com a redução dos valores dos pesos de casamento com base nas propriedades CMS-estendido Val.Alt. Map Prec Rev NaN NaN ,

147 Já o teste utilizando a ontologia 201, mesmo sendo composta basicamente por strings aleatórias e comentários, possui mais casamentos de propriedades do que a ontologia 202, já que os comentários não refletem exatamente os nomes das propriedades. Portanto, ocorreu a diminuição dos valores dos parâmetros das propriedades, ocasionando um impacto maior nesta ontologia. É importante destacar também, que na análise dos resultados da tabela 6.4 em relação à tabela 6.3, verificou-se que 69% dos valores relativos à precisão sofreram acréscimo, 8% diminuíram e 24% permaneceram inalterados. Com relação à revocação, 61% dos valores permaneceram iguais, e o restante apresentou uma ligeira queda. Conclui-se portanto que apesar da revocação apresentar uma ligeira queda, os valores de precisão aumentaram 69%, justificando o uso do algoritmo CMS-estendido com uma pontuação diminuída de 10 pontos percentuais. Os gráficos 6.9 e 6.10 representam respectivamente as medidas de precisão e revocação, tendo como base a Tabela 6.4. FIG. 6.9: Precisão 6.4 CONSIDERAÇÕES FINAIS Este capítulo teve como objetivo fazer uma avaliação do mecanismo de casamento, denominado CMS-estendido, apresentando detalhes dos testes realizados, a fim de atestar a qualidade de seu funcionamento. Assim, foram abordados detalhes dos mecanismos utilizados para realização dos testes, a exemplo do benchmark utilizado nos experimentos e uma API que padroniza o formato de saída dos testes de casamento entre ontologias. 146

148 FIG. 6.10: Revocação Foi verificado que, apesar do CMS - MC possuir os melhores valores para a precisão, o CMS-estendido apresentou melhoras consideráveis em relação aos valores de revocação. Já em relação ao CMS-StrutCano, o CMS-estendido obteve melhores resultados na maioria dos casos, tanto na precisão quanto na revocação. Pelos resultados apresentados neste trabalho nota-se que as baixas medidas de similaridade apresentadas se devem ao fato principalmente das diferenças estruturais, das propriedades definidas, ou até mesmo das ontologias serem de domínios totalmente diferentes. Após a análise dos dados o potencial do mecanismo de casamento do CMSestendido pôde ser comprovado, já que melhorou o desempenho no processo de casamento entre ontologias de domínios específicos. É importante ressaltar que os resultados obtidos com o CMS-MC foram feitos a partir de uma série de combinações pré-definidas (KALFOGLOU e HU, 2005) até que o maior valor para cada caso fosse encontrado. Já no caso do CMS-estendido, o que se buscou foi exatamente melhorar os resultados de precisão e revocação, sem, no entanto realizar testes exaustivos, visando assim atingir um grau de desempenho satisfatório no processo de automação do cálculo de similaridades. Considerando os bons resultados obtidos com o uso do CMS-estendido, fica justificada a sua utilização como parte de uma arquitetura onde a alimentação do portal busca maior automação, tema central dessa dissertação. O capítulo 7 apresentará um estudo de caso que envolverá uma análise de toda a dinâmica do SiGePoS. 147

149 7 ESTUDO DE CASO Para demonstrar um caso real da aplicação do algoritmo CMS, são descritos dois estudos de caso. Para cada um destes estudos de caso apresentados existe um par de ontologias correspondente no domínio educacional. As ontologias dos estudos de caso foram escolhidas a partir dos resultados retornados pela ferramenta Swoogle, que busca documentos semânticos na Internet. Esta aplicação apresentou um conjunto de ontologias validadas no domínio educacional, a partir das quais foram então escolhidas duas ontologias: Universidade de Lehigh e da Universidade de München. É importante destacar que ambas as ontologias recuperadas não possuíam instâncias, requisito importante e necessário para popular nosso portal. Assim, tornou-se imprescindível instanciar tais ontologias, de modo a verificar e avaliar a dinamicidade geral do sistema. O enriquecimento da informação é extremamente importante, pois quanto maior for o número de informações disponíveis para a comparação léxica, mais precisa é a identificação da equivalência entre as entidades de ontologias externas e da base. Para alcançar este objetivo, é necessário utilizar dicionários controlados, como por exemplo, o wordnet, tesauros ou mesmo ontologias extras. Neste trabalho foi criado um banco de sinônimos que pode ser populado manualmente ou automaticamente, com instâncias do domínio educacional oriundos do wordnet, ou mesmo conceitos adicionais que o engenheiro de domínio achar conveniente. Os estudos de caso apresentados nesse capítulo seguirão o seguinte roteiro: a) Testes com objetivos da verificação da influência dos algoritmos de Edit Distance: Testes com a estrutura original, sem nenhuma modificação, sem a adição de sinônimos dos conceitos e propriedades cadastrados. b) Testes com objetivos de verificação da influência dos sinônimos: Testes com a estrutura original, sem nenhuma modificação, com sinônimos dos conceitos e propriedades cadastrados. 148

150 c) Testes para avaliar a influência das hierarquias: Testes com a alteração da estrutura original, com sinônimos dos conceitos e propriedades cadastrados. d) Testes para avaliar a influência das propriedades: Testes com as estruturas idênticas, sem propriedades e com sinônimos dos conceitos cadastrados; Testes com as estruturas idênticas, com as propriedades e com sinônimos dos conceitos cadastrados. 7.1 PRIMEIRO ESTUDO DE CASO Duas ontologias criadas por diferentes grupos foram escolhidas como exemplo para o primeiro estudo de caso. A primeira ontologia (Ontologia Base, Capítulo 4), desenvolvida como parte desta dissertação e considerada como base para o portal semântico, foi desenvolvida em OWL. A segunda ontologia (ontologia externa) para este primeiro estudo de caso é o da Universidade de Lehigh 19, na Pennsylvania, EU, descrita também em OWL. Foi considerada também uma base de dados com sinônimos cadastrados conforme visualizada na tabela 7.1. As ontologias comparadas neste primeiro estudo de caso podem ser classificadas como ontologias específicas do domínio de Educação. A figura 7.1 ilustra parte das hierarquias destas ontologias comparadas. TAB. 7.1: Fragmento do Dicionário de Sinônimos Termos Sinônimos Academic Research Institution University Academic Research Institution School Academic Research Institution Academic Institution Academic Research Institution Research Institution Academic Research Institution Centro de Pesquisa Academic Research Institution Centro de Ensino Superior Graduation Program GraduateCourse Graduation Program Graduate School Graduation Program Graduate Degrees Undergraduation Program Undergraduation Undergraduation undergraduate Institution Units Department Institution Units Instituto Master Master Program Master Mestrado Master Programa de Mestrado PHD PHD Program Antes de iniciar os testes propriamente ditos, é conveniente destacar os sinônimos e descrever algumas características visualizadas na Tabela 7.2, tais como a quantidade de

151 FIG. 7.1: Ontologia Base e Ontologia Externa níveis hierárquicos dos conceitos em relação à raiz (thing), bem como os domínios e ranges das propriedades da ontologia da Universidade de Lehigh. É importante ressaltar que como as ontologias foram criadas por grupos distintos, é de se esperar que possuam diferenças tanto lexicais quanto estruturais (figura 7.1). Por exemplo, a classe Research Group da OB tem diferenças léxicas e estruturais em relação à classe ResearchGroup da OE. A diferença léxica ocorre pelo fato de possuírem nomes com escritas diferentes, enquanto que a diferença estrutural se dá por estarem em diferentes níveis hierárquicos na ontologia: o conceito ResearchGroup na OE encontra-se a dois níveis hierárquicos em relação à raiz, enquanto que o conceito Research Group está a apenas um. É importante salientar que o threshold aplicado neste trabalho é de 0,80 (vide capítulo 6) e que valores retornados abaixo deste valor são meramente demonstrativos, úteis para a análise dos dados. 150

152 TAB. 7.2: Características Gerais das Ontologias Externa e Base TESTES PARA AVALIAR A DISTANCE INFLUÊNCIA DOS ALGORITMOS DE EDIT Este primeiro teste do estudo de caso foi realizado com a estrutura original, sem nenhuma modificação, e sem o cadastro de sinônimos dos conceitos e propriedades na base de dados. Observa-se que alguns conceitos nas duas ontologias possuem semelhanças léxicas e diferenças contextuais que se referem às diferenças estruturais e de relacionamento, a exemplo de propriedades e atributos. Os conceitos ResearchGroup da OE e Research Group da OB foram os únicos selecionados pelo algoritmo de edit distance que possuem threshold inicial igual ou acima de 0.80, sendo computado o valor de de similaridade. A fim de verificar que não apenas o algoritmo de edit distance é influenciando neste resultado, o conceito foi alterado para Research Group, semelhante à notação da OB. Os valores de similaridade dos conceitos, apesar de serem idênticos quanto a notação, foram elevados para (Tabela 7.3), levando a crer que existe a influência de outros fatores nessa diferença, como por exemplo, propriedades(ranges e domínios), estrutura e restrições destes conceitos. 151

153 TAB. 7.3: Resultados do casamento considerando a influência dos algoritmos de Edit Distance Ontologia Externa Ontologia Base Val.Sim Tipo NS: NS: ResearchGroup Research Group Escrita original Research Group Research Group Escrita idêntica TESTES PARA AVALIAR A INFLUÊNCIA DOS SINÔNIMOS Este segundo teste foi realizado com a estrutura original, sem nenhuma modificação, apenas com o cadastro de sinônimos dos conceitos na base de dados. Pode-se observar, por exemplo, que os conceitos: Research, GraduateCourse, ResearchGroup, University, Department, Course, College, Organization, Institute, da OE e Research Sub Area, Graduation Program, Research Group, Academic Research Institution, Institution Units e Education Program da OB, que não apareceram no primeiro teste, foram no entanto detectados nesse segundo teste, justamente pelo uso do cadastro dos sinônimos, conforme apresentado na Tabela 7.4. TAB. 7.4: Resultados do casamento considerando a influência dos sinônimos Ontologia Externa Ontologia Base Val.Sim NS: NS: Research Research Sub Area GraduateCourse Graduation Program ResearchGroup Research Group University Academic Research Institution Department Institution Units Course Education Program College Academic Research Institution Organization Academic Research Institution Institute Institution Units Observa-se também que os conceitos ResearchGroup da OE e Research Group da OB, antes pontuados com o valor de 0.860, foram agora pontuados com um valor de similaridade maior, de 0.980, conforme mostra a Tabela 7.4. Isto se explica pela ligação de suas propriedades com seus ranges e domínios, que são influenciados tanto pela base de sinônimos, como pela dos ancestrais, ressaltando assim que todos esses fatores são fundamentais para o cálculo de similaridades. É conveniente citar que os conceitos Research da OE e Research Sub Area da OB possuem um valor abaixo do threshold pré-definido, de 0.80, isto é, o fato de serem sinônimos não é o bastante para a realização do casamento, já que estes conceitos não possuem ancestrais semelhantes. O conceito Research possui o ancestral work, que não casa com o ancestral thing do conceito Research Sub Area, que corresponde ao conceito raiz. Além disso, estes conceitos não possuem propriedades em comum. 152

154 7.1.3 TESTES PARA AVALIAR A INFLUÊNCIA DAS HIERARQUIAS O terceiro teste é realizado para avaliar a influência da hierarquia dos conceitos nas ontologias externa e base. Observando-se a Tabela 7.5, os conceitos Research da OE e Research Sub Area da OB obtiveram um valor de similaridade de no teste anterior. Após a alteração da hierarquia 20 do conceito Research da OE, conforme mostrado na figura 7.2, ocorreu um aumento significativo do valor de similaridade para 0.898, conforme esperado, pois ambos os conceitos ficaram no mesmo nível de hierarquia (ambos abaixo do conceito raiz, thing, da ontologia), comprovando assim a sua influência na comparação entre conceitos. Da mesma forma, pode-se observar, o conceito University da OE, que após alteração passou de para um valor maior, equivalente a FIG. 7.2: Ontologias 20 Esta alteração se manteve para a instanciação do Portal Semântico 153

155 TAB. 7.5: Resultados do casamento considerando a influência das hierarquias Ontologia Externa Ontologia Base Val.Sim NS: NS: Research Research Sub Area GraduateCourse Graduation Program ResearchGroup Research Group University Academic Research Institution Department Institution Units Course Education Program College Academic Research Institution Organization Academic Research Institution Institute Institution Units TESTES PARA AVALIAR A INFLUÊNCIA DAS PROPRIEDADES Conforme já mencionado, toda a informação que possibilita descrever um conceito influencia sobremaneira na sua contextualização dentro de um domínio. Esse é o caso, por exemplo, das propriedades, que exercem um papel significativo nos resultados do cálculo de simlaridades. A figura 7.3 ilustra algumas das propriedades da ontologia externa. FIG. 7.3: Subconjunto da OE com suas propriedades Na Tabela 7.6 são apresentados os novos valores para o cálculo de similaridades com todas as propriedades excluídas da OE que poderiam influenciar nos resultados, tais como: AffiliatedOrganizationOf, suborganizationof, researchproject. Neste caso, observa-se que sem estas informações de contexto os valores se tornam ainda menores se comparados com o segundo teste, sabendo-se que apenas os algoritmos de edit distance e a base de sinônimos são levados em consideração. Vale notar que apenas os valores de similaridades dos conceitos que possuem alguma ligação com tais propriedades se modificaram. Neste caso, com a exclusão 154

156 da propriedade AffiliatedOrganizationOf e suborganizationof os valores de similaridade dos conceitos Organization da OE e o respectivo conceito Academic Research Institution da OB são modificados de para Esta influência é transmitida para os descendentes, ResearchGroup, University, Department, College, Institute da OE e Research Group, Academic Research Institution, Institution Units, Academic Research Institution, Institution Units da OB respectivamente, conforme visualizado na Tabela 7.6. A exclusão da propriedade researchproject denota a influência apenas sobre os valores dos conceitos ResearchGroup da OE e Research Group da OB. TAB. 7.6: Resultados do casamento considerando a influência das propriedades Ontologia Externa Ontologia Base Val.Sim NS: NS: Research Research Sub Area GraduateCourse Graduation Program ResearchGroup Research Group University Academic Research Institution Department Institution Units Course Education Program College Academic Research Institution Organization Academic Research Institution Institute Institution Units Outra modificação interessante foi a criação de uma nova propriedade denominada provided Program by que associa os conceitos Course e Department da OE e é semelhante à propriedade da OB que ligam os conceitos Education Program e Institution Units. Observa-se, na Tabela 7.6, o aumento do valor de similaridade de para dos conceitos Course e Education Program INSTANCIANDO A ONTOLOGIA BASE Vale a pena reiterar que a ontologia da universidade de Lehight não possuía instâncias significativas que possibilitassem transferências das mesmas para a Ontologia Base. Assim, foi necessário realizar a inserção manual de instâncias reais para esta ontologia, recuperadas do próprio portal desta universidade, possibilitando assim um estudo mais efetivo do mecanismo de instanciação. Após o cálculo de similaridades, quando todos os conceitos equivalentes são identificados, é acionado o módulo de mapeamento, que permite transferir instâncias destes conceitos das ontologias externas para a ontologia base. Para isto é necessário indicar a origem das instâncias que foram transferidas para a OB, conforme o código owl a seguir. As instâncias da OB que possuem o prefixo p2 procedem da ontologia da universidade de Lehight (OE). 155

157 <!ENT IT Y p2 http : // zhp2/2004/0401/univ bench.owl# Assim, as instâncias do conceito university da OE Lehigh University, que foram casadas com o conceito Academic Research Institution da OB são transferidas para a OB, conforme visualizado na figura 7.4. FIG. 7.4: OB - Instanciando um valor da OE em Academic Research Institution da OB base: Para adicionar esta instância foi inserida a seguinte linha no arquivo owl da ontologia < Academic Research Institutionrdf : about = http : // zhp2/2004/0401/univ bench.owl#lehigh University / > A figura 7.5 exibe os seguintes programas educacionais da OE que foram transferidas para a OB: Civil Engineering, Computer Science, Electrical Engineering, Industrial Engineering, Molecular Biology e Polymer Science and Engineering da instituição acadêmica Lehigh University. A seguir é apresentado o trecho de código OWL que foi inserido na OB a partir da OE, onde os respectivos programas educacionais da universidade de Lehigh são instanciados na OB. 156

158 < Graduation P rogramrdf : about = &p2; Computer Science > < program P rovided Byrdf : resource = &p2; Computer Science and Engineering / > < /Graduation P rogram > < Graduation P rogramrdf : about = &p2; Electrical Engineering > < program P rovided Byrdf : resource = &p2; Electrical and Computer Engineering / > < /Graduation P rogram > < Graduation P rogramrdf : about = &p2; Industrial Engineering > < program P rovided Byrdf : resource = &p2; Industrial and Systems Engineering / > < /Graduation P rogram > < Graduation P rogramrdf : about = &p2; Molecular Biology > < program P rovided Byrdf : resource = &p2; Department of Biological Sciences / > < /Graduation P rogram > < Graduation P rogramrdf : about = &p2; P olymer Science and Engineering > < program P rovided Byrdf : resource = &p2; Center for P olymer Science and Engineering / > < /Graduation P rogram > FIG. 7.5: Instanciando o conceito Graduation Program na OB A figura 7.6 apresenta as unidades institucionais da OE que foram transferidas para a OB que, neste caso, foram os seguintes departamentos: Center for Polymer Science and Engineering, Computer Science and Engineering, Department of Biological Sciences, Department of Civil and Environmental Engineering, Elec- 157

159 trical and Computer Engineering e Industrial and Systems Engineering da instituição acadêmica Lehigh University. A transferência se estende também às propriedades, podendo-se observar que cada unidade institucional faz parte de uma instituição acadêmica, e neste caso a instância de Center for Polymer Science and Engineering é associada à instância Lehigh University através da propriedade part Of, fato que ocorre com todas as instâncias de departamentos. FIG. 7.6: Instanciando o conceito Institution Units na OB A seguir é descrito o trecho de código OWL que foi inserido na OB a partir da OE, onde os respectivos departamentos da universidade de Lehigh são instanciados na OB. < Institution Unitsrdf : about = &p2; Center for P olymer Science and Engineering > < part Ofrdf : resource = &p2; Lehigh University / > < /Institution Units > < Institution Unitsrdf : about = &p2; Computer Science and Engineering > < part Ofrdf : resource = &p2; Lehigh University / > < /Institution Units > < Institution Unitsrdf : about = &p2; Department of Biological Sciences > < part Ofrdf : resource = &p2; Lehigh University / > < /Institution Units > 158

160 < Institution Unitsrdf : about = &p2; Department of Civil and Environmental Engineering > < part Ofrdf : resource = &p2; Lehigh University / > < /Institution Units > < Institution Unitsrdf : about = &p2; Electrical and Computer Engineering > < part Ofrdf : resource = &p2; Lehigh University / > < /Institution Units > < Institution Unitsrdf : about = &p2; Industrial and Systems Engineering > < part Ofrdf : resource = &p2; Lehigh University / > < /Institution Units > A figura 7.7 apresenta o grupo de pesquisa da OE que foi transferido para a OB, neste caso: Network Group. FIG. 7.7: OB - Instanciando o conceito Research Group na OB A transferência se estende também às propriedades, observando-se que o grupo de pesquisa trabalha em uma determinada área de pesquisa, e neste caso a instância Network Group é associada à instância Network através da propriedade group Works In. A seguir é descrito o trecho do código OWL que foi inserido na OB a partir da OE, instanciando assim a primeira ontologia com os respectivos grupos de pesquisa da universidade de Lehigh associados às suas áreas de pesquisa correspondentes. < Research Grouprdf : about = &p2; Network Group > < group W orks Inrdf : resource = &p2; Network / > < /Research Group > A figura 7.8 apresenta as áreas de pesquisa existentes, com destaque para a área de 159

161 pesquisa Network, pertencente a OE, e que foi transferida para a OB. FIG. 7.8: OB - Instanciando o conceito Research Sub Area na OB A seguir é descrito o trecho do código OWL que foi inserido na OB a partir da OE, instanciando assim a OB com a respectiva área de pesquisa da universidade de Lehigh. < RA : Research Area Subrdf : about = &p2; Network / > INSTANCIAÇÃO NO PORTAL POSEDU Após o processo de instanciação da OE para a OB é realizada a classificação das informações nas facetas representadas no POSEDU. Portanto, para visualizar as informações instanciadas no portal referentes aos programas educacionais da universidade de Lehigh, basta o usuário do portal navegar sobre à faceta Programa Educacional: Instituicao de Ensino/Pesquisa, conforme apresentado na figura 7.9. Pode-se visualizar também as informações instanciadas no portal referentes aos grupos de pesquisa da universidade de Lehigh, bastando o usuário do portal navegar sobre a faceta Grupo de Pesquisa: Área de Pesquisa, conforme apresentado na figura Para visualizar as informações referentes aos projetos de pesquisa da universidade de Lehigh, basta o usuário do portal navegar sobre à faceta Projeto de Pesquisa: Area de Pesquisa e em seguida selecionar as subáreas desejadas, por exemplo, Sistemas de Computação seguida de Network. 160

162 FIG. 7.9: Visualização das Informações Referente aos Programas Educacionais 7.2 SEGUNDO ESTUDO DE CASO Neste estudo de caso também são utilizadas duas ontologias para os testes: a OB e a OE, que neste segundo estudo de caso é o da Universidade de Munique (München) 21, em Munique, Alemanha, descrita em OWL. A mesma base de sinônimos utilizada no primeiro caso também é considerada aqui. Esta ontologia descreve um domínio educacional mais amplo do que a primeira OE, representando pessoas e suas especializações no nível de professores e alunos. Também são representados conceitos relativos a publicações, projetos, grupos e área de pesquisa. Esta ontologia importa algumas ontologias externas que são reutilizadas por esta, tais como: http : //wwwradig.in.tum.de/ontology/time basic# - ontologia que define fina granularidade enfatizando as unidades de tempo; http : //wwwradig.in.tum.de/ontology/location# - descreve a localização exata tais como a sala, região, local de referência. http : //wwwradig.in.tum.de/ontology/rcc basic# - ontologia que define construtores para expressar relações espaciais baseados em Region Connection

163 FIG. 7.10: Visualização das Informações Referente aos grupos de pesquisa Calculus (RCC); http : //wwwradig.in.tum.de/ontology/space basic# - ontologia utilizada para descrever locais em um determinado prédio, a exemplo de: salas, banheiros, laboratórios, etc. http : //wwwradig.in.tum.de/ontology/calendarclock# - ontologia que descreve o tempo utilizando calendários. Na Tabela 7.7 são apresentados os sinônimos e algumas características, tais como a quantidade de níveis hierárquicos dos conceitos em relação à raiz (thing), bem como domínio e range das propriedades da ontologia da Universidade de Munique. A Figura 7.11 ilustra as nuances interessantes que serão referenciadas da ontologia da Universidade de Munique TESTES PARA AVALIAR A DISTANCE INFLUÊNCIA DOS ALGORITMOS DE EDIT Este teste também foi realizado com a estrutura original, sem nenhuma modificação e sem o cadastro de sinônimos dos conceitos e propriedades na base de dados. Neste exemplo alguns conceitos das duas ontologias também possuem semelhanças léxicas e diferenças contextuais. 162

164 TAB. 7.7: Característica Gerais da Ontologia Externa e Base Os conceitos ResearchGroup e ResearchProject da OE e o conceito Research Group e Research Project da OB foram os únicos selecionados pelo algoritmo de edit distance, possuindo medidas de similaridades inicial igual a e respectivamente, conforme apresentado na Tabela 7.8. Da mesma forma que no primeiro estudo de caso, os nomes dos conceitos ao serem alterados para Research Group e Research Project, semelhantes à notação da OB, obtiveram uma pequena melhora, sendo elevados para e respectivamente, reforçando assim a idéia da influência de outros fatores (Tabela 7.9). TAB. 7.8: Resultados do casamento considerando a influência dos algoritmos de Edit Distance Ontologia Externa Ontologia Base Val.Sim NS: NS: ResearchGroup Research Group ResearchProject Research Project TAB. 7.9: Resultados do casamento considerando a influência dos algoritmos de Edit Distance Ontologia Externa Ontologia Base Val.Sim NS: NS: ResearchGroup Research Group ResearchProject Research Project

165 FIG. 7.11: Descrição das Ontologias Base e Externa TESTES PARA AVALIAR A DA INFLUÊNCIA DOS SINÔNIMOS Seguindo o mesmo raciocínio do primeiro estudo de caso, este segundo teste foi realizado com a estrutura original, sem nenhuma modificação, apenas com o cadastro de sinônimos dos conceitos na base de dados. Verificou-se, por exemplo, que os conceitos: University, Department, ResearchGroup, Research Project, FieldOfResearch e Course da OE e Academic Research Institution, Institution Units, Research Group, Research Project, Education Program e Research Sub Area da OB respectivamente, que não foram visualizados no primeiro teste, foram casados neste segundo teste justamente pelo uso do cadastro dos sinônimos, conforme apresentado na Tabela Entretanto, os conceitos course da OE e Education Program da OB não obtiveram pontuação suficiente para a realização do casamento, devido principalmente ao fato dos ancestrais deste conceito não possuirem nenhum tipo de semelhança com os ancestrais do conceito Education Program e dos mesmos não compartilharem suas propriedades. 164

166 TAB. 7.10: Resultados do casamento considerando a influência dos sinônimos Ontologia Externa Ontologia Base Val.Sim NS: NS: ResearchGroup Research Group Organisation Academic Research Institution FieldOfResearch Research Sub Area ResearchProject Research Project University Academic Research Institution Course Education Program Department Institution Units TESTES PARA AVALIAR A INFLUÊNCIA DAS HIERARQUIAS O terceiro teste é realizado com a alteração da estrutura da OE, considerando a base de sinônimos para comparação dos conceitos nas ontologias. Dessa forma, a hierarquia de alguns dos conceitos (Department e University) da OE casados no teste anterior foi alterada, ficando equivalente com a hierarquia da OB, conforme visualizado na figura A Tabela 7.11 mostra o aumento considerável (de para 0.960) dos valores de similaridade, comprovando novamente a influência da hierarquia na comparação entre conceitos. TAB. 7.11: Resultados do casamento considerando a influência das hierarquias Ontologia Externa Ontologia Base Val.Sim NS: NS: ResearchGroup Research Group Organisation Academic Research Institution FieldOfResearch Research Sub Area ResearchProject Research Project University Academic Research Institution Course Education Program Department Institution Units A figura 7.12 destaca a posição inicial dos conceitos Department e University na hierarquia da OE, e em seguida a sua nova colocação na hierarquia e como os seus conceitos equivalentes se localizam na hierarquia da OB TESTES PARA AVALIAR A INFLUÊNCIA DAS PROPRIEDADES Conforme já mencionado, as propriedades envolvendo um conceito exercem um papel significativo nos resultados do cálculo de similaridade. A figura 7.13 ilustra algumas das propriedades da OE. Observando a figura 7.13, nota-se que o conceito ScientificOrganization especializado nos seguintes conceitos: Department, University e ResearchGroup, é caracterizado por herança múltipla, sendo seus ancestrais os conceitos AcademicThing e Organization. Entretanto, convém ressaltar que a hierarquia do termo ScientificOrganization, considerada nos testes, se refere ao conceito AcademicThing. 165

167 FIG. 7.12: Alteração da Hierarquia da OE Vale ainda considerar algumas situações referentes ao uso das propriedades, como por exemplo, o conceito ResearchProject da OE que não possui nenhuma propriedade para conectar ao conceito FieldOfResearch; já o conceito Research Project da OB possui um link para o conceito Research Sub Area, denominado project Contributes To, e dessa forma não haverá proveito desta ligação na ontologia externa. Conclui-se então, que neste caso, mesmo após a instanciação, não haverá possibilidade de saber quais as áreas de pesquisa envolvem um determinado projeto. Algumas propriedades são consideradas sinônimas, como no caso da entidade Research Group da OE que possui uma ligação com a entidade FieldOfResearch através da propriedade researchesfield; já o Research Group da OB possui uma ligação com a entidade Research Sub Area através da propriedade group Works In, garantindo assim o mapeamento entre as entidades e possíveis transferências de instâncias. Outra consideração importante é que a entidade Organization da OE possui uma propriedade hassuborganisation, que é considerada equivalente à propriedade part Of da 166

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

Uso de taxonomias na gestão de conteúdo de portais corporativos.

Uso de taxonomias na gestão de conteúdo de portais corporativos. Gestão de Conteúdo web através de ontologias: conceitos e aplicações Fernando Silva Parreiras Contextualização O que? Uso de taxonomias na gestão de conteúdo de portais corporativos. Quem? Gerentes, consultores

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS

ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS Centro Universitário Feevale ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS Fernando Mertins Prof. Orientador: Rodrigo Rafael Villarreal Goulart Dezembro de 2007 Roteiro da Apresentação Introdução Objetivos

Leia mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

Leia mais

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

2 Geração Dinâmica de Conteúdo e Templates de Composição

2 Geração Dinâmica de Conteúdo e Templates de Composição 2 Geração Dinâmica de Conteúdo e Templates de Composição Alguns dos aspectos mais importantes na arquitetura proposta nesta dissertação são: a geração dinâmica de conteúdo e a utilização de templates de

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

Ontologias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília

Ontologias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Ontologias Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Origem Teoria sobre a natureza da existência Ramo da filosofia que lida com a natureza e organização da realidade.

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

Leia mais

MBA Inteligência Competitiva Com ênfase em BI/CPM. Metadados

MBA Inteligência Competitiva Com ênfase em BI/CPM. Metadados MBA Inteligência Competitiva BI/CPM 1 Data Warehousing PÓS-GRADUAÇÃO MBA Inteligência Competitiva Com ênfase em BI/CPM Metadados Andréa Cristina Montefusco (36927) Hermes Abreu Mattos (36768) Robson Pereira

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

INTRODUÇÃO A PORTAIS CORPORATIVOS

INTRODUÇÃO A PORTAIS CORPORATIVOS INTRODUÇÃO A PORTAIS CORPORATIVOS Conectt i3 Portais Corporativos Há cinco anos, as empresas vêm apostando em Intranet. Hoje estão na terceira geração, a mais interativa de todas. Souvenir Zalla Revista

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

1.1. Aplicações de TVD dinâmicas

1.1. Aplicações de TVD dinâmicas 1 Introdução Uma aplicação de TV Digital (TVD) comumente é composta por um vídeo principal associado a outros objetos (aplicações, imagens, vídeos, textos etc.), que são transmitidos em conjunto possibilitando

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado) UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado) SISTEMA INTERNO INTEGRADO PARA CONTROLE DE TAREFAS INTERNAS DE UMA EMPRESA DE DESENVOLVIMENTO

Leia mais

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP Anexo VI Edital nº 03361/2008 Projeto de Integração das informações de Identificação Civil 1. Definições de interoperabilidade adotadas pela SENASP A Senasp procura adotar os padrões de interoperabilidade

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação

Leia mais

Concepção e Elaboração

Concepção e Elaboração UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientado a Objetos Concepção e Elaboração Estudo

Leia mais

Conceito. As empresas como ecossistemas de relações dinâmicas

Conceito. As empresas como ecossistemas de relações dinâmicas Conceito As empresas como ecossistemas de relações dinâmicas PÁG 02 Actualmente, face à crescente necessidade de integração dos processos de negócio, as empresas enfrentam o desafio de inovar e expandir

Leia mais

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

Revisão de Banco de Dados

Revisão de Banco de Dados Revisão de Banco de Dados Fabiano Baldo 1 Sistema de Processamento de Arquivos Antes da concepção dos BDs o registro das informações eram feitos através de arquivos. Desvantagens: Redundância e Inconsistência

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

Engenharia de Software Sistemas Distribuídos

Engenharia de Software Sistemas Distribuídos Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 FEARSe Requisitos para a 1 a entrega 18 de Março de 2010 1 Introdução O projecto conjunto das disciplinas de Engenharia de Software

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

Trilhas Técnicas SBSI - 2014

Trilhas Técnicas SBSI - 2014 brunoronha@gmail.com, germanofenner@gmail.com, albertosampaio@ufc.br Brito (2012), os escritórios de gerenciamento de projetos são importantes para o fomento de mudanças, bem como para a melhoria da eficiência

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

Critérios para certificação de Sites SciELO: critérios, política e procedimentos para a classificação e certificação dos sites da Rede SciELO

Critérios para certificação de Sites SciELO: critérios, política e procedimentos para a classificação e certificação dos sites da Rede SciELO Critérios para certificação de Sites SciELO: critérios, política e procedimentos para a classificação e certificação dos sites da Rede SciELO Versão Março 2008 1 Introdução Este documento tem por objetivo

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

UTILIZAÇÃO DO AMBIENTE COLABORATIVO TIDIA-AE PELO GRUPO DE GERENCIAMENTO DO VOCABULÁRIO CONTROLADO DO SIBiUSP - BIÊNIO 2011-2013

UTILIZAÇÃO DO AMBIENTE COLABORATIVO TIDIA-AE PELO GRUPO DE GERENCIAMENTO DO VOCABULÁRIO CONTROLADO DO SIBiUSP - BIÊNIO 2011-2013 UTILIZAÇÃO DO AMBIENTE COLABORATIVO TIDIA-AE PELO GRUPO DE GERENCIAMENTO DO VOCABULÁRIO CONTROLADO DO SIBiUSP - BIÊNIO 2011-2013 Adriana Nascimento Flamino 1, Juliana de Souza Moraes 2 1 Mestre em Ciência

Leia mais

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com III Jornada Latinoamericana e do Caribe do gvsig Artigo: Integração do software i3geo com o gvsig Autor: Edmar Moretti Resumo: O i3geo é um software para a criação de mapas interativos para internet qu

Leia mais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD Introdução 1. CONCEITOS BÁSICOS DE BD, SBD E SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

Leia mais

PEER DATA MANAGEMENT SYSTEM

PEER DATA MANAGEMENT SYSTEM PEER DATA MANAGEMENT SYSTEM INTRODUÇÃO, INFRA-ESTRUTURA E MAPEAMENTO DE ESQUEMAS AGENDA Data Management System Peer Data Management System P2P Infra-estrutura Funcionamento do PDMS Mapeamento de Esquemas

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

Universidade de Brasília Faculdade de Economia, Administração, Contabilidade e Ciência da Informação e Documentação Departamento de Ciência da

Universidade de Brasília Faculdade de Economia, Administração, Contabilidade e Ciência da Informação e Documentação Departamento de Ciência da Universidade de Brasília Faculdade de Economia, Administração, Contabilidade e Ciência da Informação e Documentação Departamento de Ciência da Informação e Documentação Disciplina: Planejamento e Gestão

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Capítulo 9. Gerenciamento de rede

Capítulo 9. Gerenciamento de rede 1 Capítulo 9 Gerenciamento de rede 2 Redes de computadores I Prof.: Leandro Soares de Sousa E-mail: leandro.uff.puro@gmail.com Site: http://www.ic.uff.br/~lsousa Não deixem a matéria acumular!!! Datas

Leia mais

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. ANEXO 11 O MATRIZ Para o desenvolvimento de sites, objeto deste edital, a empresa contratada obrigatoriamente utilizará o framework MATRIZ desenvolvido pela PROCERGS e disponibilizado no início do trabalho.

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

MUDANÇAS NA ISO 9001: A VERSÃO 2015

MUDANÇAS NA ISO 9001: A VERSÃO 2015 MUDANÇAS NA ISO 9001: A VERSÃO 2015 Está em andamento o processo de revisão da Norma ISO 9001: 2015, que ao ser concluído resultará na mudança mais significativa já efetuada. A chamada família ISO 9000

Leia mais

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1 Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTRODUÇÃO Atualmente empresas de diversos portes estão encontrando nos web services soluções para seus

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

A Grande Importância da Mineração de Dados nas Organizações

A Grande Importância da Mineração de Dados nas Organizações A Grande Importância da Mineração de Dados nas Organizações Amarildo Aparecido Ferreira Junior¹, Késsia Rita da Costa Marchi¹, Jaime Willian Dias¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

Leia mais

EGC Gestão Estratégica da Tecnologia da Informação

EGC Gestão Estratégica da Tecnologia da Informação EGC Gestão Estratégica da Tecnologia da Informação Resenha Crítica: Qual a relação entre competitividade, gestão do conhecimento e tecnologia da informação? Paulo Fernando da Silva Para discutirmos a relação

Leia mais

Modelos. Comunicação com clientes

Modelos. Comunicação com clientes Material baseado nas notas de aula: Maria Luiza M. Campos IME/2005 Carlos Heuser - livro Projeto de Banco de Dados CasaNova / PUC/RJ Prof. MSc. Edilberto Silva edilms@yahoo.com Sistemas de Informação Brasília/DF

Leia mais

GT Computação Colaborativa (P2P)

GT Computação Colaborativa (P2P) GT Computação Colaborativa (P2P) Djamel Sadok Julho de 2003 Este documento tem como objetivo descrever o projeto de estruturação do grupo de trabalho GT Computação Colaborativa (P2P), responsável pelo

Leia mais

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti. TI Aplicada Aula 02 Áreas e Profissionais de TI Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http:// Papéis... Um papel é uma definição abstrata de um conjunto de atividades executadas e dos

Leia mais

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

Planejando o aplicativo

Planejando o aplicativo Um aplicativo do Visual FoxPro geralmente inclui um ou mais bancos de dados, um programa principal que configura o ambiente de sistema do aplicativo, além de uma interface com os usuários composta por

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Mídias sociais como apoio aos negócios B2C

Mídias sociais como apoio aos negócios B2C Mídias sociais como apoio aos negócios B2C A tecnologia e a informação caminham paralelas à globalização. No mercado atual é simples interagir, aproximar pessoas, expandir e aperfeiçoar os negócios dentro

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens

Leia mais

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I Prof. MSc. Hugo Souza Como já vimos, os sistemas distribuídos são apresentados considerando um planejamento bem mais complexo relacionado aos

Leia mais