Tag Archives: Google News

Whatsup 0.2: sorgenti dei dati e query importanti

Mappa realizzata con XMind di un cluster creato da Whatsup 0.2

Mappa realizzata con XMind di un cluster creato da Whatsup 0.2

Nel precedente post su Whatsup 0.2, segnalavo che una novità introdotta in questa nuova versione era l’indicazione di quali keyphrase, nei cluster, potevano essere considerate più importanti di altre. Ripubblico per comodità l’immagine del cluster già usata nel post precedente e vi invito a dare un’occhiata alle keyphrase evidenziate in neretto.

Ovviamente la definizione di che cosa è importante o meno è squisitamente arbitraria: acquisite informazioni e segnali che esistono attorno alle ricerche del momento, la scelta di che cosa considerare più importante l’ha fatta il sottoscritto.

Come ho deciso di muovermi? Innanzitutto dalla versione 0.2, Whatsup inizia ad acquisire dati da più fonti.

Riguardo le fonti dalle quali è possibile ottenere informazioni in tempo reale sulle ricerche degli utenti, degli hint ben espliciti erano stati dati pubblicamente già durante il mio intervento al Convegno GT del 2009, incentrato su Google News (ecco la presentazione usata durante l’intervento).

A colleghi e compagni di aperitivi, inoltre, ho sempre sciorinato diversi dettagli di metodo e implementativi: molto era sostanzialmente incentrato sul monitoraggio del Google Suggest del servizio Google News.

Whatsup 0.2 ottiene però informazioni provenienti da altri strumenti in grado di riportare dati in tempo reale sulle abitudini di ricerca degli utenti. Di bello c’è che tali nuove fonti sono ben compatibili con la fonte usata finora e consentono di incrociare i dati in maniera molto armonica.

Il concetto di “maggiore importanza” che ho tirato fuori è nato in modo molto spontaneo: ad essere considerate più importanti sono quelle ricerche riportate da più di una fonte. Una banalissima intersezione ha permesso di mixare sia la caratteristica di freschezza tipica del suggest di Google News sia aspetti più quantitativi, acquisiti da fonti molto usate dagli utenti ma aggiornate meno frequentemente o con criteri diversi di quelli usati da Google per il suggest delle notizie.

I risultati ottenuti, come potete notare dall’immagine pubblicata in questo post, non sono davvero niente male e le keyphrase evidenziate in neretto dall’algoritmo sembrano anche coincidere con le keyphrase che le fonti stesse indicano esplicitamente come le più cercate.

Ovviamente un dettaglio su quali siano le nuove fonti non verrà fornito, perché l’obiettivo dei miei post su Whatsup è quello di produrre un diario degli aspetti informatici del progetto e non un vademecum completo che permetta ad altri di replicare esattamente il mio lavoro.

Il prossimo post sarà incentrato sulla versione 0.3 di Whatsup e sulla produzione automatizzata delle mappe mentali.

Whatsup 0.1, la genesi

Mentre attendo che la pasta cuocia, vi scrivo il primo di una serie di post attraverso i quali vi darò visibilità del nuovo software che sto progettando.

Come forse qualcuno avrà intuito da qualche mia passata partecipazione al Convegno GT, è da un po’ di tempo che mi interesso di Google News.

Oltre a incamerare una quantità industriale di informazioni sul motore di ricerca verticale, ho trovato il modo per avere accesso alle ricerche in tempo reale fatte dagli italiani. Si tratta di informazioni che Google non divulga esplicitamente ma alle quali è possibile arrivare smontando il giocattolo e cercando dentro.

Il primo risultato di questa ricerca si chiama Whatsup, un software attualmente in fase embrionale ma già in grado di fornire dati interessanti a chiunque debba scrivere articoli e notizie online (e non solo); conoscere in tempo reale i temi a cui gli italiani sono interessati è un’informazione dal valore altissimo.

Mappa mentale con il risultato di Whatsup v0.1

Primo clustering, visualizzato attraverso XMind

Lo screenshot che trovate su questa pagina mostra non semplicemente un elenco delle keyphrase estratte da Google ma anche una sua elaborazione: ho implementato un algoritmo di clustering nel tentativo di mettere ordine a informazioni prive di struttura.

Inizialmente ho ipotizzato di poter sfruttare un algoritmo della classe K-Means ma successivamente mi sono reso conto che, almeno nelle sue implementazioni più semplici, il K-Means non sarebbe andato bene per i miei scopi.

Nelle forme più semplice del K-means, infatti, la scelta dei cluster iniziali può avvenire attraverso criteri un po’ deboli: a volte persino facendo una scelta casuale. Nel tipo di classificazione che volevo ottenere io, invece, avrei desiderato ottenere una definizione dei cluster fondata su una prima analisi dei dati stessi.

La seconda perplessità sull’uso di un K-means è collegata al fatto che la quantità di dati da classificare (le keyphrase) è abbastanza bassa: intorno al centinaio di elementi. Di fronte a queste quantità e ad un numero di cluster potenzialmente elevato, fino a qualche decina, non è detto che il concetto cardine sul quale si basa il K-Means (la ridisposizione in spazi multidimensionali di elementi che condividono caratteristiche) si riveli in grado di produrre buoi risultati.

Insomma, mi son detto che non conveniva smobilitare la NASA per classificare un centinaio di keyphrase e quindi ho sviluppato un mio algoritmo di clustering, a mio parere più adatto a quanto volevo ottenere. Per esempio la scelta dei nomi dei cluster avviene facendo delle statistiche sulle parole più frequenti nel gruppo di keyphrase.

Il risultato potete notarlo nello sceenshot già citato. Dati e classificazione sono fatti dal software, la mappa mentale l’ho creata a mano con XMind.

Notate che si tratta solo della prima versione dell’algoritmo di clustering e che nel momento in cui scrivo questo primo post sono già giunto a versioni superiori e a mio parere migliori sotto molti aspetti, che tratterò nei post successivi di questa serie.

Salumi e caci.