Erik Björck

Användandet av inbäddningar för att hitta likheter mellan hierarkiskt strukturerade temakoder

Sammanfattning

Rekommendationssystem är viktiga för att användare kontinuerligt ska vara intresserade av att fortsätta använda olika objekt eller innehåll i en applikation. För att implementera rekommendationssystem måste likheter mellan och inom användare och objekt hittas. Det kan göras genom att samla in användarbetyg av objekt, eller genom att direkt hitta likheter mellan data i objekten. För att fånga likheter mellan objekt eller användare kan man använda sig av inbäddningar. Inbäddningar är matematiska objekt och används som ett sätt att representera diskret data i vektorer. Datapunkter som är liknande kommer då ha vektorer som ligger nära varandra i vektorrummet. Den här rapporten undersöker möjligheten att använda inbäddningar för att hitta likheter mellan hierarkiskt strukturerade temakoder, som är korta sekvenser av bokstäver och siffror som används för att kategorisera böcker. Mer specifikt så användes en graf-inbäddning vid namn DeepWalk på tre olika modeller för att hitta dessa likheter. Datan som användes för att träna modellerna bestod av par av temakoder som var insamlade från böcker i den svenska applikationen Storytel. Genom att konstruera grafer utifrån temakoderna och deras parvisa förekomster kunde DeepWalk lära sig likheter mellan temakoderna i ett högt antal dimensioner. För att evaluera modellerna användes tre olika offlinemetoder, samt A/B testning live i applikationen. A/B testningen kördes en vecka och visade att antalet klickningar i två av Storytels rekommendationslistor ökade när inbäddningarna av temakoderna användes för att hitta likheter mellan temakoderna i böckerna. Resultaten visade att det är möjligt att använda inbäddningar för att hitta likheter mellan temakoder. Det vore därför värdefullt att i framtiden undersöka om mer avancerade inbäddningar skulle ge ännu bättre resultat.