1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

29
1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN

Transcript of 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

Page 1: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

1

Sistemas Baseados em Conhecimento

Marcílio Souto

DIMAp/UFRN

Page 2: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

2

Exemplo

West é criminoso ou não? • “A lei americana diz que é proibido vender armas a uma

nação hostil. Cuba possui alguns mísseis, e todos eles foram vendidos pelo Capitão West, que é americano”

Como você resolveria este problema de classificação? • Linguagem: você entende o que está escrito em português• Conhecimento: você sabe um pouco de geopolítica e armas• inferência: você é capaz de raciocinar usando este

conhecimento descrito em português

Page 3: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

Solucionando o caso do cap. West (linguagem natural)A) odo americano que vende uma arma a uma nação hostil é criminosoB) Todo país em guerra com uma nação X é hostil a XC) Todo país inimigo político de uma nação X é hostil a XD) Todo míssil é um armaE) Toda bomba é um armaF) Cuba é uma naçãoG) USA é uma naçãoH) Cuba é inimigo político dos USAI) Irã é inimigo político dos USA

conh

ecim

ento

pré

vio

J) West é americanoK) Existem mísseis em cubaL) Os mísseis de cuba foram vendidos por West co

nhec

imen

to

do p

robl

ema

novo

co

nhec

imen

to M) Cuba possui um míssel M1 - de KN) M1 [e um míssil - de KO) M1 é uma arma - de D e NP) Cuba é hostil aos USA - de F, G, H e CQ) M1 foi vendido a Cuba por West - de L, M e NR) West é crimonoso - de A, J, O, P e Q

Page 4: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

4Como uma máquina poderia resolver este problema?

Segundo a IA...• Identificar o conhecimento do domínio• Representá-lo em uma linguagem formal• Implementar um mecanismo de inferência para utilizá-lo

The Knowledge Principle (Lenat & Feigenbaum)• If a program is to perform a complex task well, it must know a

great deal about the world in which it operates

Questões-chave• Como adquirir esse conhecimento?• Como representá-lo adequadamente?• Como raciocinar com ele correta e eficientemente?

Page 5: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

5

Conhecimento na Máquina (1/2)

Dados:• cadeias numéricas ou alfanuméricas que não possuem

significado associado• ex. 12, m1, west, 10.... ( ?)

Informação:• dados organizados: significam alguma coisa para quem os

recebe• ex. 01, 03, 04, 06, 07, 08, 10 (meses ???)

Conhecimento:• Dado, informação ou abstração formatado de maneira a

permitir raciocínio por um ser humano ou por uma máquina

Page 6: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

6

Conhecimento na Máquina (2/2)

Exemplos de conhecimento• Classes e objetos

– relação Arma - Míssil - m1• Formula da lógica

– InimigoPolítico(Cuba,USA)• Distribuição de probabilidade prévia e condicional de

variáveis aleatórias – P(Cuba-usar-míssil-contra-USA |Cuba-tem-m1) = 0,3

Basta saber isto?• Não, é preciso saber como estruturar o conhecimento,

identificar sua natureza e para efetivamente saber como usá-lo....

Page 7: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

7

Sistemas Baseados em Conhecimento

São sistemas que• raciocinam sobre suas possíveis ações no mundo

Conhecem:• o estado atual do mundo (propriedades relevantes)• como o mundo evolui• como identificar estados desejáveis do mundo• como avaliar o resultado das ações• conhecimento sobre conhecimento (meta-conhecimento)• etc.

Page 8: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

8

Sistemas Baseados em Conhecimento

2 componentes principais (separados):• Base de Conhecimento• Mecanismo de Inferência

Base de Conhecimento:• contém sentenças em uma Linguagem de Representação

de Conhecimento “tratável” pelo computador– representações de regras e fatos– ex. x Míssil(x) Arma(x)

Míssil(M1)

Mecanismo (máquina) de Inferência associado:• responsável por inferir, a partir do conhecimento da base,

novos fatos ou hipóteses intermediárias/temporárias– ex. M1 é uma arma

Page 9: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

9Sistema baseado em conhecimento (dedutivo)

Am

biente

Sensores

Efetuadores

Base deConhecimentoEspecializada

Máquina deInferênciaGenérica

Ask

Tell

Retract

Representação eAquisição de

Conhecimento

Raciocínio Automático

Page 10: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

10Implementando raciocínio: laço principal do agente

Ask: pergunta coisas à base• ex. ASK (BC, Criminoso(West)) ou

ASK (BC, x Criminoso (x)))

TELL: relata novos fatos à base• ex. TELL (BC, Americano (West))

RETRACT: Elimina fatos da base• ex. RETRACT (BC, Criminoso(Zezinho))

Page 11: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

Solucionando o caso do cap. West (em LPO)A) x,y,z Americano(x) Arma(y) Nação(z) Hostil(z) Vende(x,z,y) Criminoso(x)B) x Guerra(x,USA) Hostil(x)C) x InimigoPolítico(x,USA) Hostil(x)D) x Míssil(x) Arma(x)E) x Bomba(x) Arma(x)F) Nação(Cuba)G) Nação(USA)H) InimigoPolítico(Cuba,USA)I) InimigoPolítico(Irã,USA)co

nhec

imen

to p

révi

o

J) Americano(West)K) x Possui(Cuba,x) Míssil(x) L) x Possui(Cuba,x) Míssil(x) Vende(West, Cuba,x) co

nhec

imen

to

do p

robl

ema

novo

co

nhec

imen

to M) Possui(Cuba,M1) - Eliminação: quantificador existencial eN) Míssil(M1) conjunção de KO) Arma(M1) - Modus Ponens a partir de D e NP) Hostil(Cuba) - Modus Ponens a partir de C e HQ) Vende(West,Cuba,M1) - Modus Ponens a partir de L, M e NR) Criminoso(West) - Modus Ponens a partir de A, J, O, F, P e Q

Page 12: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

12

Como representar conhecimento?

Page 13: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

13Linguagens de Representação do Conhecimento

Uma Linguagem de Representação do Conhecimento é definida por:1) uma sintaxe, que descreve as configurações que podem

constituir sentenças daquela linguagem;

2) uma semântica, que liga cada sentença aos fatos no mundo que ela representa

– cada sentença faz uma afirmação a respeito do mundo;– o agente acredita nas sentenças que correspondem a sua

configuração interna.

E tem um mecanismo de inferência associado = raciocínio

Page 14: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

14

Representação & Raciocínio Raciocínio é um processo de construção de novas sentenças a

partir de sentenças existentes.

Raciocínio “correto” (sound):• garante que as novas sentenças representam fatos que se seguem

dos fatos representados pelas sentenças existentes na BC.• implementa a relação de “implicação” entre sentenças

implicasentenças

Representação sem

ântic

a

sentenças

Mundofatos

sem

ântic

a

segue-se fatos

Page 15: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

15Linguagens de Representação do Conhecimento

Linguagens de programação:• são precisas, porém não são suficientemente expressivas

Linguagens naturais:• são muito expressivas, porém são ambíguas

Linguagens de representação de conhecimento (LRC):• utilizadas para expressar as sentenças das BC• existem 3 grandes classes:

– linguagens (predominantemente) declarativas– linguagens procedimentais– linguagens híbridas

Page 16: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

16

Meta-conhecimento

Meta-conhecimento:• conhecimento sobre o conhecimento disponível: escolha de

ações– ataco ou negocio?

• // Ente duas ações conflitantes, escolha a de maior utilidade G,H,T,A,B goal(G,T+1) goal(H,T+1) result(A,T,G,T+1)

result(B,T,H,T+1) result(A,T,H,T) result(B,T,G,T) utility(G,high) utility(H,low) do(A,T)

Page 17: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

17

Critérios de avaliação de LRC

• Expressividade– o que é possível dizer facilmente na linguagem?

• Inferência disponível– que tipo de inferência é possível fazer na linguagem?

• Corretude– a inferência é plausível? A semântica é bem definida?

• Eficiência– a inferência se realiza em um tempo razoável?

• Modularidade:– é fácil identificar e reutilizar partes do conhecimento?

• Legibilidade: – é fácil de ler e entender o que está escrito?

• Eficiência aquisicional: – é fácil adicionar conhecimento?

Page 18: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

18

Como raciocinar?

Page 19: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

19

Categorias de Raciocínio: dedução

Processo de raciocínio no qual uma conclusão segue necessariamente das premissas supostas

Inferência por meio do raciocínio do geral para o específico

• Todos os gatos são felinos e Garfield é um gato, posso deduzir que Garfield é um gato

Uma das regras básicas da inferência da lógica dedutiva é a regra do modus ponens• Se X é verdade e se X sendo verdade implica que Y é verdade,

então Y é verdade

Page 20: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

20

Categorias de Raciocínio: indução

Um processo de raciocínio para uma conclusão sobre todos os membros de uma classe por meio do exame de apenas uns poucos membros da classe

De maneira geral, raciocínio do particular para o geral• Por exemplo, se eu noto que Todos os gatos siameses no show de

gatos de 1986 tinham olhos azuis, e Todos os gatos siameses no show de gatos de 1987 tinham olhos azuis, posso inferir logicamente que Todos os gatos siameses têm olhos azuis

• Isto pode ser ou não verdade, mas propicia uma boa generalização

Em uma maneira mais “formal”...

• Para um cj. de objetos, X={a,b,c,d,...}, se a propriedade P é verdade para a, e se P é verdade para b, e se P é verdade para c,... então P é verdade para todo X

Page 21: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

21

Categorias de Raciocínio:abdução

Abdução é uma heurística para fazer “inferências plausíveis” • Por exemplo, se eu leio que Fumar causa câncer de pulmão e

José morreu de câncer de pulmão, posso inferir que José era um fumante.

• Como no caso da indução, isto pode ser ou não verdade• Ela propicia uma conclusão plausível consistente com a

informação disponível, a qual pode de fato está errada Em uma maneira mais “formal”...

• Se Y é verdade e X implica em Y, então X é verdade

• Porém, visto que P, Q, e R também podem implicar que Y é verdade, a inferência feita com a heurística da abdução falhará no caso em que P, Q e R levarem a verdade de Y.

Page 22: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

22

Categorias de Raciocínio

Os três tipos de raciocínio foram apresentados de acordo com a ordem de confiança que se pode colocar no novo conhecimento inferido a partir do conhecimento dado (evidência)

• O conhecimento novo baseado no raciocínio dedutivo é sempre verdade se as suposições são verdadeiras

• O conhecimento novo baseado em vários casos (indução) é geralmente verdadeiro desde que os sistemas estudados sejam bem comportados

• Uma inferência baseada na abdução pode ser plausível mas deve carregar um fator de confiança para indicar a probabilidade de estar correta

Page 23: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

23

Implementando raciocínio

Dedução e abdução (via dedução) • é a usada em sistemas baseado em conhecimento

Indução • usadas na aquisição de conhecimento

Dedução: dois grandes grupos• Lógica e afins

– chegarei ao cinema às 20h• tratamento de incerteza: probabilístico ou vago

– provavelmente chegarei ao cinema às 20h– Eu garanto que chegarei cedo para a sessão das 20h

Page 24: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

Principais sistemas de raciocínio declarativos/dedutivos

regraslógica objetos híbridos

Programação em lógicaSistemas de produção

Sistemas de manutenção da verdade

Provadores de teoremaSistemas Redes Semânticas

Sistemas FramesSistemas de Lógica descritiva

Sistemas OO

regras+objetoslógica+objetos

lógica+objetos+funções

Lógica e afins (LRC+MI)

Page 25: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

25Observações sobre linguagem e raciocínio

Separação controle - conhecimento • Seja qual for o raciocínio, haverá sempre um motor geral

que o implementará • A tarefa do engenheiro de IA é “só” codificar corretamente o

conhecimento

Isto se chama Programação Declarativa: diz “o que”• representação descritiva dos fatos, relacionamentos e regras

– ex. as partes de uma bicicleta e seus relacionamentos – ex. o pai do pai é o avô

já na procedimental, se diz “como” • fatos e seqüências de instruções para manipular esses fatos

– ex.: como desmontar uma bicicleta

Page 26: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

26

Como adquirir o conhecimento?

Page 27: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

27

A grande escolha

Aprender • se existe conhecimento em extensão disponível• mais rápido e simples• envolve várias técnicas

– Redes neurais– Aprendizagem simbólica– algoritmos genéticos

• ex. categorização de texto, recomendação de filmes, ...

Explicitar (à mão): engenharia de conhecimento• se conhecimento pode ser facilmente explicitado ou não se

tem escolha• mais trabalhoso embora preciso• Várias técnicas...

– Programação em lógica, sistemas de produção, ...

Page 28: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

28Ciclo de vida dos sistemas baseados em conhecimento

Nível de Conhecimento

Nível Lógico

Nível de Implementação

BC

AQUISIÇÃO

FORMALIZAÇÃO

IMPLEMENTAÇÃO

REFINAMENTO

linguagem natural

linguagem de representação deconhecimento

linguagens de programação

Page 29: 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.

29

Engenharia do Conhecimento

Engenharia do Conhecimento• estuda como construir uma Base de Conhecimento (BC)

1. Nível do conhecimento: aquisição de conhecimento• conhecimento em “estado puro” - linguagem natural

– e.g., táxi automático: a ponte Princesa Isabel liga a Rua da Imperatriz à Rua Nova

2. Nível lógico: formalização• conhecimento codificado em sentenças - linguagem formal

– e.g. sentença lógica: liga(Ponte-PI,RI,RN)

3. Nível de máquina: implementação• estrutura de dados representando as sentenças do nível lógico

– e.g., listas, tabelas, objetos, etc.