350 likes | 442 Views
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
E N D
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ê”
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
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
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
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
Animais Frames Vivo: V Voa: F Subconjunto Subconjunto [Figueira 98] Pássaros Mamíferos Pernas: 2 Pernas: 4 Voa: V Subconjunto Subconjunto Subconjunto Canários Gatos Humanos Pernas: 2 Cor: Amarelo 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
Forma usual de poupar redescrever cada objeto 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
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 is-not isa Quaker Republican isa isa Nixon
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 quea é-umx (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