Tương tự chức danh công việc


8

Tôi đang cố gắng xác định một số liệu giữa các chức danh công việc trong lĩnh vực CNTT. Đối với điều này, tôi cần một số liệu giữa các từ của chức danh công việc không xuất hiện cùng nhau trong cùng một chức danh, ví dụ: số liệu giữa các từ

cao cấp, chính, dẫn, trưởng, vp, giám đốc, công cụ, hiệu trưởng, trưởng,

hoặc những từ

nhà phân tích, chuyên gia, người mẫu, nhà nghiên cứu, nhà khoa học, nhà phát triển, kỹ sư, kiến ​​trúc sư.

Làm thế nào tôi có thể có được tất cả các từ có thể với khoảng cách của họ?


Tôi nghĩ bạn sẽ cần thêm một số thông tin để tìm hiểu điều này. Ví dụ: bạn có thông tin về lương, ngành và số lượng báo cáo trực tiếp không? Điều này xác định khi hai vai trò nên được coi là tương tự nhau. Sau đó, bạn có thể hỏi những thuật ngữ nào có vẻ đồng nghĩa giữa các vai trò tương tự. Nhưng nếu bạn không biết gì về những gì làm cho mọi thứ tương tự thì tôi không chắc bạn có thể làm gì.
Sean Owen

Câu trả lời:


4

Đó là một vấn đề thú vị, cảm ơn vì đã mang ra đây trên stack.

Tôi nghĩ vấn đề này tương tự như khi chúng ta áp dụng LSA (Phân tích ngữ nghĩa tiềm ẩn) trong phân tích tình cảm để tìm danh sách các từ tích cực và tiêu cực có phân cực đối với một số từ tích cực và tiêu cực được xác định trước.

Đọc tốt:

Vì vậy, theo tôi LSA là cách tiếp cận tốt nhất của bạn để bắt đầu trong tình huống này khi nó học được mối quan hệ cơ bản giữa các từ trong kho và có lẽ đó là những gì bạn đang tìm kiếm.


Các phương pháp liên quan như LDA cũng có thể là một đặt cược tốt.
Madison ngày

2

Nếu tôi hiểu câu hỏi của bạn, bạn có thể xem ma trận xuất hiện được hình thành bằng cách sử dụng các thuật ngữ theo tiêu đề; ví dụ: FOO cao cấp, BAR chính, v.v. Sau đó, bạn có thể tính toán độ tương tự giữa bất kỳ cặp thuật ngữ nào, chẳng hạn như "cao cấp" và "chính", sử dụng một số liệu phù hợp; ví dụ, sự tương tự cosin.


Nhưng vấn đề là 'cấp cao' và 'chính' không xảy ra trong một tiêu đề. Làm thế nào tôi thậm chí có thể so sánh hai từ này bằng cách sử dụng danh sách các chức danh công việc?
Mher

Vâng, điều này có thể giúp bạn biết rằng "cấp cao" và "nhà phát triển" đi cùng nhau, nhưng không phải "cấp cao" và "khách hàng tiềm năng" có nội dung ngữ nghĩa tương tự nhau.
Sean Owen

@Mher, Chúng không được phép xảy ra trong cùng một tiêu đề; các điều khoản theo sau chúng được cho là xảy ra ở cả hai, ví dụ: nhà phát triển cao cấp hoặc nhà phát triển chính .
Emre

@SeanOwen, Nếu các tiêu đề giống nhau về mặt ngữ nghĩa, bạn sẽ mong đợi các vectơ cùng xuất hiện của chúng cũng tương tự nhau vì chúng sẽ được sử dụng thay thế cho nhau.
Emre

1
Vâng, nó phải là về mức độ và vai trò. Hai "đầu" tương tự nhau, nhưng điều đó là hiển nhiên vì cả hai đều có từ "đầu". Quan điểm của tôi là "đầu bếp" và "ballerina" không nhất thiết phải giống nhau chỉ vì bạn thấy "đầu bếp trưởng" và "ballerina đầu", đó là cách tôi hiểu ý tưởng chung. Làm thế nào để bạn biết rằng "nhà phát triển chính" và "nhà phát triển cao cấp" tương tự nhau nhưng "nhà phát triển cơ sở" thì không? Tôi nghĩ rằng một số dữ liệu khác phải nhập vào hình ảnh để cho chúng tôi biết rằng hai dữ liệu đầu tiên được cho là tương tự nhau, sau đó chúng tôi có thể tìm ra lý do tại sao các điều khoản giải thích nó.
Sean Owen

1

Không chắc đây có phải là chính xác những gì bạn đang tìm kiếm hay không, nhưng r-base có chức năng gọi là "adist" tạo ra ma trận khoảng cách khoảng cách chuỗi gần đúng (theo khoảng cách Levenshtein). Nhập '? Adist' để biết thêm.

words = c("senior", "primary", "lead", "head", "vp", "director", "stuff", "principal", "chief")
adist(words)

      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
 [1,]    0    6    5    5    6    5    5    7    5
 [2,]    6    0    6    6    7    7    7    6    6
 [3,]    5    6    0    1    4    7    5    8    5
 [4,]    5    6    1    0    4    7    5    8    4
 [5,]    6    7    4    4    0    8    5    8    5
 [6,]    5    7    7    7    8    0    8    8    7
 [7,]    5    7    5    5    5    8    0    9    4
 [8,]    7    6    8    8    8    8    9    0    8
 [9,]    5    6    5    4    5    7    4    8    0

Ngoài ra, nếu R không phải là một tùy chọn, thuật toán khoảng cách Levenshtein được triển khai bằng nhiều ngôn ngữ tại đây: http://en.wikibooks.org/wiki/Alerskym_Imcellenceation/Strings/Levenshtein_distance


Tôi biết về khoảng cách chỉnh sửa như khoảng cách Levenshtein, nhưng tôi đang tìm kiếm thứ gì đó giống như sự tương đồng về ngữ nghĩa.
Mher

Điều đó khó hơn đáng kể. Cách duy nhất tôi biết để làm một cái gì đó như thế này là có thể truy cập từ điển. Sau đó, bạn có thể xem xét các định nghĩa khai thác văn bản của các từ. Hãy thử truy cập vào 'wordnet', có lẽ điều đó có thể giúp ích. wordnet.princeton.edu/wordnet
nfmcclure

1
-0 cho gợi ý khoảng cách Levenshtein.
Slater Victoroff

1

(quá dài cho một bình luận)

Về cơ bản, câu trả lời của @ Emre là chính xác: ma trận tương quan đơn giản và khoảng cách cosine sẽ hoạt động tốt *. Tuy nhiên, có một sự tinh tế - chức danh công việc quá ngắn để mang bối cảnh quan trọng. Hãy để tôi giải thích điều này.

Hãy tưởng tượng hồ sơ LinkedIn (là nguồn khá tốt cho dữ liệu). Thông thường, chúng chứa 4-10 câu mô tả các kỹ năng và trình độ của người đó. Rất có khả năng bạn tìm thấy các cụm từ như "nhà khoa học dữ liệu chính" và "kiến thức chuyên môn về Matlab và R" trong cùng một hồ sơ, nhưng rất khó có thể thấy "nhà phát triển Java cơ sở" trong đó. Vì vậy, chúng tôi có thể nói rằng "chì" và "chuyên nghiệp" (cũng như "nhà khoa học dữ liệu" và "Matlab" và "R") thường xảy ra trong cùng một bối cảnh, nhưng chúng hiếm khi được tìm thấy cùng với "junior" và "Java".

Ma trận đồng xảy ra cho thấy chính xác điều này. Càng có nhiều từ xuất hiện trong cùng một ngữ cảnh, các vectơ của chúng trong ma trận sẽ càng giống nhau. Và khoảng cách cosin chỉ là một cách tốt để đo lường sự tương đồng này.

Nhưng những gì về chức danh công việc? Thông thường chúng ngắn hơn nhiều và không thực sự tạo ra đủ bối cảnh để nắm bắt sự tương đồng. May mắn thay, bạn không cần dữ liệu nguồn để trở thành tiêu đề - bạn cần tìm sự tương đồng giữa các kỹ năng nói chung, không cụ thể trong các tiêu đề. Vì vậy, bạn có thể chỉ cần xây dựng ma trận xuất hiện từ các cấu hình (dài) và sau đó sử dụng nó để đo lường độ tương tự của các tiêu đề.

* - trên thực tế, nó đã làm việc cho tôi trong một dự án tương tự.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.