Le reti KL-ONE • Sono un esempio di rappresentazione della conoscenza a reti semantiche. • Sono state sviluppate verso la fine degli anni ’70 sulla base di formalismi detti “reti semantiche ad ereditarietà strutturata.” (SI-Nets). • Le reti KL-ONE costituiscono una realizzazione dei principi di SI-Nets. Il Problema • Reti semantiche molto diffuse negli anni ‘70 ma i formalismi utilizzati non erano rigorosi. • Ad enunciati sintatticamente simili ma con differenze semantiche dovevano coincidere rappresentazioni differenti. • Mancanza di rigore formale anche per quanto riguarda i meccanismi inferenziali. Caratteristiche di KL-ONE Limitato set di primitive a livello epistemologico. Semantica esplicita e ben definita per i costrutti della rete. Caratterizzazione chiara delle inferenze ammesse dal sistema. Le reti non ammettono eccezioni all’ereditarietà o valori attribuiti per default. Distinzione tra conoscenza terminologica e asserzionale rappresentate su moduli differenti. Formalismo orientato alla comprensione del linguaggio naturale. I Concetti • Il Concetto rappresenta la base della conoscenza nella rappresentazione KL-ONE. • I Concetti sono organizzati in una tassonomia gerarchica. • I Concetti sono graficamente rappresentati come nodi della rete. • La struttura della rete descrive il Concetto. Tipologie di Concetto • Concetti Generici • Concetti Individuali I Concetti Generici • Identifica una classe di individui. • La descrizione del concetto è affidata ai Ruoli. • I Ruoli sono rappresentati come archi orientati. • L’etichetta identifica il Ruolo. Organo respiratorio Branchia mollusco Scheletro conchiglia gasteropode I Riempitori e le Restrizioni di valore di un Ruolo Il Concetto in cui termina il ruolo viene detto Restrizione di Valore (VR) Istanze di Mollusco dette anche Riempitori Organo respiratorio Branchia Mollusco La Sussunzione • Le frecce a doppio tratto indicano la relazione di Sussunzione. • Sussunzione = inclusione insiemistica. • E’ la base del meccanismo dell’ereditarietà Poligono Poligono regolare Triangolo Triangolo equilatero Restrizioni di ruolo • E’ possibile effettuare modifiche locali alla struttura dei ruoli ereditati tramite restrizione. • Le restrizioni di ruolo sono modificatori che agiscono su altri ruoli. • Le eventuali restrizioni devono risultare coerenti con il ruolo su cui agiscono. • Le restrizioni di ruolo possono essere sia di numero che di valore Restrizioni di Numero Scheletro mollusco conchiglia 0/1 Restrizione di numero Restrizioni di numero e di valore Scheletro mollusco conchiglia 0/1 Conchiglia monovalve 0/0 ottopode gasteropode Restrizione di valore Restrizione di numero La Differenziazione di un ruolo • Un ruolo ereditato può essere differenziato in due o più ruoli distinti che esprimono relazioni più specifiche del ruolo originario. lato Poligono 3/nil Segmento 3/3 Triangolo 2/2 Triangolo rettangolo cateto 1/1 ipotenusa Concetti Primitivi e Definiti • Se un concetto esprime condizioni necessarie viene detto Primitivo. • Se un concetto esprime condizioni necessarie e sufficienti viene detto definito • Graficamente i concetti Primitivi si contraddistinguono da quelli definiti per l’asterisco sul nodo della rete. Poligono Triangolo Il Classificatore • In una rete KL-ONE perché due concetti stiano nella relazione di sussunzione non è necessario che esista un arco di super-concetto esplicito che li collegi direttamente od una catena di archi di super-concetto. • E’ possibile ricavare il legame di sussunzione classificando opportunamente i vari concetti. • In KL-ONE questo compito viene assolto dal Classificatore (algoritmo di classificazione). Descrizioni Strutturali • Per descrivere in KL-ONE il concetto di triangolo rettangolo dobbiamo poter rappresentare il fatto che i due cateti sono tra loro perpendicolari. • Per affrontare questo tipo di problemi KL-ONE utilizza dei costrutti particolari detti Descrittori Strutturali che si dividono in : – Role Value Map (RVM) – Descrizioni strutturali in senso stretto Role Value Map (RVM) • Lo scopo di tali costrutti è quello di imporre condizioni di uguaglianza o inclusione tra gli insiemi di riempitori (filler) dei due ruoli di un dato concetto. Altezza 1/1 cilindro lunghezza base diametro 1/1 cerchio = Cilindro equilatero 1/1 Descrizioni strutturali in senso stretto • Le descrizioni strutturali (SD) in senso stretto rendono possibile istituire relazioni più generali tra gli insiemi di riempitori dei ruoli di un concetto al di là dell’inclusione o dell’uguaglianza. • Il meccanismo delle SD risulta estremamente complesso e poco intuitivo tanto da scomparire dalla maggior parte dei formalismi terminologici successivi. Concetti Individuali possiede Gatto Coda 0/1 satisfies Concetto Individuale Silvestro Val Coda bianca & nera Evoluzione del KL-ONE • • • KL-ONE è una rete semantica orientata alla rappresentazione della conoscenza terminologica o descrizionale. Il compito di formulare una conoscenza asserzionale o fattuale è demandato ad una componente asserzionale esterna. La componente asserzionale ha comunque un ruolo marginale all’interno di KLONE. In evoluzioni successive di KL-ONE come in KRYPTON è stato potenziato il potere espressivo del linguaggio asserzionale prevedendo due componenti distinte dotate di linguaggi e meccanismi inferenziali diversi; – uno asserzionale (A-BOX) – uno terminologico (T-BOX) KL-ONE ed il calcolo dei predicati di primo ordine • È possibile convertire una rappresentazione KL-ONE in un insieme di predicati del primo ordine con identità mediante semplici regole. • Forme di inferenza quali l’ereditarietà, la sussunzione e la classificazione possono essere assimilate ad usuali inferenze logiche. • La tassonomia di KL-ONE con ruoli generici può essere considerata una variante notazionale di un sottoinsieme del calcolo dei predicati del primo ordine. KL-ONE calcolo dei predicati • Ogni Concetto generico P viene tradotto per mezzo di un predicato monadico P(x). – Triangolo, Mollusco, Poligono Triangolo(x), Mollusco(x), Poligono(x) • Gli archi di superconcetto sono tradotti per mezzo di implicazioni quantificate universalmente. – x (Gatto(x) Mammifero(x)) – La transitività della sussunzione è garantita dalle regole della logica • I ruoli rappresentano relazioni a due posti. – Scheletro, Lato, Base Scheletro(x,y), Lato(x,y), Base(x,y) KL-ONE calcolo dei predicati R • Per esprimere restrizioni di valore sui ruoli: A B m/n – x (A(x) y(R(x,y) B(y))) • Per esprimere restrizioni di numero sui ruoli: C – Introduciamo i seguenti quantificatori esistenziali limitati: per n = 0: x ( x ) def x ( x ) x ( x ), 0 per n = 1: x ( x ) def x ( x ), 1 per n > 0: x ( x ) def x1 , x 2 ,..., x n ( ( x1 )... ( x n ) x1 x3 ... x1 x n )... x n1 x n ). n 0 per m = 0: x ( x ) def x ( x ), 1 per m = 1: x ( x ) def x ( x ) z ( ( z ) z x ), m per m > 0: x ( x ) def x1 ,... x m ( ( x1 )... ( x m ) z ( ( z ) z x1 ... z x m ). – Così la rappresentazione d’esempio diventa: m x( A( x ) y R( x, y )) n KL-ONE calcolo dei predicati • La modifica di una restrizione di valore (V/R) è espressa nel modo seguente: – x (C(x) y (R(x,y) D(y))) • La modifica della restrizione di numero del ruolo R per il concetto C: q x ( C( x ) yR( x , y ). p R A B m/n C D p/q KL-ONE calcolo dei predicati • Esempio di differenzazione di un ruolo: x ( triangolo _ rett ( x ) y ( lato( x , y ) ( cateto( x , y ) ipotenusa( x , y ))) x , y ( cateto( x , y ) lato( x , y )) x , y ( ipotenusa( x , y ) lato( x , y )) • Le condizioni necessarie espresse in una rete KL-ONE sono tradotte in calcolo dei predicati in: x( A( x ) ( x )),..., x( A( x ) ( x )) 1 n in tal caso, se A è un concetto definito, la condizione sufficiente per A sarà espressa dalla formula: x( ( x )... ( x ) A( x ) 1 n KL-ONE calcolo dei predicati faccia solido superficie 1/nil x( parallelep( x ) solido( x )) x( parallelep( x ) y( faccia( x, y ) rett ( y ))) 6 x( parallelep( x ) y faccia( x, y )) 6 poliedro 4/nil parallelep 6/6 poligono x( solido( x ) y faccia( x, y ) 4 y( faccia( x, y )) poligono( y )) poliedro( x ) x( rett ( x ) poligono( x )) rettangolo Le formule dell’esempio costituiscono la traduzione logica delle condizioni necessarie per parallelepipedo e sufficienti per poliedro, più la traduzione dell’arco di superconcetto fra rettangolo e poligono. Da tale insieme di formule segue che: x ( parallelep( x ) poliedro( x )) che esprime la sussunzione tra parallelepipedo e poliedro. KL-ONE calcolo dei predicati • Per quanto riguarda i concetti individuali, anche essi vengono trattati mediante predicati monadici, con in più il vincolo di avere al massimo una sola istanza. • Così se I è un concetto individuale ad esso corrisponde un predicato I(x) con in più il predicato: x( I ( x ) y( I ( y ) x y )) Bibliografia