Especificação de uma Base de Conhecimento Fred Freitas CIn - UFPE Roteiro Níveis de Conhecimento Engenharia de Conhecimento Vocabulário Classes, objetos e relações Herança Fatos terminológicos Objetos abstratos (reificação) Dedução O que não especificar numa BC Para termos um SBC, precisamos de... Uma (ou mais) base(s) de conhecimento, que expresse(m) o universo de discurso modelado – Vocabulário, terminologia, conceitos, relações entre eles, objetos, situações, etc Um motor de inferência que atue sobre esta base, que deve – Ser bem fundamentado em termos lógicos (formalismo de representação de conhecimento) – Ele deve ser capaz de explorar o máximo a expressividade da BC para a dedução Sistemas Baseados em Conhecimento Conceito básico: Separação entre o conhecimento e o processo dedutório ou inferência A concepção passa por 3 especificações consecutivas: –O nível de conhecimento epistemológico – O nível lógico – O nível de implementação ou Engenharia de 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 Engenharia de conhecimento Objetivo: transformar o conhecimento que temos acerca do domínio em sentenças manipuláveis pelo motor de inferência – Deve favorecer o reuso de conhecimento – Como em qualquer sistema, possui um ciclo de desenvolvimento, engenheiros, etc – Detalhes quando vermos sistemas especialistas O que especificar?? Sempre pensar em domínio restrito Exemplo: novela , numa cidade pequena e cheia de escândalos Precisamos especificar: – – – – Vocabulário Classes de objetos Relações Fatos (objetos, instanciações de relações e axiomas) – Conhecimento terminológico (o que significam as classes e relações) Vocabulário Classes – Na novela, pessoas, homens, mulheres, animais, fantasmas, corporações, lugares, objetos estranhos, ... Objetos (ou indivíduos nomeados ou símbolos de constante) – Maria e João Carlos, Fido (animal), faca1, SeguradoraCorrupta, apóliceDeZé, ... – Podem haver múltiplos identificadores (João Paulo e Macaxeira,...) Vocabulário (cont.) Atributos – rico, bonito, falido, ... Relações – predicados n-ários – casadoCom(JoãoPaulo, Maria), mora(Maria,end1), cabelereira(Tonha, JoãoPaulo),... Funções – melhorAmigo(Maria),... – Retorna só um objeto ou valor – Se não houver essa garantia, é melhor fazer um predicado Fatos Propriedades dos objetos – rico(João), ¬bemCasado(Zé), fechadaParaReparos(RestRangão),... Igualdades – Sinonímia: emp1 = seguradoraCorrupta – Pode ser uma função: JoãoPaulo = CEO(emp1) melhorAmigo(Zé)=João Fatos Complexos Fórmulas em LPO – y rico(y)^homem(y) ama(y,Jane) Representando exceções: – y mulher(y)^y ≠ Jane ama(y,João) Fatos gerais: – xy ama(x,y) ¬chantageia(x,y) – x adulto(x)^chantageia(x,João) Disjunções de fatos: – ama(Jane,João) v ama(Jane,Zé) Fatos Complexos Fechos: – y advogado(y) y=Jane v y=Zé v … – xy casadoCom(x,y) (x=tonha ^ y=Tonho) v … Desigualdades – Jane ≠ João Todos estes fatos são importantes na inferência Fatos terminológicos Disjunções de classes: – y homem(y) ¬mulher(y) Subclasses: – y cirurgião(y) médico(y) – Tudo o que é válido para médicos, o é tb para cirurgiões, mas não o contrário Exaustividade – y adulto(y) homem(y) v mulher(y) Fatos terminológicos Simetria: – x,y casadoCom(x,y) casadoCom(y,x) Inversos: – x,y filho(x,y) genitor(y,x) Restrições de tipos: – x,y casadoCom(x,y) pessoa(y) ^ pessoa(x) Definições completas: – x homemRico(x) = homem(x) ^ rico(x) Dedução Anteriormente, deve-se especificar que questões de competência uma BC deve responder – “João é casado com John?” – Fácil! – “Existe alguma companhia cujo CEO ama Jane?” – precisa de dedução... BC |= x Companhia(x)^ama(CEO(x), Jane)? Toda interpretação I que satisfaz BC deve satisfazer também esta sentença (conseqüência lógica) Dedução (cont.) Supondo que na BC estão as sentenças: – Rico(João), homem(João), CEO(fic)=João – y rico(y)^homem(y) ama(y,Jane) – Portanto, deduz-se que ama(CEO(fic), Jane) – Temos ainda que fic=seguradoraCorrupta e Companhia(seguradoraCorrupta) – Portanto, em todas as interpretações, BC |= x Companhia(x)^ama(CEO(x), Jane) é T Pois Companhia(fic)^ama(CEO(fic), Jane) Possibilidades de Dedução Satisfatibilidade de uma sentença Que objetos a satisfazem ... Consulta de uma sentença complexa – “Se nenhum homem está chantageando João, então ele está sendo chantageado por alguém que ele ama?” Dedução mais complexa x (homem(x) ¬chantageia(x,João)) y ama(João, y)^chantageia(y,João)? Então se supomos – x (homem(x) ¬chantageia(x,João)) chegaremos a – y ama(João, y)^chantageia(y,João)? Nossa BC atual e algumas inferências x adulto(x)^chantageia(x,João) y adulto(y) homem(y) v mulher(y) x (homem(x) ¬chantageia(x,João)) (por suposição) – |= y mulher(y)^chantageia(y,João)? ama(João,Jane) y mulher(y)^y ≠ Jane ama(y,João) xy ama(x,y) ¬chantageia(x,y) – – – – |= |= |= |= y mulher(y)^y ≠ Jane ¬chantageia(x,y) chantageia(Jane,João) ama(João,Jane)^chantageia(Jane,João) y ama(João, y)^chantageia(y,João)? Reificação Transformar uma relação numa classe para ter mais flexibilidade em termos de aridade Original: compra (Zé, carro1) ou compra(Zé, carro1, C&A) ou compra(Zé, carro1, C&A, 10000)...? Refificado: compra(cp) ^ agente(cp)=Zé ^ objeto(cp) = carro1 ^... Dando significado às definições casadoCom(x,y) é suficiente? E casadoAnteriormenteCom(x,y)? E reCasado(x,y)? Como separá-los? – Reificando casamento(c) com uma relação data(c) e – Reificando divórcio(c) – Redefinir casadoCom, reCasado, etc em função de casamento(c) e divórcio(c) Dando precisão à inferência Ontologias (gerais) garantem inferências precisas, por fornecerem um vocabulário semântico básico de coisas do dia-a-dia – Quantidades, dimensões, tempo, locais, ... Melhora também a modelagem – Opção 1: idadeAnos(suzy) = 14 e idadeMeses(suzy) = 172 – Opção 2: anos(idade(suzy)) =14 e meses(x) = 12*anos(x) – Opção 3: ontologias especificas de matemática (com quantidades, operações, etc), tempo (pontosNoTempo, duração, intervaloDeTempo, etc) e as conversões são automáticas O que não está na nossa BC Fatos estatísticos e probabilísticos: – Metade das companhias fica no Recife Antigo. – Quase nenhum empregado é confiável. Fatos prototípicos e exceções: – Carros têm 4 rodas. – Pássaros geralmente voam. Fatos intencionais: – João acredita que Onofre o chantageia.