Calcolatori e conoscenze umane
di Luca Severini
Conoscenze umane per gli uomini
Linguaggi naturali
Sin dai tempi più remoti, l’uomo comunica con i suoi simili per mezzo di linguaggi verbali. Solamente da poco più di 5000 anni l’uomo può comunicare anche attraverso la scrittura. Si deve infatti ai Sumeri, l’antica popolazione mesopotamica, l’invenzione del primo metodo per rappresentare un linguaggio in modo che le proposizioni enunciate per via orale potessero essere formalizzate e scritte su un supporto non volatile. Nel caso dei Sumeri, la scrittura cuneiforme veniva effettuata su tavolette d’argilla, un supporto estremamente duraturo. Talmente duraturo che la quantità di scritti sumerici giunta sino ai giorni nostri risulta sorprendente! Tale invenzione ha permesso per la prima volta di trasferire conoscenze umane a una quantità indefinita di altri uomini, in modo fedele alla volontà dell’autore e ben oltre il limite generazionale.
Trasferire conoscenze
Da 5000 anni, dunque, l’uomo utilizza il linguaggio naturale (più altre forme maggiormente astratte, quali la notazione matematica, la notazione musicale, ecc.) per esprimere le proprie conoscenze. Attraverso il linguaggio naturale, l’autore può formalizzare le proprie conoscenze in uno scritto.
Gli scritti contengono proposizioni verbali, cioè informazioni, che possono transitare verso altri uomini attraverso il supporto di scrittura.
Se il fruitore dell’informazione è in grado di leggere e interpretare la lingua scritta dell’autore, ovvero possiede gli strumenti intellettuali per acquisire mediante lettura l’informazione, allora il lettore può comprendere il contenuto del testo ed assimilarlo.
Solo dopo questo processo si può affermare che le conoscenze dell’autore si sono trasferite nel lettore.
conoscenza => formalizzazione mediante linguaggio naturale => informazione => lettura => comprensione => conoscenza
Dunque, il linguaggio naturale viene impiegato per formalizzare conoscenze umane affinché altri umani possano acquisirle attraverso il processo precedentemente schematizzato. Si tratta quindi di un processo per l’estrazione di conoscenze tra umani che non può prescindere dalla fase di lettura e comprensione del testo.
Informazioni
Passati oltre 5000 anni dalla nascita dei primi documenti redatti dall’uomo, i linguaggi naturali, le tecniche di scrittura e di memorizzazione, si sono enormemente evolute. Tuttavia il processo per il trasferimento delle conoscenze da uomo a uomo è rimasto praticamente immutato.
Anche se i testi sono memorizzati in formati digitali all’interno di calcolatori e il supporto di lettura è ormai un notebook o un lettore di e-book , il processo di estrazione della conoscenza rimane immutato, ovvero si tratta sempre di un processo da uomo a uomo, mediato si dal calcolatore, ma pur sempre un processo in cui la conoscenza si trasferisce solamente dopo la fase di lettura e assimilazione mediante ragionamento naturale operato dal cervello umano del lettore.
Il trattamento automatico dell’informazione
Dunque, i testi contengono informazioni formalizzate in linguaggio naturale destinate ai lettori.
Se i testi sono trascritti in forma digitale e memorizzati su supporti informatici, i calcolatori possono essere impiegati lungo il processo di acquisizione delle conoscenze per offrire alcuni vantaggi al lettore.
E’ intuitivo il vantaggio fisico di avere per esempio accesso a un’intera biblioteca senza doversi spostare dalla propria poltrona, o ricercare un titolo senza dover consultare migliaia di schede cartacee. Inutile dire dei vantaggi che un umano contemporaneo ha rispetto a un antenato che doveva consultare tavolette d’argilla, o papiri, o pergamene arrotolate, ecc.
Tuttavia la capacità enorme di immagazzinare testi nei calcolatori, elaborare in maniera automatica le meta informazioni, effettuare ricerche in tempi brevissimi direttamente sul testo, è divenuta una prassi talmente comune che ci appare semplice e addirittura banale. Anche se così non è.
Forse per questa facilità d’uso si è diffusa la convinzione che il trattamento dell’informazione mediante calcolatore potesse non avere limiti. Anzi, in alcuni casi si è immaginato che il calcolatore potesse in qualche modo avere capacità superiori a quelle dell’uomo. Anche nel campo del trattamento delle lingue naturali. Si è pensato che il calcolatore potesse risolvere problemi legati alla semantica o addirittura potesse comprendere il significato delle informazioni contenute nei testi.
In realtà il calcolatore non fa nulla di questo, ovvero è sempre l’uomo che, grazie a espedienti più o meno complessi, tende a far assumere al calcolatore comportamenti che un lettore non esperto potrebbe scambiare per comportamenti intelligenti.
Si pensi ai metodi per risolvere il problema della polisemia nel text-retrieval. Oppure ai metodi per effettuare la clusterizzazione di documenti in ambito text/data mining. O ancora, i metodi per proporre nuovi prodotti associati a quello scelto, nelle applicazioni di e-commerce.
Tecnologie sintattiche
Certamente il trattamento del testo può essere affrontato con tecnologie basate su l’NLP (Natural Language Processing – una branca dell’AI), tuttavia l’enorme dispendio di energie per ottenere piccoli vantaggi relegano l’uso di queste tecnologie a ristretti campi di applicazione. E anche all’interno di questi ambiti ristretti possono essere impiegate con successo per trattare argomenti molto circoscritti.
Si pensi ai metodi per discriminare il significato del contenuto delle e-mail nelle applicazioni di CRM. I risultati si ottengono però solo a patto che il testo sia strutturato a monte, vengano utilizzati costrutti linguistici ortodossi, non siano presenti errori e che l’argomento di cui si tratta nel testo sia sempre lo stesso. Inoltre, i testi devono essere tutti redatti nella stessa lingua naturale.
Insomma, un campo applicativo tanto ristretto che di fatto l’incidenza dell’impiego di queste tecnologie per il trattamento automatico di testi risulta essere trascurabile.
Allo stato dell’arte, il trattamento del testo viene effettuato nella quasi totalità dei casi attraverso l’applicazione di tecnologie più tradizionali, quali il text-retrieval e le sue varianti.
Tali classi di tecnologie si “preoccupano” esclusivamente di individuare nel minor tempo possibile sequenze di caratteri e simboli all’interno del testo. Ma possono essere impiegate per ricercare anche all’interno di tags di documenti strutturati, celle di data base, ecc.
Ma queste classi di tecnologie sono in grado di trattare esclusivamente gli aspetti sintattici di un testo, trascurando completamente tutti gli altri aspetti compreso quello semantico. Dunque, classi di tecnologie sintattiche per trattare conoscenze umane formalizzate in linguaggio naturale.
Semantica per gli umani
Tuttavia si utilizza comunemente il termine “semantica” riferito alle applicazioni software che trattano testi: come mai?
Nella maggior parte dei casi il termine “semantica” viene impiegato come aggettivo di quei sistemi informatici che cercano, attraverso i metodi più disparati, di aiutare l’uomo a leggere il meno possibile per riuscire a comprendere se un certo testo tratta l’argomento di suo interesse oppure no. Ma i sistemi informatici vengono definiti “semantici” poiché trattano il lessico. Quindi, il termine “semantica” viene impiegato nell’accezione “umana”, ovvero come “il significato dei termini” in una specifica lingua naturale.
I metodi impiegati per trattare automaticamente il lessico sono molteplici ma si basano prevalentemente sull’aggregazione arbitraria di termini, iperonimi e loro iponimi, sinonimi e contrari, ecc., che in una determinata lingua rappresentano i vocaboli con cui un umano parla di un certo argomento.
Ma questi sistemi, poiché non si basano su processi elaborativi di tipo deterministico, non offrono risultati determinati da un umano esperto di quel certo argomento, ma si affidato a processi di tipo statistico effettuati da qualche tipo di algoritmo.
Si pensi per esempio ai risultati prodotti da Google. Il motore restituisce tutti i documenti che contengono i termini utilizzati come keywords della ricerca. Tuttavia il metodo di page ranking pone in evidenza quei documenti che soddisfano solamente i criteri di quell’algoritmo, che di fatto è un “trucco” per ingannare il lettore.
Le tecnologie sintattiche offrono perciò risultati “statistici”, ovvero i motori di ricerca restituiscono tutti quei documenti che “probabilmente” trattano l’argomento della ricerca. Anche se il sistema informatico è stato definito come “semantico”.
Dunque, tutte le applicazioni cosiddette “semantiche” in realtà sono pilotate da sistemi assolutamente sintattici e il comportamento più o meno intelligente che il calcolatore manifesta dipende dai “trucchi” che il progettista del software ha inserito nell’applicazione. Ma di fatto il calcolatore non comprende assolutamente nulla del contenuto dei documenti e non è nemmeno in grado di trattare la semantica in senso linguistico.
Si cerca solo quello che si conosce
Si è detto che le tecnologie sintattiche sono dipendenti dalla lingua naturale. Si pensi al problema rappresentato dalle diverse parole con cui nelle tante lingue naturali si esprime un concetto o più banalmente si indica un oggetto. E la difficoltà di trattare la quantità di alfabeti, ideogrammi, pittogrammi, ecc. Ritornando al processo di trasferimento delle conoscenze umane, si comprende che il calcolatore e le sue applicazioni per il trattamento dei testi può essere molto utile, tuttavia se il lettore non conosce la lingua dell’autore del testo, il “trasferimento” non può avvenire. Ma dietro a questa banale considerazione si cela il vero problema che si manifesta quando si impiegano le tecnologie sintattiche per la creazione di applicazioni IT. Tutte, ineluttabilmente, rispondono alla stessa sentenza: “cerco solo ciò che conosco”. Quante volte ognuno di noi è rimasto davanti alla barra “cerca con Google” senza sapere quale keyword inserire? E perché non impieghiamo keywords in altre lingue per recuperare informazioni sull’argomento d’interesse? La risposta è banale: non conosciamo! Molto spesso abbiamo in mente cosa ci servirebbe ma poiché stiamo cercando di acquisire conoscenze su quel determinato argomento, implicitamente non siamo degli esperti. E come tali non possiamo conoscere il lessico specialistico di quell’argomento. E quindi non siamo in grado di far funzionare un motore di ricerca. Dunque, tutte le tecnologie sintattiche costringono l’uomo a conoscere ciò di cui si vogliono occupare e quindi, in un certo senso, permettono solamente di approfondire le proprie conoscenze, ovvero di effettuare nuove scoperte solo casualmente, poiché i risultati si presentano secondo le leggi della statistica.
Procedere per indizi
Appare ovvio che i sistemi per il trattamento dell’informazione basati sulle tecnologie sintattiche sono utilissimi nel mantenere a portata di mano le informazioni ma sono meno utili nel procedere alla scoperta di nuove conoscenze. Infatti abbiamo visto che dovremmo essere già in possesso del lessico specialistico per procedere nel processo di acquisizione di nuove conoscenze. Ma questo è un paradosso. E’ un po’ come dire che un ispettore di polizia può trarre beneficio per la propria indagine, inserendo nella finestra di un motore di ricerca il nome del colpevole. Ciò vorrebbe dire che l’indagine è già conclusa! Come abbiamo visto in un precedente mio articolo apparso su queste pagine, esiste un approccio moderno al superamento di questo problema: il knowledge retrieval. Pur utilizzando quasi esclusivamente tecnologie sintattiche, i sistemi che si basano su questo paradigma aiutano a recuperare conoscenze suggerendo automaticamente degli “indizi”, così che, per utilizzare ancora la stessa metafora, un ispettore di polizia che segue una pista (inserimento di una keyword), possa intercettare nuove conoscenze (documenti che contengono indizi ) al fine di arrivare all’autore del delitto (conoscenza). Il sistemi basati sul knowledge retrieval mostrano oltre ai risultati della ricerca anche le “entità” presenti nella collezione documentale, evidenziano le “categorie” a cui appartengono i documenti, suggeriscono delle “keywords correlate” utili per raffinare le queries. Pur tuttavia il processo di acquisizione di nuove conoscenze rimane il medesimo: la lettura dei documenti, la comprensione e l’assimilazione da parte dell’uomo. Comunque è pur sempre un grande passo in avanti, ancor più grande se si pensa che questo approccio è molto semplice proprio perché non fa uso di tecnologie troppo sofisticate e costose.
Conoscenze umane per i calcolatori
Linguaggi formali
Con “linguaggio formale” si intende un insieme di sequenze finite di oggetti semplici (caratteri o simboli) che costruiscono un alfabeto finito. I linguaggi formali non sono utilizzabili direttamente dall’uomo per comunicare con altri uomini. Essi si sono sviluppati prevalentemente per permettere all’uomo di “comunicare” con le macchine e più in particolare con i calcolatori elettronici programmabili. Infatti, i linguaggi formali sono usati generalmente per istruire i calcolatori a compiere operazioni anche molto complesse. Lo sviluppo dell’ ICT ha dato negli ultimi anni un impulso formidabile alla creazione di nuove classi di linguaggi formali adatti ad essere impiegati nelle applicazioni informatiche. Si pensi al ruolo di linguaggi come HTML, XML, ecc., nella costruzione di sistemi complessi come il Web. Tali linguaggi sono particolarmente utili se si deve descrivere qualcosa. Infatti, utilizzando l’HTML si può descrivere nei minimi dettagli come il browser deve poter mostrare una pagina Web.
Rappresentare conoscenze
Grazie a questi impulsi formidabili provenienti dal vorticoso sviluppo del Web, e a seguito del successo di linguaggi di mark-up e dei loro interpreti, gli scienziati hanno ripreso alcuni studi iniziati verso la fine degli anni ’60 che miravano a definire dei linguaggi per rappresentare conoscenze in modo trattabile dal calcolatore. L’idea di fondo era quella di superare le prestazioni dei linguaggi come l’SQL, ovvero creare linguaggi molto più espressivi, capaci di descrivere in modo rigoroso l’insieme dei dati appartenenti ad un certo dominio. Oggi tali linguaggi sono una realtà: RDF, KRSS, OWL, ecc. Tra questi OWL (Ontology Web Language) è il linguaggio ormai più diffuso per formalizzare conoscenze trattabili da applicazioni software sviluppate per il Web. Grazie a linguaggi formali come questi, è ormai possibile “trasferire” conoscenze umane anche ai calcolatori. Proprio come il linguaggio naturale permette agli uomini di trasferire conoscenze ad altri uomini.
Logica e formalismi decidibili
Ma come rappresentare e rendere fruibili dal calcolatore queste conoscenze? Tra i vari metodi possibili, il più diffuso è quello che fa uso della FOL (First-Order Logic). Grazie ai formalismi della logica è possibile descrivere in che modo gli elementi di una specifica conoscenza sono in relazione tra loro. Attraverso questo metodo è possibile formalizzare conoscenze umane relative a qualsiasi cosa: dai reperti archeologici, alla grammatica di una lingua, dai bilanci aziendali, alle proteine, ecc. Il metodo di procedere è analogo, ma ovviamente più astratto, rispetto a quello per descrivere le basi di dati. In pratica ci si concentra maggiormente sulla definizione logica delle relazioni che uniscono gli elementi della conoscenza poiché il linguaggio di rappresentazione, come è stato detto, risulta molto più adatto.
Una volta definita e assiomatizzata, la conoscenza è pronta per essere immessa nel calcolatore: non più basi di dati ma basi di conoscenza.
Ma tutto sarebbe inutile se dovessimo continuare ad utilizzare le tecnologie sintattiche per trattare le basi di conoscenza. Non si avrebbe nessun beneficio se poi non si potesse utilizzare adeguatamente la conoscenza faticosamente formalizzata dall’uomo per il calcolatore.
Le tecnologie semantiche
Per fortuna oggi sono state messe a punto tecnologie per risolvere questo problema.
Scegliendo sotto insiemi opportuni di operatori della logica per descrivere le relazioni tra gli elementi della conoscenza, è possibile dimostrare matematicamente che i sistemi ammettono soluzioni. Tali sotto insiemi della FOL sono dette Logiche Descrittive, appunto perché adatte a descrivere conoscenze. Per esempio, OWL-DL è un linguaggio che permette appunto di utilizzare le Logiche Descrittive per formalizzare conoscenze decidibili, cioè il cui sistema matematico sottostante ammette soluzioni.
Ciò ha permesso agli scienziati di mettere a punto algoritmi e costruire apposite applicazioni software in grado di risolvere la logica: i ragionatori software.
Essi sono speciali motori inferenziali che permettono, a fronte di queries congiuntive (analoghe alle domande che avrebbe potuto porre Aristotele), di restituire risultati dedotti dalla base di conoscenza. Per questo il processo viene comunemente definito “ragionamento automatico”.
Le tecnologie basate sulla logica, linguaggi per la rappresentazione e ragionatori software, vengono comunemente dette “tecnologie semantiche”.
In questo caso l’aggettivo “semantica” viene impiegato nell’accezione di “significato delle descrizioni” che l’uomo mette a disposizione del calcolatore.
E in effetti, con l’avvento di queste tecnologie, il processo di trasferimento di conoscenze tra uomo e uomo mediato dal calcolatore, inizia ad avere un elemento di novità.
Il calcolatore, per la prima volta nella storia dell’uomo, non è un più soggetto da aiutare al fine che possa ingannare il lettore con dei “trucchi”, ma inizia ad essere un soggetto attivo, capace di aiutare il lettore poiché è in grado di effettuare ragionamenti logici secondo processi deterministici decisi e voluti dal creatore della base di conoscenza, cioè dall’autore.
Conoscenza => base di conoscenza decidibile => ragionamento automatico => informazione ragionata => lettura => comprensione => conoscenza
Dal processo qui schematizzato si capisce che tra l’autore e il lettore c’è una nuova figura, un “agente semantico”. Egli si interpone tra la base di conoscenza e il lettore, offrendo i servizi necessari per facilitare l’accesso alla conoscenza mediante un processo di rettifica della semantica. Un compito possibile poiché, grazie alle tecnologie semantiche, egli è dotato di capacità di ragionamento e delle conoscenze dell’autore.
La metafora del “ligio bibliotecario”
Per mostrare le differenze tra l’approccio basato sulle tecnologie sintattiche rispetto a quelle semantiche, possiamo impiegare la seguente metafora.
Supponiamo che un lettore si rechi in una biblioteca (fisica) per cercare un libro che tratti le Logiche Descrittive.
Approccio sintattico
Supponiamo che quel giorno il bibliotecario sia in vacanza.
La prima difficoltà che il nostro lettore incontra è quella di studiare come è disposta la biblioteca per individuare lo scaffale dei libri d’Informatica.
Trovato lo scaffale, il nostro lettore dovrà iniziare a leggere i titoli e gli indici di tutti i libri affinché possa recuperarne un certo numero che a prima vista soddisfano le sue esigenze.
Con molta probabilità il lettore si porterà a casa diversi volumi che trattano le Logiche Descrittive, ma dovrà leggere molto, prima di capire se il suo particolare interesse è trattato in quei libri. E se è trattato proprio nel modo in cui lui se l’aspettava.
Approccio semantico
Supponiamo invece che quel giorno sia presente un “ligio bibliotecario”.
In questo caso il nostro lettore non dovrà minimamente preoccuparsi di come è strutturata la biblioteca. Sarà infatti il bibliotecario stesso a recuperare i libri per lui.
Il nostro lettore potrà effettuare la sua richiesta al bibliotecario il quale, poiché conosce il contenuto delle biblioteca, potrà recuperare i libri più interessanti che trattano le Logiche Descrittive dal punto di vista informatico.
Tuttavia il bibliotecario, potendo interagire con il lettore, potrebbe domandare al lettore informazioni più dettagliate sui suoi bisogni. Procedendo in questo modo, il ligio bibliotecario potrebbe capire che l’interesse del lettore, per esempio, è più di tipo umanistico che tecnologico.
Poiché il ligio bibliotecario ha conoscenza diretta di tutta la biblioteca ed esperienze pregresse, sa bene che nello scaffale dei libri di filosofia sono presenti dei libri che trattano le Logiche Descrittive da un punto di vista epistemologico.
Perciò, oltre ai volumi più adatti recuperati nella categoria “informatica”, il ligio bibliotecario recupera anche libri dalla categoria “filosofia”. Cosa che non sarebbe probabilmente mai venuta in mente al nostro lettore.
E questo è il processo di rettifica della semantica, da quella della biblioteca a quella del lettore, di cui si è fatto carico il “ligio bibliotecario”.
Si trova ciò di cui non si è a conoscenza
Questo semplice esempio dimostra che l’applicazione delle tecnologie semantiche permette di scalare dal paradigma che soddisfa la sentenza “cerco solo quello che conosco”, tipico delle applicazioni basate sulle tecnologie sintattiche, verso un nuovo paradigma che soddisfa la sentenza “trovo anche ciò di cui non sospettavo nemmeno l’esistenza”.
Un nuovo paradigma per il Web del futuro ipotizzato da Tim Berners-Lee: il Semantic Web.
Un termine purtroppo fuorviante, forse prematuramente coniato da Berners-Lee, che ha indotto moltissimi addetti ai lavori non particolarmente attenti a confondere il significato del termine “semantica” impiegato nell’accezione tradizionale, con il nuovo significato utilizzato nel mondo dei nuovi automi che popoleranno i Web del futuro.
Dall’informatica all’Epistematica
Insomma, questo bisticcio semantico che interessa paradossalmente proprio il termine “semantica”, fa forse sorridere un po’, ma ha provocato una certa confusione tra gli operatori dell’IT che ha determinato il rallentamento della diffusione di queste nuove e potenti tecnologie.
Tuttavia il Web progredirà in questa direzione. E sotto questa spinta saremo forse costretti a riconsiderare il nostro rapporto con i calcolatori. Non più semplici macchine per automatizzare i processi, ma veri e propri automi capaci di interagire con il mondo circostante ed assumere comportamenti intelligenti.
Un futuro in cui probabilmente il termine “informatica” - trattamento automatico dell’informazione, sarà forse sostituito dal termine “epistematica” (dal greco episteme = conoscenza + informatica), nel senso di “trattamento automatico di conoscenze”.
E forse proprio l’avvento di queste tecnologie e la loro applicazione in progetti così avveniristici come il Semantic Web, segnerà una svolta decisiva per la razza umana. Una svolta forse paragonabile a quella avvenuta 5000 anni fa grazie all’invenzione della scrittura ad opera di una misteriosa popolazione mesopotamica che ha saputo dar vita dal nulla a rivoluzioni sociali e culturali dalla portata sbalorditiva.
… e saranno proprio i calcolatori gli “antichi Sumeri” del futuro?
Luca Severini, è la persona che ha coniato il termine “epistematica”. Nel dizionario italiano esiste il termine “epistematico” [deduttivo] impiegato come aggettivo maschile. Il sostantivo femminile “epistematica” è una nuova voce composta dai termini "epistème" [conoscenza] e "informatica" [trattamento automatico dell'informazione], che assume per analogia il significato di "trattamento automatico della conoscenza". L'Epistematica studia, crea e applica tecnologie che permettono ai calcolatori elettronici di simulare comportamenti intelligenti mediante processi inferenziali effettuati su apposite basi dati arricchite semanticamente, dette basi di conoscenza. Vedi anche http://it.wikipedia.org/wiki/Epistematico
Luca Severini è il fondatore della società che prende come denominazione il termine da lui coniato. Epistematica Srl è l’impresa che per prima in Italia si è specializzata nell’applicazione delle tecnologie semantiche per la formalizzazione e il trattamento automatico di conoscenze. l.severini@epistematica.com