INSTITUTO VIANNA JÚNIOR LTDA FACULADE DE CIENCIAS ECONOMICAS VIANNA JUNIOR WEB SEMÂNTICA: A nova internet que fará com que os computadores entendam a lógica humana. Lúcia Helena de Magalhães1 Márcio Aarestrup Arbex2 Teresinha Moreira de Magalhães3 Resumo Este artigo tem como objetivo fundamentar a Web Semântica, um novo conceito que surge como uma possível solução para a estruturação semântica dos dados na web, viabilizando o processamento da informação por parte das máquinas, possibilitando assim, a geração de serviços on-line mais eficientes em que a semântica do conteúdo é levada em consideração. É uma linguagem compreensível por qualquer computador, o que facilita o processo de busca de informações relevantes pelas ferramentas de busca. Palavras Chaves: Web Semântica, Informação, linguagem, XML, Ontologia, RDF e ferramentas de busca 1 Lúcia Helena de Magalhães, Pós Graduada em Desenvolvimento de Aplicações para Web pelo Centro de Ensino Superior, Pós Graduada em Matemática e Estatística pela Universidade Federal de Lavras e Mestranda em Sistemas Computacionais – Computação de Auto-Desempenho pela Universidade Federal do Rio de Janeiro. Professora de Computação na Universidade Presidente Antonio Carlos e Professora no Curso de Desenvolvimento Web das Faculdades Integradas do Instituto Vianna Júnior. [email protected] 2 Márcio Aarestrup Arbex, Pós Graduado Ciência da Computação pela Universidade Federal de Viçosa. Professor de Computação na Universidade Presidente Antonio Carlos e Professor de Sistema de Informação e Redes de Computadores na Faculdade Doctum. Administrador de Sistemas da Embratel. [email protected] 3 Teresinha Moreira de Magalhães, Pós Graduada em Redes de Computadores pelo Centro de Ensino Superior de Juiz de Fora, Pós Graduada em Matemática e Estatística pela Universidade Federal de Lavras e doutoranda em Sistemas Computacionais – Computação de Auto-Desempenho pela Universidade Federal do Rio de Janeiro. Professora no Curso de Desenvolvimento Web das Faculdades Integradas do Instituto Vianna Júnior. [email protected] WEB SEMÂNTICA: A nova internet que fará com que os computadores entendam a lógica humana. A Web é a maior fonte de disseminação de informações com uma enorme quantidade de documentos que são utilizados por milhões de usuários. Hoje em dia, o auxílio prestado por programas e máquinas no uso da Web já é considerável. Esta afirmação não leva em consideração as funcionalidades que provêem a infra-estrutura básica necessária para o funcionamento da Web, como o correto funcionamento de redes de comunicação, servidores Web e outros serviços, além do browser e infra-estrutura de conectividade local do usuário. Fora tudo isso, ainda sobram funcionalidades como as fornecidas pelas ferramentas de busca. Apesar de não fazerem parte da infra-estrutura essencial da Web, é fácil reconhecer o enorme benefício que elas proporcionam, e fica difícil imaginar esse mundo virtual sem a presença delas. Entretanto, a ajuda mecânica que recebemos hoje é ínfima com relação à potencialidade dessa área. Computadores e programas poderiam auxiliar pessoas de forma mais efetiva, e até mesmo automatizar a realização de algumas tarefas. No entanto, limitações no modelo atual da Web inviabilizam uma contribuição mais expressiva por parte de processos mecânicos, para estas finalidades. O crescimento contínuo e acelerado de um grande volume de informações desorganizadas torna gradualmente mais difícil as tarefas requeridas pelos usuários de busca e recuperação da informação. Assim, a Web Semântica surge como uma possível solução para a estruturação semântica dos dados na web, viabilizando o processamento da informação por parte das máquinas, possibilitando assim, a geração de serviços on-line mais eficientes em que a semântica do conteúdo é levada em consideração. A Web que conhecemos hoje foi criada para ser entendida apenas por pessoas. A semântica amplia imensamente esse público. Ela terá uma linguagem que também poderá ser compreendida por qualquer computador. (INFO, 2000, p.64) Se analisarmos a manipulação da informação desde a comunicação entre as pessoas em linguagem natural, em que a semântica é informal e implícita, passando pela sua explicitação na descrição informal de conceitos, e evoluindo para uma captação mais estrita e menos ambígua nos modelos de dados partilhados entre uma aplicação e o seu servidor, observamos parte de um “contínuo semântico” (Uschold 2000) que até este ponto pode já ter semântica expressa formalmente, mas a que falta ainda a possibilidade de a processar automaticamente nas aplicações. Este último nível é o que deve ser oferecido no ambiente da “Web Semântica”. “A Web Semântica pode ser vista como o alargamento para a Web dos esforços desenvolvidos na Ciência da Computação, no sentido de representar conhecimento de uma forma adequada à automatização do raciocínio” (Brachman et al. 1985, Sowa 2000). O objetivo da Web Semântica, segundo Berners-Lee é estruturar o conteúdo que está solto pela internet. “Isso criará um ambiente no qual agentes4 poderão perambular de página em página para executar tarefas bastante sofisticadas para seus usuários”. Para que os computadores entendam o conteúdo da web (Berners-Lee – INFO,2002) é necessário que eles consigam ler dados estruturados e tenham acesso a conjunto de regras que os ajudem a conduzir seus raciocínios. As páginas web terão de ser escritas em uma nova linguagem e, mais que isso, ser compreendida por diferentes sistemas. “Introduzir semântica à web não é mais difícil. Isso já vem sendo feito há anos. O problema é criar padrões que sejam usados globalmente. Demonstraremos as tecnologias que mais podem auxiliar na criação destes padrões tais como as ontologias e a linguagem RDF (Resource Description Framework), que tendem a ser um padrão no campo da busca semântica. 4 Programas que varrem a web para buscar determinada informação (INFO, 2002) Ferramentas para definição semântica Um fator limitante a Web semântica é a ausência quase completa de metadados acompanhando as informações disponíveis na Web. O caso mais grave é o das páginas HTML, que não trazem um modelo forte para o uso de metadados. O que existe são apenas inclusão de tags5 META nos documentos. Estas podem ser usadas para incluir informações como assunto, autor, palavras-chave, entre outras, que podem ser utilizadas por ferramentas de busca, como dados para o algoritmo de indexação. Fora esse uso, a utilidade dessas informações é restrita. As tags META contemplam somente o nível do documento como um todo, e têm expressividade restrita a um conjunto fechado de conceitos. Assim tecnologias mais eficazes para representação do conhecimento serão necessárias, as quais serão citadas. • XML – eXtensible Markup Language O XML trouxe uma evolução para a web semântica, uma vez que, neste formato, cada unidade de informação é acompanhada de uma tag que a qualifica. Como as tags podem ser livremente criadas, estas tendem a ter nomes bastante representativos da informação que acompanham. Representativo, neste contexto, diz respeito somente à facilidade de inferência do significado por um ser humano. O XML permite que os usuários criem tags personalizadas nos dados inserido nos arquivos, algo que não dá para se fazer no HTML. Foi o próprio W3C quem desenvolveu o XML, com a missão de torná-lo um formato universal para a web. (INFO, 2002, p.65) Porém, para processos mecânicos, como ferramentas de busca, estas informações não são mais representativas do que palavras soltas dentro do texto. Nomes de tags não podem ser associados a conceitos por um processo mecânico, devido ao problema de 5 Marcação de dados inseridas em arquivos contidas entre pares de sinais menor que (<) e maior que (>). Em XML, o usuário pode personalizá-la. diferenças de vocabulário. Na modelagem de arquivos XML, autores diferentes podem usar nomes de tags diferentes para unidades de informação correspondentes ao mesmo conceito. Haroldo (2004) define XML como sendo um conjunto de regras para definir marcas semânticas que quebram um documento em partes e identificam essas diferentes partes. Desta forma, a evolução trazida por XML é limitada, fato que é muitas vezes não compreendido, o que faz com que XML seja considerado erroneamente por muitos uma solução definitiva para todos os problemas de interoperabilidade semântica. As aplicações atuais já fazem uso das anotações presentes nos documentos e que pretendem explicitar a sua estrutura e o significado das suas componentes. Este uso assume, no entanto, o conhecimento da semântica dessas anotações, que pode ser inconsistente entre o criador dos dados e a aplicação que os usa. A anotação em XML permite assim que cada utilizador estruture livremente os seus documentos, mas não estabelece nada quanto ao significado dessa estrutura. Ainda assim, a linguagem XML é um componente central da Web Semântica, pois permite descrever semanticamente os dados e, a partir de categorias que o próprio usuário pode definir. Uma vez que o dado é encontrado, ele pode ser distribuído pela rede e apresentado em um browser, de várias formas possíveis, ou então pode ser transferido para outras aplicações para processamento futuro e visualização. O XML acaba por fornecer um padrão para codificação do conteúdo e semântica para uma grande variedade de casos, variando de aplicações simples (como um registro estruturado ou um breve documento) a complexas (objetos, com seus atributos e métodos, conteúdo de site na Web, descrição de interfaces gráficas com o usuário, links entre informações e pessoas na Web). As páginas construídas usando a filosofia da Web Semântica passam a fazer parte de um meio universal para a troca de informação. Dizemos que se trata de um meio universal porque estas páginas podem ser lidas por humanos ou por máquinas. O nível seguinte nas tecnologias para a Web Semântica é o RDF ou “Resource Description Framework” [W3C 2003], que é uma linguagem para fazer em XML afirmações acerca de recursos, recomendada pelo W3C que deve vir a ser implementada na confecção de páginas da Web Semântica. • RDF – Resource Description Framework O RDF define o conteúdo de páginas web escritas em XML. Ele forma trios de informação que expressam o significado das tags XML. Cada unidade do trio tem sua própria função, como o sujeito, verbo e objeto de uma frase. (INFO, 2002, p.65) O RDF, ou Resource Definition Framework, é um modelo para descrição de metadados de paginas da Web que permite escrever afirmações que captam o significado dos dados numa aplicação. Se cada aplicação pode criar os seus próprios conceitos, e pretendemos que outras possam manipulá-los de uma forma sensível ao significado, então é preciso que o significado desses conceitos seja exposto de uma forma que se possa manipular automaticamente. Na Web Semântico esse é o papel das ontologias, conceito que será visto com mais detalhes a seguir. • OWL – Resource Description Framework A OWL adiciona mais vocabulários para descrever classes e propriedades: entre outros, relacionamentos entre classes, cardinalidade, igualdade, uma maior variedade de tipos de propriedades, características de propriedades e classes numeradas. A OWL é uma linguagem para definição e instanciação de ontologias Web. Uma ontologia OWL pode formalizar um domínio, definindo classes e propriedades destas classes, definir indivíduos e afirmações sobre eles e, usando-se a semântica formal OWL, especificar como derivar conseqüências lógicas, isto é, fatos que não estão presentes na ontologia, mas são vinculados pela semântica. Segundo Harmelen e McGuinness, a OWL possui três sub-linguagens incrementais projetadas para serem usadas por diferentes comunidades de programadores e usuários: • OWL Lite: é uma sub-linguagen da OWL DL que usa somente algumas características da linguagem OWL e possui mais limitações do que OWL DL ou OWL Full. • OWL DL: é usada por usuários que queiram o máximo de expressividade, com completude (todas as conclusões são garantidas serem computáveis) e decidibilidade (todas as computações terminarão em um tempo finito) computacional. Ela inclui todas as construções da linguagem OWL, mas estas construções somente podem ser usadas sob certas restrições. A sigla DL possui correspondência com a lógica descritiva (description logics), uma área de pesquisa que estuda um fragmento particular da lógica de primeira ordem. • OWL Full: é usada por usuários que queiram o máximo de expressividade e independência sintática de RDF, sem nenhuma garantia computacional. A OWL Full e a OWL DL suportam o mesmo conjunto de construções da linguagem OWL, embora com restrições um pouco diferentes. Enquanto a OWL DL impõe restrições sobre o uso de RDF e requer disjunção de classes, propriedades, indivíduos e valores de dados. A OWL Full permite misturar OWL com RDF e não requer a disjunção de classes, propriedades, indivíduos e valores de dados. Ontologia A falta de soluções capazes de captar a semântica das páginas da Web criou uma demanda de serviços que se ajusta à aplicação de ontologias. Este tecnologia desponta como uma forma viável de estruturar informações esparsas, disponíveis na rede e deve possuir um significado e abrangência muito mais profundos do que as simples hierarquias de conceitos e palavras-chaves empregadas por muitos engenhos de busca. A palavra “ontologia” deriva do grego onto (ser) e logia (discurso escrito ou falado). Na filosofia, a ontologia é uma teoria sobre a natureza da existência, de que tipos de “coisas” existem; a ontologia como disciplina filosófica estuda tais teorias. “Uma ontologia é uma especificação de uma conceituação. É designada com o propósito de habilitar o compartilhamento e reuso de conhecimentos, de forma a criar ‘compromissos ontológicos’, ou definições necessárias à criação de um vocabulário comum”. As ontologias se apresentam como um modelo de relacionamento de entidades e suas interações, em algum domínio particular do conhecimento ou específico a alguma atividade. O objetivo de sua construção é a necessidade de um vocabulário compartilhado para se trocarem informações entre os membros de uma comunidade, sejam eles humanos ou agentes inteligentes. “As ontologias vão fornecer o vocabulário para a comunicação entre os agentes e as páginas e mostrar as relações entre os conceitos”. (INFO, 2002) Apesar da palavra “ontologia” denotar uma teoria sobre a natureza do ser ou existência, em Inteligência Artificial ela pode ser interpretada como o conjunto de entidades com suas relações, restrições, axiomas e vocabulário. Uma ontologia define um domínio, ou, mais formalmente, especifica uma conceitualização acerca dele (Gruber 95). Pelo fato de, idealmente, não refletirem nenhum formalismo específico, e de representarem com freqüência um vocabulário comum entre usuários e sistemas (Clark 99), pode-se considerar as ontologias como a materialização do nível de conhecimento. Podemos, também, definir o termo ontologia a partir dos requisitos para possibilitar sua aplicação em informática: “Uma ontologia é uma especificação explícita e formal 6 de uma conceitualização7 compartilhada”. (STUDER et al 98). · De fato, ontologias pré-construídas sobre domínios restritos têm sido bastante reutilizadas e podem vir a representar um papel fundamental como fornecedoras de conhecimento para a inferência dinâmica realizada por agentes de softwares inteligentes8. Ontologias estão sendo aplicadas com sucesso em áreas em que a necessidade de uso de contexto, e em especial de comunicação contextualizada, se fazem sentir. Com efeito, agentes baseados em ontologias vêm sendo testados em diversos campos, como comércio eletrônico, gestão de conhecimento e tratamento inteligente de informação. Esta orientação ontológica trouxe muitos benefícios, alguns dos quais não previstos, e que só vieram frutificar a época de sua implementação, tais como a oportunidade para os desenvolvedores de reusar ontologias e bases de conhecimento, mesmo com adaptações e extensões, o impacto sobre o desenvolvimento de sistemas baseados em conhecimento é substancial e a construção de bases de conhecimento redunda 6 · Por especificação explícita, podemos entender as definições de conceitos, instâncias, relações, restrições e axiomas e por especificação formal, que é declarativamente definida, portanto, compreensível para agentes e sistemas. 7 Conceitualização refere-se a um modelo abstrato de uma área de conhecimento ou de um universo limitado de discurso. 8 Programas que recolhem conteúdos de diversas origens, processam informações e trocam resultados com outros programas. Um agente deve ser capaz de “compreender” os dados enviados por outros agentes. na tarefa mais cara e demorada de um projeto de sistemas especialistas e/ou agentes. Às ontologias, permite-se ainda aos usuários efetuarem consultas, comparações, integração e checagens de consistência. Diversos padrões e linguagens para construção e compartilhamento de ontologias na Web estão sendo criados, todos baseados no XML, com algumas diferenças de sintaxe de marcação (tags). Alguns exemplos são mostrados só a nível de conhecimento, pois não serão explicadas com detalhes: Simple HTML Ontology Exensions (SHOE) A SHOE é inserida em arquivos HTML através de acréscimo de tags, a mesma inclui um mecanismo de definição de ontologias, instâncias de dados e classificação hierárquica de documentos HTML. Embora seja uma linguagem ontológica voltada para web, a SHOE não está envolvida diretamente com o desenvolvimento de Web Semântica. Ontology Inference Layer (OIL) A OIL tende a ser altamente intuitiva para a compreensão por seres humanos e ao mesmo tempo apresentar suporte para a dedução automática. DARPA Agent Markup Language (DAML) Tem como objetivo a construção de uma linguagem que dê suporte ao desenvolvimento de sistemas complexos de representação do conhecimento. Web Ontology Language (OWL) Tem como objetivo proporcionar uma linguagem que possa ser usada para descrever as classes e relações entre elas, inerentes a aplicações e documentos da web. Ainda se encontra em desenvolvimento. Portanto, com o advento da tecnologia de busca semântica espera-se que o computador se torne mais eficiente na execução de suas tarefas, abrindo cada vez mais o seu leque de aplicações e facilitando cada vez mais a vida dos usuários. As máquinas terão poder não só de processar, mas também de “entender” e manipular os dados que exibem. A busca semântica se propõe a resolver os problemas de tratamento, armazenamento e recuperação da informação, permitindo às máquinas ter acesso a dados estruturados com significado bem definido e a um conjunto de regras de inferência que serão utilizadas para o raciocínio automatizado, melhorando a precisão na recuperação dos dados, isto é, a habilidade do sistema para rejeitar materiais irrelevantes. (Girardi, 1995). Por conseguinte, espera-se que estudos e projetos mais aprofundados na área sejam realizados para que as máquinas possam realmente entender a lógica humana. Porém, no Brasil, parece que os projetos ainda estão bastante tímidos e muitos ainda buscam posições de destaques dos documentos indexados nos mecanismos de busca, sem a devida preocupação com a qualidade da informação. Esse estado revela a necessidade de melhorias no tratamento da informação no cenário brasileiro de indexação eletrônica. Inúmeras implementações foram detectadas na bibliografia de projetos disponíveis via rede, com relação à indexação por hankiamento, através de algoritmos de balanceamento de pesos e de estatística. Porém precisa ser trabalhada a visão semântica e ontológica se o objetivo for o de otimizar e agregar qualidade à indexação eletrônica, almejando a relevância dos resultados nas buscas via Internet, evitando a recuperação de informações não relevantes, ou seja, do “lixo informacional”. REFERENCIAS BIBLIOGRÁFICAS BERNERS – LEE, T., HENDLER, J., LASSILA, O. The Semantic Web. Scientifc American, May, 2001. BRACHMAN, R.; ANAND, T. “The Process of Knowledge Discovery in Databases: A HumanCentered Approach”. In: Advances in Knowledge Discovery and Data Mining. AAAI Press, 1996, p. 36-37. FORTES, D. A nova internet. Revista INFO. Abril/2002 GRUBER, T.R. A Translation Approach to Portable Ontologies.Knowledge Acquisition, v.5, n.2, p.199-200,1995. HARMELEN, F. V; MCGUINNESS, D. L. OWL Web Ontology Language Overview. http://www.w3.org/TR/2004/REC-owl-features-20040210/, Fevereiro 2004. Acesso em: 13 março 2007. INFO EXAME, Revista de Informática. Web Semântica: A última invenção de Tim Berners-Lee. São Paulo, abril/2002, p.64. KOSALA, R.; BLOCKEEL H. “Web Mining Research: A survey”. In: SIGKDD Explorations, vol. 2 -1, June 2000, pp. 1-15. REZENDE, S. Sistemas Inteligentes: fundamentos e aplicações. São Paulo: Manole, 2003. 525 p. SMITH, M. K.; WELTY, C.; McGUINNESS, D., OWL Web Ontology Language Guide. W3C, 2004. Disponível em: http://www.w3.org/TR/owl-guide/ Acesso em: 13 março 2007. SOWA J. F., Ontology, metadata and semiotics, Conceptual Structures: Logical, Linguistic, and Computational Issues, Lecture Notes in AI, Springer-Verlag, Berlin., 2000 , p 55-81 STUDER, R., BENJAMINS, R., FENSEL, D. Knowledge Engineering and Methods Data and knowledge Engineering, 1998. P. 161-197. W3C (WORLD WIDE WEB CONSORTIUM). Disponível em: <http://www.w3.org/ Acesso em: 05 dezembro 2007.