58
Group Recommendation: Semantics and Efficiency Sihem Amer-Yahia, Senjuti Basu-Roy, Ashish Chawla, Gautam Das, and Cong Yu.

Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Group Recommendation: Semantics and Efficiency

Sihem Amer-Yahia, Senjuti Basu-Roy, Ashish Chawla, Gautam Das, and Cong Yu.

Page 2: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Individual Recommendation

Che libro dovrei leggere?

Page 3: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Individual Recommendation

Quale amico dovrei aggiungere?

Page 4: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Individual Recommendation

Quale amico non devo aggiungere?

Page 5: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Individual Recommendation

Strategie di due tipi:item-based: item simili già valutati

collaborative filtering: item valutati da utente simile

Page 6: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Molti algoritmi e servizi di I.R. per soddisfare i nostri gusti..

Individual Recommendation

Page 7: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

.. e se non siamo soli?

Individual Recommendation

Page 8: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Group RecommendationAiutare un gruppo di conoscenti a trovare risorse che possano soddisfare i gusti generali

... ??? ...

Page 9: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Group RecommendationPochi lavori sui G.R.

Soluzioni esistenti:

Preference Aggregation: Aggrega gli item più votatidai singoli, in un utente virtuale a cui fornireRecommendation.

Page 10: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Group RecommendationPochi lavori sui G.R.

Soluzioni esistenti:Score Aggregation: aggrega I.R. dei singoli, per creareun’unica lista per il gruppo:

Average

Least Misery

Page 11: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Perché non bastano?Obiettivo: consigliare un film a un gruppoG={u1, u2, u3}

relevance (u1, “Amici miei”) = 5

relevance (u2, “Amici miei”) = 1

relevance (u3, “Amici miei”) = 1 Stesso score medio

Average NO :(

relevance (u1, “Via col vento”) = 3

relevance (u2, “Via col vento”) = 3

relevance (u3, “Via col vento”) = 1

Page 12: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Perché non bastano?Obiettivo: consigliare un film a un gruppoG={u1, u2, u3}

relevance (u1, “Amici miei”) = 5

relevance (u2, “Amici miei”) = 1

relevance (u3, “Amici miei”) = 1

relevance (u1, “Via col vento”) = 3

relevance (u2, “Via col vento”) = 3

relevance (u3, “Via col vento”) = 1

Least misery NO :(

Page 13: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Un item può essere valutato diversamente da membri dello stesso gruppo

Group Disagreement“..despite being friends, peoplemay not share the same tastes

for all things..”

sono parametri da considerare in Group Recommendation

Page 14: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Group Disagreement

Obiettivo: calcolare uno score per ogni item che rifletta gli interessi e le preferenze del

gruppo

Average Pair-wise

Disagreement Variance

Page 15: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Ingredienti:

Esprimere il livello di disaccordo tra i vari membri riguardo gli item

Esprimere il gradimento di un singolo itemper il gruppo

Page 16: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Ingredienti:

CONSENSUS FUNCTION

Page 17: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Strutture di supporto:

i1,2

i2,2

i3,2

i4,2

Relevance List

i3,0

i4,0

i1,2

i2,2

DisagreementList

i4,2

i3,2

i1,0

i2,0

IL1 IL2 DL1,2

2-0

1 per ognipossibile coppia

Page 18: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Definizione del problemaDato un gruppo G e una Consensus Function F,

si deve ritornare una lista di K elementi, in ordine decrescente secondo i valori di F, tale che ogni

elemento sia nuovo per tutti i membri del gruppo

Top-K Group Recommendation

Page 19: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Threshold Algorithm!I migliori algoritmi per risolvere

problemi di tipo top-K appartengonoalla famiglia dei T.A.

Per garantire efficienza si possono applicare condizioni di STOP basate su score bounds.

monotonicità- Average- Least-misery

- Pair-wise- Variance

DL monotone

iff

Page 20: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Efficient Recommendation Computation

i1,2

i2,2

i3,2

i4,2

i4,2

i3,2

i1,0

i2,0

IL1 IL2

- Ordina in maniera decrescente IL- Applica T.A.

Si può migliorare?Pruning grazie alle Disagreement List

4 Sorted Access per top-1: i3

Page 21: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Efficient Recommendation Computation

i1,2

i2,2

i3,2

i4,2

i4,2

i3,2

i1,0

i2,0

IL1 IL2

- Ordina in maniera decrescente IL- Applica T.A.

Si può migliorare?Pruning grazie alle Disagreement List

i3,0

i4,0

i1,2

i2,2

DL1,2

4 Sorted Access per top-1: i3 3 Sorted Access per top-1: i3

- Ordina in maniera crescente pair-wise DL

Page 22: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Group G

i1,2

i2,2

i3,2

i4,2

i3,0

i4,0

i1,2

i2,2

i4,2

i3,2

i1,0

i2,0

IL1 IL2 DL1,2

Group Recommendation Algorithm

Page 23: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Group Recommendation AlgorithmFully Materialized DL (FM):

SA su ogni input list (Round Robin) tramite getNext()

ComputeMaxScore(): produce un nuovo Thresholdad ogni iterazione (usando F) UpperBound

ComputeExactScore(): esegue Random Accesssu IL per definire lo score di ogni elemento(usando F).

Page 24: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Group Recommendation AlgorithmFully Materialized DL (FM):

SA su ogni input list (Round Robin) tramite getNext()

ComputeMaxScore(): produce un nuovo Thresholdad ogni iterazione (usando F) UpperBound

ComputeExactScore(): esegue Random Accesssu IL per definire lo score di ogni elemento(usando F).

Relevance List Only (RO):

Non utilizza le Disagreement List

Page 25: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Group Recommendation AlgorithmFully Materialized DL (FM):

SA su ogni input list (Round Robin) tramite getNext()

ComputeMaxScore(): produce un nuovo Thresholdad ogni iterazione (usando F) UpperBound

ComputeExactScore(): esegue Random Accesssu IL per definire lo score di ogni elemento(usando F).

Relevance List Only (RO):

Non utilizza le Disagreement List

- Migliore efficienza- Numero di DL elevato

- Upper Bound meno efficaci- Minore occupazione di memoria

Page 26: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Esempio - ROObiettivo: Elemento Top-1 su un gruppo di 3 utenti G={u1, u2, u3}

IL2

i2,4

i4,4

i1,2

i3,2

IL1

i1,4

i3,4

i4,4

i2,2

IL3

i3,3

i1,3

i4,3

i2,3

Input: 3 Relevance List (IL1, IL2, IL3) su 4 film

Performance: numero di SA

Page 27: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Esempio - ROObiettivo: Elemento Top-1 su un gruppo di 3 utenti G={u1, u2, u3}

IL2

i2,4

i4,4

i1,2

i3,2

IL1

i1,4

i3,4

i4,4

i2,2

IL3

i3,3

i1,3

i4,3

i2,3

Input: 3 Relevance List (IL1, IL2, IL3) su 4 film

Performance: numero di SA

Top-K Buffer

i1,1.33Th=1,93

Page 28: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Esempio - ROObiettivo: Elemento Top-1 su un gruppo di 3 utenti G={u1, u2, u3}

IL2

i2,4

i4,4

i1,2

i3,2

IL1

i1,4

i3,4

i4,4

i2,2

IL3

i3,3

i1,3

i4,3

i2,3

Input: 3 Relevance List (IL1, IL2, IL3) su 4 film

Performance: numero di SA

Top-K Buffer

i1,1.33

i2,1.33

Th=1,86

Page 29: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Esempio - ROObiettivo: Elemento Top-1 su un gruppo di 3 utenti G={u1, u2, u3}

IL2

i2,4

i4,4

i1,2

i3,2

IL1

i1,4

i3,4

i4,4

i2,2

IL3

i3,3

i1,3

i4,3

i2,3

Input: 3 Relevance List (IL1, IL2, IL3) su 4 film

Performance: numero di SA

Top-K Buffer

i1 1,33

i2,1.33

i3,1.33

Th=1,73

Page 30: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Esempio - ROObiettivo: Elemento Top-1 su un gruppo di 3 utenti G={u1, u2, u3}

IL2

i2,4

i4,4

i1,2

i3,2

IL1

i1,4

i3,4

i4,4

i2,2

IL3

i3,3

i1,3

i4,3

i2,3

Input: 3 Relevance List (IL1, IL2, IL3) su 4 film

Performance: numero di SA

Top-K Buffer

i1 1,33

i2,1.33

i3,1.33

Th=1,73

Page 31: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Esempio - ROObiettivo: Elemento Top-1 su un gruppo di 3 utenti G={u1, u2, u3}

IL2

i2,4

i4,4

i1,2

i3,2

IL1

i1,4

i3,4

i4,4

i2,2

IL3

i3,3

i1,3

i4,3

i2,3

Input: 3 Relevance List (IL1, IL2, IL3) su 4 film

Performance: numero di SA

Top-K Buffer

i4,1.6

i1 1,33

i2,1.33

i3,1.33

Th=1,73

Page 32: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Esempio - ROObiettivo: Elemento Top-1 su un gruppo di 3 utenti G={u1, u2, u3}

IL2

i2,4

i4,4

i1,2

i3,2

IL1

i1,4

i3,4

i4,4

i2,2

IL3

i3,3

i1,3

i4,3

i2,3

Input: 3 Relevance List (IL1, IL2, IL3) su 4 film

Performance: numero di SA

Top-K Buffer

i4,1.6

i1 1,33

i2,1.33

i3,1.33

Th=1,73

Page 33: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Esempio - ROObiettivo: Elemento Top-1 su un gruppo di 3 utenti G={u1, u2, u3}

IL2

i2,4

i4,4

i1,2

i3,2

IL1

i1,4

i3,4

i4,4

i2,2

IL3

i3,3

i1,3

i4,3

i2,3

Input: 3 Relevance List (IL1, IL2, IL3) su 4 film

Performance: numero di SA

Top-K Buffer

i4,1.6

i1 1,33

i2,1.33

i3,1.33

Th=1,73

Page 34: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Esempio - ROObiettivo: Elemento Top-1 su un gruppo di 3 utenti G={u1, u2, u3}

IL2

i2,4

i4,4

i1,2

i3,2

IL1

i1,4

i3,4

i4,4

i2,2

IL3

i3,3

i1,3

i4,3

i2,3

Input: 3 Relevance List (IL1, IL2, IL3) su 4 film

Performance: numero di SA

Top-K Buffer

i4,1.6

i1 1,33

i2,1.33

i3,1.33

Th=1,60

STOP!Top-1 = i4

#SA=8

Page 35: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

IL1

i1,4

i3,4

i4,4

i2,2

DL23

i4,1

i1,1

i3,1

i2,1

Esempio - FMInput: 3 Relevance List (IL1, IL2, IL3) e 3 pair-wise Disagreement List (DL12, DL13, DL23)

IL2

i2,4

i4,4

i1,2

i3,2

IL3

i3,3

i1,3

i4,3

i2,3

DL13

i4,1

i3,1

i2,1

i1,1

DL12

i4,0

i3,2

i2,2

i1,2

Page 36: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

IL1

i1,4

i3,4

i4,4

i2,2

DL23

i4,1

i1,1

i3,1

i2,1

Esempio - FMInput: 3 Relevance List (IL1, IL2, IL3) e 3 pair-wise Disagreement List (DL12, DL13, DL23)

IL2

i2,4

i4,4

i1,2

i3,2

IL3

i3,3

i1,3

i4,3

i2,3

DL13

i4,1

i3,1

i2,1

i1,1

DL12

i4,0

i3,2

i2,2

i1,2

i1,1.33Top-Kbuffer Th=1,93

Page 37: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

IL1

i1,4

i3,4

i4,4

i2,2

DL23

i4,1

i1,1

i3,1

i2,1

Esempio - FMInput: 3 Relevance List (IL1, IL2, IL3) e 3 pair-wise Disagreement List (DL12, DL13, DL23)

IL2

i2,4

i4,4

i1,2

i3,2

IL3

i3,3

i1,3

i4,3

i2,3

DL13

i4,1

i3,1

i2,1

i1,1

DL12

i4,0

i3,2

i2,2

i1,2

i1 1,33

i2,1.33Top-Kbuffer Th=1,86

Page 38: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

IL1

i1,4

i3,4

i4,4

i2,2

DL23

i4,1

i1,1

i3,1

i2,1

Esempio - FMInput: 3 Relevance List (IL1, IL2, IL3) e 3 pair-wise Disagreement List (DL12, DL13, DL23)

IL2

i2,4

i4,4

i1,2

i3,2

IL3

i3,3

i1,3

i4,3

i2,3

DL13

i4,1

i3,1

i2,1

i1,1

DL12

i4,0

i3,2

i2,2

i1,2

i1 1,33

i2,1.33

i3,1.33

Top-Kbuffer Th=1,73

Page 39: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

IL1

i1,4

i3,4

i4,4

i2,2

DL23

i4,1

i1,1

i3,1

i2,1

Esempio - FMInput: 3 Relevance List (IL1, IL2, IL3) e 3 pair-wise Disagreement List (DL12, DL13, DL23)

IL2

i2,4

i4,4

i1,2

i3,2

IL3

i3,3

i1,3

i4,3

i2,3

DL13

i4,1

i3,1

i2,1

i1,1

DL12

i4,0

i3,2

i2,2

i1,2

I4,1.6

i1 1,33

i2,1.33

i3,1.33

Top-Kbuffer Th=1,73

Page 40: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

IL1

i1,4

i3,4

i4,4

i2,2

DL23

i4,1

i1,1

i3,1

i2,1

Esempio - FMInput: 3 Relevance List (IL1, IL2, IL3) e 3 pair-wise Disagreement List (DL12, DL13, DL23)

IL2

i2,4

i4,4

i1,2

i3,2

IL3

i3,3

i1,3

i4,3

i2,3

DL13

i4,1

i3,1

i2,1

i1,1

DL12

i4,0

i3,2

i2,2

i1,2

I4,1.6

i1 1,33

i2,1.33

i3,1.33

Top-Kbuffer Th=1,66

Page 41: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

IL1

i1,4

i3,4

i4,4

i2,2

DL23

i4,1

i1,1

i3,1

i2,1

Esempio - FMInput: 3 Relevance List (IL1, IL2, IL3) e 3 pair-wise Disagreement List (DL12, DL13, DL23)

IL2

i2,4

i4,4

i1,2

i3,2

IL3

i3,3

i1,3

i4,3

i2,3

DL13

i4,1

i3,1

i2,1

i1,1

DL12

i4,0

i3,2

i2,2

i1,2

I4,1.6

i1 1,33

i2,1.33

i3,1.33

Top-Kbuffer Th=1,60

STOP!Top-1 = i4

#SA=6

Page 42: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Ottimizzazioni!Dati n utenti il numero di pair-wise Disagreement List è

Page 43: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Ottimizzazioni!Dati n utenti il numero di pair-wise Disagreement List è

Partial Materialization: Materializzare solo un

sottoinsieme m di DL inpreprocessing-step.

Quali materializzare?

Page 44: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Partial MaterializationDati 5.000 utenti

Elevata memoria richiesta

Intuizione: materializzare DL se:

#DL = 12.497.500

1) È molto probabile che gli utenti si riuniscano in un gruppo e richiedano Recommendation

2) la loro presenza aumenta l’efficienza delle query Top-K.

Page 45: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Partial MaterializationSoluzione

coppia di utenti #SA senza DL #SA con DL Differenza

{u1,u2} 200 100 100

{u3,u4} 290 195 95

{u10,u9} 170 100 70

{u6,u7} 230 190 40

{u2,u3} 175 145 30

... ... ... ...

m

1) P(Gruppo)2) Efficienza

rich query log

Page 46: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Sharpening ThresholdPossiamo sfruttare le dipendenze tra relevance e disagreement list per migliorare il Threshold ???

ILu

i1,0.5

i3,0.5

...

ILv

i2,0.5

i3,0.4

...

DLuv

i3,0.2

i1,0.3

...

Th = 1.3

pierpytom
Timbro
Page 47: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Sharpening ThresholdPossiamo sfruttare le dipendenze tra relevance e disagreement list per migliorare il Threshold ???

ILu

i1,0.5

i3,0.5

...

ILv

i2,0.5

i3,0.4

...

DLuv

i3,0.2

i1,0.3

...

Th = 1.3

pierpytom
Timbro
pierpytom
Linea
pierpytom
Linea
Page 48: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Sharpening ThresholdPossiamo sfruttare le dipendenze tra relevance e disagreement list per migliorare il Threshold ???

ILu

i1,0.5

i3,0.5

...

ILv

i2,0.5

i3,0.4

...

DLuv

i3,0.2

i1,0.3

...

Th = 1.2

Page 49: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Prove SperimentaliDataSet utilizzato: MovieLens

Individual Recommendation calcolate con “collaborative filtering”

Algoritmi di Group Recommendation testati sul set di utenti di

3 tipi di gruppi (similar, dissimilar e random) per 2 possibili dimensioni (da 3 e 8 utenti)

4 tipi di algoritmi testati: Average Relevance Only (AR), Least Misery Relevance Only (LM), Consensus with Pair-wise Disagreements (RP), Consensus with Disagreement Variance (RV)

#utenti #film #voti

71.567 10.681 10.000.054

Valutata Performance su #SA comparando FM, RO e PM variando la dimensione e il tipo del gruppo e K

Valutata efficacia della Partial Materialization

Valutata efficacia del Threshold Sharpening

Il sito dà la possibilità di coinvolgere direttamente un gruppo di utenti nei test proposti dagli autori che ricevono dei feedback sulla bontà delle raccomandazioni fatte agli utenti.

Page 50: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

00,10,20,30,40,50,60,70,80,91,0

Small Group Large Group

Similar User Group

AR MORV80 RP80

00,10,20,30,40,50,60,70,80,91,0

Small Group Large Group

Dissimilar User Group

AR MORV80 RP80

Best: MO Best: RV80 RP80 Best: RV80

nDCG nDCG

DCG = discounted cumulative gain: più algoritmo efficiente, più valore vicino ad 1

Page 51: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

00,10,20,30,40,50,60,70,80,91,0

Small Group Large Group

Random User Group

AR MORV80 RP80

Best: MO No Best Best: RV80

00,10,20,30,40,50,60,70,80,91,0

Small Group Large Group

Dissimilar Group with variations

RV20 RP20RV80 RP80nDCG nDCG

Page 52: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

0200400600800

1.0001.2001.4001.6001.8002.000

0.3 0.5 0.7 0.9

Varying Similarity

FM RO PM

Similarity

#S

A

01002003004005006007008009001.000

5 10 30

Varying no of items

FM RO PM

#S

A

#K

o > similarityo < efficaciao Top item simili

o RO UB efficacio FM scansioni inutili

o > itemo > #SAo Best: PM

Gsize = 5K = 10PM = 3

Gsize = 5Gsim = 0.5

PM = 3

PM = 5

PM = 3

#Liste materializzate

Page 53: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

0

500

1.000

1.500

2.000

2.500

3.000

5 10 30

Varying Group Size

FM RO PM

o > #groupsizeo > #SAo RO worst performance

#Groupsize

#S

A

Gsim = 0.5K = 10PM = 3

IL forniscono buone “stopping condition”

Page 54: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

0100200300400500

i=0 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10

Varying # of materialized lists

#SAs

0

100

200

300

400

500

5 10 30

Threshold SharpeningFM with optimizationFM without optimization

aver

age

#S

A

#K

o FM ottimizzato migliore

#S

A

#liste materializzate

o i=0 corrisponde a ROo i=3 best performance

Trade-off tra#DL e #SA

Gsize = 5Gsim = 0.5K = 5

Page 55: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Riassumendola presenza di Disagreement List migliora di molto le performance per gruppi di utenti “dissimilar” e di grandi dimensioni

Spesso Partial Materialization (PM) è la soluzione migliore (gruppi “abbastanza” simili)

Per la stessa query, DL diverse contribuiscono diversamente nel calcolo del TOP-K

Solo alcune di esse devono essere considerate

La Sharpening Optimization migliora sempre le performance complessive

Page 56: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Group Recommendation sono sempre più importanti grazie alle continue interazioni tra utenti sul WEB

Disagreement List ha un forte impatto sia sulla qualità che sull’efficienza di Group Recommendation

Threshold algorithm, TA può essere adattato per il calcolo di Group Recommendation. (FM, RO)

Sono state implementate ottimizzazioni che migliorano l’efficienza degli algoritmi (PM, Sharpening Threshold)

Conclusioni

Lavori futuri: ottimizzare le DL affinché occupino meno spazio (contenendo le stesse info) e adattare gli algoritmi di GR

Page 57: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Conclusioni

Page 58: Group Recommendation: Semantics and Efficiency09.pdf · Efficient Recommendation Computation i1,2 i2,2 i3,2 i4,2 i4,2 i3,2 i1,0 i2,0 IL 1 IL 2 - Ordina in maniera decrescente IL -

Vota Gruppo 7

Grazie dell’attenzione