Você está na página 1de 61

Engenharia de Conhecimento

1
Temas

• Conhecimento na computação (IA).


• Sistemas baseados em conhecimento
• Sistemas especialistas
• Representação de conhecimento
• Engenharia de conhecimento
Conhecimento na computação (IA)

3
Conceitos fundamentais
– Representação de Conhecimento e
raciocínio:
• Uma parte da IA preocupada em estudar
como um agente usa o que ele conhece para
decidir o que fazer.
(Brachman & Levesque, 2004).
Conceitos fundamentais
• Conhecimento
– "João sabe que x“
• x é substituível por uma sentença declarativa
– "a neve é branca“
• Sentenças declarativas como essa representam
proposições
• Proposição: entidade abstrata que é sobre o mundo
e que pode ser (classicamente) verdadeira ou falsa.
– Conhecimento é que resulta quando um agente toma o
mundo de uma certa maneira e não de outra.
Conceitos fundamentais
• Representação:
– Uma relação entre dois domínios, onde "um representa o
outro".
– A representação (eventualmente) é concreta e mais
facilmente manipulável que o representado.
– Símbolo:
• Uma representação particularmente importante na IA.
• Uma entidade formal concreta, computacionalmente
processável.
Conceitos fundamentais
• Raciocínio (na IA):
– Processamento formal de símbolos que representam uma
coleção de proposições em que um agente acredita, para
produzir representações de novas proposições.
– Inferência lógica:
• Um tipo de raciocínio particularmente importante na IA
• Representações geradas pela inferência, são
conclusões lógicas das anteriores.
Por que representação de
conhecimento e raciocínio?
• Mundo de Wumpus
– Ambiente:
• Uma grade de 4X4 áreas
• É possível sentir um cheiro forte em áreas adjacentes ao
Wumpus.
• É possível perceber uma brisa em áreas adjacentes a
poços.
• É possível perceber um brilho na área que está o ouro.
• É possível pegar e largar o ouro.
– Sensores:
• De cheiro, brisa e brilho
– Atuadores:
• Virar para esquerda ou direita, mover-se para a frente,
pegar ou largar o ouro, escalar
Por que representação de
conhecimento e raciocínio?
4

1 2 3 4
Agente não percebe brisa, nem cheiro forte.
Por que representação de
conhecimento e raciocínio?
4

1 2 3 4
Agente percebe brisa em (1,2). O que podemos deduzir deste fato?
Por que representação de
conhecimento e raciocínio?
4

1 2 3 4
Existe pelo menos um poço em (1,3) ou em (2,2)
Por que representação de
conhecimento e raciocínio?
4

1 2 3 4
Agente volta e para em (2,1), onde percebe um cheiro forte.
O que podemos deduzir deste fato?
Por que representação de
conhecimento e raciocínio?
4

1 2 3 4
Não pode haver poço em (2,2), porque o agente não percebeu brisa em (2,1).
Não pode haver Wumpus em (2,2), porque o agente não percebeu cheiro em (1,2).
Por que representação de
conhecimento e raciocínio?
4
É possível representar
o conhecimento do
mundo usando lógica
3 e derivar conclusões a
cada passo usando
métodos de
2 inferência.

1 2 3 4
Não pode haver poço em (2,2), porque o agente não percebeu brisa em (2,1).
Não pode haver Wumpus em (2,2), porque o agente não percebeu cheiro em (1,2).
Exemplo de prova de teorema
– 𝑅1 : ¬𝑃1,1
– 𝑅2 : 𝐵1,1 ⇔ (𝑃1,2 ∨ 𝑃2,1 )
– 𝑅3 : 𝐵2,1 ⇔ (𝑃1,1 ∨ 𝑃2,2 ∨ 𝑃3,1 )
Premissas
– 𝑅4 : ¬𝐵1,1
– 𝑅5 : 𝐵2,1
– 𝑅6 : (𝐵1,1 ⇒ (𝑃1,2 ∨ 𝑃2,1 )) ∧ ((𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 ) (eliminação do bicondicional em 𝑅2 )
– 𝑅7 : (𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 (eliminação do E em R 6 )
– 𝑅8 : ¬𝐵1,1 ⇒ ¬(𝑃1,2 ∨ 𝑃2,1 ) (contraposição em 𝑅7 )
– 𝑅9 : ¬(𝑃1,2 ∨ 𝑃2,1 ) (Modus Ponens com 𝑅8 e 𝑅4 )
– 𝑅10 : ¬𝑃1,2 ∧¬𝑃2,1 (Regra de De Morgan em 𝑅9 )

– Conclusão: Não tem poços em (1,2) e (2,1)


Exemplo de prova de teorema
– 𝑅1 : ¬𝑃1,1
– 𝑅2 : 𝐵1,1 ⇔ (𝑃1,2 ∨ 𝑃2,1 )
– 𝑅3 : 𝐵2,1 ⇔ (𝑃1,1 ∨ 𝑃2,2 ∨ 𝑃3,1 )
Premissas
– 𝑅4 : ¬𝐵1,1
– 𝑅5 : 𝐵2,1
– 𝑅6 : (𝐵1,1 ⇒ (𝑃1,2 ∨ 𝑃2,1 )) ∧ ((𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 ) (eliminação do bicondicional em 𝑅2 )
– 𝑅7 : (𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 (eliminação do E em R 6 )
– 𝑅8 : ¬𝐵1,1 ⇒ ¬(𝑃1,2 ∨ 𝑃2,1 ) (contraposição em 𝑅7 )
– 𝑅9 : ¬(𝑃1,2 ∨ 𝑃2,1 ) (Modus Ponens com 𝑅8 e 𝑅4 )
– 𝑅10 : ¬𝑃1,2 ∧¬𝑃2,1 (Regra de De Morgan em 𝑅9 )

– Conclusão: Não tem poços em (1,2) e (2,1)


Exemplo de prova de teorema
– 𝑅1 : ¬𝑃1,1
– 𝑅2 : 𝐵1,1 ⇔ (𝑃1,2 ∨ 𝑃2,1 )
– 𝑅3 : 𝐵2,1 ⇔ (𝑃1,1 ∨ 𝑃2,2 ∨ 𝑃3,1 )
Premissas
– 𝑅4 : ¬𝐵1,1
– 𝑅5 : 𝐵2,1
– 𝑅6 : (𝐵1,1 ⇒ (𝑃1,2 ∨ 𝑃2,1 )) ∧ ((𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 ) (eliminação do bicondicional em 𝑅2 )
– 𝑅7 : (𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 (eliminação do E em R 6 )
– 𝑅8 : ¬𝐵1,1 ⇒ ¬(𝑃1,2 ∨ 𝑃2,1 ) (contraposição em 𝑅7 )
– 𝑅9 : ¬(𝑃1,2 ∨ 𝑃2,1 ) (Modus Ponens com 𝑅8 e 𝑅4 )
– 𝑅10 : ¬𝑃1,2 ∧¬𝑃2,1 (Regra de De Morgan em 𝑅9 )

– Conclusão: Não tem poços em (1,2) e (2,1)


Exemplo de prova de teorema
– 𝑅1 : ¬𝑃1,1
– 𝑅2 : 𝐵1,1 ⇔ (𝑃1,2 ∨ 𝑃2,1 )
– 𝑅3 : 𝐵2,1 ⇔ (𝑃1,1 ∨ 𝑃2,2 ∨ 𝑃3,1 )
Premissas
– 𝑅4 : ¬𝐵1,1
– 𝑅5 : 𝐵2,1
– 𝑅6 : (𝐵1,1 ⇒ (𝑃1,2 ∨ 𝑃2,1 )) ∧ ((𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 ) (eliminação do bicondicional em 𝑅2 )
– 𝑅7 : (𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 (eliminação do E em R 6 )
– 𝑅8 : ¬𝐵1,1 ⇒ ¬(𝑃1,2 ∨ 𝑃2,1 ) (contraposição em 𝑅7 )
– 𝑅9 : ¬(𝑃1,2 ∨ 𝑃2,1 ) (Modus Ponens com 𝑅8 e 𝑅4 )
– 𝑅10 : ¬𝑃1,2 ∧¬𝑃2,1 (Regra de De Morgan em 𝑅9 )

– Conclusão: Não tem poços em (1,2) e (2,1)


Exemplo de prova de teorema
– 𝑅1 : ¬𝑃1,1
– 𝑅2 : 𝐵1,1 ⇔ (𝑃1,2 ∨ 𝑃2,1 )
– 𝑅3 : 𝐵2,1 ⇔ (𝑃1,1 ∨ 𝑃2,2 ∨ 𝑃3,1 )
Premissas
– 𝑅4 : ¬𝐵1,1
– 𝑅5 : 𝐵2,1
– 𝑅6 : (𝐵1,1 ⇒ (𝑃1,2 ∨ 𝑃2,1 )) ∧ ((𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 ) (eliminação do bicondicional em 𝑅2 )
– 𝑅7 : (𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 (eliminação do E em R 6 )
– 𝑅8 : ¬𝐵1,1 ⇒ ¬(𝑃1,2 ∨ 𝑃2,1 ) (contraposição em 𝑅7 )
– 𝑅9 : ¬(𝑃1,2 ∨ 𝑃2,1 ) (Modus Ponens com 𝑅8 e 𝑅4 )
– 𝑅10 : ¬𝑃1,2 ∧¬𝑃2,1 (Regra de De Morgan em 𝑅9 )

– Conclusão: Não tem poços em (1,2) e (2,1)


Exemplo de prova de teorema
– 𝑅1 : ¬𝑃1,1
– 𝑅2 : 𝐵1,1 ⇔ (𝑃1,2 ∨ 𝑃2,1 )
– 𝑅3 : 𝐵2,1 ⇔ (𝑃1,1 ∨ 𝑃2,2 ∨ 𝑃3,1 )
Premissas
– 𝑅4 : ¬𝐵1,1
– 𝑅5 : 𝐵2,1
– 𝑅6 : (𝐵1,1 ⇒ (𝑃1,2 ∨ 𝑃2,1 )) ∧ ((𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 ) (eliminação do bicondicional em 𝑅2 )
– 𝑅7 : (𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 (eliminação do E em R 6 )
– 𝑅8 : ¬𝐵1,1 ⇒ ¬(𝑃1,2 ∨ 𝑃2,1 ) (contraposição em 𝑅7 )
– 𝑅9 : ¬(𝑃1,2 ∨ 𝑃2,1 ) (Modus Ponens com 𝑅8 e 𝑅4 )
– 𝑅10 : ¬𝑃1,2 ∧¬𝑃2,1 (Regra de De Morgan em 𝑅9 )

– Conclusão: Não tem poços em (1,2) e (2,1)


Exemplo de prova de teorema
– 𝑅1 : ¬𝑃1,1
– 𝑅2 : 𝐵1,1 ⇔ (𝑃1,2 ∨ 𝑃2,1 )
– 𝑅3 : 𝐵2,1 ⇔ (𝑃1,1 ∨ 𝑃2,2 ∨ 𝑃3,1 )
Premissas
– 𝑅4 : ¬𝐵1,1
– 𝑅5 : 𝐵2,1
– 𝑅6 : (𝐵1,1 ⇒ (𝑃1,2 ∨ 𝑃2,1 )) ∧ ((𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 ) (eliminação do bicondicional em 𝑅2 )
– 𝑅7 : (𝑃1,2 ∨ 𝑃2,1 ) ⇒ 𝐵1,1 (eliminação do E em R 6 )
– 𝑅8 : ¬𝐵1,1 ⇒ ¬(𝑃1,2 ∨ 𝑃2,1 ) (contraposição em 𝑅7 )
– 𝑅9 : ¬(𝑃1,2 ∨ 𝑃2,1 ) (Modus Ponens com 𝑅8 e 𝑅4 )
– 𝑅10 : ¬𝑃1,2 ∧¬𝑃2,1 (Regra de De Morgan em 𝑅9 )

– Conclusão: Não tem poços em (1,2) e (2,1)


Por que representação de
conhecimento e raciocínio?
• Hipótese da representação de conhecimento
(Smith,1982)
– Qualquer processo inteligente mecanicamente
corporificado será composto de ingredientes estruturais
que:
• observadores externos julgarão como representando
o conteúdo proposicional do conhecimento que todo o
processo exibe.
• serão fundamentais para articular o comportamento
que manifesta este conhecimento
Por que representação de
conhecimento e raciocínio?
• Segundo (Brachman & Levesque, 2004).
– O desenvolvimento de sistemas que exibam processos
inteligentes é ancorado em representações simbólicas
– Estes sistemas são chamados de sistemas baseados
em conhecimento e o conjunto de suas representações
simbólicas é chamada base de conhecimento
• Cada representação individual em uma base de
conhecimento é uma sentença de uma linguagem
de representação de conhecimento (Russell &
Norvig,2009).
– Linguagens de representação moderna geralmente são
baseadas em lógica.
Sistemas baseados em conhecimento
e sistemas especialistas

24
Sistemas baseados em conhecimento
e sistemas especialistas
• Sistemas baseados em conhecimento:
– Representam explicitamente o conhecimento de uma área
– Manipulam este conhecimento através de mecanismos de
inferência para resolver problemas.
– Tecnologia prática, baseada nos desenvolvimentos teóricos da
área de representação de conhecimento e raciocínio.
Sistemas baseados em conhecimento
e sistemas especialistas
• Sistemas baseados em conhecimento:
– Representam explicitamente o conhecimento de uma área
– Manipulam este conhecimento através de mecanismos de
inferência para resolver problemas.
– Tecnologia prática, baseada nos desenvolvimentos teóricos da
área de representação de conhecimento e raciocínio.
• Sistemas especialistas:
– Tipo específico de sistema baseado em conhecimento.
– Sistema que simula a performance de um especialista humano
em um dado domínio específico.
– Incorpora conhecimento altamente especializado de um ou mais
especialistas em um dado domínio e tarefa.
• Geralmente representado como heurísticas na forma de
regras.
Sistemas baseados em conhecimento
e sistemas especialistas
Principais componentes

Mecanismo de
Algoritmos independentes de domínio
inferência
Base de
Conteúdo dependente de domínio
conhecimento
Sistemas baseados em conhecimento
e sistemas especialistas
Principais componentes

Mecanismo de
Algoritmos independentes de domínio
inferência
Base de
Conteúdo dependente de domínio
conhecimento

Conjunto de sentenças
declarativas que
descrevem o mundo em
uma linguagem formal.
Sistemas baseados em conhecimento
e sistemas especialistas
Principais componentes

Mecanismo de
Algoritmos independentes de domínio
inferência
Base de
Conteúdo dependente de domínio
conhecimento
“A grama é verde”.
Conjunto de sentenças
“A Lua é cúbica”.
declarativas que “Que dia é hoje?”
descrevem o mundo em “Olá!”
uma linguagem formal.
Sistemas baseados em conhecimento
e sistemas especialistas
Principais componentes

Mecanismo de
Algoritmos independentes de domínio
inferência
Base de
Conteúdo dependente de domínio
conhecimento
“A grama é verde”.
Conjunto de sentenças
“A Lua é cúbica”.
declarativas que “Que dia é hoje?”
descrevem o mundo em “Olá!”
uma linguagem formal.
Sistemas baseados em conhecimento
e sistemas especialistas
Principais componentes

Mecanismo de
Algoritmos independentes de domínio
inferência
Base de
Conteúdo dependente de domínio
conhecimento
“A grama é verde”.
Conjunto de sentenças
“A Lua é cúbica”.
declarativas que “Que dia é hoje?”
descrevem o mundo em “Olá!”
uma linguagem formal.

• Abordagem declarativa para construção de agentes:


– Tell: Informa o que o agente precisa saber.
– Ask: Pergunta à base de conhecimento que ação deve executar.
• Resposta deve “seguir” do que o agente sabe.
Sistemas baseados em conhecimento
e sistemas especialistas
Arquitetura típica

Base de
conhecimento

Engenheiro de Mecanismo de
conhecimento inferência Usuários

Editor da base Interface do


de conhecimento usuário
Mecanismo de
explicação
Sistemas baseados em conhecimento
• Vantagens:
Sistemas baseados em conhecimento
• Vantagens:
– Separa o conhecimento dos procedimentos que o manipulam.
• Facilita a manutenção
• Permite uma maior divisão de tarefas
– Oferece explicações para as conclusões alcançadas.
• Isso é um grande diferencial em domínios críticos.
– Aumenta a disponibilidade de conhecimento especialista (no caso de sistemas
especialistas).
• Torna o conhecimento independente da pessoa.
– Incentiva a estruturação e explicitação do conhecimento.
• O processo de construção do sistema pode em si já trazer benefícios para a
organização e os envolvidos.
– É possível usar o conhecimento já representado para desenvolver novos sistemas,
que resolvem outras tarefas.
• Ex: “dois objetos produzem ruído quando colidem”
• Podemos gerar ou evitar ruído, ou criar hipótese para o que causa ruído.
– É possível estender o comportamento do sistema simplesmente adicionando novo
conhecimento.
Sistemas baseados em conhecimento
• Quando não usar:
Sistemas baseados em conhecimento
• Quando não usar:
– Algoritmos convencionais são conhecidos e eficientes para o
problema.
– O principal desafio é a computação e não o conhecimento.
– Conhecimento não é facilmente capturado.
• Muito conhecimento tácito.
– Situações em que usuários estejam relutantes em adotar
sistemas baseados em conhecimento.
– Tarefas de regressão ou classificação em que dados estão
amplamente disponíveis e suportam as decisões.
• Aprendizado de máquina pode ser uma alternativa melhor.
Sistemas especialistas famosos

• DENDRAL
– Identificação de constituintes químicos
• MYCIN
– Diagnóstico de doenças
• PROSPECTOR
– Análise de dados geológicos
– Descobriu um depósito mineral de $100 milhões
• …
Engenharia de Conhecimento

38
Engenharia de Conhecimento

• Engenharia de software para sistemas


baseados em conhecimento
• Transforma o processo ad hoc de construir
sistemas baseados em conhecimento em
uma disciplina da engenharia
– Métodos
– Linguagens
– Ferramentas
46
No Moodle: Engenharia de ConhecimentoArtigo2008
Engenharia de Conhecimento

Mudança de paradigma
Paradigma de Paradigma de
transferência modelagem

47
Paradigma de transferência

• Típico do início dos anos 80.


• Diferentes tipos de conhecimento eram misturados na mesma
base e a depuração e manutenção eram complicadas.
• Objetivo: era visto como sendo a transferência do
conhecimento de um ser humano para um sistema.
• Suposição: conhecimento estava estruturado, pronto para
aquisição, disponível para o especialista, e possível de ser
transferido diretamente.
– O papel do conhecimento tácito e as dificuldades envolvidas não era
devidamente reconhecido.

48
Paradigma de modelagem

• É o paradigma moderno
• Assume que construir um KBS é uma atividade de modelagem.
• Construir um KBS é desenvolver um modelo computacional
cujo objetivo é viabilizar que o computador exiba capacidade de
resolução de problemas comparáveis ao do especialista
humano.
• O objetivo não é desenvolver um modelo cognitivo adequado,
ou simular o processo cognitivo do expert, mas elaborar um
modelo que atinja resultados semelhantes.

49
Paradigma de modelagem

• Reconhece que enquanto o expert é capaz de articular parte do


seu conhecimento, ele não está consciente de boa parte do seu
conhecimento tácito.
– Por isso, não é possível uma transferência direta.

• Reconhece que o modelo é uma aproximação, em termos de


objetivo.
• A modelagem é um processo cíclico. Novas observações
podem levar a refinamentos, modificações, etc, e guiar novos
processos de aquisição de conhecimento.
• Reconhece que o engenheiro de conhecimento é um mediador
que interfere e que faz avaliações subjetivas.
– O processo é falho.
50
– Uma etapa de avaliação do modelo é necessária.
Modeling view of knowledge
acquisition
“the primary concern of knowledge
engineering is modeling systems in the
world, not replicating how people think”.
Clancy (1993)

51
No Moodle: Knowledge Engineering: Principles and Methods
Nível de Conhecimento de Newell

Walter Van de Velde

52
Nível de Conhecimento de Newell
Comportamento Agente Observador Nível do
Conhecimento

Racionalizar

Mecaniza

Ambiente Nível
Simbólico

Nível da
Implementação

No Moodle: Issues in KL Modelling 53


Princípio da Racionalidade
Descrição de um agente
– O agente possui conhecimento

– Um desses conhecimentos é o objetivo do agente

– O agente pode realizar um conjunto de ações

– O agente escolhe suas ações utilizando o princípio da


racionalidade

• O agente irá selecionar a próxima ação de acordo com


seu conhecimento de que essa ação levará ao objetivo

54
Principal contribuição das idéias de
Newell

Permite definir e compreender o


comportamento do sistema sem que seja
necessário saber como implementar
concretamente o comportamento do agente

55
Principal contribuição das idéias de
Newell

Permite definir e compreender o


comportamento do sistema sem que seja
necessário saber como implementar
concretamente o comportamento do agente
Separação das tarefas de aquisição e
modelagem daquelas que se referem ao
desenvolvimento do sistema!

56
Abordagem de Modelagem

• Modelos formais
• Conceitos representados explicitamente
• Métodos de solução representados
explicitamente e de modo abstrato
• Compartilhamento de conceitos e métodos
• Reuso do modelo

57
Componentes do Modelo

Conhecimento

Objetivos Ações

58
Componentes do Modelo
O que o agente sabe.

Conhecimento

Objetivos Ações
O que o agente deseja. O que o agente pode fazer
O problema a ser resolvido. para atingir o objetivo,
sabendo o que sabe
59
Modelo de perícia (CommonKADS)

• Modelo de domínio
• Modelo de inferência
– Método de resolução de problemas
• Modelo de tarefa

60
Modelos de Domínio

• Especificação formal do conhecimento


envolvido na solução de problemas
Conhecimento

– Especifica: conceitos, propriedades, relações e


restrições típicas do domínio.
– Formal: processável por computador
– Métodos de solução do problema também
modelados de modo abstrato

61
Modelo da Tarefa

• Definem a relação entre os conceitos do


domínios necessários à aplicação e os
Objetivos

métodos de solução de problema abstratos


necessários para obter a solução.
• Realizam a instanciação dos métodos de
solução de problemas

62
Métodos de Solução de Problemas

• Modela o componente dinâmico do conhecimento


• Modelo abstrato aplicável àquela classe de
problemas, que pode se apresentar em mais de um
domínio.
Ações

• Generalização de um padrão de raciocínio


específico, mas não é um raciocínio genérico
• ( NÃO correspondem aos métodos de inferência por
busca, como raciocínio progressivo ou regressivo)

63
Métodos de Solução de Problemas
Classificação heurística

64
Métodos de Solução de Problemas
Classificação heurística

• Dado observável no domínio medico: 41 graus C“ pode ser


abstraído para “temperature alta“ pela ação de inferência abstract.
• Esse observável abstrato pode ter matching com uma solução
esperada. Por exemplo: infecção
• Finalmente, a solução pode ser refinada para uma doença
65
específica. Por exemplo: influenza.
Modelo de perícia

66
Desenvolvimento de sistemas
baseados em conhecimento
• Definição de escopo
• Análise de viabilidade
• Processo cíclico:
– Aquisição de conhecimento
– Desenvolvimento de modelos
– Implementação de modelos
– Validação

67
Exercício

• Organizem as idéias que Van Velde


apresenta nas primeiras 3 seções do artigo
Issues in Knowledge Level, disponível no
diretório Engenharia de Conhecimento do
Moodle, através de um mapa conceitual.
• Enviar pelo moodle

69

Você também pode gostar