Kodi Community Forum

Full Version: GSOC2019:Personalized Media (Music&Video) Recommendation System with Tensorflow & NLP
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Personalized Media (Music & Video) Recommendation System with Tensorflow and NLP
This is an extension of the proposal 'Use machine learning to improve suggestions'.

Name: Qingzhi Hu
forum/e-mail: [email protected] or [email protected]


1. Summary:
My approach is to use mixed strategies to create personalized music and video recommendation system:

- 1. Collaborative Filtering models (i.e. Last.fm): a traditional way to analyze both your behavior and other users' behaviors.
- 2. Natural Language Process (NLP) models, which analyze a combination of text from the Kodi database and Twitter (Sentiment Analysis of Movie/Music Reviews for example).

2. How will I achieve this: 

A detailed procedure is illustrated with a flow chart. Please click here to view details in pdf.


In addition, if we want to try new algorithms or rewritten some algorithms in Python, C++ to achieve higher proficiency, that is also doable for me to do some research since I have tried some fuzzy methods before and I have a conference publication on IEEE : https://ieeexplore.ieee.org/document/7996224

Although currently I am a second year undergraduate student in Statistics (Econometrics and Operations Research) but I had also taken CS courses like advanced algorithms and data structure, advance OOP courses at university and also wrote some C++/R/Python code for implementing algorithms without package (use python to write Multilayer Perceptron, write a simple deep learning framework with C++ etc). I could provide code samples if you are interested. 

I have also participated in another open summer of code last summer: https://2018.summerofcode.be/healthstory.html My role is data processing and backend developer. You can check my CV here: https://xs4all.academia.edu/QingzhiHu/CurriculumVitae

3. What will the project focus on:
The focus of the project is to build an offline and online personalized recommendation system for movies/music with the help of machine learning, deep learning algorithms. This algorithm will take into consideration of user's taste(history) over time, as well as putting new songs and popular songs into consideration.

4. Benefits: 
For users: The user can get a personalized recommendation of movies/music based on his taste (history) as well as exploring popular songs and newly published songs. 

For the developer: In the developing procedure, besides the database, developers don't need to touch many other parts of the project since we could just provide API and the integration can be done at the end. As time goes by, this project can be developed into a recommendation library which targets at movies/music text-based data (or audio in the future).


5. Goals:
The main goal of the project is to achieve personalized recommendation based on the data we have in the Kodi database and build a system that works both offline and online (as shown in the picture above). If we have extra time, we could also analyze data on Twitter and tomato to improve our performance. 

Please look at the picture above. For database and the offline model which would approximately take less than a week. For a sequential model and Tensorflow model with SVD would take approximately one more week including testing, adjusting the model. Another week could spend on deploy model to spark and let it perform online learning. The extra time left could spend on doing semantic analysis. I could provide a more concrete schedule detailed to 3 days if needed.

6. What does it touch in Kodi:
For now, only the database part needs to be touched. After creating our API, we could integrate it into the application. 

Requirements: Python and C++/Java(optional), Spark, Knowledge of Tensorflow, fast learner
Possible mentors: Place to add possible mentors (Team-Kodi will add this).: 


Any feedback is appreciated!
Sounds like a decent idea to have personalized recommendations!
This may be of interest https://listenbrainz.org
Thanks! I checked their recommendation background. It does seem to be a good fit. I have add the post to their developer community!
Hey, nice to have you here. That was a really good read.