Design and Training of a Recommender System on an Educational Domain Using Topic & Term-Frequency Modeling
Total Page:16
File Type:pdf, Size:1020Kb
Uppsala universitets logotyp 21026 Examensarbete 30 hp Maj 2021 Design and training of a recommender system on an educational domain using Topic & Term-Frequency modeling Max Netterberg & Simon Wahlström Civilingenjörsprogrammet i system i teknik och samhälle Civilingenjörsprogrammet i system i teknik och samhälle Uppsala universitets logotyp Design and training of a recommender system on an educational domain using Topic & Term-Frequency modeling Max Netterberg & Simon Wahlström Abstract This thesis investigates the possibility to create a machine learning powered recommender system from educational material supplied by a media provider company. By limiting the investigation to a single company's data the thesis provides insights into how a limited data supply can be utilized in creating a first iteration recommender system. The methods include semi structured interviews with system experts, constructing a model-building pipeline and testing the models on system experts via a web interface. The study paints a good picture of what kind of actions you can take when designing content based filtering recommender system and what actions to take when moving on to further iterations. The study showed that user preferences may be decisive for the relevancy of the provided recommendations for a specific media content. Furthermore, the study showed that Term Frequency Inverse Document Frequency modeling was significantly better than using an Elasticsearch database to serve recommendations. Testing also indicated that using term frequency document inverse frequency created a better model than using topic modeling techniques such as latent dirichlet allocation. However as testing was only conducted on system experts in a controlled environment, further iterations of testing is necessary to statistically conclude that these models would lead to an increase in user experience. Teknisk-naturvetenskapliga fakulteten, Uppsala universitet. Utgivningsort Uppsala/Visby. Handledare: Error: Reference source not found , Ämnesgranskare: M, Examinator: Error: Reference source not found Teknisk-naturvetenskapliga fakulteten Uppsala universitet, Utgivningsort Uppsala/Visby Handledare: Thomas Ingeborn Ämnesgranskare: Filip Malmberg Examinator: Elísabet Andrésdóttir Populärvetenskaplig sammanfattning Några av de största tech-jättarna Netflix och Youtube har extremt mycket innehåll att filtrera igenom för användare på sidorna. Den stora mängden innehåll innebär att de flesta användare har svårt att hitta på sidorna även med en sökfunktion. Youtube & Netflix löser detta problem genom att konstruera komplicerade rekommendationsmodeller som drivs av maskininlärning. Modellerna lär sig av användarens beteende och beräknar vad för typ av innehåll som användaren är mest intresserad av. Rekommendationsmodellerna kan baseras på liknande produkter som användaren interagerat med vilket kallas content based filtering, eller vad liknande användares preferenser är vilket kallas collaborative filtering. Modellen är en avgörande del i ett rekommendationssystem. Att skapa ett rekommendationssytem kan verka simpelt vid första anblick men att definiera vad en bra rekommendation är kan vara ett svårlöst problem. Många populära applikationer så som Netflix eller Youtube använder komplicerade algoritmer för att bestämma vad som bör rekommenderas härnäst till användaren. Frågan blir då: hur vet algoritmen vad som ska rekommenderas och när det ska rekommenderas? Det korta svaret är att den inte vet. Den beräknar utifrån användarens handlingar vilket innehåll användaren med störst chans kommer att vilja titta på härnäst. Denna uppsats undersöker möjligheten att skapa ett maskininlärningsdrivet rekommenda- torsystem från utbildningsmaterial som tillhandahålls av ett medialeverantörsföretag i form av filmer och podcasts. Genom att begränsa utredningen till data hos ett enskilt företag ger avhandlingen inblick i hur en begränsad datatillförsel kan användas för att skapa en första iterations rekommenderingssystem. Metoderna inkluderar semistrukturerade intervjuer med systemexperter, konstruering av en modellbyggnadsrörledning och testning av modellerna på systemexperter via ett webb- gränssnitt. Studien målar en bra bild av vilken typ av åtgärder du kan vidta när du utformar innehållsbaserat filtreringsrekommendatorsystem och vilka åtgärder du ska vidta när du går vidare till ytterligare iterationer. Denna studie foukserar på att jämföra två typer av maskininlärningsmodeller för ett specifikt system. Modellerna som jämförs mot varandra är TF-IDF (Term Frequency - Inverse Document Frequency) och LDA (Latent Dirichlet Allocation). Studien visade att användarpreferenser kan vara avgörande för relevansen av de rekommendationer som ges för ett specifikt mediainnehåll. Dessutom visade studien att modellering med TF-IDF var signifikant bättre än att använda en Elasticsearch motor för att ge rekommendationer. Testning visade också att användning av TF-IDF skapade en bättre modell än att använda ämnesmodelleringstekniker som LDA. Eftersom testning endast utfördes på systemexperter i en kontrollerad miljö, är ytterligare iterationer av testning såsom AB-testning nödvändiga för att statistiskt dra slutsatsen att dessa modeller skulle leda till en ökad användarupplevelse. 3 Distribution of work This thesis was written by Max Netterberg and Simon Wahlström. Both authors con- tributed equally during the course of the project. Max Netterberg had overall responsibility for developing the test site and Simon Wahlström had overall responsibility for developing future suggestions on the developed models. Both authors has contributed equally to the codebase of the model building pipeline as well as the thesis text. 4 Contents 1 Introduction 10 1.1 Problematization . 10 1.2 Purpose . 11 1.3 Delimitations . 11 2 Background 12 2.1 Skolfilm . 12 2.2 Skolfilm’s Data . 12 2.3 How streaming media is used in an educational setting . 13 3 Theory 14 3.1 Levels of recommender systems . 14 3.2 Expert recommendations . 15 3.3 Collecting information . 15 3.3.1 Explicit data collection . 15 3.3.2 Implicit data collection . 16 3.4 Preprocessing data . 17 3.5 Content based filtering . 18 3.6 Term Frequency - Inverse Document Frequency . 19 3.6.1 Term Frequency . 19 3.6.2 Inverse Document Frequency . 20 3.6.3 Term Frequency & Inverse Document Frequency . 20 3.7 Topic modeling . 21 3.8 Latent Dirichlet Allocation . 22 4 Method 24 4.1 Project structure - Using an iterative process . 24 4.2 Preparing develepment enivronment . 24 4.3 Choosing a model for building recommendation systems . 25 5 4.4 System Overview . 25 4.5 Pre-processing data . 26 4.6 Interviews . 27 4.7 Tuning Hyperparameters . 28 4.8 Testing models . 29 4.8.1 Manual testing . 30 4.8.2 Online evaluation . 30 4.9 Test evaluation . 32 4.9.1 Wilcoxon signed-rank test . 32 4.10 Performing online evaluation . 33 4.10.1 Subtitles . 35 5 Results 37 5.1 Interviews . 37 5.2 Model test results . 39 5.2.1 Comments . 40 5.3 SRT-files . 42 6 Analysis 43 6.1 Low ratings . 43 6.2 Diversity . 45 6.3 Number of keywords . 45 6.4 TF-IDF vs LDA . 46 7 Proposed Future Directions 48 7.1 Collaborative filtering . 48 7.2 Feature combination hybrid . 50 7.3 Session based recommendations . 53 7.4 Additional data collection . 57 7.5 Recommending AV-centrals . 57 6 8 Conclusions 59 References 60 Appendix 63 7 Wordlist Data frame Data frame is a data structure made popular from the python library pandas. The structure resembles a matrix but has named rows and columns. TF-IDF Machine learning model, acronym for Term Frequency, Inverse Term Frequency. LDA Machine learning model, acronym for Latatent Dirichlet Allocation. Corpus Large collection of documents (not the same as MongoDB documents) which is used in scientific language processing analysis. The documents can be read by machines and have generally gone through some kind of processing. The documents can consist of sentences or other type of text. Pickle File format, generally used to persist data frames. REST-API Acronym for Representational State Transfer - Application Programming Interface. It is communication interface paradigm. Generally used on the web to transfer data between the client interface and the backend. JSON Data structure which is primarily used in the web to send data between two applications. Acronym for Javascript Object Notation Document Can mean two things in this thesis: 1. Data structure used in databases such as MongoDB and Elasticsearch. It is based of the JSON data structure and is therefore very similar to JSON. 2. Document representing an entity in a corpus. In the case of this thesis a document represents a media file (film or audio). MongoDB Database paradigm that uses documents instead of tables. CSV File format, acronym for comma-separated values. Used to store values in a table format. 8 CRUD Acronym for Create, Read, Update, Delete. Common data actions. BoW Acronym for Bag of Words. Words collected and stored in no specific order. Term Same thing as ”word”. In the thesis ”word” and ”term” are used interchangeably. 9 1 Introduction As part of the digitalization of society today, education is increasingly conducted on digital platforms and with online resources. However, with an all increasing flow of information on the Internet and more products to choose from, new problems arise. An emergent problem is the difficulties for users to find what they are interested in with this abundance of information. One solution that has had success in addressing this issue is the use of machine learning to create recommendation