Publication Date

Fall 2022

Degree Type

Master's Project

Degree Name

Master of Science (MS)


Computer Science

First Advisor

Chris Pollett

Second Advisor

Robert Chun

Third Advisor

Phil Heller


wiki systems, collaborative filtering, hash2vec


Wiki systems are web applications that allow users to collaboratively manage the content. Such systems enable users to read and write information in the form of web pages and share media items like videos, audios, books etc. Yioop is an open-source web portal with features of a search engine, a wiki system and discussion groups. In this project I have enhanced Yioop’s features for improving the user experiences. The preliminary work introduced new features like emoji picker tool for direct messaging system, unit testing framework for automating the UI testing of Yioop and redeeming advertisement credits back into real money. The major work in the project was to improve and extend the recommendation system of Yioop to recommend media items (referred to resources in Yioop) of wiki pages having different formats like video and text. This was achieved by developing a media job that can gather the description for resources by searching through various configured web search sources using just the name of resources. Then the recommendation media job utilizes these descriptions by applying Hash2Vec term embedding algorithm to generate linear embedding vector for resources and leverage those vectors to generate linear vector for users representing their history of consuming resources. Scores are calculated using cosine similarity between the vector of a user and the embedding vector of resources not consumed by that user, ultimately recommending resources in descending order of this score. Experiments were conducted to compare the results of older and newer version of recommendation systems.