Your SlideShare is downloading. ×
Sistemi di raccomandazione
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Sistemi di raccomandazione

1,458
views

Published on

Recommendation system

Recommendation system

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,458
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
79
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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.  

×