SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
I Sistemi di Raccomandazione
“Quello che lʼinformazione consuma è piuttosto ovvio: consuma lʼattenzione dei suoi
destinatari. Dunque unʼabbondanza di informazione crea povertà dʼattenzione, ed il
bisogno di scegliere come distribuire in maniera efficiente questa attenzione tra la
sovrabbondanza di informazioni che potrebbero consumarla”
H.A. Simon
La diffusione pervasiva delle tecnologie informatiche, e la crescente diffusione dei
contenuti digitali offrono agli utenti la possibilità di fare del media digitale uno
strumento da utilizzare in ogni contesto, e in ogni occasione e lo promuovono a
dispositivo che può essere dʼausilio alla vita dellʼutilizzatore a trecentosessanta
gradi. Ciò rende il problema della gestione e dellʼorganizzazione di questa mole
informativa una questione quantomai prioritaria, che cerca soluzioni nuove e che
facilitino lʼesperienza utente. I sistemi di raccomandazione si inseriscono in
questo scenario: ci imbattiamo sempre più spesso in loro quando si ha a che fare
con siti di e-commerce, nascosti da etichette come “Forse ti piacerebbe comprare
anche...”, ma è molto comune anche incontrarli in ambiente enormemente
diversi, nella forma di raccomandazioni musicali, cinematografiche, di pagine
web, o anche persone. Insomma, in ogni situazione in cui possa aver valore un
consiglio. Il grande merito di questi sistemi è infatti quello di fornire a chi li utilizza
uno strumento per valutare degli oggetti prima di spendere denaro o
semplicemente tempo su di essi. È da notare come in un certo senso lʼuso di
questo tipo di strumento, che implicitamente modella il meccanismo naturale di
consigli tra gli uomini, porti con se una forte connotazione sociale, oltre alla più
evidente valenza “economica”: al di là del contenuto delle raccomandazioni, il
semplice fatto che siano mantenuti dati su diversi utenti e sulle loro preferenze
rende possibile la scoperta di relazioni (implicite o esplicite) tra persone, fondate
sui loro gusti comuni. Non è dunque improprio dire che ciascun sistema di
Raccomandazione costruisce o, ancor meglio, rivela una rete di legami tra
persone, una rete sociale.
Modelli di Raccomandazione
I Sistemi di Raccomandazione (o Recommender Systems (RS) si occupano di
fornire agli utenti consigli personalizzati e di loro probabile interesse riguardo un
set di oggetti appartenenti ad uno specifico dominio (e.g. musica, cinema, libri), a
partire dai dati di cui dispone: informazioni su utenti e oggetti. Una definizione
formale del problema delle raccomandazioni può essere espressa in questi
termini: Sia C lʼinsieme degli m ∈ N utenti del sistema, ed I lʼinsieme degli n ∈ N
oggetti che possono essere raccomandati. La cardinalità degli insiemi C ed I può
essere molto alta, ed i valori m ed n possono essere dellʼordine delle centinaia di
migliaia di unità. Si definisce inoltre funzione di utilità u : C×I → R. Essa misura
quanto un dato oggetto i sia utile ad un determinato utente c. R è un insieme
totalmente ordinato, ed i suoi elementi rappresentano quantitativamente lʼutilità di
unʼoggetto per un utente. Lʼutlità di un oggetto è tipicamente rappresentata da
una valutazione (es. numerica) che un utente ha assegnato o assegnerebbe ad
un oggetto. Date queste definizioni, si vuole scegliere per ciascun utente c ∈ C,
lʼoggetto Iʼ ∈ I che massimizza la funzione di utlità per lʼutente. Ovvero,
formalmente: ∀c ∈ C, i′c = argmaxu(c,i) / i∈I
Il problema centrale delle raccomandazioni sta nel fatto che la funzione u, non è
definita su tutto lo spazio C × I : nelle applicazioni tipiche un utente non esprime
mai preferenze su ogni oggetto del catalogo a disposizione; per esempio, in un
sistema di e-commerce il voto di un utente è rappresentato da un valore binario
(0 se lʼoggetto non è stato acquistato, viceversa 1): è quindi difficile assumere
che un utente possa aver acquistato tutti gli oggetti in vendita; e nel caso
improbabile in cui lo avesse fatto, le raccomandazioni gli sarebbero del tutto
inutili. I Recommender Systems devono essere perciò in grado di stimare i valori
della funzione di utilità u anche nella parte dello spazio dei dati in cui non è
definita, estrapolandoli a partire dai punti di C × I in cui essa è nota: questo è
anche il compito più problematico. In altre parole lʼobiettivo è fare una predizione
sul voto che un determinato utente darebbe ad un oggetto del sistema che non
ha ancora valutato.
Algoritmi di Raccomandazione
Le tecniche attraverso le quali i diversi sistemi predicono voti sconosciuti a partire
da quelli conosciuti, ed il modo in cui queste predizioni sono sfruttate e rese
fruibili allʼutente finale, rappresentano due fondamentali aspetti alla luce dei quali
caratterizzare i sistemi stessi.
Prendendo in considerazione il primo aspetto come criterio di classificazione,
emergono tre grandi categorie di Sistemi di raccomandazione:
• Sistemi Content-based: Allʼutente sono raccomandati oggetti simili a quelli
che gli sono piaciuti nel passato
• Sistemi Collaborativi: Allʼutente sono raccomandati oggetti che sono
piaciuti ad altre persone con gusti simili
• Sistemi Ibridi: Combinano approcci content-based e collaborativi
Sistemi Content-based
Nei sistemi di raccomandazione content-based il valore della funzione di utilità
u(c, i) dellʼoggetto i è predetta considerando i valori u(c, ik ) asseganti da c ad
oggetti ritenuti “simili” ad i. In un sistema installato in un negozio musicale, ad
esempio, ad un utente che ha precedentemente acquistato Whoʼs Next degli
Who e Let it Bleed dei Rolling Stones, potrebbe essere consigliato Sgt. Pepperʼs
Lonely Hearts Club Band dei Beatles basandosi sul fatto che tutte tre le band
sono di origine inglese e maggiormente attive tra gli anni ʼ60 e ʼ70. In generale,
ad ogni oggetto i ∈ I viene associato un profilo Profilo(i), ossia un insieme di
attributi capaci di riassumerne il contentuto. Solitamente essi sono sussunti
automaticamente da proprietà intriseche dellʼoggetto, o più raramente sono
inserite manualmente: per questo motivi gli approcci content-based sono
maggiormente diffusi in ambiti prevalentementente testuali, campo in cui è
possibile sfruttate diverse tecniche automatiche in grado di estrapolare delle
keywords direttamente dal testo. Allʼatto della raccomandazione viene generato,
per lʼutente al quale essa è destinata, un profilo basato sugli attributi degli oggetti
che ha preferito in passato, ProfiloContentBased(c).
Lʼutilità di un oggetto i per c viene calcolata in funzione della somiglianza tra i due
relativi profili: u(c,i) = distanza(ProfiloContentBased(c),Profilo(i))
Prendiamo in analisi un possibile sistema di raccomandazione in ambito testuale:
dagli n documenti ik di I vengono estratte t keywords, ritenute dal sistema le più
significative, e da queste sono costruiti n profili dei documenti. Essi sono
modellati come vettori ⃗ωik dello spazio Rt. In essi ciascun elemento
rappresentanta il “peso” di una keyword allʼinterno del documento ik , ossia la
frequenza con cui questa compare nel testo. Si supponga di voler conescere
lʼutilit`a di un determinato brano i per lʼutente c: il ProfiloContentBased(c) viene
costruito aggregando i profili ⃗ωik ∈ Ic, indicando con Ic lʼinsieme degli oggetti
preferiti in passato da c; viene acciò generato un vettore ⃗ωc ∈ Rt di elementi dj
per il quale ogni dj rappresenta lʼimportanza della j-esima keyword per lʼutente c.
Il problema si riduce, quindi, al calcolo della distanza tra due vettori che pu`o, per
esempio, essere eguito calcolando il valore del coseno tra di essi:
u(c, i) = cos(⃗ωc, ⃗ωi)
Vantaggi: Le raccomandazioni si basano esclusivamente su dati intrinseci relativi
agli oggetti di dominio: le prime raccomandazioni utili sono dunque prodotte
immediatamente, anche con una sola valutazione da parte dellʼutente. Queste
caratteristiche si adattano bene ad ambienti in cui sia necessario produrre
risultati quasi immediati, o al quale siano aggiunti utenti nuovi con una frequenza
molto alta.
Limiti del modello: In questo tipo di approccio le predizioni tendono ad essere
sovraspecializzate e, probabilmente, poco interessanti: basandosi esclu-
sivamente sulla storia dellʼutente a cui sono destinate, le raccomandazioni
tendono a ricalcare troppo fedelmente le sue preferenze passate, e non portano
con sè quellʼelemento di imprevedibilità solitamente auspicabile. Questo può
portare a ritenere il sistema poco utile, vista lʼovvietà dei suoi suggerimenti. Per
rendersi conto di quanto possa pesare questo problema, si consideri un sistema
che raccomanda film, ed un utente appassionato di film dei Monty Python: con
buona probabilità il sistema gli consiglierà altri film degli stessi autori; allo stesso
risultato, però, si sarebbe potuti arrivare più facilmente anche autonomamente,
semplicemente consultando una filmografia. Inoltre, per nuovi utenti per i quali
non è disponibile un numero sufficiente di valutazioni passate, non è possibile
costruire un profilo accurato, e conseguentemente le relative raccomandazioni
saranno estremamente imprecise, e scarsamente personalizzate.
Sistemi Collaborativi
Dai limiti dei sistemi content-based, nascono i cosidetti Sistemi Collaborativi.
Decisamente i più diffusi, talvolta sono considerati come sinonimo di Sistema di
Raccomandazione. In questo approccio i valori della funzione di utilità u(c,i)
sconosciuti vengono stimati considerando quelli assunti dalle u(c′, i) rese
disponibili dagli utenti considerati “simili” a c. Tornando al caso del negozio
musicale, ad Antonella, patita di Janis Joplin, potrebbe essere consigliato Are
You Experienced? di Jimi Hendrix, perchè molti altri fan di Janis Joplin hanno
acquistato anche quellʼalbum.
Tra i sistemi collaborativi si sono ulteriormente distinte diverse categorie, a
seconda dellʼalgoritmo usato per esplorare le connessioni tra gli utenti. In
particolare si distinguono:
• Alogritmi Memory-based
• Algoritmi Model-based
Algoritmi Memory-based: Di questa cerchia fanno parte gli algoritmi che si
basano sulla storia delle valutazioni degli utenti del sistema per predirre
valutazioni future. Lʼutilità u(c, i) è il risultato di una qualche aggregazione
computata a partire dai valori di u degli utenti “simili” a c. Indicando con C ′
lʼinsieme di tali utenti, si puoʼ esprimere quanto detto nei seguenti termini: uc,i =
aggrc′∈C′ (uc′,i), uc,i = u(c, i)
Ulteriori classi di algoritmi sono distinguibili in base al metodo di aggregazione
utilizzato, di seguito sarà offerta una descrizione delle principali.
User-to-User Eʼ sicuramente lʼalgoritmo più utilizzato, nonchè il più studiato nella
storia dei sistemi di raccomandazione. Gli utenti del sistema vengono modellati
come vettori ⃗ωc di Rn nei quali ciascun elemento dj cor- risponde ad u(c, ij ).
Questi profili vengono utilizzati per calcolare la “somiglianza” tra utenti, attraverso
tecniche euristiche, come quella gia vista del coseno tra vettori, o come il
calcolco del Coefficiente di correlazione r di Pearson.
Vantaggi: Computando le raccomandazioni in base alla somiglianza tra utenti, si
ha lʼindubbio vantaggio di fornire consigli più accurati e di minore ovvietà, a fronte
di un costo computazionale non troppo superiore a quelli richiesti dagli algoritmi
Content-Based. Sistemi di raccomandazione che sfruttano questo modello sono
stati sviluppati per i domini più disparati, a testimonianza degli ottimi risultati
raggiungibili e della grande semplicità di implementazione.
Limiti del modello: Sebbene questo tipo di algoritmo sia quello più utilizzato, non
è esenta da numerose limitazioni, a cui si è tentato di dar risposta in diverse
maniere. Il problema di maggior peso si riscontra senzʼaltro in domini
caratterizzati da un gran numero di oggetti nel catalogo e/o un altrettanto grande
numero di utenti; in altri termini, in tutti i domini in cui un sistema di
raccomandazione può avere una qualche utilità.
In ambienti con tanti utenti ed oggetti, infatti, le preferenze dei primi risultano
estremamente sparse; ciò significa che la funzione di utilità è definita su una
parte minuscola dello spazio C×I. Per rendersi conto delle dimensioni di questo
problema si consideri che studi eseguiti su dataset reali hanno mostrato che u è
definita sullʼ 1.75% del dominio nel caso di un sistema di raccomandazioni di film,
e addirittura sullo 0.19% e 0.13% rispettivamente nei casi di raccomandazioni di
libri, e di un negozio virtuale. Si può intuire come in scenari di questo tipo possa
essere problematico calcolare le correlazioni tra gli utenti, visti i pochi elementi
che potrebbero avere in comune, e come comunque si possa andare incontro a
raccomandazioni più o meno accurate a seconda del livello di densità del
dominio. Direttamente legato a questo limite, è il problema comunemente detto di
Cold-Start o First-Day Problem. Queste situazioni si verificano in particolare nei
primi tempi di vita di un sistema, quando si ha disponibile un numero di
valutazioni ancora inferiore rispetto a quelli di un sistema a regime.
La stessa questione si ripropone, evidentemente, nel caso dellʼaggiunta di nuovi
utenti o nuovi oggetti al sistema. Un aspetto meno centrale, ma che comunque
vale la pena affrontare è il problema che affligge gli oggetti molto “comuni” del
catalgo: quegli oggetti che vengono comunemente preferiti da una vasta gamma
di utenti, come le banane che, in un mercato, sono acquistate pressochè da tutti
almeno una volta nella vita. Ciò porta a raccomandare sempre e per tutti gli utenti
tali oggetti che, vista la loro fama, sarebbero stati presumibilmente acquistati
comunque. Data lʼaffinità della situazione con quella delle banane al mercato,
questo problema è stato ribatezzato Banana Problem. Soluzioni a questo
inconveniete spaziano da filtri costruiti ad-hoc, alla divisione di I in due
sottoinsiemi, un hot-set di oggetti “comuni” (di dimensioni molto ridotte) ed un
cold-set usato per aumentare la copertura degli oggetti (di dimensioni di due
ordini piu` grande del cold-set.
Item-to-Item: Lʼalgoritmo di raccomandazione Item-to-Item nasce per affrontare il
problema dei nuovi utenti in ambienti in cui sia necessario fornire
raccomandazioni accurate e veloci anche a coloro che si sono appena iscritti al
sistema, dei quali si conoscono pochi o nessun dato.
Anzichè costruire correlazioni tra utenti gli algoritmi di questa categoria
forniscono raccomandazioni valutando la somiglianza tra gli oggetti del catalogo.
Questo approccio non è da confondere con quello content-based, in quanto,
come si vedrà, le similitudini tra oggetti vengono estrapolate dalle interazioni
passate con il sistema. Come accadeva per gli utenti, ad ogni oggetto del
sistema viene fatto corrispondere un vettore di profilo ⃗ωi i cui elementi, laddove
definiti, sono i valori di u(ck,i) con ck ∈ C′, denotando con C′ lʼinsieme degli utenti
per i quali `e definita u per lʼoggetto i. Questi profili sono poi usati per computare
la somiglianza tra coppie di oggetti con le stesse tecniche usate dagli algoritmi
user-to-user
Vantaggi: Sfruttando la tabella creata seguendo la procedura appena descritta, si
può facilmente comprendere come sia possibile fornire una rac- comandazione
discretamente accurata anche ad utenti che hanno valutato un solo oggetto nel
catalogo: il tutto è svolto semplicemente leggendo i valori dalla tabella e
scalandoli in funzione dellʼutilit`a dellʼoggetto votato. Dunque, come stato già
sottolineato, questo modello trova il suo posizionamento naturale in ambienti con
un insieme di utenti transiente, come pu`o essere quello degli utenti di un sito di
e-commerce molto trafficato.
Limiti del Modello: Questo approccio soffre delle stesse limitiazion del- lʼapproccio
user-to-user, con la differenza che affronta, in parte risolvendolo, il problema dei
nuovi utenti. A fronte per`o di questo vantaggio corrisponde una spesa altrettanto
grande in termini computazionali. Se infatti per com- putare la simiglianza tra
utenti bisonga eseguire al massimo m · n operazioni elementari, per scandire m
utenti ed n prodotti (complessita O(m · n)), in questo caso cʼè bisogno di n2 ·m
passi, per scandire per ognuno degli n oggetti gli m utenti che lo hanno valutato,
e per ciascun utente che lo ha valutato, gli altri possibli n oggetti preferiti
contemporaneamente (complessit`a O(m · n2).
Gli autori del modello però sottolineano che queste stime sulla complessità,
riferite al caso peggiore, si rivelino, vista la sparsit`a degli insiemi dʼingresso,
essere rispettivamente O(M + N ) nel caso user-to-user e O(M · N ) nel caso
item-to-item. Inoltre tali calcoli possono essere svolti offline, in tempi
potenzialmente “morti” per il sistema.
Dimensionality Reduction: Abbiamo visto come uno dei problemi più difficili da
risolvere dei sistemi di raccomandazione sia la sparsit`a dei dati di input, dovuta
alla impossibilit`a per ogni utente di votare una percentuale sufficiente degli
oggetti. Lʼapproccio alla raccomandazione tramite la ridu- zione della dimensione,
mira ad affrontare usando mezzi matematici questo problema. Di fatto, piu` che
una classe di algoritmi a se stante, la tecnica di riduzione delle dimensioni `e un
approccio che promette di smorzare drasti- camente il problema della sparsit`a di
u, ricorrendo a tecniche che riducono, appunto, le dimensioni dello spazio C × I
su cui è definita. Rappresentando i valori di u su tutto C ×I come una matrice A
m×n, si pu`o decomporre questa matrice usando la procedura di standard
singular vector decomposition. A=U·Z·VT
U e V sono due matrice ortogonali rispettivamete m × r e n × r, con r = rango(A).
Z è una matrice diagonale r × r avente sulla diagonale i valori singolari di A. Z è
poi ridotta nella matrice Zk mantenendo solo i k valori singolari più grandi, e
conseguentemente sono ridotte U e V in Uk e Vk . Come risultato si otterr`a una
matrice Ak di rango inferiore a quella di partenza, definita come:
Ak =Uk ·Zk ·VkT
Vantaggi: La matrice Ak appena descritta, mantiene tutte le propriet`a e gli stessi
pattern presenti nella matrice originale: ci`o permette quindi di utilizzare i dati
presenti in essa per costruire le raccomandazioni, sfruttando un qualsiasi altro
dei metodi già descritti, su un insieme di dati di input piu` piccolo e meno sparso.
I vantaggi a livello computazionale sono ovvi.
Limiti del modello: Sebbene la matrice ridotta mantenga in linea di massima le
caratteristiche della matrice completa, è inevitabile che parte delle connessioni
rintracciabili nel modello originario possano andar perse. Ciò porta con ogni
probabilit`a a rinunciare alle raccomandazioni meno ovvie e piu` soprendenti.
Inoltre, il calcolo della matrice ridotta comporta spese computazionali, che
sebbene possano essere svolte offline, presentano una certa rilevanza, e sono
da tener presenti e valutate a seconda dei requisiti del sistema.
Raccomandazioni indirette: I modelli di raccomandazione indiretti estendono il
concetto di somiglianza tra utenti facendo sì che essa non sia più semplicemente
una relazione binaria tra coppie di utenti, in questo modo tentando di affrontare il
problema della sparsit`a della funzione di utilit`a. Abbiamo visto come nei sistemi
tradizionali, nel calcolo delle predizioni, si con- siderano come base di dati i profili
degli utenti considerati “simili” allʼutente a cui la raccomandazione è destinata.
Generalmente due utenti si considerano simili se hanno nei propri profili un
numero sufficientemente grande di oggetti in comune. Al contrario, nellʼapproccio
indiretto il concetto di correlazione è ampliato: la relazione di simiglianza classica
viene utilizzata per costruire un grafo che rappresenti gli utenti; in tale grafo due
utenti, rappresentati come nodi, sono collegati da un arco se sono simili. La
distanza tra due utenti qualsiasi nel grafo è il numero di archi minimo che si deve
percorrere per andare da un utente allʼaltro. Tenendo presente qiesta
costruzione, quando si deve computare una predizione per un utente c, oltre agli
utenti che hanno distanza uno da questi, si considerano anche quelli aventi
distanza maggiore, tipicamente due o tre. In questo modo la base dei dati utili,
risulta note- volmente ampliata consentendo di costruire raccomandazioni più
complete, e che soprattutto esplorino legami inaspettati.
Vantaggi: Applicando questo tipo di metodi si introduce indirezione nella
raccomandazione, in questo modo aumentando il numero dei punti in cui il valore
di u è sfruttabile per fare predizioni. Ne consegue un minor numero di valutazioni
minime necessarie per ricevere le prime raccomandazioni, conseguente alla
minore sparsità del modello ottenuto. Inoltre vengono esplorati dei legami, quelli
indiretti, che spessano portano informazioni molto significiative, ignorate dagli
altri modelli.
Limiti del modello: Anche in questo caso lʼaffrontare il problema della sparsità
porta, inevitabilmente, a possibili diminuzioni della precisione delle
raccomandazioni, ma ha il vantaggio “collaterale” di favorire la comparsa di
raccomndazioni impreviste e non ovvie. Ovviamente il dover mantenere relazioni
anche indirette tra un maggior numero di utenti, comporta anche una maggiore
pesantezza della procedura, e un maggior consumo in termini di memoria.
Collaborazione Model-based: Al contrario di tutti gli approcci Memory-based
appena descritti, le tecniche di raccomandazione Model-based non usano
direttamente la storia del sistema per fare previsioni, ma piuttosto se ne
avvalgono per apprendere un modello, che poi è utilizzato per generare
raccomandazioni. In questa categoria rientrano sistemi che fanno uso di reti
bayesiane, reti neurali, oppure tecniche di clustering per rappresentare il
problema. Segue una breve analisi delle tecniche più diffuse.
Modelli generativi: In questa classe di sistemi si fanno rientrare quelli che
adottano una visione del problema basata sul calcolo delle probabilità: lʼinsieme
dei valori che la funzione di utilità può assumere, è considerato come se fosse
generato da un processo probabilistico. Acciò si introduce nel problema una
variabile z (variabile di classe latente) che è utilizzata per rappresentare la causa
sconosciuta che porta ad unʼ“interazione” tra lʼutente c e un oggetto i (i.e. una
preferenza). Dunque, lo spazio dei valori che la funzione di utilità assume è
considerato essere generato dal seguente processo:
Si sceglie un utente con probabilità P (c) 2. Si sceglie una classe latente con
probabilità P(z|c) 3. Si genera una interazione tra c ed i con probabilit`a P(i|z).
Analisi dei Collegamenti: I sistemi di raccomandazione che sfruttano lʼAnalisi dei
Collegamenti per generare predizioni, sono quei sistemi che utilizzano relazioni
implicite presenti nel dominio degli oggetti per desumere una rete che colleghi
persone e oggetti, le cui propriet`a e caratterisiche per- mettono di costruire
raccomandazioni. Generalmente piu` diffuso in sistemi che si occupano di pagine
Web (vedi Google), lʼalgoritmo analizza gli oggetti in cerca di collegamenti: nelle
pagine web questa operazione è piu` che mai naturale, vista la presenza di link
allʼinterno del markup che descrive la risorsa. Raccolta questa struttura implicita,
ne vengono cercate propriet`a specifiche.
Il sistema HITS ad esempio, individua nel web due tipi di pagine: le pagine hub, e
le pagine autorit`a; la definizione di hub e autorit`a `e fornita in maniera ricorsiva:
gli hub, piu` numerosi, sono le pagine che contengono numerosi link ad autorità;
al contrario le autorit`a, in numero ridotto, sono le pagine linkate da un gran
numero di hub. Intuitivamente si pu`o già immaginare come gli hub possano
essere considerati come gli anelli che collegano le pagine autoritative riguardanti
un certo soggetto; si immaginino le pagine web, ad esempio, di due grandi
produttori di automobili come Mercedes e BMW. Con ogni probabilit`a sul sito
Mercedes non sarà presente alcun link al sito BMW, e vicecersa. Al contrario è
estremamente probabile che sulla pagina di una comunit`a di appassionati di
motori siano presenti collegamen- ti ad entrambe le pagine. Per generare
raccomandazioni su un determinato argomento, dunque, HITS sfrutta come
perno centrale la risorsa degli hub, considerati come il “collante” del web. A
partire dallʼapproccio di HITS, ne è stata sviluppata una variante applicabile in
ambito qualsiasi: in sostituzione ai concetti di hub e autorit`a vengono usati quelli
di Rappresentatività di un oggetto per un utente ir(i, c′) e di rappresentatività di un
untente rispetto ad un altro utente cr(c,c′). Il primo `e assimilabile al concetto di
autorit`a: rappresenta il punteggio di quanto un oggetto puo essere interessante
per un utente; il secondo è, dualmente, assimilabile al concetto di hub: misura
quanto un secondo utente può essere fonte di informazione per un altro utente.
Anche in questo caso i concetti sono definiti ricorsivamente: sono considerati
oggetti rappresentativi per c quegli oggetti i con alta utilità per utenti c′
rappresentativi per c. Similmente, sono considerati rappresentativi per c quegli
utenti c′ che hanno reputato “utili” quegli oggetti i rappresentativi per c. Il
problema della stima delle predizioni viene risolto, infine, in entrambi I casi con
metodi iterativi sui dati in ingresso.
Vantaggi: Creare un modello dei dati dal quale desumere proprietà del dominio,
utili alle raccomandazioni, permette in genere di giungere a risultati piu` accurati
rispetto ai metodi Memory-based. Per questo motivo, in campi in cui sia decisiva
la precisione delle raccomandazioni, i sistemi model-based possono essere la
soluzione migliore, seppur debbano rinunciare alla sem- plicit`a del modello
rivale. Inoltre anche in questo caso le raccomandazioni vengono generate in
maniera indiretta, in questo modo affrontando lo spinoso problema della sparsit`a
dei dati dʼingresso.
Limiti degli algoritmi Model-Based: In generale gli algoritmi basati su modello
soffrono degli stessi problemi intrinseci dei sistemi Memory-Based: ossia, sopra
tutti, della sparsit`a della funzione di utilit`a sui dati in ingres- so, e
conseguentemente degli stessi problemi di cold-start e di inserimento dinamico di
nuovi oggetti o nuovi utenti.
Sistemi Ibridi
Con i cosidetti Sistemi Ibridi si è tentato di rispondere ai problemi di entrambi gli
approcci Content-based o Collaborativi utilizzando contempora- neamente le due
tecniche. Gli algoritmi content-based promettono, infatti, di fornire
raccomandazioni accettabili anche in casi in cui i dati sono minimi, mentre quelli
collaborativi riescono a rispondere alla necessità di generare raccomandazioni
non ovvie e sempre interessanti.
Esistono due distiniti approcci con cui è gli algoritmi ibridi possono essere
realizzati:
• Unʼimplementazione separata di algoritmi content-based e collaborativi,
per poi utilizzare come risultato finale una combinazione di predizioni
provenienti da entrambi gli approcci
• Lo studio di unʼunica implementazione che riesca a fondere in uno
tecniche basate sui contenuti e collaborative.
Il primo si rivela valido in casi in cui sia preferibile usare, a seconda delle
circostanze, una tecnica piuttosto che un altra, o addirittura in casi in cui si voglia
definire con un parametro quanto la raccomandazione debba essere
collaborativa e quanto content-based. Il secondo, invece, non permette un tuning
specifico, ma ha il vantaggio di essere, in generale, di più semplice
implementazione fornendo, comunque, risultati comparabili con lʼaltro tipo di
approccio.
Vantaggi: I sistemi ibridi, come appena descritto, presentano in parte tutti i
vantaggi dei sistemi Content-based e Collaborativi, sebbene ognuno di essi sia
effettivamente limato in quanto inserito in un approccio non puro.
Limiti dei Sistemi Ibridi: Il tentativo, peraltro ben riuscito, di porre dei paletti alle
limitazioni di entrambi i modelli che i sistemi ibridi si fanno obiettivo di fondere, ha
come ovvio prezzo da pagare quello di smussare anche i vantaggi derivanti
dallʼuno e dallʼaltro approccio.	
  

Contenu connexe

Tendances

Introduction to Rotaract
Introduction to RotaractIntroduction to Rotaract
Introduction to RotaractUpul Senanayake
 
Introduction to Rotaract
Introduction to RotaractIntroduction to Rotaract
Introduction to RotaractSimone Collins
 
Awareness to smoking
Awareness to smokingAwareness to smoking
Awareness to smokingHassaan Ali
 
Smoking and its health risks
Smoking and its health risksSmoking and its health risks
Smoking and its health risksImibro2012
 
Taylor Swift Marketing Plan
Taylor Swift Marketing PlanTaylor Swift Marketing Plan
Taylor Swift Marketing PlanBrittanyas2011
 
Reclutamiento, fidelización y conservación de socios—experiencias exitosas
 Reclutamiento, fidelización y conservación de socios—experiencias exitosas Reclutamiento, fidelización y conservación de socios—experiencias exitosas
Reclutamiento, fidelización y conservación de socios—experiencias exitosasRotary International
 
ANTI-SMOKING-HEALTH-EDUCATION-CAMPAIGN.pptx
ANTI-SMOKING-HEALTH-EDUCATION-CAMPAIGN.pptxANTI-SMOKING-HEALTH-EDUCATION-CAMPAIGN.pptx
ANTI-SMOKING-HEALTH-EDUCATION-CAMPAIGN.pptxJustineThereseZamora1
 
Master's thesis: American Red Cross IMC Campaign Proposal
Master's thesis: American Red Cross IMC Campaign ProposalMaster's thesis: American Red Cross IMC Campaign Proposal
Master's thesis: American Red Cross IMC Campaign ProposalJamie Pachomski
 

Tendances (11)

Introduction to Rotaract
Introduction to RotaractIntroduction to Rotaract
Introduction to Rotaract
 
Tobacco & its effect
Tobacco & its effectTobacco & its effect
Tobacco & its effect
 
Introduction to Rotaract
Introduction to RotaractIntroduction to Rotaract
Introduction to Rotaract
 
Awareness to smoking
Awareness to smokingAwareness to smoking
Awareness to smoking
 
Smoking and its health risks
Smoking and its health risksSmoking and its health risks
Smoking and its health risks
 
The Future of Rotaract
The Future of RotaractThe Future of Rotaract
The Future of Rotaract
 
Taylor Swift Marketing Plan
Taylor Swift Marketing PlanTaylor Swift Marketing Plan
Taylor Swift Marketing Plan
 
Reclutamiento, fidelización y conservación de socios—experiencias exitosas
 Reclutamiento, fidelización y conservación de socios—experiencias exitosas Reclutamiento, fidelización y conservación de socios—experiencias exitosas
Reclutamiento, fidelización y conservación de socios—experiencias exitosas
 
ANTI-SMOKING-HEALTH-EDUCATION-CAMPAIGN.pptx
ANTI-SMOKING-HEALTH-EDUCATION-CAMPAIGN.pptxANTI-SMOKING-HEALTH-EDUCATION-CAMPAIGN.pptx
ANTI-SMOKING-HEALTH-EDUCATION-CAMPAIGN.pptx
 
Master's thesis: American Red Cross IMC Campaign Proposal
Master's thesis: American Red Cross IMC Campaign ProposalMaster's thesis: American Red Cross IMC Campaign Proposal
Master's thesis: American Red Cross IMC Campaign Proposal
 
No Smoking
No SmokingNo Smoking
No Smoking
 

En vedette

Amazon Machine Learning Case Study: Predicting Customer Churn
Amazon Machine Learning Case Study: Predicting Customer ChurnAmazon Machine Learning Case Study: Predicting Customer Churn
Amazon Machine Learning Case Study: Predicting Customer ChurnAmazon Web Services
 
Build a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeBuild a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeAmazon Web Services
 
Traffico Content Distribution
Traffico Content DistributionTraffico Content Distribution
Traffico Content Distributionmelascrivi
 
Le tecnologie dei Big Data
Le tecnologie dei Big DataLe tecnologie dei Big Data
Le tecnologie dei Big DataVincenzo Manzoni
 
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazione
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazioneIntroduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazione
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazioneVincenzo Manzoni
 
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsi
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsiBusiness Intelligence, Analytics e Big Data: una guida per capire e orientarsi
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsiSMAU
 
Introduction to Machine Learning (case studies)
Introduction to Machine Learning (case studies)Introduction to Machine Learning (case studies)
Introduction to Machine Learning (case studies)Dmitry Efimov
 
Curriculum vitae perfetto
Curriculum vitae perfettoCurriculum vitae perfetto
Curriculum vitae perfettoMattia Clerici
 
Sistemi di raccomandazione
Sistemi di raccomandazioneSistemi di raccomandazione
Sistemi di raccomandazioneBig Data for You
 
Building a Recommendation Engine - An example of a product recommendation engine
Building a Recommendation Engine - An example of a product recommendation engineBuilding a Recommendation Engine - An example of a product recommendation engine
Building a Recommendation Engine - An example of a product recommendation engineNYC Predictive Analytics
 
How to Build a Recommendation Engine on Spark
How to Build a Recommendation Engine on SparkHow to Build a Recommendation Engine on Spark
How to Build a Recommendation Engine on SparkCaserta
 

En vedette (11)

Amazon Machine Learning Case Study: Predicting Customer Churn
Amazon Machine Learning Case Study: Predicting Customer ChurnAmazon Machine Learning Case Study: Predicting Customer Churn
Amazon Machine Learning Case Study: Predicting Customer Churn
 
Build a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeBuild a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-time
 
Traffico Content Distribution
Traffico Content DistributionTraffico Content Distribution
Traffico Content Distribution
 
Le tecnologie dei Big Data
Le tecnologie dei Big DataLe tecnologie dei Big Data
Le tecnologie dei Big Data
 
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazione
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazioneIntroduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazione
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazione
 
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsi
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsiBusiness Intelligence, Analytics e Big Data: una guida per capire e orientarsi
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsi
 
Introduction to Machine Learning (case studies)
Introduction to Machine Learning (case studies)Introduction to Machine Learning (case studies)
Introduction to Machine Learning (case studies)
 
Curriculum vitae perfetto
Curriculum vitae perfettoCurriculum vitae perfetto
Curriculum vitae perfetto
 
Sistemi di raccomandazione
Sistemi di raccomandazioneSistemi di raccomandazione
Sistemi di raccomandazione
 
Building a Recommendation Engine - An example of a product recommendation engine
Building a Recommendation Engine - An example of a product recommendation engineBuilding a Recommendation Engine - An example of a product recommendation engine
Building a Recommendation Engine - An example of a product recommendation engine
 
How to Build a Recommendation Engine on Spark
How to Build a Recommendation Engine on SparkHow to Build a Recommendation Engine on Spark
How to Build a Recommendation Engine on Spark
 

Similaire à Sistemi di raccomandazione

Talen tower (information memorandum)
Talen tower (information memorandum)Talen tower (information memorandum)
Talen tower (information memorandum)Massimiliano Cicco
 
Analisi web e information retrieval
Analisi web e information retrievalAnalisi web e information retrieval
Analisi web e information retrievalalecarenzio
 
Adaptive choice based conjoint analysis vs full profile conjoint analysis
Adaptive choice based conjoint analysis vs full profile conjoint analysisAdaptive choice based conjoint analysis vs full profile conjoint analysis
Adaptive choice based conjoint analysis vs full profile conjoint analysisTarget Research
 
Rodolfo Baggio - Tecnologie e Reti per i Viaggiatori
Rodolfo Baggio - Tecnologie e Reti per i ViaggiatoriRodolfo Baggio - Tecnologie e Reti per i Viaggiatori
Rodolfo Baggio - Tecnologie e Reti per i ViaggiatoriBTO Educational
 
Classificare informazione: le tendenze del nuovo web
Classificare informazione: le tendenze del nuovo webClassificare informazione: le tendenze del nuovo web
Classificare informazione: le tendenze del nuovo webGino Roncaglia
 
Elementi di Architettura dell'Informazione, Usabilità e Scrittura per il Web
Elementi di Architettura dell'Informazione, Usabilità e Scrittura per il WebElementi di Architettura dell'Informazione, Usabilità e Scrittura per il Web
Elementi di Architettura dell'Informazione, Usabilità e Scrittura per il WebAlberto Rota
 
Giulio Blasi. Da Babele a Bayes: manifesto per una terza fase di digitalizzaz...
Giulio Blasi. Da Babele a Bayes: manifesto per una terza fase di digitalizzaz...Giulio Blasi. Da Babele a Bayes: manifesto per una terza fase di digitalizzaz...
Giulio Blasi. Da Babele a Bayes: manifesto per una terza fase di digitalizzaz...MLOL
 
Biz miz o1 m5_u5.2_r7_k (ppt-sdl)_it
Biz miz o1 m5_u5.2_r7_k (ppt-sdl)_itBiz miz o1 m5_u5.2_r7_k (ppt-sdl)_it
Biz miz o1 m5_u5.2_r7_k (ppt-sdl)_itEmanuelePristera
 
C'è l'advanced social shopping nato con il Poli e "QUI! Group"
C'è l'advanced social shopping nato con il  Poli e "QUI! Group"C'è l'advanced social shopping nato con il  Poli e "QUI! Group"
C'è l'advanced social shopping nato con il Poli e "QUI! Group"Gregorio Fogliani
 
Alternanza Scuola Lavoro - IBM Watson Base 2018-2019.pdf
Alternanza Scuola Lavoro - IBM Watson Base 2018-2019.pdfAlternanza Scuola Lavoro - IBM Watson Base 2018-2019.pdf
Alternanza Scuola Lavoro - IBM Watson Base 2018-2019.pdfchiara bozzolino
 
Corso content curation slides 1 di 3
Corso content curation slides 1 di 3Corso content curation slides 1 di 3
Corso content curation slides 1 di 3Gianluigi Cogo
 
4a Data Mining e motori computazionali
4a Data Mining e motori computazionali4a Data Mining e motori computazionali
4a Data Mining e motori computazionaliMau-Messenger
 
Marketing E Nuove Forme Di Relazione
Marketing E Nuove Forme Di Relazione Marketing E Nuove Forme Di Relazione
Marketing E Nuove Forme Di Relazione Comunikafood
 

Similaire à Sistemi di raccomandazione (20)

Talen tower (information memorandum)
Talen tower (information memorandum)Talen tower (information memorandum)
Talen tower (information memorandum)
 
Rai Pubblicità
 Rai Pubblicità Rai Pubblicità
Rai Pubblicità
 
Web memory.
Web memory.Web memory.
Web memory.
 
Analisi web e information retrieval
Analisi web e information retrievalAnalisi web e information retrieval
Analisi web e information retrieval
 
Adaptive choice based conjoint analysis vs full profile conjoint analysis
Adaptive choice based conjoint analysis vs full profile conjoint analysisAdaptive choice based conjoint analysis vs full profile conjoint analysis
Adaptive choice based conjoint analysis vs full profile conjoint analysis
 
Rodolfo Baggio - Tecnologie e Reti per i Viaggiatori
Rodolfo Baggio - Tecnologie e Reti per i ViaggiatoriRodolfo Baggio - Tecnologie e Reti per i Viaggiatori
Rodolfo Baggio - Tecnologie e Reti per i Viaggiatori
 
Ux research olistica
Ux research olisticaUx research olistica
Ux research olistica
 
social Media Monitoring, Modulo N.5
social Media Monitoring, Modulo N.5social Media Monitoring, Modulo N.5
social Media Monitoring, Modulo N.5
 
Classificare informazione: le tendenze del nuovo web
Classificare informazione: le tendenze del nuovo webClassificare informazione: le tendenze del nuovo web
Classificare informazione: le tendenze del nuovo web
 
Web reputation
Web reputation Web reputation
Web reputation
 
Web Reputation
Web ReputationWeb Reputation
Web Reputation
 
Elementi di Architettura dell'Informazione, Usabilità e Scrittura per il Web
Elementi di Architettura dell'Informazione, Usabilità e Scrittura per il WebElementi di Architettura dell'Informazione, Usabilità e Scrittura per il Web
Elementi di Architettura dell'Informazione, Usabilità e Scrittura per il Web
 
Giulio Blasi. Da Babele a Bayes: manifesto per una terza fase di digitalizzaz...
Giulio Blasi. Da Babele a Bayes: manifesto per una terza fase di digitalizzaz...Giulio Blasi. Da Babele a Bayes: manifesto per una terza fase di digitalizzaz...
Giulio Blasi. Da Babele a Bayes: manifesto per una terza fase di digitalizzaz...
 
Biz miz o1 m5_u5.2_r7_k (ppt-sdl)_it
Biz miz o1 m5_u5.2_r7_k (ppt-sdl)_itBiz miz o1 m5_u5.2_r7_k (ppt-sdl)_it
Biz miz o1 m5_u5.2_r7_k (ppt-sdl)_it
 
Value Proposition
Value PropositionValue Proposition
Value Proposition
 
C'è l'advanced social shopping nato con il Poli e "QUI! Group"
C'è l'advanced social shopping nato con il  Poli e "QUI! Group"C'è l'advanced social shopping nato con il  Poli e "QUI! Group"
C'è l'advanced social shopping nato con il Poli e "QUI! Group"
 
Alternanza Scuola Lavoro - IBM Watson Base 2018-2019.pdf
Alternanza Scuola Lavoro - IBM Watson Base 2018-2019.pdfAlternanza Scuola Lavoro - IBM Watson Base 2018-2019.pdf
Alternanza Scuola Lavoro - IBM Watson Base 2018-2019.pdf
 
Corso content curation slides 1 di 3
Corso content curation slides 1 di 3Corso content curation slides 1 di 3
Corso content curation slides 1 di 3
 
4a Data Mining e motori computazionali
4a Data Mining e motori computazionali4a Data Mining e motori computazionali
4a Data Mining e motori computazionali
 
Marketing E Nuove Forme Di Relazione
Marketing E Nuove Forme Di Relazione Marketing E Nuove Forme Di Relazione
Marketing E Nuove Forme Di Relazione
 

Plus de Valeria Gennari

Dossier Camereaperte 2013
Dossier Camereaperte 2013Dossier Camereaperte 2013
Dossier Camereaperte 2013Valeria Gennari
 
TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0
TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0
TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0Valeria Gennari
 
Smart City & Smart People - La Pubblica Amministrazione, l'Istruzione, la Gre...
Smart City & Smart People - La Pubblica Amministrazione, l'Istruzione, la Gre...Smart City & Smart People - La Pubblica Amministrazione, l'Istruzione, la Gre...
Smart City & Smart People - La Pubblica Amministrazione, l'Istruzione, la Gre...Valeria Gennari
 
TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0
TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0
TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0Valeria Gennari
 
Report finale per il Corso di Strumenti d'indagine per le organizzazioni e i ...
Report finale per il Corso di Strumenti d'indagine per le organizzazioni e i ...Report finale per il Corso di Strumenti d'indagine per le organizzazioni e i ...
Report finale per il Corso di Strumenti d'indagine per le organizzazioni e i ...Valeria Gennari
 
Relazione finale Bee_cocca
Relazione finale Bee_coccaRelazione finale Bee_cocca
Relazione finale Bee_coccaValeria Gennari
 
Presentazione del progetto "Bee_cocca. Milano Bicocca: l'isola urbana. Territ...
Presentazione del progetto "Bee_cocca. Milano Bicocca: l'isola urbana. Territ...Presentazione del progetto "Bee_cocca. Milano Bicocca: l'isola urbana. Territ...
Presentazione del progetto "Bee_cocca. Milano Bicocca: l'isola urbana. Territ...Valeria Gennari
 
Differenze tra occidentali e orientali nella lettura dello schermo del pc
Differenze tra occidentali e orientali nella lettura dello schermo del pcDifferenze tra occidentali e orientali nella lettura dello schermo del pc
Differenze tra occidentali e orientali nella lettura dello schermo del pcValeria Gennari
 
Slides di presentazione del progetto di ergonomia, Supermercato Simply
Slides di presentazione del progetto di ergonomia, Supermercato SimplySlides di presentazione del progetto di ergonomia, Supermercato Simply
Slides di presentazione del progetto di ergonomia, Supermercato SimplyValeria Gennari
 
Progetto di ergonomia - Supermercato Simply, Viale Monza (MI)
Progetto di ergonomia - Supermercato Simply, Viale Monza (MI)Progetto di ergonomia - Supermercato Simply, Viale Monza (MI)
Progetto di ergonomia - Supermercato Simply, Viale Monza (MI)Valeria Gennari
 
Google Chrome & Mozilla Firefox - Plugins & Extensions
Google Chrome & Mozilla Firefox - Plugins & ExtensionsGoogle Chrome & Mozilla Firefox - Plugins & Extensions
Google Chrome & Mozilla Firefox - Plugins & ExtensionsValeria Gennari
 
Associazioni semantiche per il Computational Journalism
Associazioni semantiche per il Computational JournalismAssociazioni semantiche per il Computational Journalism
Associazioni semantiche per il Computational JournalismValeria Gennari
 
Relazione finale pedalaMi
Relazione finale pedalaMiRelazione finale pedalaMi
Relazione finale pedalaMiValeria Gennari
 

Plus de Valeria Gennari (17)

Eyewish
EyewishEyewish
Eyewish
 
Fooid - onepager
Fooid - onepagerFooid - onepager
Fooid - onepager
 
DaCENA
DaCENADaCENA
DaCENA
 
Dossier Camereaperte 2013
Dossier Camereaperte 2013Dossier Camereaperte 2013
Dossier Camereaperte 2013
 
TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0
TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0
TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0
 
Sistemi distribuiti
Sistemi distribuitiSistemi distribuiti
Sistemi distribuiti
 
Smart City & Smart People - La Pubblica Amministrazione, l'Istruzione, la Gre...
Smart City & Smart People - La Pubblica Amministrazione, l'Istruzione, la Gre...Smart City & Smart People - La Pubblica Amministrazione, l'Istruzione, la Gre...
Smart City & Smart People - La Pubblica Amministrazione, l'Istruzione, la Gre...
 
TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0
TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0
TripAdvisor - Un'indagine di mercato sul colosso delle review 2.0
 
Report finale per il Corso di Strumenti d'indagine per le organizzazioni e i ...
Report finale per il Corso di Strumenti d'indagine per le organizzazioni e i ...Report finale per il Corso di Strumenti d'indagine per le organizzazioni e i ...
Report finale per il Corso di Strumenti d'indagine per le organizzazioni e i ...
 
Relazione finale Bee_cocca
Relazione finale Bee_coccaRelazione finale Bee_cocca
Relazione finale Bee_cocca
 
Presentazione del progetto "Bee_cocca. Milano Bicocca: l'isola urbana. Territ...
Presentazione del progetto "Bee_cocca. Milano Bicocca: l'isola urbana. Territ...Presentazione del progetto "Bee_cocca. Milano Bicocca: l'isola urbana. Territ...
Presentazione del progetto "Bee_cocca. Milano Bicocca: l'isola urbana. Territ...
 
Differenze tra occidentali e orientali nella lettura dello schermo del pc
Differenze tra occidentali e orientali nella lettura dello schermo del pcDifferenze tra occidentali e orientali nella lettura dello schermo del pc
Differenze tra occidentali e orientali nella lettura dello schermo del pc
 
Slides di presentazione del progetto di ergonomia, Supermercato Simply
Slides di presentazione del progetto di ergonomia, Supermercato SimplySlides di presentazione del progetto di ergonomia, Supermercato Simply
Slides di presentazione del progetto di ergonomia, Supermercato Simply
 
Progetto di ergonomia - Supermercato Simply, Viale Monza (MI)
Progetto di ergonomia - Supermercato Simply, Viale Monza (MI)Progetto di ergonomia - Supermercato Simply, Viale Monza (MI)
Progetto di ergonomia - Supermercato Simply, Viale Monza (MI)
 
Google Chrome & Mozilla Firefox - Plugins & Extensions
Google Chrome & Mozilla Firefox - Plugins & ExtensionsGoogle Chrome & Mozilla Firefox - Plugins & Extensions
Google Chrome & Mozilla Firefox - Plugins & Extensions
 
Associazioni semantiche per il Computational Journalism
Associazioni semantiche per il Computational JournalismAssociazioni semantiche per il Computational Journalism
Associazioni semantiche per il Computational Journalism
 
Relazione finale pedalaMi
Relazione finale pedalaMiRelazione finale pedalaMi
Relazione finale pedalaMi
 

Sistemi di raccomandazione

  • 1. I Sistemi di Raccomandazione “Quello che lʼinformazione consuma è piuttosto ovvio: consuma lʼattenzione dei suoi destinatari. Dunque unʼabbondanza di informazione crea povertà dʼattenzione, ed il bisogno di scegliere come distribuire in maniera efficiente questa attenzione tra la sovrabbondanza di informazioni che potrebbero consumarla” H.A. Simon La diffusione pervasiva delle tecnologie informatiche, e la crescente diffusione dei contenuti digitali offrono agli utenti la possibilità di fare del media digitale uno strumento da utilizzare in ogni contesto, e in ogni occasione e lo promuovono a dispositivo che può essere dʼausilio alla vita dellʼutilizzatore a trecentosessanta gradi. Ciò rende il problema della gestione e dellʼorganizzazione di questa mole informativa una questione quantomai prioritaria, che cerca soluzioni nuove e che facilitino lʼesperienza utente. I sistemi di raccomandazione si inseriscono in questo scenario: ci imbattiamo sempre più spesso in loro quando si ha a che fare con siti di e-commerce, nascosti da etichette come “Forse ti piacerebbe comprare anche...”, ma è molto comune anche incontrarli in ambiente enormemente diversi, nella forma di raccomandazioni musicali, cinematografiche, di pagine web, o anche persone. Insomma, in ogni situazione in cui possa aver valore un consiglio. Il grande merito di questi sistemi è infatti quello di fornire a chi li utilizza uno strumento per valutare degli oggetti prima di spendere denaro o semplicemente tempo su di essi. È da notare come in un certo senso lʼuso di questo tipo di strumento, che implicitamente modella il meccanismo naturale di consigli tra gli uomini, porti con se una forte connotazione sociale, oltre alla più evidente valenza “economica”: al di là del contenuto delle raccomandazioni, il semplice fatto che siano mantenuti dati su diversi utenti e sulle loro preferenze rende possibile la scoperta di relazioni (implicite o esplicite) tra persone, fondate sui loro gusti comuni. Non è dunque improprio dire che ciascun sistema di Raccomandazione costruisce o, ancor meglio, rivela una rete di legami tra persone, una rete sociale. Modelli di Raccomandazione I Sistemi di Raccomandazione (o Recommender Systems (RS) si occupano di fornire agli utenti consigli personalizzati e di loro probabile interesse riguardo un set di oggetti appartenenti ad uno specifico dominio (e.g. musica, cinema, libri), a partire dai dati di cui dispone: informazioni su utenti e oggetti. Una definizione formale del problema delle raccomandazioni può essere espressa in questi termini: Sia C lʼinsieme degli m ∈ N utenti del sistema, ed I lʼinsieme degli n ∈ N oggetti che possono essere raccomandati. La cardinalità degli insiemi C ed I può essere molto alta, ed i valori m ed n possono essere dellʼordine delle centinaia di migliaia di unità. Si definisce inoltre funzione di utilità u : C×I → R. Essa misura quanto un dato oggetto i sia utile ad un determinato utente c. R è un insieme totalmente ordinato, ed i suoi elementi rappresentano quantitativamente lʼutilità di unʼoggetto per un utente. Lʼutlità di un oggetto è tipicamente rappresentata da una valutazione (es. numerica) che un utente ha assegnato o assegnerebbe ad un oggetto. Date queste definizioni, si vuole scegliere per ciascun utente c ∈ C, lʼoggetto Iʼ ∈ I che massimizza la funzione di utlità per lʼutente. Ovvero,
  • 2. formalmente: ∀c ∈ C, i′c = argmaxu(c,i) / i∈I Il problema centrale delle raccomandazioni sta nel fatto che la funzione u, non è definita su tutto lo spazio C × I : nelle applicazioni tipiche un utente non esprime mai preferenze su ogni oggetto del catalogo a disposizione; per esempio, in un sistema di e-commerce il voto di un utente è rappresentato da un valore binario (0 se lʼoggetto non è stato acquistato, viceversa 1): è quindi difficile assumere che un utente possa aver acquistato tutti gli oggetti in vendita; e nel caso improbabile in cui lo avesse fatto, le raccomandazioni gli sarebbero del tutto inutili. I Recommender Systems devono essere perciò in grado di stimare i valori della funzione di utilità u anche nella parte dello spazio dei dati in cui non è definita, estrapolandoli a partire dai punti di C × I in cui essa è nota: questo è anche il compito più problematico. In altre parole lʼobiettivo è fare una predizione sul voto che un determinato utente darebbe ad un oggetto del sistema che non ha ancora valutato. Algoritmi di Raccomandazione Le tecniche attraverso le quali i diversi sistemi predicono voti sconosciuti a partire da quelli conosciuti, ed il modo in cui queste predizioni sono sfruttate e rese fruibili allʼutente finale, rappresentano due fondamentali aspetti alla luce dei quali caratterizzare i sistemi stessi. Prendendo in considerazione il primo aspetto come criterio di classificazione, emergono tre grandi categorie di Sistemi di raccomandazione: • Sistemi Content-based: Allʼutente sono raccomandati oggetti simili a quelli che gli sono piaciuti nel passato • Sistemi Collaborativi: Allʼutente sono raccomandati oggetti che sono piaciuti ad altre persone con gusti simili • Sistemi Ibridi: Combinano approcci content-based e collaborativi Sistemi Content-based Nei sistemi di raccomandazione content-based il valore della funzione di utilità u(c, i) dellʼoggetto i è predetta considerando i valori u(c, ik ) asseganti da c ad oggetti ritenuti “simili” ad i. In un sistema installato in un negozio musicale, ad esempio, ad un utente che ha precedentemente acquistato Whoʼs Next degli Who e Let it Bleed dei Rolling Stones, potrebbe essere consigliato Sgt. Pepperʼs Lonely Hearts Club Band dei Beatles basandosi sul fatto che tutte tre le band sono di origine inglese e maggiormente attive tra gli anni ʼ60 e ʼ70. In generale, ad ogni oggetto i ∈ I viene associato un profilo Profilo(i), ossia un insieme di attributi capaci di riassumerne il contentuto. Solitamente essi sono sussunti automaticamente da proprietà intriseche dellʼoggetto, o più raramente sono inserite manualmente: per questo motivi gli approcci content-based sono maggiormente diffusi in ambiti prevalentementente testuali, campo in cui è possibile sfruttate diverse tecniche automatiche in grado di estrapolare delle keywords direttamente dal testo. Allʼatto della raccomandazione viene generato, per lʼutente al quale essa è destinata, un profilo basato sugli attributi degli oggetti che ha preferito in passato, ProfiloContentBased(c).
  • 3. Lʼutilità di un oggetto i per c viene calcolata in funzione della somiglianza tra i due relativi profili: u(c,i) = distanza(ProfiloContentBased(c),Profilo(i)) Prendiamo in analisi un possibile sistema di raccomandazione in ambito testuale: dagli n documenti ik di I vengono estratte t keywords, ritenute dal sistema le più significative, e da queste sono costruiti n profili dei documenti. Essi sono modellati come vettori ⃗ωik dello spazio Rt. In essi ciascun elemento rappresentanta il “peso” di una keyword allʼinterno del documento ik , ossia la frequenza con cui questa compare nel testo. Si supponga di voler conescere lʼutilit`a di un determinato brano i per lʼutente c: il ProfiloContentBased(c) viene costruito aggregando i profili ⃗ωik ∈ Ic, indicando con Ic lʼinsieme degli oggetti preferiti in passato da c; viene acciò generato un vettore ⃗ωc ∈ Rt di elementi dj per il quale ogni dj rappresenta lʼimportanza della j-esima keyword per lʼutente c. Il problema si riduce, quindi, al calcolo della distanza tra due vettori che pu`o, per
  • 4. esempio, essere eguito calcolando il valore del coseno tra di essi: u(c, i) = cos(⃗ωc, ⃗ωi) Vantaggi: Le raccomandazioni si basano esclusivamente su dati intrinseci relativi agli oggetti di dominio: le prime raccomandazioni utili sono dunque prodotte immediatamente, anche con una sola valutazione da parte dellʼutente. Queste caratteristiche si adattano bene ad ambienti in cui sia necessario produrre risultati quasi immediati, o al quale siano aggiunti utenti nuovi con una frequenza molto alta. Limiti del modello: In questo tipo di approccio le predizioni tendono ad essere sovraspecializzate e, probabilmente, poco interessanti: basandosi esclu- sivamente sulla storia dellʼutente a cui sono destinate, le raccomandazioni tendono a ricalcare troppo fedelmente le sue preferenze passate, e non portano con sè quellʼelemento di imprevedibilità solitamente auspicabile. Questo può portare a ritenere il sistema poco utile, vista lʼovvietà dei suoi suggerimenti. Per rendersi conto di quanto possa pesare questo problema, si consideri un sistema che raccomanda film, ed un utente appassionato di film dei Monty Python: con buona probabilità il sistema gli consiglierà altri film degli stessi autori; allo stesso risultato, però, si sarebbe potuti arrivare più facilmente anche autonomamente, semplicemente consultando una filmografia. Inoltre, per nuovi utenti per i quali non è disponibile un numero sufficiente di valutazioni passate, non è possibile costruire un profilo accurato, e conseguentemente le relative raccomandazioni saranno estremamente imprecise, e scarsamente personalizzate. Sistemi Collaborativi Dai limiti dei sistemi content-based, nascono i cosidetti Sistemi Collaborativi. Decisamente i più diffusi, talvolta sono considerati come sinonimo di Sistema di Raccomandazione. In questo approccio i valori della funzione di utilità u(c,i) sconosciuti vengono stimati considerando quelli assunti dalle u(c′, i) rese disponibili dagli utenti considerati “simili” a c. Tornando al caso del negozio musicale, ad Antonella, patita di Janis Joplin, potrebbe essere consigliato Are You Experienced? di Jimi Hendrix, perchè molti altri fan di Janis Joplin hanno acquistato anche quellʼalbum. Tra i sistemi collaborativi si sono ulteriormente distinte diverse categorie, a seconda dellʼalgoritmo usato per esplorare le connessioni tra gli utenti. In particolare si distinguono: • Alogritmi Memory-based • Algoritmi Model-based Algoritmi Memory-based: Di questa cerchia fanno parte gli algoritmi che si basano sulla storia delle valutazioni degli utenti del sistema per predirre valutazioni future. Lʼutilità u(c, i) è il risultato di una qualche aggregazione computata a partire dai valori di u degli utenti “simili” a c. Indicando con C ′ lʼinsieme di tali utenti, si puoʼ esprimere quanto detto nei seguenti termini: uc,i = aggrc′∈C′ (uc′,i), uc,i = u(c, i) Ulteriori classi di algoritmi sono distinguibili in base al metodo di aggregazione utilizzato, di seguito sarà offerta una descrizione delle principali.
  • 5. User-to-User Eʼ sicuramente lʼalgoritmo più utilizzato, nonchè il più studiato nella storia dei sistemi di raccomandazione. Gli utenti del sistema vengono modellati come vettori ⃗ωc di Rn nei quali ciascun elemento dj cor- risponde ad u(c, ij ). Questi profili vengono utilizzati per calcolare la “somiglianza” tra utenti, attraverso tecniche euristiche, come quella gia vista del coseno tra vettori, o come il calcolco del Coefficiente di correlazione r di Pearson. Vantaggi: Computando le raccomandazioni in base alla somiglianza tra utenti, si ha lʼindubbio vantaggio di fornire consigli più accurati e di minore ovvietà, a fronte di un costo computazionale non troppo superiore a quelli richiesti dagli algoritmi Content-Based. Sistemi di raccomandazione che sfruttano questo modello sono stati sviluppati per i domini più disparati, a testimonianza degli ottimi risultati raggiungibili e della grande semplicità di implementazione. Limiti del modello: Sebbene questo tipo di algoritmo sia quello più utilizzato, non è esenta da numerose limitazioni, a cui si è tentato di dar risposta in diverse maniere. Il problema di maggior peso si riscontra senzʼaltro in domini caratterizzati da un gran numero di oggetti nel catalogo e/o un altrettanto grande numero di utenti; in altri termini, in tutti i domini in cui un sistema di raccomandazione può avere una qualche utilità. In ambienti con tanti utenti ed oggetti, infatti, le preferenze dei primi risultano estremamente sparse; ciò significa che la funzione di utilità è definita su una parte minuscola dello spazio C×I. Per rendersi conto delle dimensioni di questo problema si consideri che studi eseguiti su dataset reali hanno mostrato che u è definita sullʼ 1.75% del dominio nel caso di un sistema di raccomandazioni di film, e addirittura sullo 0.19% e 0.13% rispettivamente nei casi di raccomandazioni di libri, e di un negozio virtuale. Si può intuire come in scenari di questo tipo possa essere problematico calcolare le correlazioni tra gli utenti, visti i pochi elementi che potrebbero avere in comune, e come comunque si possa andare incontro a raccomandazioni più o meno accurate a seconda del livello di densità del dominio. Direttamente legato a questo limite, è il problema comunemente detto di Cold-Start o First-Day Problem. Queste situazioni si verificano in particolare nei primi tempi di vita di un sistema, quando si ha disponibile un numero di valutazioni ancora inferiore rispetto a quelli di un sistema a regime. La stessa questione si ripropone, evidentemente, nel caso dellʼaggiunta di nuovi utenti o nuovi oggetti al sistema. Un aspetto meno centrale, ma che comunque vale la pena affrontare è il problema che affligge gli oggetti molto “comuni” del catalgo: quegli oggetti che vengono comunemente preferiti da una vasta gamma di utenti, come le banane che, in un mercato, sono acquistate pressochè da tutti almeno una volta nella vita. Ciò porta a raccomandare sempre e per tutti gli utenti tali oggetti che, vista la loro fama, sarebbero stati presumibilmente acquistati comunque. Data lʼaffinità della situazione con quella delle banane al mercato, questo problema è stato ribatezzato Banana Problem. Soluzioni a questo inconveniete spaziano da filtri costruiti ad-hoc, alla divisione di I in due sottoinsiemi, un hot-set di oggetti “comuni” (di dimensioni molto ridotte) ed un cold-set usato per aumentare la copertura degli oggetti (di dimensioni di due ordini piu` grande del cold-set.
  • 6. Item-to-Item: Lʼalgoritmo di raccomandazione Item-to-Item nasce per affrontare il problema dei nuovi utenti in ambienti in cui sia necessario fornire raccomandazioni accurate e veloci anche a coloro che si sono appena iscritti al sistema, dei quali si conoscono pochi o nessun dato. Anzichè costruire correlazioni tra utenti gli algoritmi di questa categoria forniscono raccomandazioni valutando la somiglianza tra gli oggetti del catalogo. Questo approccio non è da confondere con quello content-based, in quanto, come si vedrà, le similitudini tra oggetti vengono estrapolate dalle interazioni passate con il sistema. Come accadeva per gli utenti, ad ogni oggetto del sistema viene fatto corrispondere un vettore di profilo ⃗ωi i cui elementi, laddove definiti, sono i valori di u(ck,i) con ck ∈ C′, denotando con C′ lʼinsieme degli utenti per i quali `e definita u per lʼoggetto i. Questi profili sono poi usati per computare la somiglianza tra coppie di oggetti con le stesse tecniche usate dagli algoritmi user-to-user Vantaggi: Sfruttando la tabella creata seguendo la procedura appena descritta, si può facilmente comprendere come sia possibile fornire una rac- comandazione discretamente accurata anche ad utenti che hanno valutato un solo oggetto nel catalogo: il tutto è svolto semplicemente leggendo i valori dalla tabella e scalandoli in funzione dellʼutilit`a dellʼoggetto votato. Dunque, come stato già sottolineato, questo modello trova il suo posizionamento naturale in ambienti con un insieme di utenti transiente, come pu`o essere quello degli utenti di un sito di e-commerce molto trafficato. Limiti del Modello: Questo approccio soffre delle stesse limitiazion del- lʼapproccio user-to-user, con la differenza che affronta, in parte risolvendolo, il problema dei nuovi utenti. A fronte per`o di questo vantaggio corrisponde una spesa altrettanto grande in termini computazionali. Se infatti per com- putare la simiglianza tra utenti bisonga eseguire al massimo m · n operazioni elementari, per scandire m utenti ed n prodotti (complessita O(m · n)), in questo caso cʼè bisogno di n2 ·m passi, per scandire per ognuno degli n oggetti gli m utenti che lo hanno valutato, e per ciascun utente che lo ha valutato, gli altri possibli n oggetti preferiti contemporaneamente (complessit`a O(m · n2). Gli autori del modello però sottolineano che queste stime sulla complessità, riferite al caso peggiore, si rivelino, vista la sparsit`a degli insiemi dʼingresso, essere rispettivamente O(M + N ) nel caso user-to-user e O(M · N ) nel caso item-to-item. Inoltre tali calcoli possono essere svolti offline, in tempi potenzialmente “morti” per il sistema. Dimensionality Reduction: Abbiamo visto come uno dei problemi più difficili da risolvere dei sistemi di raccomandazione sia la sparsit`a dei dati di input, dovuta alla impossibilit`a per ogni utente di votare una percentuale sufficiente degli oggetti. Lʼapproccio alla raccomandazione tramite la ridu- zione della dimensione, mira ad affrontare usando mezzi matematici questo problema. Di fatto, piu` che una classe di algoritmi a se stante, la tecnica di riduzione delle dimensioni `e un approccio che promette di smorzare drasti- camente il problema della sparsit`a di u, ricorrendo a tecniche che riducono, appunto, le dimensioni dello spazio C × I su cui è definita. Rappresentando i valori di u su tutto C ×I come una matrice A m×n, si pu`o decomporre questa matrice usando la procedura di standard
  • 7. singular vector decomposition. A=U·Z·VT U e V sono due matrice ortogonali rispettivamete m × r e n × r, con r = rango(A). Z è una matrice diagonale r × r avente sulla diagonale i valori singolari di A. Z è poi ridotta nella matrice Zk mantenendo solo i k valori singolari più grandi, e conseguentemente sono ridotte U e V in Uk e Vk . Come risultato si otterr`a una matrice Ak di rango inferiore a quella di partenza, definita come: Ak =Uk ·Zk ·VkT Vantaggi: La matrice Ak appena descritta, mantiene tutte le propriet`a e gli stessi pattern presenti nella matrice originale: ci`o permette quindi di utilizzare i dati presenti in essa per costruire le raccomandazioni, sfruttando un qualsiasi altro dei metodi già descritti, su un insieme di dati di input piu` piccolo e meno sparso. I vantaggi a livello computazionale sono ovvi. Limiti del modello: Sebbene la matrice ridotta mantenga in linea di massima le caratteristiche della matrice completa, è inevitabile che parte delle connessioni rintracciabili nel modello originario possano andar perse. Ciò porta con ogni probabilit`a a rinunciare alle raccomandazioni meno ovvie e piu` soprendenti. Inoltre, il calcolo della matrice ridotta comporta spese computazionali, che sebbene possano essere svolte offline, presentano una certa rilevanza, e sono da tener presenti e valutate a seconda dei requisiti del sistema. Raccomandazioni indirette: I modelli di raccomandazione indiretti estendono il concetto di somiglianza tra utenti facendo sì che essa non sia più semplicemente una relazione binaria tra coppie di utenti, in questo modo tentando di affrontare il problema della sparsit`a della funzione di utilit`a. Abbiamo visto come nei sistemi tradizionali, nel calcolo delle predizioni, si con- siderano come base di dati i profili degli utenti considerati “simili” allʼutente a cui la raccomandazione è destinata. Generalmente due utenti si considerano simili se hanno nei propri profili un numero sufficientemente grande di oggetti in comune. Al contrario, nellʼapproccio indiretto il concetto di correlazione è ampliato: la relazione di simiglianza classica viene utilizzata per costruire un grafo che rappresenti gli utenti; in tale grafo due utenti, rappresentati come nodi, sono collegati da un arco se sono simili. La distanza tra due utenti qualsiasi nel grafo è il numero di archi minimo che si deve percorrere per andare da un utente allʼaltro. Tenendo presente qiesta costruzione, quando si deve computare una predizione per un utente c, oltre agli utenti che hanno distanza uno da questi, si considerano anche quelli aventi distanza maggiore, tipicamente due o tre. In questo modo la base dei dati utili, risulta note- volmente ampliata consentendo di costruire raccomandazioni più complete, e che soprattutto esplorino legami inaspettati. Vantaggi: Applicando questo tipo di metodi si introduce indirezione nella raccomandazione, in questo modo aumentando il numero dei punti in cui il valore di u è sfruttabile per fare predizioni. Ne consegue un minor numero di valutazioni minime necessarie per ricevere le prime raccomandazioni, conseguente alla minore sparsità del modello ottenuto. Inoltre vengono esplorati dei legami, quelli indiretti, che spessano portano informazioni molto significiative, ignorate dagli altri modelli. Limiti del modello: Anche in questo caso lʼaffrontare il problema della sparsità
  • 8. porta, inevitabilmente, a possibili diminuzioni della precisione delle raccomandazioni, ma ha il vantaggio “collaterale” di favorire la comparsa di raccomndazioni impreviste e non ovvie. Ovviamente il dover mantenere relazioni anche indirette tra un maggior numero di utenti, comporta anche una maggiore pesantezza della procedura, e un maggior consumo in termini di memoria. Collaborazione Model-based: Al contrario di tutti gli approcci Memory-based appena descritti, le tecniche di raccomandazione Model-based non usano direttamente la storia del sistema per fare previsioni, ma piuttosto se ne avvalgono per apprendere un modello, che poi è utilizzato per generare raccomandazioni. In questa categoria rientrano sistemi che fanno uso di reti bayesiane, reti neurali, oppure tecniche di clustering per rappresentare il problema. Segue una breve analisi delle tecniche più diffuse. Modelli generativi: In questa classe di sistemi si fanno rientrare quelli che adottano una visione del problema basata sul calcolo delle probabilità: lʼinsieme dei valori che la funzione di utilità può assumere, è considerato come se fosse generato da un processo probabilistico. Acciò si introduce nel problema una variabile z (variabile di classe latente) che è utilizzata per rappresentare la causa sconosciuta che porta ad unʼ“interazione” tra lʼutente c e un oggetto i (i.e. una preferenza). Dunque, lo spazio dei valori che la funzione di utilità assume è considerato essere generato dal seguente processo: Si sceglie un utente con probabilità P (c) 2. Si sceglie una classe latente con probabilità P(z|c) 3. Si genera una interazione tra c ed i con probabilit`a P(i|z). Analisi dei Collegamenti: I sistemi di raccomandazione che sfruttano lʼAnalisi dei Collegamenti per generare predizioni, sono quei sistemi che utilizzano relazioni implicite presenti nel dominio degli oggetti per desumere una rete che colleghi persone e oggetti, le cui propriet`a e caratterisiche per- mettono di costruire raccomandazioni. Generalmente piu` diffuso in sistemi che si occupano di pagine Web (vedi Google), lʼalgoritmo analizza gli oggetti in cerca di collegamenti: nelle pagine web questa operazione è piu` che mai naturale, vista la presenza di link allʼinterno del markup che descrive la risorsa. Raccolta questa struttura implicita, ne vengono cercate propriet`a specifiche. Il sistema HITS ad esempio, individua nel web due tipi di pagine: le pagine hub, e le pagine autorit`a; la definizione di hub e autorit`a `e fornita in maniera ricorsiva: gli hub, piu` numerosi, sono le pagine che contengono numerosi link ad autorità; al contrario le autorit`a, in numero ridotto, sono le pagine linkate da un gran numero di hub. Intuitivamente si pu`o già immaginare come gli hub possano essere considerati come gli anelli che collegano le pagine autoritative riguardanti un certo soggetto; si immaginino le pagine web, ad esempio, di due grandi produttori di automobili come Mercedes e BMW. Con ogni probabilit`a sul sito Mercedes non sarà presente alcun link al sito BMW, e vicecersa. Al contrario è estremamente probabile che sulla pagina di una comunit`a di appassionati di motori siano presenti collegamen- ti ad entrambe le pagine. Per generare raccomandazioni su un determinato argomento, dunque, HITS sfrutta come perno centrale la risorsa degli hub, considerati come il “collante” del web. A partire dallʼapproccio di HITS, ne è stata sviluppata una variante applicabile in ambito qualsiasi: in sostituzione ai concetti di hub e autorit`a vengono usati quelli di Rappresentatività di un oggetto per un utente ir(i, c′) e di rappresentatività di un
  • 9. untente rispetto ad un altro utente cr(c,c′). Il primo `e assimilabile al concetto di autorit`a: rappresenta il punteggio di quanto un oggetto puo essere interessante per un utente; il secondo è, dualmente, assimilabile al concetto di hub: misura quanto un secondo utente può essere fonte di informazione per un altro utente. Anche in questo caso i concetti sono definiti ricorsivamente: sono considerati oggetti rappresentativi per c quegli oggetti i con alta utilità per utenti c′ rappresentativi per c. Similmente, sono considerati rappresentativi per c quegli utenti c′ che hanno reputato “utili” quegli oggetti i rappresentativi per c. Il problema della stima delle predizioni viene risolto, infine, in entrambi I casi con metodi iterativi sui dati in ingresso. Vantaggi: Creare un modello dei dati dal quale desumere proprietà del dominio, utili alle raccomandazioni, permette in genere di giungere a risultati piu` accurati rispetto ai metodi Memory-based. Per questo motivo, in campi in cui sia decisiva la precisione delle raccomandazioni, i sistemi model-based possono essere la soluzione migliore, seppur debbano rinunciare alla sem- plicit`a del modello rivale. Inoltre anche in questo caso le raccomandazioni vengono generate in maniera indiretta, in questo modo affrontando lo spinoso problema della sparsit`a dei dati dʼingresso. Limiti degli algoritmi Model-Based: In generale gli algoritmi basati su modello soffrono degli stessi problemi intrinseci dei sistemi Memory-Based: ossia, sopra tutti, della sparsit`a della funzione di utilit`a sui dati in ingres- so, e conseguentemente degli stessi problemi di cold-start e di inserimento dinamico di nuovi oggetti o nuovi utenti. Sistemi Ibridi Con i cosidetti Sistemi Ibridi si è tentato di rispondere ai problemi di entrambi gli approcci Content-based o Collaborativi utilizzando contempora- neamente le due tecniche. Gli algoritmi content-based promettono, infatti, di fornire raccomandazioni accettabili anche in casi in cui i dati sono minimi, mentre quelli collaborativi riescono a rispondere alla necessità di generare raccomandazioni non ovvie e sempre interessanti. Esistono due distiniti approcci con cui è gli algoritmi ibridi possono essere realizzati: • Unʼimplementazione separata di algoritmi content-based e collaborativi, per poi utilizzare come risultato finale una combinazione di predizioni provenienti da entrambi gli approcci • Lo studio di unʼunica implementazione che riesca a fondere in uno tecniche basate sui contenuti e collaborative. Il primo si rivela valido in casi in cui sia preferibile usare, a seconda delle circostanze, una tecnica piuttosto che un altra, o addirittura in casi in cui si voglia definire con un parametro quanto la raccomandazione debba essere collaborativa e quanto content-based. Il secondo, invece, non permette un tuning specifico, ma ha il vantaggio di essere, in generale, di più semplice implementazione fornendo, comunque, risultati comparabili con lʼaltro tipo di
  • 10. approccio. Vantaggi: I sistemi ibridi, come appena descritto, presentano in parte tutti i vantaggi dei sistemi Content-based e Collaborativi, sebbene ognuno di essi sia effettivamente limato in quanto inserito in un approccio non puro. Limiti dei Sistemi Ibridi: Il tentativo, peraltro ben riuscito, di porre dei paletti alle limitazioni di entrambi i modelli che i sistemi ibridi si fanno obiettivo di fondere, ha come ovvio prezzo da pagare quello di smussare anche i vantaggi derivanti dallʼuno e dallʼaltro approccio.