役職の類似性


8

IT分野の役職間のメトリックを定義しようとしています。このため、同じ役職で一緒に表示されない役職の単語間のいくつかのメトリックが必要です。たとえば、単語間のメトリック

シニア、プライマリ、リード、ヘッド、VP、ディレクター、スタッフ、プリンシパル、チーフ、

または言葉

アナリスト、エキスパート、モデラー、研究者、科学者、開発者、エンジニア、建築家。

どのように私はそれらの距離でそのような可能な単語をすべて得ることができますか?


これを学ぶには追加情報が必要だと思います。たとえば、給与情報、業界、直属部下の数はありますか?これは、2つの役割が類似していると見なされる場合を定義します。次に、類似の役割の中で同義語と思われる用語を尋ねることができます。しかし、何が似ているかについて何も知らなければ、何ができるかわかりません。
Sean Owen

回答:


4

これは興味深い問題です。スタックに入れてくれてありがとう。

この問題は、感情分析にLSA(潜在的意味分析)を適用して、いくつかの事前定義された正と負の単語に関して極性を持つ正と負の単語のリストを見つける場合と似ていると思います。

良い読み物:

したがって、私によれば、LSAはコーパスからの単語間の根本的な関係を学習し、おそらくそれがあなたが探しているものであるため、この状況で始めるのに最適なアプローチです。


LDAのような関連メソッドも良い賭けかもしれません。
マディソン

2

あなたの質問を理解したら、タイトルに続く用語を使用して形成された共起マトリックスを見ることができます。たとえば、senior FOO、primary BARなど。その後、適切なメトリックを使用して、「senior」と「primary」などの用語のペア間の類似性を計算できます。たとえば、コサイン類似度。


しかし問題は、「シニア」と「プライマリー」が1つのタイトルで発生しないことです。役職のリストを使用してこの2つの単語を比較するにはどうすればよいですか?
Mher

はい、これは「シニア」と「開発者」が一緒に行くことを学ぶのに役立つかもしれませんが、「シニア」と「リード」が同様の意味論的内容を持っているというわけではありません。
Sean Owen、

@Mher、それらは同じタイトルで出現することになっているわけではありません。それらに続く用語は、上級開発者や一次開発者など、両方で使用されることになっています。
Emre

@SeanOwen、タイトルが意味的に類似している場合、それらは交換可能に使用されるため、それらの共起ベクトルも同様であると期待します。
Emre、2014

1
ええ、それはレベルと役割に関するものでなければなりません。2つの「頭」は似ていますが、どちらにも「頭」という単語があるため、それは明らかです。「シェフ」と「バレリーナ」が必ずしも同じではないというのが私の共感でした。「リード開発者」と「シニア開発者」は似ているが「ジュニア開発者」は似ていないことをどのように学びますか?他のいくつかのデータは、最初の2つが類似しているはずであると説明するために画像を入力する必要があると思います。そうすれば、用語がそれを説明する理由を理解できます。
Sean Owen、

1

これがまさにあなたが探しているものかどうかはわかりませんが、r-baseには、(レーベンシュタイン距離に応じた)近似文字列距離の距離行列を作成する「adist」と呼ばれる関数があります。詳細については、「?adist」と入力してください。

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

また、Rがオプションではない場合、レーベンシュタイン距離アルゴリズムは多くの言語でここに実装されています:http : //en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance


私はレーベンシュタイン距離のような編集距離を知っていますが、意味的類似性のようなものを探しています。
Mher

それはかなり難しいです。このようなことをする唯一の方法は、辞書にアクセスできることです。次に、単語のテキストマイニング定義を調べることができます。「ワードネット」へのアクセスを検討してみてください。wordnet.princeton.edu/wordnet
nfmcclure 2014

1
-0はレーベンシュタイン距離を示唆します。
Slater Victoroff 2014

1

(コメントするには長すぎます)

基本的に、@ Emreの答えは正しいです。単純な相関行列と余弦距離がうまく機能するはずです*。ただし、微妙な点が1つあります。役職は短すぎて、重要なコンテキストを伝えることができません。これについて説明しましょう。

LinkedInのプロファイルを想像してみてください(これはデータの非常に優れたソースです)。通常、彼らは人のスキルと資格を説明する4-10文を含みます。「リードデータサイエンティスト」や「MatlabとRの専門知識」などのフレーズが同じプロファイルに含まれている可能性は高いですが、「ジュニアのJava開発者」も含まれている可能性はほとんどありません。したがって、「リード」と「プロフェッショナル」(および「データサイエンティスト」と「Matlab」と「R」)は同じコンテキストで発生することが多いと言えますが、「ジュニア」や「Java」と一緒に見つかることはめったにありません。

共起行列はまさにこれを示しています。2つの単語が同じコンテキストで出現するほど、マトリックス内のそれらのベクトルはより似たものになります。そして、余弦距離は、この類似性を測定するためのちょうど良い方法です。

しかし、役職についてはどうですか?通常、これらははるかに短く、実際には類似点をキャッチするのに十分なコンテキストを作成しません。幸いなことに、ソースデータをタイトル自体にする必要はありません。タイトルではなく、スキル全般の類似点を見つける必要があります。したがって、(長い)プロファイルから共起行列を作成し、それを使用してタイトルの類似性を測定できます。

* -実際、同じようなプロジェクトですでに機能しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.