Earlier this year, I announced my Master’s Thesis in Recommendation Systems and Nextcloud, an open source file sync and share software. Since then, things have changed a little bit.
RecommendationAssistant was designed to work with two recommendation techniques: Collaborative Filtering and Content-Based Recommendation. Unfortunately, the second technique worked not as good as expected. Office files, for instance, are not easy to parse with PHP (at least not with libraries available on GitHub). Keyword extraction, without having a central register, works also bad as well. Therefore, I decided to remove the Content-Based Recommendation part. RecommendationAssistant implements only Collaborative Filtering now.
During the development I have learned a lot. As with every project, I would implement the app in a different way if I would start today again. For instance, there are a lot of algorithms and data structures available for handling huge amounts of data. There is also the MovieLens data set that can be used in order to test and evaluate Recommendation Systems.
This is a good point to start (or go ahead): RecommendationAssistant is published now on the Nextcloud App Store as a research project. There is also a thread on the official Nextcloud forum. People can now test the app in real world scenarios and give feedback as one of the key issues during the thesis was the lack of test data. Afterwards, if appropriate, the app can be improved to work faster and much more reliable. The above stated points are just two of all possible features provided by Recommendation Systems, Nextcloud and Open Source.
I would like to emphasize that the app does not claim to be complete. Earlier versions, where Content-Based Recommendation was part of the app, have produced a lot of log entries. The app was not tested with huge amounts of data (see section “Evaluation” in my thesis). And users have reported some bugs on GitHub. However, the app does not add/modify/remove files or something else.