Dự đoán công việc gian lận

Dec 05 2022
Một bộ phân loại dự đoán liệu một công việc là thật hay giả Giới thiệu Đã có sự gia tăng các tin tuyển dụng giả mạo trong những năm qua do lượng người dùng tăng nhanh trong thế giới kỹ thuật số. Các yếu tố như COVID 19 và suy thoái kinh tế toàn cầu sắp xảy ra đã phá vỡ hoàn toàn thị trường việc làm và dẫn đến tình trạng sa thải hàng loạt.

Một bộ phân loại dự đoán một công việc là thật hay giả

Giới thiệu

Đã có sự gia tăng các tin tuyển dụng giả mạo trong những năm qua do lượng người dùng tăng nhanh trong thế giới kỹ thuật số. Các yếu tố như COVID 19 và suy thoái kinh tế toàn cầu sắp xảy ra đã phá vỡ hoàn toàn thị trường việc làm và dẫn đến tình trạng sa thải hàng loạt. Hơn 20.700 vụ lừa đảo cơ hội kinh doanh và việc làm đã được báo cáo trong quý đầu tiên của năm 2022, với khoảng một phần ba trong số đó gây thiệt hại tài chính cho nạn nhân. Việc đóng băng tuyển dụng gần đây và sa thải quy mô lớn của những gã khổng lồ công nghệ như Google, Facebook và Apple là bằng chứng rõ ràng hơn cho thấy thị trường việc làm toàn cầu đang xuống dốc.

Tỷ lệ thất nghiệp gia tăng này đã tạo tiền đề cho những kẻ lừa đảo săn lùng những người gần như không thể bám víu vào tình hình tài chính của họ. Những kẻ lừa đảo này đăng những lời hứa gian dối về một công việc để lôi kéo người tìm việc nộp đơn. Thông thường, những lời mời làm việc này chứa đựng những cơ hội nghề nghiệp cực kỳ hấp dẫn mà đôi khi đòi hỏi sự đầu tư từ người nộp đơn. Ngay cả khi không cần đầu tư, những tin tuyển dụng lừa đảo này cho phép kẻ lừa đảo lấy thông tin cá nhân như thông tin tài khoản ngân hàng, số an sinh xã hội, địa chỉ, v.v. Thông tin này sau đó có thể được sử dụng để đánh cắp danh tính hoặc gian lận tài chính.

Trọng tâm của chúng tôi là dự đoán, với độ chính xác phù hợp, nếu một tin tuyển dụng cụ thể là thật hay giả dựa trên thông tin được cung cấp trong tin đăng.

tập dữ liệu

Dự án này sử dụng tập dữ liệu được cung cấp trên Kaggle . Vì bộ dữ liệu này chứa 18.000 mục nhập nên nó có thể được phân loại là mẫu vì dữ liệu chỉ được thu thập cho một phần nhỏ của tổng thể. Chúng tôi đã chọn tập dữ liệu cụ thể này vì nó có một bộ tính năng phong phú bao gồm cả mô tả công việc dạng văn bản và thông tin meta về công việc. Đây là một đoạn hiển thị tất cả các cột có trong dữ liệu:

Có 17 cột trong tập dữ liệu mà chúng tôi đã chọn trong đó 16 cột đầu tiên là cột tính năng và cột cuối cùng là cột đầu ra. Các cột tính năng là sự kết hợp của các kiểu dữ liệu số nguyên, nhị phân và văn bản trong khi cột đầu ra là một boolean. Giá trị 0 trong cột 'gian lận' cho biết công việc đã đăng là có thật trong khi giá trị 1 cho biết công việc đó là giả mạo.

Chúng tôi tin rằng tập dữ liệu rất có giá trị vì nó chứa tất cả các tính năng chính có thể cho phép chúng tôi tạo mô hình phân loại có thể xác định các mô tả công việc giả mạo.

Bàn thắng

Dựa trên Phân tích dữ liệu khám phá (EDA) bên dưới, chúng tôi đưa ra danh sách rút gọn hai câu hỏi nghiên cứu sau cho dự án của mình:

RQ1: Một số dấu hiệu mà người tìm việc có thể sử dụng để phát hiện ra những lời mời làm việc giả mạo là gì?

RQ2: Chúng tôi có thể đào tạo một mô hình phân loại có thể xác định đầy đủ xem tin tuyển dụng là thật hay giả không?

Phân tích dữ liệu khám phá

Chúng tôi bắt đầu phân tích bằng cách trực quan hóa số lượng giá trị NaN có trong mỗi cột của tập dữ liệu bằng cách sử dụng biểu đồ thanh.

Hình ảnh trực quan cho thấy rằng các cột “phòng ban” và “phạm vi lương” có số lượng giá trị NaN cao. Kết quả là hai cột này bị loại bỏ.

Khoảng 95% mô tả công việc là thật trong khi chỉ có 5% công việc là giả. Vì tỷ lệ lớp học bị sai lệch cao, chúng tôi đang xử lý dữ liệu mất cân bằng trong đó các công việc gian lận hình thành từ lớp thiểu số. Chúng tôi hình dung số lượng công việc thực và giả dưới đây.

Bây giờ, chúng ta đã hoàn thành việc làm sạch dữ liệu ban đầu và trực quan hóa số lượng lớp riêng lẻ, chúng ta có thể tiến hành xác định các xu hướng khác nhau có trong tập dữ liệu. Bước đầu tiên là phân tích mối quan hệ giữa các dữ liệu số. Bản đồ nhiệt tương quan bên dưới cho thấy không có bất kỳ mối tương quan tích cực hoặc tiêu cực mạnh mẽ nào giữa dữ liệu số.

Khi lướt qua bộ dữ liệu, rõ ràng là nó chứa các mục nhập từ khắp nơi trên thế giới. Để đánh giá chính xác nhân khẩu học hiện tại, chúng tôi vẽ sơ đồ Số lượng Công việc ở mỗi Quốc gia.

Như có thể thấy trong cốt truyện, phần lớn (hơn 10 nghìn việc làm) các công việc chỉ đến từ Hoa Kỳ (Mỹ) và bằng tiếng Anh. Do đó, chúng tôi chỉ lọc các tin tuyển dụng từ Hoa Kỳ để tránh các vấn đề về ngôn ngữ. Quyết định này được đưa ra dựa trên kế hoạch sử dụng nhúng từ và các kỹ thuật Xử lý ngôn ngữ tự nhiên khác của chúng tôi để đào tạo một mô hình theo ngữ cảnh về mô tả công việc và các tính năng văn bản khác nhằm dự đoán công việc giả mạo.

Để dễ xử lý, chúng tôi chia cột vị trí thành quốc gia, tiểu bang và thành phố. Cột "vị trí" ban đầu bị loại bỏ. Ngoài ra, chúng tôi đã xóa các hàng có trạng thái và thành phố trống hoặc NaN để tránh sự cố khi xử lý dữ liệu.

Vì tập dữ liệu của chúng tôi hiện chỉ chứa các giá trị từ Hoa Kỳ nên chúng tôi có thể thấy sự so sánh giữa số lượng công việc gian lận và thực tế ở mỗi tiểu bang. Biểu đồ bên dưới cho thấy New York, California và Texas có số lượng tin tuyển dụng thật nhiều nhất và số lượng tin tuyển dụng giả cũng cao nhất tương ứng. Như đã thấy, Texas và California có số lượng tin tuyển dụng giả cao hơn New York.

Tuy nhiên, phân tích trực quan như vậy không thể hiện chính xác số lượng tin tuyển dụng giả khi so sánh với tin tuyển dụng thực tế. Do đó, các tiểu bang và thành phố có điều kiện dựa trên dữ liệu gian lận và tỷ lệ giữa việc làm giả và thật được tính toán. Ví dụ,

Chỉ những thành phố có tỷ lệ > 1 tức là có nhiều công việc giả mạo hơn công việc thực tế mới được hiển thị trên biểu đồ thanh để tránh lộn xộn.

Để điều tra việc phân phối các công việc giả mạo cho các lớp khác nhau trong các cột: loại công việc, kinh nghiệm cần thiết, trình độ học vấn cần thiết, has_company_logo và chức năng; dữ liệu của họ đã được vẽ như hình dưới đây.

Tóm lại các biểu đồ này, các công việc giả mạo thường là các vị trí toàn thời gian, trình độ đầu vào, kỹ thuật và hành chính, thường có trình độ học vấn bắt buộc tương đương với bằng tốt nghiệp trung học. Các công ty không có logo có cơ hội đăng việc làm giả cao hơn các công ty khác.

Cuối cùng, để phân tích tổng thể trên các cột văn bản, tất cả chúng được kết hợp trong một cột trong đó biểu đồ được vẽ để quan sát sự khác biệt về số lượng ký tự giữa các công việc gian lận và không gian lận. Như đã thấy, các công việc gian lận có ít lời hơn đáng kể so với các công việc không gian lận.

phân loại

Bộ tính năng

Chúng tôi đối chiếu tất cả các cột văn bản thành một cột duy nhất để dễ xử lý. Các cột văn bản riêng lẻ bị loại bỏ. Chúng tôi thêm tổng số ký tự của văn bản được đối chiếu dưới dạng một cột khác.

Chia bài kiểm tra tàu hỏa

Sau đó, chúng tôi chia dữ liệu thành các bộ đào tạo và xác nhận. Chúng tôi thực hiện đào tạo 70% - phân chia kiểm tra 30% . Dữ liệu đào tạo của chúng tôi có 6.923 công việc trong đó 442 (6,4 %) là giả mạo. Dữ liệu thử nghiệm của chúng tôi có 2.968 công việc trong đó 187 (6,3 %) là giả mạo.

số liệu đánh giá

Chúng tôi sử dụng bốn chỉ số sau để đánh giá một mô hình phân loại:

  1. Sự chính xác

3. Nhớ lại

4. Điểm F1

Tập huấn

Trước tiên, chúng tôi cố gắng dự đoán xem một công việc là thật hay giả bằng cách sử dụng các đặc điểm số trong dữ liệu.

Chúng tôi đào tạo và đánh giá các mô hình phân loại sau:

1. Hồi quy logistic

2. Trình phân loại máy véc tơ hỗ trợ (SVM) tức là SVC

3. Phân loại rừng ngẫu nhiên

Kết quả của ba cách tiếp cận này được tóm tắt trong bảng dưới đây:

Kết quả phân loại chỉ sử dụng các tính năng số

Mặc dù Trình phân loại rừng ngẫu nhiên có thể thực hiện phân loại chính xác đáng kể, nhưng cả ba mô hình phân loại được đào tạo chỉ sử dụng các tính năng số đều có độ chính xác, khả năng thu hồi và điểm F1 rất thấp.

Ma trận nhầm lẫn cho bộ phân loại rừng ngẫu nhiên chỉ được đào tạo trên dữ liệu số: Mặc dù mô hình có thể đạt được độ chính xác cao đáng kể, nhưng nó chỉ dự đoán các công việc giả mạo với độ chính xác khoảng 37%. Độ chính xác cao của mô hình là do nó dự đoán chính xác các công việc thực tế với độ chính xác gần như hoàn hảo là 94,4%. Vì 95% công việc trong dữ liệu của chúng tôi là có thật, điều này đạt được độ chính xác tổng thể cao.

Vì không có mô hình nào được đào tạo về các đặc điểm số có thể phân loại chính xác các công việc giả mạo nên chúng tôi phải sử dụng các đặc điểm văn bản thông qua các kỹ thuật Xử lý ngôn ngữ tự nhiên để đưa ra dự đoán tốt hơn.

Xử lý ngôn ngữ tự nhiên

Chúng tôi thực hiện một đường ống với các bước sau:

  1. CountVectorizer : Tiền xử lý văn bản, mã thông báo và lọc các từ dừng đều được bao gồm trong CountVectorizer, giúp xây dựng từ điển các tính năng và chuyển đổi tài liệu thành các vectơ đặc trưng
  2. TfidfTransformer : Trung bình các tài liệu dài hơn sẽ có số lượng từ nhiều hơn so với các tài liệu ngắn hơn. Để khắc phục sự cố này, biến áp Tfidf chia số lần xuất hiện của mỗi từ trong tài liệu cho tổng số từ trong tài liệu để nhận được tần số thuật ngữ (tf). Hơn nữa, nó hạ thấp trọng số của các từ xuất hiện trong một số lượng lớn các mẫu. Điều này là do những từ này sẽ ít hữu ích hơn trong việc phân loại.
  3. Trình phân loại : Mô hình trình phân loại thực hiện nhiệm vụ phân loại dự đoán danh mục (lừa đảo hay không) của một tin tuyển dụng.
  1. Bộ phân loại SGD
    Chúng tôi sử dụng mất bản lề để tạo ra một SVM tuyến tính được coi là một trong những mô hình phân loại tốt nhất cho các nhiệm vụ phân loại văn bản. Hơn nữa, chúng tôi sử dụng class_weight=”balanced”, vì có sự mất cân bằng lớn về hạng trong dữ liệu của chúng tôi. Khi sử dụng tính năng này, phân loại mất cân bằng sẽ tự động được gán trọng số cao hơn.
  2. Công cụ phân loại rừng ngẫu nhiên
    Chúng tôi thực hiện xác thực chéo trên rừng ngẫu nhiên để nhận các giá trị tối ưu cho độ sâu tối đa của siêu tham số và số lượng công cụ ước tính. Chúng tôi sử dụng Lỗi bình phương trung bình (MSE) làm hàm mất mát. Sau đây là biểu đồ 3D của hàm lỗi bình phương trung bình dựa trên một dải giá trị cho độ sâu tối đa và số lượng công cụ ước tính. Các tham số tối ưu được tìm thấy là số lượng công cụ ước tính = 50 và độ sâu tối đa = 16. Sau đó, chúng tôi đánh giá mô hình phân loại rừng ngẫu nhiên cho các giá trị này. Ngoài ra, chúng tôi cũng sử dụng trọng số lớp tự động bằng cách sử dụng tham số class_weight do sklearn cung cấp để khắc phục sự mất cân bằng lớp trong tập dữ liệu.
Kết quả phân loại dựa trên dữ liệu văn bản bằng Xử lý ngôn ngữ tự nhiên

Khi so sánh, rõ ràng là SGD hoạt động tốt hơn nhiều so với bộ phân loại rừng ngẫu nhiên trên dữ liệu của chúng tôi. Bằng cách sử dụng trình phân loại SGD trong quy trình, chúng tôi có thể dự đoán liệu một công việc là thật hay giả với độ chính xác và khả năng thu hồi đầy đủ.

Kết quả

Bảng dưới đây tóm tắt các số liệu này cho mô hình tốt nhất của chúng tôi:

Sau đây là ma trận nhầm lẫn cho các phân loại được thực hiện bởi mô hình. Nó chỉ phân loại sai 14 trong số 2781 công việc thực sự trong số 187 công việc giả mạo.

Có tổng cộng 2781 công việc thực và 187 công việc giả trong bộ xác thực.

Mô hình của chúng tôi đã phân loại chính xác 2767 trong số 2781 công việc thực là thật (độ chính xác = 99,50 %) và 160 trên 187 công việc giả là giả (độ chính xác = 85,56%).

Công việc tương lai

Mô hình của chúng tôi dự đoán chính xác các công việc thực tế với độ chính xác gần như hoàn hảo nhưng độ chính xác dự đoán của các công việc giả mạo có thể được cải thiện. Điều này là do tỷ lệ công việc giả mạo trong tập dữ liệu thực sự rất nhỏ (~6%). Công việc tiếp theo có thể tập trung vào việc thu thập tập dữ liệu cân bằng mới với nhiều công việc giả mạo hơn. Các kỹ thuật như Kỹ thuật lấy mẫu quá mức thiểu số tổng hợp (SMOTE) có thể được sử dụng để giải quyết vấn đề mất cân bằng giai cấp. Một cải tiến tiềm năng khác là sử dụng một phương pháp tập hợp để dự đoán sử dụng cả các đặc điểm dạng văn bản và số trong dữ liệu.

Người giới thiệu

  1. https://www.kaggle.com/datasets/shivamb/real-or-fake-fake-jobposting-prediction
  2. https://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html
  3. https:///@corymaklin/synthetic-minority-over-sampling-technique-smote-7d419696b88c