Skip to content

Latest commit

Β 

History

History
63 lines (42 loc) Β· 3.01 KB

README.md

File metadata and controls

63 lines (42 loc) Β· 3.01 KB

SceneSense

This repository provides a multi-modal movie recommendation framework titled SceneSense that benefits from Generative AI for providing enhanced suggestions.

πŸ› οΈ Getting Started

After cloning the repository, you need to install the required dependencies. The Python version used while developing the framework is 3.10.4. It is highly recommended to create a Python virtual environment using python -m venv .venv, activate it using source .venv/bin/activate (Linux) or .\.venv\Scripts\activate (Windows), and then, install the required dependencies in the requirements.txt using the below command:

pip install -r requirements.txt

πŸ“Š Data

As the framework supports multi-modal processing and covers text, visual, and fused data, varios datasets can be fed for reproducibility, evaluation, and experiments purposes:

  • Text Feed: MovieLenz-25M (link) is recommended to provide data about movies, user interactions, etc.
  • Visual Feed: SceneSense Dataset (link) is collected by the team and provides frame-level features for each movie using different Convolutional Neural Networks (CNNs).

In order to use the datasets, some helper functions and example codes are provided in the src/core/datasets path.

πŸš€ Launching the Framework

To launch the framework, you need to take the below steps:

I. Set Configurations

The first step is to modify the configurations, adapting the framework towards what you target. Accordingly, you need to modify the config.yml file based on the documentations provided for it.

πŸ—„οΈ Code Structure

You can find below where to search for the codes in the framework:

> [config]              ## framework configs & docs
    - config.yml
> [src]                 ## framework codes
    > [core]            ## core functionalities
        > [datasets]    ## dataset connection & helpers
    > [multimodal]      ## processing modules
        > [textual]
        > [visual]
        > [fused]
    - utils.py          ## general utilities
    - main.py           ## main runner file

πŸ‘¨πŸ»β€πŸ’» Contribution

In case you are willing to contribute to the project, please consider the following notes before opening your pull requests:

  • Please keep the structure of the project and add new codes in proper locations in the src folder. The Code Structure section provides general information accordingly.
  • In case you add new dependencies, do not forget to add them to requirements.txt using pip freeze > requirements.txt (you may need to remove the current file to have an updated version!).

πŸ“ Citation

If you find SceneSense useful for your research or development, please cite the following paper:

@article{tbd,
  title={TBD}
}