• No results found

4.2 Explainable Filtering

5.1.1 Nauwkeurigheidsmetrieken

5.1.1.3 Accuratie van de gebruiksverwachtingen

In de plaats van de voorkeur van de gebruiker te vermoeden, is het ook mogelijk om het gebruik van het recommender system te schatten. In de receptenapplicatie wordt er gezocht naar de momenten waarop de gebruiker interesse vond in één van de tien voorstellen waardoor hij niet moet overgaan tot gebruik van de zoekfunctie. Het is dan ook helemaal niet nodig om de ranking of de score te bepalen van deze recommandaties, maar een verzameling van gerechten waarin zijn gekozen recepten sowieso voorkomen.

De uitkomsten van de schattingen kunnen true/false positives/negatives zijn waarbij de true en

false positives de gebruikte en ongebruikte aanbevelingen voorstellen en de true en false negatives

de ongebruikte en gebruikte niet-recommandaties. Dit wordt gevisualiseerd in Figuur 5.2, en samen vormen deze termen de confusion matrix [6]. Er moeten een aantal veronderstellingen gemaakt worden aangezien alles met offline tests zal gebeuren op basis van reeds verzamelde én voorgefilterde data. Zo zal de gebruiker onmogelijk alle gerechten van de applicatie overlopen hebben waardoor slechts een deelverzameling van zijn voorkeuren reeds bepaald zijn of werd

5.1. SOORTEN EVALUATIEMETRIEKEN 45

Figuur 5.2: Confusion matrix [5]

zijn persoonlijkheid verkleind bij de filtering. Hierdoor zullen de metingen niet realistisch zijn, maar tóch wordt er vanuitgegaan dat de volledige voorkeur van de gebruiker werd bepaald. Via onderstaande formules zullen de specifiteit en de sensitiviteit bepaald worden voor elke gebruiker.

specif iciteit(precisie) = T P T P + F P sensitiviteit(herroeping) = T P

T P + F N

Tussen de specificiteit en sensitiviteit bestaat er een trade-off [6]. Hoe groter de recommanda- tielijsten zijn, hoe meer kans dat de gebruiker hierin een leuk gerecht terugvindt. Dan moet hij ook niet op zoek gaan via de zoekfunctie waardoor er minder gebruikte niet-recommandaties zijn en de recall stijgt. Aangezien de aanbevelingen dagelijks herladen worden, zal de gebruiker bij een grotere recommandatielijst ook minder kans hebben om elk voorstel werkelijk klaar te maken waardoor er meer ongebruikte aanbevelingen zullen zijn en dus minder precisie.

Om uiteindelijk te bepalen hoe goed het recommender system al dan niet presteert, wordt er gebruik gemaakt van Mean Average Precision (MAP) [5] die gebaseerd is op Average Precision (AP). Hierbij wordt er gecheckt of de geprefereerde (gereviewde) gerechten effectief werden aan- geraden en dus behoren tot de voorste recommandaties. Het maakt niet uit in welke volgorde die gereviewde recepten vooraan de sortering staan of in welke volgorde de niet-gereviewde gerechten achteraan de recommandaties staan, want hierop wordt er niet afgestraft. In onderstaande formu- le wordt de AP voorgesteld: voor elke positie wordt het percentage van het aantal bekomen true positives (T P seen) tot het aantal reeds overlopen recommandaties i berekend om de precisie op de huidige positie te verkrijgen. Vervolgens wordt dit resultaat vermenigvuldigd met een gekozen

factor. De keuze tot factor ”change in recall” is afhankelijk van het gerecht op de huidige positie. Indien dit gerecht effectief gereviewd werd, wordt de factor 1/(grootte recommandatielijst) als het aantal items in de lijst groter is dan GTP of 1/GT P als het kleiner is. Indien het gerecht echter niet gereviewd werd en bijgevolg irrelevant is, is de factor 0. Het aantal gerechten waartot de precisie berekend wordt, is k. Het resultaat zal 1 zijn wanneer er k opeenvolgende gereviewde gerechten vooraan de recommandaties staan. [31]

AP@k = (change in recall) k X i=1 T P seen i

Voor elke test wordt vervolgens de MAP berekend door het gemiddelde van de AP-waarde. M AP = 1 N N X i=1 AP i

Het voordeel van werken via MAP is het feit dat er bestraft wordt omwille van de sortering van de soort (gereviewde of ongereviewde) gerechten, zonder af te straffen op foute recommandaties achter de groep gereviewde recepten. Wegens deze reden is het belangrijk dat de recommandaties gesorteerd staan op basis van relevantie. MAP houdt ook geen rekening met de sortering binnenin de gereviewde gerechten, ookal verschillen die van rating. Het is niet belangrijk of het systeem de juiste scores schat, maar of het de juiste deelverzameling kiest om te recommanderen. Er is sprake van een binaire classifier doordat alle recepten slechts in twee groepen met gereviewde en ongereviewde gerechten verdeeld werden en binnen deze groepen alle recepten evenwaardig zijn.

Diversiteitsmetrieken

Het voornaamste doel van dit project is het toevoegen van diversiteit aan een bestaand algorit- me. Zo willen gebruikers niet meerdere soorten spaghetti’s en lasagne’s voorgesteld krijgen op dezelfde dag. Er worden slechts tien aanbevelingen gegeven en de gebruiker kan enkel een goede keuze maken wanneer deze zo divers mogelijk zijn.

Om te evalueren op diversiteit wordt er eerst via item-item similarity [6] de gelijkaardigheid van alle gerechten in elke categorie berekend waarna de statistieken gecalculeerd kunnen worden voor alle categorielijsten onderling, onder het mom van intra-list similarity [6]. Bij beide technieken hoeft er geen gebruik gemaakt te worden van dezelfde similariteitsfunctie als bij het genereren van de aanbevelingen, maar er werd hier wel gekozen om opnieuw te werken met TF-IDF. De karakteristieken novelty [6] en serendipity [6] zijn licht verweven met diversiteit. Zoals al verklaard werd bij het zoeken naar een goed filteralgoritme, is het doel van de receptenappli- catie niet enkel om de gebruiker te helpen nieuwe gerechten te vinden die hem liggen, maar ook het zoeken van recepten in de long tail. Hoe verder deze items in de staart liggen, hoe meer onverwacht ze zijn. In de receptenapplicatie zou nieuwigheid beschreven kunnen worden

5.2. UITGEVOERDE EXPERIMENTEN 47