Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/egemenzeytinci/foxandbox
Content based movie recommendation system
https://github.com/egemenzeytinci/foxandbox
content-based-recommendation elasticsearch flask python recommender-system
Last synced: 18 days ago
JSON representation
Content based movie recommendation system
- Host: GitHub
- URL: https://github.com/egemenzeytinci/foxandbox
- Owner: egemenzeytinci
- Created: 2021-03-18T18:08:31.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-18T21:03:50.000Z (4 months ago)
- Last Synced: 2024-10-09T14:40:19.081Z (29 days ago)
- Topics: content-based-recommendation, elasticsearch, flask, python, recommender-system
- Language: Python
- Homepage: https://foxandbox.io
- Size: 3.43 MB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# foxandbox
![homepage](/assets/images/homepage.jpg)
## Installation and Usage
Deploy the `smlar` plug-in using the following commands,
```zsh
$ git clone https://github.com/egemenzeytinci/smlar
$ cd smlar
$ USE_PGXS=1 make
$ USE_PGXS=1 make install
```Then create `smlar` extension to PostgreSQL,
```zsh
$ psql
test=# CREATE EXTENSION smlar;
CREATE EXTENSION
```Install requirements,
```zsh
$ pip3 install -r requirements.txt
```You can create tables on PostgreSQL as follows,
```zsh
$ python3 migration.py default.ini # or custom ini file
```Then, you need to download the IMDB datasets to the `temporary` path under the `system` section in the config file,
```zsh
$ wget https://datasets.imdbws.com/title.basics.tsv.gz -P /path/to/folder
$ wget https://datasets.imdbws.com/title.ratings.tsv.gz -P /path/to/folder
$ wget https://datasets.imdbws.com/title.episode.tsv.gz -P /path/to/folder
```Then, please run DB seed script to insert static data,
```zsh
$ python3 seed.py ./default.ini # or custom ini file
```You can now run the crawler to fetch the movie images,
```zsh
$ python3 crawl.py ./default.ini # or custom ini file
```**Please keep in mind**, it takes a long time.
Then, please run the recommendation script to determine the clusters for the movies,
```zsh
$ python3 recommendation.py ./default.ini # or custom ini file
```You need to install `Elasticsearch`, then below commands will create indexes and save documents,
```zsh
$ python3 indexing.py ./default.ini # or custom ini file
```Finally, you can run web application as follows,
```zsh
$ python3 app.py ./default.ini # or custom ini file
```