Utilização de Recursos da Web Semântica na Construção de um Ambiente Web para Publicação Científica Indexada e Recuperada por Ontologias GARCIA, Léo Manoel Lopes da Silva Universidade Estadual Paulista “Julio de Mesquita Filho” Bauru, São Paulo, Brasil [email protected] ANTUNES, Franciano Universidade Estadual do Ceará Fortaleza, Ceará, Brasil [email protected] RESUMO Periódicos científicos publicados na Web são ainda calçados no modelo impresso, as informações neles contidos estão na forma textual, não sendo possível processar seu conhecimento computacionalmente. Os métodos atuais de indexação não permite que se faça uma inferência satisfatória entre esses recursos quando se quer recuperá-los ou lhes aplicar computação. Desse modo, é proposto um modelo de ambiente de publicação científica na Web que permita aos autores publicar seu artigo simultaneamente em formato textual e em formato inteligível por programas de computadores, utilizando-se de tecnologias que sustentam a Web Semântica, como Ontologias, OWL (Web Ontology Language), SPARQL. Palavras-Chave Ontologia, Publicação Cientifica, Web, Web Semântica. 1. INTRODUÇÃO Os recursos da Web são considerados atualmente importantes meios de comunicação, e estão se transformando, também, em importantes instrumentos para a disseminação de publicações e serviços de informação [1]. Neste sentido, a falta de representação consistente do conhecimento nos documentos disponibilizados tem levado pesquisadores e estudiosos a propor a inserção de significados em toda a documentação disponibilizada na Web atual, surgindo então, o conceito de Ontologias, Web Semântica e suas tecnologias envolvidas, como, Web Ontology Language – OWL (Linguagem que permite implementação computacional de ontologias), SPARQL (Protocol and RDF Query Language) e RDF (Resource Description Framework ) [2]. Tais tecnologias e conceitos objetivam exatamente agregar conteúdo semântico aos documentos publicados na Web para que programas “agentes inteligentes” possam “compreender” o conteúdo desses documentos e realizar tarefas sofisticadas SANTOS, Marcos Eduardo da Silva Universidade Estadual do Ceará Fortaleza, Ceará, Brasil [email protected] raciocinando com base nesses documentos [3]. Desta Forma, é proposta uma aplicação que almeja disponibilizar a ontologia Publicação Científica na Web. Em primeiro momento descreve-se o conceito de ontologias e suas aplicações no âmbito da tecnologia da informação, posteriormente descreve-se métodos de implementá-las computacionalmente. Ainda reflete-se a cerca da teoria da informação na busca nos principais pontos que necessita ser explicitado na descrição de um artigo científico, de posse de uma descrição, ela foi implementada no software Protegé [4]. Por fim utilizou-se o JENA, que é um Frame Work Java para Web Semântica [5], para se criar um protótipo, para se instanciar os documentos nas ontologias e recuperá-los. 2. DOCUMENTO CIENTÍFICO A reprodução social do conhecimento através da guarda, disseminação e uso da informação é uma questão com implicações tão profundas para a sociedade humana, a ponto de, ao longo de sua evolução, ter lhe dedicado grandes esforços e criado instituições para sua manutenção e expansão [6]. Artigos Científicos referenciados são veículos através do qual são disseminados os novos conhecimentos. Desde a publicação das Philosophical Transactions da Royal Society, na Inglaterra do século XVII, coleções de artigos científicos são tidos como repositórios de novos conhecimentos. No entanto, hoje as publicações científicas na Web, apesar do avanço das tecnologias da informação, são ainda calçadas no modelo impresso [6]. Tratando a descrição de semânticas de dados na Web, Tim Berners-Lee propõe a visão da Web Semântica, uma extensão da Web atual, formada por documentos compreensíveis unicamente por pessoas, para uma Web em que documentos seriam auto-descritíveis, da forma que seu conteúdo possa ser “compreendido” por programas, os agentes de software, que assim poderiam “raciocinar” e realizar inferências sobre o conteúdo de documentos, ajudando as pessoas em diferentes tarefas de recuperação de informações que exigem raciocínio, decisões, inferências de conclusões a partir de informações não explicitamente disponíveis [2]. Uma das bases do projeto Web Semântica são as ontologias. Mas o que é ontologias? Ontologia é um modelo informacional descrevendo e representando um domínio de conhecimento específico, através dos conceitos correspondendo aos objetos relevantes nesse domínio, de sua estrutura e seus inter-relacionamentos; esse modelo deve ser de entendimento compartilhado por uma comunidade de usuários [7]. São inúmeros os benefícios quando se define um domínio de interesse com ontologias, como: compartilhamento do conhecimento, aplicação de uma ontologia genérica para um domínio de conhecimento específico e compreensão semântica dos dados do domínio. 4. OWL – Web Ontology Language A Web Ontology Language (OWL) descreve classes propriedades e relações entre objetos conceituais que prove facilidades a interpretação das máquinas sobre o conteúdo Web[11]. A OWL é definida como um vocabulário, da mesma maneira que o RDF e o RDF Schema, mas é enriquecida com semântica. Essencialmente, uma ontologia criada no padrão OWL, nada mais é que, uma coleção de triplos RDF. A definição de OWL é organizada em três sub-linguagens: OWL Lite é a sub-linguagem sintaticamente mais simples. Destina-se a situações em que apenas são necessárias restrições e uma hierarquia de classe simples. Por exemplo, o OWL Lite pode fornecer uma forma de migração para tesauros existentes, bem como de outras hierarquia simples; OWL DL é mais expressiva que OWL Lite e baseiase em lógica descritiva, um fragmento de lógica de primeira ordem, passível portanto de raciocínio automático. É possível assim computar automaticamente a hierarquia de classes e verificar inconsistências na ontologia; OWL Full é a mais expressiva das três sublinguagens. Destina-se a situações onde alta expressividade é mais importante do que garantir a “decidabilidade” ou completude da linguagem. Não é possível efetuar inferências em ontologias OWL Full. 3. ONTOLOGIA Para [8] uma ontologia é “uma maneira de se conceitualizar de forma explícita e formal os conceitos e restrições relacionados a um domínio de interesse”. Assim, ontologia é um modelo abstrato com o intuito de representar conceitos de um determinado domínio de forma clara e objetiva. Já [9] complementa que é importante uma ontologia ser também formal e compartilhada, isto é, ela deve ser formal no intuito de ser processável por máquinas e poder ser compartilhada para um grupo de pessoas. Outra característica importante sobre ontologia é ressaltada em [10], e remete ao fato de que uma ontologia não pode ser tratada apenas como uma hierarquia de conceitos, mas também como um conjunto de relações, restrições, axiomas, instâncias e vocabulário. A partir das definições de Guarino, Gruber e Guizard, conclui-se que uma ontologia é a descrição de um determinado domínio, o qual deve ser formal, compartilhável e composto por um conjunto de conceitos e regras bem formalizadas. As ontologias oferecem um meio de lidar com a representação de recursos de informação: o modelo de domínio descrito por uma ontologia pode ser usado como uma estrutura unificadora para dar semântica e uma representação comum à informação. Linguagens utilizadas para a construção de ontologias são baseadas em lógica. Existem algumas ferramentas e API’s que auxiliam a construção. Entre elas o Protégé e o JENA. Ontologias são utilizadas na Web Semântica como um meio de representar documentos semanticamente e possibilitar que agentes inteligentes possam encontrá-los e processálos. Inicialmente era utilizado o padrão XML, porém, esse padrão não possuía semântica. Depois surgiu o padrão RDF, que possui semântica simples baseada em associações com identificadores. O padrão atualmente indicado pela W3C é o OWL – Web Ontology Language. Existem alguns requerimentos da W3C definidos para linguagens de descrição de ontologias. Os pontos de maior importância são: a estrutura da linguagem deve ser compatível com XML, seguir restrições lógicas, suportar a definição de vocabulários de ontologias e deve ser facilitada. 5. JENA JENA é um API Java para manipulação dinâmica de modelos RDF e OWL. Foi desenvolvido por Brian MacBride, funcionário da Hewlett-Packard Company, mais conhecida como HP, utilizando assim, um trabalho derivado do SIRPAC API que se encontrava com suas pesquisas bem adiantadas [4]. O JENA caracteriza-se por possibilitar a criação e manipulação de grafos RDF, representadas pelos recursos (resource), propriedades (properties) e literais (Literals), formando as tuplas que irão dar origem aos objetos criados pelo Java. Assim, esse é o conjunto de statements que forma o grafo por completo. Essa relação é apresentada abaixo. O grafo gerado pela API é obtido através da classe ModelMen que, armazenado em memória, fica disponível até a finalização da execução do programa. Assim, durante essa execução, pode-se percorrer e buscar os elementos armazenados para criação modificação ou exclusão do conteúdo de um arquivo RDF ou OWL. 6. Criação da Ontologia Documento Científico Em contato com a área da comunicação científica, optou -se por desenvolver uma ontologia para a recuperação de artigos científicos on-line utilizando como referencial teórico o trabalho de [3], que se baseia na Norma NBR6023 – de Referência, da Associação Brasileira de Normas Técnicas - ABNT [12]. Figura 1 – Hierarquia e Relacionamento das interfaces [5] A interface para programação que manipulará e criará novos elementos, que são visualizados da seguinte forma: RDFNode tem a função de prover ligação com todos os demais elementos do RDF, a fim de formar tuplas para a perfeita criação dos elementos; Resource é visualizado como qualquer coisa que possa ser representado como um URI; Literals podem ser utilizados como novos objetos, atribuições dentro de (predicate, subject, object) tuplas ou prover acesso a métodos que convertam literais em vários tipos de dados (string, int e double); Properties são as propriedades inseridas nas tuplas utilizadas; Statement é conhecida como uma expressão que pode dar origem a uma nova tupla, representada por um objeto novo; (predicate) Container são conjuntos de objetos dispostos da maneira adequada (alt, bag e seq) para acomodar as tuplas criadas. A API JENA pode ser utilizada na área semântica, propondo codificações e busca de informações nos arquivos RDF e OWL. Esses arquivos, normalmente codificados como arquivos XML e inseridos em páginas XHTLM, possibilitarão aos motores de busca da Web localizar palavras por meio de métodos da API, objetivando uma maior precisão na obtenção dos resultados. Baseando-se na Norma de Referências para fazer uma citação de artigo científico, extraíram-se os termos essenciais, utilizados no processo de busca e recuperação de um artigo on-line [3]. Em seguida, construíram-se as perguntas que a ontologia deveria responder: 1. Quais são os autores que publicaram sobre determinado assunto? 2. Determinado autor tem artigos publicados? 3. Que autor publicou sobre determinado assunto? 4. Que artigos foram publicados em determinado ano? 5. Quais periódicos publicaram sobre determinado assunto? 6. Existem artigos publicados em 2005 sobre um determinado assunto? 7. Quais autores publicam em um determinado periódico? Após elaborar as perguntas que deverão ser respondidas de forma relevante e precisa, iniciou-se o processo de construção da estrutura das classes, subclasses e suas propriedades. É importante ressaltar, que foram consultados os repositórios de Ontologias disponibilizadas pelas comunidades cientificas na Web, sendo elas importante norteadores para a criação da ontologia apresentada nesse trabalho. Após a estruturação das classes, utilizou -se o software Protégé, onde foi criada a ontologia “Documento Científico” OWL. Foi utilizado o Reasoner (motor de inferência) RACER a fim de validar a ontologia de modo automático. 7. CONSTRUÇÃO DO PROTÓTIPO O objetivo do trabalho é desenvolver um ambiente Web, no entanto, optou-se primeiramente pelo desenvolvimento de um protótipo local, a fim de se verificar a viabilidade de se utilizar a API JENA para manipular ontologias. Foi construído um método para carregar dentro do ambiente NetBeans o arquivo documentocientifco.owl contendo a ontologia criada no ambiente Protegé, o que ocorreu satisfatoriamente. Como primeiras aplicações foram desenvolvidos métodos baseados em SPARQL para a recuperação de documentos utilizando como parâmetros: o autor, o nome do artigo, o evento ou revista científica, e por fim também como parâmetro 45 áreas do conhecimento divididas hierarquicamente. Implementado os métodos necessários, foi construída uma interface simples para a recuperação de documentos. Para a realização dos testes foram instanciados 40 artigos na ontologia, e posteriormente foi realizado buscas utilizando todos os parâmetros estabelecidos na interface. Todos os métodos criados funcionaram corretamente. O sistema gera como resultado o caminho da localização do artigo como um link(Figura 2), durante a criação da instância na ontologia é preciso especificar esse caminho. É importante ressaltar que a instância de cada documento na ontologia ainda é feito de modo manual no ambiente Protégé ou diretamente no código OWL, ainda não foi possível a construção de uma interface gráfica para indexar novos documentos e instanciá-los na ontologia automaticamente. Figura 2 - Tela com resultado de consulta pelo autor1. 1 O nome SACI é o acrônimo do laboratório ao qual pertence o autor do presente artigo, Sistemas Adaptativos e Computação Inteligente – SACI. T ABELA I ESTRUTURA DE CLASSES, SUB CLASSES E P ROP RIEDADES Classes Área do Conhecime nto Propriedades Sub Classes Agrárias Biológicas 1. 2. tem_autores tem_publicações Saúde Exatas Humanas Sociais Lingüística Evento 1. 2. 3. 4. 1. 2. 3. 4. 5. 1. 2. 3. 1. 2. 3. 4. 5. 6. 7. 1. 2. 3. 4. 5. Data Web_site temlocal Nome Fontes Anais Data tem_total_pags Fasciculo Revista tem_evento Cientifica Volume tem_titulo_revista Local Cidade UF LocalLocal Pessoa Formação Nome Status Email Área_de_Atuação Linhas_de_Pesquisa T emPublicação Document Artigo Palavra-chave o T ítulo Painel Cientifico Abstract Páginas T emAreadoconhecimen to 6. T emautor 7. T emEvento 8. T emFonte 9. T emLinhadePesquisa Revista 1. Nome 2. Web_Site 8. CONSIDERAÇÕES FINAIS 3. T emPublicações OT ópico desenvolvimento dessa aplicação proporcionou a de 1. Nome investigação de ferramentas e conceitos da Web Semântica. Pesquisa A escolha por um ambiente de recuperação e indexação de artigos científicos foi apropriada, pois indexação e a inferência sobre documentos é um paradigma em evidência na sociedade da informação. A ontologia criada se mostrou consistente durante a criação das instâncias, e fica como ponto positivo a iniciativa de primeiramente consultar os bancos de ontologias antes de iniciar a criação de uma nova ontologia. O maior problema encontrado foi em relação ao código OWL por ser muito complexo, para o futuro pretende-se obter a completa compreensão do código para só assim poder implementar a indexação de arquivos por meio de uma interface que não exija do usuário nenhum conhecimento a cerca de ontologia ou programação. Esse avanço é de suma importância, pois a indexação dos documentos em ontologia é muito trabalhosa. As aplicações presentes no protótipo corresponderam ao esperado, para o futuro é previsto a implementação em um servidor web, indexar uma quantidade notável de arquivos e medir estatisticamente a qualidade da busca. Assim pode-se concluir que a publicação de artigos científicos por meio de ontologias pode ser uma perspectiva promissora. Mesmo, momentaneamente, a aplicação estar executando apenas consultas, o trabalho expõe que a disposição desses documentos por ontologias e implementadas em OWL, permite uma miríade de possibilidades de inferência por sistemas ou agentes inteligentes. 9. REFERÊNCIAS [1] N. Márcia, H. N. Adriana, “Aplicação de Elementos Metadados Dublin Core para Descrição de Dados Bibliográficos On-line da da Biblioteca Digital de Teses da USP”. Disponível em: http://www.sibi.ufrj.br/snbu/snbu2002/oralpdf/82.a.pdf Acesso Abr. 2009. [2] B. Lee, H. James e L. Ora, “The Semantic Web”. Scientifc American, May 2001. Disponível Online em http://www.scian.com/2001/00501issue/051berners-lee.html, Acesso em jun. 2009. [3] A. E. Andrenizia e B. F. Greisy, “Ontology for Scientific Publication” Disponível Online em: http://www.uff.br/ontologia/artigos/316.pdf acesso em 20 Jun. 2009. [4] PROTÉGÉ – Ontology Editor and Knowledge Acquisition System, v. 3.2.1 The National Center for Biomedical Ontology, Stanford Medical Informatics. Disponível em: http://protege.stanford.edu. Acesso em: 15 Mai. 2009. [5] JENA – A Semantic Web FrameWork for JAVA, Julho 2009 Disponível Online em: http://jena.sourceforge.net/license.html [6] M., Carlos Henrique et al. Ontologias como novas bases de conhecimento científico. Perspect. ciênc. inf. [online]. 2008, vol.13, n.3, pp. 20-39. ISSN 1413-9936. doi: 10.1590/S1413-99362008000300003. [7] M. H. Carlos, A. R. Marília, R. M. Luciana e C. Leonardo, “Bases Ontológicas e conceituais para um Modelo do Conhecimento Contido em Artigos Biomédicos”. R. Eletrp. De Com. Inf. Inov. Saúde. Rio de Janeiro, v.3, n.1, p.21-32, Mar., 2009. [8] N. Guarino (1998), “Formal Ontology and Information Systems”. Disponivel em: http://loacnr.it/Papers/FOIS98.pdf Acesso em: Abr. 2009. [9] T. R. Gruber (1993), “A Translation Approach to Portable Ontology”, Disponível em: http://tomgruber.org/writing/ontolingua-kaj-1993.pdf Acesso em: Abr. 2009. [10] G. Guizzardi (2000), “Análise de domínio e Ontologias”. Disponível em: http://www.home.cs.utwente.nl/guizzard/MSc/ Acesso em Jun. 2009. [11] M. Dean, G. Schereiber, S. Bechhofer F. van Harmelen, J. Hendler, I. Horrocks, D. L. MacGuiness, P. F. PatelSchneider, L. e Andrea. (2004) “OWL Web Ontology Language Reference”, W3C Recommendation, http://www.w3.org/TR/2004/REC-owlref20040210/ Acesso Abr. 2009. [12] ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS (ABNT). Disponível em: http://www.abnt.org.br Acesso em Abr. 2009.