WordLift 3.0: Una breve storia semantica – parte 2

Le classificazioni ci aiutano a trovare le cose cercate.

Il web ormai ha una quantità di contenuti tale da rendere impossibile l’applicazione di schemi omogenei di classificazione per organizzare la conoscenza e renderla disponibile; a meno che non si rimanga all’interno di uno specifico dominio (al giorno vengono pubblicati oltre 2.5 M di nuovi articoli).

Gli schemi di classificazione sono strutture che usano entità e relazioni come informazioni aggiunte al contenuto e sono assimilabili a 4 tipi: gerarchica, ad albero, a faccette, per modelli di riferimento (o paradigmi).

L’immagazzinamento strutturato delle informazioni ha il fine ultimo di migliorare la conoscenza umana.

Noi con WordLift 3.0 ci siamo posti l’obiettivo di sviluppare un’applicazione che strutturasse i contenuti per rappresentare contemporaneamente più metodi di classificazione alle macchine: perché queste riescano ad organizzare i contenuti che vengono pubblicati nelle reti digitali in modo da renderle fruibili da molteplici punti di vista.

Considerato l’impasse in cui versavano le tecnologie semantiche introdotto nella parte 1 , abbiamo in una prima fase di analisi escluso il mondo digitale come destinatario obbligatorio della nostra soluzione.

La prima attività ci ha visti quindi volgere lo sguardo verso i sistemi di classificazione che l’umanità ha usato per organizzare le conoscenze prima dell’avvento del computer; per poi arrivare a considerare l’evoluzione delle interfacce a faccette; le tecnologie che relazionano tra loro diversi ambienti web; e quale è il consolidato sul web in merito agli argomenti considerati (interlinking con dbpedia, freebase, geonames, e metodologie richieste dai motori di ricerca per classificare e pubblicare i contenuti).

Le risposte non sono risultate semplici da individuare; soprattutto perchè la componente essenziale tecnologica è in continua e perenne evoluzione. Nel libro Organizzare la conoscenza. Dalle biblioteche all’architettura dell’informazione per il Web … anche questo già citato nel precedente post, ad un certo punto nel cap 2 vengono introdotte le categorie fondamentali, cioè quelle che accomunano più faccette e sono valide per tutte le discipline. Sono introdotte dal matematico indiano Shiyali Ramamrita Ranganathan che per primo intorno al 1930 parlò di questa analisi consistente nello scomporre un argomento nelle sue componenti per poi ricomporlo secondo un codice. Lui scelse 5 categorie fondamentali: lo spazio e il tempo su cui tutti concordano; l’energia che riguarda attività o dinamismo e che nella semantica indica l‘azione’; materia ad esempio di un materiale o sua proprietà; personas per indicare l’oggetto principale di quel contesto anche se non è una persona umana.

Queste categorie sono considerate astratte, ma noi le abbiamo comunque usate nel processo di design delle interfacce da sottoporre all’utenza, ritrovandole integrate nel vocabolario schema.org.

Il software WordLift è direttamente collegato al vocabolario di concetti pubblicato in http://schema.org/docs/full.html che è universalmente riconosciuto, composto ad oggi di circa oltre 1.200 voci raccolte in 9 categorie fondamentali: Action, CreativeWork, Event, Intangible, Medical Entity, Organization, Person, Place, Product.

In questo novembre 2015 ci sono oltre 217 milioni di pagine (url) che contengono al loro interno un totale di oltre 6 miliardi di triple scritte attraverso il vocabolario schema.org.

WordLift 3.0 è un’editor semantico che analizza il contenuto e suggerisce in automatico la metadatazione secondo le categorie del vocabolario schema.org che noi abbiamo, in un certo senso semplificato per l’utenza, raggruppandole in questa prima fase sperimentale in 4 categorie fondamentali: Who (Person, Organization), Where (Place), When (Event), What (CreativeWork, Product, Intangible). L’utente ha comunque la possibilità di aggiungere ‘n entità a quelle suggerite dall’applicazione che andranno a costruire un personale vocabolario interno all’applicazione.

La release successiva, che terminerà la fase sperimentale in gennaio 2016, include la possibilità di variare l’importanza tra le entità per dare corpo alla classificazione gerarchica e ad albero (questo attraverso l’utilizzo della mainEntity prevista da schema.org per marcare gli articoli).

Per il futuro stiamo valutando l’affiancamento della classificazione gerarchica Dewey (Dewey Decimal Classification), diffusa in tutte le biblioteche del mondo.

Questo è l’iter generale che ci ha portato a disegnare una soluzione dove tecnologie semantiche collaborano con le tecnologie di relazione per associare in automatico un set di metadati, o un grafo semantico, ad uno determinato contenuto.

L’individuazione degli sviluppi tecnologici e di servizio per l’utenza non è stato semplice, ma in compenso la maturazione e l’affermazione della cloud Linked Open Data, nonché di dbpedia (freebase, geonames), è stata fondamentale perché l’editor WordLift 3.0 possa produrre dataset riusabili.

 

WordLift 3.0: Una breve storia semantica – parte 1

Nel mondo delle reti digitali quando si usa il termine generico conoscenza è per identificare e giustificare tutte le attività rivolte al miglioramento della raccolta e organizzazione dei dati. Di tutti i tipi.

Migliorare la conoscenza è possibile quando si rendono disponibili le informazioni per molteplici letture e relazioni al fine di interpretare la realtà, fantasticare sul trend, sull’evoluzione, sul futuro possibile per poterlo in qualche modo controllare o dominare.

Nei processi progettuali abbiamo un’attività necessaria, propedeutica in un programma di progetto, chiamata individuazione dello scenario di riferimento. In pratica si tratta di scoprire e assimilare i contesti che fanno da sfondo, o costruiscono la scena dove l’oggetto dello studio come un attore si incastra a raccontare il perché del suo primo piano.

In informatica la conoscenza è parte dell’intelligenza artificiale. In questo settore viene (veniva) cercata l’automazione mediante strategie per tentativi ed errori. Questa metodologia di disegnare lo scenario è detta Knowledge Representation (wikipediaEN). Si tratta di un tipo di rappresentazione simbolica che aveva come limite la difficoltà di relazionare più scenari. Si evolve per colpa del solito Tim Berners Lee, tutt’ora leader del WWW. Lui attraverso il W3C lancia nel 1996 lo standard XML che permette di aggiungere informazioni semantiche ai contenuti, e quindi metterli in relazione. E’ l’inizio del Semantic Web, con la possibilità di pubblicare insieme ai documenti informazioni e dati in un formato che consente l’elaborazione automatica alle macchine.

“La maggior parte del contenuto informativo dell’odierno web è progettato per essere letto dai soli esseri umani …” (sempre Tim Berners Lee) “i computer non hanno il modo per processare il linguaggio di una pagina web”.

Per web semantico si intende un web dove il contenuto è strutturato perché i software possano: leggerlo, rispondere a domande e all’interazione dell’utenza.

Introduzione liberamente tratta da .. e per chi vuole sapere di tutta la storia.

Introdotto il valore di qualsiasi operazione rivolta a sviluppare un sistema che in automatico predisponga e suggerisca una metadatazione da allegare al contenuto per renderlo leggibile alle macchine, rimane da capire e definire: quali sono i componenti di questa strutturazione, o metadatazione? Come estrarre i significanti da un testo uniformemente a prescindere dalla lingua? A quale tipo di categorizzazione ontologica, e quali relazioni devono essere attivate in un contenuto perché questo diventi parte di un semantic web per tutti? Ma soprattutto: come fare tutto questo insieme?

E qui tutto l’ambiente di ricerca e sviluppo che ruota intorno alle tecnologie semantiche si è come arenato. Crediamo che abbia influito alla creazione di questo impasse la mancanza di accordi tra i diversi percorsi scientifici necessari a realizzare una qualsiasi forma di standardizzazione; e anche per via delle differenze tra le lingue e del lessico, spinto dal web stesso e dalle tecnologie distribuite, verso una sorta di multilinguismo ‘local’.

Considerato l’argomento e il contesto di questo post, meglio se compiamo un salto che dal 1986, nascita dei primi linguaggi di markup, passando per il 1998, definizione dello standard XML, ci porta ad oggi novembre 2015. Il salto lo abbiamo fatto, almeno parzialmente, con una query (di seguito descritta) su Wikidata.

La strada che abbiamo intrapreso (considerando che non c’è nel nostro gruppo una competenza scientifica distribuita tra tutti i saperi che è necessario consultare) è compresa tra:

  • accettare che le tecnologie semantiche così come erano state pensate ed applicate non potevano soddisfare i nostri bisogni di far comprendere e ordinare i contenuti alle macchine;
  • ridefinire il contesto in conseguenza dell’affermazione culturale ed economica del mondo open data e della strutturazione dei dataset della cloud Linked Open Data.

Allora memori e come dettato dal logico, matematico e filosofo austriaco Gödel (amato anche nel mondo dell’informatica) che affermava: non si può comprendere un sistema da dentro il sistema stesso; per capirne qualcosa bisogna uscirne e osservarlo da fuori; abbiamo in un primo momento decostruito racchiudendolo in insiemi tutto quello che necessariamente avrebbe fatto parte della soluzione finale e successivamente ci siamo rivolti al mondo precedente quello attuale: il mondo analogico e come questo aveva affrontato e risposto ai problemi di organizzazione e classificazione di grandi quantità di “conoscenze”.

Una ricerca/guida ci è stata di grande aiuto (e ringraziamo per tanto gli autori): Organizzare la conoscenza: dalle biblioteche all’architettura dell’informazione per il web (Claudio Gnoli, Vittorio Marino e Luca Rosati).

La query su Wikidata per ricostruire la storia dei linguaggi di markup

Di seguito la query che potete eseguire con un click (i risultati sono parziali perché abbiamo inserito solo i linguaggi che in Wikidata hanno la data di creazione valorizzata – questo valore è espresso dalla Property:P571).

PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX v: <http://www.wikidata.org/prop/statement/>
PREFIX q: <http://www.wikidata.org/prop/qualifier/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT DISTINCT ?entity ?ml ?sl WHERE {
 ?entity wdt:P31 wd:Q37045 . # ?entity is a markup language
 ?entity wdt:P571 ?sl . # ?sl is the inception date of ?entity
 ?entity rdfs:label ?ml . # ?entity name is ?ml
 FILTER(LANG(?ml) = "it") # ?ml is in Italian
 }
 ORDER by ?sl
 LIMIT 100

…. continua