A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1."— Transcrição da apresentação:

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

2 2 Plano da aula Conceitos básicos - Definições Elementos de uma ontologia Tipos de Ontologias Usos das Ontologias Como projetar/desenvolver uma ontologia

3 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

4 4 Sistemas baseados em conhecimento Principais sistemas de raciocínio declarativos/dedutivos regraslógicaobjetoshíbridos Programação em lógica Sistemas de produção Sistemas de manutenção da verdade Provadores de teorema Sistemas Redes Semânticas Sistemas Frames Sistemas de Lógica descritiva Sistemas OO, Ontologias regras+objetos lógica+objetos lógica+objetos+funções

5 Algumas definições... 5

6 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

7 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

8 Ontologias Exemplo: publicações e eventos científicos 8

9 Relacionamentos na Ontologia sobre pesquisa científica 9

10 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

11 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

12 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

13 Etapas de desenvolvimento de SBCs Linguagens de representação do conhecimento 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

14 Elementos de uma Ontologia 14

15 Elementos de uma Ontologia Conjunto de conceitos Entidades Relações (que podem ser hierárquicas ou não) Instâncias de Conceitos Restrições Regras

16 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

17 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

18 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

19 Restrições Sobre valores possíveis dos atributos dos conceitos Correspondem: às assinaturas de classes em modelos OO aos axiomas universalmente quantificados em modelos lógicos às restrições de integridade nos esquema de BD

20 Regras Sobre atributos de (conjuntos de) conceitos Permitem inferência automática da existência de instâncias de conceitos a partir da existência de outras instâncias Correspondem: às regras dos sistemas especialistas e programação em lógica aos métodos dos modelos OO às visões em BD

21 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...

22 Um Exemplo: Integração de dados

23 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

24 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. Dublin CoreGFOOpenCycResearchCycSUMODOLCE 24

25 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 área Serve de base para a construção de ontologias de ramos mais específicos de um domínio 25

26 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

27 Ontologias de Aplicação Ontologias de ramos mais específicos de um domínio Procuram 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

28 Usos de ontologias Realizar inferência Servir como vocabulário compartilhado numa comunicação entre agentes inteligentes Codificar 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

29 Como projetar uma ontologia 29

30 Mas, como projetar a minha ontologia? Processo iterativo Nã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

31 Desenvolvimento de Ontologias [Noy &McGuiness 2001] 1. Determinar o Domínio e o Escopo da Ontologia 2. Reutilizar Ontologias Existentes 3. Levantar termos importantes 4. Definir classes e sua hierarquia 5. Definir propriedades das classes 6. Restrições das Propriedades 7. Criação de instâncias

32 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

33 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...

34 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

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

36 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)

37 Definir classes e sua hierarquia Abordagem “Top-Down”, “Bottom-up” ou combinadas. Termos do passo 03, selecionar somente aqueles que representam objetos. Desconsiderar propriedades Herança múltipla Esboçar hierarquia Classes disjuntas (Vinho Branco e Tinto)

38 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)

39 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)

40 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

41 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

42 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

43 Definir as restrições das propriedades Tipo da propriedade (String, número, boleano, instancias, etc...) Valores permitidos Cardinalidade Range (classes permitidas na propriedade) Domínio (classes em que a propriedade está presente)

44 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

45 Cuidado com os nomes... Evitar erros e confusões Maiú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

46 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 diferentes Codificar 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

47 Próxima aula Ferramenta Protége Local?? Algum laboratório a ser reservado... 47


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

Apresentações semelhantes


Anúncios Google