Skip to content

Commit aac1071

Browse files
committed
Add README.md to document the nexREC project, detailing its purpose, technical implementation, model architecture, data processing, team members, prerequisites, and acknowledgments.
1 parent 774ebe6 commit aac1071

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

README.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# nexREC: Graph-Based Movie Recommendation Engine 🎬
2+
3+
4+
## The Story Behind nexREC
5+
6+
nexREC was born out of a final-year academic project that took us on an incredible journey through the world of recommendation systems. What started as a simple idea evolved into a sophisticated graph-based recommendation engine that truly understands user preferences.
7+
8+
### The Journey
9+
10+
The path to building nexREC wasn't straightforward. We began by exploring traditional recommendation systems, diving deep into content-based filtering and collaborative filtering. However, we quickly realized that user preferences are incredibly diverse and complex - influenced by social circles, trends, and personal experiences.
11+
12+
This realization led us to explore Graph Neural Networks (GNNs), a less-researched but promising area that could capture these complex relationships. After countless sleepless nights, hundreds of research papers, and numerous experiments, we developed a system that could instinctively respond to user needs.
13+
14+
## Technical Implementation
15+
16+
### Core Technologies
17+
18+
- **Backend Framework**: Django & Django Rest Framework
19+
- **Frontend**: Remix
20+
- **Vector Database**: Milvus
21+
- **Relational Database**: PostgreSQL
22+
- **Machine Learning**:
23+
- Sentence Transformers (SBERT)
24+
- PyTorch
25+
- PyTorch Geometric
26+
- **Deployment**:
27+
- AWS Lightsail (Backend & Milvus)
28+
- Aiven Cloud (PostgreSQL)
29+
- HuggingFace (Models)
30+
- Vercel (Frontend)
31+
32+
### Model Architecture
33+
34+
We experimented with various GNN architectures including:
35+
- SAGEConv
36+
- GAT (Graph Attention Networks)
37+
- GATv2
38+
39+
After extensive hyperparameter tuning and optimization, we achieved an RMSE loss between 0.94 and 1.21, which is quite solid considering real-world rating deviations and data skewness.
40+
41+
## Data Processing
42+
43+
The project involved processing approximately 10k movies with user reviews. We used PySpark for efficient data cleaning and processing, which was a significant challenge in itself. The data distribution analysis and sampling experiments were crucial in achieving our final results.
44+
45+
## Team
46+
47+
This project wouldn't have been possible without the incredible teamwork of:
48+
- Basanta Shrestha
49+
- Pawan Shah
50+
- Suwash Shrestha
51+
52+
## Getting Started
53+
54+
### Prerequisites
55+
56+
- Python 3.8+
57+
- PostgreSQL
58+
- Milvus
59+
60+
61+
62+
## Acknowledgments
63+
64+
Special thanks to Sushan Kattel for the invaluable guidance in PySpark and data processing.
65+
66+
---
67+
68+
*Note: The deployed version is currently offline due to AWS billing considerations. We're working on making it available again soon!*

0 commit comments

Comments
 (0)