Progetto Bombolo: come modificare il Knowledge Graph e le SERP

Un'immagine che ritrae Franco Lechner e la scritta Progetto Bombolo

Questo post nasce esclusivamente dalla volontà di rendere omaggio a Franco Lechner, in arte “Bombolo”, protagonista di molti b-movie italiani e compianta maschera romanesca della commedia trash.

Non escludo che, nel tentativo di omaggiare Bombolo, l’articolo possa accidentalmente fornire informazioni su come modificare i contenuti del Knowledge Graph di Google.

Tze-tze.

Come nasce il Knowledge Graph

Il 16 luglio 2010 Google annuncia attraverso il proprio blog ufficiale di aver acquisito Metaweb, un’azienda specializzata nello sviluppo di tecnologie di analisi semantica e, tra le altre cose, ideatrice di Freebase, un database di oltre dodici milioni di concetti/entità, tra di essi collegati attraverso una fitta rete di relazioni di svariati tipi.

Freebase, i cui contenuti sono disponibili a tutti e liberamente editabili, seguendo una filosofia open source simile a quella di Wikipedia, è la base dati di partenza sulla quale Google costruirà nei due anni successivi il proprio Knowledge Graph. Di fatto, il Knowledge Graph nasce da una gigantesca espansione dei dati di Freebase, ottenuta grazie all’adozione di metodologie automatizzate per il popolamento dell’archivio.

L’espansione dei dati operata su Freebase da Google non è solo di tipo quantitativo ma anche di tipo qualitativo; per esempio Google ha esteso i dati contenuti e le relazioni tra entità a diverse decine di lingue, in modo che ciascun concetto venisse associato alla parola o parole con cui viene espresso in ciascuna lingua.

Le relazioni tra Freebase e Wikipedia sono sempre state molto strette, in quanto ciascun concetto immagazzinato su Freebase può essere associato ad una o più pagine web che sono dedicate al concetto stesso; in questo contesto, Wikipedia la fa da padrone, nel senso che non esiste concetto comune archiviato da Freebase che non abbia un bel link verso la relativa pagina di Wikipedia dedicata ad esso.

Questo stretto connubio tra Freebase e Wikipedia viene adottato anche dal Knowledge Graph di Google, che sfrutta inoltre Wikipedia come fonte aggiuntiva di concetti da aggiungere al Knowledge Graph stesso.

Nel 2012, quando Google annuncia al pubblico l’esistenza del Knowledge Graph, dichiara che esso contiene oltre cinquecento milioni di concetti, una quantità che fa impallidire i pur sostanziosi dodici milioni iniziali di Freebase.

Struttura del Knowledge Graph

Nonostante Google al momento releghi il Knowledge Graph al semplice ruolo di fornitore di informazioni aggiuntive per le SERP, il valore maggiore del grafo sta nella sua struttura ed in particolare nel modo in cui i concetti sono messi in relazione tra loro.

Ridotta ai minimi termini, una relazione tra concetti può essere espressa in forma di quella che viene chiamata “triple“, che è composta da 1) un soggetto, 2) un oggetto e 3) un predicato (o proprietà) che le unisce. Per esempio, se asserisco “Bombolo è nato a Roma”, posso tradurre questa relazione attraverso la seguente tripla:

Soggetto: Bombolo (/m/0w65xgp)
Predicato: Luogo di nascita (/m/04m8)
Oggetto: Roma (/m/06c62)

Gli strani valori sopra riportati tra parentesi sono i “mid”, ovvero gli identificatori usati da Freebase per identificare in modo univoco un concetto all’interno dell’archivio. Anche il Knowledge Graph possiede ovviamente ID simili al “mid” di Freebase e a volte è possibile notarli negli URL delle SERP che includono informazioni estratte dal Knowledge Graph, in particolare in porzioni del parametro “stick”.

Ciascuno dei concetti esistenti nel Knowledge Graph può anche venire organizzato in schemi gerarchici. Per esempio il predicato “Luogo di nascita” dell’esempio precedente rappresenta una proprietà del concetto “Persona”, così come può anche rappresentare una proprietà del più generico concetto “Organismo”, usato su Freebase per accogliere tutti gli animali che non siano esseri umani.

E’ proprio grazie a queste relazioni che è possibile cercare su Google [Dove è nato Bombolo?] e ricevere in risposta un “one box” con la risposta “Roma”: da un lato il motore di ricerca conosce alcune espressioni inserite dagli utenti che fanno riferimento alla relazione “Luogo di nascita” e dall’altro è in grado di interrogare il Knowledge Graph per estrarre il valore della proprietà associata al soggetto della query (che peraltro può anche essere implicito, ma qui sto divagando).

Per cosa viene usato

Il Knowledge Graph viene usato principalmente per proporre all’utente informazioni aggiuntive e correlate ad un argomento indicato nella query.

Attraverso dei box posti a fianco o sopra all’elenco delle pagine web suggerite, Google fornisce approfondimenti, concetti correlati ed elenchi di elementi di varia natura. Per esempio in cima ai risultati appare un “carosello” di film se su Google.com si cerca roba del tipo [best sci-fi movies of the 50s].

Molti degli elementi e delle informazioni mostrate all’utente possono essere ulteriormente approfonditi cliccandoci sopra, un po’ come avviene durante una tipica navigazione di Wikipedia, durante la quale è facile perdersi all’interno del gigantesco archivio enciclopedico partendo da un articolo e seguendo link verso altre voci dell’enciclopedia.

Allo stesso modo, il principale utilizzo che Google fa del Knowledge Graph è quello di renderlo navigabile e consultabile agli utenti attraverso un semplice meccanismo di informazioni linkate tra loro.

Uno sfruttamento dei concetti nel Knowledge Graph finalizzato ad interpretare il significato di query e documenti testuali sul web è invece un passo ancora non compiuto da Google. Ho scritto tempo fa un articolo sull’argomento e potete leggerlo qua, tuttavia dalla sua pubblicazione ci sono stati alcuni sviluppi che mostrano i tentativi di Google di indicizzare i documenti testuali sul web in base ai concetti (e non alle parole) in essi citati.

Come modificare il Knowledge Graph

Non è possibile modificare direttamente i contenuti del Knowledge Graph, tuttavia è possibile modificare i contenuti di una fonte da cui il Knowledge Graph periodicamente attinge.

L’esecuzione di questa procedura implica che una volta apportate le modifiche ad una fonte, è necessario attendere un po’ di tempo (giorni o settimane) affinché Google acquisisca le modifiche e le integri al Knowledge Graph.

Nel caso di questo articolo, io discuterò la modifica del Knowledge Graph attraverso l’inserimento o cambiamento di informazioni presenti sulla fonte Freebase.

Freebase è in buona parte liberamente editabile, se riuscite a sopportare la fastidiosissima lentezza che piaga l’intero sito. Ecco di seguito un esempio di scheda di Freebase, nella fattispecie quella dedicata a Bombolo.

Scheda di Freebase su Bombolo

Un paio di definizioni base

Darò per scontato che sappiate già che cosa sia un grafo, anche per sommicapi; se volete ripassare i concetti di nodi (nodes) e archi (edges) potete dare una veloce occhiata a questa scheda di Wikipedia.

Nei prossimi paragrafi farò uso di termini usati in Freebase. Prima di addentrarci sul tipo di modifiche che è possibile fare, è quindi necessario che io vi dica che in Freebase:

  1. Un nodo del grafo viene chiamato “Topic“, potete considerarlo sinonimo di “concetto” o “entità” o “cosa”.
  2. Una relazione di tipo “IS A” (“è un”) viene chiamata “Type“. Per esempio, Bombolo è una persona, quindi “Persona” è un “Type” di Bombolo.
  3. Una relazione di tipo “HAS A” (“ha un”) è chiamata “Property“. Per esempio, una persona ha un luogo di nascita, quindi “Luogo di nascita” è una “Property” di “Persona”.

Volendo presentare questi tre concetti in modo semplice, è possibile usare una semplice gerarchia:

  • Topic: Bombolo
    • Type (is a): Persona
      • Property (has a): Luogo di nascita

Due tipi di modifiche

Il primo tipo di modifica attuabile su Freebase è la creazione di un nuovo Topic (nodo) del grafo. All’atto pratico, questa attività prevede la compilazione di una scheda contenente informazioni sul tipo di nodo che si desidera creare. Per esempio, se decidessi di aggiungere al grafo una persona, dovrei creare un nuovo nodo e attribuirgli il type “/people/person”, il cui schema contiene property quali la data di nascita, il sesso, il luogo di nascita e così via.

I miei primi test su Freebase, nell’estate del 2012, hanno mostrato che non è sufficiente aggiungere un Topic a Freebase perché venga successivamente acquisito dal Knowledge Graph.

Pur non avendo svolto testi per determinare la ragione di questa mancata acquisizione da parte del Knowledge Graph, la teoria dei grafi ci insegna che un nodo non raggiungibile dal resto del grafo attraverso le relazioni tra nodi è sostanzialmente “orfano” e quindi non realmente integrato al grafo stesso. E’ un’isola senza traghetti che conducono ad essa.

E’ quindi possibile che, affinché un nuovo Topic venga aggiunto al Knowledge Graph, esso vada non solo creato su Freebase ma sopratutto citato in altri Topic di Freebase che sono già stati acquisiti dal Knowledge Graph. In mancanza di test chiarificatori, vi suggerisco di prendete questa mia affermazione come una semplice ipotesi.

Il secondo tipo di modifica attuabile su Freebase è l’aggiunta di una property ad un Topic già esistente, cosa che corrisponde alla creazione di una relazione tra un Topic e l’altro. Per esempio, se volessi aggiungere a Freebase l’informazione che Bombolo è stato attore in un film, dovrei:

  • Accertarmi che il Topic “Bombolo” (/m/0w65xgp) contenga il Type “Film actor” (/m/0jsg4j), eventualmente aggiungendolo nel caso in cui non esistesse.
  • All’interno del Type “Film actor”, aggiungere alla Property “Film performances” un elemento di Type “Film” corrispondente ad un film in cui Bombolo ha recitato.

E’ proprio questo secondo tipo di modifica che sta alla base del “Progetto Bombolo”.

Progetto Bombolo: il test

Il progetto Bombolo è nato perché l’invio a Google di query quali [film con bombolo] o semplicemente [bombolo] produceva informazioni striminzite sulla filmografia del comico. Il tipico box in cima alla SERP che scaturisce per fornire risposte dirette al tema cercato dall’utente conteneva infatti il nome di un solo film in cui l’attore era protagonista.

Ecco di seguito uno screenshot di quanto Google mostrava.

SERP di Google per la query [film con bombolo]

Dietro il desiderio di capire da dove il Knowledge Graph avesse estratto quel dato e sopratutto perché avesse a disposizione solo un film sull’attore romano, ho visitato un paio di siti che sapevo essere fonti certe o potenziali del Knowledge Graph ed ho determinato che l’unica informazione sui film di Bombolo posseduta dal Knowledge Graph corrispondeva anche all’unica informazione posseduta da Freebase.

La scheda su Bombolo di Freebase infatti mostrava un Type “/film/actor” contenente una sola Property “/film/actor/film” che è il nome formale della Property di tipo “Film performances”. La Property già presente citava il film “Caligula II: Messalina Messalina” e presentava persino una mancanza nel campo assegnato al nome del personaggio interpretato dall’attore nel film.

Scheda di Freebase su Bombolo

Il sottoscritto si è guardato bene dal modificare quella riga ed ha invece focalizzato il test sull’aggiunta di ulteriori Property del tipo “/film/actor/film”. In particolare, ho aggiunto nomi di film di cui Freebase possedeva già un Topic.

Orgoglioso di poter mischiare ancora una volta sacro e profano, in barba a qualunque formalismo e sprezzante del tipo di traffico che il presente articolo SEO attrarrà in futuro dai motori di ricerca, vi elenco i tre film che ho aggiunto al Topic “Bombolo” su Freebase:

Nome film Nome personaggio
Squadra antifurto Er Trippa
Delitto al Blue Gay Franco ‘Venticello’ Bertarelli
Squadra antitruffa Franco ‘Venticello’ Bertarelli

Si noti che per ciascuno dei film aggiunti, ho anche provveduto ad aggiungere il nome del personaggio interpretato da Bombolo nella pellicola, un’informazione che invece mancava (e continua a mancare) per il film che avevo trovato già inserito (“Messalina Messalina”).

Il risultato finale sulla pagina di Freebase che ospita il Topic “Bombolo” era dunque quello mostrato dal seguente screenshot.

Il Topic Bombolo per come appariva dopo la modifica

Apportate le modifiche, ho pazientemente atteso che qualcosa cambiasse lato Knowledge Graph. Dopo un paio di settimane senza novità ne ho anche approfittato per chiedere a John Mueller (Google) se le informazioni di Freebase venivano perodicamente riversate nel Knowledge Graph e John Muller ha risposto “Sì”, senza comunque fornire dettagli sulle tempistiche.

Progetto Bombolo: i risultati

Dopo tre settimane dalla modifica del Topic “Bombolo”, la SERP prodotta per la query [film con bombolo] ha finalmente integrato i dati che avevo amorevolmente aggiunto su Freebase e potete notare il risultato in tutto il proprio splendore nello screenshot che segue, che mostra le locandine dei nuovi film inseriti.

Nuova SERP di Google per la query [film con bombolo]

Vi prego di tener presente che quest’ultimo screenshot è stato fatto a fine ottobre e quindi può non rappresentare quanto Google mostra adesso o mostrerà in futuro.

Va considerato che la presentazione in SERP dei dati estratti dal Knowledge Graph cambia al momento molto spesso, perché Google è continuamente in cerca di modi ottimali per presentare le informazioni agli utenti.

Con l’acquisizione da parte del Knowledge Graph dei dati immessi su Freebase il test è dunque terminato con l’esito nel quale speravo ed il sottoscritto ha quindi pensato di scrivere questo articolo.

Perché curare i contenuti del Knowledge Graph?

Tenuto conto che il Knowledge Graph contiene informazioni su aziende, prodotti, persone, organizzazioni e chi ne ha più ne metta, sono certo che da qualche parte esistano SEO che si occupano della visibilità di questi soggetti/oggetti. Oltre a quanto appare tra i risultati organici e sull’advertising, il Knowledge Graph costituisce quindi un ulteriore canale informativo i cui contenuti possono essere curati direttamente dagli utenti, sebbene con alcune limitazioni (a decidere che cosa pubblicare in SERP è sempre Google).

In particolar modo, a chi di voi gestisce la visibilità o la comunicazione di aziende o personalità di un certo rilievo, suggerisco di farsi un giro sulle query di brand più popolari per vedere se Google mostra dei box con dati estratti dal Knowledge Graph e controllare se i dati riportati sono corretti e ricchi di dettagli.

Per chi gestisce clienti e brand internazionali è inoltre suggerito svolgere la suddetta indagine sulle diverse property regionali di Google, perché a volte capita che i box informativi del Knowledge Graph appaiano sono per query di altre lingue fatte sui motori di Google dedicati a specifiche nazioni.

Giusto per fare un esempio, ho appena cercato il nome di un’azienda di una persona che conosco molto bene ed è venuto fuori un box del Knowledge Graph parco di informazioni. Una veloce consultazione di Freebase ha fatto emergere una scheda Topic estremamente scarna i cui contenuti, se arricchiti, potrebbero indurre Google a valorizzare nelle proprie SERP la presenza dell’azienda stessa.

In un certo senso si può dire che il contesto nel quale un content curator può svolgere la propria attività si è arricchito adesso di un luogo in più nel quale un’azienda può presentare sé stessa o i propri prodotti/servizi e di una metodologia in più per influire positivamente sulla loro immagine e percezione.

Raccomandazioni e conclusioni

Voglio chiudere questo semplice articolo con qualche precisazione d’uopo.

Freebase non è certo l’unica fonte dalla quale Google attinge informazioni da aggiungere poi al Knowledge Graph. Un’altra fonte dalla quale il Knowledge Graph attinge è Wikipedia (in futuro forse anche Wikidata) e di fonti non dichiarate ne esistono sicuramente altre. Non c’è garanzia che un’informazione aggiunta in Freebase venga poi effettivamente preferita da Google ad informazioni contrastanti presenti in altre fonti sullo stesso argomento.

Il Knowledge Graph è in continua mutazione e Google sta continuando incessantemente a migliorare la qualità dei suoi contenuti. Questi miglioramenti possono passare attraverso attività di manutenzione, che possono prevedere la cancellazione/migrazione/accorpamento delle informazioni e di conseguenza non c’è nemmeno garanzia che ciò che il Knowledge Graph ha acquisito da Freebase rimanga nel Knowledge Graph per sempre.

Ci sono alcuni contenuti/Property di cui Freebase non consente la modifica e quindi la fattibilità di un intervento varia da caso a caso. In ogni caso, per poter modificare o aggiungere contenuti su Freebase, è necessario creare un account sul sito.

Detto in altre parole, voi potete pure curare i contenuti su Freebase, ma poi a decidere che farci è comunque Google. Ma se siete dei SEO dovreste essere da tempo abituati a questo deprimente scenario.

Mi auguro che aver riportato un semplice esempio di modifica del Knowledge Graph sia stato per voi utile o interessante.

Salumi e caci.

P.S.
Pensavo che sarebbe interessante parlare di argomenti simili in qualche evento. Giusto per dire.

10 Responses to Progetto Bombolo: come modificare il Knowledge Graph e le SERP

Leave a Reply

Your email address will not be published. Required fields are marked *