agentes cognitivos adaptativos aula: ontologias – uma breve introdução aula original de fred...

47
Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Upload: internet

Post on 21-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Agentes Cognitivos Adaptativos

Aula: Ontologias – Uma breve introdução

Aula original de Fred Freitas e Patrícia TedescoRevisada por Flávia Barros

1

Page 2: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

2

Plano da aula

Conceitos básicos - DefiniçõesElementos de uma ontologiaTipos de OntologiasUsos das OntologiasComo projetar/desenvolver uma ontologia

Page 3: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

3

Formalismos de Representação de Conhecimento

Objetivo: Prover teorias e sistemas para expressar e manipular

conhecimento declarativo de forma tratável e eficiente computacionalmente

Formalismos orientados a predicados regras e programação em lógica

Foco no processo, funcionamento

Formalismos orientados a domínios Ontologias, sistemasframes, redes semânticas...

Classes, relações e restrições Facilitam a estruturação de conhecimento disponível

sobre um domínio de aplicação

Page 4: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

4

Sistemas baseados em conhecimento

Principais sistemas de raciocínio declarativos/dedutivos

regraslógica objetos híbridos

Programação em lógicaSistemas de produção

Sistemas de manutenção da verdade

Provadores de teoremaSistemas Redes Semânticas

Sistemas FramesSistemas de Lógica descritiva

Sistemas OO, Ontologias

regras+objetoslógica+objetos

lógica+objetos+funções

Page 5: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Algumas definições...

5

Page 6: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

6

Ontologias

Termo oriundo da filosofia Ramo da filosofia que lida com a natureza e

organização da realidade

Categorias de Aristóteles taxonomia para os objetos do mundo

Em Ciência da computação e Inteligência artificial, ganha um senso mais prático Organização do conhecimento manipulável

Page 7: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Ontologias

Em CC e IA Corpo de conhecimento declarativo sobre um

dado domínio, assunto ou área de conhecimento

Na prática, são hierarquias de conceitos (classes) com suas relações, restrições, axiomas e

terminologia associada

Servem para estruturar e compartilhar o conhecimento disponível sobre um dado domínio

7

Page 8: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Ontologias Exemplo: publicações e eventos

científicos

8

Page 9: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Relacionamentos na Ontologia sobre pesquisa científica

9

Page 10: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

10

Definições de Ontologia (cont.)

“Uma ontologia é uma especificação explícita e formal de uma conceitualização compartilhada” [Studer et al 98] Especificação explícita: definições declarativas de

conceitos, instâncias, relações, restrições e axiomas

Formal: declarativamente definida, sendo compreensível e manipulável para agentes e sistemas

Conceitualização: modelo abstrato de uma área de conhecimento ou de um universo limitado de discurso

Compartilhada: conhecimento consensual, seja uma terminologia comum da área modelada, ou acordada entre os desenvolvedores dos agentes que se comunicam

Page 11: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Afinal, pra que servem as ontologias?

Servem para estruturar e compartilhar o conhecimento disponível sobre um dado domínio: Para compartilhar conhecimento comum –

conceitos e vocabulário Entre pessoas Entre agentes de software

Para permitir a reutilização do conhecimento Evitando a “reinvenção da roda” Introduzindo padrões que permitam a

interoperabilidade entre aplicações

Page 12: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

12

Relembrando...Etapas de desenvolvimento dos

SBCs

Ontologias Materialização do nível de conhecimento em um

sistema BC Muito útil na fase de Aquisição do conhecimento

Page 13: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Etapas de desenvolvimento de SBCs

Linguagens de representação doconhecimento

Nível de Conhecimento

Nível Lógico

Nível de Implementação

BC

AQUISIÇÃO

FORMALIZAÇÃO

IMPLEMENTAÇÃO

REFINAMENTO

Linguagem natural

Linguagens de programação

Page 14: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Elementos de uma Ontologia

14

Page 15: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Elementos de uma Ontologia

Conjunto de conceitos Entidades Relações (que podem ser hierárquicas ou

não) Instâncias de Conceitos

RestriçõesRegras

Page 16: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Conjunto de Conceitos

Entidades Cada entidade é definida por conjunto de

pares atributo-valor Correspondem:

às classes dos modelos orientado a objetos às entidades do modelo relacional aos termos do modelo lógico

Page 17: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Conjunto de Conceitos

Relações Podem ser hierárquicas ou não correspondem:

às associações, agregações e atributos dos modelos OO cujos valores são objetos

às relações do modelo relacional aos predicados do modelo lógico

Page 18: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Conjunto de Conceitos

Instâncias de Conceitos Definição de entidades e relações

específicas (indivíduos) Correspondem:

aos fatos de sistemas especialistas e programação em lógica

aos objetos dos modelos OO aos dados dos BD

Page 19: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Restrições

Sobre valores possíveis dos atributos dos conceitosCorrespondem: às assinaturas de classes em modelos OO aos axiomas universalmente quantificados

em modelos lógicos às restrições de integridade nos esquema de

BD

Page 20: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Regras

Sobre atributos de (conjuntos de) conceitosPermitem inferência automática da existência de instâncias de conceitos a partir da existência de outras instânciasCorrespondem: às regras dos sistemas especialistas e

programação em lógica aos métodos dos modelos OO às visões em BD

Page 21: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Onde Aplicar Ontologias?

Recuperação de informações,Sistemas de Integração de Informação,Gestão de conhecimento,Processamento da linguagem natural,Comércio eletrônico,Sistemas multiagentes...

Page 22: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Um Exemplo: Integração de dados

Page 23: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Tipos de Ontologias

Ontologias de topo (upper ontologies)Ontologias centrais ou genéricas de domínio (core ontologies)Ontologias de Aplicação (específicas)

23

Page 24: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Ontologias de topo (upper ontologies)

Modelos dos objetos comuns que são geralmente aplicáveis a uma grande variedade de ontologias de domínio. Tipicamente contém um glossário central que permite descrever termos em vários domínios. Exemplos de upper ontologies padrão são: Dublin Core, GFO, OpenCyc/ResearchCyc, SUMO e DOLCE.

24

Page 25: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Ontologias centrais ou genéricas de domínio (core ontologies)

Definem os ramos de estudo de uma área e/ou conceitos mais genéricos e abstratos desta áreaServe de base para a construção de ontologias de ramos mais específicos de um domínio

25

Page 26: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Ontologias centrais ou genéricas de domínio (core ontologies)

Ex: a ontologia central de direito [Valente & Breuker 96] Conhecimentos meta-legal, definicional,

causal, normativo, de responsabilidade, reativos, criativo, de agências legais, reação legal, comportamentos permitidos, etc

Servirá para criar ontologias de direito tributário, de família e outras...

26

Page 27: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Ontologias de Aplicação

Ontologias de ramos mais específicos de um domínioProcuram solucionar um problema específico de um domínio Utilizam termos de uma ontologia de

domínio Ex: Ontologia para identificar doenças do

coração, a partir de uma ontologia de domínio de cardiologia

27

Page 28: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Usos de ontologias

Realizar inferênciaServir como vocabulário compartilhado numa comunicação entre agentes inteligentesCodificar conhecimento interoperável entre linguagens (F-logic, Prolog, Jess) entre formalismos de representação de

conhecimento (frames, redes semânticas, lógica de descrições)

28

Page 29: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Como projetar uma ontologia

29

Page 30: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Mas, como projetar a minha ontologia?

Processo iterativoNão existe uma única maneira correta de modelar um domínio depende da aplicação

Sugestão: Sempre discutir a estrutura com o especialista

Classes = nomes devem estar próximas ao conceito de um objeto

físico ou lógico

Relações = verbos

Page 31: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Desenvolvimento de Ontologias [Noy &McGuiness 2001]

1.Determinar o Domínio e o Escopo da Ontologia2.Reutilizar Ontologias Existentes3.Levantar termos importantes4.Definir classes e sua hierarquia5.Definir propriedades das classes6.Restrições das Propriedades

7.Criação de instâncias

Page 32: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Determinar o Domínio e o Escopo da Ontologia

Qual o domínio que será coberto ? Representação de vinhos e comidas

Onde a ontologia será utilizada ? Sugerir boas combinações de vinhos e

comidas

Page 33: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Determinar o Domínio e o Escopo da Ontologia

A ontologia deverá fornecer respostas para que perguntas ? “Cabernet Sauvignon” é adequado com frutos

do mar ? Qual a melhor opção para acompanhar carnes

grelhadas ? Que características de um vinho devem ser

analisadas para associá-lo com determinados pratos.

Etc...

Page 34: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Determinar o Domínio e o Escopo da Ontologia

Quem irá utilizar e manter a ontologia ? Clientes de um restaurante Leitores de revistas especializadas Clientes em lojas

Page 35: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Reutilizar Ontologias Existentes

Verificar se alguém já criou a ontologiaÉ possível refinar ou estender ontologias existentesMuitas fontes disponíveis na Internet – vamos perguntar ao Google?

Page 36: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Levantar termos importantes

Quais são os termos que serão abordados na ontologia ?Quais propriedades esses termos possuem ?Enumerar todos esses termos: Vinho; Tipo de Uva Fabricante Região de origem Coloração (branco, tinto, rosé) Tipo de comidas (peixes, grelhados, massas)

Page 37: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Definir classes e sua hierarquia

Abordagem “Top-Down”, “Bottom-up” ou combinadas.Termos do passo 03,selecionar somente aqueles que representam objetos.Desconsiderar propriedadesHerança múltiplaEsboçar hierarquiaClasses disjuntas (Vinho Branco e Tinto)

Page 38: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Definir classes e sua hierarquia

Como detectar erros na hierarquia de classes: Relação “is-a” (se A é subclasse de B, então

uma instância de A também será uma instância de B)

Incluir classes singulares e coletivas (“vinho” como subclasse de “vinhos”)

Transitividade (A subclasse de B e B subclasse de C, então A subclasse de C)

Page 39: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Definir classes e sua hierarquia

Como detectar erros na hierarquia de classes (cont.): Distinguir entre classes e seu nomes (sinônimos

representam a mesma classe) Ciclos (A subclasse de B e B subclasse de A) Classes irmãs devem estar no mesmo nível

(Chardonay e Vinhos Brancos não devem estar no mesmo nível, pois não são irmãs)

Page 40: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Definir classes e sua hierarquia

Como detectar erros na hierarquia de classes (cont.): Classes com somente uma

subclasse pode ser um problema Classes com muitas

subclasses também

Page 41: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Definir classes e sua hierarquia

Quando introduzir uma nova classe ? Propriedades diferentes Restrições diferentes Participa em relações diferentes

Nova classe ou nova propriedade ? i.e. Tipo de Vinho

Instância ou classe ? Depende da aplicação Tipo de vinho (“Sterling Vineyards Merlot”) pode ser

instância ou classe.Qual o escopo ? Não especializar além do que sua aplicação precisa

Page 42: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Definir as propriedades das classes – também conhecidas por “slots”

A partir da lista de termos do passo 03, selecionar aqueles que representam propriedades.Propriedades (intrínsecas, extrínsecas, partes e relações com outros indivíduos)Propriedades são adicionadas à classe mais genérica

Page 43: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Definir as restrições das propriedades

Tipo da propriedade (String, número, boleano, instancias, etc...)Valores permitidos CardinalidadeRange (classes permitidas na propriedade)Domínio (classes em que a propriedade está presente)

Page 44: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Ufaaaa... Só falta agora criar as instâncias!

É necessário escolher uma classe, criar uma instância e

preencher os valores das propriedades Base de Conhecimento

Page 45: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Cuidado com os nomes...

Evitar erros e confusõesMaiúsculas ou Minúsculas ?

Classes (maiúsculas) Propriedades (minúsculas)

Plural ou singular ?Padronizar prefixos e sufixos

“has-” (has-maker) e “-of” (producer-of)

Evitar abreviações

Page 46: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Usos e Benefícios das Ontologias

Incorporação de conhecimento é facilitada, inclusive de linguagem natural Permitir reuso massivo de conhecimento (de representações) entre formalismos de representação diferentesCodificar conhecimento interoperável entre linguagens (F-logic, Prolog, Jess) entre formalismos de representação de

conhecimento (frames, redes semânticas, lógica de descrições)

46

Page 47: Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1

Próxima aula

Ferramenta ProtégeLocal?? Algum laboratório a ser reservado...

47