Top Banner
Sistemas Baseados em Conhecimento Técnicas para Representação de Conhecimento Continuação Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial
45

Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Nov 08, 2018

Download

Documents

tranthuy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Sistemas Baseados em Conhecimento

Técnicas para Representação de Conhecimento

Continuação

Universidade Estadual do Oeste do Paraná

Curso de Bacharelado em Ciência da Computação

Inteligência Artificial

Page 2: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Roteiro

Retomada sobre Técnicas e Lógica Lógica

Regras de produção

Redes semânticas

Frames

Árvores de Decisão

Scripts

Sistemas híbridos

Processo de desenvolvimento do um SBC

Page 3: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Modelos ou Técnicas para RC

Regras de Produção

(Sistemas de Produção)

Page 4: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Modelos ou Técnicas para RC

Regras de Produção:

Se (lado 1 do triângulo A) = (lado 2 do triângulo A)

e = (lado 3 do triângulo A)

Então

escreva “Triângulo Eqüilátero”.

Page 5: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Modelos ou Técnicas para RC

Redes Semânticas

Page 6: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Redes Semânticas (Carlos, Ita)

Page 7: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Redes Semânticas (Carlos, Ita)

Page 8: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Modelos ou Técnicas para RC

Frames

Page 9: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC (Elaine Rich)

Frames:

Um frame é uma coleção de atributos, em geral,

chamados de escaninhos (slots), e valores a eles

associados, que descrevem alguma entidade do

mundo.

Page 10: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC (Rezende - USP)

Frames:

Animal faz comer

pássaro É um

Cão É um

Mamífero É um Tem

pelos

Page 11: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC (Rezende - USP)

Frames:

“Totó” – uma instância da classe “Cão”:

Cão É um

Nome

Raça

Pelo

Sexo

mamífero

Pastor alemão

Longo

Macho

Slo

ts

valo

res

Totó

Page 12: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Algumas técnicas p/representação de conhecimento:

Lógica

Regras de produção

Redes semânticas

Frames

Árvores de Decisão

Scripts

Esquemas Híbridos

Representação do Conhecimento

Page 13: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Árvores de Decisão

Page 14: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Árvores de Decisão: Uma árvore de decisão é formada por um conjunto

de nós de decisão (perguntas) que permitem

encontrar uma resposta (se

existente).

Árvore: Jogar vôlei?

sim não

Page 15: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Árvores de Decisão:

Uma árvore de decisão utiliza a estratégia dividir-

para-conquistar:

Um problema complexo é decomposto em sub

problemas mais simples.

Recursivamente a mesma estratégia é aplicada a

cada sub problema.

Page 16: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Árvores de Decisão:

As árvores de decisão tomam como entrada uma

situação descrita por um conjunto de atributos e

retorna uma decisão, que é o valor predito para o

valor de entrada.

Dada uma entrada/pergunta, qual é a melhor saída /

resposta?

Page 17: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Árvores de Decisão:

São hierarquicamente arranjadas.

Cada nó corresponde a uma situação ou a uma

ação.

Os arcos são rotulados com os valores possíveis do

teste.

Em cada nó ocorre um teste tendo como resposta

sim ou não.

Page 18: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Estruturação do Conhecimento

sobre Plano de saúde

Situações e

Ações

Page 19: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

O fator crítico nas Árvores de Decisão: Decidir que propriedades ou atributos estão

disponíveis para descrever os fatos e as regras

domínio;

É preciso pensar em como gerar a árvore, ou seja,

como organizar as regras, considerando sua

importância, tendo em vista o objetivo final.

Page 20: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Aplicações das Árvores de Decisão:

CONHECIMENTO COM HIERARQUIA

Exemplos

Diagnóstico médico

Defeito de equipamento

Credito bancário

...

Page 21: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Exemplo de uso de Árvores de Decisão: Escolha de um

Restaurante

Existem alternativas?, existe um bar no local?, dia

da semana, estado da fome, estado do restaurante,

preço, chuva, reserva, tipo de comida, tempo de

espera....

Page 22: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Esperar por uma mesa?

Alternativa

Fome

Reservas Dia

Alternat.

Bar Chove

Sim Sim

Não Sim

Vazio Medio

Cheio Estado rest.

Espera

Não Não

Não

Sim

Sim Sim

Sim

Sim

Sim

0-10 30-60

>60 10-30

Não Sim

Não Sim

Não Sim

Não Sim

Não Sim

Não Sim

Semana Final

Page 23: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Árvores de Decisão:

Além da facilidade para representar conhecimento

hierárquico, o uso de árvores para representar o

conhecimento possui como vantagem a existência

de várias técnicas de buscas que operam em

árvores e, consequentemente, tem obtido sucesso

em diversas aplicações.

Page 24: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Árvores de Decisão

Vantagens:

Estrutura de fácil manipulação e visualização;

Produzem modelos que podem ser facilmente

interpretados por humanos;

Dispõem de diversas técnicas para

manipulação

Page 25: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Árvores de Decisão:

Desvantagens:

Um mesmo conceito pode ser representado por

árvores diferentes;

Árvores muito grandes se tornam difíceis de

interpretar, alterar e consultar;

Dificultam a representação de conhecimento

não hierárquico;

Page 26: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

O que fazer quando duas ou mais regras entram em

conflito? Nenhuma conclusão? Informar?

Usar a regra mais importante/genérica?

O que fazer quando nenhuma regra se aplica? Nenhuma conclusão? Informar?

Usar a regra mais frequente?

Page 27: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Árvores de Decisão: Valores Ausentes

Têm algum significado?

Sim “ausente” é um valor a parte

Não “ausente” deve ser tratado especialmente

S1: associar a instância ao ramo mais popular

S2: dividir a instância em partes

Usar pesos?

Page 28: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Scripts ou Roteiros

Page 29: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC (Elaine Rich)

Scripts/Roteiros:

Um script (Schank e Abelson, 1977), ou roteiro

é uma estrutura que descreve uma sequência

esteriotipada (pré concepção) de eventos em

um determinado contexto;

Scripts são uma especialização de frames,

projetados para manipular situações (além de

objetos).

Page 30: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC (Elaine Rich)

Scripts/Roteiros:

Os scripts são úteis porque, no mundo real, os

eventos ocorrem segundo padrões.

Esses padrões aparecem por causa do

relacionamento causal entre os eventos;

Os eventos descritos em um script formam uma

cadeia causal (geralmente grande); Um evento aciona outro.

Page 31: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC (Elaine Rich)

Scripts/Roteiros:

O começo da cadeia é o conjunto de condições de

entrada que permitem a ocorrência dos primeiros

eventos do script.

O final da cadeia é o conjunto de resultados que

podem permitir a ocorrência de eventos posteriores

ou de sequências de eventos.

Page 32: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC (Elaine Rich)

Scripts/Roteiros:

Dentro da cadeia, os eventos são conectados a

eventos anteriores (que o ativam) e a eventos

posteriores (que são ativados por ele);

Em scripts, os nós são eventos, e os links entre

eles são elementos causais (um evento provoca a

ação de outro evento a ele ligado).

Page 33: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC (Morimoto - USP)

Scripts/Roteiros: Considere a frase: “Vovó levou Piu-Piu ao veterinário

depois que ele brigou com Frajola. Concluída a visita ao veterinário, ela voltou para casa”

De nosso conhecimento sobre pássaros e veterinários, podemos inferir alguns detalhes: Piu-Piu estava doente/machucado; O veterinário tratou de Piu-Piu; Vovó pagou o veterinário; Vovó voltou para casa com Piu-Piu;

O cenário acima é mais “provável” que: Vovó olhou para o veterinário, não gostou dele e voltou

para casa (com ou sem o Piu-Piu).

Page 34: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Scripts/Roteiros:

Um script é como um roteiro de cinema, e como tal, é

preciso considerar alguns elementos, como:

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 a execução do script;

Quais cenas devem ocorrer;

Em qual ordem elas devem ocorrer.

Page 35: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Scripts/Roteiros:

Antes de se projetar um script, é necessário ter uma

sequência básica inicial;

Por exemplo, na ida a um restaurante, há uma

sequência de eventos que se pode esperar:

Entrar no restaurante

Pedir refeição

pagar comer sair

Page 36: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Scripts/Roteiros:

É possível detalhar cada um dos eventos básicos

em uma série de sub-eventos.

Por exemplo, no caso de “entrar no restaurante”,

pode-se prever:

Estacionar

o carro Entrar no

restaurante

Esperar por Uma mesa

Ler o cardápio Ir até a mesa

Page 37: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC (Rezende, USP)

Scripts/Roteiros:

O script do restaurante poderia ser pensado como:

Papéis: cliente, garçon, cozinheiro;

Objetos de cena: mesas, cadeiras, garfos, facas,

pratos,copos, garrafas de bebida, toalhas...;

Entradas condicionais: se há o prato solicitado, se há a

bebida solicitada, se o cliente não se comportar, se o

cliente fiou satisfeito...;

Cenas que devem ocorrer: recepção ao cliente,

instalação em uma mesa, pedido da refeição, pedido da

bebida, serviço de refeição e bebida, pagamento da

conta, saída do restaurante.

Em qual ordem elas devem ocorrer...

Page 38: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC (Rezende, USP)

Scripts/Roteiros:

O script do restaurante poderia ser pensado como:

Cena 1: entrar no restaurante:

Estacionar o carro;

Entrar no restaurante;

Instalar-se em uma mesa;

Cena 2: pedir a refeição:

Ler o cardápio;

Escolher pela refeição;

Escolher a bebida;

Cena 3: ...

Page 39: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC: comentários

Scripts/Roteiros:

Os scripts ou roteiros podem ser utilizados em

conjuntos com outras técnicas, incluindo OO e

regras de produção

Page 40: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC

Esquemas Híbridos

Page 41: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Métodos de RC: Esquemas Híbridos

Esquemas híbridos:

Envolvem a utilização de dois ou mais modelos ou

técnicas de representação de conhecimento.

Page 42: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Considerações finais

Técnicas de representação de conhecimento são

propostas visando contribuir na melhor organização e

caracterização do conhecimento para fins

computacionais

O primeiro passo para representar conhecimento é

identificar a cadeia de eventos/situações que podem /

devem ser representadas (texto)

Tecnicamente, as representações de conhecimento

podem ser consideradas equivalentes

Page 43: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Considerações finais

Algumas representações são mais adequadas /

convenientes para alguns tipos de problemas /

domínios

A herança é uma forma importante de inferência,

permitindo que as propriedades de objetos sejam

deduzidas a partir de sua pertinência a categorias.

Page 44: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Processo de Desenvolvimento de um SBC (Rezende)

O processo de desenvolvimento de um SBC compreende:

Gerenciamento de atividades: planejamento, escalonamento,

registro e análise

Gerenciamento de configuração: gerenciamento do produto e

de mudanças

Gerenciamento de recursos: previsão, aquisição e

otimização do uso dos recursos.

Page 45: Inteligência Artificial I - inf.unioeste.brclaudia/sist_int_tecnicas0305.pdf · S1: associar a instância ao ramo mais popular S2: dividir a instância em partes Usar pesos? Métodos

Processo de Desenvolvimento de um SBC (Rezende)