rahulrajpu676/job-resume-matching
Resume–Job Matching Dataset Dataset Summary This dataset is designed for research and experimentation on resume-to-job matching, semantic retrieval, ranking, and recommendation systems. It contains candidate resume records, job posting records, and candidate-job compatibility records with multiple scoring features. The dataset can be used for tasks such as: Resume-job matching Candidate ranking Job recommendation Semantic similarity modeling Skill-based matching… See the full description on the dataset page: https://huggingface.co/datasets/rahulrajpu676/job-resume-matching.
Resume–Job Matching Dataset
Dataset Summary
This dataset is designed for research and experimentation on resume-to-job matching, semantic retrieval, ranking, and recommendation systems. It contains candidate resume records, job posting records, and candidate-job compatibility records with multiple scoring features.
The dataset can be used for tasks such as:
- Resume-job matching
- Candidate ranking
- Job recommendation
- Semantic similarity modeling
- Skill-based matching
- Learning-to-rank experiments
- Graph-based recommendation models
- Embedding-based retrieval
Dataset Files
The dataset contains three CSV files:
Data Structure
cv.csv
Each row represents one candidate profile.
job.csv
Each row represents one job posting.
matches.csv
Each row represents a candidate-job compatibility record.
Dataset Statistics
Overall Counts
Job Category Distribution
Candidate Category Distribution
Match Label Distribution
Score Ranges
Intended Use
This dataset is suitable for building and evaluating matching and recommendation systems in the recruitment domain.
Example use cases include:
- Semantic retrieval Use resume and job embeddings to retrieve relevant jobs for each candidate.
- Learning-to-rank Train a ranking model using compatibility scores, ranking positions, and label strengths.
- Classification Convert
label_strengthinto classes for supervised classification.
- Graph recommendation Build a heterogeneous or bipartite graph using candidates, jobs, and compatibility edges.
- Hybrid matching models Combine semantic similarity, skill compatibility, position matching, category matching, experience matching, and education matching.
Example Usage
import pandas as pd
cv_df = pd.read_csv("cv.csv")
job_df = pd.read_csv("job.csv")
matches_df = pd.read_csv("matches.csv")
print(cv_df.shape)
print(job_df.shape)
print(matches_df.shape)Load Embeddings
The embedding columns are stored as string representations of numeric lists. You can convert them back into arrays as follows:
import ast
import numpy as np
cv_df["embedding"] = cv_df["embedding"].apply(lambda x: np.array(ast.literal_eval(x), dtype=np.float32))
job_df["embedding"] = job_df["embedding"].apply(lambda x: np.array(ast.literal_eval(x), dtype=np.float32))
print(cv_df["embedding"].iloc[0].shape)
print(job_df["embedding"].iloc[0].shape)Join Candidate, Job, and Match Data
merged_df = (
matches_df
.merge(cv_df, on="candidate_id", how="left")
.merge(job_df, on="job_id", how="left", suffixes=("_candidate", "_job"))
)
merged_df.head()Convert Match Labels to Numeric Classes
label_map = {
"weak_positive": 0,
"medium_positive": 1,
"strong_positive": 2,
}
matches_df["label_id"] = matches_df["label_strength"].map(label_map)Recommended Train/Validation/Test Splitting
For recommendation and ranking experiments, avoid random row-level splitting only. A row-level split may place records from the same candidate in multiple subsets and can overestimate model performance.
Recommended approaches:
- Split by
candidate_idfor candidate-level generalization. - Split by
job_idfor job-level generalization. - Use a time-based split if timestamp information is added in future versions.
- For graph-based models, ensure validation and test edges are not included in the training graph as target edges.
Data Quality Notes
- All columns in the provided CSV files are complete, with no missing values detected.
- Candidate and job embeddings are stored as text and should be parsed before numerical modeling.
- The dataset contains positive compatibility records. For binary classification or pairwise ranking, negative or unobserved candidate-job pairs may need to be sampled depending on the experiment design.
- Some candidates or jobs may not appear in
matches.csv; this is expected when using a filtered compatibility table.
Ethical Considerations
Recruitment datasets should be handled carefully because automated matching systems can influence employment opportunities. Users of this dataset should:
- Evaluate models for bias across relevant groups where such metadata is available and appropriate.
- Avoid using protected attributes for ranking or filtering.
- Treat model scores as decision-support signals rather than final hiring decisions.
- Review recommendations with human oversight.
- Ensure compliance with applicable privacy, employment, and data protection regulations.
Limitations
- The dataset focuses on selected job categories and may not generalize to all occupations.
- Compatibility labels and scores should be interpreted as modeling signals, not definitive hiring decisions.
- The dataset does not guarantee complete coverage of every possible candidate-job pair.
- The embedding model used to create the stored vectors is not specified in the dataset files.
- Additional validation may be required before using models trained on this dataset in real recruitment workflows.
Citation
If you use this dataset in a project, report, or experiment, please cite the dataset repository.
@dataset{resume_job_matching_dataset,
title = {Resume-Job Matching Dataset},
author = {Dataset Contributors},
year = {2026},
url = {https://huggingface.co/datasets/<your-username>/<your-dataset-name>}
}License
Please update the dataset license before publishing. Use a license that matches your data source permissions and intended sharing policy.
Dataset Maintenance
For questions, updates, or corrections, please open an issue or discussion in the dataset repository.
