formalismos de representação de conhecimento prof. fred freitas centro de informática - cin...
TRANSCRIPT
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
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
pessoa 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
– ...
Comer
Pássaro
Animal
Mamífero
Cão
Pêlos
Ako Ako
Ako
tem
faz
Exemplo de ontologias em redes semânticas
Fido
Is-a (instanciação)
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
FramesAnimaisAnimaisAnimaisAnimais
Vivo:Vivo: V VVivo:Vivo: V V
Voa:Voa: F FVoa:Voa: F F
PássarosPássarosPássarosPássaros MamíferosMamíferosMamíferosMamíferos
Subconju
nto
Subconju
nto
Subconju
nto
Subconju
nto Subconjunto
Subconjunto
Subconjunto
Subconjunto
SubconjuntoSubconjuntoSubconjuntoSubconjunto SubconjuntoSubconjuntoSubconjuntoSubconjunto SubconjuntoSubconjuntoSubconjuntoSubconjunto
Mem
bro
Mem
bro
Mem
bro
Mem
bro
Mem
bro
Mem
bro
Mem
bro
Mem
bro
Mem
bro
Mem
bro
Mem
bro
Mem
bro
CanáriosCanáriosCanáriosCanários GatosGatosGatosGatos HumanosHumanosHumanosHumanos
Piu-piuPiu-piuPiu-piuPiu-piu FrajolaFrajolaFrajolaFrajola FredFredFredFred
Pernas:Pernas: 2 2Pernas:Pernas: 2 2
Voa:Voa: V VVoa:Voa: V VPernas:Pernas: 4 4Pernas:Pernas: 4 4
Cor:Cor: Amarelo AmareloCor:Cor: Amarelo Amarelo Pernas:Pernas: 2 2Pernas:Pernas: 2 2
Nome:Nome: Piu-piu Piu-piuNome:Nome: Piu-piu Piu-piu
Amigo:Amigo:Amigo:Amigo:Nome:Nome: Frajola FrajolaNome:Nome: Frajola Frajola
Amigo:Amigo:Amigo:Amigo:Nome:Nome: Fred FredNome: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