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

Transcript of Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred...

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