Formalismos de Representação de Conhecimento

Slides:



Advertisements
Apresentações semelhantes
TIPOS ABSTRATOS DE DADOS
Advertisements

Lógica de Predicados e Representação de Conhecimento
Python: Funções Claudio Esperança.
Concepção da linguagem, ou seja, porque e como ela é como é?
Fluxo em Redes Prof. Ricardo R. Santos.
Representação de Conhecimento com Formalismos Orientado a Objetos
Paulo Marques Hernâni Pedroso
Lógica e Estrutura de Dados Fundamentais Professor: Eduardo O. Teles
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Lógica Matemática e Computacional 1.1 – Inteligência Artificial
Lógica Matemática e Computacional 7 – Introdução à Programação Lógica
Lógica Fuzzy Aplicada a Sistemas de Diagnóstico
Modelo Entidade-Relacionamento
Modelagem Orientada a Objetos
Introdução à Programação Lógica
Técnicas de Representação de Conhecimento
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa
Agentes Baseados em Conhecimento
Bancos de Dados com Objetos
Programação em lógica e lógica
FACENS – Engenharia da Computação Inteligência Artificial
Curso Sistemas de Informação Disciplina: Arquitetura de Software
UMA ABORDAGEM SOBRE ORIENTAÇÃO A OBJETOS!
Indução Métodos de prova já vistos Excepções
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
Inteligência Artificial
Conceitos Básicos.
O.O.H.D.M. Modelagem Conceitual
TÉCNICAS DE PROGRAMAÇÃO II
Buscas em Grafos Prof. André Renato 1º Semestre/2012
Prof. Alfredo Parteli Gomes
Lógica Matemática e Computacional
Prof. Fred Freitas CIn - UFPE
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
Aula prática - análise contextual
Conceitos básicos de orientação a objetos
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Linguagens lógicas 2013 – Luiz Mauricio Nascimento Silva
Redes Semânticas e Sistemas Frames
Agentes Baseados em Regras de Produção
Sistemas Especialistas
Sistemas Inteligentes
Marcílio C. P. de Souto DIMAp/UFRN
Técnicas de Representação de Conhecimento Diversas.
Tópicos Avançados em Inteligência Artificial
Sistemas Baseados em Conhecimento
Prof. Fred Freitas CIn - UFPE
Inteligência Artificial
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
SISTEMAS DISTRIBUIDOS Aula 4
Banco de Dados Aplicado ao Desenvolvimento de Software
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 7. Análise e projeto orientados a objetos 7.1 Técnica de modelagem.
Semântica de uma fórmula da lógica da 1a ordem via modelo de Herbrand
Programação Lógica com Prolog
A Linguagem Formal de Especificação VDM-SL
REVISÃO Prof. Mário Dantas
Fundamentos de linguagens de programação
Semântica de Linguagens de Programação
Web Semântica Thiago José Marques Moura. Roteiro Problemática; Descrição; Arquitetura Proposta; Conclusão sobre Web Semântica; Linguagens de Anotação.
Redes Semânticas e Sistemas Frames
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação de Sistemas Distribuídos Parte 2.
20/04/2017 Orientação a Objetos 1 1.
Lógica de Descrição Fred Freitas CIn - UFPE. Roteiro Ontologias Ontologias Formalismos de RC orientados a domínios Formalismos de RC orientados a domínios.
Sistemas Baseados em Conhecimento Prof. Cláudio M. N. A. Pereira.
Projeto de Banco de Dados
Módulo II Capítulo 1: Orientação a Objetos
Formalismos de Representação de Conhecimento Prof. Fred Freitas Centro de Informática - CIn Universidade Federal de Pernambuco - UFPE.
Sistemas de Produção Jacques Robin CIn-UFPE. Roteiro  Definição de um sistemas de produção  Regras de produção  Inferência com regras de produção 
Transcrição da apresentação:

Formalismos de Representação de Conhecimento Prof. Fred Freitas Centro de Informática - CIn Universidade Federal de Pernambuco - UFPE

Roteiro Controvérsia declarativo-procedural Formalismos orientados à resolução de problemas Formalismos orientados a domínios Redes semânticas Frames (Molduras) Lógica de descrições Analise de SBCs

Controvérsia Declarativo-Procedimental Abordagem procedimental Descreve o funcionamento de processos passo-a-passo Código compilado, mais rápido, simples, controlável e popular Metáfora do “como” Abordagem declarativa Descreve um domínio com suas entidades e características, através de “fatos” declarativos que não estão dentro dos programas Motores de inferência deduzem novos fatos a partir dos existentes Metáfora do “o quê” Controversia nos anos 70 e 80e ntre eles a solução do problema ou a ação a ser tomada

Sistemas Baseados em Conhecimento Criar sistemas diretamente a partir do conhecimento Separação entre o conhecimento e o processo dedutivo ou inferência Conhecimento sobre o domínio e sobre processos são dados (fatos), que podem ficar fora do programa A concepção passa por 3 especificações consecutivas: O nível de conhecimento ou epistemológico O nível lógico O nível de implementação Programa = motor de inferencia Conheciemnto = dados Vantagens: flexibilidade, legibilidade, fidelidade semântica, engajamento ontológico, extensibilidade,abstração das compilações, e capacidade de inferência

Formalismos de Representação de Conhecimento Prover teorias - fundamentadas em lógica matemática - e sistemas para expressar e manipular conhecimento declarativo de forma tratável e eficiente computacionalmente Um formalismo deve prover: Acesso aos fatos (conhecimento) Mecanismo de inferência (ou estratégia de resolução) Estratégias de controle e escalonamento da inferência Taxonomia minha, pode ser discutida, existem outras Antes e ateh hoje pesquisadores se orientam a predicados, mas com ontologias estao mais ligados a dominios

Tipos de formalismos em relação ao foco Formalismos orientados à resolução de problemas: regras de produção e programação em lógica Pioneiros Foco no processo, funcionamento Formalismos orientados a domínios: frames, redes semânticas, lógica de descrições Classes, relações e restrições Facilitam a estruturação de conhecimento sobre um domínio de aplicação Classes e relacoesdomínios

Formalismos orientados a domínios

Redes Semânticas Proposta por Quillian [68] a partir da modelagem da memória semântica humana Nós (objetos) conectados por arcos (relações binárias) Arcos típicos: é-um (is-a), é-parte Muito utilizadas em Processamento de Linguagem Natural Ontologias linguísticas (Ex: WordNet)

Redes Semânticas X: pessoa ( nome => id ( primeiro => string, último => Y: string ), Cônjuge => pessoa ( nome => id ( último => Y),Cônjuge => X))

Correspondência com a LPO Uma rede semântica pode ser mapeada em uma representação na LPO (Lógica da Primeira Ordem): nós termos retas relações Não é definido um conjunto específico de relações. As relações mais usadas: is-a (é-um) Permite agrupar objetos na mesma classe (Instanciação) ako (a-kind-of: tipo-de) Refinamento de um conceito em um mais específico (Sub-classe) part-of (parte-de) (relação de: pertence a ...)

Inferência sobre Redes Semânticas Busca e casamento de padrões Pode ser a partir de um nó ou arco, para frente e/ou para trás através dos links Usos: Explicações Inferência sobre subsunção (herança) Consultar toda a informação possível sobre um nó ou arco ...

Exemplo de ontologias em redes semânticas faz Animal Comer Ako Ako tem Pássaro Mamífero Pêlos Ako Cão Is-a (instanciação) Fido

Busca como Ferramenta Explicativa Para provar a declaração “Cães comem” pode-se supor que cães comem, e usar busca sobre a rede para provar a hipótese. Buscando a partir do nó “Cão”, temos: “Cão é-um mamífero” “Mamífero é-um animal” “Animal faz comer” Isto é uma prova para “Cães comem”

Explorar exaustivamente um tópico Para derivar todo o conhecimento sobre “cães”, usa-se Busca em Largura a partir do nó “Cão” “Cães são Mamíferos” “Cães têm Pêlos” “Cães são Animais” “Cães Comem”

Relacionando tópicos Para verificar se “Cães” e “Pássaros” estão relacionados, pode-se executar, a partir de ambos os nós, uma Busca em Largura. A interseção entre os nós visitados nos dá uma pista sobre o relacionamento entre os nós iniciais. Isto é chamado ativação distribuída ou interseção de busca.

Problemas de redes semânticas Muitos nós para representar pouca coisa Muita repetição de nós Não há distinção entre classes e objetos Não podemos falar sobre as relações Dizer por exemplo que é de 1:1 ou 1:n A não ser reificando-as ... ...

Frames (Quadros) Base: modelos mentais de psicologia cognitiva usados na resolução de problemas [Bartlett 32] Esquemas: estruturas de conhecimento (estereótipos) armazenadas na memória duradoura, baseadas em experiências passadas, a serem adaptadas Proposta por M. Minsky [75] Precursores declarativos dos objetos procedimentais

Frames [Figueira 98] Animais Vivo: V Voa: F Subconjunto Subconjunto Pássaros Mamíferos Pernas: 2 Pernas: 4 Voa: V Subconjunto Subconjunto Subconjunto Canários Gatos Humanos Cor: Amarelo Pernas: 2 Membro Membro Membro Piu-piu Frajola Fred Nome: Piu-piu Nome: Frajola Nome: Fred Amigo: Amigo:

Expressividade dos Frames Classes Herança múltipla Instâncias Atributos (slots) Slots podem ser instâncias de outras classes (relações) Slots inversos: Ex: Slot Orientados da classe Professor é inverso do slot Orientador da classe Aluno Ao preencher um o outro é preenchido automaticamente Facetas Restrições sobre os slots Inferência por meio de herança e restrições

Definindo classes e instâncias (defclass City "Cities are part of countries or states." (is-a Location) (multislot is-Part-Of (type INSTANCE) (allowed-classes Country State) (inverse-slot has-Parts) (cardinality 1 ?VARIABLE)) (single-slot name (type STRING) (cardinality 1 1))) ([Locations_00427] of City (is-Part-Of [WA]) (name "Washington"))

Facetas mais comuns em sistemas de Frames São elas que diferenciam os frames de redes semânticas! Valor default Valores permitidos (allowed-values) Domínio Ex: 1..100 Cardinalidade máxima e mínima Tipo: inteiro, string, booleano, float, símbolo, instância Classes permitidas (allowed-classes): válida apenas para slots do tipo instância

Frames x Objetos procedimentais [Farquhar 97] Semelhança apenas aparente Frames modelam aspectos de um domínio real Objetos e suas classes visam modelar estruturas de dados e reusar código Às vezes frames e objetos se parecem Às vezes objetos violam o engajamento ontológico Class circulo {int x,y; int altura} Class elipse extends circulo {int largura}

Frames x Objetos procedimentais (cont.) Também não é necessária em frames a inclusão de detalhes de implementação, como tamanho de strings, etc Frames não possuem métodos nem information hiding, desnecessária para a declaratividade Objetos não possuem facetas Frames têm sua parte procedimental Daemons: procedimentos executados quando um valor é lido, incluído ou modificado num slot Info hiding ou encapsulamento? O q eh encapsulamento?

Herança Forma usual de poupar redescrever cada objeto Redes de Herança Na herança as relações são transitivas Redes de Herança Em árvore Em reticulados Herança estrita Uma só classe é herdada Em árvore (vide ao lado) Tudo o que é alcançável a partir de um nó é herdado

Herança Múltipla Representa “IS-NOT” Pode haver conflitos...

Herança mutável Como em frames Lemos que Clyde é um elefante mas não é cinza Porém a rede pode ser ambígüa ... Nixon é pacifista ou não?? Como decidir? pacificist isa is-not Quaker Republican isa Nixon isa

Heurística do menor caminho Para decidir a polaridade (positiva ou negativa) Alguns argumentos são tomados de antemão (preventivos) Os que não são preventivos, são admissíveis

Problemas com herança mutável Redundância Nó q Pior, Clyde agora é cinza! Mesmo usando o menor caminho... Se colocarmos 2 arcos no lado esquerdo, a conclusão muda...

Formalizando redes de herança Uma rede de herança G={V,N} é um DAG (grafo acíclico direcionado) com arcos positivos (a.x) e negativos (a.¬x) V = conjunto de vértices e E = conjunto de arcos Um caminho positivo só tem arcos positivos (a. ... .x), significando que “a é-um x” Um caminho negativo só tem arcos positivos seguidos por um arco negativo (a. ... .v.¬x), significando que “a não é-um x” O número de positivos aqui pode ser 0 Uma conclusão continua podendo ser amparda por vários argumentos (caminhos) diferentes...

Amparo e admissibilidade Então quais argumentos devem prevalecer?? G ampara um caminho a.s1. ... .sn.¬x se o conjunto de arcos está em N e o caminho é admissível A hierarquia ampara a conclusão que a é-um x (ou a não é-um x) se existir este caminho em G Um caminho é admissível se seus arcos são admissíveis Um nó v.x (ou v.¬x) é admissível em G sobre a se existe um caminho positivo a. ... .v em N cada arco deste caminho é admissível não há arcos redundantes nem preventivos no caminho

Arcos preventivos e redundantes Um arco y sobre um caminho a. ... .y. ... .v previne o arco v.x sobre a se y.¬x pertence a N Um arco b.w (ou b.¬w) é redundante em G sobre a se há um caminho positivo admissível e nao há um caminho negativo admissível no meio (q sobre BlueWhale, na figura)

Extensões e extensões crédulas Extensão = conjunto de fatos tomados por verdade numa rede G é a-conectada sse para todo nó x (ou ¬x), há um caminho positvo entre a e v G é ambígüa sobre a se existem os caminhos a. ... .x e a. ... .¬x Uma extensão crédula de G sobre a é a hierarquia não-ambígüa a-conectada de maior tamanho de G sobre a (1 e 2)

Extensões preponderantes Como escolher entre as 2 extensões? Usando a admissibilidade Se X e Y são extensões crédulas de G sobre a X prepondera sobre Y sse possui arcos v e x em que X e Y possuem os mesmos arcos que precedem v Existe um arco v.x (ou v.¬x) inadmissível em Y mas não em X

Tipos de raciocínio de subsunção Raciocínio crédulo: escolhe a extensão preponderante, talvez aleatoriamente, e aceita todas as conclusões derivadas dela Raciocínio cético: aceita as conclusões derivadas das extensões preponderantes Raciocínio cético ideal: raciocínio cético em que as conclusões devem ser amparadas por caminhos distintos