0
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	  Reco4J	  Project	 ...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  1	  Recomm...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  2	  The	  ...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  3	  Why	  ...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  4	  Proble...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  5	  SoluDo...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  6	  Reco4J...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  7	  Reco4J...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  8	  Reco4J...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  9	  Algori...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  10	  Algor...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  11	  Conte...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  12	  Reco4...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  13	  Advan...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  14	  Examp...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  15	  Why	 ...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  16	  Recom...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  17	  Persi...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  18	  Persi...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  19	  Persi...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  20	  Reco4...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  21	  Reco4...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  22	  Consu...
Alessandro	  Negro	  –	  Luigi	  Giuri	   Reco4J	  Project	  @	  Paris	  Meetup	  	  -­‐	  May	  2013	   Page	  23	  Thank...
Upcoming SlideShare
Loading in...5
×

Reco4 @ Paris Meetup (May 20th)

841

Published on

This presentation shows reco4j features and vision. In particular we add the new concept of context aware recommendation and how we integrate it into reco4j. See the project site for more details here: http://www.reco4j.org

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
841
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Reco4 @ Paris Meetup (May 20th)"

  1. 1. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013  Reco4J  Project  Intelligent  RecommendaDons  for  Your  Business  
  2. 2. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  1  Recommender  Systems  •  A  system  that  can  recommend  or  present  items  to  the  user  based  on  the  user’s  interests  and  interacDons  •  One  of  the  best  ways  to  provide  a  personalized  customer  experience  •  Built  by  exploiDng  collecDve  intelligence  to  perform  predicDons  •  Examples:  Amazon,  YouTube,  NeUlix,  Yahoo,  Tripadvisor,  Last.fm,  IMDb  
  3. 3. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  2  The  Example:  NeUlix  •  The  world  largest  online  movie  rental  services,  33  million  members  in  40  countries  •  60%  of  members  selecDng  movies  based  on  recommendaDons  (September  2008)  •  NeUlix  Prize:  US$  1,000,000  was  given  to  the  BellKors  PragmaDc  Chaos  team  which  bested  NeUlixs  own  algorithm  for  predicDng  raDngs  by  10.06%  (September  2009)  •  75%  of  the  content  watched  on  the  service  comes  from  its  recommendaDon  engine  (April  2012)  
  4. 4. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  3  Why  Recommender  Systems  •  Standard  uses:  –  Increase  the  number  of  items  sold  –  Sell  more  diverse  items  –  Increase  the  user  saDsfacDon  –  Increase  user  fidelity  –  Beger  understand  what  the  user  wants      •  Advanced  uses:  –  Create  ad  hoc  campaigns  (per  geographic  area,  per  type  of  users)  –  OpDmize  products  distribuDon  over  a  wide  area  for  large  retail  chains  
  5. 5. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  4  Problem  •  There  are  no  available  sohware  products  for  state-­‐of-­‐the-­‐art  recommender  systems  •  A  high-­‐end  recommender  engine  can  be  built  only  through  expensive  custom  projects  •  Large  scale  user/item  datasets  require  a  big  data  approach  •  There  is  no  "best  soluDon"  •  There  is  no  "one  soluDon  fits  all”  •  The  NeUlix  winner  composed  104  different  algorithms  
  6. 6. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  5  SoluDon:  Reco4J    A  graph-­‐based  recommender  engine  
  7. 7. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  6  Reco4J  Main  Goals  •  Implement  the  state-­‐of-­‐the-­‐art  in  the  recommendaDon  on  top  of  a  graph  model    •  Provide  sohware  /  cloud  services  /  consultancy      •  Contribute  to  the  RecSys  research  field  
  8. 8. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  7  Reco4J  Features  •  Composable  models/algorithms  •  Persistent  models  (mulD  model  supported)  •  Updatable  models  •  Commercial  and  research-­‐oriented  algorithms  •  Independent  from  source  knowledge  datasets  •  Cluster  and  cloud-­‐ready  •  Context-­‐aware  recommendaDons  •  MulDtenant  •  Social  recommendaDons  
  9. 9. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  8  Reco4J  Under  the  Hood  •  J  is  for  Java  •  CollaboraDve  filtering  algorithms  –  Neighborhood-­‐based  methods  –  Latent  factor  models  •  Neo4J  graph  database:  –  Data  source  repository  –  Persistent  model  repository  •  Hadoop  cluster/MapReduce  •  Apache  Mahout  
  10. 10. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  9  Algorithms  Roadmap  •  CollaboraDve  filtering  –  Memory  based  (Neighborhood)  •  User/Item  based  –  Several  distance  algorithms  (Cosine,  Euclidean,  Tanimoto,  etc.)  •  Graph  based  –  Path  Based  Similarity  (Shortest  Path,  Number  of  Paths)  –  Random  Walk  Similarity  (Item  Rank,  Average  first-­‐passage/commute  Dme)  –  Model  based  (Latent  factor)  •  StochasDc  gradient  descendant  •  AlternaDng  least  square  •  Social  recommendaDon  –  Trust  based  approach  –  ProbabilisDc  approach  
  11. 11. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  10  Algorithms  Roadmap  (2)  •  Crosswise  Features  – Context  awareness  – Composability  – Real-­‐Dme  – ParallelizaDon  
  12. 12. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  11  Context-­‐Aware  RecommendaDon  “The  ability  to  reach  out  and  touch  customers  anywhere  means  that  companies  must  deliver  not  just  compe;;ve  products  but  also  unique,  real-­‐;me  customer  experiences  shaped  by  customer  context”  C.  K.  Prahalad    •  Incorporate  contextual  informa5on  in  the  recommendaDon  process  •  Modeling  contextual  InformaDon  –  From:  User  x  Item  -­‐>  RaDng  –  To:  User  x  Item  x  Context  -­‐>  RaDng  •  Hierarchical  structure  •  Three  approaches  –  Contextual  pre-­‐filtering  –  Contextual  post-­‐filtering  –  Contextual  modeling  
  13. 13. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  12  Reco4J  Context  Model  users   items  rate(c1,  …,  cn)  ………….  contextualized  ra;ngs  Context  Tuple  DAG  usera-­‐mp1  itemc-­‐split1  ……..  usera-­‐mp2  itemc-­‐split2  itemd-­‐splitk  userb-­‐mpk  ……..  ……..  user  micro  profiles   item  spliEng  
  14. 14. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  13  Advantage  of  graph  database  •  NoSQL  database  to  handle  BigData  issue  •  Extensibility  •  No  aggregate-­‐oriented  database  •  Minimal  informaDon  needed  •  Natural  way  for  represenDng  connecDons:  –  User  -­‐  to  -­‐  item  –  Item  -­‐  to  -­‐  item  –  User  -­‐  to  -­‐  User  •  Graph  Based/Social  Algorithms  •  Graph  ParDDoning  (sharding)  •  Performance  
  15. 15. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  14  Example:  Find  Neighbors  
  16. 16. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  15  Why  Neo4J?  •  Java  based  •  Embeddable/Extensible  •  NaDve  graph  storage  with  naDve  graph  processing  engine  •  Open  Source,  with  commercial  version  •  Property  Graph  •  ACID  support  •  Scalability/HA  •  Comprehensive  query/traversal  opDons  
  17. 17. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  16  RecommendaDon  Model  
  18. 18. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  17  Persistence  Model  
  19. 19. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  18  Persistence  Model  
  20. 20. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  19  Persistence  Model  
  21. 21. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  20  Reco4J  +  Hadoop  •  Queue  Based  Process  •  Operates  both  on  cluster  and  cloud  •  Each  process  downloads  data  from  Neo4J/Reco4J  before  or  during  computaDon  •  Stores  data  into  Reco4J  Model    •  Scaling  augmenDng  the  number  of:  •  Neo4J  Nodes  (only  one  master)  •  Hadoop  Nodes  
  22. 22. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  21  Reco4J  in  the  Cloud  •  Recommenda)on  as  a  service  (RaaS)  •  Reco4J  cloud  infrastructure  offers:  –  Pay  as  you  need  –  Pay  as  you  grow  –  Support  for  burst  –  Periodical  analysis  at  lower  costs  –  Test/evaluate  several  algorithms  on  a  reduced  dataset  –  Compose  algorithms  dynamically  
  23. 23. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  22  Consultancy  Goals  Analysis  Data  Source  ExploraDon  Process  DefiniDon  Import  Data  Test/EvaluaDon  Deploy  
  24. 24. Alessandro  Negro  –  Luigi  Giuri   Reco4J  Project  @  Paris  Meetup    -­‐  May  2013   Page  23  Thank  you  Alessandro  Negro  Linkedin:  hgp://it.linkedin.com/in/alessandronegro/  Email:  alenegro81@gmail.com    Luigi  Giuri  Linkedin:  it.linkedin.com/in/luigigiuri  Email:  l.giuri@gmail.com    Reco4J  Site:  hgp://www.reco4j.org  Twiger:  @reco4j  GitHub:  hgps://github.com/reco4j  
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×