Post on 21-Jan-2016
description
Engenharia do Conhecimento
Ernesto TrajanoJacques Robin
CIn-UFPE
Roteiro
O que é? Tipologia do conhecimento e do seu
processamento Exemplo de metodologia: CommonKADS Processo simple para desenvolvimento de agente
baseado em conhecimento Engenharia do conhecimento x de software Tópicos avançados
O que é engenharia de conhecimento ?
Engenharia de agentes baseados em baseados em conhecimentoconhecimento Metodologias Processos Base de conhecimento e meta-conhecimento reutilizáveis
Principalmente define como adquirir, analisar, validar e manter uma base de conhecimento (BC)
Também pode definir mecanismos de inferência a serem utilizados com esta base
Engenharia do conhecimento para agentes artificiais
Ask
Tell
Retract
Am
bie
nte
Sensores
Atuadores
Base deConhecimentoEspecializada
Máquina deInferênciaGenérica
Aquisição e Representação Conhecimento
Raciocínio Automátic
o
Engenharia do conhecimentopara agentes humanos
Extrair, documentar e gerenciar o conhecimento estratégico das organizações.
Sistemas colaborativos. Repositórios de “expertise” (perícia).
Multi-disciplinaridade
Problemas
Informações e conhecimentos complexos são de difícil compreensão
Especialistas não são unânimes, nem precisos Variedade de representações:
texto gráficos, imagens heurísticas, regras
Perspectivas
Transferência de conhecimento: transferência do que está da cabeça do especialista para
a base de conhecimento. assume que o conhecimento já existe e que ele precisa
apenas ser coletado. hipótese não é correta: conhecimento implícito. A máquina resolve como o especialista.
Modelagem do conhecimento: construção de modelos do problema Conseqüências:
modelo -> aproximação da realidade processo cíclico modelo pode estar sujeito a interpretações subjetivas, o que
pode levar a erros. A máquina resolve tão bem quanto o especialista.
Engenharia de uma base de conhecimento
Elicitação do conhecimento
Formalização do conhecimento
Implementação do conhecimento
Nível do conhecimento:• Nos termos do especialista do domínio de aplicação• Linguagem natural, Notações gráficas ad-hoc
Nível semi-formal:• Notação textual estruturada padrão (XML) • Notação gráfica padrão (UML)• Validação com especialista
Nível formal:• Notação sem ambigüidade com semântica definida matematicamente (Lógica, Probabilidades)• Verificação de consistência
Nível da implementação:• Codificação em uma linguagem de programação• Teste de protótipo
Engenharia de uma base de conhecimento
Elicitação do conhecimento
Formalização do conhecimento
Implementação do conhecimento
Nível do conhecimento:• Nos termos do especialista do domínio de aplicação• Linguagem natural, Notações gráficas ad-hoc
Nível semi-formal:• Notação textual estruturada padrão (XML) • Notação gráfica padrão (UML)• Validação com especialista
Nível formal:• Notação sem ambigüidade com semântica definida matematicamente (Lógica, Probabilidades)• Verificação de consistência
Nível da implementação:• Codificação em uma linguagem de programação• Teste de protótipo
Engenharia de uma base de conhecimento
Elicitação do conhecimento
Formalização do conhecimento
Implementação do conhecimento
Nível do conhecimentoNível do conhecimento:• Nos termos do especialista do domínio de aplicação• Linguagem natural, Notações gráficas ad-hoc
Nível semi-formal:• Notação textual estruturada padrão (XML) • Notação gráfica padrão (UML)• Validação com especialista
Nível formal:• Notação sem ambigüidade com semântica definida matematicamente (Lógica, Probabilidades)• Verificação de consistência
Nível da implementação:• Codificação em uma linguagem de programação• Teste de protótipo
• Entrevistas estruturadas com especialista• Preparação de dados
• Ontologias • Linguagens semi-formais derepresentação do conhecimento
• Linguagens formais derepresentação do conhecimento• Aprendizagem de Máquina
• Compiladores• Máquinas de inferências• Aprendizagem de Máquina
Tipologia do conhecimento
Tipos de conhecimento: léxico estrutural meta-conhecimento:
PSM qualitativo
Conhecimento léxico
Conceitos mínimos: não podem ser decompostos termos atômicos, símbolos terminais, etc.
Exemplos: domínio é a medicina meningite cirurgia bactéria
Conhecimento estrutural
Alguns conceitos podem depender de outros: para definir o tratamento de uma infecção é necessário
saber que bactéria a está causando
Formas de estruturação: regras, hierarquias (relações is-a), etc. sub-tipo(cirurgia, neurocirurgia).
Meta-conhecimento comportamental: PSM
A partir de um estado E, certas ações (operações), levam ao objetivo O.
Operadores: podem ser generalizados em PSM, i.e., métodos/estratégias de resolução de problemas (problem solving methods).
Espécie de “padrão de projeto” para o processo de inferência.
Controla a execução de uma BC. Especifica:
inferências (ações) seqüência das inferências (seqüência de ações) conhecimento necessário em cada passo do processo
Em geral, estão organizados em bibliotecas.
Exemplo de PSM
Classificação heurística
observações soluções
abstrair refinar
abstrações deobservações
abstrações desoluções
casamentoheurístico
Meta-conhecimento qualitativo
Descreve alguma maneira de gerar um julgamento de valor sobre uma BC.
Exemplos: portabilidade, custo de desenvolvimento, custo de manutenção, segurança, privacidade, detecção de "anomalias", etc.
Tipos de processamento
Atividades de processamento do conhecimento: Aquisição: como o
conhecimento é adquirido
Formalização do conhecimento adquirido
Operacionalização: como o conhecimento pode ser implementado
Manutenção: como o conhecimento pode ser mantido (coerência, refino, relevância, etc.)
BC
AQUISIÇÃO
FORMALIZAÇÃO
IMPLEMENTAÇÃO
MANUTENÇÃO
Aquisição de conhecimento
Três formas de aquisição: manual semi-automática automática
Aquisição manual
Brainstorming Entrevistas:
estruturadas ou não estruturadas
Self report Outros:
Observação e análise do domínio, leitura de documentos, etc.
especialista
Base de conhecimento
Engenheiro de conhecimento
documentação
codificação
explicitação
Aquisição manual
Problemas: toma muito tempo requer a presença do especialista conhecimento possui muitas formas: teórico, procedural,
etc. com vários especialistas o problema tende a ser maior gerenciamento é complicado
Quando usar? identificação do conhecimento: brainstorming, entrevistas
não estruturadas especificação do conhecimento: self report refino do conhecimento: entrevista estruturada
Aquisição semi-automática
Uso de ferramentas apóio à atividade de aquisição: editor, navegador, visualização da documentação, etc.
especialista Ferramentas interativas de entrevista
Base de conhecimento
Engenheiro de conhecimento
Aquisição Automática
Aprendizagem de Máquina (Machine Learning)
Algoritmos de aprendizagem automática “induzem”as regras a partir de exemplos do domínio.
Aqui não há aquisição por parte do Engenheiro de Conhecimento
Isto não quer dizer o trabalho será menor!! É apenas de outro tipo
Casos e exemplos Indução automática Regras
CommonKADS
Coleção de métodos estruturados para a construção de sistemas baseados em conhecimento
Pesquisa colaborativa na União Européia (+15 anos) Utiliza diagramas baseados em UML
Diagrama de classes Diagrama de estados Diagrama de atividades
Possui seis modelos Modelo organizacional Modelo de tarefas Modelo de agentes Modelo de comunicação Modelo de “expertises” Modelo de projeto
Modelo organizacional
Descrição e análise da organização como um todo Representa diversos aspectos de uma
organização Contexto de negócio, metas, estratégia estrutura interna
função estrutura processos autoridade recursos (sistemas de apóio, equipamentos, ...)
Cada aspecto é modelado por um diagrama ou por uma descrição em linguagem natural
Possível problema: pode ser difícil definir o escopo do que é a "organização".
Modelo organizacional
Modelo de tarefas
Alguns processos identificados no modelo organizacional podem ser passíveis de automação.
Modelo de tarefas especifica estes processos em termos de: elementos internos:
fluxo de dados controle sub-tarefas restrições: pré e pós-condições
elementos externos: objetivo e importância agentes envolvidos conhecimento necessário outras competências recursos qualidade e “performance”
Modelo de agentes
Mudança de perspectiva: antes, perspectiva do processo ou tarefa; agora, perspectiva dos agentes individuais
Nome agente imobiliário governamental
Organização departamento de habitação
Envolvido em verifica formulários e atribui residências
Comunica-se com banco de dados
Conhecimento critérios julgamento, regras de atribuição e de urgência
Outras competências lida com casos problemáticos e não convencionais
Responsabilidades e restrições
certifica-se que as pessoas são tratadas igualmente (sem favorecimentos). Já foi um problema no passado
Modelo de comunicação
Especifica tipo de informação que é trocada entre os agentes como esta informação é trocada
Controle de alto nível sobre a execução de uma tarefa
Três níveis de modelagem: plano geral de comunicação transações individuais entre duas tarefas executadas por
diferentes agentes especificação dos detalhes da estrutura interna da
mensagem de uma transação
Problemas semelhantes aos de comunicação em sistemas multiagente.
Modelo de comunicação
Task A2
Task A3
Task A4
Task B2
Task A5
Agent A(e.g. user)
Task B3
Agent B(e.g. system)
Task B4
Task A1
Dialogue
TransactionTr. 1
TransactionTr. 2
TransactionTr. 3
Task B1
TransactionTr. 4
Modelo de “expertise”
Modelo do "expertise" (perícia) necessário para realizar uma determinada tarefa.
Na verdade é um conjunto de modelos Dividido em três componentes:
conhecimento declarativo: conhecimento do domínio. Quatro tipos:
conceitos: classes de objetos propriedades: atributos dos conceitos expressões: "a propriedade do conceito é valor" relações: ligações entre elementos do domínio
conhecimento procedural (inferência): modela o conhecimento sobre a inferência que deve ser feita para se resolver um problema
conhecimento da tarefa: especifica tarefas (sub-tarefas) e objetivos a serem alcançados. Representada por um gráfico hierárquico
Modelo de projeto
Três estágios: projeto da aplicação : decomposição do modelo de
"expertise" em componentes. Decomposição pode ser funcional, OO ou orientada a algum paradigma da IA
projeto da arquitetura : decidir que técnicas e representações de IA são as mais adequadas para a implementação dos componentes
projeto da plataforma: decidir como implementar (linguagem) e em que hardware
CommonKADS
Vantagem: grande quantidade de modelos favorece uma boa
compreensão do processo de engenharia como um todo
Desvantagens: que modelos são essenciais? os modelos não são formais
Um Exemplo: Circuitos Digitais
Estabelecer o objetivo: determinar se o circuito está de acordo com sua
especificação (o circuito acima é um somador) responder a perguntas sobre o valor da corrente em
qualquer ponto do circuito
Decida sobre o que falar Para alcançar o objetivo, é relevante falar sobre
circuitos, terminais, sinais nos terminais, conexões entre terminais
Para determinar quais serão esses sinais, precisamos saber sobre: portas e tipos de portas: AND, OR, XOR e NOT
Não é relevante falar sobre: fios, caminhos dos fios, cor e tamanho dos fios, etc.
Decida qual vocabulário usar
Nomear os objetos e relações do domínio com funções, predicados e constantes constantes
distinguir as portas : X1, X2... distinguir os tipos de porta: AND, OR, XOR...
funções e predicados tipo de uma porta:
Tipo(X1) = XOR, Tipo(X1, XOR), XOR(X1)
indicar entradas e saídas:Out(1, X1), In(1, X2)
indicar conectividade entre portas:Conectado(Out(1, X1), In(1, X2))
Codifique regras genéricas
(1) (1) Dois terminais conectados têm o mesmo sinal:t1, t2 Conectado(t1, t2) Sinal(t1) = Sinal(t2)
(2) O sinal de um terminal é On ou Off (nunca ambos)
t Sinal(t) = On Sinal(t) = Off, On Off
(3) Conectado é um predicado comutativo t1,t 2 Conectado(t1, t2) Conectado(t2, t1)
(4) Uma porta OR está On sse qualquer das suas entradas está On:
g Tipo(g) = OR Sinal(Out(1,g)) = On n Sinal(In(n,g))=On
(5) etc...
Codifique a instância específica
Portas:
Tipo(X1) = XOR Tipo(X2) = XORTipo(A1) = AND Tipo(A2) = ANDTipo(O1) = OR
Conexões:
Conectado(Out(1,X1),In(1,X2))Conectado(Out(1,X1),In(2,A2))Conectado(Out(1,A2),In(1,O1)) . . .
Proponha questões ao Procedimento de Inferência
Que entradas causam Out(1,C1) = Off e Out(2, C1) = On?
i1, i2, i3, o1, o2 Sinal(In(1,C1)) = i1 Sinal(In(2,C1)) = i2 Sinal(In(3,C1)) = i3 Sinal(Out(1,C1)) = o1 Sinal(Out(2,C1) = o2.
Resposta:(i1 = On i2 = On i3 = Off) (i1 = On i2 = Off i3 = On) (i1 = Off i2 = On i3 = On)
Proponha questões ao Procedimento de Inferência
Quais são os conjuntos de valores possíveis para todos os terminais do circuito? i1, i2, i3 Sinal(In(1,C1)) = i1 Sinal(In(2,C1)) = i2 Sinal(In(3,C1)) = i3 Sinal(Out(1,C1)) = Off Sinal(Out(2,C1) = On
Resposta é o objetivo do agente!
Engenharia de conhecimento x de software
Engenharia de software o cliente não é,
necessariamente, um especialista
o cliente define apenas o quê fazer
processamento divido em muitos componentes simples
componentes desenvolvidos pelo programador
Engenharia do conhecimento o cliente é um especialista o especialista define
também como fazê-lo processamento divido em
poucos componentes complexos
componentes geralmente reutilizados (bibliotecas)
Tópicos avançados em EC
Metodologias para sistemas multi-agentes CommoMAS, MAS-CommonKADS
Metodologias integrando aquisição manual com aprendizagem
Metodologias integrando EC como passo de ES Reuso de BC Geração automática de código:
Código da base de conhecimento Código da máquina inferência (ex, a partir de PSM)