Skip to content

Commit 7cd93b6

Browse files
committed
Resolve merge conflict and finalize merge with main: removed main.ipynb, added processed data and models
2 parents 6ca221a + 11a0bbc commit 7cd93b6

File tree

14 files changed

+886
-6066
lines changed

14 files changed

+886
-6066
lines changed

.github/workflows/ci.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
validate-commit-message:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout repository
13+
uses: actions/checkout@v2
14+
15+
- name: Validate commit message format
16+
run: bash ci/check_commit_msg.sh $GITHUB_EVENT_PATH

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
/dataset
1+
/dataset/ResumesJsonAnnotated
2+
/dataset/ResumesPDF
3+
/models/fhe_files

README.md

Lines changed: 46 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,52 @@
1-
# PFEE
1+
# PFEE : CV Relevance Prediction
22

3-
CARDI Julien
43

5-
FERRONI Sandro
4+
## Introduction
5+
In the current recruitment context, companies receive a large number of applications for each job opening. Manually evaluating these resumes is a time-consuming task and prone to biases. Predicting the relevance of resumes to job postings using machine learning can greatly improve the efficiency and fairness of the recruitment process.
66

7-
HOLARD Fabien
7+
However, the use of sensitive personal data in machine learning models raises concerns regarding data privacy and security. This is where our project comes in. We have explored advanced techniques such as Privacy-Preserving Machine Learning (PPML) and Fully Homomorphic Encryption (FHE) to develop a model capable of predicting the relevance of resumes while ensuring the confidentiality of candidate data.
88

9-
GIRAUD Paul
9+
## About This Project
10+
### Project Overview
11+
As part of our engineering school curriculum, we undertook a capstone project (PFEE - Projet de Fin d'Études Encadré) in collaboration with Zama, a pioneering company in the field of homomorphic encryption. Our primary objective was to delve into the functionalities of Privacy-Preserving Machine Learning (PPML), Fully Homomorphic Encryption (FHE), and Concrete ML.
1012

11-
MOYO-KANDEM Auren
13+
### Project Goals
14+
In this project, our team focused on leveraging these advanced encryption techniques to develop a model that predicts the relevance of a CV (Curriculum Vitae) to a job offer. The goal was to ensure that the predictions are made securely without compromising the privacy of the data involved.
1215

13-
SKALLI Camile
16+
### Key Technologies
17+
- **PPML (Privacy-Preserving Machine Learning)**: Techniques that allow machine learning models to be trained and used without exposing sensitive data.
18+
- **FHE (Fully Homomorphic Encryption)**: A form of encryption that enables computations on encrypted data without needing to decrypt it first.
19+
- **Concrete ML**: An open-source library developed by Zama, which integrates FHE with machine learning to provide privacy-preserving predictions.
20+
21+
### Project Contributions
22+
1. **Understanding and Implementing PPML and FHE**: We conducted an in-depth study of PPML and FHE principles and their implementation.
23+
2. **Model Development**: Created a machine learning model using Concrete ML to assess CVs' relevance to job offers.
24+
3. **Data Privacy**: Ensured that all data used in the predictions remained encrypted, thereby maintaining user confidentiality and data integrity.
25+
26+
## Continuous Integration
27+
28+
This project uses GitHub Actions for continuous integration.
29+
30+
### Configuration
31+
32+
The CI workflow is defined in `.github/workflows/ci.yml`.
33+
34+
### Validating Commit Messages
35+
36+
Commit messages should follow this format:
37+
- `feat: Feature description`
38+
- `fix: Description of the fix`
39+
- `docs: Description of documentation`
40+
- `style: Description of style changes`
41+
- `refactor: Description of refactoring`
42+
- `test: Description of tests`
43+
- `chore: Description of maintenance tasks`
44+
45+
A commit message validation hook is included and will be executed during the CI process.
46+
47+
### Installation of Dependencies
48+
49+
```sh
50+
cd script/
51+
make all
52+
```

ci/check_commit_msg.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
3+
# Pattern pour valider le message de commit
4+
COMMIT_MSG_REGEX="^:?(feat|fix|docs|style|refactor|test|chore): ?.+"
5+
6+
commit_message="$1"
7+
8+
if ! echo "$commit_message" | grep -qE "$COMMIT_MSG_REGEX"; then
9+
echo "Error: The commit message does not follow conventions."
10+
echo "The message must begin with one of the following keywords: feat, fix, docs, style, refactor, test, chore."
11+
exit 1
12+
fi

dataset/processed/test_data.csv

Lines changed: 52 additions & 0 deletions
Large diffs are not rendered by default.

dataset/processed/train_data.csv

Lines changed: 201 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)