Skip to content

Sabique-Islam/Activity-Recommender-CLI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Activity Recommender CLI (ARC)

Activity Recommender CLI (ARC) recommends group activities based on user preferences. Multiple users input keywords representing their interests, which are processed using word embeddings to suggest activities matching the group's preferences.


ARC


How It Works →

graph TD
    A[Start] --> B[Load GloVe Embeddings]
    B -->|Store in HashMap| C[Load Activities from CSV]
    C -->|Parse Tags| D[Calculate Activity Vectors]
    D -->|Average Tag Embeddings| E[User Input: Group Size]
    E --> F[Collect Preferences for Each Person]
    F -->|Space-separated Keywords| G[Process Keywords]
    G -->|Lowercase, Remove Punctuation| H[Find Embeddings for Keywords]
    H -->|Handle Compound Words| I[Sum Valid Embeddings]
    I -->|Average for Group Vector| J[Compare Group Vector with Activity Vectors]
    J -->|Cosine Similarity| K[Select Top 3 Activities]
    K --> L[Display Recommendations]
    L --> M[Prompt: 'start' or 'quit']
    M -->|start| E
    M -->|quit| N[Cleanup and Exit]

Loading

Setup Guide →

Installation

git clone https://github.com/Sabique-Islam/Activity-Recommender-CLI
cd Activity-Recommender-CLI

Download Embeddings

Build & Run

Using Make

make
./arc

Manual Compilation

gcc -o arc search.c src/utils.c src/colors.c src/embeddings.c src/activities.c -lm
./arc

Docker

Build Docker Image

docker build -t arc:latest .

Run Docker Container

docker run -it --name arc-container \
  -v ./data:/app/data \
  arc:latest

This mounts the local data folder to the container, which should contain the required files: glove.6B.300d.txt and activities.csv.

Using Shell Scripts →

# Build and run with Make
./Shell-Scripts/Make-Command.sh

# Build and run with Docker (includes make compilation)
./Shell-Scripts/Docker.sh

# Delete Docker container
./Shell-Scripts/Delete-Container.sh

Make sure to set execute permissions on the scripts:

chmod +x Shell-Scripts/*.sh

Note: Running Docker automatically compiles the code during image building, so no need to run Make separately before Docker.


Resources →

Makefile

About

A C-based CLI tool that recommends group activities using NLP and GloVe word embeddings.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors