Ontwikkeling van aanbevelingsalgoritmen voor online social games Jan Heuninck
Overzicht Massive Media Masterproef –Onderzoek –Implementatie Conclusie 2
Massive Media Online mediagroep –Netlog Sociale netwerksite 76 miljoen leden (juni 2011) –Gatcha! Online gameplatform Netlog & Facebook 3
Masterproef Doel –Onderzoek en implementatie van aanbevelingsalgoritmen –Games aanbevelen aan de gebruiker –Snelheid en performantie! 4
Masterproef Twee luiken –Onderzoek Gatcha!-data Collaborative filtering Evaluatie –Implementatie 5
Gatcha!-data 6Masterproef > Onderzoek
Gatcha!-data 7Masterproef > Onderzoek Game-afhankelijk
Gatcha!-data 8Masterproef > Onderzoek
Collaborative filtering Algemeen –Aanbevelingen genereren a.d.h.v. data van alle gebruikers –Toch gepersonaliseerd –Score voorspellen en ranglijst opstellen –Gebruikt bij o.a. Amazon en Netflix 9Masterproef > Onderzoek
Collaborative filtering Implementatie –Geheugengebaseerd Aanbevelingen rechtstreeks genereren Geen trainingsfase Slecht schaalbaar –Modelgebaseerd Eerst model opbouwen Rekenintensief, maar periodiek On the fly 10Masterproef > Onderzoek
Collaborative filtering Gelijkaardigheidsmetrieken (1) –Euclidische afstand Meetkunde Afstand in tweedimensionaal vlak –Pearson correlatiecoëfficiënt Lineaire onafhankelijkheid tussen 2 vectoren Brengt ratinggedrag van de gebruiker in rekening 11Masterproef > Onderzoek
Collaborative filtering Gelijkaardigheidsmetrieken (2) –Cosinusgelijkaardigheid Hoek tussen 2 vectoren –Jaccard-coëfficiënt Doorsnede / unie van 2 sets 12Masterproef > Onderzoek
Collaborative filtering 13Masterproef > Onderzoek
Collaborative filtering 14Masterproef > Onderzoek
Onderzoek Evaluatie –Algemeen –Evaluatiemetrieken –Parameters –Resultaten 15Masterproef
Evaluatie Algemeen –In samenwerking met IBCN –Training- en testset –Scores voorspellen en vergelijken met werkelijke waarde –Rekencluster Universiteit Gent 16Masterproef > Onderzoek
Evaluatie Evaluatiemetrieken –ROC-curve Kwaliteit beoordelen –Mean absolute error (MAE) Afwijking voorspelling t.o.v. werkelijke waarde 17Masterproef > Onderzoek
18Masterproef > Onderzoek Evaluatie
Parameters –User-based / Item-based –Gelijkaardigheidsmetriek –Expliciete en/of impliciete ratings –Cut-off waarde 19Masterproef > Onderzoek
Evaluatie Resultaten –User-based collaborative filtering Extreem lange uitvoeringstijd Slechte resultaten 20Masterproef > Onderzoek
Evaluatie Resultaten –Item-based collaborative filtering Gecombineerde ratings (50-50) Pearson correlatiecoëfficiënt Goede resultaten (AUC en MAE) 21Masterproef > Onderzoek
Masterproef Onderzoek Implementatie –Werkwijze –Optimalisatie –Uitvoeringssnelheid 22
Werkwijze 1.Python code → PHP code 2.Code integreren in Gatcha! 3.Optimalisatie –Gearman –Memcached –Database 23Masterproef > Implementatie
Optimalisatie Gearman –Open source –Jobs distribueren over meerdere processen –Voordelen Snellere uitvoering van taken Parallelle uitvoering Grote schaalbaarheid 24Masterproef > Implementatie
Optimalisatie Gearman –Gebruik Ophalen/converteren data Gelijkaardigheden berekenen 25Masterproef > Implementatie
Optimalisatie Memcached –Open source –Caching –Gebruikt door Netlog, Facebook en Twitter –Query’s, objecten en HTML cachen –Database ontlasten 26Masterproef > Implementatie
Optimalisatie Database –Intensief gebruik maken van MySQL –Geheugengebruik minimaliseren –Opslag Geconverteerde ratings Item-gelijkaardigheidsmodel 27Masterproef > Implementatie
Uitvoeringssnelheid Voorbeeld –berekenen van de impliciete ratings Masterproef > Implementatie28 4u50:070u09:52 30 x sneller!
Conclusie Item-based collaborative filtering Pearson correlatiecoëfficiënt Belang van impliciete ratings Performance boost door databank en optimalisatietechnieken 29
Vragen? 30