Inteligência Artificial
Prof. Paulo Martins Engel
Representação de conhecimento
Nível do conhecimento e nível simbólico
Informática
UFRGS Prof. Paulo Martins Engel
2
Representação do conhecimento
• As técnicas de IA fraca para resolução de problemas se concentram na “representação de problemas”.
• As técnicas de IA forte para resolução de problemas se concentram na “representação de conhecimento”.
• A abordagem dos Sistemas Baseados em Conhecimento supõe que, se for dado o conhecimento de domínio apropriado e mecanismos para realizar raciocínio sobre este conhecimento, então um SBC é capaz de igualar ou mesmo superar o desempenho de especialistas humanos em tarefas restritas. • Nas décadas de 70 e 80, vários sistemas especialistas obtiveram sucesso: • DENDRAL: infere a estrutura das moléculas orgânicas a partir de suas
fórmulas químicas e de informações de espectrografia de massa das ligações químicas, usando conhecimento heurístico de especialistas em química. • MYCIN: utiliza conhecimento de especialistas médicos para diagnosticar e
prescrever tratamento para meningite espinhal e infecções bacterianas do sangue. Tratava raciocínio com informações incertas ou incompletas.
Informática
UFRGS Prof. Paulo Martins Engel
3
Representação do conhecimento
• Para a solução de problemas complexos encontrados na IA é preciso uma grande quantidade de conhecimento e alguns mecanismos para a
manipulação deste conhecimento, a fim de criar soluções para novos problemas.
• O tipo de conhecimento útil para a solução de problemas é aquele que está associado às descrições, heurísticas e procedimentos que um especialista no domínio utiliza para a solução de problemas.
• Este conhecimento do domínio, se bem representado computacionalmente, pode ser manipulado adequadamente, contrastando com o conhecimento profundo, que normalmente está baseado numa descrição teórica de difícil trato computacional.
• Como exemplo, a descrição funcional de uma porta lógica através de uma tabela verdade equivaleria ao conhecimento do domínio, enquanto que a descrição do comportamento dos seus valores contínuos desde as suas entradas até as saídas através das equações de corrente representaria o conhecimento teórico do funcionamento deste componente.
Conhecimento
• Segundo [Hayes-Roth; Waterman; Lenat, 1983]
“consiste em
(1) descrições simbólicas que caracterizam os relacionamentos empíricos e definicionais em um domínio e
(2) os procedimentos para manipulação dessas descrições.”
• Conhecimento inclui a informação sobre o domínio e a
forma como essa informação é utilizada para resolver
problemas.
Ex.: Maria tem mais de 18 anos. Maiores de 18 anos são
responsáveis legais por seus atos. Maria será cobrada pelos danos.
Informação
• Reconhecimento dos objetos do domínio,
suas características, suas restrições e seus
relacionamentos com os outros objetos, sem
ater-se à utilidade dessa informação. É o
dado com o seu significado associado.
Ex.: Idade de Maria = 20 anos
Dado
• Representação simbólica de um objeto ou
informação do domínio sem considerações
de contexto, significado ou aplicação.
Ex.: 20 anos
Domínio
:
• Qualquer conjunto relativamente circunscrito
de atividades.
Representação de Conhecimento
• Combinação de estruturas de dados e
procedimentos de interpretação que, se
utilizados do modo certo por um programa,
irão levar um sistema a apresentar um
comportamento inteligente.
Representação
< >
Conhecimento
Evolução
• Paradigma de transferência
– Especialista detém o conhecimento que deve ser
extraído e colocado no sistema.
• Paradigma de modelagem
– Organização detém o conhecimento
– Conhecimento existente nas pessoas, arquivos,
sistemas deve ser extraído e modelado em um
formato computacional
Nível de Conhecimento de
Newell
Nível do Conhecimento Nível Simbólico Racionalizar Implementar Observador Ambiente Agente ComportamentoModelagem do Conhecimento
Nível do Conhecimento
• Visão HUMANA
• Modela o conhecimento
segundo a forma de
solução de problemas do
agente
• Uma aproximação do
especialista
• Foco na semântica
Nível Simbólico
• Visão da MÁQUINA
• Modela o conhecimento
de forma que possa ser
processável por
computador
• Uma aproximação da
máquina
11
Modelagem Conceitual
Guizzardi, Giancarlo. Ontological foundations for Structural Conceptual Models. CTIT, Enschede, Netherlands, 2005
Guarino, N. Formal ontology, conceptual analysis and
knowledge representation. Int.Journal Human-Computer
Studies:43, 625-640, 1995.
.
12
Modelagem Conceitual
Atividade de descrever
formalmente
o
mundo físico e social com o propósito de
compreensão
e
comunicação
.
• É voltado para pessoas e não para máquinas.
• Oferece suporte para lidarmos com tarefas do dia a
dia, oferecendo modelos que capturem parte da
realidade, ou seja, o domínio do discurso.
– Por exemplo: um sistema de atendimento médico vai ser referir a pacientes, doenças, tratamentos, médicos, planos de assistência, etc.
13
Representações de porções
da realidade são úteis para
– Compreender e aprender
– comunicar-se
– raciocinar e resolver
problemas
Guizzardi, Giancarlo. Ontological foundations for Structural Conceptual Models. CTIT, Enschede, Netherlands, 2005. 14
Modelos e Ontologias
Extensional A sobre B B sobre MesaRelações definidas sobre um domínio específico
<D, R>
R : função das relações relevantes em D
Intensional
O quê significa “sobre” em qualquer mundo possível?
Relações definidas sobre um espaço de
domínio.
<D, W>
W : conjunto dos mundos possíveis R : função total de todas a relações em
D.
B
A
C
Mundo dos Blocos
B
A
C
B
A
C
B A C
B
A C
15
Abstração
Construída em termos de• Conceitualizações: conjunto de conceitos que suportam as atividades do domínio;
• Modelo: abstração de uma porção da realidade, articulada de acordo com uma conceitualização particular
• Especificação do modelo: representação do modelo
através de algum formalismo para que seja documentado e comunicado, um modelo deve ser capturado em uma
representação
• Linguagem de especificação : formalismos que definem o significado dos símbolos que representam um modelo
Conceitualizações e modelos são entidades abstratas que só existem na mente dos usuários de uma linguagem.
Entidades abstratas Representações 16 Conceitualização Modelo Linguagem Especificação do Modelo Representada por Interpretada como Representado por Interpretado como Instância de Usado para
compor
Instância de Usado para compor
Guizzardi, 2005
Mundo mental
Ontologias
Termo do domínio da Filosofia
A disciplina filosófica preocupada com o estudo
do ser.
Sistematiza conjuntos de categorias das coisas
que existem.
Um conjunto de categorias que sistematiza as
coisas fundamentais que existem.
Ontologias
Na Ciência da Computação
“Uma especificação formal e explícita de uma
conceitualização compartilhada” (Gruber)
Um artefato de engenharia (processável por
computador) que representa a conceitualização
que uma dada comunidade tem de uma dada
porção da realidade (domínio).
Envolve a representação de Conceitos,
relações, atributos que usamos para
Ontologias
Na Ciência da Computação
Do ponto de vista de sistemas: “O que existe do
mundo é o que pode ser representado
computacionalmente”.
Ontologias definem o que existe para o sistema
De um modo que reflita a conceitualização
humana.
Ontologias
Ontologias
Conceitualização?
Mesma conceitualização abstrai diferentes
estados de coisas do mundo.
Bloco, está abaixo de, está acima de, etc
Ontologias
Para que servem?
Permitir que tanto pessoas quanto agentes de
software compartilhem uma compreensão comum
da estrutura da informação de um domínio.
Permitir o reuso do conhecimento de domínio
Tornar as suposições do domínio explícitas
Separar o conhecimento declarativo do domínio do
conhecimento operacional/procedural (utilizado para
manipular o conhecimento declarativo)
23
Triangulo de Ullmann
Conceito
Conceitualização
Símbolo
Linguagem
Objeto
Realidade
abstrai representa refere-se aCompromisso
Ontológico!
Níveis de Abstração
Existência
Conceitualização
Representação
S laj sjfei oru as fdj dfd sjf Flsd jf;lwejr; ewou jrad sfjsd j Kdflas jdfl;w ejr; ds ajflsj d Lsdjflaewj;r a; ewj;fljd s Sdfkasdl;fksad kf Dskf as kd fá;k fas S dk fak ds fa ksdf; ka sdfs d;f k25
L1
Maçã
Apple
L2
Mesma Conceitualização!L1
Jaguar
Jaguar
L2
Diferentes Conceitualizações!Conceitualização X Linguagens
Construção de Modelos
• Representação de ontologias devem seguir a
Máxima Conversacional :
– A mensagem deve ser relevante,
completa, clara, não-ambígua, breve, sem
excesso de informação e verdadeira do
ponto de vista do conhecimento do
emissor
27
Engenharia de Ontologias
Ontologia como Modelo Conceitual Ontologia como Implementação1 (SHOIN/OWL-DL, DLRUS) Ontologia como Implementação2 (CASL) Ontologia como Implementação3 (Alloy, F-Logic…) PROJETOPrimitivas de Modelagem das
Linguagens
• Conceito, classe ou objeto
• Propriedades ou atributos
• Espaço de domínio de propriedades
• Relações estruturantes (IS-A, Sub-class)
• Outras relações
• Axiomas
Qual a semântica associada
a essas primitivas?
Informática
UFRGS Prof. Paulo Martins Engel
29
Sistemas baseados em conhecimento
• A maioria dos sistemas de IA baseados em conhecimento (SBC) se compõe de uma base de conhecimento (BC) e uma lógica de controle, responsável pelo mecanismo de raciocínio.
• A separação do conhecimento do domínio do mecanismo de manipulá-lo permite que sejam implementadas diferentes tarefas com o mesmo conhecimento.
Base de conhecimento Mecanismo de raciocínio
SBC
Entradas: fatos, evidências Saídas: ações, hipóteses, etc. InformáticaUFRGS Prof. Paulo Martins Engel
30
Formas de representação do conhecimento
• Usualmente, um SBC utiliza as seguintes formas de representação do conhecimento: – Regras de produção – Lógica – Redes semânticas – Frames – Procedimentos
• Além dessas formas de representação explícita do conhecimento, um sistema inteligente pode se valer de outras formas de representar e manipular conhecimento, como:
– Redes neurais artificiais – Raciocínio baseado em casos
Informática
UFRGS Prof. Paulo Martins Engel
31
Categorias de problemas para SBC
• Interpretação: formar conclusões de alto nível de coleções de dados brutos. • Predição: projetar conseqüências prováveis de situações disponíveis. • Diagnóstico: determinar a causa de mau funcionamento em situações
complexas com base em sintomas observáveis.
• Projeto: encontrar uma configuração de componentes do sistema que alcance os objetivos de desempenho, satisfazendo restrições de projeto.
• Planejamento: estabelecer uma seqüência de ações que alcançarão um conjunto de objetivos, dadas certas condições iniciais e restrições de tempo de execução.
• Monitoramento: comparar o comportamento observado de um sistema com o seu comportamento esperado.
• Instrução: dar assistência ao processo de educação em domínios técnicos. • Controle: governar o comportamento de um ambiente complexo.
Informática
UFRGS Prof. Paulo Martins Engel
32
Representação do Domínio
• O processo de engenharia de conhecimento se preocupara em representar o domínio através dos seus conceitos gerais: objetos, ações, crenças, tempo, formando uma ontologia do domínio.
• A organização de objetos em categorias é muito importante, porque grande parte do raciocínio ocorre no nível de categorias.
• Por exemplo, um consumidor talvez esteja interessado em comprar uma bola de futebol e não uma determinada bola de futebol, como a BF9.
• As categorias permitem fazer previsões sobre objetos, p. ex: se um
determinado objeto é identificado como uma fruta, então ele é comestível. • A Lógica de Primeira Ordem (LPO) é uma ferramenta adequada para
formalizar conhecimento de domínio, entretanto, com ela é difícil tratar exceções.
• A representação de conhecimento por regras de produção (RP) é mais modular e flexível, mas tem pouca estrutura.