Você está na página 1de 47

Desenvolvimento de ontologias

Protg

Joel Luis Carbonera


jlcarbonera@inf.ufrgs.br

Protg
Desenvolvimento de ontologias

Ontologias

Ontologias

Termo do domnio da Filosofia

A disciplina filosfica preocupada com o estudo do ser.

Sistematiza conjuntos de categorias das coisas que existem.

Um conjunto de categorias que sistematiza as coisas fundamentais que existem.

Ontologias

Na Cincia da Computao

Uma especificao formal e explcita de uma conceitualizao compartilhada (Gruber)

Um artefato de engenharia (processvel por computador) que representa a conceitualizao que uma dada comunidade tem de uma dada poro da realidade (domnio). Envolve a representao de Conceitos, relaes, atributos que usamos para estruturar os discursos do domnio.

Ontologias

Na Cincia da Computao

Do ponto de vista de sistemas: O que existe do mundo o que pode ser representado computacionalmente. Ontologias definem o que existe para o sistema

De um modo que reflita a conceitualizao humana.

Ontologias

Conceitualizao?

Ontologias

Conceitualizao?

Mesma conceitualizao abstrai diferentes estados de coisas do mundo.

Bloco, est abaixo de, est acima de, etc

Ontologias

Para que servem?

Permitir que tanto pessoas quanto agentes de software compartilhem uma compreenso comum da estrutura da informao de um domnio. Permitir o reuso do conhecimento de domnio Tornar as suposies do domnio explcitas Separar o conhecimento declarativo do domnio do conhecimento operacional/procedural (utilizado para manipular o conhecimento declarativo)

Protg
Desenvolvimento de ontologias

Introduo ao Protg

Introduo ao Protg

Protg

Ambiente para aquisio de conhecimento e edio de ontologias e bases de conhecimento. Permite construir ontologias usando OWL (web ontology language)

Recomentada pela World Wide Web Consortium para construo de ontologias no contexto da web semntica. Mantm um bom compromisso entre expressividade e computabilidade

Permite a realizao de inferncias automticas

Introduo ao Protg

Download: Tutoriais:

http://protege.stanford.edu/download/registered.html

http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/

Verso de trabalho: Protg 4.2

Introduo ao Protg

Componentes de uma ontologia OWL

Individuals: objetos, pores individuais e nicas do


domnio. Representam instncias.

Classes: Conjuntos de indivduos com propriedades


comuns. Representam conceitos.

Properties: Propriedades

Object Properties: Relaes binrias entre


indivduos. Representam relaes.

Data properties: Relaes entre indivduos e valores


de atributos. Representam atributos.

Introduo ao Protg

Interface do ambiente

Estrutura de abas e menus Principais abas:

Classes Objetc Properties Data properties Individuals File Reasoner

Principais menus

Introduo ao Protg

Protg
Desenvolvimento de ontologias

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Desenvolvimento de ontologias: iterativo


Identificao dos principais conceitos da ontologia (heurstica: substantivos comuns)
Organizao em taxonomias de conceitos

Identificao das propriedades


Relaes (heurstica: verbos) Atributos (heurstica: adjetivos)

Definio dos conceitos


Condies necessrias e suficientes para um indivduo pertencer a uma classe

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Quais os principais conceitos do domnio das relaes familiares?

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Quais os principais conceitos do domnio das relaes familiares?

Pessoa:

Todas as relaes familiares so mantidas entre Pessoas Todas as pessoas so homens ou mulheres

Homem, Mulher

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Todas as pessoas so exclusivamente homens ou mulheres

Quando duas classes representam conjuntos disjuntos de indivduos (no podem estar nas duas simultamentemanete), preciso declarar isto explicitamente. O Protg assume que pode ocorrer sobreposio de classes, caso isso no seja informado explicitamente. importante, do ponto de vista do raciocnio.

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Outros conceitos importantes...

Pai, me, filho, filha, irmo, irm, etc

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Outros conceitos importantes...

Pai, me, filho, filha, irmo, irm, etc

Alguns pares de conceitos podem ser vistos como disjunes (com base no sexo), de classes mais gerais.

Genitor (parent), generaliza Pai (father) e Me (mother) Filho (child), generaliza Filho (son) e Filha (daughter)

Mltiplas hierarquias

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Atributos (data type properties) importante especificar: Domnio (domain):


Classes de indivduos que podem ser descritos por este atributo.

Escopo (range):
Tipos de dados que so admitidos como valores possveis do atributo

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Atributos (data type properties) importantes no domnio

Neste domnio, todos os conceitos herdam atributos que descrevem Pessoa.

Tem sexo
Domnio: Pessoa Escopo: String

Tem nome
Domnio: Pessoa Escopo: String

...

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Relaes (object properties) relacionam indivduos de certos domnios (domains) a indivduos de certos escopos (ranges). importante especificar os domnios e escopos das relaes

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Relaes (object properties) importantes o domnio:

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Relaes (object properties) importantes o domnio:

Tem filho, tem filha, tem irmo, tem irmo, tem pai, tem me, etc

possvel definir hierarquias de relaes

Algumas dessas relaes podem ser generalizadas por outras mais gerais
temFilho_G (hasChild) temIrmao_G (hasSibling) temGenitor (hasParent)

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

O Protg permite enriquecer as definies de relaes com caractersticas previstas pelo OWL

Oferece vantagens do ponto de vista da inferncia.

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Relaes

temFilho_G (hasChild)

Irreflexiva Assimtrica Irreflexiva Simtrica Irreflexiva Assimtrica

temIrmao_G (hasSibling)

temGenitor (hasParent)

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

possvel definir as relaes inversas para cada relao Se sempre que a relao A(x,y) ocorre, tambm ocorre a relao B(y,x), ento A e B so relaes inversas.

Exemplo: As relaes temFilho_G e temGenitor so inversas

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Todas as classes que criamos, tem apenas suas condies necessrias definidas: superclasses

Para um indivduo ser um pai, necessrio que ele seja uma pessoa, mas no suficiente

Classes

Primitivas Definidas

preciso identificar as classes primitivas e definir as demais

Em funo de restries que envolvem outras classes, relaes e atributos

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Classes definidas

Homem?

Mulher?

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Classes definidas

Homem? Pessoa que tem sexo masculino Mulher? Pessoa que tem sexo feminino

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Classes definidas

Genitor

Filho_G

Irmao_G

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Classes definidas

Genitor Pessoa que tem pelo menos um filho Filho_G Pessoa que tem pelo menos um genitor Irmao_G Pessoa que tem pelo menos um irmo

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Classes definidas

Pai Genitor homem Me Genitor mulher

O mesmo padro pode ser usado para modelar:

Filho, Filha, Irmo, Irmo, etc.

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Como permitir que, dado um indivduo, seja possvel inferir que o pai do seu genitor (pai ou me) o seu av?

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Como permitir que, dado um indivduo, seja possvel inferir que o pai do seu genitor (pai ou me) o seu av?

Podemos usar regras!

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Outros conceitos importantes:

Neto, neta, av, av, tio, tia, sobrinho, sobrinha, primo, prima, marido, esposa, etc. Relaes mantidas entre estes conceitos e os j modelados.

Outras relaes importantes:

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Raciocinador (ou mecanismo de inferncia)

Acessvel atravs do menu Reasoner Para que servem? Checagem de relaes de sub-classe Checagem de relaes de equivalncia

Entre indivduos, classes, relaes

Checagem de consistncia Checagem de instanciao Motor de regras

Estudo de caso:
Modelagem de uma ontologia de relaes familiares no Protg

Avaliar a ontologia

Popular com instncias modelando uma situao real do domnio

A rvore genealgica inicialmente apresentada

Executar o raciocinador Verificar o resultado Se ocorrerem inconsistncias ou resultados inesperados (a av de b, mas aparece como irmo de b), a ontologia deve ser revisada.