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 DeclarativoProcedimental
• 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
nome
cônjuge
id
primeiro
último
string
string
último
nome
pessoa
id
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
retas
termos
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
Ako
Pássaro
Comer
Ako
Mamífero
tem
Pêlos
Ako
Cão
Is-a
Fido
(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
Animais
Frames
Vivo:
V
Voa:
F
[Figueira 98]
Pássaros
Mamíferos
Pernas:
2
Voa:
V
Subconjunto
Pernas:
Subconjunto
Canários
Gatos
Amigo:
Piu-piu
Humanos
Frajola
Nome:
Amigo:
2
Membro
Membro
Piu-piu
Nome:
Subconjunto
Pernas:
Amarelo
Membro
Cor:
4
Frajola
Fred
Nome:
Fred
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
altura}
{int x,y; int
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
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?
isa
pacificist
Quaker
is-not
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
Download

frames, redes semânticas - Centro de Informática da UFPE