Recommender service using a RESTful API based on Flask-RESTPlus. It is a personalized content-based recommender of decks for any user of SlideWiki based on the activity of the user. It also offers only content-based recommendations of decks given a deck (id) as input. The features of the decks considered are the contents of the deck itself using tf-idf.
- git clone https://github.com/slidewiki/recommender-service
- cd recommender-service/
- (if needed) Change corresponding server name (with port) in FLASK_SERVER_NAME and services URLs at app/settings.py
- (sudo) docker build -t test-recommender-service .
- (sudo) docker run -it --rm -p 8000:8000 test-recommender-service
- The service will be available at http://localhost:8000 with the documentation available at http://localhost:8000/documentation
- git clone https://github.com/slidewiki/recommender-service
- cd recommender-service/
- Install python 3.6 or higher (Ubuntu 17.10, Ubuntu 18.04, and above, come with Python 3.6 by default)
- Install python3 package installer (if not already installed): 'sudo apt install python3-pip'
- Install libraries of 'requirements.txt' with 'pip3 install -r requirements.txt'
- Change corresponding server name (with port) in FLASK_SERVER_NAME and services URLs at app/settings.py
- Setup/install the application: 'sudo python3 setup.py install'
- Run the server: 'python3 app/appmain.py'
- The service will be available at localhost:PORT with the documentation available at localhost:PORT/documentation
- cd recommender-service/
- (if needed) Change MAX_FEATURES and/or FILE_NAME_SUFFIX at app/settings.py to consider a different number of features that the recommender takes from the transcription of the slides. Note that if these values are changed, the recommender will not work until a complete app/reco/update.py process is made.
- python3 app/reco/update.py Note that this process will take proportional time to complete depending on the number of decks and the responding time of the different used services, mainly activity service and nlp service.