1 Engenharia do Conhecimento n Conceitos bsicos n
1 Engenharia do Conhecimento n Conceitos básicos n Etapas de desenvolvimento de Sistemas Baseados em Conhecimento n Aquisição de Conhecimento n Ontologias n Exemplos de construção de sistemas BC CIn- UFPE
2 Engenharia do Conhecimento n Estuda como construir Sistemas Baseados em Conhecimento (SBC) • Base de Conhecimento • Máquina de Inferência n Engenheiro de conhecimento • Guia a Aquisição do conhecimento sobre o domínio escolhido e determina quais conceitos são importantes • Cria a Base de Conhecimento – representações dos conceitos (fatos e regras) em alguma linguagem de Representação do Conhecimento • É responsável pela Implementação e pelo Refinamento do SBC CIn- UFPE
Engenharia do Conhecimento: 3 Etapas de Construção dos SBC 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 CIn- UFPE
Engenharia do Conhecimento: 4 Etapas de Construção dos SBC n Vimos um pouco de • Implementação: Regras de produção e Prolog • Formalização: Lógica de Primeira Ordem n Resta-nos ver então as fases de • Aquisição e Organização do conhecimento do domínio escolhido CIn- UFPE
5 Aquisição de Conhecimento n Aquisição/Explicitação de conhecimento • Espécie de Engenharia de Requisitos mais complexa n Principais fases da Aquisição: • identificar características do problema • isolar os conceitos principais e suas relações (ontologia) • identificar inferências sobre estes conceitos n Conhecimento pode originar-se de várias fontes: • Entrevistas com especialistas, livros e documentos, filmes, etc. CIn- UFPE
6 Aquisição: Gargalo na construção de SBCs n Dificuldade de introspecção • O especialista quase nunca está ciente de como usa o conhecimento e tem dificuldade de verbalizar sob pressão • Algumas soluções são intuitivas ou “compiladas”. n Uso de vocabulário próprio (jargão) n O conhecimento expresso pode ser irrelevante • quantidades enormes de informações supérfluas são coletadas, para em seguida serem organizadas. n O conhecimento expresso pode ser incompleto, incorreto ou inconsistente n Métodos de aquisição - 3 categorias: • Manual, Semi-automático e Automático CIn- UFPE
7 Aquisição Manual n Entrevistas • estruturadas ou não estruturadas n Tracking methods • 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 CIn- UFPE
8 Aquisição Semi-automática n Ajuda ao engenheiro de conhecimento (editores, documentadores, etc. ) n Ajuda ao especialista (grid repertory analysis) especialista Ferramentas interativas de entrevista Base de conhecimento Engenheiro de conhecimento CIn- UFPE
9 Aquisição Automática n 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. Casos e exemplos Indução automática Regras CIn- UFPE
10 Construindo Bases de Conhecimento n Toda BC tem dois “consumidores”: • usuários • procedimentos de inferência n Uma BC deve: • ser clara e correta • representar apenas objetos e relações relevantes • idealmente, ser codificada separada do procedimento de inferência (modularidade, reusabilidade) • melhorar a eficiência do processo de inferência n O processo de inferência deve fornecer a mesma resposta, independente de como a base foi codificada CIn- UFPE
Organizando o Conhecimento Adqurido: Ontologias 11 n Em Filosofia: • estudo do que existe no mundo n Em IA: • especificação das classes, objetos e relações da realidade n Usadas para: • organizar a BC, separando conceitos (objetos) das regras • aumentar a reusabilidade n Ontologias Genéricas (Gerais) • usadas para representar grandes conjuntos de objetos e relações • representam senso comum - conhecimento enciclopédico • codificadas usando algum formalismo (ex. LPO) CIn- UFPE
12 Ontologias Genéricas n Maior tempo de construção do que ontologias especializadas, porém mais vantajosas: • unificam diferentes áreas de conhecimento, porque o raciocínio e a resolução de problemas pode envolver várias áreas simultaneamente. • aplicáveis a domínios específicos, com a adição de axiomas específicos desse domínio Senso Comum (ontologia genérica) Domínios Especializados CIn- UFPE
13 Ontologia do Universo Qualquer. Coisa Objetos. Abstratos Eventos Conjuntos Números Objetos. Representativos Intervalos Lugares Objetos. Físicos Processos Categorias Sentenças Medidas Momentos Tempos Pesos Coisas Matéria Animais Agentes Sólido Líquido Gasoso Humanos
Estratégias de Construção de Ontologias 14 n Abordagem Top-Down: • começa definindo os conceitos do senso comum, depois agrega o conhecimento especializado. n Abordagem Bottom-Up: • começa com N bases especializadas, depois integra os conceitos mais gerais. n Qualquer ontologia específica pode ser modificada a fim de se tornar mais genérica. CIn- UFPE
15 Ontologias Genéricas: Categorias n Também chamadas de classes, relações, tipos. . . • conjuntos de objetos com propriedades comuns • organiza e simplifica a base de conhecimento. n Exemplos de simplificação: • comprar(Maçã 3) x comprar(Maçã) - instância x classe • Todo mamífero bebe leite - herança n Taxonomia: • Tipo particular de ontologia: – relações hierárquicas entre classe e sub-classes em forma de árvores • Representa propriedades discriminantes – ex. biologia sistemática CIn- UFPE
16 Exemplos de Categorias n Um objeto é membro de uma categoria: Maçã 3 Î Maçãs n Uma categoria pode ser subclasse de outra categoria: Maçãs Ì Frutas n Todos os membros de uma categoria têm alguma propriedade em comum: "x. x Î Maçãs Þ Vermelho(x) Ù Arredondado(x) n Membros de uma categoria podem ser reconhecidos por algumas propriedades: "x. Vermelho(Interior(x)) Ù Verde(Exterior(x)) Ù x Î Melões Þ x Î Melancias CIn- UFPE
Relações entre Categorias 17 n Disjunção: não há interseção entre as categorias "s Disjunção(s) Û ("c 1, c 2 c 1Î s Ù c 2 Î s Ù c 1 ¹ c 2 Þ c 1 Ç c 2 = f) ex. Disjunção({Animais, Vegetais}) n Decomposição exaustiva "s, c Decomposição. Exaustiva(s, c) Û ("i. i Î c Û $c 2 Î s Ù i Î c 2) ex. Decomposição. Exaustiva({Americano, Canadense, Mexicano}, Norte-Americano) n Partição: decomposição exaustiva disjunta "s, c Partição(s, c) Û Disjunção(s) Decomposição. Exaustiva(s, c) ex. . Partição(({macho, fêmea}), animal) CIn- UFPE
Ontologias Genéricas também podem representar: 18 n Medidas • Valores atribuídos às propriedades dos objetos do mundo real: peso, comprimento, altura, etc. . . n Objetos compostos • formados por partes que também são objetos: relação “parte-de”. n Mudanças com eventos • Cálculo de eventos: um fato é verdade em um intervalo de tempo. CIn- UFPE
19 Medidas n Valores atribuídos aos objetos do mundo real: servem para descrever objetos • ex. peso, comprimento, altura, diâmetro, . . . n Medidas quantitativas são fáceis de representar • ex. Tamanho(L 1) = Polegadas(1, 5) = Centímetros (3, 81) n Medidas qualitativas são mais complicadas • ex. beleza de um poema, dificuldade de um exercício • O importante é ordenar "e 1, e 2 e 1 Î Exercícios Ù e 2 Î Exercícios Ù Elabora(João, e 1) Ù Elabora(Pedro, e 2) Þ Dificuldade(e 1) < Dificuldade(e 2) CIn- UFPE
20 Objetos Compostos n Objetos formados por partes que também são objetos • São caracterizados pela estrutura dos objetos que os compõem • ex. massa de um carro é a soma das massas de suas partes(carroceria, motor, pneu, . . . ) n Para representá-los, usamos a relação Parte. De • e. g. , Parte. De(motor, Carro), Parte. De(pneu, Carro) n Exemplo: "a Bipede(a) Þ $ l 1, l 2, b Perna(l 1) Ù Perna(l 2) Ù Corpo(b) Ù Parte. De(l 1, a) Ù Parte. De(l 2, a)ÙParte. De(b, a) Ù Ligado(l 1, b) Ù Ligado(l 2, b) Ù l 1 ¹ l 2 Ù " l 3 Perna(l 3) Ù Parte. De(l 3, a) Þ (l 3 = l 1 Ú l 3 = l 2) CIn- UFPE
21 Objetos Compostos n Parte. De também serve para descrever estrutura de eventos: Script ou Schema • ex. comer no restaurante n Quando se está interessado apenas características do conjunto: Bunch. Of • ex. peso do saco de Maçãs • Bunch. Of(Maçãs) define um objeto composto formado pelas Maçãs do saco. CIn- UFPE
Representando Mudanças com Eventos 22 n Cálculo de situações: • adequado quando temos um único agente realizando ações discretas e instantâneas (uma ação por situação). • inadequado quando: – existem vários agentes no mundo. – o mundo pode mudar espontaneamente. – mudanças ocorrem continuamente. n Cálculo de eventos: versão contínua do calculo de situações • No cálculo de situações, um fato é verdade em uma situação • No cálculo de eventos, uma coisa é verdade num intervalo de tempo – ex. Sub. Evento(Batalha. Da. Normandia, Segunda. Guerra. Mundial) Sub. Evento(Segunda. Guerra. Mundial, Século. XX) CIn- UFPE
Tempos, Intervalos e Ações Meet(i, j) Before(i, j) After(j, i) i 23 j i During(i, j) Overlap(i, j) j i j CIn- UFPE
24 Cálculo de Eventos: Exemplos n Se duas pessoas ficaram noivas, então em algum intervalo no futuro elas irão se casar ou acabar o noivado: "x, y, i 0 T(Noivado(x, y), i 0) Þ $i 1 (Encontra(i 0, i 1) È Depois(i 1, i 0)) Ù T(Casamento(x, y) È Fim. Noivado(x, y), i 1) n A segunda guerra de Canudos ocorreu na Bahia no século XIX $g g Î Guerras Ù Sub. Evento(g, Século. XIX) Ù Parte. De(Localização(g), Bahia) CIn- UFPE
25 Uma vez concluída uma versão preliminar de aquisição. . . é só formalizar e implementar! CIn- UFPE
26 Engenharia de Conhecimento 1) Decida sobre o que falar 2) Escolha o vocabulário de predicados, funções constantes (Ontologia do Domínio) e 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) 5) Proponha questões para o procedimento de inferência e obtenha respostas West é criminoso? CIn- UFPE
Um Exemplo: Circuitos Digitais 27 n 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 CIn- UFPE
28 Decida sobre o que falar n Para alcançar o objetivo, é relevante falar sobre • circuitos, terminais, sinais nos terminais, conexões entre terminais n Para determinar quais serão esses sinais, precisamos saber sobre: • portas e tipos de portas: AND, OR, XOR e NOT n Não é relevante falar sobre: • fios, caminhos dos fios, cor e tamanho dos fios, etc. CIn- UFPE
29 Decida qual vocabulário usar n 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)) CIn- UFPE
30 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 Û n Sinal(In(n, g))=On $ (5) etc. . . CIn- UFPE
31 Codifique a instância específica n Portas: Tipo(X 1) = XOR Tipo(X 2) = XOR Tipo(A 1) = AND Tipo(A 2) = AND Tipo(O 1) = OR n 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)). . . CIn- UFPE
32 Proponha questões ao Procedimento de Inferência n Que entradas causam Out(1, C 1) = Off e Out(2, C 1) = On? $ 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 n 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) CIn- UFPE
Ferramentas para Implementação de SBC 33 n Três opções: • Shells - é a mais utilizada – Expert Sintta, OPS, KAS, . . . • Elementos “embutíveis” – regras + objetos (CLIPS, JESS, Ne. Opus, JEOPS, etc. ) • Linguagens de programação de alto nível – Prolog, Lisp. OOP n Critérios de escolha • • • Facilidade de uso Flexibilidade Interface com sistema Desempenho Portabilidade CIn- UFPE
Sistemas Especialistas 34 n Definições n Histórico n Sistemas Especialistas de Segunda geração n Áreas de Aplicação e Classes de tarefas CIn- UFPE
1960 s: General-purpose Problem Solver (GPSs) 35 n Motivação: • leis do pensamento + máquinas poderosas n Funcionamento: • planejamento + sub-goaling – ex. estou com fome => comer => pedir pizza => telefonar => ir para a sala => sair do quarto. . . n O Logic Theorist deu certo mas. . em geral, GPSs não funcionam • fraca representação de conhecimento • humanos são bons só em domínios restritos n Solução => Sistemas Especialistas!!! CIn- UFPE
36 Sistemas Especialistas (SEs) n Definição • Um tipo de Sistema Baseado em Conhecimento (knowledge-based system) • Sistemas que empregam o conhecimento humano para resolver problemas que requererem a presença de um especialista • Área de aplicação de mais sucesso da IA n Utilidade • capacitar não-especialistas • servir de assistente a especialistas • servir de repositório de conhecimento “valioso” para a empresa • etc. CIn- UFPE
37 1960 s-1970 s: Primeiros Sistemas Especialistas n DENDRAL • Inferir estrutura molecular de componentes desconhecidos dadas a massa espectral e a resposta nuclear magnética • Conhecimento especializado poda a busca por possíveis estruturas moleculares • Fez sucesso: publicações científicas • Representação procedimental de conhecimento CIn- UFPE
38 1960 s-1970 s: Primeiros SEs n MYCIN • Diagnosticar rapidamente meningite e outras infecções bacterianas, e prescrever tratamento • Representação de conhecimento baseada em regras probabilísticas (em torno de 500) • Fez sucesso: acima de 90% de acerto • introduziu explicação e boa interface com usuário n Exemplo de regra ifthe then infection is meningitis and type of infection is bacterial and patient has undergone surgery and patient has under gone neurosurgery and neurosurgery-time was < 2 months ago and patient got a ventricular-urethral-shunt infection = e. coli(. 8) or klebsiella(. 75) CIn- UFPE
39 1980: Grande Boom dos SEs n Problema da General Electric: • Aposentadoria de David Smith: engenheiro especialista em falhas de motores elétrico-diesel de locomotivas • Custo deste tipo de engenheiro n Solução convencional • Treinamento de engenheiros novatos n 1980: Construção de CATS-1 (DELTA) • • Meses de entrevista, 3 anos p/ primeiro protótipo Permite diagnostico em poucos minutos Existe um em cada oficina Dá treinamento: é amigável e explica decisões CIn- UFPE
40 1970 s & 1980 s: Avanços em SBCs n 1970 s: Esforço para desenvolver melhores (e mais especializadas) • Linguagens de representação de conhecimento • Mecanismos de inferência n Conclusões • O poder de um sistema é derivado do conhecimento específico que ele possui, e não de esquemas de inferências e formalismo particular que ele emprega • As linguagens existentes já bastam CIn- UFPE
41 SEs: Conceitos Básicos n Expertise • conhecimento especializado adquirido por longo treinamento, leitura e experiência n Especialista • Quem possui o conhecimento, experiência, métodos e a habilidade de aplicá-los para dar conselhos e resolver problemas. n Engenheiro de conhecimento • Guia a aquisição, representação do conhecimento especializado, bem como a implementação e refinamento do SE. CIn- UFPE
42 Personagens de um SE Construtor de Ferramentas Constrói Ferramentas, Linguagens Especialista Testa Conhecimento Documentado Adquire Conhecimento Usa Engenheiro de Conhecimento Coopera Constrói Construtor do sistema Conecta Equipe de Suporte Fornece Suporte Sistema Especialista Usuário Final
Sistemas Especialistas de Segunda Geração 43 n Abandonaram a hipótese da transferência de conhecimento (i. e. , Aquisição) • o especialista valida o modelo computacional proposto n Aquisição guiada por modelos: reuso de ontologias e estruturas de inferência 1) Decomposição de tarefas 2) Caracterização das (sub)tarefas 3) Busca de um modelo em uma biblioteca (ex. KADS http: //www. commonkads. uva. nl/) modelo = ontologia do domínio + estrutura de inferência 4) entrevista estruturada CIn- UFPE
(1) Decomposição de tarefas 44 n Exemplo: Falhas em equipamentos de áudio Defeitos do Equipamento de Áudio diagnóstico ação recofigurar consertar CIn- UFPE
(2) Caracterização da tarefa Categoria Problemas Abordados Interpretação Inferindo descrições das situações por observações Predição Inferindo prováveis conseqüência de dadas situações Diagnóstico Inferência de mal-funcionamento do sistema por observações Projeto Configurando objetos sob restrição Planejamento Desenvolvimento de plano(s) para realização de objetivo(s), meta(s) Monitoração Comparando observações para planos, detectando exceções ETC… 45
(3) Hierarquização das categorias de tarefas (biblioteca KADS) system’s structure given (analysis) constructed (synthesis) modified (transformation) solution type states (predict) category (identification) category type discrepancy (monitoring) solution type sequence of steps (planning) structure (design) decision faulty category class (diagnosis) (assessment) model type fault model correct model (systematic diagnosis) (heuristic classification or cover & differentiate)
Modelo: Ontologia do domínio de áudio part-of audio system is-a component audio speaker tape system deck speaker amplifier tape system deck. . . left right speaker Prorpiedades dos componentes • • • deck: function deck: power amplifier: input-signal. . . (stop, play, rew, ff, pause) (on, off) (deck, turner, CD, VCR, Aux) Testes com os componentes • deck-power-switch • input-selector (preessed, not pressed) (deck, turner, . . . ) . . . 47
Modelo: Ontologia do domínio de áudio 48 Causa (regras causais) • deck: power = on and deck: function = play and cable-connection: deck amplifier = present CAUSES amplifier: input-signal = deck • amplifier: input-signal = deck and amplifier: input-selector = deck CAUSES amplifier: output-signal = deck Indica • deck-power-switch = pressed INDICATES deck-power = on • input-selector = X INDICATES amplifier: input-signal = X CIn- UFPE
Modelo: Estrutura de inferência (raciocínio) Reclamação Seleciona Modelo do sistema Decompõe Observação hipóteses Especifica Compara norma Seleciona descoberta diferença Fonte de conhecimento entrevistas Meta-classe CIn- UFPE
Classes de Tarefas dos SEs 50 CIn- UFPE
Áreas de Aplicação dos SEs 51 CIn- UFPE
Evolução do mercado de SEs 52 CIn- UFPE
53 Benefícios e Limitações dos SEs n Pontos positivos: • • Criam repositórios de conhecimento Forneem de treinamento Aumentam a produtividade e a qualidade Têm a habilidade de resolver problemas complexos Apresentam Flexibilidade e modularidade Operam em ambientes arriscados Trabalham com informações incompletas ou incertas n Pontos negativos: • Transferência de conhecimento está sujeita a um grande número de problemas • Avaliação de desempenho difícil • Só trabalham bem em domínios estreitos • Engenheiros de Conhecimento são raros e caros CIn- UFPE
Últimos desenvolvimentos 54 n Aquisição de conhecimento: • SEs de 2ª geração & aprendizagem n Ferramentas de desenvolvimento + OOP n Integração com outros sistemas • ex. banco de dados e sistemas de suporte à decisão n Tratamento de incerteza CIn- UFPE
- Slides: 54