Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouEnrico Dente Alterado mais de 9 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.