Skip to content
/ LLMRS Public

LLMRS: Unlocking Potentials of LLM-Based Recommender Systems

License

Notifications You must be signed in to change notification settings

igunduz/LLMRS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



alt_text


LLMRS: Unlocking Potentials of LLM-Based Recommender Systems for Software Purchase [WITS 2023]

*Equally contributing first authors
**Equally contributing second authors


Table of Contents

  1. Project Structure
  2. Pipeline
  3. Installation
  4. Running the Code
  5. Citation
  6. License

Project Structure

├── data
├── figures
├── output
├── src
|   ├── notebooks
|   ├── static
|   ├── web_interface
|   ├── __init__.py
|   ├── data_preprocessing.py
|   ├── logger.py
|   ├── recommendation_api.py
|   ├── software_data_processor.py
|   └── software_recommender.py
├── .gitignore 
├── LICENSE
├── README.md
└── requirements.txt

Pipeline

The pipeline contains 3 steps as follows:

  1. Data preprocessing
  2. Process Software Data
  3. Recommender

Downloading data

The dataset is in .json format here. After downloading Software reviews and metadata, we ran this script to get data ready for preprocessing.

Generating additional features

  1. Licensing Fee is set to 80% of the minimum price in the software category. Licensing fees could be similar in a particular software category and country.

  2. Implementation Cost is set to 50% of the cost of the software.

  3. Maintenance cost is assumed to be a monthly service so it was set to 1% of the price of the product.

Installation

Setup environment

pip install --upgrade pip
python -m venv .llmrs
source .llmrs/bin/activate
conda deactivate
pip install -r requirements.txt

Note: All monetary values are in USD($) * 100

Running the Code

To run recommendation:

  1. Run python src/recommendation_api.py

  2. Visit 127.0.0.1:500

    a. Enter Software description with price, license, maintenace and implementation costs in the respective boxes.

    b. When you click Get Recommendation, this would load pre-processed data/softwares_with_scores.csv and compute similarity with input software specification from user input.

    c. Output is then ranked with our ranking algorithm and parsed to the web interface

Sample Input:
"Software for managing employee files"
price = 0,10
license cost = 0, 10
maintenance cost = 0, 10
implementation cost= 0, 10

Citation

If you're using LLMRS in your research or applications, please cite using this BibTeX:

@misc{john2024llmrsunlockingpotentialsllmbased,
      title={LLMRS: Unlocking Potentials of LLM-Based Recommender Systems for Software Purchase}, 
      author={Angela John and Theophilus Aidoo and Hamayoon Behmanush and Irem B. Gunduz and Hewan Shrestha and Maxx Richard Rahman and Wolfgang Maaß},
      year={2024},
      eprint={2401.06676},
      archivePrefix={arXiv},
      primaryClass={cs.IR},
      url={https://arxiv.org/abs/2401.06676}, 
}

License

License: GPL v3
This work is licensed under a GNU General Public License v3.


Logo

About

LLMRS: Unlocking Potentials of LLM-Based Recommender Systems

Topics

Resources

License

Stars

Watchers

Forks

Contributors 5