SlideShare a Scribd company logo
1 of 55
Download to read offline
INGEGNERIA DELLA
CONOSCENZA
2018/2019
A cura dello studente: Antonio Tandoi
Professore: Prof. Floriano Scioscia
Materiale di riferimento: Dispensa fornita dal prof. Floriano Scioscia
i
SOMMARIO
CAPITOLO 1: INTRODUZIONE .....................................................................................1
1.1 TIPI DI CONOSCENZA......................................................................................................................................................1
1.2 FONTI DI CONOSCENZA............................................................................................................................................... 2
1.3 RUOLO DELLA CONOSCENZA NEI SISTEMI INFORMATICI............................................................................... 2
Prima fase (1956 – 1965): L’intelligenza artificiale e la risoluzione automatica di problemi...................... 2
Seconda fase (1965 – 1975): La rappresentazione della conoscenza ................................................................ 3
Terza fase (1975 – 1985): L’ingegneria della conoscenza e i sistemi esperti .................................................. 3
Quarta fase (1985 – 1995): La crisi e la ricerca di strade alternative................................................................. 3
Quinta fase (1995 – ): LI web e le ontologie............................................................................................................... 3
CAPITOLO 2: WEB SEMANTICO................................................................................. 5
Centralita’ dei dati.............................................................................................................................................................5
Interoperabilita’ interna...................................................................................................................................................6
Interoperabilita’ esterna e sistemi aperti...................................................................................................................6
2.1 IL WEB SEMANTICO........................................................................................................................................................ 7
2.2 IL TRIANGOLO ARISTOTELICO .................................................................................................................................. 7
CAPITOLO 3: RAPPRESENTAZIONE DELLA CONOSCENZA ...................................9
3.1 linguaggi di rappresentazione .....................................................................................................................................9
CAPITOLO 4: MODELLI DI RAPPRESENTAZIONE................................................... 13
4.1 SISTEMI PER LA RAPPRESENTAZIONE DELLE CONOSCENZE........................................................................ 14
CAPITOLO 5: TERMINI E ONTOLOGIE..................................................................... 15
5.1 SEMANTICA DEI TERMINI............................................................................................................................................ 16
5.2 ALTRI OPERATORI .........................................................................................................................................................17
5.3 TERMINI BASATI SU RUOLI..........................................................................................................................................17
CAPITOLO 6: RUOLI................................................................................................... 19
6.1 TERMINI CON RUOLI..................................................................................................................................................... 19
6.2 INVERSIONE DEI RUOLI...............................................................................................................................................20
6.3 DOMINIO E CODOMINIO............................................................................................................................................20
6.4 I RUOLI FUNZIONALI.....................................................................................................................................................21
CAPITOLO 7: ASSERTION BOX ................................................................................ 23
7.1 SUSSUNZIONE.................................................................................................................................................................23
7.2 NOMINALI E TERMINI ENUMERATIVI......................................................................................................................23
7.3 ASSERTION BOX............................................................................................................................................................24
CAPITOLO 8: LINGUAGGIO OWL............................................................................25
8.1 DESCRIZONE DI CLASSI ..............................................................................................................................................25
ii
Identificatore.....................................................................................................................................................................26
Enumerazione....................................................................................................................................................................26
Restrizioni di proprieta’..................................................................................................................................................26
Intersezione .......................................................................................................................................................................26
Unione..................................................................................................................................................................................26
Complemento....................................................................................................................................................................26
8.2 ASSIOMI DI CLASSE......................................................................................................................................................27
Sottoclassi..........................................................................................................................................................................27
Equivalenza ........................................................................................................................................................................27
Disgiunzione ......................................................................................................................................................................27
8.4 PROPRIETA’.....................................................................................................................................................................27
Identificatore di proprieta’ ...........................................................................................................................................28
Range ...................................................................................................................................................................................28
Sottoproprieta’ .................................................................................................................................................................28
Proprietà equivalente .....................................................................................................................................................28
Proprieta’ inversa.............................................................................................................................................................28
Simmetria ...........................................................................................................................................................................29
Transitivita’........................................................................................................................................................................29
8.5 INDIVIDUI E FATTI .........................................................................................................................................................29
Appartenenza a una classe e valori di una proprietà............................................................................................29
Identità ................................................................................................................................................................................29
8.6 SHOIN............................................................................................................................................................................... 30
CAPITOLO 9: CONSEGUENZE LOGICHE ................................................................ 31
9.1 COMPITI DI RAGIONAMENTO RELATIVI ALLE TBOX........................................................................................32
Riduzione dei compiti di ragionamento alla sussunzione....................................................................................33
Riduzione dei compiti di ragionamento alla soddisfacibilità..............................................................................33
9.2 LA PROCEDURA SAT....................................................................................................................................................34
CAPITOLO 10: ASSERZIONI...................................................................................... 37
10.1 COMPITI DI RAGIONAMENTO RELATIVI ALLE ABOX.....................................................................................38
10.2 RIDUZIONE ALLA SODDISFACIBILITA’ DEI COMPITI DI RAGIONAMENTO RELATIVI ALL’ABOX ...38
CAPITOLO 11: ANALISI SEMANTICA........................................................................39
11.1 NOMI, CLASSE, ISTANZE........................................................................................................................................... 40
11.2 LE TASSONOMIE ..........................................................................................................................................................43
Tassonomie di classi........................................................................................................................................................43
Tassonomie di tipi ........................................................................................................................................................... 44
iii
Antonio Tandoi Ingegneria della conoscenza
1
CAPITOLO 1: INTRODUZIONE
Cosa significa fare un’ingegneria della conoscenza? La conoscenza è dell’informazione
disponibile per un’azione razionale. Nei computer risiedono grandi quantità di
informazioni, ma solo una piccola parte di queste può essere sfruttata dagli stessi computer
per agire: basti pensare alla miriade di documenti contenuti nel Web, la maggior parte dei
quali può essere utilizzata soltanto dagli esseri umani.
L’obiettivo, dunque, è esplorare la possibilità di automatizzare azioni conoscitive
che, ad oggi, richiedono l’intervento umano.
1.1 TIPI DI CONOSCENZA
Una prima grande suddivisione che è possibile fare è tra conoscenze dichiarative e
conoscenze procedurali, ossia tra conoscere (know that) e saper fare (know how). A
sua volta, il know that può essere diviso in tre parti:
• conoscenze terminologiche: per esempio, che “essere una madre” significa
“essere una donna con almeno un figlio”
• conoscenze fattuali: conoscenza di fatti particolari; per esempio “Bruno è
figlio di Anna”
• conoscenze nomologiche: ossia, conoscenze di regolarità, di leggi generali che
regolano il mondo; per esempio, “le madri sono sempre più anziane dei loro
figli”
Un caso apparentemente diverso è costituito dalla conoscenza di individui; per esempio,
“conosco Barbara”. Anche in questo caso si tratta di conoscenze fattuali, più precisamente
di un insieme, spesso, molto ampio di conoscenze fattuali relative a uno specifico
individuo.
CAPITOLO 1: INTRODUZIONE
2
1.2 FONTI DI CONOSCENZA
Le conoscenze provengono da qualche fonte. Le più ovvie sono:
• l’esperienza diretta
• il ragionamento; esso può essere deduttivo (dalle premesse alle conclusioni),
abduttivo (dagli effetti alle possibili cause), induttivo (da fatti specifici a regole
generali)
• la comunicazione, ossia l’uso del linguaggio parlato e scritto
Qualunque sia la fonte, è necessaria la memoria, nel senso di capacità di conservare nel
tempo elementi di conoscenza e soprattutto di reperirli con efficienza quando
occorre farne uso.
1.3 RUOLO DELLA CONOSCENZA NEI SISTEMI INFORMATICI
Le conoscenze servono per:
• interpretare la realtà ossia capire cosa è successo
• prevedere l’evoluzione della realtà ossia prevedere con approssimazione
accettabile come andranno le cose
• agire in modo razionale modificando la realtà ossia costruire piani d’azione per
raggiungere determinati obiettivi
In un sistema informatico, di questo argomento si è sempre occupata l’intelligenza artificiale:
è quindi utile traccia una storia minima di quest’area dell’informatica.
PRIMA FASE (1956 – 1965): L’INTELLIGENZA ARTIFICIALE E LA
RISOLUZIONE AUTOMATICA DI PROBLEMI
L’intelligenza artificiale nasce nel 1956 con l’obiettivo di progettare sistemi in grado di
risolvere problemi automaticamente. All’inizio l’attenzione è rivolta soprattutto alla ricerca
di metodi per la risoluzione automatica di problemi mediante strategia per
tentativi ed errori (trial and error)
Antonio Tandoi Ingegneria della conoscenza
3
SECONDA FASE (1965 – 1975): LA RAPPRESENTAZIONE DELLA
CONOSCENZA
La capacità di risolvere problemi dipende in modo essenziale dalle conoscenze a disposizione.
Il problema principale diventa rappresentare le conoscenze in modo che un
programma possa effettivamente utilizzarle; nasce quindi un grande interesse per i
metodi di rappresentazione delle conoscenze (KR). Si sviluppa la controversia fra i
sostenitori delle rappresentazioni dichiarative e i sostenitori delle rappresentazioni
procedurali.
In ambedue i casi, comunque, l’approccio adottato è simbolico, nel senso che le conoscenze
sono rappresentate tramite strutture dati contenenti simboli.
TERZA FASE (1975 – 1985): L’INGEGNERIA DELLA
CONOSCENZA E I SISTEMI ESPERTI
Ci si sposta verso applicazioni realistiche e d’interesse industriale. Aumenta l’interesse
economico verso i sistemi esperti e nasce l’ingegneria della conoscenza (KE).
Rappresentazioni dichiarative e procedurali convivono negli stessi sistemi basati su
conoscenze.
QUARTA FASE (1985 – 1995): LA CRISI E LA RICERCA DI
STRADE ALTERNATIVE
Crolla la fiducia nel mercato della KE, anche a causa di un incauto overselling e
dell’impossibilità di soddisfare le aspettative. Si indagano approcci alternativi denominati
“supersimbolici” o “non simbolici”, in contrasto con l’approccio simbolico tradizionale.
Questi metodi si rivelano spesso più adatti dei metodi simboli per certi tipi di problemi ma
non possono eliminare la necessità di rappresentare le conoscenze simboliche in
molte applicazioni.
QUINTA FASE (1995 – ): IL WEB E LE ONTOLOGIE
Il grande successo del Web riporta in prima linea la questione della rappresentazione
simbolica delle conoscenze. In questo campo i problemi più sentiti sono l’interoperabilità
delle applicazioni e la gestione delle risorse in rete. Il concetto fondamentale è quello
di ontologia.
CAPITOLO 1: INTRODUZIONE
4
Antonio Tandoi Ingegneria della conoscenza
5
CAPITOLO 2: WEB SEMANTICO
Le applicazioni più diffuse, a partire dal 1975, sono i sistemi esperti. Un sistema esperto è
un sistema software in grado di risolvere problemi utilizzando conoscenze
specialistiche; applicazioni tipiche sono l’analisi di grandi volumi di dati, la diagnosi di
guasti di impianti industriali, la diagnosi medica, la configurazione di sistemi informatici
complessi, il progetto industriali, la pianificazione della produzione e così via.
In certi casi, l’adozione di sistemi esperti ha permesso di automatizzare attività complesse là
dove tecniche informatiche più tradizioni avevano fallito. Tuttavia i sistemi esperti non sono
mai diventati prodotti di grande diffusione, per almeno due ragioni:
• lo sviluppo di un sistema esperto è un’impresa lunga e costosa
• i sistemi esperti richiedono una notevole competenza anche per l’uso e
soprattutto per il mantenimento
A partire dagli anni ’80 ha cominciato, però, a profilarsi un altro settore di grande interesse
per l’ingegneria della conoscenza: il Web Semantico. Prima di questo concetto, verrà
tracciata una breve descrizione di alcuni fattori che influenzano il progresso dell’informatica.
CENTRALITA’ DEI DATI
Qualsiasi applicazione informatica è costituita da dati e programmi; le due componenti
non hanno, tuttavia, lo stesso peso in applicazioni di tipo differente.
Consideriamo come primo esempio un’applicazione per la simulazione di sistemi dinamici. In
un caso del genere, i dati si possono ridurre a un vettore che rappresenti lo stato iniziali del
sistema e all’assegnamento di un valore a un piccolo numeri di parametri di sistema. Per
ottenere risultati di qualità, naturalmente, sono estremamente critici gli algoritmi utilizzati
per la simulazione; ci si trova, dunque, di fronte a un tipo di applicazione che potremmo
denominare centrata sul processo (process-centered).
Un esempio molto diverso è costituito dalle applicazioni che si fondano sull’utilizzo di basi
di dati. In questo caso, l’informazione utile risiede essenzialmente nei dati. Le applicazioni
di questo tipo possono essere denominate centrate sui dati (data-centered).
CAPITOLO 2: WEB SEMANTICO
6
Queste ultime sono più diffuse in termini percentuali; lo stesso Web si presenta
essenzialmente come un colossale archivio di dati interrogato quotidianamente da milioni di
utenti.
INTEROPERABILITA’ INTERNA
All’interno di una singola azienda è possibile raggiungere un buon livello di interoperabilità
utilizzando tecnologie basate su XML; in particolare, le tecnologie basate su XML
consentono di sviluppare intranet aziendali integrando i dati e i servizi Web
rivoluti verso l’interno dell’azienda.
INTEROPERABILITA’ ESTERNA E SISTEMI APERTI
Per realizzare applicazioni aperte a livello di Internet, le tecnologie basate su XML sono oggi
necessarie ma non sufficienti. Per essere realmente “aperto”, un sistema informatico deve
poter essere scoperto e utilizzato da un’applicazione remota senza bisogno
dell’intervento umano: a questo scopo XML non è sufficiente perché codifica e
standardizza la sintassi dei dati (ovvero la loro struttura) ma non la loro semantica
(ovvero il loro significato).
Per esempio:
Un documento XML può codificare il prezzo di un prodotto con la stringa
<prezzo> 85 </prezzo>
mentre un altro documento può codificare la stessa informazione con la
stringa
<costo> 85 </costo>
Non è ovviamente possibile per un’applicazione informatica scoprire che si
tratta di due diverse codifiche della stessa informazione, a meno che non sia
disponibile la conoscenza che prezzo e costo sono sinonimi, almeno nel
contesto dell’applicazione in oggetto.
Non è azzardato, a questo punto, passare alla seguente conclusione: l’interoperabilità in un
ambiente aperto richiede che le applicazioni possano accedere a un repertorio di conoscenze
comuni e siano in grado di sfruttare tali conoscenze in modo autonomo.
Antonio Tandoi Ingegneria della conoscenza
7
2.1 IL WEB SEMANTICO
L’idea di Semantic Web è molto semplice: perché possano essere elaborato in modo
completamente automatico, non è sufficiente che i dati sul Web abbiano una struttura
chiaramente definita: è anche necessario che i dati abbiano un significato condiviso dalla
comunità che li utilizza.
2.2 IL TRIANGOLO ARISTOTELICO
L’idea di Semantic Web, dunque, è centrata sull’assegnazione di un significato ai dati
presenti sul Web. Il concetto di significato, a sua volta, chiama in causa il rapporto tra
linguaggio e realtà.
Come sappiamo, molti termini del linguaggio corrispondono a entità del mondo reale; ad
esempio, il termine “sedia” può corrispondere all’insieme (o classe) di tutte le sedie oppure
a una sedia specifica (un individuo membro dell’insieme delle sedie). La relazione fra
linguaggio e realtà (e quindi fra il termine “sedia” e l’insieme delle sedie concrete) è detta
semantica.
Secondo una tradizione antica, il rapporto fra linguaggio e realtà non è diretto, ma è mediato
dai concetti: chi parla riesce a collegare la parola “sedia” alle sedie reali proprio perché
possiede un concetto di sedia. In altre parole, la relazione fra linguaggio e realtà è
mediata dalla mente. Più precisamente, è necessario distinguere fra:
• il termine “sedia”
• l’insieme di tutte le sedie che esistono nella realtà (l’estensione del termine
“sedia”)
• il concetto di “sedia” così come è rappresentato nella mente degli esseri umani
(l’estensione del temine “sedia”)
CAPITOLO 2: WEB SEMANTICO
8
Antonio Tandoi Ingegneria della conoscenza
9
CAPITOLO 3: RAPPRESENTAZIONE DELLA
CONOSCENZA
Il problema, a questo punto, è come rappresentare le conoscenze in un formato che sia
computer readable. Il paradigma di riferimento per la KR dichiarativa è la logica
(simbolica o formale), con particolare riguardo alla logica dei predicati di primo ordine
(FOL – First Order Logic).
Nella FOL si assume che tutte le rappresentazioni riguardino un insieme non vuoto di
individui, detto dominio. Di questi individui possiamo rappresentare proprietà oppure
relazioni che si leghino fra loro. Da questo punto di vista, un fatto è semplicemente
il sussistere di una proprietà di un determinato individuo (“Barbara è bionda”)
oppure il sussistere di una relazione fra più individui (“Alberto è più alto di
Barbara”). Nei sistemi di KR esaminati, sussiste l’ulteriore limitazione relativa al fatto che
le relazioni considerate sono esclusivamente binarie.
3.1 LINGUAGGI DI RAPPRESENTAZIONE
Si parla, dunque, di sistemi per la rappresentazione delle conoscenze (KRS). Ogni
KRS ha due componenti principali: un linguaggio per la rappresentazione di
conoscenze e un insieme di procedure di ragionamento.
Un linguaggio per la rappresentazione di conoscenze è un linguaggio formale le cui espressioni
sono utilizzate per rappresentare elementi di conoscenza.
Per esempio:
Si vuole rappresentare il significato del termine “madre” come “donna con
almeno un figlio”. Per utilizzare una FOL, si parafrasa la definizione come:
(𝑥𝑥 è 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚)𝑠𝑠𝑠𝑠 𝑒𝑒 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑠𝑠𝑠𝑠 (𝑥𝑥 è 𝑢𝑢𝑢𝑢𝑢𝑢 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑒𝑒𝑒𝑒 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑢𝑢𝑢𝑢 𝑦𝑦 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑐𝑐ℎ𝑒𝑒 𝑦𝑦 è 𝑓𝑓𝑓𝑓 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑑𝑑𝑑𝑑 𝑥𝑥)
Ossia:
∀𝑥𝑥 �𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝑥𝑥) ⇔ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥) ∧ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝑥𝑥, 𝑦𝑦)�
CAPITOLO 3: RAPPRESENTAZIONE DELLA CONOSCENZA
10
In CL (Common Language Standard), la stessa definizione apparirebbe come:
(forall (?x)
(iff (MADRE ?x)
(and (DONNA ?x)
(exists (?y) (FIGLIO ?x ?y)))))
Le espressioni possono anche essere scritte in un formato adatto allo scambio
dei dati fra applicazioni software: si tratta di documenti strutturati secondo
un opportuno schema XML. Alla formula precedente, dunque, corrisponde il
documento XML:
<formula>
<forall>
<varlist> <var> x </var> </varlist>
<iff>
<atom>
<con> MADRE </con> <var> x </var>
</atom>
<and>
<atom>
<con> DONNA </con> <var> x </var>
</atom>
<exists>
<varlist> <var> y </var> </varlist>
<atom>
<con> FIGLIO </con>
<var> x </var> <var> y </var>
</atom>
</exists>
</and> </iff>
</forall>
</formula>
Antonio Tandoi Ingegneria della conoscenza
11
Nella logica, la semantica delle espressioni è definita utilizzando modelli insiemistici e
la stessa via può essere seguita per le altre notazioni utilizzate. Alternativamente,
è possibile assegnare una traduzione dalle notazioni non classiche alla notazione classica e
contare poi sul fatto che la notazione classica abbia una semantica precisamente definita.
Nel contesto in cui ci si sta muovendo, per ragionamento si intende il ragionamento
deduttivo o deduzione. Una dedizione è un processo che fa passare da alcune
espressioni (dette premesse o ipotesi) a un’espressione (detta conclusione o tesi), in
modo tale da conservare l’eventuale verità delle premesse: in altre parole, se le premesse
sono vere, lo sarà anche la conclusione.
Per esempio:
Dati come premesse la definizione di “MADRE”, il fatto che Anna sia una
“DONNA”, il fatto che Bruno sia “FIGLIO” di Anna, si può dedurre come
conclusione che Anna è una “MADRE”.
In FOL, la deduzione può essere rappresentata in diversi modi, ad esempio
tramite la prova seguente (il seguente metodo di prova utilizzato è noto come
calcolo della deduzione naturale; l’ultima riga della prova è la conclusione):
1. ∀𝑥𝑥 �𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝑥𝑥) ⇔ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥) ∧ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝑥𝑥, 𝑦𝑦)� – premessa
2. 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) – premessa
3. 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵) – premessa
4. 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) ⇔ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) ∧ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝑦𝑦) – da 1, per
eliminazione di ∀
5. ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝑦𝑦) – da 3, per introduzione di ∃
6. 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥) ∧ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝑥𝑥, 𝑦𝑦) – da 2 e 3, per introduzione di ∧
7. 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) – da 4 e 6, per eliminazione di ⇔
Utilizzando FOL, si possono esprimere conoscenze molto articolate e, almeno in linea di
principio, eseguire in modo automatico ragionamenti complessi. Ci sono, tuttavia,
due problemi. Il primo è che in FOL, la procedura di deduzione non è una procedura
di decisione ma soltanto di semidecisione. Ciò significa che:
• quando la conclusione è deducibile dalle premesse, essa arriva in un numero finito di
passi
• quando la conclusione non è deducibile dalle premesse, la procedura non
termina e il sistema può entrare in loop
CAPITOLO 3: RAPPRESENTAZIONE DELLA CONOSCENZA
12
Il secondo è che, anche nei casi in cui termina, la procedura è molto costosa
computazionalmente.
Entrambi i problemi dipendono dalla notevole espressività di FOL: come è naturale, più un
linguaggio di rappresentazione è espressivo, più sono complesse le procedure di
ragionamento basate su di esso. Molte ricerche nel campo dei linguaggi di KR hanno
l’obiettivo di identificare un sottolinguaggio di FOL tale che:
• il linguaggio sia comunque abbastanza espressivo per le applicazioni
• la deduzione si basi su una procedura di decisione
• la procedura di deduzione abbia complessità accettabile
I sistemi di questo tipo hanno preso il nome di logiche descrittive (Description Logic).
Le DL utilizzando una sintassi semplificata rispetto a FOL.
Per esempio:
La corrispondenza tra FOL e DL, per quanto riguarda l’esempio precedente,
diventa:
∀𝑥𝑥 �𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝑥𝑥) ⇔ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥) ∧ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝑥𝑥, 𝑦𝑦)� 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ≡ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ∩ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹
𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴)
𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵) 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵)
Nel mondo delle applicazioni, comunque, si usa spesso una rappresentazione grafica.
Antonio Tandoi Ingegneria della conoscenza
13
CAPITOLO 4: MODELLI DI RAPPRESENTAZIONE
In svariate aree dell’informatica si utilizzano sistemi di rappresentazione per scopi e usi
differenti. Al di là delle differenze, tutti i sistemi di rappresentazione condividono alcune
caratteristiche comuni, che verranno qui analizzate.
Il primo concetto da analizzare è la distinzione
tra realtà e rappresentazione. Ogni
rappresentazione, infatti, è necessariamente la
rappresentazione di qualcosa e questo “qualcosa”
è un frammento della realtà interessante per
qualche applicazione.
A sua volta, una rappresentazione può essere analizzata a tre livelli distinti:
• modello concreto: rappresentazione dei fatti che sussistono nel frammento di realtà
(“Alberto Bianchi è iscritto a Ingegneria presso il Politecnico di Bari”)
• modello concettuale: rappresentazione dei concetti utilizzati per formulare il
modello concentro (per esprimere il concetto precedente è necessario avere i
concetti di individuo, facoltà, iscrizione…)
• metamodello: specifica degli strumenti formali utilizzabili per definire il modello
concettuale e il modello concreto (ad esempio predicati e operatori logici, entità
e relazioni…)
CAPITOLO 4: MODELLI DI RAPPRESENTAZIONE
14
4.1 SISTEMI PER LA RAPPRESENTAZIONE DELLE CONOSCENZE
Un KRS è comunque un sistema di rappresentazione e come tale si articola nei tre livelli
esaminati precedentemente. La differenza principale di un KRS, tuttavia, sta in questo:
• nei campi dei database e delle specifiche software, i modelli concettuali (ER, UML…)
rappresentano un passo importante nello sviluppo di un sistema, ma non fanno parte
del prodotto finale
• nei KRS, invece, i modelli concettuali sono parte integrante del prodotto
finale, in quanto sono disponibili e vengono utilizzati a runtime dai sistemi software
Un KRS, infatti, è costituito da cinque componenti principali:
• una Terminological Box (TBox), che rende disponibile e accessibile in linea la
rappresentazione formale del modello concettuale di un frammento di
realtà
• una Assertion Box (ABox), che rende disponibile e accessibile in linea la
rappresentazione formale del modello concreto di un frammento di realtà
• un insieme di reasoning services, in grado di dedurre nuove conoscenze da
quelle contenute nelle TB e AB
• un’interfaccia di accesso, che consente l’accesso alle conoscenze contenute nella
TB e nella AB da parte di sistemi software
• un’interfaccia di editing, che consente la gestione dei contenuti della TB e della
AB da parte di un operatore umano
Antonio Tandoi Ingegneria della conoscenza
15
CAPITOLO 5: TERMINI E ONTOLOGIE
Il linguaggio formale di una DL serve a definire termini che descrivono concetti.
Per esempio:
(1) 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 è un termine che intuitivamente significa “persona
di genere femminile”. Anche la semplice espressione (2) 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 è un termine,
che intuitivamente significa “donna”
Le espressioni come (2) sono detti termini atomici, mentre quelle come (1) sono detti
termini complessi. Nel campo delle DL è d’uso indicare generici termini atomici con le
lettere A e B, e generici termini complessi con le lettere C e D. Inoltre i termini atomici
sono spesso chiamati concetti o classi (perché denotano insiemi di oggetti della realtà).
Una equivalenza terminologica esprime l’equivalenza tra due termini complessi C e D
(𝐶𝐶 ≡ 𝐷𝐷). Nel caso, invece, in cui si abbia 𝐴𝐴 ≡ 𝐷𝐷 con A atomico, si ha una definizione
terminologica.
Per esempio:
𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 è una definizione terminologica; più
precisamente si tratta della definizione del termine DONNA in funzione dei
termini PERSONA e FEMMINA
Infine, chiamiamo ontologia un insieme finito di definizioni terminologiche. La funzione
di un’ontologia è di assegnare un significato non ambiguo ai termini atomici, in
base al significato di altri termini, i quali a loro volta avranno un significato grazie a
ulteriori definizioni terminologiche e così via. Questo processo, tuttavia, non può essere
continuato all’infinito: dato che ogni ontologia è finita, prima o poi si arriva a termini
privi di una definizione, che vanno considerati come primitivi. Ogni ontologia, quindi, si
basa su un insieme più o meno grande di termini primitivi, di cui non si dà alcuna definizione.
Il significato di tutti i termini utilizzati dipende, attraverso le definizioni
terminologiche, dal significato dei termini primitivi: se questi non sono definitivi,
l’intera ontologia è priva di fondamenta.
CAPITOLO 5: TERMINI E ONTOLOGIE
16
Il problema di assegnare un significato anche a termini primitivi è detto symbol grounding.
5.1 SEMANTICA DEI TERMINI
Per le espressioni di una DL è possibile specificare una semantica formale, che associa a ogni
termine un’interpretazione definita in modo insiemistico. Mentre a ogni termine è
possibile associare una formula di FOL, non è vero l’inverso: le DL sono, infatti,
sottoinsiemi propri di FOL, quindi esistono formule di FOL che non corrispondono ad alcun
termine.
In generale, la traduzione di un termine atomico o complesso in FOL fornisce come
risultati una formula con esattamente una variabile libera. In particolare, ogni
termine atomico A si traduce con una formula del tipo 𝐴𝐴(𝑥𝑥), dove 𝐴𝐴(−) è un predicato a un
argomento e 𝑥𝑥 e è una variabile.
Per esempio:
𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ⇒ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥)
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ⇒ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑥𝑥)
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑥𝑥)
Per capire il senso di questa regola, si consideri come esempio la traduzione 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 in
𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥). Data una certa porzione predefinita della realtà, detta dominio, ogni termine
determina un’estensione, definita come l’insieme di tutti gli individui del dominio cui il
termine si applica.
Per esempio:
Se il dominio comprende tutti gli elementi presenti in un’aula durante una
lezione, l’estensione in quel dominio del termine 𝑫𝑫𝑫𝑫𝑫𝑫𝑫𝑫𝑫𝑫, è costituito da tutte
le donne presenti nell’aula. Ora, questi individui sono appunto i possibili
valori della variabile 𝒙𝒙 che rendono vera la formula predicativa 𝑫𝑫𝑫𝑫𝑫𝑫𝑫𝑫𝑫𝑫(𝒙𝒙).
L’idea generale è appunto questa: dato un termine atomico A, la semantica del termine
deve consentire di identificare l’estensione di A nel dominio; tale estensione è
rappresentata da tutti e soli gli individui del dominio che rendono vera la formula 𝐴𝐴(𝑥𝑥)
quando siano assunti come valori della 𝑥𝑥.
Nelle DL sono solitamente utilizzate due termini predefiniti: T e ⊥, che corrispondono
rispettivamente al concetto universale (totalità degli individui esistenti) e concetto
vuoto (insieme vuoto di individui).
Antonio Tandoi Ingegneria della conoscenza
17
L’operatore di intersezione corrisponde al connettivo booleano di congiunzione.
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑥𝑥) ∧ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑥𝑥)
L’operatore di equivalenza corrisponde al connettivo booleano bicondizionale.
𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥) ⇔ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑥𝑥) ∧ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑥𝑥)
5.2 ALTRI OPERATORI
Utilizzando l’operatore di negazione ¬ è possibile definire il complemento di un elemento
𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈(𝑥𝑥) ⇔ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑥𝑥) ∧ ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑥𝑥)
Un altro operatore utile è quello di unione ∪ che permette di definire gli elementi che ne
raggruppano altri.
𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁 ≡ 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∪ (𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 ∪ 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) ⇒ 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁(𝑥𝑥)
⇔ 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝑥𝑥) ∧ �𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉(𝑥𝑥) ∪ 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴(𝑥𝑥)�
5.3 TERMINI BASATI SU RUOLI
Oltre ai termini corrispondenti a predicati con un argomento (classi), le DL utilizzano termini
corrispondenti a predicati a due argomenti, che esprimono relazioni binarie fra individui
della realtà; tali termini vengono detti ruoli, proprietà, attributi o relazioni.
Un esempio di definizione terminologica con ruolo è 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ≡ ∃ 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹 che
intuitivamente significa “genitore è chi ha un figlio”. L’espressione ∃ 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹 è un
termine complesso, formato dal quantificatore esistenziale e dal ruolo FIGLIO. Inoltre:
∃ 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹 ⇒ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝑥𝑥, 𝑦𝑦)
Si noti che l’espressione contiene due variabili; tuttavia, la seconda è vincolata dal
quantificatore esistenziale, pertanto x è l’unica variabile libera della formula.
CAPITOLO 5: TERMINI E ONTOLOGIE
18
Antonio Tandoi Ingegneria della conoscenza
19
CAPITOLO 6: RUOLI
6.1 TERMINI CON RUOLI
Come si è visto, il termine GENITORE può essere definito utilizzando un ruolo, che esprime
una relazione binaria fra individui del dominio. Nelle DL, i generici ruoli vengono indicati
con R e S. Si noti che espressioni del tipo ∃𝑅𝑅 si comportano esattamente come i conetti: in
particolare possono essere combinate con altri concetti medianti gli operatori
precedentemente introdotti.
𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ≡ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ∩ ∃ 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹
Anche il quantificatore universale di FOL ha un operatore corrispondente nelle DL. Si
supponga, ad esempio, di voler definire come “MADRE-F” una madre che ha soltanto figlie
femmine:
𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 − 𝐹𝐹 ≡ 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∩ ∀𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹. 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 − 𝐹𝐹(𝑥𝑥)
↔ 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝑥𝑥) ∧ ∀𝑦𝑦 �𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑥𝑥, 𝑦𝑦) → 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑦𝑦)�,
ovvero: una “MADRE-F è una madre tale che ogni suo figlio è femmina”.
Si noti che un’espressione DL del tipo ∀𝑅𝑅. 𝐶𝐶, con R generico ruolo e C generico concetto, si
limita a porre un vincolo di tipo sugli eventuali individui y con cui x abbia una
relazione R: l’espressione ∀𝑅𝑅. 𝐶𝐶 non implica tuttavia che tali individui esistano.
Per capire meglio questo punto, consideriamo la definizione:
𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 − 𝐹𝐹 ≡ ∀𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹. 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝑅𝑅𝑅𝑅 − 𝐹𝐹(𝑥𝑥)
↔ ∀𝑦𝑦 �𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑥𝑥, 𝑦𝑦) → 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑦𝑦)�
che dice che “un GENITORE-F è un individuo in cui tutti i figli sono femmine”;
tuttavia, questa condizione è soddisfatta anche per chi è priva di figli perché, appunto, “un
individuo i cui figli sono tutti femmine”, significa “un individuo x tale che se y è figlio
di x, allora y è femmina”. Una definizione corretta può essere che si deve richiedere
l’esistenza di almeno un figlio.
𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 − 𝐹𝐹 ≡ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ∩ ∀𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹. 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹 𝐴𝐴
CAPITOLO 6: RUOLI
20
In alcune DL è possibile vincolare anche il tipo dei valori introdotti del
quantificatore esistenziale. Ad esempio, possiamo definire il concetto di “GENITORE-
UN-M” come un individuo che ha almeno un figlio maschio:
𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 − 𝑈𝑈𝑈𝑈 − 𝑀𝑀 ≡ ∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹. ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 − 𝑈𝑈𝑈𝑈 − 𝑀𝑀(𝑥𝑥)
↔ ∃𝑦𝑦 �𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑥𝑥, 𝑦𝑦) ∧ ¬ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑦𝑦)�
Più in generale, nella maggior parte delle DL è possibile esprimere vincoli di cardinalità sui
ruoli come:
≤ 𝑛𝑛𝑛𝑛 ∃≤𝑛𝑛 𝑦𝑦 𝑅𝑅(𝑥𝑥, 𝑦𝑦) ≤ 𝑛𝑛𝑛𝑛 ∃≤𝑛𝑛 𝑦𝑦 �𝑅𝑅(𝑥𝑥, 𝑦𝑦) ∧ 𝐶𝐶(𝑥𝑥)�
≥ 𝑛𝑛𝑛𝑛 ∃≥𝑛𝑛 𝑦𝑦 𝑅𝑅(𝑥𝑥, 𝑦𝑦) ≥ 𝑛𝑛𝑛𝑛 ∃≥𝑛𝑛 𝑦𝑦 �𝑅𝑅(𝑥𝑥, 𝑦𝑦) ∧ 𝐶𝐶(𝑥𝑥)�
𝑛𝑛𝑛𝑛 ≤ 𝑛𝑛𝑛𝑛 ∩ ≥ 𝑛𝑛𝑛𝑛 𝑛𝑛𝑛𝑛. 𝐶𝐶 ≤ 𝑛𝑛𝑛𝑛. 𝐶𝐶 ∩ ≥ 𝑛𝑛𝑛𝑛. 𝐶𝐶
6.2 INVERSIONE DEI RUOLI
In molti casi è necessario invertire i ruoli, ossia invertire l’orientamento della
relazione binaria corrispondente a un ruolo. Più precisamente, se la semantica del
ruolo R si esprime in FOL come 𝑅𝑅(𝑥𝑥, 𝑦𝑦), allora la semantica del ruolo inverso R– si esprime
in FOL invertendo l’ordine delle variabili x e y, ovvero come 𝑅𝑅(𝑦𝑦, 𝑥𝑥).
Per esempio:
Supponiamo ad esempio di voler considerare come “italiano d’adozione”
ogni cittadino italiano che abbia ambedue i genitori stranieri. Partendo
dal concetto di “cittadino italiano” e dal ruolo di “figlio” possiamo dare la
definizione seguente:
𝐼𝐼𝐼𝐼 − 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 ≡ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝐼𝐼𝐼𝐼 ∩ ∀𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹. ¬𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝐼𝐼𝐼𝐼 ⇒ 𝐼𝐼𝐼𝐼 − 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴(𝑥𝑥)
↔ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝐼𝐼𝐼𝐼(𝑥𝑥) ∧ ∀𝑦𝑦 �𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑥𝑥, 𝑦𝑦) → ¬𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝐼𝐼𝐼𝐼(𝑦𝑦)�
6.3 DOMINIO E CODOMINIO
Spesso è utile delimitare il dominio e il codominio di un ruolo, ovvero gli insiemi di
individui che possono comparire come valori della x (dominio) e come valori della y
(codominio) nell’espressione 𝑅𝑅(𝑥𝑥, 𝑦𝑦). Molti linguaggi per ontologie dispongono di simboli
Antonio Tandoi Ingegneria della conoscenza
21
specifici per definire il dominio di un ruolo e il suo codominio (in genere denominato
range).
Si supponga, ad esempio di voler affermare che il ruolo “età” esprima sempre una
relazione binaria tra persone e numeri naturali. La seguente equivalenza terminologica
dice che il codominio del ruolo “età” è la classe dei numeri naturali:
𝑇𝑇 ≡ ∀𝐸𝐸𝐸𝐸à. 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁 ⇒ 𝑥𝑥 = 𝑥𝑥 ↔ ∀𝑦𝑦 �𝐸𝐸𝐸𝐸à(𝑥𝑥, 𝑦𝑦) → 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁(𝑦𝑦)�
Per affermare che il dominio del ruolo “età” è la classe delle persone, si possono seguire due
strade. La più semplice è definire il dominio come codominio del ruolo inverso.
𝑇𝑇 ≡ ∀𝐸𝐸𝐸𝐸à. 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ⇒ ∀𝑦𝑦 �𝐸𝐸𝐸𝐸à(𝑥𝑥, 𝑦𝑦) → 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑦𝑦)�
che dice appunto che l’individuo che ha un’età, se esiste, è sempre una persona.
Tuttavia, questa strada non sempre è percorribile perché alcune DL non
ammettono l’inversione dei ruoli.
Infine, si richiamano l’attenzione sul fatto che le definizioni precedenti siano dei puri vincoli
sui valori che la x e la y possono assumere nell’espressione 𝑅𝑅(𝑥𝑥, 𝑦𝑦); nulla, invece, è affermato
sul fatto che ogni persona abbia effettivamente un’età o che ogni naturale sia l’età di qualche
persona. In altre parole, tali definizioni sono compatibili con l’esistenza di persone
prive di età o dotate di più età differenti!
6.4 I RUOLI FUNZIONALI
Una relazione funzionale o funzione è una relazione binaria con le seguenti proprietà:
1. ogni elemento del dominio è in relazione con almeno un elemento del codominio
2. ogni elemento del dominio è in relazione con al più un elemento del codominio
Ne segue, naturalmente, che quando una relazione binaria è funzionale ogni elemento
del dominio è in relazione con esattamente un elemento del codominio. Nelle DL,
un ruolo che esprima una funzione è detto ruolo funzionale. Ad esempio, il ruolo “età” è
funzionale perché ogni persona ha esattamente un’età. Per esprimere questo fatto è
sufficiente affermare che la classe delle persone coincide con la classe egli individui che hanno
esattamente un’età.
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ 1𝐸𝐸𝐸𝐸𝐸𝐸′
Si noti, tuttavia, che tale definizione non elimina la necessità di definire comunque un
dominio di “età”; infatti, tale definizione non esclude la possibilità che tale dominio sia più
CAPITOLO 6: RUOLI
22
ampio di tutte le persone: tutti gli individui di questa classe più ampia che non siano
persone avrebbero però un insieme di valori di età di cardinalità pari a 0 o
maggiore di 1.
Nelle DL, un ruolo che esprime una relazione funzionale è detto ruolo funzionale.
Per esempio:
𝑇𝑇 ≡ ∀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀−
. 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷, 𝑇𝑇 ≡ ∀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀. 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈
Il ruolo “marito” è funzionale perché ogni donna ha al più un marito. Per
esprimere questo concetto è sufficiente affermare che la classe delle donne
coincida con la classe degli individui che hanno al più un marito:
𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ≡≤ 1𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀
Si noti che la precedente relazione non elimina la necessità di definire
comunque il dominio di “marito” con la prima relazione. Infatti, essa da
sola non esclude la possibilità che il dominio di “marito” sia più ampio
dell’insieme delle donne: tutti gli individui di questa classe più ampia che
non siano donne avrebbero un insieme di mariti di cardinalità maggiore di
1. Questa possibilità è però esclusa dalla prima relazione, che dice che
qualsiasi individui che abbia un marito è una donna.
Dato che ogni funzione è anche una relazione funzionale, ne segue che ogni funzione mette
in relazione ciascun elemento del dominio (argomento della funzione) con esattamente
un elemento del codominio (valore della funzione). Nelle DL, un ruolo che sia una funzione
è detto ruolo funzione o semplicemente funzione.
Antonio Tandoi Ingegneria della conoscenza
23
CAPITOLO 7: ASSERTION BOX
7.1 SUSSUNZIONE
Finora, sono stati usati esempi di ontologie usando esclusivamente equivalenze
terminologiche del tipo 𝑪𝑪 ≡ 𝑫𝑫. In molti casi interessanti, tuttavia, la relazione fra due
termini è più debole. Si supponga, ad esempio, di voler specificare che i gatti siano animali
domestici. Non è possibile utilizzare un’equivalenza, perché naturalmente esistono animali
domestici che non sono gatti. La relazione trai i due termini, dunque, può esprimersi nel
ruolo seguente.
𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ⊆ 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 − 𝐷𝐷𝐷𝐷𝐷𝐷
L’operatore ⊆ è detto operatore di sussunzione e si dice che GATTO è sussunto da
ANIM-DOM mentre ANIM-DOM sussume GATTO.
In generale, è possibile specificare una sussunzione fra termini arbitrari:
𝐶𝐶 ⊆ 𝐷𝐷 ⇒ 𝐶𝐶(𝑥𝑥) → 𝐷𝐷(𝑥𝑥)
In linea di principio, la sussunzione è sempre sostituibile da un’equivalenza, pur di
introdurre concetti fittizi.
7.2 NOMINALI E TERMINI ENUMERATIVI
Nelle ontologie è spesso possibile utilizzare anche nomi specifici detti nominali.
{𝑎𝑎1 … 𝑎𝑎𝑛𝑛} ⇒ 𝑥𝑥 = 𝑎𝑎1 ∨ 𝑥𝑥 = 𝑎𝑎𝑛𝑛
L’operatore {} è detto one-of, perché enumera tutti i valori che la variabile x può assumere.
Va sottolineato che, contrariamente a FOL, vale nelle DL la unique name assumption:
significa che due nominali distinti non possono mai fare riferimento allo stesso
individui del dominio. In termini logici, vale l’assioma:
𝑎𝑎1 ≠ 𝑎𝑎2 ∧ 𝑎𝑎1 ≠ 𝑎𝑎3 ∧ … 𝑎𝑎𝑛𝑛−1 ≠ 𝑎𝑎𝑛𝑛
Nelle DL non vale invece un’altra assunzione, ossia la domain closure assumption; tale
assunzione richiede che il dominio di tutti gli individui contenga soltanto degli
individui cui si può fare riferimento con un nominale.
CAPITOLO 7: ASSERTION BOX
24
7.3 ASSERTION BOX
Come si è già detto, un sistema di rappresentazione delle conoscenze consta di una TBox e
di una ABox. La TBox contiene essenzialmente le conoscenze terminologiche e definisce una
ontologia. La ABox, invece, contiene conoscenze fattuali. Nelle DL si possono esprimere due
tipi di conoscenze fattuali. Sono infatti ammesse asserzioni del tipo C(a) o R(a,b).
La semantica di FOL di C(a) si ottiene traducendo in FOL il termine C e sostituendo
tutte le occorrenze della variabile libera in tale traduzione con il nominale a. Allo
stesso modo, la semantica della formula DL R(a,b) è invece data semplicemente dalla
formula FOL R(a,b).
Si può nominare una terza assunzione detta closed world assumption, tipica del mondo
dei DB e delle IA. In altri termini, l’assunzione significa che:
• tutto ciò che è esplicitamente asserito nell’ABox è vero
• tutto ciò che non è esplicitamente asserito nell’ABox è falso
Questa assunzione non viene adottata nel mondo delle DL. Si noti tra l’altro che
un’assunzione del genere presuppone la conoscenza completa del mondo dell’applicazione:
infatti, se tutto ciò che si asserisce è vero e tutto ciò che non si asserisce è falso
non è possibile assumere rispetto a un fatto una posizione intermedia (non so se
sia vero o falso). La semantica dell’ABox delle DL è invece compatibile con una situazione
di conoscenza parziale: di alcune cose si sa che sono vere, di altre che sono false, di altre
ancora non si sa nulla.
Antonio Tandoi Ingegneria della conoscenza
25
CAPITOLO 8: LINGUAGGIO OWL
OWL (Web Ontology Language) è lo standard attualmente proposto per la
definizione di ontologie per il Semantic Web. OWL prevede tre livelli di complessità
crescente:
• OWL Lite: semplice da implementare ma scarsamente espressivo
• OWL DL: abbastanza espressivo ma comunque decidibile e dotato di procedure di
ragionamento di complessità nota, approfonditamente studiate e ottimizzate
• OWL Full: consente di definire rappresentazioni che vanno al di là della logica
predicativa del primo ordine; è molto espressivo ma non decidibile e quindi
problematico dal punto di vista della meccanizzazione del ragionamento
Un’ontologia OWL si articola, come per ogni DL, in una TBox e una ABox, ambedue
rappresentati come grafi RDF. La rappresentazione RDF delle ontologie OWL presenta
grandi vantaggi per l’interoperabilità delle applicazioni, ma è difficilmente leggibile
e alquanto confusa, a causa delle numerose varianti consentite da RDF.
D’altra parte, gli strumenti per la definizione di ontologie utilizzano in genere interfacce
grafiche che nascondono all’utente la rappresentazione RDF.
8.1 DESCRIZONE DI CLASSI
Nel linguaggio OWL i termini sono denominati descrizioni di classi, gli operatori per la
definizione di termini sono denominati costruttori di classi e i ruoli sono denominati
proprietà. OWL prevede sei tipi di descrizioni di classi:
• identificatore
• enumerazione
• restrizione di proprietà
• intersezione
• unione
• complemento
CAPITOLO 8: LINGUAGGIO OWL
26
IDENTIFICATORE
Ogni descrizione di classe descrive una risorsa di tipo owl:Class. Nel caso più semplice, la
descrizione consta di un identificatore della classe. Dato che gli identificatori di classi
corrispondono ai termini atomici delle DL, si continuerà a chiamarli A o B. OWL
prevede due identificatori anche per la classe universale e la classe vuota: owl:Thing e
owl:Nothing rispettivamente.
Ogni individuo 𝑎𝑎1 è un elemento di owl:Class.
ENUMERAZIONE
Una classe finita può essere descritta dall’enumerazione, ossia owl:OneOf, di individui che
appartengono a un insieme.
RESTRIZIONI DI PROPRIETA’
In OWL sono dette restrizioni di proprietà le descrizioni di classi seguenti:
∃𝑅𝑅. 𝐶𝐶 ⇒ owl:someValuesFrom ∀𝑅𝑅. 𝐶𝐶 ⇒ owl:allValuesFrom
∀𝑅𝑅. {𝑎𝑎} ⇒ owl: hasValue ≤ 𝑛𝑛𝑛𝑛 ⇒ owl:maxCardinality
≥ 𝑛𝑛𝑛𝑛 ⇒ owl:minCardinality = 𝑛𝑛𝑛𝑛 ⇒ owl:Cardinality
Si noti che le restrizioni di cardinalità non consentono di specificare una classe di
appartenenza per i valori della proprietà; s’intende quindi che tali valori appartengono
al range della proprietà, che può essere definito a parte.
INTERSEZIONE
Una classe finita può essere descritta dall’enumerazione, ossia owl:intersectionOf, un
numero finito di classi 𝐶𝐶1 ∩ … ∩ 𝐶𝐶𝑛𝑛
UNIONE
Una classe finita può essere descritta dall’enumerazione, ossia owl:unionOf, un numero
finito di classi 𝐶𝐶1 ∪ … ∪ 𝐶𝐶𝑛𝑛
COMPLEMENTO
Una classe finita può essere descritta dall’enumerazione, ossia owl:complementOf, un
numero finito di classi ¬𝐶𝐶
Antonio Tandoi Ingegneria della conoscenza
27
8.2 ASSIOMI DI CLASSE
In OWL le definizioni terminologiche della TBox sono dette assiomi di classe e possono
essere di tre tipi:
• assiomi di sottoclasse
• assiomi di equivalenza
• assiomi di disgiunzione.
SOTTOCLASSI
Fra due descrizioni di classi, C e D, si può definire una relazione di sottoclasse, ossia
owl:subClassOf. Questa relazione, corrisponde alla sussunzione terminologica nelle DL:
𝐶𝐶 ⊆ 𝐷𝐷.
EQUIVALENZA
Fra due descrizioni di classi, C e D, si può definire una relazione di equivalenza, ossia
owl:equivalentClass, che corrisponde all’equivalenza terminologica nelle DL:
𝐶𝐶 ≡ 𝐷𝐷.
DISGIUNZIONE
Fra due descrizioni di classi, C e D, si può dichiarare una relazione di disgiunzione, ossia
owl:disjointWith, che corrisponde all’equivalenza:
𝐶𝐶 ∩ 𝐷𝐷 ≡ ⊥.
8.4 PROPRIETÀ
In OWL anche proprietà (corrispondenti ai ruoli nelle DL) possono essere viste come
particolari classi. Come tali, le proprietà possono avere sottoproprietà ed essere
combinate con vari costruttori.
Così come ogni classe di individui è una risorsa di tipo owl:Class, le proprietà possono
essere risorse di tipo owl:ObjectProperty (proprietà di individui) oppure
owl:DatatypeProperty (proprietà di dati). In OWL si possono specificare i seguenti
aspetti relativi alle proprietà:
• identificatore di proprietà
• dominio e codominio (range)
CAPITOLO 8: LINGUAGGIO OWL
28
• sottoproprietà
• proprietà equivalente
• proprietà inversa.
IDENTIFICATORE DI PROPRIETA’
Un identificatore di proprietà corrisponde a un ruolo e sarà quindi indicato con R o S.
RANGE
Di una proprietà possono essere specificati il dominio (rdfs:domain) e il codominio
(rdfs:range). Tali specifiche sono equivalenti alle equivalenze:
𝑇𝑇 ≡ ∀𝑅𝑅– . 𝐶𝐶
𝑇𝑇 ≡ ∀𝑅𝑅. 𝐶𝐶
SOTTOPROPRIETA’
Una proprietà può essere definita come sottoproprietà di rdfs:subPropertyOf un’altra
proprietà.
𝑅𝑅 ⊆ 𝑆𝑆 ⇒ 𝑅𝑅(𝑥𝑥, 𝑦𝑦) → 𝑆𝑆(𝑥𝑥, 𝑦𝑦)
PROPRIETÀ EQUIVALENTE
Una proprietà può essere definita come equivalente, ossia owl:equivalentProperty, a
un’altra proprietà.
𝑅𝑅 ≡ 𝑆𝑆 ⇒ 𝑅𝑅(𝑥𝑥, 𝑦𝑦) ↔ 𝑆𝑆(𝑥𝑥, 𝑦𝑦).
PROPRIETA’ INVERSA
Data una proprietà R si può definire la proprietà inversa, ossia owl:inverseOf, R–. Sulle
proprietà è possibile definire vincoli globali di cardinalità, ovvero:
• funzionalità
• funzionalità inversa
Una proprietà R è funzionale (owl:FunctionalProperty) se 𝑇𝑇 ≡ ≤ 1𝑅𝑅. Una proprietà R
è funzionale inversa (owl:InverseFunctionalProperty) se 𝑇𝑇 ≡ ≤ 1𝑅𝑅–.
Antonio Tandoi Ingegneria della conoscenza
29
SIMMETRIA
Una proprietà R è simmetrica se 𝑅𝑅– ⊆ 𝑅𝑅, il che implica 𝑅𝑅– ≡ 𝑅𝑅. In OWL è possibile
dichiarare direttamente che una proprietà è simmetrica (owl:SymmetricProperty).
TRANSITIVITA’
La transitività di una proprietà R non si può esprimere con gli strumenti logici visti finora.
Per esprimere la transitività, infatti, occorrerebbe prima introdurre il concetto di
composizione di ruoli. Dati due ruoli, R ed S, allora:
(𝑅𝑅 ∙ 𝑆𝑆)(𝑥𝑥, 𝑦𝑦) ↔ ∃𝑧𝑧�𝑅𝑅(𝑥𝑥, 𝑧𝑧) ∧ 𝑆𝑆(𝑧𝑧, 𝑦𝑦)�.
Avendo a disposizione l’operatore di composizione sarebbe possibile specificare la transitività
di R nel modo seguente: 𝑅𝑅 ∙ 𝑅𝑅 ⊆ 𝑅𝑅.
Questa strada non è percorribile in OWL perché esso non prevede la composizione dei ruoli;
tuttavia, è possibile dichiarare una proprietà transitiva (owl:TransitiveProperty).
8.5 INDIVIDUI E FATTI
In OWL le asserzioni dell’ABox sono detti fatti. Si introducono due tipi di fatti:
• fatti relativi all’appartenenza di un individuo a una classe o ai valori di una
proprietà di un individuo
• fatti relativi all’identità di uno o più individui.
APPARTENENZA A UNA CLASSE E VALORI DI UNA
PROPRIETÀ
In OWL è possibile specificare che un individuo a appartiene a una classe C, 𝐶𝐶(𝑎𝑎), oppure
che una proprietà R di un individuo a ha valore b, 𝑅𝑅(𝑎𝑎, 𝑏𝑏).
IDENTITÀ
Il linguaggio OWL non assume che gli individui abbiano nome unico. Quindi è possibile
asserire che due nomi fanno riferimento allo stesso individuo (owl:sameAs): 𝑎𝑎 = 𝑏𝑏 .
Analogamente è possibile asserire che due nomi fanno riferimento al individui distinti
(owl:differentFrom): 𝑎𝑎 ≠ 𝑏𝑏.
E’ anche possibile asserire che n individui sono tutti distinti fra loro (owl:AllDifferent).
CAPITOLO 8: LINGUAGGIO OWL
30
8.6 SHOIN
A questo punto è possibile spiegare perché OWL venga descritto come una logica descrittiva
di tipo SHOIN(Dn) Negli acronimi delle DL:
• la lettera S indica la possibilità di utilizzare i termini seguenti:
𝑻𝑻, ⊥, 𝑪𝑪 ∩ 𝑫𝑫, 𝑪𝑪 ∪ 𝑫𝑫, ¬𝑪𝑪, ∀𝑹𝑹. 𝑪𝑪, ∃𝑹𝑹. 𝑪𝑪, 𝑻𝑻𝑻𝑻(𝑹𝑹);
• la lettera H (da role Hierarchy) indica la possibilità di definire relazioni di
inclusione fra ruoli:
𝑹𝑹 ⊆ 𝑺𝑺
• la lettera O (da One of) indica la possibilità di definire termini per enumerazione:
{𝒂𝒂𝟏𝟏 … 𝒂𝒂𝒏𝒏}
• la lettera I indica la possibilità di definire il ruolo inverso:
𝑹𝑹–
• la lettera N indica la possibilità di definire cardinalità non qualificate (le cardinalità
qualificate ≤nR.C, ≥nR.C e =nR.C si indicano invece con la lettera Q)
≤ 𝒏𝒏𝒏𝒏, ≥ 𝒏𝒏𝒏𝒏, = 𝒏𝒏𝒏𝒏
• infine, Dn indica la possibilità di utilizzare vari tipi di dati all’interno della logica.
Antonio Tandoi Ingegneria della conoscenza
31
CAPITOLO 9: CONSEGUENZE LOGICHE
L’aspetto che distingue nettamente una base di conoscenze da un database è la possibilità
di condurre ragionamenti in modo automatico. Poiché una base di conoscenze, KB, è
costituita da una TBox, T, e da un’ABox, A, si scrive in generale KB = 〈T,A〉.
Nel contesto della logica, quando si parla di “ragionamento” ci si riferisce sempre a
ragionamenti di tipo deduttivo, o più semplicemente deduzioni. In generale, un
ragionamento è un procedimento che porta a verificare se un enunciato X (ad esempio la
sussunzione o l’equivalenza di due termini) è conseguenza logica di una base di
conoscenze.
Intuitivamente un enunciato X è conseguenza logica di una base di conoscenze KB
quando X è necessariamente vero in ogni situazione concreta in cui siano vere
le definizioni terminologiche e i fatti contenuti in KB. In tal caso, si scrive 𝑲𝑲𝑲𝑲 | =
𝑋𝑋, che si legge: KB implica logicamente (entails) X.
Per esempio:
Si consideri, ad esempio, la TBox T contenente le definizioni seguenti:
𝑇𝑇1. 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ ∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹
𝑇𝑇2. 𝑇𝑇 ≡ ∀𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹– . 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃
𝑇𝑇3. 𝑇𝑇 ≡ ∀𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹. 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃
𝑇𝑇4. 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹
𝑇𝑇5. 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹
𝑇𝑇6. 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ≡ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹
𝑇𝑇7. 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ∩ ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹
È chiaro che il contenuto di T implica logicamente che certi enunciati, pur
non essendo contenuti esplicitamente in T, sono necessariamente veri sotto
l’ipotesi che sia vero il contenuto di T.
CAPITOLO 9: CONSEGUENZE LOGICHE
32
Ad esempio:
• ogni madre è una persona nonché una donna
• ogni padre è una persona nonché un uomo;
• la classe delle madri e la classe dei padri sono disgiunte.
Questi enunciati possono essere scritti formalmente nel modo seguente.
𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ⊆ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃
𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ⊆ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ⊆ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ⊆ 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈
𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∩ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ ⊥
Per segnalare che questi enunciati sono conseguenze logiche di T scriviamo
quindi
𝑻𝑻 | = 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ⊆ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃
È necessario, ora, distinguere tre concetti distinti:
• compito di ragionamento (reasoning task): i tipi di enunciati che si desidera
dedurre da una base di conoscenze
• procedura di ragionamento: l’algoritmo per la deduzione degli enunciati
• servizio di ragionamento: i servizi basati su procedure di ragionamento che uno
strumento mete a disposizione delle applicazioni che accedono alla base di conoscenze
9.1 COMPITI DI RAGIONAMENTO RELATIVI ALLE TBOX
Per quanto riguarda le TBox, i compiti di ragionamento più significativi per le applicazioni
sono i seguenti:
• sussunzione: data una TBox T, stabilire se una sussunzione 𝐶𝐶 ⊆ 𝐷𝐷 è conseguenza
logica di T, ovvero stabilire se 𝑻𝑻 | = 𝐶𝐶 ⊆ 𝐷𝐷
• equivalenza: data una TBox T, stabilire se un’equivalenza 𝐶𝐶 ≡ 𝐷𝐷 è conseguenza
logica di T, ovvero stabilire se 𝑻𝑻 | = 𝐶𝐶 ≡ 𝐷𝐷
• soddisfacibilità: data una TBox T, stabilire se un termine C è soddisfacibile, nel
senso che applicare il termine a un individuo del dominio non comporta una
contraddizione logica
Antonio Tandoi Ingegneria della conoscenza
33
• disgiunzione: data una TBox T, stabilire se due termini C e D sono disgiunti, nel
senso che applicando i due termini contemporaneamente allo stesso
individuo comporta una contraddizione logica
RIDUZIONE DEI COMPITI DI RAGIONAMENTO ALLA
SUSSUNZIONE
I quattro compiti di ragionamento fondamentali per le TBox possono essere ridotti alla sola
sussunzione. Infatti:
• equivalenza: dimostrare 𝑻𝑻 | = 𝐶𝐶 ≡ 𝐷𝐷 equivale a dimostrare che 𝑻𝑻 | = 𝐶𝐶 ⊆ 𝐷𝐷 e
𝑻𝑻 | = 𝐷𝐷 ⊆ 𝐶𝐶
• soddisfacibilità: dimostrare che C è soddisfacibile equivale a dimostrare che non
è insoddisfacibile, ossia che non vale la seguente conseguenza logica 𝑻𝑻 | = 𝐶𝐶 ⊆ ⊥
• disgiunzione: dimostrare che C e D sono disgiunti equivale a dimostrare che
𝑻𝑻 | = 𝐶𝐶 ∩ 𝐷𝐷 ⊆ ⊥.
Dunque un’unica procedura di ragionamento potrebbe essere utilizzata per realizzare
tutti e quattro i compiti di ragionamento fondamentali per le TBox. Questa è la strada che
si segue per implementare i servizi di ragionamento per le DL poco espressive.
RIDUZIONE DEI COMPITI DI RAGIONAMENTO ALLA
SODDISFACIBILITÀ
I quattro compiti di ragionamento fondamentali per le TBox possono anche essere ridotti
alla sola soddisfacibilità. Infatti:
• sussunzione: dimostrare 𝑻𝑻 | = 𝐶𝐶 ⊆ 𝐷𝐷 equivale a dimostrare che 𝑻𝑻 | = 𝐶𝐶 ∩ ¬𝐷𝐷 è
insoddisfacibile
• equivalenza: dimostrare 𝑻𝑻 | = 𝐶𝐶 ≡ 𝐷𝐷 equivale a dimostrare che 𝑻𝑻 | = 𝐶𝐶 ∩ ¬𝐷𝐷 è
insoddisfacibile e 𝑻𝑻 | = ¬𝐶𝐶 ∩ 𝐷𝐷 è insoddisfacibile
• disgiunzione: dimostrare che C e D sono disgiunti equivale a dimostrare che
𝑇𝑇 | = 𝐶𝐶 ∩ 𝐷𝐷 è insoddisfacibile.
Dunque una procedura per stabilire se un termine è o non è soddisfacibile consente di
realizzare i quattro compiti di ragionamento fondamentali per le TBox. Questa è
la strada che si segue per implementare i servizi di ragionamento per le DL molto
espressive, come ad esempio SHOIN.
CAPITOLO 9: CONSEGUENZE LOGICHE
34
9.2 LA PROCEDURA SAT
Per le DL decidibili (come SHOIN) si può formulare una procedura che prende in ingresso
una TBox arbitraria T e un termine arbitrario C e, in un numero finito di passi,
stabilisce se C è o non è soddisfacibile (tenendo conto ovviamente delle definizioni
terminologiche di T). Nelle sue versioni più diffuse questa procedura, chiamata SAT, è
basata sul cosiddetto metodo dei tableaux da tempo studiato e applicato nell’ambito
di FOL.
Per esempio:
Si supponga di voler mostrare che, assumendo la TBox T del precedente
esempio, valga la sussunzione
𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ⊆ ∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹
ovvero che il termine 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∩ ¬∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 sia insoddisfacibile (in altre
parole, non può esistere un individuo che sia una madre e non abbia figli).
La procedura SAT parte in realtà dall’ipotesi che il termine sia
soddisfacibile, e sviluppa un ragionamento sulla base di questa ipotesi
iniziale. A grandi linee, i passi del ragionamento sono i seguenti:
• Se 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∩ ¬∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 è soddisfacibile, allora può esistere un
individuo nell’universo cui il termine si applica. Introducendo un
nominale, a, per identificare questo individuo si può scrivere
(𝟏𝟏) 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∩ ¬∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑎𝑎)
Da 1, poiché l’intersezione è distributiva rispetto all’argomento si
può dedurre che
(𝟐𝟐. 𝟏𝟏) 𝑴𝑴𝑴𝑴𝑴𝑴𝑴𝑴𝑴𝑴(𝒂𝒂)
(𝟐𝟐. 𝟐𝟐) ¬∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑎𝑎)
Da 2.1, applicando la definizione T6, si può dedurre che:
(𝟑𝟑) 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑎𝑎)
Da 3, poiché l’intersezione è distributiva rispetto all’argomento si
può dedurre che:
(𝟒𝟒. 𝟏𝟏) 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺(𝑎𝑎)
Antonio Tandoi Ingegneria della conoscenza
35
(𝟒𝟒. 𝟐𝟐) 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑎𝑎)
Da 4.1, applicando la definizione T1, si può dedurre che
(𝟓𝟓) 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ ∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑎𝑎)
Da 5, poiché l’intersezione è distributiva rispetto all’argomento
possiamo dedurre che
(𝟔𝟔. 𝟏𝟏) 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑎𝑎),
(𝟔𝟔. 𝟐𝟐) ∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑎𝑎).
L’asserzione 6.2 è in contraddizione con la 2.2. Ne segue che l’ipotesi
iniziale (ossia che il termine 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∩ ¬∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑎𝑎) fosse
soddisfacibile) va rifiutata. Quindi il termine è insoddisfacibile.
Dato il rapporto fra insoddisfacibilità e sussunzione, questa deduzione
permette di stabilire che
𝑻𝑻 | = 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ⊆ ∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹
CAPITOLO 9: CONSEGUENZE LOGICHE
36
Antonio Tandoi Ingegneria della conoscenza
37
CAPITOLO 10: ASSERZIONI
Le asserzioni contenute in un’ABox possono essere basate su termini o basate su ruoli;
ovvero, le asserzioni possono assumere una delle due forme seguenti:
• 𝐶𝐶(𝑎𝑎) dove C è un termine arbitrario ed a è un nominale;
• 𝑅𝑅(𝑎𝑎, 𝑏𝑏) dove R è un ruolo e a, b sono nominali.
Va sottolineato che, in linea di principio, si potrebbero limitare le asserzioni basate
su termini ai soli termini atomici. In altre parole, le asserzioni basate su termini
potrebbero assumere la forma:
• 𝐴𝐴(𝑎𝑎) dove A è un termine atomico ed a è un nominale;
In questo modo non si perderebbe generalità, pur di aggiungere alla TBox opportune
definizioni terminologiche del tipo: 𝐴𝐴 ≡ 𝐶𝐶.
Per esempio:
Considerando lo stesso esempio precedente, si potrebbe avere nella TBox
la definizione
𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹,
o in alternativa le due definizioni
𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀, 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ≡ ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹,
che consentirebbero di scrivere 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈(𝐵𝐵𝐵𝐵𝐵𝐵).
Un approccio di questo genere, tuttavia, tende a riempire la TBox di
definizioni poco significative; è quindi preferibile ammettere nell’ABox
asserzioni basate su termini arbitrari. Un caso particolare è costituito dalle
“asserzioni negative”, come ad esempio ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝐵𝐵𝐵𝐵𝐵𝐵).
Tale dichiarazione non va vista come la negazione dell’asserzione positiva
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑏𝑏𝑏𝑏𝑏𝑏), quanto piuttosto come l’asserzione che il termine non
atomico ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 si applica al nominale ‘Bob’.
CAPITOLO 10: ASSERZIONI
38
10.1 COMPITI DI RAGIONAMENTO RELATIVI ALLE ABOX
Alcuni compiti di ragionamento relativi alle ABox riguardano le asserzioni e utilizzano
le conoscenze contenute in tutta la base delle conoscenze, sia nella TBox sia nell’ABox.
Si consideri una base di conoscenze 〈T,A〉, formata dalla TBox T e dall’ABox A. I più
significativi compiti di ragionamento relativi all’ABox sono i seguenti:
• instance check: dati T, A, un termine arbitrario C e un nominale a, stabilire se si
ha 𝑻𝑻, 𝑨𝑨 | = 𝐶𝐶(𝑎𝑎)
• retrieval: dati T, A e un termine arbitrario C, fra tutti i nominali presenti nella
base di conoscenze trovare tutti i nominali {𝑎𝑎1 … 𝑎𝑎𝑛𝑛} tali che 𝑻𝑻, 𝑨𝑨 | = 𝐶𝐶(𝑎𝑎𝑘𝑘)
• realizzazione: dati T, A, un insieme di termini arbitrari {𝐶𝐶1 … 𝐶𝐶𝑛𝑛} e un nominale a,
determinare i termini più specifici in {𝐶𝐶1 … 𝐶𝐶𝑛𝑛} per cui si ha 𝑻𝑻, 𝑨𝑨 | = 𝐶𝐶𝑘𝑘(𝑎𝑎).
A chiarimento del compito di realizzazione, si che un termine C si dice più specifico
di un termine D quando vale 𝐶𝐶 ⊆ 𝐷𝐷.
Si noti inoltre che la sussunzione è una relazione d’ordine parziale fra i
termini; i termini più specifici in {𝐶𝐶1 … 𝐶𝐶𝑛𝑛} per cui vale 𝑻𝑻, 𝑨𝑨 | = 𝐶𝐶𝑘𝑘(𝑎𝑎) sono quindi gli
elementi di {𝐶𝐶1 … 𝐶𝐶𝑛𝑛}, minimali rispetto alla relazione di sussunzione, per cui vale
𝑻𝑻, 𝑨𝑨 | = 𝐶𝐶𝑘𝑘(𝑎𝑎)
10.2 RIDUZIONE ALLA SODDISFACIBILITA’ DEI COMPITI DI
RAGIONAMENTO RELATIVI ALL’ABOX
I compiti di ragionamento relativi all’ABox si possono ridurre al problema di stabilire la
soddisfacibilità di un insieme di asserzioni. Si noti, innanzitutto, che 𝑻𝑻, 𝑨𝑨 | = 𝐶𝐶(𝑎𝑎) se
e solo se 𝑻𝑻 | = 𝑙𝑙’𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢 𝑑𝑑𝑑𝑑 𝑨𝑨 𝑒𝑒 {¬𝐶𝐶(𝑎𝑎)} è 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖.
Quindi un compito di instance check può essere ridotto a un problema di soddisfacibilità.
Un compito di retrieval, poi, almeno in linea di principio può essere ridotto a un compito di
instance check per ciascun nominale presente nella base di conoscenze. Infine, un compito di
realizzazione può essere ridotto a una serie di compiti di instance check e a una serie di
compiti di sussunzione.
Antonio Tandoi Ingegneria della conoscenza
39
CAPITOLO 11: ANALISI SEMANTICA
Una prima stratificazione delle ontologie è introdotta dalla distinzione fra TBox e ABox.
Ricordando le definizioni:
• la TBox contiene conoscenze terminologiche
• l’ABox contiene conoscenze fattuali individui).
Anche se tutte le conoscenze contenute nella TBox sono generali, si possono avere diversi
livelli di generalità. Si tende a distinguere tre livelli di generalità:
• ontologia superiore (upper ontology), concernente i termini più astratti e di
uso praticamente universale e indipendente dalla singola area applicativa
(per esempio termini come “oggetto fisico”, “artefatto”, “prodotto”
“evento”, “azione” e così via)
• ontologia mediana (middle ontology), concernente un’area applicativa ben
definita (per esempio la chimica organica, il commercio elettronico, la
telefonia mobile, i personal computer, gli strumenti musicali e così via)
• ontologia inferiore (lower ontology), tipicamente utilizzata per interfacciare
una singola applicazione con un’ontologia mediana (ad esempio, un servizio web per
la vendita on line di strumenti musicali dovrà combinare in modo specifico
un’ontologia del commercio elettronico e un’ontologia degli strumenti musicali).
In un’applicazione tipica, la maggior parte dei termini tende ad essere definita nel
livello mediano, mentre i livelli superiore e inferiore riguardano un numero di
termini più limitato.
Naturalmente, la maggior parte delle ontologie tende a presentare nel livello superiore gli
stessi termini: termini come “oggetto fisico” ed “evento” compariranno nell’upper ontology
di ogni applicazione in cui si parli di eventi che concernono oggetti fisici. L’ideale, quindi,
sarebbe definire una volta per tutte un’ontologia superiore standard, da utilizzare come
punto di partenza per lo sviluppo di ontologie mediane e inferiori.
CAPITOLO 11: ANALISI SEMANTICA
40
Anche per quanto riguarda le ontologie mediane, sarebbe estremamente utile potersi basare
su ontologie standard definite una volta per tutte e condivise da una vasta
comunità di utenti.
Il più cospicuo archivio di ontologie oggi disponibile è probabilmente la DAML Ontology
Library.
È diffusa la pratica di costruire ontologie mediane modificando e adattando ontologie
preesistenti (approccio chiamato ontology reiingineering). Per quanto riguarda le
ontologie inferiori, infine, data la loro natura, esse vengono definite e implementare di
volta in volta dai progettisti delle singole applicazioni.
11.1 NOMI, CLASSE, ISTANZE
Come già visto, i termini rappresentano insiemi di individui dell’universo e i nominali
rappresentano singoli individui dell’universo.
Per esempio:
Nell’asserzione (𝟏𝟏) 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) il termine atomico 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶
rappresenta tutti gli individui x dell’universo che rendono vera la formula
FOL 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑥𝑥), mentre il nominale ‘Antonio’ denota un singolo elemento
dell’universo che, secondo l’asserzione, fa parte dell’insieme dei celibi.
Tuttavia, questo non è l’unico modo di rappresentare il fatto che Antonio
è celibe.
Innanzitutto, è spesso opportuno distinguere fra il nominale che costituisce un identificatore
univoco di un individuo e il nome dell’individuo: “Antonio”, ad esempio, può essere il nome
di una persona, ma in generale non è un identificatore univoco, perché ci sono
molte persone che si chiamano allo stesso modo.
Per distinguere fra nominali e nomi notiamo che:
• ogni individuo può avere un nome (non necessariamente univoco);
• non tutti gli individui denotati dai nominali devono avere anche un nome
(ad es., posso avere quattro diversi nominali per denotare le quattro sedie di un ufficio,
ma è improbabile che queste seggiole abbiano un “nome” nello stesso senso in cui ha
un nome una persona, un cane o una città);
• i nomi sono stringhe, ovvero dati del tipo STRING di XML.
Antonio Tandoi Ingegneria della conoscenza
41
Per associare un nome a un individuo possiamo allora introdurre un ruolo, Nome, il cui
dominio è T (in quanto ogni individuo può avere un nome) e il cui codominio è STRING.
Poiché l’assioma 𝑇𝑇 ≡ ∀𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁–. Tè superfluo (in quanto tautologico), è sufficiente specificare
𝑇𝑇 ≡ ∀𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁. 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆.
Per esempio:
Se ora ‘Antonio’ è il nominale che denota Antonio la asserzione diventa:
(𝟐𝟐) 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴),
(𝟐𝟐) 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, “𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴”)
dove “Antonio” è una stringa. Si noti che per trovare i nominali di tutti
gli individui che si chiamano Antonio è sufficiente risolvere un compito di
retrieval relativo al termine 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁. {“𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴”}.
In modo analogo si può stabilire che tutte le persone hanno (almeno) un
nome, e che tutte e sole le persone hanno (almeno) un cognome:
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ⊆ ≥ 1𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁;
𝑇𝑇 ≡ ∀𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶– . 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃,
𝑇𝑇 ≡ ∀𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶. 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆,
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ ≥ 1𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶
Si supponga ora di voler rappresentare il fatto che “celibe” è uno stato
civile. È un errore abbastanza
comune scrivere una definizione del tipo
(𝟑𝟑 ∗) 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ⊆ 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 − 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶
L’espressione tuttavia, è incompatibile con l’uso che fatto precedentemente
del termine CELIBE: dalla (2) e dalla (3∗), infatti, si otterrebbe
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 − 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴)
che significa che Antonio è uno stato civile! L’affermazione che “Celibe” è
uno stato civile, infatti, non significa che l’insieme dei celibi sia un
sottoinsieme degli stati civili, ma piuttosto che “celibe” è un’istanza di
stato civile.
CAPITOLO 11: ANALISI SEMANTICA
42
Poiché “Celibe” è stato trattato come una classe, però, è impossibile in
una DL asserire che “Celibe” sia a sua volta un’istanza di un’altra classe:
si tratterebbe di un’asserzione del secondo ordine, non esprimibile in FOL
e a maggior ragione non esprimibile in una DL1.
Per esprimere il fatto che “Celibe” è uno stato civile occorre reificare la
classe dei celibi, introducendo un nominale che funga da rappresentante
della classe (“reificare” un’entità significa sempre introdurre nell’universo
un individuo che la rappresenta). Ecco una possibile soluzione:
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 − 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ≡ {𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐, 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐, 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠}
𝑇𝑇 ≡ ∀𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆– . 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃
𝑇𝑇 ≡ ∀𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 − 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ = 1𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆
𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ≡ ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. {𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐}
𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ≡ ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. {𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐}
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 ≡ ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. {𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠}
A questo punto è ancora possibile asserire la (2), da cui si può dedurre:
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎),
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎, 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐)
Si noti che le definizioni date sopra non sono sufficienti a dedurre che gli
insiemi dei celibi, dei coniugati e dei separati sono disgiunti. È vero che il
ruolo StatoCivile è definito come ruolo funzione sul dominio PERSONA,
e ciò comporta che ogni persona abbia esattamente uno stato civile;
tuttavia non abbiamo specificato che i tre stati civili sono diversi fra loro.
Ciò può essere fatto aggiungendo all’ABox l’asserzione
≠ (𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐, 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐, 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠)
A questo punto, dalla (2) è anche possibile dedurre:
¬𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎)
¬𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎)
Antonio Tandoi Ingegneria della conoscenza
43
11.2 LE TASSONOMIE
La forma più semplice che un’ontologia può assumere è la tassonomia, che consiste nella
semplice classificazione gerarchica (ovvero strutturata ad albero) delle entità di un campo
applicativo.
Innanzitutto, si definisce partizione la definizione di una classe come unione di un numero
finito di sottoclassi disgiunte fra loro, ossia:
𝐴𝐴 ≡ 𝐵𝐵1 ∪ … ∪ 𝐵𝐵𝐵𝐵,
(𝟒𝟒) 𝐵𝐵𝐵𝐵 ∩ 𝐵𝐵𝐵𝐵 ≡ ⊥ 𝑝𝑝𝑝𝑝𝑝𝑝 1 ≤ 𝑖𝑖 < 𝑗𝑗 ≤ 𝑛𝑛.
Nel seguito, per concisione si abbrevierà la (4) scrivendo:
𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝐵𝐵1, . . . , 𝐵𝐵𝐵𝐵).
Una tassonomia è una insieme di partizioni che inizia da un’unica classe, detto radice della
tassonomia, e prosegue poi per livelli.
TASSONOMIE DI CLASSI
Per esempio:
Di seguito presentiamo una tassonomia dei principali strumenti musicali
utilizzati nelle orchestre sinfoniche (l’incolonnamento mette in evidenza la
struttura ad albero):
1. 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 ≡ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ∪ 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 ∪ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∪ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇
𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶, 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹, 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃, 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝐴𝐴);
2. 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ≡ 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 ∪ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃,
𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃);
3. 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 ≡ 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 ∪ 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 ∪ 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 ∪ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶,
𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉, 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉, 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉, 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶);
4. 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 ≡ 𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿 ∪ 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂,
𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿, 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂);
5. 𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿 ≡ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 ∪ 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 ∪ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ∪ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹,
𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹, 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂, 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶, 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹);
6. 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 ≡ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ∪ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 ∪ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 ∪ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇,
𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶, 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇);
7. 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 ∪ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ∪ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 ∪ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇,
𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺, 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇);
CAPITOLO 11: ANALISI SEMANTICA
44
8. 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∪ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ∪ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ∪ 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂,
𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃, 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶, 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶, 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂).
Nell’ontologia riportata sopra, i termini atomici della tassonomia (come
VIOLINO, VIOLA ecc.) denotano insiemi di individui che sono istanze di
strumenti (istanze di violini, di viole ecc). Nell’ABox potremmo quindi
avere l’asserzione (𝟓𝟓) 𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽(𝒗𝒗), dove il nominale ‘v’ fa riferimento a un
violino specifico (ovvero, a una particolare istanza della classe dei violini).
Questo genere di tassonomia sarà denominato tassonomia di classi.
TASSONOMIE DI TIPI
Per esempio:
Si supponga di voler asserire che una certa persona, poniamo Uto Ughi,
suona il violino. Con ciò non si intende dire che Uto Ughi suona un’istanza
particolare di violino, bensì il violino in generale. È possibile rappresentare
la cosa nel modo seguente.
Innanzi tutto introduciamo un ruolo, Suona, che mette in relazione persone
e strumenti:
𝑇𝑇 ≡ ∀𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆– . 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃,
𝑻𝑻 ≡ ∀𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺. 𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺.
Poi si asseriscono i fatti:
𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖, “𝑈𝑈𝑈𝑈𝑈𝑈”), 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖, “𝑈𝑈𝑈𝑈ℎ𝑖𝑖”),
(6) ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖)
Dalla (6) si può ricavare per via di ragionamento:
∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖) Uto Ughi suona uno strumento ad
arco
∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖) Uto Ughi suona uno strumento a
corde
∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖) Uto Ughi suona uno strumento
Si può anche specificare che Uto Ughi suona soltanto il violino:
∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆– . {𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖} ⊆ 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉
Antonio Tandoi Ingegneria della conoscenza
45
Con la (6), però, si è asserito che esiste una particolare istanza di violino
che Uto Ughi suona. Ciò che si vuole fare, invece, è mettere in relazione
l’individuo Uto Ughi con la classe dei violini, ovvero qualcosa tipo:
(7 ∗) ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. {𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉}(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖)
Naturalmente la (7∗) non può essere asserita in OWL, dato che una
connessione fra individui e insiemi è una relazione del secondo ordine. Si
può però reificare le classi di strumenti, introducendo particolari individui
(come ‘violino’, ‘viola’ ecc) che rappresentano non singoli strumenti, ma
tipi di strumenti.
Nel seguito si sviluppa la tassonomia degli strumenti basandosi su una
tassonomia di tipi. Per semplicità si classificheranno i tipi terminali
(ovvero, i tipi degli oggetti che formano le classi foglia della tassonomia,
come i violini e le viole).
Si assuma di avere un termine atomico, TIPO, che raccoglie tutti i tipi
terminali, e un altro termine, OGGETTO, che raccoglie gli individui cui è
consentito assegnare un tipo. Si assuma che i due termini siano disgiunti:
𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝑂𝑂𝑂𝑂𝐺𝐺𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸)
Si introduce, poi un ruolo funzionale, Tipo, per assegnare al più un tipo
terminale a ogni oggetto:
𝑇𝑇 ≡ ∀𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇– . 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂
𝑇𝑇 ≡ ∀𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇. 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇
𝑇𝑇 ≡ ≤ 1𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇
Si definiscono i tipi terminali degli strumenti:
{violino, viola, violoncello, contrabbasso,arpa, flauto, oboe, clarinetto, fagotto, corno,
tromba, trombone, tuba, timpano, grancassa, tamburo, triangolo, pianoforte, celesta,
cembalo, organo} ⊆ TIPO
e specifichiamo che sono tutti diversi fra loro:
≠(violino, viola, violoncello, contrabbasso, arpa, flauto, oboe, clarinetto, fagotto, corno,
tromba, trombone, tuba, timpano, grancassa, tamburo, triangolo, pianoforte, celesta,
cembalo, organo)
Ingegneria della conoscenza
Ingegneria della conoscenza
Ingegneria della conoscenza
Ingegneria della conoscenza

More Related Content

Similar to Ingegneria della conoscenza

Relazione laboratorio knowledge management
Relazione laboratorio knowledge managementRelazione laboratorio knowledge management
Relazione laboratorio knowledge management
Andrea Casagrande
 
Ong best practices
Ong best practicesOng best practices
Ong best practices
TangoNet
 
Rapporto Formedil 2010
Rapporto Formedil 2010Rapporto Formedil 2010
Rapporto Formedil 2010
formedil
 

Similar to Ingegneria della conoscenza (7)

Analisi dei siti web delle ONG italiane
Analisi dei siti web delle ONG italianeAnalisi dei siti web delle ONG italiane
Analisi dei siti web delle ONG italiane
 
Relazione laboratorio knowledge management
Relazione laboratorio knowledge managementRelazione laboratorio knowledge management
Relazione laboratorio knowledge management
 
CM - elaborato BISCARINI
CM - elaborato BISCARINICM - elaborato BISCARINI
CM - elaborato BISCARINI
 
Terzo piano azione OGP Nazionale (Versione in consultazione)
Terzo piano azione OGP Nazionale (Versione in consultazione)Terzo piano azione OGP Nazionale (Versione in consultazione)
Terzo piano azione OGP Nazionale (Versione in consultazione)
 
Ong best practices
Ong best practicesOng best practices
Ong best practices
 
Rapporto Formedil 2010
Rapporto Formedil 2010Rapporto Formedil 2010
Rapporto Formedil 2010
 
Rapporto formedil 2010
Rapporto formedil 2010Rapporto formedil 2010
Rapporto formedil 2010
 

More from Antonio Tandoi

More from Antonio Tandoi (20)

Cibi omonimi a personaggi storici
Cibi omonimi a personaggi storiciCibi omonimi a personaggi storici
Cibi omonimi a personaggi storici
 
La Rosa Bianca, i ragazzi che si opposero a Hitler
La Rosa Bianca, i ragazzi che si opposero a HitlerLa Rosa Bianca, i ragazzi che si opposero a Hitler
La Rosa Bianca, i ragazzi che si opposero a Hitler
 
Dante in veste di medico - La medicina nella Divina Commedia
Dante in veste di medico - La medicina nella Divina CommediaDante in veste di medico - La medicina nella Divina Commedia
Dante in veste di medico - La medicina nella Divina Commedia
 
La corsa al Polo Sud
La corsa al Polo SudLa corsa al Polo Sud
La corsa al Polo Sud
 
La seconda guerra punica - Storia completa
La seconda guerra punica - Storia completaLa seconda guerra punica - Storia completa
La seconda guerra punica - Storia completa
 
Grecia contro Cartagine: la battaglia di Hymera
Grecia contro Cartagine: la battaglia di HymeraGrecia contro Cartagine: la battaglia di Hymera
Grecia contro Cartagine: la battaglia di Hymera
 
Storia dei simboli matematici
Storia dei simboli matematiciStoria dei simboli matematici
Storia dei simboli matematici
 
Situazione politica del Venezuela
Situazione politica del VenezuelaSituazione politica del Venezuela
Situazione politica del Venezuela
 
Dispensa di Cyber Security
Dispensa di Cyber SecurityDispensa di Cyber Security
Dispensa di Cyber Security
 
Dispensa di PL-SQL
Dispensa di PL-SQLDispensa di PL-SQL
Dispensa di PL-SQL
 
Il sistema visivo umano
Il sistema visivo umanoIl sistema visivo umano
Il sistema visivo umano
 
Il modello standard della materia
Il modello standard della materiaIl modello standard della materia
Il modello standard della materia
 
Funzionamento della Scala Richter
Funzionamento della Scala RichterFunzionamento della Scala Richter
Funzionamento della Scala Richter
 
Un sistema di video streaming per contenuti streaming immersivi e riduzione d...
Un sistema di video streaming per contenuti streaming immersivi e riduzione d...Un sistema di video streaming per contenuti streaming immersivi e riduzione d...
Un sistema di video streaming per contenuti streaming immersivi e riduzione d...
 
Tcp Westwood - Stima della banda
Tcp Westwood - Stima della bandaTcp Westwood - Stima della banda
Tcp Westwood - Stima della banda
 
Tcp - Congestion avoidance and control
Tcp - Congestion avoidance and controlTcp - Congestion avoidance and control
Tcp - Congestion avoidance and control
 
QR Code Security
QR Code SecurityQR Code Security
QR Code Security
 
Page ranking - Portare ordine sul web
Page ranking - Portare ordine sul webPage ranking - Portare ordine sul web
Page ranking - Portare ordine sul web
 
Descrizione di NO-SQL
Descrizione di NO-SQLDescrizione di NO-SQL
Descrizione di NO-SQL
 
Funzionamento di LTE
Funzionamento di LTEFunzionamento di LTE
Funzionamento di LTE
 

Ingegneria della conoscenza

  • 1. INGEGNERIA DELLA CONOSCENZA 2018/2019 A cura dello studente: Antonio Tandoi Professore: Prof. Floriano Scioscia Materiale di riferimento: Dispensa fornita dal prof. Floriano Scioscia
  • 2.
  • 3. i SOMMARIO CAPITOLO 1: INTRODUZIONE .....................................................................................1 1.1 TIPI DI CONOSCENZA......................................................................................................................................................1 1.2 FONTI DI CONOSCENZA............................................................................................................................................... 2 1.3 RUOLO DELLA CONOSCENZA NEI SISTEMI INFORMATICI............................................................................... 2 Prima fase (1956 – 1965): L’intelligenza artificiale e la risoluzione automatica di problemi...................... 2 Seconda fase (1965 – 1975): La rappresentazione della conoscenza ................................................................ 3 Terza fase (1975 – 1985): L’ingegneria della conoscenza e i sistemi esperti .................................................. 3 Quarta fase (1985 – 1995): La crisi e la ricerca di strade alternative................................................................. 3 Quinta fase (1995 – ): LI web e le ontologie............................................................................................................... 3 CAPITOLO 2: WEB SEMANTICO................................................................................. 5 Centralita’ dei dati.............................................................................................................................................................5 Interoperabilita’ interna...................................................................................................................................................6 Interoperabilita’ esterna e sistemi aperti...................................................................................................................6 2.1 IL WEB SEMANTICO........................................................................................................................................................ 7 2.2 IL TRIANGOLO ARISTOTELICO .................................................................................................................................. 7 CAPITOLO 3: RAPPRESENTAZIONE DELLA CONOSCENZA ...................................9 3.1 linguaggi di rappresentazione .....................................................................................................................................9 CAPITOLO 4: MODELLI DI RAPPRESENTAZIONE................................................... 13 4.1 SISTEMI PER LA RAPPRESENTAZIONE DELLE CONOSCENZE........................................................................ 14 CAPITOLO 5: TERMINI E ONTOLOGIE..................................................................... 15 5.1 SEMANTICA DEI TERMINI............................................................................................................................................ 16 5.2 ALTRI OPERATORI .........................................................................................................................................................17 5.3 TERMINI BASATI SU RUOLI..........................................................................................................................................17 CAPITOLO 6: RUOLI................................................................................................... 19 6.1 TERMINI CON RUOLI..................................................................................................................................................... 19 6.2 INVERSIONE DEI RUOLI...............................................................................................................................................20 6.3 DOMINIO E CODOMINIO............................................................................................................................................20 6.4 I RUOLI FUNZIONALI.....................................................................................................................................................21 CAPITOLO 7: ASSERTION BOX ................................................................................ 23 7.1 SUSSUNZIONE.................................................................................................................................................................23 7.2 NOMINALI E TERMINI ENUMERATIVI......................................................................................................................23 7.3 ASSERTION BOX............................................................................................................................................................24 CAPITOLO 8: LINGUAGGIO OWL............................................................................25 8.1 DESCRIZONE DI CLASSI ..............................................................................................................................................25
  • 4. ii Identificatore.....................................................................................................................................................................26 Enumerazione....................................................................................................................................................................26 Restrizioni di proprieta’..................................................................................................................................................26 Intersezione .......................................................................................................................................................................26 Unione..................................................................................................................................................................................26 Complemento....................................................................................................................................................................26 8.2 ASSIOMI DI CLASSE......................................................................................................................................................27 Sottoclassi..........................................................................................................................................................................27 Equivalenza ........................................................................................................................................................................27 Disgiunzione ......................................................................................................................................................................27 8.4 PROPRIETA’.....................................................................................................................................................................27 Identificatore di proprieta’ ...........................................................................................................................................28 Range ...................................................................................................................................................................................28 Sottoproprieta’ .................................................................................................................................................................28 Proprietà equivalente .....................................................................................................................................................28 Proprieta’ inversa.............................................................................................................................................................28 Simmetria ...........................................................................................................................................................................29 Transitivita’........................................................................................................................................................................29 8.5 INDIVIDUI E FATTI .........................................................................................................................................................29 Appartenenza a una classe e valori di una proprietà............................................................................................29 Identità ................................................................................................................................................................................29 8.6 SHOIN............................................................................................................................................................................... 30 CAPITOLO 9: CONSEGUENZE LOGICHE ................................................................ 31 9.1 COMPITI DI RAGIONAMENTO RELATIVI ALLE TBOX........................................................................................32 Riduzione dei compiti di ragionamento alla sussunzione....................................................................................33 Riduzione dei compiti di ragionamento alla soddisfacibilità..............................................................................33 9.2 LA PROCEDURA SAT....................................................................................................................................................34 CAPITOLO 10: ASSERZIONI...................................................................................... 37 10.1 COMPITI DI RAGIONAMENTO RELATIVI ALLE ABOX.....................................................................................38 10.2 RIDUZIONE ALLA SODDISFACIBILITA’ DEI COMPITI DI RAGIONAMENTO RELATIVI ALL’ABOX ...38 CAPITOLO 11: ANALISI SEMANTICA........................................................................39 11.1 NOMI, CLASSE, ISTANZE........................................................................................................................................... 40 11.2 LE TASSONOMIE ..........................................................................................................................................................43 Tassonomie di classi........................................................................................................................................................43 Tassonomie di tipi ........................................................................................................................................................... 44
  • 5. iii
  • 6.
  • 7. Antonio Tandoi Ingegneria della conoscenza 1 CAPITOLO 1: INTRODUZIONE Cosa significa fare un’ingegneria della conoscenza? La conoscenza è dell’informazione disponibile per un’azione razionale. Nei computer risiedono grandi quantità di informazioni, ma solo una piccola parte di queste può essere sfruttata dagli stessi computer per agire: basti pensare alla miriade di documenti contenuti nel Web, la maggior parte dei quali può essere utilizzata soltanto dagli esseri umani. L’obiettivo, dunque, è esplorare la possibilità di automatizzare azioni conoscitive che, ad oggi, richiedono l’intervento umano. 1.1 TIPI DI CONOSCENZA Una prima grande suddivisione che è possibile fare è tra conoscenze dichiarative e conoscenze procedurali, ossia tra conoscere (know that) e saper fare (know how). A sua volta, il know that può essere diviso in tre parti: • conoscenze terminologiche: per esempio, che “essere una madre” significa “essere una donna con almeno un figlio” • conoscenze fattuali: conoscenza di fatti particolari; per esempio “Bruno è figlio di Anna” • conoscenze nomologiche: ossia, conoscenze di regolarità, di leggi generali che regolano il mondo; per esempio, “le madri sono sempre più anziane dei loro figli” Un caso apparentemente diverso è costituito dalla conoscenza di individui; per esempio, “conosco Barbara”. Anche in questo caso si tratta di conoscenze fattuali, più precisamente di un insieme, spesso, molto ampio di conoscenze fattuali relative a uno specifico individuo.
  • 8. CAPITOLO 1: INTRODUZIONE 2 1.2 FONTI DI CONOSCENZA Le conoscenze provengono da qualche fonte. Le più ovvie sono: • l’esperienza diretta • il ragionamento; esso può essere deduttivo (dalle premesse alle conclusioni), abduttivo (dagli effetti alle possibili cause), induttivo (da fatti specifici a regole generali) • la comunicazione, ossia l’uso del linguaggio parlato e scritto Qualunque sia la fonte, è necessaria la memoria, nel senso di capacità di conservare nel tempo elementi di conoscenza e soprattutto di reperirli con efficienza quando occorre farne uso. 1.3 RUOLO DELLA CONOSCENZA NEI SISTEMI INFORMATICI Le conoscenze servono per: • interpretare la realtà ossia capire cosa è successo • prevedere l’evoluzione della realtà ossia prevedere con approssimazione accettabile come andranno le cose • agire in modo razionale modificando la realtà ossia costruire piani d’azione per raggiungere determinati obiettivi In un sistema informatico, di questo argomento si è sempre occupata l’intelligenza artificiale: è quindi utile traccia una storia minima di quest’area dell’informatica. PRIMA FASE (1956 – 1965): L’INTELLIGENZA ARTIFICIALE E LA RISOLUZIONE AUTOMATICA DI PROBLEMI L’intelligenza artificiale nasce nel 1956 con l’obiettivo di progettare sistemi in grado di risolvere problemi automaticamente. All’inizio l’attenzione è rivolta soprattutto alla ricerca di metodi per la risoluzione automatica di problemi mediante strategia per tentativi ed errori (trial and error)
  • 9. Antonio Tandoi Ingegneria della conoscenza 3 SECONDA FASE (1965 – 1975): LA RAPPRESENTAZIONE DELLA CONOSCENZA La capacità di risolvere problemi dipende in modo essenziale dalle conoscenze a disposizione. Il problema principale diventa rappresentare le conoscenze in modo che un programma possa effettivamente utilizzarle; nasce quindi un grande interesse per i metodi di rappresentazione delle conoscenze (KR). Si sviluppa la controversia fra i sostenitori delle rappresentazioni dichiarative e i sostenitori delle rappresentazioni procedurali. In ambedue i casi, comunque, l’approccio adottato è simbolico, nel senso che le conoscenze sono rappresentate tramite strutture dati contenenti simboli. TERZA FASE (1975 – 1985): L’INGEGNERIA DELLA CONOSCENZA E I SISTEMI ESPERTI Ci si sposta verso applicazioni realistiche e d’interesse industriale. Aumenta l’interesse economico verso i sistemi esperti e nasce l’ingegneria della conoscenza (KE). Rappresentazioni dichiarative e procedurali convivono negli stessi sistemi basati su conoscenze. QUARTA FASE (1985 – 1995): LA CRISI E LA RICERCA DI STRADE ALTERNATIVE Crolla la fiducia nel mercato della KE, anche a causa di un incauto overselling e dell’impossibilità di soddisfare le aspettative. Si indagano approcci alternativi denominati “supersimbolici” o “non simbolici”, in contrasto con l’approccio simbolico tradizionale. Questi metodi si rivelano spesso più adatti dei metodi simboli per certi tipi di problemi ma non possono eliminare la necessità di rappresentare le conoscenze simboliche in molte applicazioni. QUINTA FASE (1995 – ): IL WEB E LE ONTOLOGIE Il grande successo del Web riporta in prima linea la questione della rappresentazione simbolica delle conoscenze. In questo campo i problemi più sentiti sono l’interoperabilità delle applicazioni e la gestione delle risorse in rete. Il concetto fondamentale è quello di ontologia.
  • 11. Antonio Tandoi Ingegneria della conoscenza 5 CAPITOLO 2: WEB SEMANTICO Le applicazioni più diffuse, a partire dal 1975, sono i sistemi esperti. Un sistema esperto è un sistema software in grado di risolvere problemi utilizzando conoscenze specialistiche; applicazioni tipiche sono l’analisi di grandi volumi di dati, la diagnosi di guasti di impianti industriali, la diagnosi medica, la configurazione di sistemi informatici complessi, il progetto industriali, la pianificazione della produzione e così via. In certi casi, l’adozione di sistemi esperti ha permesso di automatizzare attività complesse là dove tecniche informatiche più tradizioni avevano fallito. Tuttavia i sistemi esperti non sono mai diventati prodotti di grande diffusione, per almeno due ragioni: • lo sviluppo di un sistema esperto è un’impresa lunga e costosa • i sistemi esperti richiedono una notevole competenza anche per l’uso e soprattutto per il mantenimento A partire dagli anni ’80 ha cominciato, però, a profilarsi un altro settore di grande interesse per l’ingegneria della conoscenza: il Web Semantico. Prima di questo concetto, verrà tracciata una breve descrizione di alcuni fattori che influenzano il progresso dell’informatica. CENTRALITA’ DEI DATI Qualsiasi applicazione informatica è costituita da dati e programmi; le due componenti non hanno, tuttavia, lo stesso peso in applicazioni di tipo differente. Consideriamo come primo esempio un’applicazione per la simulazione di sistemi dinamici. In un caso del genere, i dati si possono ridurre a un vettore che rappresenti lo stato iniziali del sistema e all’assegnamento di un valore a un piccolo numeri di parametri di sistema. Per ottenere risultati di qualità, naturalmente, sono estremamente critici gli algoritmi utilizzati per la simulazione; ci si trova, dunque, di fronte a un tipo di applicazione che potremmo denominare centrata sul processo (process-centered). Un esempio molto diverso è costituito dalle applicazioni che si fondano sull’utilizzo di basi di dati. In questo caso, l’informazione utile risiede essenzialmente nei dati. Le applicazioni di questo tipo possono essere denominate centrate sui dati (data-centered).
  • 12. CAPITOLO 2: WEB SEMANTICO 6 Queste ultime sono più diffuse in termini percentuali; lo stesso Web si presenta essenzialmente come un colossale archivio di dati interrogato quotidianamente da milioni di utenti. INTEROPERABILITA’ INTERNA All’interno di una singola azienda è possibile raggiungere un buon livello di interoperabilità utilizzando tecnologie basate su XML; in particolare, le tecnologie basate su XML consentono di sviluppare intranet aziendali integrando i dati e i servizi Web rivoluti verso l’interno dell’azienda. INTEROPERABILITA’ ESTERNA E SISTEMI APERTI Per realizzare applicazioni aperte a livello di Internet, le tecnologie basate su XML sono oggi necessarie ma non sufficienti. Per essere realmente “aperto”, un sistema informatico deve poter essere scoperto e utilizzato da un’applicazione remota senza bisogno dell’intervento umano: a questo scopo XML non è sufficiente perché codifica e standardizza la sintassi dei dati (ovvero la loro struttura) ma non la loro semantica (ovvero il loro significato). Per esempio: Un documento XML può codificare il prezzo di un prodotto con la stringa <prezzo> 85 </prezzo> mentre un altro documento può codificare la stessa informazione con la stringa <costo> 85 </costo> Non è ovviamente possibile per un’applicazione informatica scoprire che si tratta di due diverse codifiche della stessa informazione, a meno che non sia disponibile la conoscenza che prezzo e costo sono sinonimi, almeno nel contesto dell’applicazione in oggetto. Non è azzardato, a questo punto, passare alla seguente conclusione: l’interoperabilità in un ambiente aperto richiede che le applicazioni possano accedere a un repertorio di conoscenze comuni e siano in grado di sfruttare tali conoscenze in modo autonomo.
  • 13. Antonio Tandoi Ingegneria della conoscenza 7 2.1 IL WEB SEMANTICO L’idea di Semantic Web è molto semplice: perché possano essere elaborato in modo completamente automatico, non è sufficiente che i dati sul Web abbiano una struttura chiaramente definita: è anche necessario che i dati abbiano un significato condiviso dalla comunità che li utilizza. 2.2 IL TRIANGOLO ARISTOTELICO L’idea di Semantic Web, dunque, è centrata sull’assegnazione di un significato ai dati presenti sul Web. Il concetto di significato, a sua volta, chiama in causa il rapporto tra linguaggio e realtà. Come sappiamo, molti termini del linguaggio corrispondono a entità del mondo reale; ad esempio, il termine “sedia” può corrispondere all’insieme (o classe) di tutte le sedie oppure a una sedia specifica (un individuo membro dell’insieme delle sedie). La relazione fra linguaggio e realtà (e quindi fra il termine “sedia” e l’insieme delle sedie concrete) è detta semantica. Secondo una tradizione antica, il rapporto fra linguaggio e realtà non è diretto, ma è mediato dai concetti: chi parla riesce a collegare la parola “sedia” alle sedie reali proprio perché possiede un concetto di sedia. In altre parole, la relazione fra linguaggio e realtà è mediata dalla mente. Più precisamente, è necessario distinguere fra: • il termine “sedia” • l’insieme di tutte le sedie che esistono nella realtà (l’estensione del termine “sedia”) • il concetto di “sedia” così come è rappresentato nella mente degli esseri umani (l’estensione del temine “sedia”)
  • 14. CAPITOLO 2: WEB SEMANTICO 8
  • 15. Antonio Tandoi Ingegneria della conoscenza 9 CAPITOLO 3: RAPPRESENTAZIONE DELLA CONOSCENZA Il problema, a questo punto, è come rappresentare le conoscenze in un formato che sia computer readable. Il paradigma di riferimento per la KR dichiarativa è la logica (simbolica o formale), con particolare riguardo alla logica dei predicati di primo ordine (FOL – First Order Logic). Nella FOL si assume che tutte le rappresentazioni riguardino un insieme non vuoto di individui, detto dominio. Di questi individui possiamo rappresentare proprietà oppure relazioni che si leghino fra loro. Da questo punto di vista, un fatto è semplicemente il sussistere di una proprietà di un determinato individuo (“Barbara è bionda”) oppure il sussistere di una relazione fra più individui (“Alberto è più alto di Barbara”). Nei sistemi di KR esaminati, sussiste l’ulteriore limitazione relativa al fatto che le relazioni considerate sono esclusivamente binarie. 3.1 LINGUAGGI DI RAPPRESENTAZIONE Si parla, dunque, di sistemi per la rappresentazione delle conoscenze (KRS). Ogni KRS ha due componenti principali: un linguaggio per la rappresentazione di conoscenze e un insieme di procedure di ragionamento. Un linguaggio per la rappresentazione di conoscenze è un linguaggio formale le cui espressioni sono utilizzate per rappresentare elementi di conoscenza. Per esempio: Si vuole rappresentare il significato del termine “madre” come “donna con almeno un figlio”. Per utilizzare una FOL, si parafrasa la definizione come: (𝑥𝑥 è 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚)𝑠𝑠𝑠𝑠 𝑒𝑒 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑠𝑠𝑠𝑠 (𝑥𝑥 è 𝑢𝑢𝑢𝑢𝑢𝑢 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑒𝑒𝑒𝑒 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑢𝑢𝑢𝑢 𝑦𝑦 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑐𝑐ℎ𝑒𝑒 𝑦𝑦 è 𝑓𝑓𝑓𝑓 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑑𝑑𝑑𝑑 𝑥𝑥) Ossia: ∀𝑥𝑥 �𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝑥𝑥) ⇔ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥) ∧ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝑥𝑥, 𝑦𝑦)�
  • 16. CAPITOLO 3: RAPPRESENTAZIONE DELLA CONOSCENZA 10 In CL (Common Language Standard), la stessa definizione apparirebbe come: (forall (?x) (iff (MADRE ?x) (and (DONNA ?x) (exists (?y) (FIGLIO ?x ?y))))) Le espressioni possono anche essere scritte in un formato adatto allo scambio dei dati fra applicazioni software: si tratta di documenti strutturati secondo un opportuno schema XML. Alla formula precedente, dunque, corrisponde il documento XML: <formula> <forall> <varlist> <var> x </var> </varlist> <iff> <atom> <con> MADRE </con> <var> x </var> </atom> <and> <atom> <con> DONNA </con> <var> x </var> </atom> <exists> <varlist> <var> y </var> </varlist> <atom> <con> FIGLIO </con> <var> x </var> <var> y </var> </atom> </exists> </and> </iff> </forall> </formula>
  • 17. Antonio Tandoi Ingegneria della conoscenza 11 Nella logica, la semantica delle espressioni è definita utilizzando modelli insiemistici e la stessa via può essere seguita per le altre notazioni utilizzate. Alternativamente, è possibile assegnare una traduzione dalle notazioni non classiche alla notazione classica e contare poi sul fatto che la notazione classica abbia una semantica precisamente definita. Nel contesto in cui ci si sta muovendo, per ragionamento si intende il ragionamento deduttivo o deduzione. Una dedizione è un processo che fa passare da alcune espressioni (dette premesse o ipotesi) a un’espressione (detta conclusione o tesi), in modo tale da conservare l’eventuale verità delle premesse: in altre parole, se le premesse sono vere, lo sarà anche la conclusione. Per esempio: Dati come premesse la definizione di “MADRE”, il fatto che Anna sia una “DONNA”, il fatto che Bruno sia “FIGLIO” di Anna, si può dedurre come conclusione che Anna è una “MADRE”. In FOL, la deduzione può essere rappresentata in diversi modi, ad esempio tramite la prova seguente (il seguente metodo di prova utilizzato è noto come calcolo della deduzione naturale; l’ultima riga della prova è la conclusione): 1. ∀𝑥𝑥 �𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝑥𝑥) ⇔ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥) ∧ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝑥𝑥, 𝑦𝑦)� – premessa 2. 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) – premessa 3. 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵) – premessa 4. 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) ⇔ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) ∧ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝑦𝑦) – da 1, per eliminazione di ∀ 5. ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝑦𝑦) – da 3, per introduzione di ∃ 6. 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥) ∧ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝑥𝑥, 𝑦𝑦) – da 2 e 3, per introduzione di ∧ 7. 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) – da 4 e 6, per eliminazione di ⇔ Utilizzando FOL, si possono esprimere conoscenze molto articolate e, almeno in linea di principio, eseguire in modo automatico ragionamenti complessi. Ci sono, tuttavia, due problemi. Il primo è che in FOL, la procedura di deduzione non è una procedura di decisione ma soltanto di semidecisione. Ciò significa che: • quando la conclusione è deducibile dalle premesse, essa arriva in un numero finito di passi • quando la conclusione non è deducibile dalle premesse, la procedura non termina e il sistema può entrare in loop
  • 18. CAPITOLO 3: RAPPRESENTAZIONE DELLA CONOSCENZA 12 Il secondo è che, anche nei casi in cui termina, la procedura è molto costosa computazionalmente. Entrambi i problemi dipendono dalla notevole espressività di FOL: come è naturale, più un linguaggio di rappresentazione è espressivo, più sono complesse le procedure di ragionamento basate su di esso. Molte ricerche nel campo dei linguaggi di KR hanno l’obiettivo di identificare un sottolinguaggio di FOL tale che: • il linguaggio sia comunque abbastanza espressivo per le applicazioni • la deduzione si basi su una procedura di decisione • la procedura di deduzione abbia complessità accettabile I sistemi di questo tipo hanno preso il nome di logiche descrittive (Description Logic). Le DL utilizzando una sintassi semplificata rispetto a FOL. Per esempio: La corrispondenza tra FOL e DL, per quanto riguarda l’esempio precedente, diventa: ∀𝑥𝑥 �𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝑥𝑥) ⇔ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥) ∧ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝑥𝑥, 𝑦𝑦)� 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ≡ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ∩ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵) 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵) Nel mondo delle applicazioni, comunque, si usa spesso una rappresentazione grafica.
  • 19. Antonio Tandoi Ingegneria della conoscenza 13 CAPITOLO 4: MODELLI DI RAPPRESENTAZIONE In svariate aree dell’informatica si utilizzano sistemi di rappresentazione per scopi e usi differenti. Al di là delle differenze, tutti i sistemi di rappresentazione condividono alcune caratteristiche comuni, che verranno qui analizzate. Il primo concetto da analizzare è la distinzione tra realtà e rappresentazione. Ogni rappresentazione, infatti, è necessariamente la rappresentazione di qualcosa e questo “qualcosa” è un frammento della realtà interessante per qualche applicazione. A sua volta, una rappresentazione può essere analizzata a tre livelli distinti: • modello concreto: rappresentazione dei fatti che sussistono nel frammento di realtà (“Alberto Bianchi è iscritto a Ingegneria presso il Politecnico di Bari”) • modello concettuale: rappresentazione dei concetti utilizzati per formulare il modello concentro (per esprimere il concetto precedente è necessario avere i concetti di individuo, facoltà, iscrizione…) • metamodello: specifica degli strumenti formali utilizzabili per definire il modello concettuale e il modello concreto (ad esempio predicati e operatori logici, entità e relazioni…)
  • 20. CAPITOLO 4: MODELLI DI RAPPRESENTAZIONE 14 4.1 SISTEMI PER LA RAPPRESENTAZIONE DELLE CONOSCENZE Un KRS è comunque un sistema di rappresentazione e come tale si articola nei tre livelli esaminati precedentemente. La differenza principale di un KRS, tuttavia, sta in questo: • nei campi dei database e delle specifiche software, i modelli concettuali (ER, UML…) rappresentano un passo importante nello sviluppo di un sistema, ma non fanno parte del prodotto finale • nei KRS, invece, i modelli concettuali sono parte integrante del prodotto finale, in quanto sono disponibili e vengono utilizzati a runtime dai sistemi software Un KRS, infatti, è costituito da cinque componenti principali: • una Terminological Box (TBox), che rende disponibile e accessibile in linea la rappresentazione formale del modello concettuale di un frammento di realtà • una Assertion Box (ABox), che rende disponibile e accessibile in linea la rappresentazione formale del modello concreto di un frammento di realtà • un insieme di reasoning services, in grado di dedurre nuove conoscenze da quelle contenute nelle TB e AB • un’interfaccia di accesso, che consente l’accesso alle conoscenze contenute nella TB e nella AB da parte di sistemi software • un’interfaccia di editing, che consente la gestione dei contenuti della TB e della AB da parte di un operatore umano
  • 21. Antonio Tandoi Ingegneria della conoscenza 15 CAPITOLO 5: TERMINI E ONTOLOGIE Il linguaggio formale di una DL serve a definire termini che descrivono concetti. Per esempio: (1) 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 è un termine che intuitivamente significa “persona di genere femminile”. Anche la semplice espressione (2) 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 è un termine, che intuitivamente significa “donna” Le espressioni come (2) sono detti termini atomici, mentre quelle come (1) sono detti termini complessi. Nel campo delle DL è d’uso indicare generici termini atomici con le lettere A e B, e generici termini complessi con le lettere C e D. Inoltre i termini atomici sono spesso chiamati concetti o classi (perché denotano insiemi di oggetti della realtà). Una equivalenza terminologica esprime l’equivalenza tra due termini complessi C e D (𝐶𝐶 ≡ 𝐷𝐷). Nel caso, invece, in cui si abbia 𝐴𝐴 ≡ 𝐷𝐷 con A atomico, si ha una definizione terminologica. Per esempio: 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 è una definizione terminologica; più precisamente si tratta della definizione del termine DONNA in funzione dei termini PERSONA e FEMMINA Infine, chiamiamo ontologia un insieme finito di definizioni terminologiche. La funzione di un’ontologia è di assegnare un significato non ambiguo ai termini atomici, in base al significato di altri termini, i quali a loro volta avranno un significato grazie a ulteriori definizioni terminologiche e così via. Questo processo, tuttavia, non può essere continuato all’infinito: dato che ogni ontologia è finita, prima o poi si arriva a termini privi di una definizione, che vanno considerati come primitivi. Ogni ontologia, quindi, si basa su un insieme più o meno grande di termini primitivi, di cui non si dà alcuna definizione. Il significato di tutti i termini utilizzati dipende, attraverso le definizioni terminologiche, dal significato dei termini primitivi: se questi non sono definitivi, l’intera ontologia è priva di fondamenta.
  • 22. CAPITOLO 5: TERMINI E ONTOLOGIE 16 Il problema di assegnare un significato anche a termini primitivi è detto symbol grounding. 5.1 SEMANTICA DEI TERMINI Per le espressioni di una DL è possibile specificare una semantica formale, che associa a ogni termine un’interpretazione definita in modo insiemistico. Mentre a ogni termine è possibile associare una formula di FOL, non è vero l’inverso: le DL sono, infatti, sottoinsiemi propri di FOL, quindi esistono formule di FOL che non corrispondono ad alcun termine. In generale, la traduzione di un termine atomico o complesso in FOL fornisce come risultati una formula con esattamente una variabile libera. In particolare, ogni termine atomico A si traduce con una formula del tipo 𝐴𝐴(𝑥𝑥), dove 𝐴𝐴(−) è un predicato a un argomento e 𝑥𝑥 e è una variabile. Per esempio: 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ⇒ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥) 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ⇒ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑥𝑥) 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑥𝑥) Per capire il senso di questa regola, si consideri come esempio la traduzione 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 in 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥). Data una certa porzione predefinita della realtà, detta dominio, ogni termine determina un’estensione, definita come l’insieme di tutti gli individui del dominio cui il termine si applica. Per esempio: Se il dominio comprende tutti gli elementi presenti in un’aula durante una lezione, l’estensione in quel dominio del termine 𝑫𝑫𝑫𝑫𝑫𝑫𝑫𝑫𝑫𝑫, è costituito da tutte le donne presenti nell’aula. Ora, questi individui sono appunto i possibili valori della variabile 𝒙𝒙 che rendono vera la formula predicativa 𝑫𝑫𝑫𝑫𝑫𝑫𝑫𝑫𝑫𝑫(𝒙𝒙). L’idea generale è appunto questa: dato un termine atomico A, la semantica del termine deve consentire di identificare l’estensione di A nel dominio; tale estensione è rappresentata da tutti e soli gli individui del dominio che rendono vera la formula 𝐴𝐴(𝑥𝑥) quando siano assunti come valori della 𝑥𝑥. Nelle DL sono solitamente utilizzate due termini predefiniti: T e ⊥, che corrispondono rispettivamente al concetto universale (totalità degli individui esistenti) e concetto vuoto (insieme vuoto di individui).
  • 23. Antonio Tandoi Ingegneria della conoscenza 17 L’operatore di intersezione corrisponde al connettivo booleano di congiunzione. 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑥𝑥) ∧ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑥𝑥) L’operatore di equivalenza corrisponde al connettivo booleano bicondizionale. 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑥𝑥) ⇔ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑥𝑥) ∧ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑥𝑥) 5.2 ALTRI OPERATORI Utilizzando l’operatore di negazione ¬ è possibile definire il complemento di un elemento 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈(𝑥𝑥) ⇔ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑥𝑥) ∧ ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑥𝑥) Un altro operatore utile è quello di unione ∪ che permette di definire gli elementi che ne raggruppano altri. 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁 ≡ 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∪ (𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 ∪ 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) ⇒ 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁(𝑥𝑥) ⇔ 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝑥𝑥) ∧ �𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉(𝑥𝑥) ∪ 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴(𝑥𝑥)� 5.3 TERMINI BASATI SU RUOLI Oltre ai termini corrispondenti a predicati con un argomento (classi), le DL utilizzano termini corrispondenti a predicati a due argomenti, che esprimono relazioni binarie fra individui della realtà; tali termini vengono detti ruoli, proprietà, attributi o relazioni. Un esempio di definizione terminologica con ruolo è 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ≡ ∃ 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹 che intuitivamente significa “genitore è chi ha un figlio”. L’espressione ∃ 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹 è un termine complesso, formato dal quantificatore esistenziale e dal ruolo FIGLIO. Inoltre: ∃ 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹 ⇒ ∃𝑦𝑦 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹(𝑥𝑥, 𝑦𝑦) Si noti che l’espressione contiene due variabili; tuttavia, la seconda è vincolata dal quantificatore esistenziale, pertanto x è l’unica variabile libera della formula.
  • 24. CAPITOLO 5: TERMINI E ONTOLOGIE 18
  • 25. Antonio Tandoi Ingegneria della conoscenza 19 CAPITOLO 6: RUOLI 6.1 TERMINI CON RUOLI Come si è visto, il termine GENITORE può essere definito utilizzando un ruolo, che esprime una relazione binaria fra individui del dominio. Nelle DL, i generici ruoli vengono indicati con R e S. Si noti che espressioni del tipo ∃𝑅𝑅 si comportano esattamente come i conetti: in particolare possono essere combinate con altri concetti medianti gli operatori precedentemente introdotti. 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ≡ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ∩ ∃ 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹 Anche il quantificatore universale di FOL ha un operatore corrispondente nelle DL. Si supponga, ad esempio, di voler definire come “MADRE-F” una madre che ha soltanto figlie femmine: 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 − 𝐹𝐹 ≡ 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∩ ∀𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹. 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 − 𝐹𝐹(𝑥𝑥) ↔ 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀(𝑥𝑥) ∧ ∀𝑦𝑦 �𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑥𝑥, 𝑦𝑦) → 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑦𝑦)�, ovvero: una “MADRE-F è una madre tale che ogni suo figlio è femmina”. Si noti che un’espressione DL del tipo ∀𝑅𝑅. 𝐶𝐶, con R generico ruolo e C generico concetto, si limita a porre un vincolo di tipo sugli eventuali individui y con cui x abbia una relazione R: l’espressione ∀𝑅𝑅. 𝐶𝐶 non implica tuttavia che tali individui esistano. Per capire meglio questo punto, consideriamo la definizione: 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 − 𝐹𝐹 ≡ ∀𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹. 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝑅𝑅𝑅𝑅 − 𝐹𝐹(𝑥𝑥) ↔ ∀𝑦𝑦 �𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑥𝑥, 𝑦𝑦) → 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑦𝑦)� che dice che “un GENITORE-F è un individuo in cui tutti i figli sono femmine”; tuttavia, questa condizione è soddisfatta anche per chi è priva di figli perché, appunto, “un individuo i cui figli sono tutti femmine”, significa “un individuo x tale che se y è figlio di x, allora y è femmina”. Una definizione corretta può essere che si deve richiedere l’esistenza di almeno un figlio. 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 − 𝐹𝐹 ≡ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ∩ ∀𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹. 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹 𝐴𝐴
  • 26. CAPITOLO 6: RUOLI 20 In alcune DL è possibile vincolare anche il tipo dei valori introdotti del quantificatore esistenziale. Ad esempio, possiamo definire il concetto di “GENITORE- UN-M” come un individuo che ha almeno un figlio maschio: 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 − 𝑈𝑈𝑈𝑈 − 𝑀𝑀 ≡ ∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹. ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 ⇒ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 − 𝑈𝑈𝑈𝑈 − 𝑀𝑀(𝑥𝑥) ↔ ∃𝑦𝑦 �𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑥𝑥, 𝑦𝑦) ∧ ¬ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑦𝑦)� Più in generale, nella maggior parte delle DL è possibile esprimere vincoli di cardinalità sui ruoli come: ≤ 𝑛𝑛𝑛𝑛 ∃≤𝑛𝑛 𝑦𝑦 𝑅𝑅(𝑥𝑥, 𝑦𝑦) ≤ 𝑛𝑛𝑛𝑛 ∃≤𝑛𝑛 𝑦𝑦 �𝑅𝑅(𝑥𝑥, 𝑦𝑦) ∧ 𝐶𝐶(𝑥𝑥)� ≥ 𝑛𝑛𝑛𝑛 ∃≥𝑛𝑛 𝑦𝑦 𝑅𝑅(𝑥𝑥, 𝑦𝑦) ≥ 𝑛𝑛𝑛𝑛 ∃≥𝑛𝑛 𝑦𝑦 �𝑅𝑅(𝑥𝑥, 𝑦𝑦) ∧ 𝐶𝐶(𝑥𝑥)� 𝑛𝑛𝑛𝑛 ≤ 𝑛𝑛𝑛𝑛 ∩ ≥ 𝑛𝑛𝑛𝑛 𝑛𝑛𝑛𝑛. 𝐶𝐶 ≤ 𝑛𝑛𝑛𝑛. 𝐶𝐶 ∩ ≥ 𝑛𝑛𝑛𝑛. 𝐶𝐶 6.2 INVERSIONE DEI RUOLI In molti casi è necessario invertire i ruoli, ossia invertire l’orientamento della relazione binaria corrispondente a un ruolo. Più precisamente, se la semantica del ruolo R si esprime in FOL come 𝑅𝑅(𝑥𝑥, 𝑦𝑦), allora la semantica del ruolo inverso R– si esprime in FOL invertendo l’ordine delle variabili x e y, ovvero come 𝑅𝑅(𝑦𝑦, 𝑥𝑥). Per esempio: Supponiamo ad esempio di voler considerare come “italiano d’adozione” ogni cittadino italiano che abbia ambedue i genitori stranieri. Partendo dal concetto di “cittadino italiano” e dal ruolo di “figlio” possiamo dare la definizione seguente: 𝐼𝐼𝐼𝐼 − 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 ≡ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝐼𝐼𝐼𝐼 ∩ ∀𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹. ¬𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝐼𝐼𝐼𝐼 ⇒ 𝐼𝐼𝐼𝐼 − 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴(𝑥𝑥) ↔ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝐼𝐼𝐼𝐼(𝑥𝑥) ∧ ∀𝑦𝑦 �𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑥𝑥, 𝑦𝑦) → ¬𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝐼𝐼𝐼𝐼(𝑦𝑦)� 6.3 DOMINIO E CODOMINIO Spesso è utile delimitare il dominio e il codominio di un ruolo, ovvero gli insiemi di individui che possono comparire come valori della x (dominio) e come valori della y (codominio) nell’espressione 𝑅𝑅(𝑥𝑥, 𝑦𝑦). Molti linguaggi per ontologie dispongono di simboli
  • 27. Antonio Tandoi Ingegneria della conoscenza 21 specifici per definire il dominio di un ruolo e il suo codominio (in genere denominato range). Si supponga, ad esempio di voler affermare che il ruolo “età” esprima sempre una relazione binaria tra persone e numeri naturali. La seguente equivalenza terminologica dice che il codominio del ruolo “età” è la classe dei numeri naturali: 𝑇𝑇 ≡ ∀𝐸𝐸𝐸𝐸à. 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁 ⇒ 𝑥𝑥 = 𝑥𝑥 ↔ ∀𝑦𝑦 �𝐸𝐸𝐸𝐸à(𝑥𝑥, 𝑦𝑦) → 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁(𝑦𝑦)� Per affermare che il dominio del ruolo “età” è la classe delle persone, si possono seguire due strade. La più semplice è definire il dominio come codominio del ruolo inverso. 𝑇𝑇 ≡ ∀𝐸𝐸𝐸𝐸à. 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ⇒ ∀𝑦𝑦 �𝐸𝐸𝐸𝐸à(𝑥𝑥, 𝑦𝑦) → 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑦𝑦)� che dice appunto che l’individuo che ha un’età, se esiste, è sempre una persona. Tuttavia, questa strada non sempre è percorribile perché alcune DL non ammettono l’inversione dei ruoli. Infine, si richiamano l’attenzione sul fatto che le definizioni precedenti siano dei puri vincoli sui valori che la x e la y possono assumere nell’espressione 𝑅𝑅(𝑥𝑥, 𝑦𝑦); nulla, invece, è affermato sul fatto che ogni persona abbia effettivamente un’età o che ogni naturale sia l’età di qualche persona. In altre parole, tali definizioni sono compatibili con l’esistenza di persone prive di età o dotate di più età differenti! 6.4 I RUOLI FUNZIONALI Una relazione funzionale o funzione è una relazione binaria con le seguenti proprietà: 1. ogni elemento del dominio è in relazione con almeno un elemento del codominio 2. ogni elemento del dominio è in relazione con al più un elemento del codominio Ne segue, naturalmente, che quando una relazione binaria è funzionale ogni elemento del dominio è in relazione con esattamente un elemento del codominio. Nelle DL, un ruolo che esprima una funzione è detto ruolo funzionale. Ad esempio, il ruolo “età” è funzionale perché ogni persona ha esattamente un’età. Per esprimere questo fatto è sufficiente affermare che la classe delle persone coincide con la classe egli individui che hanno esattamente un’età. 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ 1𝐸𝐸𝐸𝐸𝐸𝐸′ Si noti, tuttavia, che tale definizione non elimina la necessità di definire comunque un dominio di “età”; infatti, tale definizione non esclude la possibilità che tale dominio sia più
  • 28. CAPITOLO 6: RUOLI 22 ampio di tutte le persone: tutti gli individui di questa classe più ampia che non siano persone avrebbero però un insieme di valori di età di cardinalità pari a 0 o maggiore di 1. Nelle DL, un ruolo che esprime una relazione funzionale è detto ruolo funzionale. Per esempio: 𝑇𝑇 ≡ ∀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀− . 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷, 𝑇𝑇 ≡ ∀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀. 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈 Il ruolo “marito” è funzionale perché ogni donna ha al più un marito. Per esprimere questo concetto è sufficiente affermare che la classe delle donne coincida con la classe degli individui che hanno al più un marito: 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ≡≤ 1𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 Si noti che la precedente relazione non elimina la necessità di definire comunque il dominio di “marito” con la prima relazione. Infatti, essa da sola non esclude la possibilità che il dominio di “marito” sia più ampio dell’insieme delle donne: tutti gli individui di questa classe più ampia che non siano donne avrebbero un insieme di mariti di cardinalità maggiore di 1. Questa possibilità è però esclusa dalla prima relazione, che dice che qualsiasi individui che abbia un marito è una donna. Dato che ogni funzione è anche una relazione funzionale, ne segue che ogni funzione mette in relazione ciascun elemento del dominio (argomento della funzione) con esattamente un elemento del codominio (valore della funzione). Nelle DL, un ruolo che sia una funzione è detto ruolo funzione o semplicemente funzione.
  • 29. Antonio Tandoi Ingegneria della conoscenza 23 CAPITOLO 7: ASSERTION BOX 7.1 SUSSUNZIONE Finora, sono stati usati esempi di ontologie usando esclusivamente equivalenze terminologiche del tipo 𝑪𝑪 ≡ 𝑫𝑫. In molti casi interessanti, tuttavia, la relazione fra due termini è più debole. Si supponga, ad esempio, di voler specificare che i gatti siano animali domestici. Non è possibile utilizzare un’equivalenza, perché naturalmente esistono animali domestici che non sono gatti. La relazione trai i due termini, dunque, può esprimersi nel ruolo seguente. 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ⊆ 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 − 𝐷𝐷𝐷𝐷𝐷𝐷 L’operatore ⊆ è detto operatore di sussunzione e si dice che GATTO è sussunto da ANIM-DOM mentre ANIM-DOM sussume GATTO. In generale, è possibile specificare una sussunzione fra termini arbitrari: 𝐶𝐶 ⊆ 𝐷𝐷 ⇒ 𝐶𝐶(𝑥𝑥) → 𝐷𝐷(𝑥𝑥) In linea di principio, la sussunzione è sempre sostituibile da un’equivalenza, pur di introdurre concetti fittizi. 7.2 NOMINALI E TERMINI ENUMERATIVI Nelle ontologie è spesso possibile utilizzare anche nomi specifici detti nominali. {𝑎𝑎1 … 𝑎𝑎𝑛𝑛} ⇒ 𝑥𝑥 = 𝑎𝑎1 ∨ 𝑥𝑥 = 𝑎𝑎𝑛𝑛 L’operatore {} è detto one-of, perché enumera tutti i valori che la variabile x può assumere. Va sottolineato che, contrariamente a FOL, vale nelle DL la unique name assumption: significa che due nominali distinti non possono mai fare riferimento allo stesso individui del dominio. In termini logici, vale l’assioma: 𝑎𝑎1 ≠ 𝑎𝑎2 ∧ 𝑎𝑎1 ≠ 𝑎𝑎3 ∧ … 𝑎𝑎𝑛𝑛−1 ≠ 𝑎𝑎𝑛𝑛 Nelle DL non vale invece un’altra assunzione, ossia la domain closure assumption; tale assunzione richiede che il dominio di tutti gli individui contenga soltanto degli individui cui si può fare riferimento con un nominale.
  • 30. CAPITOLO 7: ASSERTION BOX 24 7.3 ASSERTION BOX Come si è già detto, un sistema di rappresentazione delle conoscenze consta di una TBox e di una ABox. La TBox contiene essenzialmente le conoscenze terminologiche e definisce una ontologia. La ABox, invece, contiene conoscenze fattuali. Nelle DL si possono esprimere due tipi di conoscenze fattuali. Sono infatti ammesse asserzioni del tipo C(a) o R(a,b). La semantica di FOL di C(a) si ottiene traducendo in FOL il termine C e sostituendo tutte le occorrenze della variabile libera in tale traduzione con il nominale a. Allo stesso modo, la semantica della formula DL R(a,b) è invece data semplicemente dalla formula FOL R(a,b). Si può nominare una terza assunzione detta closed world assumption, tipica del mondo dei DB e delle IA. In altri termini, l’assunzione significa che: • tutto ciò che è esplicitamente asserito nell’ABox è vero • tutto ciò che non è esplicitamente asserito nell’ABox è falso Questa assunzione non viene adottata nel mondo delle DL. Si noti tra l’altro che un’assunzione del genere presuppone la conoscenza completa del mondo dell’applicazione: infatti, se tutto ciò che si asserisce è vero e tutto ciò che non si asserisce è falso non è possibile assumere rispetto a un fatto una posizione intermedia (non so se sia vero o falso). La semantica dell’ABox delle DL è invece compatibile con una situazione di conoscenza parziale: di alcune cose si sa che sono vere, di altre che sono false, di altre ancora non si sa nulla.
  • 31. Antonio Tandoi Ingegneria della conoscenza 25 CAPITOLO 8: LINGUAGGIO OWL OWL (Web Ontology Language) è lo standard attualmente proposto per la definizione di ontologie per il Semantic Web. OWL prevede tre livelli di complessità crescente: • OWL Lite: semplice da implementare ma scarsamente espressivo • OWL DL: abbastanza espressivo ma comunque decidibile e dotato di procedure di ragionamento di complessità nota, approfonditamente studiate e ottimizzate • OWL Full: consente di definire rappresentazioni che vanno al di là della logica predicativa del primo ordine; è molto espressivo ma non decidibile e quindi problematico dal punto di vista della meccanizzazione del ragionamento Un’ontologia OWL si articola, come per ogni DL, in una TBox e una ABox, ambedue rappresentati come grafi RDF. La rappresentazione RDF delle ontologie OWL presenta grandi vantaggi per l’interoperabilità delle applicazioni, ma è difficilmente leggibile e alquanto confusa, a causa delle numerose varianti consentite da RDF. D’altra parte, gli strumenti per la definizione di ontologie utilizzano in genere interfacce grafiche che nascondono all’utente la rappresentazione RDF. 8.1 DESCRIZONE DI CLASSI Nel linguaggio OWL i termini sono denominati descrizioni di classi, gli operatori per la definizione di termini sono denominati costruttori di classi e i ruoli sono denominati proprietà. OWL prevede sei tipi di descrizioni di classi: • identificatore • enumerazione • restrizione di proprietà • intersezione • unione • complemento
  • 32. CAPITOLO 8: LINGUAGGIO OWL 26 IDENTIFICATORE Ogni descrizione di classe descrive una risorsa di tipo owl:Class. Nel caso più semplice, la descrizione consta di un identificatore della classe. Dato che gli identificatori di classi corrispondono ai termini atomici delle DL, si continuerà a chiamarli A o B. OWL prevede due identificatori anche per la classe universale e la classe vuota: owl:Thing e owl:Nothing rispettivamente. Ogni individuo 𝑎𝑎1 è un elemento di owl:Class. ENUMERAZIONE Una classe finita può essere descritta dall’enumerazione, ossia owl:OneOf, di individui che appartengono a un insieme. RESTRIZIONI DI PROPRIETA’ In OWL sono dette restrizioni di proprietà le descrizioni di classi seguenti: ∃𝑅𝑅. 𝐶𝐶 ⇒ owl:someValuesFrom ∀𝑅𝑅. 𝐶𝐶 ⇒ owl:allValuesFrom ∀𝑅𝑅. {𝑎𝑎} ⇒ owl: hasValue ≤ 𝑛𝑛𝑛𝑛 ⇒ owl:maxCardinality ≥ 𝑛𝑛𝑛𝑛 ⇒ owl:minCardinality = 𝑛𝑛𝑛𝑛 ⇒ owl:Cardinality Si noti che le restrizioni di cardinalità non consentono di specificare una classe di appartenenza per i valori della proprietà; s’intende quindi che tali valori appartengono al range della proprietà, che può essere definito a parte. INTERSEZIONE Una classe finita può essere descritta dall’enumerazione, ossia owl:intersectionOf, un numero finito di classi 𝐶𝐶1 ∩ … ∩ 𝐶𝐶𝑛𝑛 UNIONE Una classe finita può essere descritta dall’enumerazione, ossia owl:unionOf, un numero finito di classi 𝐶𝐶1 ∪ … ∪ 𝐶𝐶𝑛𝑛 COMPLEMENTO Una classe finita può essere descritta dall’enumerazione, ossia owl:complementOf, un numero finito di classi ¬𝐶𝐶
  • 33. Antonio Tandoi Ingegneria della conoscenza 27 8.2 ASSIOMI DI CLASSE In OWL le definizioni terminologiche della TBox sono dette assiomi di classe e possono essere di tre tipi: • assiomi di sottoclasse • assiomi di equivalenza • assiomi di disgiunzione. SOTTOCLASSI Fra due descrizioni di classi, C e D, si può definire una relazione di sottoclasse, ossia owl:subClassOf. Questa relazione, corrisponde alla sussunzione terminologica nelle DL: 𝐶𝐶 ⊆ 𝐷𝐷. EQUIVALENZA Fra due descrizioni di classi, C e D, si può definire una relazione di equivalenza, ossia owl:equivalentClass, che corrisponde all’equivalenza terminologica nelle DL: 𝐶𝐶 ≡ 𝐷𝐷. DISGIUNZIONE Fra due descrizioni di classi, C e D, si può dichiarare una relazione di disgiunzione, ossia owl:disjointWith, che corrisponde all’equivalenza: 𝐶𝐶 ∩ 𝐷𝐷 ≡ ⊥. 8.4 PROPRIETÀ In OWL anche proprietà (corrispondenti ai ruoli nelle DL) possono essere viste come particolari classi. Come tali, le proprietà possono avere sottoproprietà ed essere combinate con vari costruttori. Così come ogni classe di individui è una risorsa di tipo owl:Class, le proprietà possono essere risorse di tipo owl:ObjectProperty (proprietà di individui) oppure owl:DatatypeProperty (proprietà di dati). In OWL si possono specificare i seguenti aspetti relativi alle proprietà: • identificatore di proprietà • dominio e codominio (range)
  • 34. CAPITOLO 8: LINGUAGGIO OWL 28 • sottoproprietà • proprietà equivalente • proprietà inversa. IDENTIFICATORE DI PROPRIETA’ Un identificatore di proprietà corrisponde a un ruolo e sarà quindi indicato con R o S. RANGE Di una proprietà possono essere specificati il dominio (rdfs:domain) e il codominio (rdfs:range). Tali specifiche sono equivalenti alle equivalenze: 𝑇𝑇 ≡ ∀𝑅𝑅– . 𝐶𝐶 𝑇𝑇 ≡ ∀𝑅𝑅. 𝐶𝐶 SOTTOPROPRIETA’ Una proprietà può essere definita come sottoproprietà di rdfs:subPropertyOf un’altra proprietà. 𝑅𝑅 ⊆ 𝑆𝑆 ⇒ 𝑅𝑅(𝑥𝑥, 𝑦𝑦) → 𝑆𝑆(𝑥𝑥, 𝑦𝑦) PROPRIETÀ EQUIVALENTE Una proprietà può essere definita come equivalente, ossia owl:equivalentProperty, a un’altra proprietà. 𝑅𝑅 ≡ 𝑆𝑆 ⇒ 𝑅𝑅(𝑥𝑥, 𝑦𝑦) ↔ 𝑆𝑆(𝑥𝑥, 𝑦𝑦). PROPRIETA’ INVERSA Data una proprietà R si può definire la proprietà inversa, ossia owl:inverseOf, R–. Sulle proprietà è possibile definire vincoli globali di cardinalità, ovvero: • funzionalità • funzionalità inversa Una proprietà R è funzionale (owl:FunctionalProperty) se 𝑇𝑇 ≡ ≤ 1𝑅𝑅. Una proprietà R è funzionale inversa (owl:InverseFunctionalProperty) se 𝑇𝑇 ≡ ≤ 1𝑅𝑅–.
  • 35. Antonio Tandoi Ingegneria della conoscenza 29 SIMMETRIA Una proprietà R è simmetrica se 𝑅𝑅– ⊆ 𝑅𝑅, il che implica 𝑅𝑅– ≡ 𝑅𝑅. In OWL è possibile dichiarare direttamente che una proprietà è simmetrica (owl:SymmetricProperty). TRANSITIVITA’ La transitività di una proprietà R non si può esprimere con gli strumenti logici visti finora. Per esprimere la transitività, infatti, occorrerebbe prima introdurre il concetto di composizione di ruoli. Dati due ruoli, R ed S, allora: (𝑅𝑅 ∙ 𝑆𝑆)(𝑥𝑥, 𝑦𝑦) ↔ ∃𝑧𝑧�𝑅𝑅(𝑥𝑥, 𝑧𝑧) ∧ 𝑆𝑆(𝑧𝑧, 𝑦𝑦)�. Avendo a disposizione l’operatore di composizione sarebbe possibile specificare la transitività di R nel modo seguente: 𝑅𝑅 ∙ 𝑅𝑅 ⊆ 𝑅𝑅. Questa strada non è percorribile in OWL perché esso non prevede la composizione dei ruoli; tuttavia, è possibile dichiarare una proprietà transitiva (owl:TransitiveProperty). 8.5 INDIVIDUI E FATTI In OWL le asserzioni dell’ABox sono detti fatti. Si introducono due tipi di fatti: • fatti relativi all’appartenenza di un individuo a una classe o ai valori di una proprietà di un individuo • fatti relativi all’identità di uno o più individui. APPARTENENZA A UNA CLASSE E VALORI DI UNA PROPRIETÀ In OWL è possibile specificare che un individuo a appartiene a una classe C, 𝐶𝐶(𝑎𝑎), oppure che una proprietà R di un individuo a ha valore b, 𝑅𝑅(𝑎𝑎, 𝑏𝑏). IDENTITÀ Il linguaggio OWL non assume che gli individui abbiano nome unico. Quindi è possibile asserire che due nomi fanno riferimento allo stesso individuo (owl:sameAs): 𝑎𝑎 = 𝑏𝑏 . Analogamente è possibile asserire che due nomi fanno riferimento al individui distinti (owl:differentFrom): 𝑎𝑎 ≠ 𝑏𝑏. E’ anche possibile asserire che n individui sono tutti distinti fra loro (owl:AllDifferent).
  • 36. CAPITOLO 8: LINGUAGGIO OWL 30 8.6 SHOIN A questo punto è possibile spiegare perché OWL venga descritto come una logica descrittiva di tipo SHOIN(Dn) Negli acronimi delle DL: • la lettera S indica la possibilità di utilizzare i termini seguenti: 𝑻𝑻, ⊥, 𝑪𝑪 ∩ 𝑫𝑫, 𝑪𝑪 ∪ 𝑫𝑫, ¬𝑪𝑪, ∀𝑹𝑹. 𝑪𝑪, ∃𝑹𝑹. 𝑪𝑪, 𝑻𝑻𝑻𝑻(𝑹𝑹); • la lettera H (da role Hierarchy) indica la possibilità di definire relazioni di inclusione fra ruoli: 𝑹𝑹 ⊆ 𝑺𝑺 • la lettera O (da One of) indica la possibilità di definire termini per enumerazione: {𝒂𝒂𝟏𝟏 … 𝒂𝒂𝒏𝒏} • la lettera I indica la possibilità di definire il ruolo inverso: 𝑹𝑹– • la lettera N indica la possibilità di definire cardinalità non qualificate (le cardinalità qualificate ≤nR.C, ≥nR.C e =nR.C si indicano invece con la lettera Q) ≤ 𝒏𝒏𝒏𝒏, ≥ 𝒏𝒏𝒏𝒏, = 𝒏𝒏𝒏𝒏 • infine, Dn indica la possibilità di utilizzare vari tipi di dati all’interno della logica.
  • 37. Antonio Tandoi Ingegneria della conoscenza 31 CAPITOLO 9: CONSEGUENZE LOGICHE L’aspetto che distingue nettamente una base di conoscenze da un database è la possibilità di condurre ragionamenti in modo automatico. Poiché una base di conoscenze, KB, è costituita da una TBox, T, e da un’ABox, A, si scrive in generale KB = 〈T,A〉. Nel contesto della logica, quando si parla di “ragionamento” ci si riferisce sempre a ragionamenti di tipo deduttivo, o più semplicemente deduzioni. In generale, un ragionamento è un procedimento che porta a verificare se un enunciato X (ad esempio la sussunzione o l’equivalenza di due termini) è conseguenza logica di una base di conoscenze. Intuitivamente un enunciato X è conseguenza logica di una base di conoscenze KB quando X è necessariamente vero in ogni situazione concreta in cui siano vere le definizioni terminologiche e i fatti contenuti in KB. In tal caso, si scrive 𝑲𝑲𝑲𝑲 | = 𝑋𝑋, che si legge: KB implica logicamente (entails) X. Per esempio: Si consideri, ad esempio, la TBox T contenente le definizioni seguenti: 𝑇𝑇1. 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ ∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝑇𝑇2. 𝑇𝑇 ≡ ∀𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹– . 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑇𝑇3. 𝑇𝑇 ≡ ∀𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹. 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑇𝑇4. 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 𝑇𝑇5. 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 𝑇𝑇6. 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ≡ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 𝑇𝑇7. 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ∩ ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 È chiaro che il contenuto di T implica logicamente che certi enunciati, pur non essendo contenuti esplicitamente in T, sono necessariamente veri sotto l’ipotesi che sia vero il contenuto di T.
  • 38. CAPITOLO 9: CONSEGUENZE LOGICHE 32 Ad esempio: • ogni madre è una persona nonché una donna • ogni padre è una persona nonché un uomo; • la classe delle madri e la classe dei padri sono disgiunte. Questi enunciati possono essere scritti formalmente nel modo seguente. 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ⊆ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ⊆ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ⊆ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ⊆ 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∩ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ ⊥ Per segnalare che questi enunciati sono conseguenze logiche di T scriviamo quindi 𝑻𝑻 | = 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ⊆ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 È necessario, ora, distinguere tre concetti distinti: • compito di ragionamento (reasoning task): i tipi di enunciati che si desidera dedurre da una base di conoscenze • procedura di ragionamento: l’algoritmo per la deduzione degli enunciati • servizio di ragionamento: i servizi basati su procedure di ragionamento che uno strumento mete a disposizione delle applicazioni che accedono alla base di conoscenze 9.1 COMPITI DI RAGIONAMENTO RELATIVI ALLE TBOX Per quanto riguarda le TBox, i compiti di ragionamento più significativi per le applicazioni sono i seguenti: • sussunzione: data una TBox T, stabilire se una sussunzione 𝐶𝐶 ⊆ 𝐷𝐷 è conseguenza logica di T, ovvero stabilire se 𝑻𝑻 | = 𝐶𝐶 ⊆ 𝐷𝐷 • equivalenza: data una TBox T, stabilire se un’equivalenza 𝐶𝐶 ≡ 𝐷𝐷 è conseguenza logica di T, ovvero stabilire se 𝑻𝑻 | = 𝐶𝐶 ≡ 𝐷𝐷 • soddisfacibilità: data una TBox T, stabilire se un termine C è soddisfacibile, nel senso che applicare il termine a un individuo del dominio non comporta una contraddizione logica
  • 39. Antonio Tandoi Ingegneria della conoscenza 33 • disgiunzione: data una TBox T, stabilire se due termini C e D sono disgiunti, nel senso che applicando i due termini contemporaneamente allo stesso individuo comporta una contraddizione logica RIDUZIONE DEI COMPITI DI RAGIONAMENTO ALLA SUSSUNZIONE I quattro compiti di ragionamento fondamentali per le TBox possono essere ridotti alla sola sussunzione. Infatti: • equivalenza: dimostrare 𝑻𝑻 | = 𝐶𝐶 ≡ 𝐷𝐷 equivale a dimostrare che 𝑻𝑻 | = 𝐶𝐶 ⊆ 𝐷𝐷 e 𝑻𝑻 | = 𝐷𝐷 ⊆ 𝐶𝐶 • soddisfacibilità: dimostrare che C è soddisfacibile equivale a dimostrare che non è insoddisfacibile, ossia che non vale la seguente conseguenza logica 𝑻𝑻 | = 𝐶𝐶 ⊆ ⊥ • disgiunzione: dimostrare che C e D sono disgiunti equivale a dimostrare che 𝑻𝑻 | = 𝐶𝐶 ∩ 𝐷𝐷 ⊆ ⊥. Dunque un’unica procedura di ragionamento potrebbe essere utilizzata per realizzare tutti e quattro i compiti di ragionamento fondamentali per le TBox. Questa è la strada che si segue per implementare i servizi di ragionamento per le DL poco espressive. RIDUZIONE DEI COMPITI DI RAGIONAMENTO ALLA SODDISFACIBILITÀ I quattro compiti di ragionamento fondamentali per le TBox possono anche essere ridotti alla sola soddisfacibilità. Infatti: • sussunzione: dimostrare 𝑻𝑻 | = 𝐶𝐶 ⊆ 𝐷𝐷 equivale a dimostrare che 𝑻𝑻 | = 𝐶𝐶 ∩ ¬𝐷𝐷 è insoddisfacibile • equivalenza: dimostrare 𝑻𝑻 | = 𝐶𝐶 ≡ 𝐷𝐷 equivale a dimostrare che 𝑻𝑻 | = 𝐶𝐶 ∩ ¬𝐷𝐷 è insoddisfacibile e 𝑻𝑻 | = ¬𝐶𝐶 ∩ 𝐷𝐷 è insoddisfacibile • disgiunzione: dimostrare che C e D sono disgiunti equivale a dimostrare che 𝑇𝑇 | = 𝐶𝐶 ∩ 𝐷𝐷 è insoddisfacibile. Dunque una procedura per stabilire se un termine è o non è soddisfacibile consente di realizzare i quattro compiti di ragionamento fondamentali per le TBox. Questa è la strada che si segue per implementare i servizi di ragionamento per le DL molto espressive, come ad esempio SHOIN.
  • 40. CAPITOLO 9: CONSEGUENZE LOGICHE 34 9.2 LA PROCEDURA SAT Per le DL decidibili (come SHOIN) si può formulare una procedura che prende in ingresso una TBox arbitraria T e un termine arbitrario C e, in un numero finito di passi, stabilisce se C è o non è soddisfacibile (tenendo conto ovviamente delle definizioni terminologiche di T). Nelle sue versioni più diffuse questa procedura, chiamata SAT, è basata sul cosiddetto metodo dei tableaux da tempo studiato e applicato nell’ambito di FOL. Per esempio: Si supponga di voler mostrare che, assumendo la TBox T del precedente esempio, valga la sussunzione 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ⊆ ∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 ovvero che il termine 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∩ ¬∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 sia insoddisfacibile (in altre parole, non può esistere un individuo che sia una madre e non abbia figli). La procedura SAT parte in realtà dall’ipotesi che il termine sia soddisfacibile, e sviluppa un ragionamento sulla base di questa ipotesi iniziale. A grandi linee, i passi del ragionamento sono i seguenti: • Se 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∩ ¬∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 è soddisfacibile, allora può esistere un individuo nell’universo cui il termine si applica. Introducendo un nominale, a, per identificare questo individuo si può scrivere (𝟏𝟏) 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∩ ¬∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑎𝑎) Da 1, poiché l’intersezione è distributiva rispetto all’argomento si può dedurre che (𝟐𝟐. 𝟏𝟏) 𝑴𝑴𝑴𝑴𝑴𝑴𝑴𝑴𝑴𝑴(𝒂𝒂) (𝟐𝟐. 𝟐𝟐) ¬∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑎𝑎) Da 2.1, applicando la definizione T6, si può dedurre che: (𝟑𝟑) 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ∩ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑎𝑎) Da 3, poiché l’intersezione è distributiva rispetto all’argomento si può dedurre che: (𝟒𝟒. 𝟏𝟏) 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺(𝑎𝑎)
  • 41. Antonio Tandoi Ingegneria della conoscenza 35 (𝟒𝟒. 𝟐𝟐) 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑎𝑎) Da 4.1, applicando la definizione T1, si può dedurre che (𝟓𝟓) 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ ∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑎𝑎) Da 5, poiché l’intersezione è distributiva rispetto all’argomento possiamo dedurre che (𝟔𝟔. 𝟏𝟏) 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑎𝑎), (𝟔𝟔. 𝟐𝟐) ∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑎𝑎). L’asserzione 6.2 è in contraddizione con la 2.2. Ne segue che l’ipotesi iniziale (ossia che il termine 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∩ ¬∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑎𝑎) fosse soddisfacibile) va rifiutata. Quindi il termine è insoddisfacibile. Dato il rapporto fra insoddisfacibilità e sussunzione, questa deduzione permette di stabilire che 𝑻𝑻 | = 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ⊆ ∃𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹
  • 43. Antonio Tandoi Ingegneria della conoscenza 37 CAPITOLO 10: ASSERZIONI Le asserzioni contenute in un’ABox possono essere basate su termini o basate su ruoli; ovvero, le asserzioni possono assumere una delle due forme seguenti: • 𝐶𝐶(𝑎𝑎) dove C è un termine arbitrario ed a è un nominale; • 𝑅𝑅(𝑎𝑎, 𝑏𝑏) dove R è un ruolo e a, b sono nominali. Va sottolineato che, in linea di principio, si potrebbero limitare le asserzioni basate su termini ai soli termini atomici. In altre parole, le asserzioni basate su termini potrebbero assumere la forma: • 𝐴𝐴(𝑎𝑎) dove A è un termine atomico ed a è un nominale; In questo modo non si perderebbe generalità, pur di aggiungere alla TBox opportune definizioni terminologiche del tipo: 𝐴𝐴 ≡ 𝐶𝐶. Per esempio: Considerando lo stesso esempio precedente, si potrebbe avere nella TBox la definizione 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹, o in alternativa le due definizioni 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∩ 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀, 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ≡ ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹, che consentirebbero di scrivere 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈(𝐵𝐵𝐵𝐵𝐵𝐵). Un approccio di questo genere, tuttavia, tende a riempire la TBox di definizioni poco significative; è quindi preferibile ammettere nell’ABox asserzioni basate su termini arbitrari. Un caso particolare è costituito dalle “asserzioni negative”, come ad esempio ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝐵𝐵𝐵𝐵𝐵𝐵). Tale dichiarazione non va vista come la negazione dell’asserzione positiva 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹(𝑏𝑏𝑏𝑏𝑏𝑏), quanto piuttosto come l’asserzione che il termine non atomico ¬𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹 si applica al nominale ‘Bob’.
  • 44. CAPITOLO 10: ASSERZIONI 38 10.1 COMPITI DI RAGIONAMENTO RELATIVI ALLE ABOX Alcuni compiti di ragionamento relativi alle ABox riguardano le asserzioni e utilizzano le conoscenze contenute in tutta la base delle conoscenze, sia nella TBox sia nell’ABox. Si consideri una base di conoscenze 〈T,A〉, formata dalla TBox T e dall’ABox A. I più significativi compiti di ragionamento relativi all’ABox sono i seguenti: • instance check: dati T, A, un termine arbitrario C e un nominale a, stabilire se si ha 𝑻𝑻, 𝑨𝑨 | = 𝐶𝐶(𝑎𝑎) • retrieval: dati T, A e un termine arbitrario C, fra tutti i nominali presenti nella base di conoscenze trovare tutti i nominali {𝑎𝑎1 … 𝑎𝑎𝑛𝑛} tali che 𝑻𝑻, 𝑨𝑨 | = 𝐶𝐶(𝑎𝑎𝑘𝑘) • realizzazione: dati T, A, un insieme di termini arbitrari {𝐶𝐶1 … 𝐶𝐶𝑛𝑛} e un nominale a, determinare i termini più specifici in {𝐶𝐶1 … 𝐶𝐶𝑛𝑛} per cui si ha 𝑻𝑻, 𝑨𝑨 | = 𝐶𝐶𝑘𝑘(𝑎𝑎). A chiarimento del compito di realizzazione, si che un termine C si dice più specifico di un termine D quando vale 𝐶𝐶 ⊆ 𝐷𝐷. Si noti inoltre che la sussunzione è una relazione d’ordine parziale fra i termini; i termini più specifici in {𝐶𝐶1 … 𝐶𝐶𝑛𝑛} per cui vale 𝑻𝑻, 𝑨𝑨 | = 𝐶𝐶𝑘𝑘(𝑎𝑎) sono quindi gli elementi di {𝐶𝐶1 … 𝐶𝐶𝑛𝑛}, minimali rispetto alla relazione di sussunzione, per cui vale 𝑻𝑻, 𝑨𝑨 | = 𝐶𝐶𝑘𝑘(𝑎𝑎) 10.2 RIDUZIONE ALLA SODDISFACIBILITA’ DEI COMPITI DI RAGIONAMENTO RELATIVI ALL’ABOX I compiti di ragionamento relativi all’ABox si possono ridurre al problema di stabilire la soddisfacibilità di un insieme di asserzioni. Si noti, innanzitutto, che 𝑻𝑻, 𝑨𝑨 | = 𝐶𝐶(𝑎𝑎) se e solo se 𝑻𝑻 | = 𝑙𝑙’𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢 𝑑𝑑𝑑𝑑 𝑨𝑨 𝑒𝑒 {¬𝐶𝐶(𝑎𝑎)} è 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖. Quindi un compito di instance check può essere ridotto a un problema di soddisfacibilità. Un compito di retrieval, poi, almeno in linea di principio può essere ridotto a un compito di instance check per ciascun nominale presente nella base di conoscenze. Infine, un compito di realizzazione può essere ridotto a una serie di compiti di instance check e a una serie di compiti di sussunzione.
  • 45. Antonio Tandoi Ingegneria della conoscenza 39 CAPITOLO 11: ANALISI SEMANTICA Una prima stratificazione delle ontologie è introdotta dalla distinzione fra TBox e ABox. Ricordando le definizioni: • la TBox contiene conoscenze terminologiche • l’ABox contiene conoscenze fattuali individui). Anche se tutte le conoscenze contenute nella TBox sono generali, si possono avere diversi livelli di generalità. Si tende a distinguere tre livelli di generalità: • ontologia superiore (upper ontology), concernente i termini più astratti e di uso praticamente universale e indipendente dalla singola area applicativa (per esempio termini come “oggetto fisico”, “artefatto”, “prodotto” “evento”, “azione” e così via) • ontologia mediana (middle ontology), concernente un’area applicativa ben definita (per esempio la chimica organica, il commercio elettronico, la telefonia mobile, i personal computer, gli strumenti musicali e così via) • ontologia inferiore (lower ontology), tipicamente utilizzata per interfacciare una singola applicazione con un’ontologia mediana (ad esempio, un servizio web per la vendita on line di strumenti musicali dovrà combinare in modo specifico un’ontologia del commercio elettronico e un’ontologia degli strumenti musicali). In un’applicazione tipica, la maggior parte dei termini tende ad essere definita nel livello mediano, mentre i livelli superiore e inferiore riguardano un numero di termini più limitato. Naturalmente, la maggior parte delle ontologie tende a presentare nel livello superiore gli stessi termini: termini come “oggetto fisico” ed “evento” compariranno nell’upper ontology di ogni applicazione in cui si parli di eventi che concernono oggetti fisici. L’ideale, quindi, sarebbe definire una volta per tutte un’ontologia superiore standard, da utilizzare come punto di partenza per lo sviluppo di ontologie mediane e inferiori.
  • 46. CAPITOLO 11: ANALISI SEMANTICA 40 Anche per quanto riguarda le ontologie mediane, sarebbe estremamente utile potersi basare su ontologie standard definite una volta per tutte e condivise da una vasta comunità di utenti. Il più cospicuo archivio di ontologie oggi disponibile è probabilmente la DAML Ontology Library. È diffusa la pratica di costruire ontologie mediane modificando e adattando ontologie preesistenti (approccio chiamato ontology reiingineering). Per quanto riguarda le ontologie inferiori, infine, data la loro natura, esse vengono definite e implementare di volta in volta dai progettisti delle singole applicazioni. 11.1 NOMI, CLASSE, ISTANZE Come già visto, i termini rappresentano insiemi di individui dell’universo e i nominali rappresentano singoli individui dell’universo. Per esempio: Nell’asserzione (𝟏𝟏) 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) il termine atomico 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 rappresenta tutti gli individui x dell’universo che rendono vera la formula FOL 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑥𝑥), mentre il nominale ‘Antonio’ denota un singolo elemento dell’universo che, secondo l’asserzione, fa parte dell’insieme dei celibi. Tuttavia, questo non è l’unico modo di rappresentare il fatto che Antonio è celibe. Innanzitutto, è spesso opportuno distinguere fra il nominale che costituisce un identificatore univoco di un individuo e il nome dell’individuo: “Antonio”, ad esempio, può essere il nome di una persona, ma in generale non è un identificatore univoco, perché ci sono molte persone che si chiamano allo stesso modo. Per distinguere fra nominali e nomi notiamo che: • ogni individuo può avere un nome (non necessariamente univoco); • non tutti gli individui denotati dai nominali devono avere anche un nome (ad es., posso avere quattro diversi nominali per denotare le quattro sedie di un ufficio, ma è improbabile che queste seggiole abbiano un “nome” nello stesso senso in cui ha un nome una persona, un cane o una città); • i nomi sono stringhe, ovvero dati del tipo STRING di XML.
  • 47. Antonio Tandoi Ingegneria della conoscenza 41 Per associare un nome a un individuo possiamo allora introdurre un ruolo, Nome, il cui dominio è T (in quanto ogni individuo può avere un nome) e il cui codominio è STRING. Poiché l’assioma 𝑇𝑇 ≡ ∀𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁–. Tè superfluo (in quanto tautologico), è sufficiente specificare 𝑇𝑇 ≡ ∀𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁. 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. Per esempio: Se ora ‘Antonio’ è il nominale che denota Antonio la asserzione diventa: (𝟐𝟐) 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴), (𝟐𝟐) 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, “𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴”) dove “Antonio” è una stringa. Si noti che per trovare i nominali di tutti gli individui che si chiamano Antonio è sufficiente risolvere un compito di retrieval relativo al termine 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁. {“𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴”}. In modo analogo si può stabilire che tutte le persone hanno (almeno) un nome, e che tutte e sole le persone hanno (almeno) un cognome: 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ⊆ ≥ 1𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁; 𝑇𝑇 ≡ ∀𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶– . 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃, 𝑇𝑇 ≡ ∀𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶. 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆, 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ ≥ 1𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 Si supponga ora di voler rappresentare il fatto che “celibe” è uno stato civile. È un errore abbastanza comune scrivere una definizione del tipo (𝟑𝟑 ∗) 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ⊆ 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 − 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 L’espressione tuttavia, è incompatibile con l’uso che fatto precedentemente del termine CELIBE: dalla (2) e dalla (3∗), infatti, si otterrebbe 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 − 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴) che significa che Antonio è uno stato civile! L’affermazione che “Celibe” è uno stato civile, infatti, non significa che l’insieme dei celibi sia un sottoinsieme degli stati civili, ma piuttosto che “celibe” è un’istanza di stato civile.
  • 48. CAPITOLO 11: ANALISI SEMANTICA 42 Poiché “Celibe” è stato trattato come una classe, però, è impossibile in una DL asserire che “Celibe” sia a sua volta un’istanza di un’altra classe: si tratterebbe di un’asserzione del secondo ordine, non esprimibile in FOL e a maggior ragione non esprimibile in una DL1. Per esprimere il fatto che “Celibe” è uno stato civile occorre reificare la classe dei celibi, introducendo un nominale che funga da rappresentante della classe (“reificare” un’entità significa sempre introdurre nell’universo un individuo che la rappresenta). Ecco una possibile soluzione: 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 − 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ≡ {𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐, 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐, 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠} 𝑇𝑇 ≡ ∀𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆– . 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑇𝑇 ≡ ∀𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 − 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ = 1𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ≡ ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. {𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐} 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ≡ ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. {𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐} 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 ≡ ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. {𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠} A questo punto è ancora possibile asserire la (2), da cui si può dedurre: 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃(𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎), 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎, 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐) Si noti che le definizioni date sopra non sono sufficienti a dedurre che gli insiemi dei celibi, dei coniugati e dei separati sono disgiunti. È vero che il ruolo StatoCivile è definito come ruolo funzione sul dominio PERSONA, e ciò comporta che ogni persona abbia esattamente uno stato civile; tuttavia non abbiamo specificato che i tre stati civili sono diversi fra loro. Ciò può essere fatto aggiungendo all’ABox l’asserzione ≠ (𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐, 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐, 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠) A questo punto, dalla (2) è anche possibile dedurre: ¬𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎) ¬𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎)
  • 49. Antonio Tandoi Ingegneria della conoscenza 43 11.2 LE TASSONOMIE La forma più semplice che un’ontologia può assumere è la tassonomia, che consiste nella semplice classificazione gerarchica (ovvero strutturata ad albero) delle entità di un campo applicativo. Innanzitutto, si definisce partizione la definizione di una classe come unione di un numero finito di sottoclassi disgiunte fra loro, ossia: 𝐴𝐴 ≡ 𝐵𝐵1 ∪ … ∪ 𝐵𝐵𝐵𝐵, (𝟒𝟒) 𝐵𝐵𝐵𝐵 ∩ 𝐵𝐵𝐵𝐵 ≡ ⊥ 𝑝𝑝𝑝𝑝𝑝𝑝 1 ≤ 𝑖𝑖 < 𝑗𝑗 ≤ 𝑛𝑛. Nel seguito, per concisione si abbrevierà la (4) scrivendo: 𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝐵𝐵1, . . . , 𝐵𝐵𝐵𝐵). Una tassonomia è una insieme di partizioni che inizia da un’unica classe, detto radice della tassonomia, e prosegue poi per livelli. TASSONOMIE DI CLASSI Per esempio: Di seguito presentiamo una tassonomia dei principali strumenti musicali utilizzati nelle orchestre sinfoniche (l’incolonnamento mette in evidenza la struttura ad albero): 1. 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 ≡ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ∪ 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 ∪ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∪ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶, 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹, 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃, 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝐴𝐴); 2. 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ≡ 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 ∪ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃, 𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃); 3. 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 ≡ 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 ∪ 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 ∪ 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 ∪ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶, 𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉, 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉, 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉, 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶); 4. 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴, 𝐹𝐹𝐹𝐹 𝐹𝐹𝐹𝐹𝐹𝐹 ≡ 𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿 ∪ 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂, 𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿, 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂); 5. 𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿 ≡ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 ∪ 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 ∪ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ∪ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹, 𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹, 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂, 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶, 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹); 6. 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 ≡ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ∪ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 ∪ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 ∪ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶, 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇); 7. 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ≡ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 ∪ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 ∪ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 ∪ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷(𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺, 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇);
  • 50. CAPITOLO 11: ANALISI SEMANTICA 44 8. 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 ≡ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∪ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ∪ 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 ∪ 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂, 𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃, 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶, 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶, 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂). Nell’ontologia riportata sopra, i termini atomici della tassonomia (come VIOLINO, VIOLA ecc.) denotano insiemi di individui che sono istanze di strumenti (istanze di violini, di viole ecc). Nell’ABox potremmo quindi avere l’asserzione (𝟓𝟓) 𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽𝑽(𝒗𝒗), dove il nominale ‘v’ fa riferimento a un violino specifico (ovvero, a una particolare istanza della classe dei violini). Questo genere di tassonomia sarà denominato tassonomia di classi. TASSONOMIE DI TIPI Per esempio: Si supponga di voler asserire che una certa persona, poniamo Uto Ughi, suona il violino. Con ciò non si intende dire che Uto Ughi suona un’istanza particolare di violino, bensì il violino in generale. È possibile rappresentare la cosa nel modo seguente. Innanzi tutto introduciamo un ruolo, Suona, che mette in relazione persone e strumenti: 𝑇𝑇 ≡ ∀𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆– . 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃, 𝑻𝑻 ≡ ∀𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺. 𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺. Poi si asseriscono i fatti: 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖, “𝑈𝑈𝑈𝑈𝑈𝑈”), 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖, “𝑈𝑈𝑈𝑈ℎ𝑖𝑖”), (6) ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖) Dalla (6) si può ricavare per via di ragionamento: ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖) Uto Ughi suona uno strumento ad arco ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖) Uto Ughi suona uno strumento a corde ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖) Uto Ughi suona uno strumento Si può anche specificare che Uto Ughi suona soltanto il violino: ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆– . {𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖} ⊆ 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉
  • 51. Antonio Tandoi Ingegneria della conoscenza 45 Con la (6), però, si è asserito che esiste una particolare istanza di violino che Uto Ughi suona. Ciò che si vuole fare, invece, è mettere in relazione l’individuo Uto Ughi con la classe dei violini, ovvero qualcosa tipo: (7 ∗) ∃𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆. {𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉}(𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢ℎ𝑖𝑖) Naturalmente la (7∗) non può essere asserita in OWL, dato che una connessione fra individui e insiemi è una relazione del secondo ordine. Si può però reificare le classi di strumenti, introducendo particolari individui (come ‘violino’, ‘viola’ ecc) che rappresentano non singoli strumenti, ma tipi di strumenti. Nel seguito si sviluppa la tassonomia degli strumenti basandosi su una tassonomia di tipi. Per semplicità si classificheranno i tipi terminali (ovvero, i tipi degli oggetti che formano le classi foglia della tassonomia, come i violini e le viole). Si assuma di avere un termine atomico, TIPO, che raccoglie tutti i tipi terminali, e un altro termine, OGGETTO, che raccoglie gli individui cui è consentito assegnare un tipo. Si assuma che i due termini siano disgiunti: 𝐷𝐷𝑖𝑖 𝑠𝑠𝑗𝑗(𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇, 𝑂𝑂𝑂𝑂𝐺𝐺𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸) Si introduce, poi un ruolo funzionale, Tipo, per assegnare al più un tipo terminale a ogni oggetto: 𝑇𝑇 ≡ ∀𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇– . 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 𝑇𝑇 ≡ ∀𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇. 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 𝑇𝑇 ≡ ≤ 1𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 Si definiscono i tipi terminali degli strumenti: {violino, viola, violoncello, contrabbasso,arpa, flauto, oboe, clarinetto, fagotto, corno, tromba, trombone, tuba, timpano, grancassa, tamburo, triangolo, pianoforte, celesta, cembalo, organo} ⊆ TIPO e specifichiamo che sono tutti diversi fra loro: ≠(violino, viola, violoncello, contrabbasso, arpa, flauto, oboe, clarinetto, fagotto, corno, tromba, trombone, tuba, timpano, grancassa, tamburo, triangolo, pianoforte, celesta, cembalo, organo)