Engenharia do Conhecimento Ernesto Trajano Jacques Robin CInUFPE
Engenharia do Conhecimento Ernesto Trajano Jacques Robin CIn-UFPE
Roteiro E O que é? E Tipologia do conhecimento e do seu processamento EExemplo de metodologia: Common. KADS E Processo simple para desenvolvimento de agente baseado em conhecimento E Engenharia do conhecimento x de software E Tópicos avançados
O que é engenharia de conhecimento ? E Engenharia de agentes baseados em conhecimento Metodologias Ø Processos Ø Base de conhecimento e meta-conhecimento reutilizáveis Ø EPrincipalmente define como adquirir, analisar, validar e manter uma base de conhecimento (BC) E Também pode definir mecanismos de inferência a serem utilizados com esta base
Engenharia do conhecimento para agentes artificiais Sensores Ambiente Atuadores Raciocínio Automático Máquina de Inferência Genérica Ask Tell Retract Base de Conhecimento Especializada Aquisição e Representação Conhecimento
Engenharia do conhecimento para agentes humanos E Extrair, documentar e gerenciar o conhecimento estratégico das organizações. E Sistemas colaborativos. E Repositórios de “expertise” (perícia).
Multi-disciplinaridade
Problemas E Informações e conhecimentos complexos são de difícil compreensão E Especialistas não são unânimes, nem precisos E Variedade de representações: texto Ø gráficos, imagens Ø heurísticas, regras Ø
Perspectivas ETransferê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. Ø EModelagem 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 Nível do conhecimento: • Nos termos do especialista do domínio de aplicação • Linguagem natural, Notações gráficas ad-hoc Formalização do conhecimento 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 Implementação do conhecimento 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 Nível do conhecimento: • Nos termos do especialista do domínio de aplicação • Linguagem natural, Notações gráficas ad-hoc Formalização do conhecimento 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 Implementação do conhecimento Nível da implementação: • Codificação em uma linguagem de programação • Teste de protótipo
Engenharia de uma base de conhecimento • Entrevistas estruturadas com especialista Elicitação do conhecimento • Preparação de dados Nível do conhecimento: • Nos termos do especialista do domínio de aplicação • Linguagem natural, Notações gráficas ad-hoc • Ontologias • Linguagens formais de • Linguagens semi-formais de do representação Formalização conhecimento do conhecimento representação do conhecimento • Aprendizagem de Máquina 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 • Compiladores • Máquinas de inferências Implementação do conhecimento • Aprendizagem de Máquina Nível da implementação: • Codificação em uma linguagem de programação • Teste de protótipo
Tipologia do conhecimento E Tipos de conhecimento: léxico Ø estrutural Ø meta-conhecimento: Ø PSM ü qualitativo ü
Conhecimento léxico EConceitos mínimos: não podem ser decompostos Ø termos atômicos, símbolos terminais, etc. EExemplos: domínio é a medicina meningite Ø cirurgia Ø bactéria Ø
Conhecimento estrutural EAlguns conceitos podem depender de outros: Ø para definir o tratamento de uma infecção é necessário saber que bactéria a está causando EFormas de estruturação: regras, hierarquias (relações is-a), etc. Ø sub-tipo(cirurgia, neurocirurgia).
Meta-conhecimento comportamental: PSM EA partir de um estado E, certas ações (operações), levam ao objetivo O. EOperadores: podem ser generalizados em PSM, i. e. , métodos/estratégias de resolução de problemas (problem solving methods). EEspécie de “padrão de projeto” para o processo de inferência. EControla a execução de uma BC. EEspecifica: inferências (ações) Ø seqüência das inferências (seqüência de ações) Ø conhecimento necessário em cada passo do processo Ø EEm geral, estão organizados em bibliotecas.
Exemplo de PSM EClassificação heurística abstrações de observações casamento heurístico abstrações de soluções abstrair refinar observações soluções
Meta-conhecimento qualitativo EDescreve alguma maneira de gerar um julgamento de valor sobre uma BC. EExemplos: portabilidade, custo de desenvolvimento, custo de manutenção, segurança, privacidade, detecção de "anomalias", etc.
Tipos de processamento EAtividades 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. ) AQUISIÇÃO Ø FORMALIZAÇÃO IMPLEMENTAÇÃO BC MANUTENÇÃO
Aquisição de conhecimento ETrês formas de aquisição: manual Ø semi-automática Ø
Aquisição manual E Brainstorming E Entrevistas: Ø estruturadas ou não estruturadas E Self report E Outros: Ø Observação e análise do domínio, leitura de documentos, etc. especialista documentação exp licit açã o Engenheiro de codificação Base de conhecimento
Aquisição manual E 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 EQuando 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 E Uso de ferramentas apóio à atividade de aquisição: Ø editor, navegador, visualização da documentação, etc. especialista Ferramentas interativas de entrevista Engenheiro de conhecimento Base de conhecimento
Aquisição Automática EAprendizagem 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
Common. KADS EColeção de métodos estruturados para a construção de sistemas baseados em conhecimento EPesquisa colaborativa na União Européia (+15 anos) EUtiliza diagramas baseados em UML Diagrama de classes Ø Diagrama de estados Ø Diagrama de atividades Ø EPossui seis modelos Ø Ø Ø Modelo organizacional Modelo de tarefas Modelo de agentes Modelo de comunicação Modelo de “expertises” Modelo de projeto
Modelo organizacional E Descrição e análise da organização como um todo E 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, . . . ) ECada aspecto é modelado por um diagrama ou por uma descrição em linguagem natural EPossível problema: pode ser difícil definir o escopo do que é a "organização".
Modelo organizacional
Modelo de tarefas E Alguns processos identificados no modelo organizacional podem ser passíveis de automação. E 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 E 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 EEspecifica tipo de informação que é trocada entre os agentes Ø como esta informação é trocada Ø E Controle de alto nível sobre a execução de uma tarefa E 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 Ø E Problemas semelhantes aos de comunicação em sistemas multiagente.
Modelo de comunicação
Modelo de “expertise” E Modelo do "expertise" (perícia) necessário para realizar uma determinada tarefa. E Na verdade é um conjunto de modelos E 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 E 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 Ø
Common. KADS E Vantagem: Ø grande quantidade de modelos favorece uma boa compreensão do processo de engenharia como um todo EDesvantagens: que modelos são essenciais? Ø os modelos não são formais Ø
Um Exemplo: Circuitos Digitais EEstabelecer 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 EPara alcançar o objetivo, é relevante falar sobre Ø circuitos, terminais, sinais nos terminais, conexões entre terminais EPara determinar quais serão esses sinais, precisamos saber sobre: Ø portas e tipos de portas: AND, OR, XOR e NOT ENão é relevante falar sobre: Ø fios, caminhos dos fios, cor e tamanho dos fios, etc.
Decida qual vocabulário usar E Nomear os objetos e relações do domínio com funções, predicados e constantes Ø constantes ü distinguir as portas : X 1, X 2. . . ü distinguir os tipos de porta: AND, OR, XOR. . . Ø funções e predicados ü tipo de uma porta: Tipo(X 1) = XOR, Tipo(X 1, XOR), XOR(X 1) ü indicar entradas e saídas: Out(1, X 1), In(1, X 2) ü indicar conectividade entre portas: Conectado(Out(1, X 1), In(1, X 2))
Codifique regras genéricas (1) Dois terminais conectados têm o mesmo sinal: " t 1, t 2 Conectado(t 1, t 2) Þ Sinal(t 1) = Sinal(t 2) (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 " t 1, t 2 Conectado(t 1, t 2) Û Conectado(t 2, t 1) (4) Uma porta OR está On sse qualquer das suas entradas está On: " g Tipo(g) = OR Þ Sinal(Out(1, g)) = On Û Sinal(In(n, g))=On (5) etc. . . $n
Codifique a instância específica EPortas: Tipo(X 1) = XOR Tipo(X 2) = XOR Tipo(A 1) = AND Tipo(A 2) = AND Tipo(O 1) = OR EConexões: Conectado(Out(1, X 1), In(1, X 2)) Conectado(Out(1, X 1), In(2, A 2)) Conectado(Out(1, A 2), In(1, O 1)). . .
Proponha questões ao Procedimento de Inferência EQue entradas causam Out(1, C 1) = Off e Out(2, C 1) = On? $ i 1, i 2, i 3, o 1, o 2 Sinal(In(1, C 1)) = i 1 Ù Sinal(In(2, C 1)) = i 2 Ù Sinal(In(3, C 1)) = i 3 Ù Sinal(Out(1, C 1)) = o 1 Ù Sinal(Out(2, C 1) = o 2. E Resposta: (i 1 = On Ù i 2 = On Ù i 3 = Off) Ú (i 1 = On Ù i 2 = Off Ù i 3 = On) Ú (i 1 = Off Ù i 2 = On Ù i 3 = On)
Proponha questões ao Procedimento de Inferência EQuais são os conjuntos de valores possíveis para todos os terminais do circuito? $ i 1, i 2, i 3 Sinal(In(1, C 1)) = i 1 Ù Sinal(In(2, C 1)) = i 2 Ù Sinal(In(3, C 1)) = i 3 Ù Sinal(Out(1, C 1)) = Off Ù Sinal(Out(2, C 1) = On E Resposta é o objetivo do agente!
Engenharia de conhecimento x de software E 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 Ø E 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 E Metodologias para sistemas multi-agentes Ø Commo. MAS, MAS-Common. KADS E Metodologias integrando aquisição manual com aprendizagem E Metodologias integrando EC como passo de ES E Reuso de BC E 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) Ø
- Slides: 42