Representação de Conhecimento

Documentos relacionados
Inteligência Artificial. Sistemas Baseados em Conhecimento. Técnicas para Representação de Conhecimento Continuação

Inteligência Artificial. Sistemas Baseados em Conhecimento. Técnicas para Representação de Conhecimento Continuação

Inteligência Artificial. Sistemas Baseados em Conhecimento. Aula IV Técnicas para Representação de Conhecimento

Paradigmas de Representação de Conhecimento

Introdução à Inteligência Artificial

Representação de Conhecimento

Desenvolvimento de Aplicações Desktop

Paradigma Simbólico. Sistemas de Informação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 2)

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

Inteligência Artificial. Categorias de Conhecimento

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

Introdução à Lógica de Programação

Técnicas de Inteligência Artificial

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

Modelagem de Classes. Mestrado em Engenharia de Produção e Sistemas Computacionais. Profa. Adriana Pereira de Medeiros

Programação Orientada a Objetos

Programação Orientada a Objetos

Introdução à Programação Orientada a Objetos. Prof. Leonardo Barreto Campos 1

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

#Conceituação. Algoritmos. Eliezio Soares

Algoritmos e Programação de Computadores Disciplina:

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução aos Algoritmos

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

POO e C++: Herança e Polimorfismo

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

Inteligência Artificial. Sistemas Baseados em Conhecimento. Representação de Conhecimento (continuação)

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Requisitos de sistemas

Introdução aos Algoritmos

Inteligência Artificial

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Inteligência Artificial. Conceitos Gerais

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Conhecimento e Raciocínio Agente Lógicos Capítulo 7. Leliane Nunes de Barros

Diagramas de Classes. Diagramas de Classes. Diagramas de Classes. Análise e Projeto de Sistemas OO

Programação Orientada a Objeto

O PARADIGMA ORIENTADO POR OBJETOS

Algoritmos e Programação

Programação Orientada a Objetos Introdução a POO

Introdução ao Conceito de Algoritmo e Programação Estruturada

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Sistemas Baseados em Conhecimento SBC

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br

Modelagem de Sistemas. Análise de Requisitos. Modelagem

Programação Orientada a Objetos JAVA - NETBEANS

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Algoritmos e Técnicas de Programação

COMPUTAÇÃO COLABORATIVA. Prof. Cícero Quarto cicerocq.wordpress.com

CONCEITOS DE ALGORITMOS

Representação de Conhecimento

Modelagem Orientada a Objeto

Inteligência Artificial

Introdução à Computação

2. Criação de Algoritmos

Linguagens de Programação I. Introdução a Algoritmos e Lógica de Programação

Capítulo 1 Conceitos Básicos

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

4 Conceito de Herança

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:

Conceitos de Orientação a Objetos. Objeto Atributo Classe Método

Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno

Algoritmos e Programação

Introdução à Orientação a Objetos

Representação do Conhecimento

Análise e projeto de sistemas

Lógica de Programação Lógica, Conceitos; Fluxo de Controle

PERFIL DE DESEMPENHO. PRÉ-ESCOLAR 4 anos

Análise de Sistemas. Visão Geral - Orientação a Objetos. Prof. José Honorato Ferreira Nunes

Python Orientação a Objetos. Introdução à Programação SI2

Transcrição:

Representação de Conhecimento Solange O. Rezende Thiago A. S. Pardo 1 Representação de Conhecimento O papel da representação de conhecimento em Inteligência Artificial é o de reduzir problemas de ação inteligente a problemas de busca 2

RC - Definições Conjunto de sentenças em uma linguagem formal para a qual foram definidas uma semântica e um conjunto de regras de inferência capazes de gerar novas sentenças a partir das sentenças disponíveis Conjunto de convenções sobre como descrever uma classe de objetos Uma descrição faz uso das convenções de uma representação para descrever um objeto em particular. 3 RC - Definições Toda representação deve possibilitar representar Objetos Seus atributos Relacionamentos entre objetos 4

Características desejáveis em RC Definir explicitamente os objetos e relações Expor restrições naturais (expressar a forma como um objeto ou relação influencia um(a) outro(a)) Mostrar objetos e relações juntos, permitindo que as informações necessárias sejam vistas com uma olhada rápida Suprimir detalhes irrelevantes (detalhes raramente utilizados podem ser postos de lado, mas podem ser obtidos quando necessários) 5 Uma boa representação deve ser Transparente, permitindo o entendimento do que está sendo dito Rápida, possibilitando o armazenamento e a recuperação de informações em tempo curto Computável, possibilitando a sua criação, utilizando um procedimento computacional existente 6

Uma RC é composta por quatro partes principais Léxica: determina que símbolos são permitidos no vocabulário de representação Estrutural: descreve as restrições sobre como os símbolos podem ser combinados Procedural: especifica como os símbolos podem ser manipulados, definindo procedimentos de acesso que possibilitam criar descrições, modificar descrições e responder questões utilizando descrições Semântica: estabelece uma forma de associar significado às descrições 7 Linguagens de Representação de Conhecimento Lógica Redes semânticas Frames Scripts Regras de produção Qual a linguagem de representação nativa do Prolog? 8

Tecnicamente, representações computacionalmente tratáveis podem ser equivalentes, só que algumas representações são mais convenientes. 9 Redes Semânticas Redes Semânticas são uma tentativa de se formalizar como nosso conhecimento é organizado na memória Redes Semânticas são compostas de nós e links rotulados Cada nó representa um objeto ou propriedade de um objeto Cada link representa o relacionamento entre dois nós 10

História das Redes Semânticas Originalmente a idéia de redes semânticas foi proposta em 1913 por Selz como uma explicação de fenômenos psicológicos Em 1966, Quillian implementou aquelas idéias e mostrou como o significado poderia ser representado como relacionamento entre dois objetos Representações mais complicadas tais como frames são realces desta idéia 11 Ex: Rede Semântica Simples Redes Semânticas explicitam o relacionamento entre objetos e propriedades Por exemplo, considere algumas coisas que sabemos sobre animais Animais comem Mamíferos e pássaros são animais Mamíferos têm pêlos Cães são mamíferos 12

Ex: Rede Semântica Simples (cont.) A senteça Animais comem pode ser representada pela seguinte rede: Animal faz Comer Animal e Comer são representados por nós O relacionamento entre eles (este animal come) é representado pelo link rotulado faz Simploriamente, pode-se ler como Animal faz Comer 13 Rede Semântica Simples (cont.) Mamíferos e Pássaros são animais pode, agora, ser acrescentada usando-se o link é_um : Animal faz Comer é_um é_um Pássaros Mamíferos Pode-se ler esta nova sentença como: Pássaro é um Animal e Mamífero é um Animal 14

Uma Rede Semântica Simples (cont.) Também pode-se acrescentar à rede a sentença Mamíferos têm pêlos : Animal faz Come é_um é_um Pássaro Mamífero tem Pêlos 15 Uma Rede Semântica Simples (cont) E, por último, pode-se acrescentar Cães são mamíferos : Animal faz Comer é_um é_um Pássaro Mamífero tem Pêlos é_um Cão 16

Transitividade em Redes Semânticas Redes Semânticas são naturalmente transitivas Podemos concluir da rede desenvolvida que se Cão é um Mamífero e Mamífero é um Animal então Cão é um Animal Entretanto, não é possível concluir que: Cão é um Pássaro Pássaro tem pelos 17 Busca em Redes Semânticas A Busca em Redes Semânticas pode ser usada de várias maneiras para se extrair informações Por exemplo, a busca pode ser usada: como uma ferramenta explicativa para explorar um tópico exaustivamente para encontrar o relacionamento entre dois objetos 18

Busca como uma ferramenta Explanatória Podemos supor que cães comem, e usar busca sobre a rede para explicar isto (se ele pode) Buscando à partir do nó Cão, podemos dizer que Cão é um Mamífero, Mamífero é um Animal e Animal faz Comer. Isto é uma explicação para cães comem. 19 Busca exaustiva de informação Se quisermos encontrar tudo o que podemos aprender sobre cães, somente necessitamos usar Busca em Largura à partir de Cão Dessa maneira, poderíamos encontrar que cães são mamíferos, cães tem pelos, cães são animais e cães comem 20

Intersecção de Busca Se quisermos encontrar se Cães e Pássaros estão relacionados, então podemos executar, à partir de ambos os nós, uma busca em largura (busca bidirecional) A intersecção nos dá uma pista sobre o relacionamento entre os nós Isto é chamado ativação distribuída ou intersecção de busca 21 Intersecção de Busca(cont) Partindo de Cão e Pássaro podemos encontrar que ambos são animais: Animal faz Comer é_um é_um Pássaro Mamífero tem Pêlos é_um Cão 22

REDE SEMÂNTICA Obs.: tem que diferenciar conceitos de instâncias, senão fica impossível relacionar deferentes instâncias de um mesmo conceito Ex.: meu carro é preto possuidor cor Eu Carro Preto 23 REDE SEMÂNTICA Acrescenta o carro da Maria é azul Eu possuidor Carro cor Preto possuidor cor Maria Azul Qual é o cor do meu carro??? 24

REDE SEMÂNTICA Solução: para detectar uma instancia de uma classe, usa-se a ligação instance-of conceito Maria possuidor Carro instance-of C2 cor Azul instance-of cor C1 possuidor Eu Preto instâncias particulares 25 REDE SEMÂNTICA João possuidor instance-of Carro1 Carro É-um Veiculo cor Preto Roda É-parte É-um Meio-transp O sentido da relação instance-of está invertido em relação ao slide anterior. Isso é permitido? 26

Outro exemplo transitividade herança Móvel Pessoa É um Cadeira É parte Assento É um dono Ana É um Cadeira - X cor Preta conceito Couro estofado instancia do conceito cadeira 27 Língua natural: exemplo João deu um livro a Maria conceito Dar instâncias particulares É um João agente Deu objeto Livro-x conceito beneficiário Maria É um Livro 28

Teste psicológico Evidências psicológicas Humanos organizam conhecimento hierarquicamente Associam conceitos Teste indica que, ao fazer inferências mais gerais (mais altas na hierarquia, portanto), humanos demoram mais Responder à pergunta Mamíferos têm pêlos? é mais rápido do que responder à pergunta Mamíferos comem? 29 Exercício Construir a rede semântica para o trecho de texto: Planta é usada em qualquer processo industrial. Também pode significar o ato de colocar uma semente ou planta na terra para crescer. O mais comum é que é uma estrutura viva que não é um animal, frequentemente com folhas, retira seu alimento do ar, da água e da terra. 30

Exercício Esboçar um algoritmo que construa a rede semântica automaticamente a partir de um texto 31 REDE SEMÂNTICA Vantagens representação natural oferece visão global do problema representado Desvantagens número de nós pode crescer muito para representar uma idéia simples difícil representar coisas que não são fatos, mas idéias, crenças, tempo representação não estruturada 32

Frames Estruturas de dados estáticas usado para representar situações estereotipadas bem compreendidas (Minsky, 1975) Representa objetos do domínio Mamífero éum animal tem pelos Quais as diferenças em relação às redes semânticas? 33 Frames Frames são mais poderosos que redes semânticas porque: Eles fornecem uma representação mais estruturada que a rede semântica Tanto informação como relacionamento podem ser especificados em um frame Eles também podem conter procedimentos Frames podem ser representados numa forma gráfica similar a redes semânticas 34

Redes Semânticas como Frames Animal faz Comer Pássaro éum Podemos representar a rede semântica mostrada como frames Mamífero éum tem pelos Cão éum 35 O Frame Cão O frame Cão poderia ser expandido acrescentando-se novos slots e valores para o frame Slots Cão Éum Nome Mamífero Valores Raça Pêlo Sexo Default: Mongrel Default: Longo Macho ou Fêmea 36

Aspectos Gerais de um Frame Slots são atributos do frame que podem ter valores particulares Valores podem ser um valor absoluto, um intervalo ou um valor default Um frame genérico, tal como o frame Cão, é uma classe frame Uma instância de uma classe frame é simplesmente um frame com valores específicos, assim como Rex, o cão, é uma instância da classe de cães 37 Uma Instância do Frame Cão Rex - Uma instância da classe Cão : Cão É um Nome Raça Pelo Sexo Mamífero Rex German Shepherd Longo Macho 38

Frames e Demons Procedimentos que estão dentro de frames são chamados demons Um exemplo de um demon é um procedimento para calcular a área de um quadrado dado o tamanho de um dos lados (via valores de slots) Assim o valor da área não precisa estar representado e sim pode ser calculado a partir de outras informações na instanciação do frame 39 O Frame Quadrado Quadrado Tam. do lado Área A classe frame, para quadrado, tem um demon em Área que enxerga o valor em Tam. do lado Quando ele o encontra, ele calcula a área do quadrado Quadrado Tam. do lado 5 Área 25 40

Frames e herança No exemplo animal/mamífero/cão, o nível mais baixo herda as propriedades dos níveis superiores Por exemplo: Cão tem pêlos, pois eles são mamíferos e mamíferos têm pêlos Herança é uma característica poderosa de frames, porque informações podem ser especificadas num nível mais genérico, evitando-se, assim, redundância E nas redes semânticas? Há herança? 41 Frames e objetos Objetos na Programação Orientada a Objetos são muito similares aos frames Por essa razão, Liguagens OO são uma boa opção para a implementação de sistemas de frames 42

Outro exemplo Ex.: rede de cômodos numa casa Cômodo * Tipo sala estar quarto cozinha banheiro * classe subclasse ako ako ako ako Sala estar é-um: cômodo Quarto é-um: cômodo Cozinha é-um: cômodo Banheiro é-um: cômodo ako ako ako Sala estar Maria Suite Hospede ako sub-subclasse instância Suite Maria instância 43 História de Scripts Scripts (Schank e Abelson 1977) são uma especialização de frames projetados para manipular situações além de objetos Numa rede semântica ou em frames, nós são objetos, e os links entre objetos representam uma gama de relacionamentos Em scripts, os nós são eventos, e os links entre eles são simplesmente causais Isto é, um evento provoca o próximo 44

Construindo um Script Um Script é como um script cinematográfico Como num script de cinema, precisamos considerar vários elementos quando projetamos o script Quais são os papéis dos objetos/pessoas no script Quais objetos de cena se relacionam ao script Quais são as motivações ou entradas condicionais para execução do script Quais cenas estão para ocorrer Em qual ordem elas devem ocorrer 45 Um Script Básico Antes de projetarmos o script, necessitamos de uma seqüência básica inicial Por exemplo, na ida a um restaurante há uma seqüência de eventos que podemos esperar: Entrar no Restaurante Pedir Refeição Comer Refeição Pagar pela Refeição Gorjeta 46

Quebra de um Script É possível quebrar cada um dos eventos numa série de sub-eventos. Por exemplo, com relação ao evento entrar no restaurante, podese esperar: Estacionar o Carro Entrar no Restaurante Esperar por uma Mesa Ir até a Mesa Ler o Menu 47 O Script Restaurante Colocando os eventos juntos aos demais elementos, poderíamos imaginar o script Restaurante assinalando apenas algumas coisas, tais como: SCRIPT RESTAURANTE Papéis: Freguês, garçom, cozinha Objetos de cena: Mesas, cadeiras, garfos, facas, pratos, copos, garrafas de vinho Entradas condicionais: freguês está faminto; freguês está vestido inapropriadamente; freguês tem dinheiro 48

O Script Restaurante (cont) Cena 1: Entrar Estacionar o carro Entrar no Restaurante Esperar por uma Mesa ou Ir até a Mesa Ler o Menu Cena 2: Pedir a Refeição Resultados: freguês não tem fome; freguês tem menos dinheiro 49 Scripts Scripts podem ser usados para: Contar histórias sobre uma seqüência de eventos Responder questões tais como O que acontece se o bife do freguês estiver queimado? Seqüência dos eventos levem a alguma decisão Inferências em determinadas situações Scripts são muito similares a frames, são codificados da mesma forma e são, às vezes, considerados como uma sub-classe de frames 50

Exercício Script para ir ao cinema Papéis, objetos, condições de entrada, cenas, resultados 51 Questão Como representar redes semânticas, frames e scripts em Prolog? 52