A content-based recommendation system that suggests relevant AI/Data Science project topics to students based on their interests and skills. Built as part of Internship Task AI-SS-003.
Core:
- Student interest & skill profiles
- Project topic database (10 sample topics across multiple domains)
- Text preprocessing (tokenization, stopword removal, lemmatization)
- TF-IDF vectorization of topics and student profiles
- Cosine similarity matching between students and topics
- Top-N personalized recommendations
Bonus:
- Difficulty level filtering (Beginner / Intermediate / Advanced)
- Domain filtering
- Trend analysis — most common domains, technologies, and difficulty spread across the topic catalog
- Topic clustering (KMeans) — groups similar topics together automatically
- Python 3
- pandas, numpy
- scikit-learn —
TfidfVectorizer,cosine_similarity,KMeans - NLTK — tokenization, stopwords, lemmatization
-
Clone or download this repository
git clone <your-repo-url> cd <your-repo-folder>
-
Install dependencies
pip install pandas numpy scikit-learn nltk
-
Run it
python3 topic_recommender.py
On first run, NLTK automatically downloads the small data packages it needs (
punkt,stopwords,wordnet) — this requires an internet connection the first time only.
- Each project topic's title, domain, and tech stack are combined into one text string and cleaned (lowercased, stopwords removed, lemmatized).
- Each student's interests and skills are combined and cleaned the same way.
- Both are converted into TF-IDF vectors using the same vectorizer.
- Cosine similarity is computed between a student's vector and every topic vector — higher similarity means a better match.
- The top N most similar topics are returned as recommendations.
- Bonus features (filtering, trend analysis, clustering) build on top of this same vector space.
AI Project Topic Recommendations for Student S001
============================================================
1. AI-Powered Chatbot for Mental Health Support
Domain: Healthcare
Difficulty: Intermediate
Duration: 4 weeks
Tech Stack: Python, NLP, Transformers, Flask
Match Score: 61.2%
...
.
├── topic_recommender.py # Main recommender script
├── README.md
└── PROJECT_REPORT.md
Built for the Free Online AI & Data Science Internship (Task AI-SS-003).