2017-01-02 21 views
3

我一直在研究一個小型的個人項目,它需要用戶的工作技能並根據這些技能爲他們提供最理想的職業。我使用工作列表數據庫來實現這一目標。目前,該代碼的工作原理如下:TF-IDF和餘弦相似度的替代方案(比較不同格式的文檔)

1)過程的每個作業正文上市提取了在上市

2)對於每個職業(例如,「數據分析」)中提到的技能,結合對於職業的工作列表的文本處理成一個文件

3)職業文檔中計算每個技能的TF-IDF

在此之後,我不知道我應該使用哪個等級的方法基於用戶技能列表的職業生涯。我所見過的最流行的方法是將用戶的技能作爲文檔處理,然後計算技能文檔的TF-IDF,並使用餘弦相似度等來計算技能文檔與每個技能文檔之間的相似度職業文件。

這似乎不是對我來說理想的解決方案,因爲餘弦相似性最適用於比較相同格式的兩個文檔。就此而言,TF-IDF看起來並不是適用於用戶技能列表的適當指標。例如,如果用戶將其他技能添加到他們的列表中,則每種技能的TF都會下降。實際上,我不在乎用戶的技能列表中的技能頻率是多少 - 我只是在乎他們擁有這些技能(也許他們知道這些技能的程度如何)。

這似乎是一個更好的指標將是做到以下幾點:

1)對於每一個技能的用戶,計算出技能的TF-IDF在職業生涯文件

2)每個職業的基礎上,上述款項

上午我在這裏沿着正確的思路思考總結的TF-IDF結果對所有用戶的技能

3)等級的職業生涯?如果是這樣,是否有任何算法可以沿着這些方向發展,但比簡單的總和更復雜?謝謝您的幫助!

回答

1

您解釋的第二種方法將起作用。但有更好的方法來解決這類問題。 起初,您應該對語言模型有所瞭解,並留下向量空間模型。 在第二步中,根據您類似於專家發現/分析的問題,您應該學習基礎語言模型框架以實施解決方案。 您可以稍微更改一下A language modeling framework for expert finding,以便公式可以適應您的問題。 同時閱讀On the assessment of expertise profiles將使您更好地瞭解上述框架的專家分析。 你可以在Balog's blog找到一些好的想法,資源和項目專家發現/分析。

+0

非常感謝這些鏈接 - 簡單地查看它們,他們似乎是我一直在尋找的。我贊成你的解決方案,但我沒有足夠的聲譽來顯示。再次感謝! –

+0

不客氣;) – Alikbar