• Nenhum resultado encontrado

2.3 ONTOLOGIA E TAXONOMIA

2.3.3 Construção de Ontologias

A ampliação e melhoramento da relação entre pessoas e máquinas justifica a construção e uso de ontologias no ambiente da Web (ABANDA; TAH; KEIVANI, 2013). As ontologias possibilitam a definição de vocabulários comuns que facilitam o compartilhamento de informações, em um domínio, oferecendo vantagens na recuperação de informações (NOY; MCGUINNESS, 2005).

A organização de informações a partir de uma ontologia comum facilita a extração e a agregação de informações relevantes, uma vez que os agentes de

software podem usar essas informações agregadas para responder perguntas dos

usuários de forma mais rápida e eficiente (NOY; MCGUINNESS, 2005).

A possibilidade de reusar conhecimento de domínio também constitui outra vantagem da construção de ontologias. A partir de uma ontologia construída de forma detalhada é possível reutilizar esta ontologia para ampliar para uma ontologia geral, para descrever outros domínios de conhecimento e, ainda, para trocar as especificações se houver mudanças no domínio (NOY; MCGUINNESS, 2005). Esta flexibilidade não é possível em códigos de linguagem de programação rígida. Além disso, se os termos de uma ontologia estiverem disponíveis, é possível realizar uma análise formal dos termos a fim de evitar repetições ou divergências quando se está expandindo ou reutilizando uma ontologia já existente (NOY; MCGUINNESS, 2005).

O desenvolvimento de uma ontologia consiste em estabelecer um conjunto de dados e sua estrutura para ser usada por outros programas. Para tanto, independente do domínio, a construção de uma ontologia deve estar pautada em

critérios visando eficiência e interoperabilidade entre programas (NOY; MCGUINNESS, 2005).

Algumas recomendações para o desenvolvimento de ontologias foram destacadas por Gruber (1993) e Rezgui (2007) incluindo os seguintes aspectos:

 Clareza: uma ontologia deve claramente retratar e comunicar o significado dos elementos de um discurso, por meio de definições objetivas e bem documentadas;

 Coerência: em uma ontologia, quando existe uma lógica incutida, os axiomas devem ser consistentes, contribuindo para que as inferências geradas na utilização da ontologia estejam de acordo com o que se entende do domínio representado;

 Extensibilidade: as unidades de conhecimento de uma ontologia devem ser projetadas para que estas possam ser atualizadas e/ou reutilizadas.  Limiar de codificação mínimo: a conceitualização da ontologia deve ser

especificada no nível de conhecimento, sem depender de uma linguagem específica;

 Compromisso ontológico mínimo: uma ontologia deve definir apenas os termos extremamente suficientes para que as informações possam ser compartilhadas;

 Não deve ser desenvolvida do nada, deve-se valer da reutilização, o quanto possível, de recursos semânticos reconhecidos e estabelecidos do domínio de interesse;

 Deve ser construída colaborativamente em um ambiente multiusuário;  Necessita de suporte tecnológico no seu ciclo de vida, primando por

princípios como reutilização de outras ontologias;

 Deve ser desenvolvida de forma incremental, sempre envolvendo os usuários finais;

 Deve ser suficientemente flexível para acomodar diferentes cenários de utilização;

 Deve ser amigável, isto é, fácil de usar e prover a conceitualização do domínio incutindo os jargões técnicos do domínio que representa;

Diversas linguagens podem ser utilizadas no desenvolvimento de ontologias que variam conforme a facilidade, a expressividade e as propriedades computacionais que oferecem. No ambiente Web, as principais linguagens incluem: Resource Description Framework (RDF), RDFSchema, Ontology Inference Layer (OIL), DARPA Agent Markup Language (DAML) e Web Ontology Language (OWL) (ABANDA; TAH; KEIVANI, 2013; KOIVUNEN; MILLER, 2001; NAZÁRIO, 2013).

De acordo com Gruber (1993), os critérios para construção de ontologias incluem: a) clareza: definições baseadas no formalismo, ou seja, em axiomas lógicos para que os termos sejam objetivos e independentes do contexto social ou computacional; b) coerência: as inferências devem ser consistentes com as definições, pautados em axiomas da ontologia, evitando-se conceitos baseados em linguagem natural ou informal; c) uso de mínima codificação, isto é, a conceitualização deve ser especificada no nível do conhecimento sem depender de uma codificação particular no nível simbólico ou de codificação; d) compromisso ontológico mínimo: uso de poucas imposições sobre o mundo que está sendo modelado, a fim de que as partes comprometidas com a ontologia fiquem livres para especializar e instanciar a ontologia, sempre que necessário.

Diferentes métodos de construção de ontologias estão disponíveis, porém, não há um consenso sobre a definição de um método padrão (FERNÁNDEZ LÓPEZ

et al., 1999; USCHOLD; GRUNINGER, 1996). Dentre as abordagens clássicas,

destacam-se a metodologia desenvolvida por Uschold e King (1995) e a de Noy e McGuinness (2005).

Uschold e King (1995) apresentaram estágios para construção de ontologia destacando os seguintes tópicos: a) identificação da proposta, clarificando objetivos, intenções de uso e características; b) construção propriamente dita da ontologia, incluindo etapas de captura e codificação e pesquisa sobre ontologias já existentes; c) avaliação à luz de requisitos específicos, questões de competência e/ou do mundo real; d) documentação de todas as decisões tomadas para definição da ontologia.

A proposta de Noy e McGuinness (2005) sugere o uso de ferramentas para modelagem da ontologia tais como os programas Protégé 2000, Ontolingua Chimaera. O processo de construção de ontologia deve ser norteado pelos seguintes questionamentos: a) qual o domínio que a ontologia vai cobrir? b) para que será usada a ontologia? c) as informações contidas na ontologia deverão

responder quais tipos de questões? d) Quem irá usar e manter a ontologia? Dentre as etapas para o desenvolvimento de ontologias, deve considerar-se o reuso de ontologias existentes; enumerar os termos importantes da ontologia; definir as classes, as hierarquias, as propriedades e facetas e, criar as instâncias.

O programa de edição de ontologias, o OntoEdit, foi usado por Maedche e Staab (2001) para construção de ontologias em quatro estágios, a partir do uso de ferramentas semiautomáticas:

1- Importação e reuso: mesclar estruturas existentes ou definir regras de mapeamento entre essas estruturas permitindo a importação e reuso de ontologias existentes;

2- Extração: utilizar modelos de extração de ontologia, extraindo partes principais da ontologia alvo, com apoio de documentos Web para facilitar a aprendizagem;

3- Poda (Prune) - reduzir a complexidade dos dados pela poda estrutural de conceitos, eliminando ruídos ou erros que podem diminuir a precisão do classificador. Esta fase possibilita esboçar a ontologia alvo, a partir dos resultados de importação, resuso e extração, adequando características necessárias para melhor atender ao propósito primordial da ontologia; 4- Refinamento: refinar a ontologia, possibilitando alinhamentos e melhorias

incrementais dos resultados encontrados; o refinamento serve como uma medida para validar a ontologia.

Em um estudo comparativo sobre as metodologias para construção de ontologias, Silva, Souza e Almeida (2008) elencaram as metodologias mais citadas na literatura, destacando três projetos por ordem de relevância: Projeto Tove e Enterprise Ontology, ambos voltados para área de negócios e Methontology para o domínio da química. Considerando a diversidade de metodologias disponíveis a escolha do método a ser utilizado deve ser norteada pelos objetivos e propósitos da ontologia.

A criação, o desenvolvimento e a manutenção de uma ontologia comum podem apresentar algumas dificuldades, considerando que para cada área do conhecimento humano é passível de se criar uma ontologia correspondente. Distorções ou polêmicas relacionadas a tópicos podem ocorrer até mesmo em áreas

específicas do conhecimento (FREITAS, 2003). Para tentar minimizar tais problemas surgem os repositórios de ontologias, disponíveis para reuso em larga escala por sistemas e programas. São exemplos de repositórios de ontologias disponíveis na

Web: DAML, disponível em www.daml.org/ontologies/; Ontolingua, disponível em http://www.ksl.stanford.edu/software/ontolingua/ e ONKI, disponível em http://onki.fi.

A ontologia formal aplicada na estruturação dos portais foi possível a partir do advento da Web Semântica. No próximo Capítulo serão apresentados os fundamentos da Web Semântica e a evolução dos portais do conhecimento.

3 WEB E PORTAIS DO CONHECIMENTO

A Web Semântica surgiu como uma evolução da Web tradicional. Na seção seguinte apresenta-se um breve esboço desta evolução e o surgimento de portais do conhecimento e dos portais semânticos.