Tôi đã làm việc trong một dự án nhỏ, mang tính kỹ năng nghề nghiệp của người dùng và gợi ý nghề nghiệp lý tưởng nhất cho họ dựa trên những kỹ năng đó. Tôi sử dụng một cơ sở dữ liệu của danh sách công việc để đạt được điều này. Tại thời điểm này, mã hoạt động như sau:
1) Xử lý văn bản của từng danh sách công việc để trích xuất các kỹ năng được đề cập trong danh sách
2) Đối với mỗi nghề nghiệp (ví dụ: "Nhà phân tích dữ liệu"), hãy kết hợp văn bản được xử lý của danh sách công việc cho nghề nghiệp đó vào một tài liệu
3) Tính TF-IDF của từng kỹ năng trong các tài liệu nghề nghiệp
Sau này, tôi không chắc mình nên sử dụng phương pháp nào để xếp hạng nghề nghiệp dựa trên danh sách các kỹ năng của người dùng. Phương pháp phổ biến nhất mà tôi từng thấy là xử lý các kỹ năng của người dùng như một tài liệu, sau đó tính toán TF-IDF cho tài liệu kỹ năng và sử dụng một cái gì đó giống như cosine để tính tương tự giữa tài liệu kỹ năng và từng tài liệu tài liệu nghề nghiệp.
Đây dường như không phải là giải pháp lý tưởng đối với tôi, vì sự tương tự cosine được sử dụng tốt nhất khi so sánh hai tài liệu có cùng định dạng. Đối với vấn đề đó, TF-IDF dường như không phải là số liệu thích hợp để áp dụng cho danh sách kỹ năng của người dùng. Chẳng hạn, nếu người dùng thêm các kỹ năng bổ sung vào danh sách của họ, TF cho mỗi kỹ năng sẽ giảm xuống. Trong thực tế, tôi không quan tâm tần suất của các kỹ năng trong danh sách kỹ năng của người dùng - tôi chỉ quan tâm rằng họ có những kỹ năng đó (và có thể họ hiểu những kỹ năng đó như thế nào).
Có vẻ như một số liệu tốt hơn sẽ được thực hiện như sau:
1) Đối với mỗi kỹ năng mà người dùng có, hãy tính TF-IDF của kỹ năng đó trong các tài liệu nghề nghiệp
2) Đối với mỗi nghề nghiệp, hãy tính tổng kết quả TF-IDF cho tất cả các kỹ năng của người dùng
3) Xếp hạng sự nghiệp dựa trên tổng số trên
Tôi đang suy nghĩ theo đúng dòng ở đây? Nếu vậy, có bất kỳ thuật toán nào hoạt động dọc theo các dòng này, nhưng phức tạp hơn một tổng đơn giản? Cảm ơn đã giúp đỡ!