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 Exemplo de construção de base de conhecimento n Ontologias e reuso de conhecimento n Metodologias de aquisição de conhecimento e de construção de ontologias CIn- UFPE
2 Desenvolver software inteligente n Projeto: • Modelar tarefa em termos de ambiente, percepções, ações, objetivos e utilidade • Identificar o tipo (complexidade) de ambiente • Identificar a arquitetura de agente adequada ao ambiente e tarefa n Implementação • Escolher um formalismo de representação do conhecimento • Implementar base de conhecimento do gerador e o simulador de ambientes • Implementar base de conhecimento de cada componente do agente (vários tipos de conhecimento) • Testar o desempenho com diferentes instâncias do ambiente CIn- UFPE
3 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: 4 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: 5 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
6 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
7 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
8 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
9 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
10 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
11 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
12 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 13 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
14 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
15 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
16 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
17 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
18 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
19 O que é uma ontologia? n Definição: especificação (semi-)formal explícita de uma concepção compartilhada • Concepção: modelo das entidades, relações, axiomas e regras de algum domínio • Formal: – processável por máquina – permitindo raciocínio automático – com semântica lógica formal • Compartilhada: por uma comunidade, permitindo entendimento n Conceitos de computação relacionados: • Base de conhecimento reutilizável • Esquema de banco de dados CIn- UFPE
20 Elementos de uma ontologia n Hierarquia de conceitos: • entidades – cada entidade definida por conjunto de pares atributo-valor – correspondem: – as classes dos modelos orientado a objetos – as entidades do modelo relacional – aos termos do modelo lógico – atributos propriedades x atributos relações – preenchidos por valores atômicas (tipos primitivos) x por outros conceitos – Status epistemológico do valor – Exatamente conhecida, default, probabilista • relações – sem hierarquia x em hierarquia paralela a hierarquia de entidades – correspondem: – associações, agregações e atributos dos modelos OO cujos valores são objetos – as relações do modelo relacional – aos predicados do modelo lógico CIn- UFPE
21 Elementos de uma ontologia n Restrições: • sobre valores possíveis dos atributos do conceitos • correspondem: – as assinaturas de classes em modelos OO – as axiomas universalmente quantificados em modelos lógicos – as restrições de integridade nos esquema de BD n Regras dedutivas: • sobre atributos de (conjunto de) conceitos • permitem inferência automática da existência de instâncias de conceitos a partir da existência de outras instâncias • correspondem: – as regras dos sistemas especialistas e programação em lógica – aos métodos modelos OO – as visões em BD CIn- UFPE
22 Elementos de uma ontologia n Instâncias de conceitos: • definição de entidade e relações específicos (indivíduos) • correspondem: – aos fatos de sistemas especialistas e programação em lógica – aos objetos dos modelos OO – aos dados BD n Estratégias de resolução de problemas (PSM) • Métodos abstratos para resolver determinadas classes de problemas • correspondem: – – abstrações de rotinas de máquina de inferência design patterns para raciocínio automático meta-dados descrevendo classes de procedimentos ex, generate and test, CIn- UFPE
Exemplo de Estratégia de Resolução de Problema 23 n Estratégia de classificação heurística abstrações de observações casamento heurístico abstrações de soluções abstrair refinar observações soluções CIn- UFPE
Serviços suportados por uma ontologia 24 n Consultas e manipulação: • correspondem: – métodos de acesso a valor e de reflexão em linguagens OO – consultas de interrogação e manipulação em BD – ask, tell e retract das bases de conhecimento • sobre conceitos: – Quais são as entidades E relacionadas a entidade e 0 via relações r 1, r 2? – Quais são as relações R mais gerais que r 1? – Definição d de entidade E é consistente com o resto da ontologia? • sobre instâncias – um indivíduo I com propriedades P 1, . . . , Pn é instância de quais conceitos? n Raciocínio automático • geralmente dedutivo CIn- UFPE
Origem e motivação para ontologias Sistemas Especialistas desde 80 Gerenciamento do Conhecimento em Organizações desde 90 Psicologia Cognitiva desde 60 Filosofia desde 350 A. C. 25 Integração de Dados desde 95 Engenharia de Software: requisitos e reuso desde 90 Ontologias Lingüística desde 60 Processamento de Linguagem Natural desde 80 Sistemas Multi-agentes desde 95 Recuperação de Informação na Web desde 00 CIn- UFPE
26 Tipologia das ontologias n Especialista: modela um domínio particular restrito n Geral: • modela o conhecimento de senso comum compartilhado por todos os seres humanos • parte de mais alto nível, reutilizável em vários domínios n Conceitual: fundamentada na capacidade de raciocinar n Lingüística: fundamenta no vocabulário de uma(s) língua(s) n De meta-dados: “especializada” na descrição de recursos on -line, no entanto sobre qualquer domínio n De tarefas e métodos: modela procedimentos e comportamentos abstratos no lugar de entidades ou relações CIn- UFPE
Sub-problemas de modelagem de uma ontologia geral 27 n Categorias e conjuntos n Medidas n Objetos compostos n Tempo n Espaço n Mudanças n Eventos e processos n Objetos físicos n Substâncias n Objetos mentais e crênças CIn- UFPE
28 CIn- UFPE
29 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çã 123) x comprar(Maçã) - classe-instância • 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 • propriedades discriminantes – ex. biologia sistemática CIn- UFPE
Relações entre Categorias 30 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 31 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
32 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
33 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
34 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 35 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
Representando Mudanças com Eventos 36 CIn- UFPE
Tempos, Intervalos e Ações Meet(i, j) Before(i, j) After(j, i) i 37 j i During(i, j) Overlap(i, j) j i j CIn- UFPE
38 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
Problemática geral e questões sobre ontologias 39 n Divisão: • como delimito as classes e os atributos? • quais são as distinções que trazem valor agregado? n Escopo: • qual conhecimento incluir? • qual a fronteira do meu domínio? n Granularidade: • até que nível de detalhe modelar os domínio? • problema da ramificação? n Validação: • como avalio a qualidade do modelo? • como escolho entre várias modelagem alternativas (as vezes propostas por pessoas diferentes)? ] • como identificar aspectos importantes que estão faltando? CIn- UFPE
Problemática geral e questões sobre ontologias 40 n Muito difícil responder a essas perguntas porque: • Almejados reuso e relativa independência de aplicação impedem ser guiado completamente pelos requisitos de uma aplicação restrita • Para ontologias gerais de senso comum pior devido a imensidão em largura e profundidade do conhecimento a modelar n Metodologias ainda incipientes • Methontology: • Sensus: http: //www. isi. edu/naturallanguage/resources/sensus. html n No entanto, já existe tentativa de padronização: http: //suo. ieee. org/ CIn- UFPE
41 Common. KADS n Pesquisa colaborativa na União Européia (+15 anos) n Utiliza fórmulas e ontologias para representar o conhecimento n Utiliza diagramas baseados em UML • Diagrama de classes • Diagrama de estados • Diagrama de atividades n Possui seis modelos • • • Modelo organizacional Modelo de tarefas Modelo de agentes Modelos de “expertises” Modelos de comunicação Modelo de projeto CIn- UFPE
Common. KADS: Modelos 42 CIn- UFPE
43 Common. KADS n Modelo organizacional: Analisar a organização n Modelo de tarefas • Descreve as tarefas a serem executadas • Distribui as mesmas entre os agentes n Modelo de agentes • É o executor do modelo de tarefas • Descreve as capacidades e características dos agentes n Modelo de Comunicação: Troca de mensagens n Modelo de expertise: É o foco da metodologia • 3 sub-níveis – Conhecimento do domínio: Conceitos, Propriedades, Relações – Conhecimento da inferência – Conhecimento da tarefa n Modelo de projeto de base de conhecimento • Descreve a arquitetura e o projeto CIn- UFPE
- Slides: 43