LLM-enhanced representation learning framework for recommendation systems
Top 73.1% on sourcepulse
RLMRec offers a model-agnostic framework for enhancing recommendation systems by integrating Large Language Models (LLMs) for representation learning. It targets researchers and practitioners in recommender systems seeking to leverage rich textual data for improved user and item understanding, aiming to capture intricate semantic aspects of user behaviors and preferences beyond traditional collaborative filtering signals.
How It Works
RLMRec integrates LLMs to generate rich user and item profiles from textual descriptions. It then aligns the semantic space of these LLM-generated embeddings with the representation space derived from collaborative relational signals using a cross-view alignment framework. This approach allows for the incorporation of auxiliary textual information, creating a more comprehensive understanding of user-item interactions.
Quick Start & Requirements
git clone --depth 1 https://github.com/HKUDS/RLMRec.git
), create a conda environment (conda create -y -n rlmrec python=3.9
), activate it (conda activate rlmrec
), and install dependencies including PyTorch 1.13.1 with CUDA 11.6 support, torch-scatter
, and torch-sparse
.wget
or Google Drive.torch-scatter
, torch-sparse
.python encoder/train_encoder.py --model {model_name} --dataset {dataset} --cuda 0
) or RLMRec variants (_plus
for contrastive, _gene
for generative alignment).Highlighted Details
Maintenance & Community
The project is associated with HKUDS and the WWW'2024 conference. No specific community channels (Discord/Slack) or active maintenance signals are explicitly mentioned in the README.
Licensing & Compatibility
The repository does not explicitly state a license. The code is based on the SSLRec framework, which is typically under a permissive license, but this should be verified. Compatibility for commercial use or closed-source linking is not specified.
Limitations & Caveats
The profile generation scripts require an OpenAI API key and direct modification of source files to insert the key, which is not ideal for secure deployment. The project relies on specific older versions of PyTorch and CUDA, potentially limiting compatibility with newer hardware or software stacks.
1 year ago
1 week