Giới thiệu dự án

Bối cảnh thị trường và vấn đề thực tiễn

Theo Báo cáo Thị trường Nhân lực Công nghệ Thông tin (CNTT) Việt Nam do TopDev công bố, nhu cầu nhân sự ngành CNTT tại Việt Nam giai đoạn 2021–2022 vượt mức 450.000 kỹ sư, trong khi nguồn cung thực tế chỉ đạt xấp xỉ 430.000 người, tạo ra mức thiếu hụt cố hữu hơn 20.000 vị trí chuyên môn cao mỗi năm. Đặc biệt, chỉ khoảng 30% trong tổng số 55.000 sinh viên tốt nghiệp khối ngành CNTT hàng năm đáp ứng đầy đủ tiêu chuẩn tuyển dụng thực tế của doanh nghiệp.

Trong giai đoạn mở rộng sản xuất phần mềm và chuyển đổi số hậu đại dịch COVID-19, các doanh nghiệp phần mềm quy mô lớn như Công ty Cổ phần Phần mềm BRAVO tiếp nhận trung bình từ 100 đến 500 hồ sơ ứng tuyển (Curriculum Vitae – CV) mỗi ngày. Quy trình sàng lọc sơ loại thủ công truyền thống bộc lộ nhiều điểm nghẽn nghiêm trọng:

  • Áp lực thời gian và nhân lực: Phòng Quản lý Tổng hợp chỉ có từ 5 cán bộ nhân sự (CBNS) trực tiếp xử lý hồ sơ, khiến thời gian sơ duyệt kéo dài 4–5 ngày làm việc cho mỗi đợt tuyển dụng.
  • Rủi ro thiên vị phi chủ quan: Việc đánh giá thủ công tiềm ẩn định kiến vô thức (unconscious bias) về độ tuổi, giới tính, trường đào tạo hoặc quê quán.
  • Nguy cơ bỏ lỡ nhân tài: Tốc độ phản hồi chậm khiến các ứng viên xuất sắc nhận lời mời làm việc từ các đối thủ cạnh tranh trước khi doanh nghiệp kịp lên lịch phỏng vấn.
[Hàng trăm CV/ngày (PDF/DOCX)] 

Mục tiêu của đề tài

  1. Thu thập, chuẩn hóa và xây dựng bộ ngữ liệu gồm 719 CV thực tế thuộc 19 vị trí công việc đặc thù trong ngành CNTT tại Công ty Cổ phần Phần mềm BRAVO.
  2. Thiết kế đường ống (pipeline) xử lý ngôn ngữ tự nhiên (NLP): trích xuất văn bản từ tệp PDF, làm sạch ký tự nhiễu, chuẩn hóa từ vựng song ngữ (Anh - Việt) và trích chọn đặc trưng bằng thuật toán TF-IDF (Term Frequency - Inverse Document Frequency).
  3. Huấn luyện, đánh giá và so sánh thực nghiệm hiệu năng của 4 mô hình học máy có giám sát: k-Nearest Neighbors ($k$-NN), Support Vector Machine (SVM), Naive Bayes (MultinomialNB) và Decision Tree.
  4. Xây dựng phương án tích hợp mô hình phân loại tự động vào phân hệ Quản lý Nhân sự của hệ thống ERP BRAVO 8R2.

Phương pháp tiếp cận và kết quả kỳ vọng

Giải pháp áp dụng mô hình phân loại văn bản đa lớp (Multi-class Text Classification) kết hợp biểu diễn không gian vector (Vector Space Model). Dự án kỳ vọng rút ngắn 85% thời gian lọc hồ sơ ban đầu, đạt độ chính xác phân loại tối thiểu 90% trên tập dữ liệu thử nghiệm độc lập, đồng thời hỗ trợ trích xuất tự động dữ liệu ứng viên vào cơ sở dữ liệu nhân sự tập trung.

Phạm vi và giới hạn nghiên cứu

  • Phạm vi dữ liệu: Dữ liệu nghiên cứu thu thập tại Nhóm Hành chính Nhân sự – Phòng Quản lý Tổng hợp, Công ty Cổ phần Phần mềm BRAVO (thời gian từ 04/2021 đến 04/2022) cùng một số nguồn diễn đàn tuyển dụng CNTT uy tín.
  • Giới hạn kỹ thuật: Hệ thống tập trung giải quyết bài toán phân loại vị trí công việc phù hợp dựa trên nội dung văn bản CV; chưa giải quyết bài toán chấm điểm độ khớp kinh nghiệm chuyên sâu hoặc trích xuất biểu đồ quan hệ thực thể phức tạp.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Sàng lọc thủ công (Manual Excel) Hệ thống ATS dựa trên từ khóa Giải pháp Học máy + TF-IDF (Đề tài)
Tốc độ xử lý 5–10 phút/CV 1–2 giây/CV < 0.5 giây/CV
Chi phí nhân sự Rất cao (chiếm 60% quỹ thời gian HR) Trung bình (cần cấu hình từ khóa) Thấp (hoàn toàn tự động)
Khả năng khái quát Phụ thuộc cảm tính người duyệt Kém (bỏ sót từ đồng nghĩa, viết tắt) Cao (học từ phân phối ngữ liệu)
Xử lý nhiễu dữ liệu Thủ công, dễ nhầm lẫn Dễ lỗi khi sai định dạng từ Chuẩn hóa tiền xử lý bằng Regex
Khả năng mở rộng Không thể mở rộng quy mô lớn Mở rộng ở mức cơ bản Tích hợp linh hoạt qua RESTful API

Yêu cầu người dùng theo mô hình MoSCoW

  • Must have (Bắt buộc): Trích xuất văn bản từ CV PDF; loại bỏ ký tự rác; chuẩn hóa tên vị trí; vector hóa văn bản bằng TF-IDF; phân loại chính xác 19 vị trí công việc.
  • Should have (Nên có): Bảng điều khiển ma trận nhầm lẫn (Confusion Matrix); khả năng tiếp nhận file PDF đơn lẻ và xuất nhãn dự đoán tức thì.
  • Could have (Có thể có): Gợi ý 3 vị trí phù hợp nhất theo thứ tự xác suất phân phối; module cảnh báo hồ sơ trùng lặp.
  • Won't have (Chưa hỗ trợ): Nhận diện khuôn mặt ứng viên trong ảnh CV; tự động gửi email phản hồi từ chối ứng viên.

Thiết kế hệ thống

graph TD
    A[CV Ứng viên PDF/DOCX] --> B[Module Trích xuất PyPDF2 / PDFelement]
    B --> C[Module Tiền xử lý & Làm sạch Regex]
    C --> D[Chuẩn hóa Danh mục Vị trí Jobs]
    D --> E[Trích chọn Đặc trưng TF-IDF Vectorizer]
    E --> F[Mô hình Học máy Phân loại SVM / k-NN / NB / Tree]
    F --> G[Nhãn Vị trí Công việc Dự đoán]
    G --> H[Module Tích hợp BRAVO 8R2 ERP / API]

Ngăn xếp công nghệ (Technology Stack)

  • Ngôn ngữ lập trình: Python (Phiên bản 3.9.12)
  • Thư viện Máy học & Khoa học Dữ liệu: scikit-learn (v1.1.2), numpy (v1.23.1), pandas (v1.4.3)
  • Xử lý văn bản & Trích xuất tài liệu: PyPDF2 (v2.11.1), re (Regular Expression Engine tích hợp)
  • Công cụ chuyển đổi tài liệu: Wondershare PDFelement Professional (v8.x)
  • Môi trường thực thi & Triển khai: Jupyter Notebook, Flask RESTful API (v2.2.2), Hệ quản trị BRAVO 8R2 ERP

Cấu trúc thuộc tính dữ liệu đầu vào và đầu ra

Trường dữ liệu Kiểu dữ liệu Mô tả kỹ thuật Mục đích sử dụng
Candidate_Name String Tên đầy đủ của ứng viên Định danh hồ sơ (loại bỏ khi train)
Raw_CV_Text Text / String Văn bản thô giải mã từ tệp PDF Dữ liệu đầu vào cho pipeline NLP
Cleaned_Text Text / String Văn bản sau lọc bỏ ký tự đặc biệt, stop-words Tạo ma trận không gian vector
Jobs_Raw Categorical Tên vị trí tuyển dụng gốc Nhãn mục tiêu trước chuẩn hóa
Jobs_Encoded Integer (0..18) Nhãn mục tiêu sau khi Label Encoding Biến phụ thuộc $Y$ cho mô hình ML

Phương pháp luận phát triển (Methodology)

Dự án áp dụng phương pháp nghiên cứu thực nghiệm lặp (Iterative Experimental Methodology) qua 4 giai đoạn chuẩn:

  1. Khảo sát & Thu thập: Thu thập 719 hồ sơ ứng viên tại BRAVO Software (187 CV dạng PDF nguyên bản, 532 hồ sơ kỹ năng trích xuất từ Excel).
  2. Kỹ thuật dữ liệu: Làm sạch, xử lý dữ liệu khuyết thiếu, khử nhiễu tên công việc, trích xuất đặc trưng với mô hình TF-IDF.
  3. Huấn luyện mô hình: Phân chia tập dữ liệu theo tỷ lệ 80% Training (571 bản ghi) và 20% Testing (143 bản ghi); áp dụng kỹ thuật Stratified Cross-Validation để tránh mất cân bằng lớp.
  4. Đánh giá & Thử nghiệm: Đo lường Precision, Recall, F1-Score, vẽ ma trận nhầm lẫn và kiểm thử dữ liệu thực tế ngoài bộ dữ liệu huấn luyện.

Implementation và kết quả

Quy trình phát triển và thuật toán lõi

1. Tiền xử lý văn bản và khử nhiễu

Dữ liệu văn bản từ CV chứa nhiều ký tự đặc biệt, dấu xuống dòng và ký tự mã hóa lỗi. Hệ thống sử dụng biểu thức chính quy (Regex) để làm sạch toàn bộ văn bản đầu vào:

import re
import pandas as pd

def clean_resume_text(text: str) -> str:
    """
    Tiền xử lý và làm sạch chuỗi văn bản CV.
    Loại bỏ URLs, hashtag, email, ký tự đặc biệt và khoảng trắng thừa.
    """
    if not isinstance(text, str):
        return ""
    # Loại bỏ URL và đường dẫn liên kết
    text = re.sub(r'http\S+\s*', ' ', text)
    # Loại bỏ địa chỉ Email
    text = re.sub(r'\S*@\S*\s?', ' ', text)
    # Loại bỏ ký tự đặc biệt, giữ lại chữ cái và chữ số
    text = re.sub(r'[%s]' % re.escape("""!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"""), ' ', text)
    # Loại bỏ các ký tự phi chuẩn ASCII
    text = re.sub(r'[^\x00-\x7f]', ' ', text)
    # Chuẩn hóa nhiều khoảng trắng thành một khoảng trắng đơn
    text = re.sub(r'\s+', ' ', text)
    return text.strip().lower()

2. Chuẩn hóa nhãn danh mục nghề nghiệp (Target Label Normalization)

Dữ liệu nhãn công việc thu thập từ các nguồn khác nhau thường không đồng nhất về ngôn ngữ và cách viết hoa/thường. Bảng quy đổi chuẩn hóa được triển khai trực tiếp:

job_mapping = {
    'NVKD': 'Sales',
    'Frontend Developer': 'Front-End',
    'Frontend': 'Front-End',
    'Lập trình viên': 'Developer',
    'BACK END Developer': 'Back-End',
    'Back-end': 'Back-End',
    'JavaScript': 'Java Developer',
    'Javascript Developer': 'Java Developer',
    'Triển khai': 'Software Deployment Staff',
    'Phát triển sản phẩm': 'Product Development Staff',
    'Bảo hành': 'Maintenance Staff',
    'Giải pháp - Tư vấn': 'Solution Consultant'
}
df['Jobs_Cleaned'] = df['Jobs'].replace(job_mapping)

3. Trích chọn đặc trưng TF-IDF và Huấn luyện mô hình

Không gian vector được trích xuất bằng thuật toán TF-IDF theo công thức: $$tf_idf(t, d, D) = tf(t, d) \times \log\left(\frac{N}{|{d \in D: t \in d}|}\right)$$

Trong đó $tf(t, d)$ là tần suất xuất hiện của từ khóa $t$ trong hồ sơ $d$, và $N$ là tổng số lượng CV trong tập ngữ liệu $D$.

from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.preprocessing import LabelEncoder
from sklearn.svm import SVC
from sklearn.metrics import classification_report, accuracy_score

# 1. Mã hóa nhãn mục tiêu sang dạng số nguyên
label_encoder = LabelEncoder()
y = label_encoder.fit_transform(df['Jobs_Cleaned'])

# 2. Phân chia tập huấn luyện và kiểm thử (80/20)
X_train_raw, X_test_raw, y_train, y_test = train_test_split(
    df['Cleaned_CV'], y, test_size=0.2, random_state=42, stratify=y
)

# 3. Trích xuất đặc trưng với TF-IDF
tfidf_vectorizer = TfidfVectorizer(sublinear_tf=True, min_df=2, stop_words='english')
X_train = tfidf_vectorizer.fit_transform(X_train_raw)
X_test = tfidf_vectorizer.transform(X_test_raw)

# 4. Huấn luyện mô hình Support Vector Machine (RBF Kernel)
svm_model = SVC(kernel='linear', C=1.0, random_state=42)
svm_model.fit(X_train, y_train)

# 5. Đánh giá trên tập kiểm thử
y_pred = svm_model.predict(X_test)
print(f"Test Accuracy: {accuracy_score(y_test, y_pred) * 100:.2f}%")

Đánh giá và kiểm thử thực nghiệm

Bảng so sánh hiệu năng các thuật toán trên tập Test (143 mẫu)

Thuật toán Máy học Độ chính xác (Accuracy) Macro Precision Macro Recall Macro F1-Score Thời gian dự đoán (Latency/CV)
Support Vector Machine (SVM) 97.90% 0.98 0.97 0.97 1.2 ms
k-Nearest Neighbors ($k$-NN, $k=5$) 95.80% 0.96 0.94 0.95 3.8 ms
Multinomial Naive Bayes 93.71% 0.94 0.92 0.93 0.8 ms
Decision Tree (CART) 88.11% 0.89 0.87 0.88 1.1 ms

Phân tích ma trận sai số (Confusion Matrix)

  • Mô hình SVM đạt độ chính xác cao nhất (97.90%), phân loại chính xác hầu hết các vị trí đặc thù kỹ thuật rõ ràng như Blockchain, Data Science, Java Developer, Mechanical Engineer.
  • Một số nhầm lẫn nhỏ xuất hiện giữa vị trí Business Analyst (BA)Tester (ví dụ: mẫu hồ sơ số 553 vị trí BA bị dự đoán nhầm thành Tester) do hai vị trí này có sự giao thoa lớn về các thuật ngữ kỹ thuật trong CV như: software requirements, test case, UAT, agile/scrumsystem workflow.

Đổi mới và đóng góp

Cải tiến kỹ thuật

  1. Chuẩn hóa dữ liệu đa ngôn ngữ ngành IT: Xây dựng thành công từ điển ánh xạ và quy chuẩn danh mục công việc kỹ thuật tiếng Việt - tiếng Anh, khắc phục tình trạng phân mảnh định dạng nhãn dữ liệu trong thực tế doanh nghiệp Việt Nam.
  2. Pipeline chuyển đổi PDF hàng loạt tối ưu: Kết hợp công cụ trích xuất cấu trúc văn bản không suy hao ký tự tiếng Việt có dấu, duy trì tính vẹn toàn ngữ nghĩa của thuật ngữ chuyên ngành CNTT.
  3. Mô hình hóa không gian vector nhẹ và hiệu năng cao: Bằng việc tinh chỉnh tham số sublinear_tf=Truemin_df=2 trên bộ từ vựng TF-IDF, kích thước không gian vector được tối ưu hóa, đảm bảo tốc độ phản hồi dưới 2 mili-giây trên mỗi tệp dữ liệu mà không đòi hỏi phần cứng GPU đắt tiền.

So sánh với các nghiên cứu tiền nhiệm

Nghiên cứu Phương pháp sử dụng Quy mô dữ liệu Kết quả độ chính xác Hạn chế chính
Soni et al. (2021) [7] $k$-NN + Cosine Similarity ~500 CV tiếng Anh 98.96% Chỉ hỗ trợ dữ liệu đơn ngữ tiếng Anh
Pal et al. (2020) [10] One-vs-Rest + $k$-NN 962 CV (25 vị trí) 99.00% Chi phí tính toán cao khi mở rộng số lớp
Đề tài nghiên cứu này SVM / $k$-NN + TF-IDF 719 CV (19 vị trí) 97.90% (SVM) Xử lý hoàn chỉnh ngữ liệu song ngữ Anh - Việt

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng tại doanh nghiệp

Giải pháp được thiết kế nhằm tích hợp trực tiếp vào quy trình tiếp nhận ứng viên của phần mềm BRAVO 8R2 ERP:

[Ứng viên nộp CV qua Website/Email]
                                  [Mô hình SVM dự đoán Vị trí]
[Phân hệ Tuyển dụng BRAVO 8R2: Tự động điền Form hồ sơ + Gán phòng ban tiếp nhận]
  1. Bước 1: Tiếp nhận tự động: Ứng viên gửi CV qua cổng tuyển dụng hoặc email tuyendunghn@bravo.vn.
  2. Bước 2: Phân loại thời gian thực: Webhook kích hoạt API Python trích xuất văn bản, làm sạch và đưa qua mô hình SVM để phân loại vào đúng 1 trong 19 vị trí tuyển dụng.
  3. Bước 3: Điều hướng duyệt hồ sơ: Hồ sơ kèm nhãn dự đoán được chuyển trực tiếp đến Trưởng bộ phận phụ trách chuyên môn (Khối Kỹ thuật, Khối Công nghệ hoặc Khối Tư vấn Giải pháp) trên giao diện BRAVO 8R2 để duyệt phỏng vấn.

Đánh giá hiệu quả kinh tế (ROI)

  • Tiết kiệm thời gian sàng lọc: Giảm thời gian xử lý hồ sơ sơ loại từ 4 ngày xuống còn dưới 15 phút cho toàn bộ đợt tiếp nhận hàng trăm hồ sơ.
  • Tối ưu hóa năng suất: Giải phóng 80% khối lượng công việc sự vụ thủ công cho 5 cán bộ nhân sự, cho phép nhân sự tập trung vào các nghiệp vụ giá trị cao như phỏng vấn sâu và nâng cao trải nghiệm ứng viên.
  • Tốc độ phản hồi ứng viên: Rút ngắn thời gian từ lúc nhận CV đến lúc gửi thư mời phỏng vấn xuống dưới 24 giờ, tăng 35% tỷ lệ giữ chân các ứng viên CNTT xuất sắc.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Quy mô tập dữ liệu: Tập dữ liệu 719 bản ghi tuy đáp ứng tốt yêu cầu phân loại thực nghiệm nhưng còn khiêm tốn đối với các vị trí có ít mẫu dữ liệu (như Blockchain hoặc Mechanical Engineer).
  • Hạn chế đối với định dạng CV dạng ảnh: Pipeline trích xuất hiện tại chỉ xử lý tốt định dạng PDF chứa lớp văn bản (text-based PDF), chưa tích hợp module OCR để quét các CV thiết kế đồ họa lưu dưới dạng ảnh raster.
  • Sự phụ thuộc vào cấu trúc ngữ nghĩa đơn lẻ: Phương pháp TF-IDF chỉ đánh giá trọng số từ khóa đơn lẻ, chưa bao hàm trọn vẹn mối quan hệ ngữ cảnh phân tầng sâu như các mô hình ngôn ngữ lớn hiện đại.

Hướng nghiên cứu và phát triển tương lai

  • Tích hợp mô hình ngôn ngữ tiền huấn luyện: Nghiên cứu tích hợp các mô hình Transformer như PhoBERT hoặc ViBERT để hiểu sâu hơn ngữ cảnh ngữ nghĩa tiếng Việt chuyên ngành.
  • Bổ sung Module OCR nâng cao: Tích hợp Tesseract OCR hoặc Google Vision API để trích xuất nội dung từ các CV dạng ảnh quét phức tạp.
  • Chức năng chấm điểm độ khớp công việc (Resume-Job Matching): Phát triển tính năng trích xuất kinh nghiệm, kỹ năng và tính toán độ tương đồng Cosine giữa hồ sơ ứng viên và Bản mô tả công việc (Job Description – JD) cụ thể.

Đối tượng hưởng lợi

  • Sinh viên & Học viên chuyên ngành HTTT/CNTT: Cung cấp tài liệu tham khảo thực nghiệm hoàn chỉnh về quy trình xây dựng ứng dụng Máy học trong xử lý văn bản thực tế, từ tiền xử lý dữ liệu đến đánh giá mô hình.
  • Kỹ sư Phần mềm & Nhà phát triển Máy học: Cung cấp mã nguồn tham khảo chuẩn mực về pipeline NLP, trích chọn đặc trưng TF-IDF và kỹ thuật giải quyết bài toán mất cân bằng nhãn văn bản.
  • Doanh nghiệp & Bộ phận Nhân sự: Sở hữu giải pháp tự động hóa quy trình tuyển dụng khả thi, chi phí vận hành thấp, dễ dàng tích hợp vào các hệ thống quản trị nguồn lực doanh nghiệp (ERP/HRM).
  • Nhà nghiên cứu Khoa học Dữ liệu: Đóng góp bộ số liệu thực nghiệm so sánh đa mô hình có giám sát trên tập ngữ liệu tuyển dụng ngành CNTT tại thị trường Việt Nam.

Câu hỏi thường gặp

1. Yêu cầu phần cứng và môi trường để triển khai mô hình là gì?

Hệ thống sử dụng các thuật toán máy học truyền thống (SVM, k-NN) kết hợp TF-IDF nên có chi phí tính toán rất thấp. Máy chủ chỉ cần cấu hình tối thiểu: 2 vCPU, 2GB RAM, môi trường cài đặt Python 3.9+ cùng các thư viện mã nguồn mở tiêu chuẩn, không yêu cầu GPU chuyên dụng.

2. Mô hình xử lý như thế nào khi gặp CV viết hoàn toàn bằng tiếng Anh hoặc tiếng Việt?

Bộ tiền xử lý được thiết kế đặc thù cho dữ liệu song ngữ: loại bỏ dấu tiếng Việt chuẩn và các ký tự đặc biệt, đồng thời từ vựng kỹ thuật CNTT (như Python, Java, SQL, Tester, Backend) được giữ nguyên vẹn giúp ma trận đặc trưng TF-IDF nhận diện chính xác từ khóa trọng tâm ở cả hai ngôn ngữ.

3. Làm thế nào để mở rộng mô hình khi doanh nghiệp mở thêm vị trí tuyển dụng mới?

Doanh nghiệp chỉ cần bổ sung các mẫu CV của vị trí mới vào tập dữ liệu huấn luyện, cập nhật bảng ánh xạ job_mapping và thực hiện tái huấn luyện (retrain) mô hình SVM. Toàn bộ quá trình huấn luyện lại trên tập dữ liệu vài nghìn mẫu chỉ mất dưới 1 phút.

4. Hệ thống có nguy cơ làm lộ thông tin cá nhân của ứng viên không?

Trong quá trình tiền xử lý, toàn bộ thông tin định danh như Họ tên (Candidate_Name), Số điện thoại, Email và Địa chỉ đều được loại bỏ trước khi đưa vào pipeline trích xuất đặc trưng TF-IDF, đảm bảo tuân thủ nghiêm ngặt các quy định về bảo mật dữ liệu cá nhân.

5. Tại sao mô hình SVM lại đạt hiệu năng vượt trội hơn Cây quyết định (Decision Tree)?

Không gian vector sinh ra từ thuật toán TF-IDF có số chiều rất lớn (hàng nghìn thuộc tính từ vựng) và có tính chất thưa (sparse matrix). Thuật toán SVM với siêu phẳng phân cách tối ưu phân loại cực kỳ hiệu quả trong không gian nhiều chiều, trong khi Cây quyết định dễ bị phân mảnh và phân nhánh quá khớp (overfitting) trên dữ liệu văn bản thưa.


Kết luận

Khóa luận tốt nghiệp đã giải quyết thành công bài toán tự động hóa phân loại CV ứng tuyển trong lĩnh vực Công nghệ Thông tin bằng việc kết hợp các kỹ thuật Xử lý Ngôn ngữ Tự nhiên và Học máy có giám sát. Với độ chính xác đạt 97.90% trên mô hình Support Vector Machine, giải pháp chứng minh tính khả thi vượt trội trong việc thay thế các thao tác lọc hồ sơ thủ công tốn kém, đảm bảo tính khách quan và nâng cao năng suất tuyển dụng. Đây là tiền đề vững chắc để triển khai tích hợp trực tiếp vào phân hệ Nhân sự của các nền tảng ERP hiện đại như BRAVO 8R2, mở ra hướng ứng dụng Trí tuệ Nhân tạo thiết thực và bền vững trong quản trị doanh nghiệp.