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