1 / 42

Engenharia do Conhecimento

Engenharia do Conhecimento. Ernesto Trajano Jacques 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

dorit
Download Presentation

Engenharia do Conhecimento

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Engenharia do Conhecimento Ernesto Trajano Jacques Robin CIn-UFPE

  2. 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

  3. O que é engenharia de conhecimento ? • Engenharia de agentes baseados em conhecimento • 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

  4. Ask Tell Retract Engenharia do conhecimento para agentes artificiais Ambiente Raciocínio Automático Sensores Base de Conhecimento Especializada Máquina de Inferência Genérica Aquisição e Representação Conhecimento Atuadores

  5. Engenharia do conhecimentopara agentes humanos • Extrair, documentar e gerenciar o conhecimento estratégico das organizações. • Sistemas colaborativos. • Repositórios de “expertise” (perícia).

  6. Multi-disciplinaridade

  7. 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

  8. 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.

  9. Nível formal: • Notação sem ambigüidade com semântica definida matematicamente (Lógica, Probabilidades) • Verificação de consistência • Nível semi-formal: • Notação textual estruturada padrão (XML) • Notação gráfica padrão (UML) • Validação com 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 Implementação do conhecimento • Nível da implementação: • Codificação em uma linguagem de programação • Teste de protótipo

  10. Nível formal: • Notação sem ambigüidade com semântica definida matematicamente (Lógica, Probabilidades) • Verificação de consistência • Nível semi-formal: • Notação textual estruturada padrão (XML) • Notação gráfica padrão (UML) • Validação com 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 Implementação do conhecimento • Nível da implementação: • Codificação em uma linguagem de programação • Teste de protótipo

  11. 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 formal: • Notação sem ambigüidade com semântica definida matematicamente (Lógica, Probabilidades) • Verificação de consistência • Nível semi-formal: • Notação textual estruturada padrão (XML) • Notação gráfica padrão (UML) • Validação com especialista 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 • 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

  12. Tipologia do conhecimento • Tipos de conhecimento: • léxico • estrutural • meta-conhecimento: • PSM • qualitativo

  13. 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

  14. 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).

  15. 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.

  16. Exemplo de PSM • Classificação heurística casamento heurístico abstrações de observações abstrações de soluções abstrair refinar observações soluções

  17. 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.

  18. 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.) AQUISIÇÃO FORMALIZAÇÃO IMPLEMENTAÇÃO BC MANUTENÇÃO

  19. Aquisição de conhecimento • Três formas de aquisição: • manual • semi-automática • automática

  20. especialista explicitação codificação Engenheiro de conhecimento Base de conhecimento documentação Aquisiçãomanual • Brainstorming • Entrevistas: • estruturadas ou não estruturadas • Self report • Outros: • Observação e análise do domínio, leitura de documentos, etc.

  21. 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

  22. especialista Ferramentas interativas de entrevista Base de conhecimento Engenheiro de conhecimento Aquisição semi-automática • Uso de ferramentas apóio à atividade de aquisição: • editor, navegador, visualização da documentação, etc.

  23. Casos e exemplos Indução automática Regras 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

  24. 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

  25. 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".

  26. Modelo organizacional

  27. 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”

  28. Modelo de agentes • Mudança de perspectiva: antes, perspectiva do processo ou tarefa; agora, perspectiva dos agentes individuais

  29. 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.

  30. Modelo de comunicação

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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.

  36. 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))

  37. Codifique regras genéricas (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á Onsse qualquer das suas entradas está On: "g Tipo(g) = OR Þ Sinal(Out(1,g)) = On Û $ n Sinal(In(n,g))=On (5) etc...

  38. Codifique a instância específica • Portas: Tipo(X1) = XOR Tipo(X2) = XOR Tipo(A1) = AND Tipo(A2) = AND Tipo(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)) . . .

  39. 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)

  40. 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!

  41. 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) Engenharia de conhecimento x de software

  42. 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)

More Related