Fred Freitas - [email protected] Engenharia de Conhecimento Fred Freitas CIn - UFPE.
Formalismos de Representação de Conhecimento Prof. Fred Freitas Centro de Informática - CIn...
-
Upload
sebastiana-nunes-de-sa -
Category
Documents
-
view
216 -
download
1
Transcript of Formalismos de Representação de Conhecimento Prof. Fred Freitas Centro de Informática - CIn...
Formalismos de Representação de Conhecimento
Prof. Fred FreitasCentro 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
Evolução = Elevação das abstrações0• códigos binários e
endereços: mnemônicos e rótulos simbólicos,e depois variáveis
• modificações nos endereços: atribuições
• saltos:estruturas de controle • expressões:funções• comandos:procedimentos• estruturas armazenamento :
estruturas de dados• assembler: linguagens
• consultas a BDs: linguagens de consulta
• modelos físicos : conceituais• dados e operações: tipos abstratos
de dados ou objetos• tipos: polimorfismo• compiladores: gramáticas formais e
geradores de compiladores• funções para relações• código para conhecimento explícito
num formalismo lógico de representação
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
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ânticaspessoa id
string string
pessoa id
nome
cônjuge primeiro último
nome último
pessoa id
string string
pessoa id
nome
cônjuge primeiro último
nome último
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– ...
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
FramesAnimaisAnimais
Vivo:Vivo: V VVoa:Voa: F F
PássarosPássaros MamíferosMamíferosSubconjunto
Subconjunto Subconjunto
Subconjunto
SubconjuntoSubconjunto SubconjuntoSubconjunto SubconjuntoSubconjunto
Mem
bro
Mem
bro
Mem
bro
Mem
bro
Mem
bro
Mem
bro
CanáriosCanários GatosGatos HumanosHumanos
Piu-piuPiu-piu FrajolaFrajola FredFred
Pernas:Pernas: 2 2Voa:Voa: V V
Pernas:Pernas: 4 4
Cor:Cor: Amarelo Amarelo Pernas:Pernas: 2 2
Nome:Nome: Piu-piu Piu-piuAmigo:Amigo:
Nome:Nome: Frajola FrajolaAmigo:Amigo:
Nome:Nome: Fred Fred
[Figueira 98]
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• 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}
[Farquhar 97]
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
Herança• 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 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
Quaker
Nixon
Republican
is-not
isaisa
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