This project is an end-to-end, content-based recommendation system designed to match a user's hiring requirement (e.g., job role, skill, or level) to the most relevant assessments within the SHL product catalog.
The solution is implemented as a simple web application using Streamlit for a live, interactive demonstration.
| Component | Technology/Method | Purpose |
|---|---|---|
| Backend Logic | Python, scikit-learn |
Core recommendation logic. |
| Recommendation Algorithm | TF-IDF Vectorization and Cosine Similarity | Converts assessment text and job requirements into numerical vectors and calculates similarity to provide the best match. |
| Data Source | shl_catalog_.csv (Internal SHL Product Data) |
Contains the features (Test Name, Description, Job Levels) used for vectorization. |
| Frontend/Deployment | Streamlit | Provides a simple, interactive User Interface (UI) and allows for quick cloud deployment. |
The engine operates on Content-Based Filtering.
- Data Combination: The three key textual fields (
Individual Test Solutions,Description, andJob Levels) are concatenated into a single feature space calledcombined_text. This ensures the model captures keywords from all relevant areas. - Vectorization (TF-IDF): The
combined_textfor all 377 assessments is transformed into numerical vectors using TF-IDF (Term Frequency-Inverse Document Frequency). TF-IDF gives higher weight to rare, meaningful keywords (e.g., 'Python', 'Director') over common ones (e.g., 'test', 'measures'). - Similarity Calculation: When a user enters a query (e.g., "Python developer"), it is also converted into a TF-IDF vector. Cosine Similarity (a measure of the angle between two vectors) is used to find the assessments whose vectors are closest to the query vector.
- Output: The top 5 closest matches are returned to the user.
- Clone the repository:
git clone [YOUR_REPO_URL] cd shl-assessment-recommender - Install dependencies:
pip install -r requirements.txt
- Run the Streamlit app:
streamlit run app.py
https://shlassessment-recommendation-engine-xyznl68gzkstuvyeg45g67.streamlit.app/
Created by Sourav Pati for the SHL Research Intern Assessment.