Engenharia de Conhecimento Fred Freitas CIn UFPE Fred

  • Slides: 45
Download presentation
Engenharia de Conhecimento Fred Freitas CIn - UFPE Fred Freitas - fred@cin. ufpe. br

Engenharia de Conhecimento Fred Freitas CIn - UFPE Fred Freitas - fred@cin. ufpe. br 1

Como construir SBCs? ? • Sabemos como funcionam – Regras de produção ou programação

Como construir SBCs? ? • Sabemos como funcionam – Regras de produção ou programação em lógica • . . . O que possuem – Motor de inferência • Mas não sabemos de métodos para – Adquirir o conhecimento • Do domínio => como construir ontologias • Das tarefas => como construir uma boa base de regras • Item importante – Reuso => em especial para ontologias Fred Freitas - fred@cin. ufpe. br 2

Etapas da Engenharia do Conhecimento Nível de Conhecimento Nível Lógico Nível de Implementação AQUISIÇÃO

Etapas da Engenharia do Conhecimento Nível de Conhecimento Nível Lógico Nível de Implementação AQUISIÇÃO FORMALIZAÇÃO linguagem natural linguagem de representação de conhecimento linguagens de programação IMPLEMENTAÇÃO BC REFINAMENTO Fred Freitas - fred@cin. ufpe. br 3

Aquisição de Conhecimento Fred Freitas - fred@cin. ufpe. br 4

Aquisição de Conhecimento Fred Freitas - fred@cin. ufpe. br 4

Ciclo de Desenvolvimento de um Sistema Especialista Inicialização Definição do Problema, Requisitos Análise Fechamento

Ciclo de Desenvolvimento de um Sistema Especialista Inicialização Definição do Problema, Requisitos Análise Fechamento da Base de Conhecimento e dos módulos, Testes, Validação pelos Avaliação usuários, Aquisição de Projeto, Identificação Conhecimento, Desenvolvidas fontes de mento o Gargalo ! conhecimento Prototipagem Definição e Representação do Conhecimento, Protótipos, Módulos, Interface, Testes Fred Freitas - fred@cin. ufpe. br Treinamento, Documentação Operação, Upgrades, Avaliação Implemenperiodica tação Manutenção 5

Soluções para os Problemas de Aquisição • Métodos de aquisição – Manuais – Semi-automáticos

Soluções para os Problemas de Aquisição • Métodos de aquisição – Manuais – Semi-automáticos – Automáticos • Sistemas Especialistas de 2ª. geração Fred Freitas - fred@cin. ufpe. br 6

Métodos Manuais de Aquisição exp licit especialista açã documentação o Engenheiro de codificação Base

Métodos Manuais de Aquisição exp licit especialista açã documentação o Engenheiro de codificação Base de conhecimento • Entrevistas – Desestruturada – Estruturada: agendas, formulários, casos, etc • Rastreamento cognitivo – Gravações de descrições detalhadas do especialista • Engenheiro faz regras e valida com o especialista Fred Freitas - fred@cin. ufpe. br 7

Entrevistas • método de aquisição de conhecimento mais usado • informação e o conhecimento

Entrevistas • método de aquisição de conhecimento mais usado • informação e o conhecimento são recolhidos através de diversos meios – questionários, anotações, gravações – posteriormente transcritos, analisados e codificados • normalmente são necessárias várias entrevistas ou sessões de trabalho • o espaçamento entre as entrevistas deverá permitir: – que o Engenheiro do Conhecimento possa processar todo o conhecimento adquirido na entrevista anterior – que o conhecimento adquirido seja representado, codificado e testado por um protótipo do sistema Fred Freitas - fred@cin. ufpe. br 8

Entrevistas Desestruturadas – Pode-se estabelecer uma relação professor/aluno entre o Especialista e o Engenheiro

Entrevistas Desestruturadas – Pode-se estabelecer uma relação professor/aluno entre o Especialista e o Engenheiro de Conhecimento. – O Especialista : • • faz o acompanhamento de casos explica o que faz e porque o faz explicita conceitos, habilidades e estratégias que usa aconselha a leitura de documentos, bibliografia – Freqüentemente as descrições dos processos cognitivos do perito parecem incompletas ou desorganizadas • complexidade do domínio • faltam os relacionamentos diversos itens de informação e conhecimento • falta de treino dos Engenheiros do Conhecimento na condução das entrevistas Fred Freitas - fred@cin. ufpe. br 9

Entrevistas Estruturadas • processo sistemático orientado a objetivos • a comunicação entre o Engenheiro

Entrevistas Estruturadas • processo sistemático orientado a objetivos • a comunicação entre o Engenheiro do Conhecimento e o especialista é previamente organizada • o Engenheiro do Conhecimento prepara as sessões de aquisição do conhecimento identificando as questões mais relevantes • uso de formulários, documentos, atas, protocolos, . . . Fred Freitas - fred@cin. ufpe. br 10

Aquisição de Conhecimento usando Acompanhamento do Raciocínio • técnica popular na Psicologia Cognitiva na

Aquisição de Conhecimento usando Acompanhamento do Raciocínio • técnica popular na Psicologia Cognitiva na qual se tenta rastrear o raciocínio do especialista – concluir como ele raciocina • os métodos podem ser mais ou menos formais – Análise do Protocolo - método formal mais conhecido – o especialista é solicitado a resolver problemas concretos e a verbalizar o raciocínio que utiliza na resolução desse problema – fica registado o o processo de tomada de decisão efetuado pelo especialista passo-a-passo • pode ser efetuada a gravação da sessão • processo essencialmente unilateral, ao contrário das entrevistas Fred Freitas - fred@cin. ufpe. br 11

Aquisição de Conhecimento com observação do especialista • modo mais natural de efetuar a

Aquisição de Conhecimento com observação do especialista • modo mais natural de efetuar a aquisição • pode ser complexo – O especialista pode dirigir uma equipe de várias pessoas – O especialista pode resolver vários problemas simultaneamente – Comportamento do especialista pode ser diferente pelo fato de saber que está sendo observado • o conhecimento que se adquire pode não corresponder exatamente Fred Freitas - fred@cin. ufpe. br 12

Aquisição de Conhecimento guiada pelo especialista • os Engenheiros do Conhecimento costumam não cobrir

Aquisição de Conhecimento guiada pelo especialista • os Engenheiros do Conhecimento costumam não cobrir bem o conhecimento do domínio • podem surgir problemas na comunicação com o perito • aquisição de conhecimento pode ser um processo demorado, com várias iterações • Os especialistas podem agir também como Engenheiros, codificando diretamente o seu conhecimento – Manualmente: através de relatórios e questionários – Automaticamente: através de uma ferramenta computacional que ajuda o perito a introduzir o conhecimento e procura detectar falhas nesse mesmo conhecimento (incoerências, ambiguidades, redundâncias, etc). Fred Freitas - fred@cin. ufpe. br 13

Métodos Semi-automáticos de Aquisição especialista Ferramentas de apoio Base de conhecimento Engenheiro de conhecimento

Métodos Semi-automáticos de Aquisição especialista Ferramentas de apoio Base de conhecimento Engenheiro de conhecimento • Ferramentas para o engenheiro – Editores, ambientes integrados (ex: Protégé), ferramentas visuais • Ferramentas para o especialista – Análise de grades de características (repertory grid analysis) Fred Freitas - fred@cin. ufpe. br 14

Métodos Automáticos de Aquisição Casos e exemplos Indução automática Regras • Técnicas de Aprendizado

Métodos Automáticos de Aquisição Casos e exemplos Indução automática Regras • Técnicas de Aprendizado Automático – É preciso gerar conhecimento explícito, muitas vezes em forma de regras! Por isso. . . – Técnicas simbólicas de aprendizado • Árvores de Decisão • Espaço de Versões, . . . Fred Freitas - fred@cin. ufpe. br 15

Engenharia de ontologias Fred Freitas - fred@cin. ufpe. br 16

Engenharia de ontologias Fred Freitas - fred@cin. ufpe. br 16

Princípios de construção • • • Clareza Legibilidade Coerência Extensibilidade Mínima codificação Mínimo compromisso

Princípios de construção • • • Clareza Legibilidade Coerência Extensibilidade Mínima codificação Mínimo compromisso ontológico Fred Freitas - fred@cin. ufpe. br 17

Ontologia Ciência [Freitas 2001] • Reusada a partir da ontologia do projeto europeu (KA)2

Ontologia Ciência [Freitas 2001] • Reusada a partir da ontologia do projeto europeu (KA)2 [Benjamins et al 98] do espelho da Ontolingua na Universidade de Madri • Refinada em granularidade e engajamento ontológico • Inclui ontologias auxiliares de tempo, locais e turismo Fred Freitas - fred@cin. ufpe. br 18

Princípios usados • Clareza e legibilidade – Jargão empregado • Mínimo compromisso ontológico –

Princípios usados • Clareza e legibilidade – Jargão empregado • Mínimo compromisso ontológico – na classe Documento Científico, não há restrições desnecessárias para o slot Autores (qualquer subclasse da classe Pessoa inclusive a subclasse Pesquisador) • Extensibilidade - novas classes puderam ser definidas a partir das já existentes • Coerência - a relação parte-todo entre artigos de um proceedings, ou entre capítulos de um livro, não estava explicitada Fred Freitas - fred@cin. ufpe. br 19

O uso e a engenharia de ontologias estão atrelados. . . Knowledge Meta-process Design,

O uso e a engenharia de ontologias estão atrelados. . . Knowledge Meta-process Design, Implementation, Evolution of the Ontology Knowledge Process Use of the Ontology Fred Freitas - fred@cin. ufpe. br 20

Metaprocesso de construção Reverse Ont-O-Mat Portals & Portal Generation Use Navigation Context Ontobroker Crawling

Metaprocesso de construção Reverse Ont-O-Mat Portals & Portal Generation Use Navigation Context Ontobroker Crawling / Syndication Create Import Common Language Context Rules Semantic Miner Semantic Syntactic Bridge Find Concepts Attributes, Rules Capture Organize Fred Freitas - fred@cin. ufpe. br Ont-O-Mat 21

Metodologias de desenvolvimento [Gómez-Perez 99] • Processo iterativo, com revisões constantes • Nas metodologias

Metodologias de desenvolvimento [Gómez-Perez 99] • Processo iterativo, com revisões constantes • Nas metodologias propostas, são considerados passos similares aos de engenharia de software: – Especificação – Conceitualização – Implementação • Atividades de suporte são executadas concomitantemente com o desenvolvimento – – Aquisição Avaliação Documentação Integração com ontologias existentes Fred Freitas - fred@cin. ufpe. br 22

Metodologias de desenvolvimento (cont. ) Fred Freitas - fred@cin. ufpe. br 23

Metodologias de desenvolvimento (cont. ) Fred Freitas - fred@cin. ufpe. br 23

Especificação • Determina o propósito e escopo da ontologia • Deve incluir uma análise

Especificação • Determina o propósito e escopo da ontologia • Deve incluir uma análise para decidir se é possível, necessário ou adequado o reuso de ontologias • Sugere-se elaborar uma lista de questões de competência [Uschold & Gruninger 96] – Servirão para a avaliação da ontologia durante o desenvolvimento – Ex: “Jornais científicos são considerados eventos científicos? ” Fred Freitas - fred@cin. ufpe. br 24

Conceitualização [Noy 97] • Fase crítica, nela ocorrem a maior parte das atividades de

Conceitualização [Noy 97] • Fase crítica, nela ocorrem a maior parte das atividades de suporte de aquisição e avaliação • Passos e dicas: – Enumerar os termos do domínio – Definir as classes - não confundir nomes de um conceito com o próprio conceito – Definir a hierarquia das classes - passo capcioso – Definir os slots e facetas de cada classe, interagindo com os dois passos anteriores – Criar as instâncias - Se elas não possuem uma hierarquia natural, é preciso revisar a hierarquia das classes – Usar convenções de nomes facilmente compreensíveis. Fred Freitas - fred@cin. ufpe. br 25

Especificação Fred Freitas - fred@cin. ufpe. br 26 © York Sure

Especificação Fred Freitas - fred@cin. ufpe. br 26 © York Sure

Fontes de Conhecimento Fred Freitas - fred@cin. ufpe. br 27 © York Sure

Fontes de Conhecimento Fred Freitas - fred@cin. ufpe. br 27 © York Sure

Questões de Competência Fred Freitas - fred@cin. ufpe. br 28 © York Sure

Questões de Competência Fred Freitas - fred@cin. ufpe. br 28 © York Sure

Rastreamento Fred Freitas - fred@cin. ufpe. br 29 © York Sure

Rastreamento Fred Freitas - fred@cin. ufpe. br 29 © York Sure

Definir a hierarquia das classes • Observar a clareza e consistência da hierarquia •

Definir a hierarquia das classes • Observar a clareza e consistência da hierarquia • Evitar subclasses demais pelo uso de classes intermediárias • Ver se não há poucas subclasses - a informação dos slots pode tornar-se insuficiente para refletir diferenças entre as instâncias. • Abordagens para a definição de hierarquias [Uschold & Gruninger 96]: – top-down, classes mais gerais e depois as específicas – bottom-up – middle-out, que começa por classes intermediárias que vão sendo especializadas (para baixo) e generalizadas (para cima) Fred Freitas - fred@cin. ufpe. br 30

Definir os slots e facetas • Slots intrínsecos – ex: número de pernas •

Definir os slots e facetas • Slots intrínsecos – ex: número de pernas • Slots extrínsecos – ex: nome de uma pessoa • Partes de uma classe – ex: partes do corpo: cabeça, tronco e membros • Relacionamentos - instâncias de outras classes. – Especificar a classe mais geral possível – EX: a faceta classes-permitidas do slot Participantes da classe Projeto são instâncias da classe Pesquisadores • Pesquisadores incluem estudantes de pós-graduação, professores, etc Fred Freitas - fred@cin. ufpe. br 31

Implementação e Avaliação • Objetivo: transformar a ontologia em algo computável • Na fase

Implementação e Avaliação • Objetivo: transformar a ontologia em algo computável • Na fase de implementação, a ontologia é escrita numa linguagem de representação de conhecimento • Na fase de avaliação, são executados testes para verificar se a ontologia atende aos requisitos especificados na fase de especificação • Testes freqüentemente provocam mudanças na implementação Fred Freitas - fred@cin. ufpe. br 32

Ontology Engineering: OTK Methodology (EU Project: On-To-Knowledge) [Studer & Volz 2003] Applications Fred Freitas

Ontology Engineering: OTK Methodology (EU Project: On-To-Knowledge) [Studer & Volz 2003] Applications Fred Freitas - fred@cin. ufpe. br 33

Tool Support for Methodology Onto. Edit KAON Ontology Evolution Applications Onto. Mat-Annotizer Fred Freitas

Tool Support for Methodology Onto. Edit KAON Ontology Evolution Applications Onto. Mat-Annotizer Fred Freitas - fred@cin. ufpe. br 34

Ontology Evolution Process How to discover a change? How to resolve a change? How

Ontology Evolution Process How to discover a change? How to resolve a change? How to ensure the consistency? Discovery Representation Semantics of change Implementation Propagation Validation Core component Refinement requirement Functional & Guidance requirement Fred Freitas - fred@cin. ufpe. br Refinement requirement 35

Evolution Strategies Required change Semantics of change Required and derived changes Evolution strategy An

Evolution Strategies Required change Semantics of change Required and derived changes Evolution strategy An evolution strategy unambiguously defines the way how changes will be resolved X delete reconnect to the root Fred Freitas - fred@cin. ufpe. br reconnect to the parent 36

Revendo os passos rapidamente. . . Fred Freitas - fred@cin. ufpe. br 37

Revendo os passos rapidamente. . . Fred Freitas - fred@cin. ufpe. br 37

Engenharia de Conhecimento 1) Decida sobre o que falar 2) Escolha o vocabulário de

Engenharia de Conhecimento 1) Decida sobre o que falar 2) Escolha o vocabulário de predicados, funções e constantes (Ontologia do Domínio) 3) Codifique o conhecimento genérico sobre o domínio (axiomas) " x, y, z Americano(x) Ù Arma(y) Ù Nação(z) Ù Hostil(z) Ù Vende(x, z, y) Þ Criminoso(x) 4) Codifique uma descrição de uma instância específica do problema Nação(Cuba), Nação(USA), Vende(West, Arma 1, Cuba) 5) Proponha questões para o procedimento de inferência e obtenha respostas ou decisões West é criminoso? Fred Freitas - fred@cin. ufpe. br 38

Um Exemplo: Circuitos Digitais • Estabelecer o objetivo: – determinar se o circuito está

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 Fred Freitas - fred@cin. ufpe. br 39

Decida sobre o que falar • Para alcançar o objetivo, é relevante falar sobre

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 • Tudo isso tem de estar na ontologia! Fred Freitas - fred@cin. ufpe. br 40

Decida qual vocabulário usar • Nomear os objetos e relações do domínio com funções,

Decida qual vocabulário usar • 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)) Fred Freitas - fred@cin. ufpe. br 41

Codifique regras genéricas (1) Dois terminais conectados têm o mesmo sinal: (1) " t

Codifique regras genéricas (1) Dois terminais conectados têm o mesmo sinal: (1) " 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 Û $ n Sinal(In(n, g))=On (5) etc. . . Fred Freitas - fred@cin. ufpe. br 42

Codifique a instância específica • Portas: Tipo(X 1) = XOR Tipo(X 2) = XOR

Codifique a instância específica • Portas: Tipo(X 1) = XOR Tipo(X 2) = XOR Tipo(A 1) = AND Tipo(A 2) = AND Tipo(O 1) = OR • Conexõ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)). . . Fred Freitas - fred@cin. ufpe. br 43

Proponha questões ao Procedimento de Inferência • Que entradas causam Out(1, C 1) =

Proponha questões ao Procedimento de Inferência • Que 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. • 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) Fred Freitas - fred@cin. ufpe. br 44

Proponha questões ao Procedimento de Inferência • Quais são os conjuntos de valores possíveis

Proponha questões ao Procedimento de Inferência • Quais 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 • Resposta é o objetivo do agente! Fred Freitas - fred@cin. ufpe. br 45