Loading AI tools
especificação de uma conceitualização em ciência da computação e ciência da informação Da Wikipédia, a enciclopédia livre
Em Ciência da Computação, Sistemas de Informação e Ciência da Informação, uma ontologia é um modelo de dados que representa um conjunto de conceitos dentro de um domínio e os relacionamentos entre estes. Uma ontologia é utilizada para realizar inferência sobre os objetos do domínio.
Ontologias são utilizadas em inteligência artificial, web semântica, engenharia de software e arquitetura da informação, como uma forma de representação de conhecimento sobre o mundo ou alguma parte deste. Ontologias geralmente descrevem:
O termo ontologia tem origem na Filosofia, onde é o nome de um ramo da metafísica ocupado da existência. De acordo com Tom Gruber da Stanford University, no entanto, o significado de ontologia para a ciência da computação é "uma descrição de conceitos e relacionamentos que devem ser considerados por um agente ou por uma comunidade de agentes." Ele especifica ainda que uma ontologia é geralmente escrita "como um conjunto de definições de um vocabulário formal."
Os modelos e implementações correntes de ontologias em ciência de computação compartilham muitas semelhanças estruturais, independentemente do contexto e da linguagem em que são expressas. Como mencionado acima, a maioria das ontologias descreve indivíduos (exemplares), classes (conceitos), atributos e relacionamentos. Esta seção descreve cada um desses componentes.
Indivíduos (exemplares) são os componentes básicos de uma ontologia. Os indivíduos em uma ontologia podem incluir objetos concretos como pessoas, animais, mesas, automóveis, moléculas, planetas, assim como indivíduos abstratos como números e palavras. Para ser exata, uma ontologia não precisa necessariamente incluir indivíduos, porém um dos propósitos gerais de uma ontologia é apresentar um meio de classificação de indivíduos, mesmo que estes não sejam explicitamente parte da ontologia.
Classes (conceitos) são grupos abstratos, conjuntos ou coleções de objetos. Eles podem conter indivíduos, outras classes, ou uma combinação de ambos. Alguns exemplos de classes[2]:
Ontologias se diferenciam nos seguintes aspectos: se classes podem conter outras classes, se uma classe pode pertencer a si mesma, se existe uma classe universal (isto é, uma classe contendo tudo), etc. Algumas vezes estas restrições são feitas para evitar alguns paradoxos conhecidos.
Uma classe pode incluir ou estar incluída em outras classes. Por exemplo, Veículo inclui Carro, já que (necessariamente) qualquer coisa que é membro de Carro é também membro de Veículo. A relação de inclusão é utilizada para criar uma hierarquia de classes, geralmente com uma classe geral como Coisa no topo, e classes específicas como GM Celta 2008 na base.
Objetos em uma ontologia podem ser descritos através de atributos. Cada atributo tem pelo menos um nome e um valor, e é utilizado para armazenar informação que é específica para o objeto ligado a ele. Por exemplo, o objeto "GM Celta" tem atributos como:
O valor de um atributo pode ser um tipo de dados completo; neste exemplo, o valor do atributo chamado Motor é uma lista de valores, não um valor simples.
Um uso importante dos atributos é a descrição de relacionamentos (também conhecidos como relações) entre objetos na ontologia. Geralmente, uma relação é um atributo cujo valor é outro objeto na ontologia. Muito do poder das ontologias vem da habilidade de descrever estas relações. O conjunto de todas as relações descreve a semântica do domínio.
O tipo mais importante de relação é a relação de inclusão (é-superclasse-de, é-um, é-subtipo-de ou é-subclasse-de), que define quais objetos são membros de quais classes de objetos. Por exemplo, podemos notar que o "GM Celta" é-um "Carro", que, por sua vez, é-um "Automóvel".
A adição de relacionamentos é-um cria uma taxonomia hierárquica, uma estrutura de árvore que descreve que objetos se relacionam com quais outros. Nesta estrutura, cada objeto é um "filho" de uma "classe pai".
Outro tipo comum de relação é a do tipo parte-de que representa como objetos se combinam para formar objetos compostos. Por exemplo, se estender o exemplo de ontologia para incluir objetos como Rodas, diríamos que "Roda é-parte-de GM Celta" já que uma roda é um dos componentes de um GM Celta.
Além das relações comuns como é-um e parte-de, as ontologias geralmente incluem outros tipos de relações que refinam ainda mais a semântica do modelo. Estas relações geralmente são específicas do domínio e são utilizadas para responder tipos particulares de questões.
Uma ontologia de domínio (domain ontology ou domain-specific ontology) modela um domínio específico, ou parte do mundo. Ela representa os significados dos termos aplicados ao domínio em questão. Por exemplo, a palavra “carta” pode ter distintos significados. Uma ontologia sobre o domínio do jogo de pôquer poderia modelar seu significado como uma “carta de um jogo”, enquanto uma ontologia de um serviço postal poderia modelar seu significado como um “texto a ser entregue a um destinatário”, e uma ontologia no domínio do hardware de computador poderia modelar com os significados de cartão perfurado e placa de vídeo.
Desde que ontologias representam conceitos de maneiras muito específicas, e frequentemente ecléticas, elas são frequentemente incompatíveis. À medida que sistemas que dependem de ontologias de domínio expandem, eles frequentemente precisam mesclar ontologias de domínio para uma representação mais geral. Isso apresenta um desafio para o designer de ontologias. Diferentes ontologias no mesmo domínio surgem devido a diferentes idiomas, diferentes intenções de uso de ontologias, e diferentes percepções do domínio (baseadas no contexto da cultura, educação, ideologia, etc.).
Já que as ontologias de domínio representam conceitos muito específicos, geralmente são incompatíveis entre si. À medida em que os sistemas dependem de ontologias de domínio, eles precisam mesclar ontologias em representações mais gerais. Isto representa um desafio para o engenheiro de ontologias. Atualmente, mesclar ontologias é um processo manual e que consome muito tempo e recursos. O uso de uma ontologia superior que forneça uma definição comum para termos chave pode tornar este processo menos custoso. Existem estudos a respeito de técnicas para mesclar ontologias,[3] porém esta área de pesquisa ainda é muito teórica.
Uma ontologia superior ou geral (upper ontology ou foundation ontology) é um modelo dos objetos comuns que são geralmente aplicáveis a uma grande variedade de ontologias de domínio. Classifica diferentes categorias existentes no mundo. Ela contém um glossário central que permite descrever termos em vários domínios, que contém noções gerais independentes para o problema ou domínio. Existem várias ontologias superiores padronizadas para uso, como: Dublin Core, GFO, OpenCyc/ResearchCyc, SUMO e DOLCE.
Uma ontologia de representação ou meta-ontologia (representation ontology ou meta-ontology) capturam as representações das primitivas usadas para formalizar o conhecimento numa dada família ou sistema.
O desenvolvimento de ontologias para a Internet levou ao surgimento de serviços que disponibilizam listas ou diretórios de ontologias com mecanismos de buscas. Estes mecanismos foram chamados de bibliotecas de ontologias.
Os serviços abaixo são bibliotecas estáticas ou gerenciadas por pessoas:
Os serviços abaixo são diretórios e mecanismos de busca. Eles incluem crawlers que vasculham a Web procurando por ontologias bem formadas.
Campo de pesquisa bastante ativo da Web Semântica atualmente, pois viabiliza aplicações utilizando ontologias. Existem os seguintes frameworks para isso:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.