Redes Semânticas

Transcrição

Redes Semânticas
Redes Semânticas
Representação de uma rede semântica:
•grafo orientado cujos os nós e arestas (arcos) possuem rotulação
mnemônica.
•1960 - Rosi Quilan - uso para representar modelos computacional de
memórias humana (memória semântica).
=> a rotulação traduz a semântica => uma rede semântica.
•Uso original para suporte à linguagem natural (HAM, Active
Structural Network)
•Nós (vértices)
•representam objetos, situações ou conceitos (elementos)
⇒uso generalizado: representação do conhecimento
•Arestas (arcos)
• relacionam os elementos
⇒Uma rede semântica descreve os objetos e suas interrelações
Tipos de ligações em redes semânticas:
Divisões e tipos básicos de ligações em redes semântica
•Propriedade: relaciona um nó com outro
Redes Semânticas:
⇒As ligações podem ser quaisquer mas devem transmitir a
•Subparte: indica que um nó é subparte ou componente de outro (“éparte-de”)
semântica de maneira mais fiel possível.
•Subclasse: exprime que um nó é uma subclasse (representada por
outro nó)
Tipos mais comuns: “é-parte-de” e “é-um” ou “é-uma”
•Relacionamento: informa que os nós envolvidos se relacionam de
alguma forma
1
Tipos de semântica:
Tipos de semântica:
Semântica Descritiva
Semântica de Equivalência
•Tenta mostrar o quanto a descrição se aproxima da realidade
representada
•Procura estabelecer equivalências entre a representação efetuada e
uma outra forma de representação do conhecimento
Tipos de semântica:
Exemplo:
Semântica Procedural
“Odisseus é homem. Um homem é uma pessoa. Uma
pessoa é um animal.”
•Usa programas para exprimir o significado (exige entendimento
de uma linguagem de programação)
c(odisseus,homem).
c(homem,pessoa).
c(pessoa,animal).
2
Exemplo 1 (cont.)
Exemplo 1:
é-de
Computador
Marcia
“O computador é de Márcia. Ela o usa para escrever um livro
está-no
serve_para
faz
importante. O livro é parte dos trabalhos de pesquisa que
Escrever
Márcia realiza na Universidade.”
relaçãocom
é
Livro
Pesquisa
relaçãocom
é
Importante
Exemplo 3: (Inserção de tempo nas redes semânticas – Simmons e
Slocum, 1972)
Exemplo 2:
Roda
Universidade
parafuso
é_parte_de
•João possuiu um carro de dezembro a março.
Dezembro
Carro_1
é-um
é-parte-de
Carro
Carro
é-um
veículo
é-um
Meio de
Transporte
possuidor
Carro 1
cor
Tempo_final
possuído
João
João
é-um
tem
Posse_1
Tempo
é-um
Março
Tempo_inicial
exige
Direito
de Posse
é-um
Verde
Situação
3
Representação com redes semânticas:
•Perda de Informação
Representação Gráfica
•não é comum de trabalhar computacionalmente as redes
semânticas
•Dificuldade de codificação das informações
•Esquecimento de inserir informações
Representação de
Conhecimento por Frames
Concebida por Minsky (Winston, 1975)
(http://www.media.mit.edu/people/minsky/)
(http://web.media.mit.edu/~minsky/papers/Frames/frames.html)
=> usa-se uma estrutura de dados, junto com uma
linguagem de programação
Representação de Conhecimento por Frames
•Hipótese:
“O homem não analisa novas situações a partir do zero e não
cria novas estruturas de conhecimento para uma nova descrição.
Ao invés disso, ele dispõe de um conjunto extenso de estruturas,
representando suas experiências anteriores com objetos,
situações e pessoas. Assim, na análise de uma nova experiência
ele tenta selecionar na memória uma dessas estruturas
previamente armazenadas ("um frame")” (Rich, 1988).
•Forma de representação simbólica
=> Estrutura é relembrada e adaptada à realidade (os
detalhes de acordo com a necessidade do evento).
4
Frame (Quadro)
•Estrutura adequada para representar situações estereotipadas.
Exemplo:
•Ir a uma festa de aniversário infantil
•Objetos do mundo real (ex. cadeira, sala)
Facetas:
• <valor>
•atribuição confiável
•Informações são reunidas na estrutura de frames (armazenamento
nos terminais - slots, atributos).
Propriedades dos atributos (facetas) – associadas ao tipo de valores e
às restrições de número de cada atributo.
Informações armazenadas:
•experiências e situações anteriores, que criam expectativas
do que possa acontecer a seguir
•orientações sobre o que fazer se as expectativas não forem
confirmadas
Exemplo:
•Frame para um estádio de futebol
Frame: Estádio_de_Futebol
Nome
• <default> (a priori)
•atribuição baseada em generalizações e estereótipos
(raciocínio guiado por expectativas)
:<valor>
= sequência_de_caracteres
Proprietário :<valor>
= particular_ou_estado
Capacidade :<valor>
= um_inteiro
Dimensões :<default> = oficiais
5
Exemplo de um frame que descreve um estádio de
futebol específico:
Observação:
•As dimensões do estádio Maracanã são oficiais
•Slot “Dimensões” tem rótulo do tipo <valor>
Frame: Estádio Maracanã
Nome
: <valor> = Mário Filho
•Se não existe informações suficientes o rótulo é <default>
Proprietário : <valor> = Estado
Capacidade : <valor> = 200.000 pessoas
Dimensões
•ou seja, o que usar baseado em situações anteriores
e como proceder se não houver correspondência com
a realidade
: <valor> = oficiais
•Estrutura de frames
•Rede de nós e relações (Minsky - Winston, 1975)
•Níveis mais altos (topo)
•fixos e usados para representar tudo que é sempre
verdadeiro sobre uma situação suposta.
•Níveis mais baixos
•têm vários atributos (slots) preenchidos por instâncias
específicas ou dados.
•Slot pode especificar condições que seus valores devem satisfazer.
•Valores podem ser sub-frames menores.
6
•Condições simples
•especificadas por marcadores com atribuição terminal
•Sistemas de Frames
•Conjuntos de frames relacionados (ligados) uns aos outros
Exemplos:
•Pessoa,
•Uso:
•Objeto, ou
•Facilitar alguns tipos de cálculos
•Ponteiro para o sub-frame de um determinado tipo
•Representar mudanças de ênfase e atenção
•Condições mais complexas
•podem especificar relações entre o que foi atribuído à vários
atributos (slots)
•Análise de cenas visuais:
•Frames diferentes descrevem a cena de pontos de vista
diferentes.
•Explicar as propriedades de imagens (figuras)
•Ações importantes são espelhadas nas transformações entre os
frames de um sistema.
•Análise de cenas visuais:
•Transformações entre um frame e outro representam os efeitos
de mover de um lugar para outro.
Fonte: http://web.media.mit.edu/~minsky/papers/Frames/frames.html
Fonte: http://web.media.mit.edu/~minsky/papers/Frames/frames.html
7
•Frames do tipo não visual
•As diferenças entre frames de um sistema podem representar:
•Frames diferentes em um mesmo sistema podem compartilhar os
mesmos terminais (slots).
•(Ponto crítico que permite a coordenação da informação reunida
a partir de pontos de vista diferentes )
•Ações
•Relações causa-efeito
•Mudanças do ponto de vista
•O forte da teoria de frames
•Atribuições <default>
•Feitas livremente aos slots
•Depende da inclusão de expectativas e outras suposições
•Podem ser facilmente substituídas por novos itens que melhor
especifiquem a situação em questão
•Slots (atributos) de um frame são normalmente preenchidos
com atribuições <default>
•Um frame pode conter muitos detalhes cuja suposição não
é garantida pela situação, mas que são usados na
representação de informações gerais, de casos parecidos, de
técnicas para relevar a lógica e maneiras de fazer
generalizações úteis
•Indicam que a informação tem origem em generalizações e
estereótipos
•Só devem ser usadas no caso de não se ter algo mais concreto.
•Podem servir como "variáveis" ou "casos especiais" para
"raciocinar por exemplos“, ou como "casos de livros texto“ tornam desnecessário o uso de quantificadores lógicos
8
Sistemas de Frames
•Escolhido um frame para representar uma situação, um processo de
correspondência (matching) tenta atribuir valores aos terminais de
cada frame, consistentes com os marcadores em cada local.
•Ligados por uma rede de recuperação de informação
•Rede provê um frame substituto quando um determinado frame
não se adapta à realidade (ou seja, quando não é possível
encontrar
atribuições
terminais
que
correspondem
adequadamente às condições do marcador terminal)
•Estruturas interframes
•O processo de correspondência é parcialmente controlado pela
informação associada com o frame (incluindo informação de como
tratar as surpresas, e pelo conhecimento sobre as metas do sistema em
questão)
•Permitem outras formas de representação do conhecimento
sobre fatos, analogias e outras informações úteis ao
entendimento
Sistemas baseados em frames
•Teoria de frames (proposta como uma tentativa de resolver
problemas simples de visão como um processo extenso) necessita:
•Organizados em uma hierarquia de generalizações
•Tempo para preenchimento de detalhes
•O nó herda informações do que está acima dele na hierarquia
•Coleta de evidências
•O superior hierárquico pode ser encontrado através de um elo do
tipo "ako" - A KIND OF ( um tipo de)
•Elaboração de conjecturas
•Testes
Frame 1
ako
Frame 2
•Deduções
•Exemplo: Interpretar uma cena (depende do conhecimento, das
expectativas e dos objetivos de quem está sendo submetido à
experiência)
9
Considerações:
Considerações:
•Sistemas de frames:
•Os atributos de um frame podem ter atribuições de regras para
executar tarefas específicas do que está se representando.
•As regras podem ser declarativas ou procedurais
(demon,saci)
(=> um frame pode ativar uma regra para realizar alguma
atividade )
Linguagem de Frames
Estrutura de Frames
•Formalismo de representação do conhecimento (uma estrutura de
armazenamento de dados)
•Ajudam a explicar alguns fenômenos da inteligência humana.
•São apropriados na interpretação de uma seqüência específica
observada
•São úteis para prever a ocorrência de certos acontecimentos que
não tenham sido mencionados anteriormente
•São úteis para domínios onde a forma e o conteúdo do dado
desempenham um papel importante na solução do problema (por
exemplo, interpretação cenas, entendimento da fala)
•Linguagem de Frames
•Maneira mais eficaz para se implementar a estrutura de frames
•São implementadas para permitir a navegação em todo o
conhecimento representado
•Deve-se ter uma forma de efetivamente implementá-lo.
•Deve ser composta de primitivas para:
•Vários recursos podem ser utilizados para uma boa
implementação
•Por exemplo: Declarações PROLOG
recordz(sinônimo,[mudar,mover],____).
•Inicializar o sistema de frames
•Criar novos frames
•Atribuir valores ou funções aos atributos dos frames
•Eliminar atributos de frames
•Recuperar informação dos frames
recordz(atributo,[cor : ______],____).
•Visualizar mensagens para o usuário
10
•Linguagem de Frames
•Gramática para uma linguagem de Frames (Bittencourt, 1998 –
pág. 266)
<command>::=(frame-query <query>) |
(frame-store <store>) |
(frame-list)
<pattern>::=(frame{<query>}) |
(frame{<store>})
<query>::=(<frame> [ <antecedent>]{<slot query>}))
<frame>::=<variable> | <symbol >
<antecedent>::=<variable> | <symbol >
<slot query>::=(<slot><value >)
<slot>::=<variable> | <symbol >
<value>::=qualquer S-expressão
<store>::=(<frame><antecedent> {<slot definition>})|
(off(<frame>)|
(off(<frame> (<slot>)+))
<slot definition>::=(<slot><value>) |
(<slot><function definition><demon type>)|
<demon type>::= if-create | if-modify | if-necessary | if-delete
Exemplo de um frame, escrito em
LISP, associado a uma sala
(Bittencourt, 1998 – pág. 266267
Exemplos: Representação de um cômodo e uma sala (Bittencourt,
1998 – pág. 265
Frame: Cômodo
Super-Frame: Lugar-coberto
Atributos
Default
Tipo
Se-necessário
Número de paredes
Formato
Altura
Área
Volume
4
retangular
3
número
símbolo
número(m)
número(m2)
número(m3)
(Área*Altura)
é-um
Frame: sala
Super-frame : Comodo
Atributos
Default
Tipo
Mobiliário
Finalidade
(sofa, mesa, cadeiras)
Convivência
Lista de símbolos
símbolo
Exemplo de um frame, escrito em
LISP, associado a uma sala
(Bittencourt, 1998 – pág. 267
11
Exemplo de Linguagem (Prolog – Araribóia, 1989):
Exemplos: Frame de um aposento de dormir
Aposento
fponha - coloca uma Regra no Frame.
Função: dormir
Largura: L
fremova - remove uma Regra do Frame.
Comprimento: C
ligue - conecta dois frames por um elo do tipo AKO.
fpegue - recupera o conteúdo de um slot de um frame.
Quarto(L,C)
Quarto(5,6)
Armazenamento:
Recuperação:
Função
Dimensões
fponha(aposento(dormir,L,C),valor,mobília(cama)).
ligue(quarto(L,C),aposento(dormir,L,C)).
fpegue(quarto(5,6),mobilia(M)).
M = cama ->.
yes
Procedimento
(demon)
Ligação (AKO)
12
Exemplos: Ambiente gráfico
Exemplo 1:
Figura
Geométrica
Tamanho, Cor
Classe do objeto : figura_2D
ako
Instância : quadrado1
Objeto
4 Lados
ako
Atributos :
Ângulos de 90o: Número de ângulos 4
Centro : Coordenadas do Centro - (XC,YC)
Comprimento do lado:
Numero de lados de comprimento iguais:
Cor da aresta:
ako
Quadrado
Retângulo
4 Lados
Iguais
área=L*L
Lados Iguais 2 a 2
área=L1*L2
ako
ako
Retângulo1
Quadrado1
L1=3, L2=4
L=5
AK O
IN S T A N C IA
DE
C O NTE XTO
te m
AKO
AK O
o b j e to 1 ( d o
c o n te x to e m
a n a lis e )
AKO
o b je t o 2 ( d o
c o n t e xt o e m
a n a li s e )
AKO
o b je t o 3 ( d o
c o n t e xt o e m
a n a lis e )
IN S T A N C IA D E
O BJET O
( C IR C U L O )
AKO
o b j e to 4 ( d o
c o n te x to e m
a n a lis e )
OBJETO GENERICO1:<string>
(paralelogramo) classe: <string>
numero de lado: < inteiro> lados
iguais: < inteiro> numero de angulos:
<inteiro>
O BJETO
G E N E R IC O 3
AKO
IN S T A N C IA D E
O B JE T O
(R E T A N G U L O )
INSTANCIA DE CONTEXTO
GENERICO: <string> (cga) status:
<string> tem: <objeto generico1,
objeto generico2, objeto generico3,...
objeto genericoN>
te m
O BJET O
G E N E R IC O 2
AK O
IN S T A N C IA D E
O BJETO
(Q U AD R AD O )
CONTEXTO GENERICO: <string>
funcao: <string> dimensao:
<inteiro/float> tem: <lista de objetos
genericos do dominio>
tem
O B JE T O
G E N E R IC O 1
CO N TEX TO
G E N E R IC O
AK O
o b j e to 5 ( d o
c o n te x to e m
a n a lis e )
AK O
AK O
IN S T A N C IA D E
O BJET O
( T R IA N G U L O
IS O C E L E S )
I N S T A N C IA D E
O B JE T O
( T R IA N G U L O
RE TAN G ULO )
AKO
o b je t o 6 ( d o
c o n t e xt o e m
a n a l is e )
INSTANCIA DE OBJETO GENERICO1
<string> (quadrado)
No. de lados iguais: 4
No. de anguls retos: 4
tamanho do lado: <inteiro 2>
area= ( tamanho do lado )
perimetro=4 x tamanho do lado
OBJETO DO CONTEXTO EM ANALISE:
<string> (objeto1) tamanho: <inteiro>
cor: <inteiro> orientacao: <inteiro>
posicao: < (inteiro/float, inteiro/float)>
tipo:< inst. de obj. generico>
AK O
o b j e to 7 ( d o
c o n t e x to e m
a n a lis e )
Figura 2.13 - Exemplos de preenchimento de frames para o dominio
da Computacao Grafica 2D.
13
/***************************************************************************/
cria_objetos_generico:cria(objeto_generico1(Nlado,Nladosiguais,Nangreto),valor,
classe(figura2D)),
cria(objeto_generico2(Nlado,Nang),valor,classe(figura2D)),
cria(objeto_generico3,valor,classe(figura2D)),
cria(objeto_generico4,valor,classe(figura2D)).
cria_instancias:cria_quadrado,
cria_triangulo_equilatero,
cria_triangulo_retangulo,
cria_retangulo,
cria_circulo,
cria_linha.
cria_quadrado:cria(quadrado(Tl),valor,lado(T l)),
cria(quadrado(Tl),valor,(area(A):-A is Tl*Tl)),
cria(quadrado(Tl),valor,(perimetro(P):-P is 4*Tl)).
cria_triangulo_equilatero:cria(triangulo_equilatero(Tgl,Base),valor,tamanho_do_lado(Tgl)),
cria(triangulo_equilatero(Tgl,Base),valor,tamanho_da_base(Base)),
cria(triangulo_equilatero(Tgl,Base),valor,
(area(A):- A is sqrt(T gl*Tgl-Base*Base/4)*Base/2)),
cria(triangulo_equilatero(Tgl,Base),valor,
(perimetro(P):- P is 2*Tgl+Base)).
Exemplo 2:
cria_triangulo_retangulo:cria(triangulo_retangulo(Tgl,Base),valor,tamanho_do_lado(Tgl)),
cria(triangulo_retangulo(Tgl,Base),valor,tamanho_da_base(Base)),
cria(triangulo_retangulo(Tgl,Base),valor,(area(A):- A is Tgl*Base/2)),
cria(triangulo_retangulo(Tgl,Base),valor,
(perimetro(P):- P is Tgl+Base+sqrt(T gl*T gl+Base*Base))).
cria_retangulo:cria(retangulo(Tl,Tl2),valor,tamanho_dos_lados(Tl,Tl2)),
cria(retangulo(Tl,Tl2),valor,(area(A):-A is Tl*Tl2)),
cria(retangulo(Tl,Tl2),valor,(perimetro(P):-P is 2*T l+2*T l2)).
cria_circulo:cria(circulo(R),valor,raio(R)),
cria(circulo(R),valor,(area(A):-A is 3.14*R*R)),
cria(circulo(R),valor,(perimetro(P):-P is 2*3.14*R)).
cria_linha:cria(linha(Comp),valor,lado(Comp)),
cria(linha(Comp),valor,(perimetro(P):- P is 1*Comp)).
liga_instancias_a_objetos_generico:liga(quadrado,objeto_generico1(4,4,4)),
liga(retangulo,objeto_generico1(4,2,4)),
liga(triangulo_equilatero,objeto_generico2(3,3)),
liga(triangulo_retangulo,objeto_generico2(3,3)),
liga(circulo,objeto_generico3),
liga(linha,objeto_generico4).
Exemplo 3:
C1
SC1.1
SC1.1
C2
SC1.2
Imagem
•Como descrever a ampliação?
•Como descrever o conteúdo?
Célula C1
Célula C1
Célula C1
Célula C2
Célula C1
14
Exemplo 4:
Exemplos de réguas
Régua de cálculo (1971)
13/05/2003
15