Engenharia do Conhecimento Ernesto Trajano Jacques Robin CIn-UFPE Roteiro De uma maneira geral, não detalhar pontos e conceitos pelos quais não encontro exemplo didático O que é engenharia do conhecimento? Tipologia do conhecimento e do seu processamento Tipos de conhecimento Detalhar PSM Tarefas de processamento de conhecimento Detalhar aquisição Exemplo de metodologia: CommonKADS Processos simples para desenvolvimento de agentes Usando lógica, usando classes e objetos Engenharia do conhecimento x de software Tópicos avançados O que é engenharia de conhecimento ? Engenharia de agentes baseados em conhecimento Metodologias Processos Base de conhecimento e meta-conhecimento reutilizáveis Relacionado com: Engenharia de software Gerenciamento de conhecimento Ontologias Sistemas Especialistas Modelagem conceitual Principalmente define como adquirir, analisar, validar e manter base de conhecimento Também pode definir mecanismos de inferência a utilizar com essa base Engenharia do conhecimento para agentes Sensores Ambiente Atuadores Raciocínio Automático Máquina de Inferência Genérica Ask Tell Retract Base de Conhecimento Especializada Representação e Aquisição de Conhecimento Engenharia do conhecimento para humanos Gerenciamento do conhecimento estratégicas das organizações Sistemas colaborativos Repositórios de perícia (expertise) Multi-disciplinaridade 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 Formalização dorepresentaçã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 do seu processamento Tabela do Menzies Conhecimento lexical Conhecimento estrutural Conhecimento comportamental Meta-conhecimento comportamental: PSM Meta-conhecimento de qualidade Meta-conhecimento organizacional Aquisição de conhecimento (várias transparências) CommonKADS Background História Definir células cobertas por CommonKADS da matriz de Menzies Modelos do CommonKADS Exemplo de modelo de organização Benefícios de CommonKADS Limitações de CommonKADS E como chegar a implementação? Depende do paradigma Lógico OO Construir BC lógica Engenharia de conhecimento x de software Na ES, o cliente define apenas o que fazer Na EC, o especialista define também como fazê-lo Na ES, processamento divido em muitos componentes simples e desenvolvido pelo programador Na EC, processamento divido em poucos componentes complexos e geralmente reutilizados da pratileira 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)