Semanticherie

Pubblicato il 24-05-2010 da Sergio Longoni

Leggevo qualche giorno fa su Tagliablog un articolo dai toni accesi che illustrava un nuovo motore di ricerca semantico con interfaccia naturale prodotto in italia.

Semplicity, questo è il nome dell’Anti Google presentato a Working Capital (il video qua sopra).

I commenti al post sono abbastanza acidi e critici, lo ammetto.

Ho fatto anche io un paio di test.

Le domande testate dai commentatori di di Tagli sono state estremamente specifiche come “idraulico a Roma”, o vaghe come “colore del cielo” quindi ho provato con domande semplici e secche.

- Chi è l’autore de L’Amleto? (e centinaia di varianti tra le quali “chi è autore di Amleto?”)
> Mi sembra del tutto inadeguato dire… L’AUTORE L’AMLETO. Con una ricerca su tale soggetto potresti ottenere le informazioni che desideri…

Ok ritento

- Come si chiama il bassista dei Beatles?
> …
- Chi suona il basso nei Beatles?
> Vuoi sapere chi mi dice tutto quello che so?

con un po’ di combinazioni ho ottenuto questa risposta “pre registrata”

> Il tempo dei Beatles è finito per sempre, ma qualche nostalgico c’è ancora.

Bene: pertinente ma assolutamente inutile.

A mio parere un motore semantico nel tentativo di rispondere alla prima domanda (autore dell’amleto) dovrebbe recuperare da una fonte standardizzata e affidabile come dbpedia e alla voce dbpprop:writer leggere e seguire il riferimento a e quindi recuperare dbpprop:name e valutare in qualche modo se riportare “William Shakespeare” o “Shakespeare, William” (direi il primo verificando l’assenza della virgola).

A quel punto il programma sarebbe in grado di dirmi tutto quello che è contenuto nel database a proposito dell’autore dell’Amleto se facessi la domanda del tipo “quando è nato?” appunto il programma dovrebbe “intuire” che il soggetto è l’ultima risposta fornita che semanticamente corrisponde ad un set preciso di informazioni organizzate tra le quali è contenuto anche la data di nascita e morte.

Sarò all’antica, ma per me l’organizzazione relazionale e gerarchica dei dati è il punto di partenza per un sistema semantico: la macchina da sola può analizzare un testo, non può leggerlo e non può soprattutto comprenderlo.

Nell’analisi potrà cercare di fare emergere delle relazioni tra i dati che si tradurranno in una forma standard relazionale. Analizzando un testo con scritto “Umberto Eco è l’autore de Il nome della rosa” l’algoritmo dovrebbe tradurla in qualcosa del genere

<rdf :RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
</rdf>
<rdf : Description rdf:about:"http://it.wikipedia.org/wiki/Il_nome_della_rosa">
<dc :title>Il Nome della Rosa</dc>
<dc :creator >Umberto Eco</dc>
</rdf>

e quindi associare un riferimento univoco ad Unberto Eco e al Nome della rosa

In questo modo quando analizzando altri dati trovo “Il pendolo di Foucault” scopro che l’autore è Umberto Eco, verifico che Umberto Eco è un autore e quindi gli assegno anche questo libro.

In questo modo il motore potrà rispondere alla domanda “quali libri ha scritto Umberto Eco?” con “Umberto Eco ha scritto Il nome della Rosa e il Pendolo di Foucault” e non “Vuoi sapere che cosa ha scritto Omero?”

Ora, capisco che fare tutto questo – con una interfaccia naturale – non è per nulla semplice, ma con tutto il rispetto per il lavoro svolto, allo stato attuale Semplicity mi pare un chatter bot denso di risposte sagaci ma pre-impostate che occasionalmente effettua ricerche su bing ritornando risultati discutibili.

Allo stato attuale dati organizzati in maniera precisa per rispondere in maniera naturale alle domande ce ne sono pochini: certamente ci sono degli standard, (l’esempio qua sopra usa Resource Description Framework e Dublin Core), ma non è ancora chiaro come trasformare quello che abbiamo adesso (informazioni a stento leggibili dagli umani) in quello che servirà al web semantico (informazioni leggibili dalle macchine).

L’HTML5 potrà risolvere tutti i nostri problemi semantici? No! I nostri problemi sono causati dalle persone che si ostinano ad usare le tabelle per creare le interfacce web e che soprattutto non usano elementi come Title, h1 e h2 in modo corretto per creare un contesto alle pagine (ok questa pagina si chiama Semanticherie e non ha h2 nel testo, quindi non provate a cavarci informazioni :-) ).

Fintanto che i “web designer” si ostineranno a non creare i propri documenti con un minimo di occhio per la semantica sarà impossibile cavare dei dati sensati dal web.

O almeno più sensati di quelli che ritorna attualmente Google…


Trackback | | Stampa

Lascia un commento