Adesso che siamo tutti almeno un po’ semantici (ricerca semantica, motore semantico, tecnologia semantica, web semantico…) dobbiamo iniziare a distinguerci. Infatti, a quanto pare c’e’ semantica e semantica e non tutte le semantiche sono uguali.
In pratica la situazione è:
– ci sono quelli che usano semantica nel senso di semantic web: per costoro la rete deve diventare una gigantesca macchina inferenziale fondata su più o meno arcani sistemi di metadati (e accora più arcani sistemi di rapprsentazione di essi)
– ci sono quelli che usano semantica nel senso di approcci probabilistici (approcci bayesiani, latent semantic analysis e simili). Fino a poco tempo questi erano gli unici a parlare di semantic search; per costoro il significato emerge, in qualche modo, da complicati ragionamenti sulle occorrenze e co-occorenze di elementi linguistici (o anche non linguistici).
– ci sono quelli che usano semantica come sinonimo di “qualunque che cosa che faccia un’analisi del testo che vada oltre i caratteri di cui è composto”. Per costoro anche una semplice normalizzazione morfologica (che consente di trattare cane e cani come la stessa forma)  è semantica.
– ci sono quelli che usano semantica come sinonimo di semantica lessicale. Per costoro vale il seguente ragionamento: i significati e le relazioni tra significati, da che mondo e mondo, stanno nei dizionari; io ho un grosso dizionario, quindi faccio  analisi semantica. Talvolta questi grossi dizionari, magari specifici di dominio, sono chiamati ontologie. L’uso del termine “ontologia” al posto di “dizionario” ha, in molti contesti (non tutti, chiaramente), lo stesso ruolo comunicativo dell’uso del termine “rinite” al posto del termine “raffreddore”.

Indiscutibilemente la parola “semantica” sta subendo un processo di perdita di significato, almeno nel mondo IT (e in certi meandri della stampa tradizionale). Per fortuna i filosofi, i logici  e gli scienziati cognitivi si occupano poco di IT e quindi sui nostri blog e siti web e brochure possiamo dire quello che ci piace senza paura di essere corretti. Tuttavia ci teniamo a ribadire un concetto di una certa importanza (e anche di una certa ovvietà).


La semantica, se esiste come disciplina, ha a che fare con il significato. Il significato, qualunque cosa sia, ha a che fare con le nostre menti e la nostra relazione con il mondo. Di consequenza, parlare di semantica, di significato e di comprensione quando si ha che fare con programmi di computer è al massimo una metafora, un modo di dire.

Perche’ allora occuparsi di tecnologie di analisi del linguaggio e cercare di introdurle in applicazioni software? Per un motivo molto semplice: perche’ si immagina di riuscire a farle funzionare meglio iniettando un po’ di intelligenza linguistica. Tuttavia, lo scopo delle applicazioni software resta assai prosaico: migliorare l’efficienza, consentire agli umani  di fare più in fretta task poco interessanti (o di automatizzarli del tutto) al fine di lasciare spazio a quelli più interessanti. In questa prospettiva, siccome lo scopo non è fornire una teoria della mente, uno qualunque degli approcci elencati sopra può andare bene, e spesso vanno bene tutti (ognuno per fare una cosa diversa).

Nelle nostre applicazioni siamo ibridi, sincretistici, non buttiamo mai via nulla: lo scopo resta far funzionare bene o meglio un processo, soddisfare un caso d’uso, rispondere a un bisogno dell’utente. Non chiedeteci “quanto è semantico il vostro motore di analisi”, chiedeteci se vi può aiutare a risolvere il vostro problema 🙂