I “suggeriti per te”: come la matematica stabilisce i nostri gusti online

Dai siti di e-commerce ai social network. Dalle piattaforme video ai motori di ricerca. Tutti ci suggeriscono cosa cliccare per aiutarci a trovare qualcosa di nostro gusto, un amico, un libro, un nuovo acquisto da non perdere, un nuovo video da vedere.

E sembrano conoscerci molto bene se, come pare, la percentuale delle vendite attraverso i “suggeriti per te” pare si aggiri per Amazon tra il 30 e il 70% delle vendite totali.

 

Come fanno i siti online a stabilire i nostri gusti e le nostre preferenze?

Chi tra voi si sta immaginando algoritmi complicati e simboli arcani, resterà sorpreso nel leggere che le idee matematiche coinvolte sono relativamente semplici e alla portata di chi abbia anche solo una piccola infarinatura di indici di correlazione, calcolo di probabilità e angoli tra vettori.
Questi algoritmi si basano sulle recensioni o indicazioni di interesse che noi utenti forniamo  consapevolmente (per esempio, ricerche specifiche di oggetti e prodotti, rating di prodotti) o inconsapevolmente (click, visualizzazioni di annunci, tempi passati su una pagina web, o simili).

Secondo il volume Recommender Systems di Jannach, Zancher, Felfernig e Friedrich, da cui sono  tratti  diversi spunti di questo articolo (e che potete approfondire sul sito dedicato http://recommenderbook.net), per suggerire a un utente articoli e contenuti di suo interesse, i sistemi di raccomandazione online si possono basare su uno (o più) di questi tre parametri:

  1. un paradigma collaborativo basato sull’analogia di comportamenti tra utenti;
  2. le informazioni e i tag di prodotti simili tra loro;
  3. la conoscenza specifica delle esigenze dell’utente attraverso la storia delle sue ricerche e dei filtri di ricerca usati.

 

Come si calcola la similarità tra utenti sul web? 

Il paradigma collaborativo si basa sull’idea di “crowd wisdom”, cioè di “saggezza della folla”, e sull’assunto di base che persone concordi nel valutare un prodotto nel passato, si troveranno allineate nel recensire prodotti diversi anche in futuro. Occorre perciò solo trovare il modo di calcolare la “similarità” tra utenti. Immaginate, per esempio, di avere la tabella sottostante contenente le valutazioni (o rating) date da alcuni utenti (users) ad alcuni prodotti (item) e di voler stabilire se e quanto Alice gradirà il prodotto numero 5 (in modo da consigliarglielo nei “suggeriti per te” oppure no). Come procedereste?

immagine: recommenderbook.net

Un buon approccio è quello di individuare un valore di similarità nei comportamenti di Alice e degli altri utenti. Per esempio, mediante l’uso delle formule di correlazione, utili in statistica per fornire una misura del legame (eventuale) di linearità tra fenomeni. In particolare possiamo usare per la similarità tra A e B  l’indice di Pearson che fornisce valori tra -1 e 1. Tanto più questo indice si avvicina a 1 (o a -1), tanto più si ha una correlazione alta positiva (o negativa), mentre con indice 0 non si ha correlazione:

Nell’usare tale indice (rapporto tra la covarianza di A, B e il prodotto delle varianze di A e di B) generalmente si raccomanda di non fraintendere il risultato come relazione causa-effetto. Se per esempio la correlazione tra l’acquisto di occhiali da sole e il numero di morti da annegamento è alta non dobbiamo concludere che i primi sia pericolosi per il galleggiamento, ma piuttosto che entrambi i fenomeni aumentano insieme in estate.

Tornando ad Alice e usando la formula nella sua completezza (dove con  si indica il valore di rating dato dall’utente A al prodotto o item i, con  la media) si ha:

Nel caso della correlazione di A (Alice) con l’utente User1 si ottiene un valore di similarità pari a 0,85, come riportato nel calcolo sotto:

La correlazione di Alice con gli altri utenti fornisce rispettivamente indice 0,70 per l’utente User3, -0,79 per l’utente User4; Alice e User2 risultano invece non correlati.

Mediante una rappresentazione grafica dei valori, Jannach e Zancher mostrano come in effetti Alice sia molto simile nei suoi comportamenti all’utente User1, benché più “generosa” nelle sue valutazioni.

Possiamo perciò senz’altro raccomandare ad Alice il prodotto 5 aspettandoci un suo valore di recensione pari a 4 o 5.

 

Come si calcola la similarità tra prodotti? 

Avevate indovinato? Se volete potete rimettervi alla prova con un altro approccio, quello del calcolo della similarità tra prodotti, anziché tra utenti. Per esempio, potremmo confrontare il prodotto Item 1 con Item 4, considerandoli come vettori.

E per valutarne la similarità possiamo usare una tecnica spesso usata anche nel data mining per calcolare la vicinanza di testi diversi e magari attribuirli a uno stesso autore. Si tratta del calcolo della “somiglianza” tra vettori attraverso (il coseno) dell’angolo che formano (dato dal rapporto tra il prodotto scalare di A e B e il prodotto delle norme dei due vettori):


Quando l’angolo è nullo, il coseno è massimo e uguale a 1 e i vettori sono considerati molto similari. Nel caso del confronto trai Item 1 e Item 5, la formula ci restituisce il valore 0,99, così possiamo concludere che i due prodotti hanno una similarità molto forte e aspettarci un apprezzamento dell’Item 5 da parte di Alice vicino a 5.

Per chi volesse cimentarsi oltre, segnaliamo la possibilità di un ulteriore interessante approccio mediante l’uso del calcolo della probabilità e del teorema di Bayes come riportato nella diapositiva di Jannach, Zancher  e dal libro citato di cui potete leggere alcune pagine in anteprima Google Books.

 

Come si calcola l’affinità di coppia nei social media e nei siti di incontri online?

La matematica, anche quella più basilare che usa  solo semplici medie pesate e sommatorie,  può bastare, per esempio, per calcolare la nostra affinità con i nostri “amici” e far decidere a un social network se e cosa mostrarci tra i post e gli stati dei nostri contatti. Questo era quello che accadeva per Facebook e per il suo algoritmo di Edgerank (usato fino al 2011 prima di venire raffinato con l’uso di ulteriori centomila parametri!). Edgerank usava la semplice somma di tre parametri: affinità tra utenti (determinata da like e commenti), peso del post (dipendente dal tipo di messaggio condiviso, se contenente link, immagini o video), e il tempo di decadimento (più il post “invecchia” e meno valore assume).

In realtà anche in questo caso sono i nostri comportamenti in rete (quantità di commenti, numero di like, tempi di visualizzazione e click) a determinare quello che ci viene consigliato. Così come sono i nostri desiderata ad aiutare siti di incontri virtuali a trovarci addirittura la nostra anima gemella con l’uso di una semplice media geometrica, come mostrato in questo video Ted Ed:

 

Desideriamo 15 minuti di notorietà o di anonimato?

Forse ve ne siete convinti anche voi, la matematica guida la nostra vita online in modo molto più diffuso e semplice di quanto possiamo immaginare. Come dice Dino Pedreschi, «siamo come Pollicini digitali, e ci lasciamo dietro briciole del nostro vivere, che giorno dopo giorno diventano una valanga (di dati)». Prima o poi, anziché desiderare “15 minuti di notorietà”, come diceva Andy Wharol, secondo Juan Enriquez (nel video che segue), ambiremo tutti a ritagliarci anche solo 15 minuti di anonimato, per non farci suggerire nulla che possiamo scegliere e trovare da soli.

 

A dire il vero però, se siete come me, ottimisti digitali, forse non vi disturbano troppo le segnalazioni e i suggerimenti del web, soprattutto se via, via gli algoritmi si dimostreranno in grado di aiutarci davvero a trovare qualcosa di interessante nel mare magnum del web.

Per la lezione

Prosegui la lettura

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *