1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.
-
Upload
cassio-de-vieira-de-santarem -
Category
Documents
-
view
213 -
download
1
Transcript of 1 Sistemas Baseados em Conhecimento Marcílio Souto DIMAp/UFRN.
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
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
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?
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
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....
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.
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
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
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))
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
12
Como representar conhecimento?
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
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
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
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)
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?
18
Como raciocinar?
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
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
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.
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
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
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)
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
26
Como adquirir o conhecimento?
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, ...
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
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.