230 likes | 329 Views
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.
E N D
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 ou epistemológico • O nível lógico • O nível de implementação
Engenharia de Conhecimento Nível de Conhecimento AQUISIÇÃO linguagem natural linguagem de representação de conhecimento FORMALIZAÇÃO Nível Lógico Nível de Implementação 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.