- Sử dụng anaconda để tạo virtual environment.
- Bật terminal chạy command sau:
conda activate
. - Tạo virtual environment có tên
datamining
:conda create --name datamining python=3.8
. - Chạy command:
conda activate datamining
, để khởi động virtual environmentdatamining
vừa tạo. - Clone src code về máy
git clone https://github.com/duongngyn0510/Content-based-job-recommendation.git
(lưu ý phải cài đặt Gitbash). - Change dir để tới folder sau khi clone:
cd Content-based-job-recommendation
. - Do tập data lớn hơn so với giới hạn quả github nên sẽ tải data trực tiếp về máy. Sẽ có 4 file data cần tải đó là:
Combined_Jobs_Final.csv
,Experience.csv
,Job_Views.csv
vàPositions_Of_Interest.csv
. - Tạo thêm folder
data
tại chính folderContent-based-job-recommendation
rồi copy 4 file vừa tải xuống vào folderdata
. - Cài đặt thư viện: bật terminal chạy command:
pip install -r requirements.txt
. - Chạy file
recommend.ipynb
để thực hiện đề xuất cho các user.
Lưu ý: Để có thể chạy để xuất thành công cho các Applicant.ID nhiều lần thì máy phải có tối thiếu RAM 8GB
bert_pretrained_vector
: chứa feature vector pretrained BERT của JOB POSITION, trong đópos_feature_vector.pt
sử dụng pretrained BERT để feature extraction.data
: chứa data ban đầu, trong đóCombined_Jobs_Final.csv
có mục đích để tạo job corpus,Experience.csv
,Job_Views.csv
vàPositions_Of_Interest.csv
để tạo user corpusclean_data
chứa data sau khi được clean, trong đófinal_df_jobs.csv
là data của job corpus,final_user_df.csv
là data của user corpusnpz_file
: chứa feature vector của tập job, trong đócount_jobid.npz
: sử dụng Bag-of-word,tfidf_jobid.npz
sử dụng Tf-idf để feature extraction.pkl_file
: chứa các file pkl.bert_extract_feature.py
: file feature extraction sử dụng BERT.clean.py
: file clean data.extract_feature.py
: file feature extraction cho JOB và USER (sử dụng TF-IDF, BOW, KNN, BERT).job_corpus.iypnb
: file tạo job corpus từCombined_Jobs_Final.csv
.user_corpus.iypnb
: file tạo user corpus từExperience.csv
,Job_Views.csv
vàPositions_Of_Interest.csv
.requirements.txt
: chứa các thư viện cần thiết.utils.py
: chứa các function cần thiết.recommend.ipynb
: file đề xuất các job cho từngApplicant.ID
Đề có thể đề xuất cho các Applicant.ID
, ta chạy từng cell trong recommend.ipynb
.
Với người dùng có Applicant.ID = 326
với vị trí kinh nghiệm là java developer
.