Raciocínio sobre conhecimento visual: Construtos para ...

Post on 08-Jan-2017

218 views 5 download

Transcript of Raciocínio sobre conhecimento visual: Construtos para ...

ProtégéDesenvolvimento de contologias

Joel Luis Carbonerajlcarbonera@inf.ufrgs.br

ProtégéDesenvolvimento de contologias

Ontologias

Ontologias

Termo do domínio da Filosofia A disciplina filosófica 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 Ciência da Computação “Uma especificação formal e explícita de uma

conceitualização compartilhada” (Gruber)● Um artefato de engenharia (processável por

computador) que representa a conceitualização que uma dada comunidade tem de uma dada porção da realidade (domínio).

● Envolve a representação de Conceitos, relações, atributos que usamos para estruturar os discursos do domínio.

Ontologias

Na Ciência da Computação 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 conceitualização

humana.

Ontologias

Conceitualização?

Ontologias

Conceitualização?

Mesma conceitualização 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 compreensão comum da estrutura da informação de um domínio.

Permitir o reuso do conhecimento de domínio Tornar as suposições do domínio explícitas Separar o conhecimento declarativo do domínio do

conhecimento operacional/procedural (utilizado para manipular o conhecimento declarativo)

ProtégéDesenvolvimento de contologias

Introdução ao Protégé

Introdução ao Protégé

Protégé Ambiente para aquisição de conhecimento e edição

de ontologias e bases de conhecimento. Permite construir ontologias usando OWL (web

ontology language) Recomentada pela World Wide Web Consortium

para construção de ontologias no contexto da web semântica.

Mantém um bom compromisso entre expressividade e computabilidade

Permite a realização de inferências automáticas

Introdução ao Protégé

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

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

Versão de trabalho: Protégé 4.2

Introdução ao Protégé

Componentes de uma ontologia OWL Individuals: objetos,porções individuais e únicas do

domínio. Representam instâncias. Classes: Conjuntos de indivíduos com propriedades

comuns. Representam conceitos. Properties: Propriedades

Object Properties: Relações binárias entre indivíduos. Representam relações.

Data properties: Relações entre indivíduos e valores de atributos. Representam atributos.

Introdução ao Protégé

Interface do ambiente Estrutura de abas e menus Principais abas:

Classes Objetc Properties Data properties Individuals

Principais menus File Reasoner

Introdução ao Protégé

ProtégéDesenvolvimento de contologias

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Desenvolvimento de ontologias: iterativo

– Identificação dos principais conceitos da ontologia (heurística: substantivos comuns)• Organização em taxonomias de conceitos

– Identificação das propriedades • Relações (heurística: verbos)• Atributos (heurística: adjetivos)

– Definição dos conceitos• Condições necessárias e suficientes para um indivíduo

pertencer a uma classe

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Quais os principais conceitos do domínio das

relações familiares?

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Quais os principais conceitos do domínio das

relações familiares? Pessoa:

Todas as relações familiares são mantidas entre Pessoas Homem, Mulher

Todas as pessoas são homens ou mulheres

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Todas as pessoas são homens ou mulheres

Quando duas classes representam conjuntos disjuntos de indivíduos (não podem estar nas duas simultamentemanete), é preciso declarar isto explicitamente.

O Protégé assume que pode ocorrer sobreposição de classes, caso isso não seja informado explicitamente.

É importante, do ponto de vista do raciocínio.

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Outros conceitos importantes...

Pai, mãe, filho, filha, irmão, irmã, etc

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Outros conceitos importantes...

Pai, mãe, filho, filha, irmão, irmã, etc Alguns pares de conceitos podem ser vistos como

disjunções (com base no sexo), de classes mais gerais. Genitor (parent), generaliza Pai (father) e Mãe

(mother) Filho (child), generaliza Filho (son) e Filha

(daughter) Múltiplas hierarquias

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Atributos (data type properties)– É importante especificar:•Domínio (domain): –Classes de indivíduos que podem ser

descritos por este atributo.• Escopo (range):–Tipos de dados que são admitidos como

valores possíveis do atributo

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Atributos (data type properties) importantes no

domínio Neste domínio, todos os conceitos herdam atributos

que descrevem Pessoa. Tem sexo– Domínio: Pessoa– Escopo: String

Tem nome– Domínio: Pessoa– Escopo: String

...

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Relações (object properties) relacionam indivíduos de

certos domínios (domains) a indivíduos de certos escopos (ranges).– É importante especificar os domínios e escopos das

relações

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Relações (object properties) importantes o domínio:

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé● Relações (object properties) importantes o domínio:

Tem filho, tem filha, tem irmão, tem irmão, tem pai, tem mãe, etc

É possível definir hierarquias de relações● Algumas dessas relações podem ser generalizadas

por outras mais gerais• temFilho_G (hasChild)• temIrmao_G (hasSibling)• temGenitor (hasParent)

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé O Protégé permite enriquecer as definições de

relações com características previstas pelo OWL Oferece vantagens do ponto de vista da inferência.

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Relações

temFilho_G (hasChild) Irreflexiva Assimétrica

temIrmao_G (hasSibling) Irreflexiva Simétrica

temGenitor (hasParent) Irreflexiva Assimétrica

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé É possível definir as relações inversas para

cada relação Se sempre que a relação A(x,y), ocorre a

relação B(y,x), então A e B são relações inversas. Ex: As relações temFilho_G e temGenitor são inversas

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Todas as classes que criamos, tem apenas suas

condições necessárias definidas: superclasses Para um indivíduo ser um pai, é necessário que ele seja

uma pessoa, mas não é suficiente Classes

Primitivas Definidas

É preciso identificar as classes primitivas e definir as demais Em função de restrições que envolvem outras

classes, relações e atributos

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Classes definidas

Homem?

Mulher?

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Classes definidas

Homem?“Pessoa que tem sexo masculino”

Mulher?“Pessoa que tem sexo feminino”

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Classes definidas

Genitor

Filho_G

Irmao_G

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé 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 irmão”

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Classes definidas

Pai“Genitor homem”

● Mãe“Genitor mulher”

● O mesmo padrão pode ser usado para modelar:● Filho, Filha, Irmão, Irmão, etc.

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé● Como permitir, dado um indivíduo, seja possível inferir

que o pai do seu genitor (pai ou mãe) é o seu avô?

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Como permitir, dado um indivíduo, seja possível inferir

que o pai do seu genitor (pai ou mãe) é o seu avô? Podemos usar regras!

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Outros conceitos importantes:

Neto, neta, avô, avó, tio, tia, sobrinho, sobrinha, primo, prima, marido, esposa, etc.

Outras relações importantes: Relações mantidas entre estes conceitos e os já

modelados.

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Raciocinador (ou mecanismo de inferência)

Acessível através do menu “Reasoner” Para que servem?• Checagem de relações de sub-classe• Checagem de relações de equivalência

● Entre indivíduos, classes, relações• Checagem de consistência• Checagem de instanciação• Motor de regras

Estudo de caso:Modelagem de uma ontologia de relações

familiares no Protégé Avaliar a ontologia

● Popular com instâncias modelando uma situação real do domínio

● A “árvore genealógica” inicialmente apresentada● Executar o raciocinador● Verificar o resultado