Blog.

Explicit ratings vs implicit ratings | Recommender Systems


Autore
Andrea Provino
Data
Tempo di lettura
4 minuti
Categoria
AI, machine-learning

explicit-ratings-implicit-ratings-recommender-systems

Le explicit ratings, ossia le valutazioni esplicite (e.g. commenti), sono importanti informazioni, necessarie a costruire un buon recommender system, o sistema di raccomandazione.

Devi però sapere che da sole non bastano.

Stiamo per analizzare i diversi motivi per cui le valutazioni esplicite non sono sufficienti, e quelli che per cui occorre prendere in considerazione anche le sottostimate, e talvolta ignorate, valutazioni implicite: implicit ratings.

Prima però occorre fare una visita alla vicina locanda e prendere i viveri di cui avremo bisogno durante il viaggio.

Cambusa approvvigionata, con Cos’è un recommender system? e la Recommender system taxonomy, e vele issate!

Pronti a salpare.

Explicit Ratings

Benissimo. Abbiamo percorso poche miglia nautiche eppure stiamo aborrendo le valutazioni esplicite.

Un rapido chiarimento.

Chiamiamo valutazione esplicita quella fornita da un utente manualmente e consciamente, su un prodotto, servizio o contenuto.

Avendo ripassato il lessico proprio dei sistemi di raccomandazione, sappiamo che il nostro obiettivo è creare una matrice user-item, rappresentante le interazioni utente-prodotto.

Il più veloce e semplice sistema per produrre questo set di dati è fare in modo che siano gli utenti stessi a popolare la matrice.

Signori e signore: valutate!

Peccato che non lo facciano, anche avendo dato loro questa opportunità.

Il motivo? Pigrizia, e probabili altre ragioni psicologiche che, non essendo esperti in materia, semplicemente tralasceremo.

Facciamo finta, per un momento, di vivere in un mondo utopistico in cui i nostri diligenti utenti ci forniscano le valutazioni necessarie.

La domanda che ora ti pongo è semplice: “Ci possiamo fidare?

Assolutamente no.

Non possiamo pensare che le valutazioni espresse riflettano la reale opinione che un utente avesse dell’elemento recensito.

Perché?

Almeno due ragioni.

La prima, un utente è influenzabile dalla cerchia di amici che frequenta, elemento questo da tenere a mente e valutare anche successivamente.

La seconda, non sempre è chiaro cosa l’utente stia recensendo. A una prima analisi potremmo dire l’elemento in sé; molto spesso la valutazione è invece frutto della sola considerazione di sua parte, o particolarità.

Mi spiego meglio.

Per un film, questo si traduce in una potenziale recensione negativa influenzata dalla brutta locandina.

Netflix, conscio di ciò, conduce A/B testing sulle immagini di copertina di un film studiandone l’influenza sul comportamento utente.

Possiamo quindi dire che queste valutazioni debbano essere accantonate?

Non proprio.

Il vantaggio principale di una explicit ratings è quello di far confluire l’informazione direttamente, ed eventualmente normalizzata, sulla matrice.

Vediamo invece in cosa consiste una valutazione implicita.

Implicit Ratings

Una valutazione implicita è dedotta a partire dal comportamento utente.

Attraverso il monitoraggio delle azioni compiute siamo in grado di fornire un servizio utile, una raccomandazione, senza tuttavia manipolare alcuna decisione.

Ad esempio, quando un utente acquista un prodotto, possiamo facilmente dedurre una sua preferenza, seppur non direttamente espressa.

Questa è un implicit rating.

Discorso analogo per l’inizio della visione di un film, e la richiesta d’informazioni aggiuntive per un prodotto.

Al contrario, una valutazione negativa, seppur non espressamente fornita, può essere dedotta a partire dalla restituzione di un articolo.

In generale potremmo quindi dire che l’obiettivo è quello di codificare le possibili interazioni utente-prodotto secondo un modello che fornisca un indice di gradimento.

Questo indice di gradimento deve, almeno in prima analisi, essere opportunamente tarato, poiché le azioni hanno sovente un largo margine d’interpretazione.

Amazon esaspera questo concetto attraverso il suo Item-to-Item Collaborative Filtering System che sfruttando unicamente gli acquisti utente, e non le recensioni, fornisce puntuali raccomandazioni.

Il motivo per cui le valutazioni implicite assumano una così marcata importanza è da ricercarsi anche nella tipologia di ambiente in cui il sistema di raccomandazione si trova a operare.

Realtà complesse come il The New York Times sfruttano la cronologia browser per raccomandare nuovi contenuti, non potendo ricorrere alle explicit ratings. Il sito non consente all’utente di valutare i contenuti.

Inoltre, se anche l’espressione di una valutazione fosse permessa, sarebbe difficilmente interpretabile: l’utente non ha gradito il tema dell’articolo, la sua stesura o la storia in sé?

Relevance | La rilevanza

Prima di salutarci, un’ultima riflessione.

Rilevanza è una parola chiave. Qui, come altrove.

Capiamoci meglio.

Abbiamo visto come le expliciti ratings siano utili, ma non fondamentali, per costruire un buon sistema di raccomandazione.

Come possiamo allora capire quando siano necessarie, e rilevanti?

Il domain knowledge gioca un ruolo chiave.

Dobbiamo comprendere l’ambiente in cui ci troviamo, il business che stiamo cercando di migliorare e studiarne il funzionamento.

Prendi eBay.

Un sito di aste? Esatto!

Un sito il cui modello di business è vendere poche, anche una sola, unità di un prodotto.

Acquisti il modello in scala 1:127 del Concorde, lasciando una valutazione positiva? Ottimo non posso raccomandare questo prodotto ad altri utenti perché semplicemente non ne ho altri a listino.

Però, l’informazione riguardo le tue abituali ricerche sui modellini aerei possono tornami utili.

Un caldo abbraccio, Andrea.

Taggedteoria


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum