Costrutti Sintattici
Insieme di regole formali che stabiliscono come costruire asserzioni grammaticalmente valide e ammissibili all’interno della Knowledge Base.
Il quinto modulo del corso esplora le metodologie di rappresentazione formale della conoscenza e le architetture delle ontologie, analizzando come il patrimonio conoscitivo umano possa essere codificato per diventare comprensibile ed elaborabile dalle macchine, fino a scalare sull’intera rete Internet attraverso lo stack del Web Semantico (W3C).
L’obiettivo fondamentale della Rappresentazione della Conoscenza (Knowledge Representation) consiste nel definire simbolismi e linguaggi formali capaci di codificare la conoscenza tipica di un essere umano affinché risulti intelligibile ed elaborabile dai calcolatori e dai sistemi informativi.
Una volta che la conoscenza è stata formalizzata all’interno di una Base di Conoscenza (Knowledge Base — KB) — ossia un insieme strutturato di asserzioni veritiere sul mondo reale o su uno specifico dominio operativo — i motori inferenziali possono operare su di essa attraverso processi di Ragionamento Automatico (induttivo o deduttivo) per derivare automaticamente nuova conoscenza non esplicitata a monte, partendo dalle premesse già note. Questo meccanismo opera indipendentemente dall’impiego di algoritmi statistici di Machine Learning, fondandosi sul rigore del calcolo logico.
Costrutti Sintattici
Insieme di regole formali che stabiliscono come costruire asserzioni grammaticalmente valide e ammissibili all’interno della Knowledge Base.
Operatori Semantici
Quantificatori (universali ed esistenziali ) e operatori modali che permettono di attribuire un significato univoco e un valore di verità alle asserzioni.
Operabilità Bidirezionale
Un linguaggio di rappresentazione efficace deve consentire sia l’inserimento continuo di nuovi fatti nella base di conoscenza, sia l’interrogazione ed estrazione della conoscenza (anche dedotta).
Nella progettazione di qualsiasi sistema basato sulla conoscenza emerge un conflitto strutturale tra due esigenze contrapposte:
Alta Espressività Sintattica
Un linguaggio altamente espressivo permette di descrivere con estrema precisione e sfumatura il dominio di interesse, modellando concetti complessi, eccezioni e relazioni logiche articolate.
Rischio: l’eccessiva ricchezza espressiva conduce rapidamente a problemi di complessità NP-dura o addirittura all’indecidibilità logica.
Complessità Computazionale
All’aumentare dell’espressività del linguaggio, i motori inferenziali richiedono tempo e risorse di calcolo esponenziali per valutare le regole e derivare conclusioni, provocando un rallentamento drastico delle query.
Rischio: blocco del sistema (loop infiniti) o risposte fornite fuori tempo massimo.
Il Punto di Equilibrio
La soluzione ingegneristica consiste nello scegliere linguaggi con un’espressività bilanciata e vincolata (come le Description Logics alla base di OWL-DL), che garantiscano la computabilità in tempo finito senza rinunciare alla ricchezza semantica necessaria per il Web Semantico reale.
Nel 1985 Ronald J. Brachman ha sistematizzato le tre sfide teoriche centrali della rappresentazione della conoscenza:
| Questione di Brachman | Problema Teorico | Soluzione / Formalismo Adottato |
|---|---|---|
| 1. Incompletezza e Logica Fuzzy | La logica classica booleana dichiara ogni asserzione assolutamente vera () o falsa (), ma nel mondo reale la conoscenza è spesso parziale, vaga o incerta. | Introduzione di gradi di confidenza associati alle asserzioni (es. “Socrate è umano con fiducia al 50%”) e sviluppo della Logica Fuzzy (logica sfumata) per gestire la vaghezza semantica nei sistemi decisionali. |
| 2. Universali vs. Fatti Specifici | Necessità di distinguere tra leggi generali sugli insiemi e singole istanze concrete, gestendo anche le eccezioni. | Distinzione tra Universali (quantificazione universale , es. “Tutti gli esseri umani sono mortali”, modellata tramite teoria degli insiemi e sottoinsiemi) e Fatti (quantificazione esistenziale , es. “Socrate è umano e quindi mortale”), affiancata dalla gestione dei valori predefiniti (Default) assegnati in assenza di controprove esplicite. |
| 3. Efficienza nel Ragionamento | Inversione di proporzionalità: più un linguaggio è espressivo e potente, meno efficiente sarà il suo motore inferenziale. | Bilanciamento tra adeguatezza espressiva ed efficienza algoritmica per garantire risposte computabili in tempi certi. |
First Order Logic (FOL)
Logica Consequenziale a Regole
Nelle interazioni quotidiane in linguaggio naturale, gli esseri umani danno per scontate migliaia di nozioni implicite di base (es. “se un oggetto cade in acqua si bagna”, “nessuno può trovarsi in due luoghi contemporaneamente”). L’assenza di questo bagaglio implicito rappresenta uno dei principali ostacoli per l’Intelligenza Artificiale conversazionale.
Nel lessico dell’Intelligenza Artificiale e dell’Informatica, un’Ontologia Formale è definita come una concettualizzazione condivisa ed esplicita — ossia una rappresentazione formale, concordata da una comunità — dei concetti e delle relazioni che caratterizzano un determinato dominio d’interesse, unendo schemi diversi in una struttura dati gerarchica, coerente e interrogabile.
Ogni struttura ontologica rigorosa si compone di quattro elementi costitutivi:
is_a) e Meronimia (parte_di)Sussunzione ('is_a' / Sotto-tipo)
Il Cane è_un Mammifero).Meronimia ('parte_di' / Part-Of)
Il Motore è_parte_di un'Automobile).In base al livello di astrazione e generalità, le ontologie si suddividono in tre categorie:
| Tipologia | Livello di Astrazione | Caratteristiche e Scopo |
|---|---|---|
| Ontologie Fondazionali | Base / Terminologico | Strutture assimilabili a glossari gerarchizzati su due o più livelli; stabiliscono i termini fondamentali privi di ambiguità fornendo un vocabolario primario senza assiomi complessi. |
| Ontologie Top-Level | Massima Astrazione (Universale) | Modellano i concetti più generali e astratti della realtà (Spazio, Tempo, Oggetto, Evento) in modo totalmente indipendente dal dominio, fornendo schemi di alto livello validi sull’intero Web. |
| Ontologie di Dominio | Settoriale e Circoscritto | Modellano in dettaglio le categorie e le relazioni di una specifica porzione della realtà (es. medicina, finanza, diritto). Godono di indipendenza relativa (non richiedono necessariamente un’ontologia Top-Level associata). |
Tra le principali ontologie standard di riferimento pubblicate sul Web figurano:
Il paradigma del Web Semantico, promosso dal consorzio W3C (World Wide Web Consortium), mira a trasformare l’attuale rete Internet:
Il modello W3C integra standard complementari organizzati in una pila (stack) a sei livelli (dal livello fisico/sintattico inferiore fino al livello logico e fiduciario superiore):
Syntax & Identifiers (XML, Namespaces, URI / IRI, UTF-8)
Livello base che fornisce la codifica dei caratteri, la sintassi strutturata XML, i namespace per evitare conflitti di nomi e gli identificatori univoci universali (URI) delle risorse.
Data Interchange (RDF / N3)
Livello di scambio dei dati basato sul modello a tripletti (Soggetto, Predicato, Oggetto), serializzabile in sintassi compatte come Notation 3 (N3) e interrogabile tramite SPARQL.
Taxonomy / Schema (RDFS — RDF Schema)
Introduce la possibilità di definire gerarchie di classi e proprietà, modellando le relazioni fondamentali di sussunzione (is_a) e meronimia (parte_di).
Ontology Layer (OWL — Web Ontology Language)
Arricchisce RDFS con i costrutti delle Logiche Descrittive (OWL-Lite, OWL-DL, OWL-Full) per esprimere vincoli complessi, equivalenze e relazioni inverse.
Proof & Rules (Motori Inferenziali e Regole IF-THEN)
Livello dedicato ai Logic Engines e ai ragionatori automatici che eseguono deduzioni logiche e verificano la coerenza formale delle prove.
Trust & Certificazione (Reificazione e Firma Digitale)
Livello apicale che garantisce l’affidabilità, la paternità informativa e la responsabilità giuridica delle asserzioni pubblicate sul Web tramite reificazione e firma digitale.
Il Resource Description Framework (RDF) è lo standard W3C (basato su XML e sulla logica dei predicati del primo ordine) per descrivere risorse sul Web. In RDF ogni informazione atomica (asserzione) è formulata come una tripla composta da tre elementi:
Consideriamo le due frasi in linguaggio naturale analizzate nelle slide:
Per trasformarle in triple RDF prive di ambiguità, ciascun concetto viene associato a un URI universale di riferimento sul Web:
| Elemento | Ruolo nella Tripla | Valore Testuale | URI di Riferimento Scelto (o Valore Letterale) |
|---|---|---|---|
| Il Signor Ciampi | Soggetto (Asserzioni 1 e 2) | Il Signor Ciampi | http://www.quirinale.it/qrnw/statico/ex-presidenti/Ciampi/cia-biografia.htm (biografia ufficiale sul sito del Quirinale) |
| vive a | Predicato (Asserzione 1) | vive a | https://it.wiktionary.org/wiki/vivere (definizione del verbo vivere su Wikizionario) |
| Roma | Oggetto / Valore (Asserzione 1) | Roma | http://www.comune.roma.it (sito istituzionale del Comune di Roma) |
| ha codice fiscale | Predicato (Asserzione 2) | ha codice fiscale | https://it.wikipedia.org/wiki/codice_fiscale (definizione di codice fiscale su Wikipedia) |
| CMPCLZ20T09E625V | Oggetto / Valore (Asserzione 2) | Codice Fiscale | "CMPCLZ20T09E625V" (valore letterale stringa) |
Poiché la sintassi nativa RDF/XML risulta prolissa e complessa da leggere per l’uomo, è stata introdotta la Notation 3 (N3) (e il suo sottoinsieme N-Triples):
<...> (oppure due URI seguiti da un valore letterale tra virgolette "...");., che segnala la fine dell’asserzione e consente ai parser di elaborare i file sequenzialmente ad altissima velocità.# Asserzione 1: Il Signor Ciampi vive a Roma<http://www.quirinale.it/.../Ciampi/cia-biografia.htm> <https://it.wiktionary.org/wiki/vivere> <http://www.comune.roma.it/index.asp> .
# Asserzione 2: Il Signor Ciampi ha codice fiscale CMPCLZ20T09E625V<http://www.quirinale.it/.../Ciampi/cia-biografia.htm> <https://it.wikipedia.org/wiki/codice_fiscale> "CMPCLZ20T09E625V" .Il Web Ontology Language (OWL) è lo standard ufficiale W3C per la definizione di ontologie sul Web. Esso estende RDF/RDFS introducendo i formalismi delle Logiche Descrittive (Description Logics) per consentire ai ragionatori automatici (reasoners) di effettuare classificazioni e deduzioni avanzate. Tra i suoi costrutti semantici più importanti figurano:
owl:sameAs): permette di dichiarare che due o più URI distinti presenti su siti diversi rappresentano in realtà la medesima entità del mondo reale;owl:inverseOf): permette di definire simmetrie logiche automatiche (ad esempio, se vale la tripla (A, è_padre_di, B), il ragionatore deduce automaticamente (B, è_figlio_di, A));Per rispondere a diverse esigenze applicative, il W3C ha definito tre sotto-linguaggi di OWL con espressività crescente:
| Variante OWL | Livello di Espressività | Computabilità in Tempo Finito | Impiego Pratico |
|---|---|---|---|
| OWL-Lite | Bassa (Tassonomie semplici e gerarchie rigide) | Sì (Garantita) | Poco utilizzato nella pratica per via dei vincoli troppo restrittivi. |
| OWL-DL (Description Logics) | Elevata (Ricchezza semantica completa per logiche descrittive) | Sì (Terminazione delle query garantita in tempi finiti) | Standard d’elezione per il ragionamento automatico su ontologie Web reali. |
| OWL-Full | Massima (Copre l’intera logica predicativa FOL; massima unione tra sintassi e ontologia) | NO (Indecidibile / Non computabile in tempo finito) | Non idoneo all’uso con i ragionatori automatici. |
SPARQL (Standard W3C per RDF)
SPARQL Protocol and RDF Query Language è il linguaggio standard ufficiale per interrogare grafi di tripletti RDF:
?soggetto ?predicato ?oggetto).SELECT, WHERE, FILTER e ORDER BY.Stato dell'Arte sulle Query OWL
A differenza di RDF, per il linguaggio OWL non esiste ancora un unico standard universale di interrogazione:
In un ambiente aperto e decentralizzato come il Web Semantico, chiunque può pubblicare qualsiasi tripla RDF (incluse informazioni false, diffamatorie o inesatte). Dal punto di vista sia informatico sia giuridico, diventa quindi indispensabile un meccanismo formale per certificare la fonte e l’autore di un’affermazione, garantendo la tracciabilità e l’imputabilità della responsabilità senza assumere che il contenuto della tripla sia una verità assoluta.
La Reificazione (Reification) risolve questo problema trasformando un’asserzione atomica in un’entità del primo ordine (un oggetto identificato da un proprio ID, es. Asserzione A1), la quale viene poi collegata al suo autore tramite il predicato asserisce.
Prendiamo l’esempio illustrato a lezione: anziché codificare come verità assoluta la frase “Il bicchiere contiene del vino”, il sistema la converte nella proposizione certificata “Marco ASSERISCE che il bicchiere contiene del vino”, scomponendola in 4 asserzioni distinte (Quadrupletta di Reificazione):
1. [Marco] --asserisce--> [Asserzione A1]2. [Asserzione A1] --haSoggetto--> [Bicchiere]3. [Asserzione A1] --haPredicato--> [Contiene]4. [Asserzione A1] --haOggetto--> [Vino]