tell me who i am an interactive recommendation system
play

Tell Me Who I Am: An Interactive Recommendation System N. Alon, B. - PowerPoint PPT Presentation

Tell Me Who I Am: An Interactive Recommendation System N. Alon, B. Awerbuch, Y. Azar, B. Patt-Shamir Richard Huber Publication Theory of Computing Systems Volume 45 August 2009 Tel Aviv University, Israel John Hopkins


  1. Tell Me Who I Am: An Interactive Recommendation System N. Alon, B. Awerbuch, Y. Azar, B. Patt-Shamir Richard Huber

  2. Publication  Theory of Computing Systems  Volume 45  August 2009  Tel Aviv University, Israel  John Hopkins University, Baltimore, USA Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 2

  3. Experiment  Travel in a foreign country  Unknown language  Learn to know the night life subculture  Not allowed to talk to each other Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 3

  4. Experiment  Problem:  5 typical drinks  money for 3 drinks  Waitress asks whether you liked the drink  Idea: Human preferences correlate Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 4

  5. Experiment  http://demo.racerfish.com Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 5

  6. Players and Billboard Player p 1 Shared Billboard Probe O 1 O 2 O 3 O 4 O 5 O 6 O 7 p 1 ? no yes ? no ? ? ? no yes ? no ? ? Read/Write p 2 Preference Vector yes ? no ? ? ? no p 3 ? yes ? yes yes ? no p 4 no no ? no ? ? yes Player p 7 p 5 ? no no ? yes ? ? Probe p 6 ? yes ? ? ? no no ? ? ? ? ? yes ? p 7 Read/Write ? ? ? ? ? yes ? Preference Vector How can a player find out his preferences with only a few probes? Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 6

  7. Statement of the Problem  n players and m objects  each player has an unknown yes/no grade for each object  Parallel rounds: in each round each player  reads the shared billboard  probes one object  writes the result of the probe on the billboard  For each player: output a vector as close as possible to that player's original preference vector Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 7

  8. Statement of the Problem (Formal)  Input: P O  A set of players and a set of objects n m p v  p ∈{ yes , no } m  A vector for each player  Output: w  p ∈{ yes ,no } m  An estimate vector for each player p  Goal: dist  v  p  ,w  p  p  Minimize for each player is the Hamming distance dist  x , y   Minimize the number of probes Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 8

  9. Input Characteristic  Diameter of a subset A ⊂ P D  A = max { dist  v  p  , v  q ∣ p ,q ∈ A }  -typical set : Subset with  , D  A ⊂ P ∣ A ∣ n , 0  1 D  A  D , D  0 Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 9

  10. Approximation Quality  Discrepancy of a subset A ⊂ P  A = max { dist  w  p  ,v  p ∣ p ∈ A }  Stretch of a subset A ⊂ P  A =  A  D  A  Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 10

  11. The CHOOSE_CLOSEST Problem  Input ∣ V ∣ = k  A set of preference Vectors with V  A player with (initially unknown) preference vector v  p  p  Output  A vector such that w min ∈ V dist  w min , v  p   dist  w ,v  p  , w ∈ V Object 1 Object 2Object 3 Object 1 Object 2 Object 3 Object 1 Object 2 Object 3 Player p Player p Player p yes yes ? yes yes ? no no ? v 1 v 1 v 1 yes no no yes yes no no no no v 2 v 2 v 2 V V V yes no yes yes yes no no yes yes v 3 v 3 v 3 no yes yes no no yes yes yes yes Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 11

  12. The SELECT Algorithm  Solves an adapted version of the CHOOSE_CLOSEST problem  Adaptions:  Additional input D w ∈ V  There is a vector such that dist  w ,v  p  D Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 12

  13. The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? ? ? ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 13

  14. The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? ? ? ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 1) Reapeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 14

  15. The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no ? ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 15

  16. The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no ? ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 16

  17. The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no ? ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 17

  18. The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 18

  19. The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 19

  20. The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 20

Recommend


More recommend