1. 程式人生 > >領英利用深度表徵學習提升人才搜尋和推薦系統

領英利用深度表徵學習提升人才搜尋和推薦系統

本文介紹了領英利用深度表徵學習模型來提升人才搜尋和推薦系統。

領英徵才解決方案(LinkedIn Talent Solutions,LTS)業務為領英貢獻了大約 65% 的年收入,該業務方便職位提供者接觸潛在應聘者,也方便求職者找到合適的工作機會。領英求職生態系統的設計方向是使其成為連線職位提供者和求職者的平臺,高效匹配潛在應聘者和工作機會。幫助實現這些目標的關鍵機制是領英僱傭幫手(LinkedIn Recruiter),它幫助招聘人員尋找相關的應聘者,獲取適合其空缺職位的推薦應聘者。

人才搜尋和推薦系統的重要挑戰在於底層的查詢機制很複雜,它結合了多個結構化欄位(如標準職位、標準技能、公司名)和非結構化欄位(如任意文字關鍵詞)。而通過領英僱傭幫手,查詢可以是輸入查詢文字和選擇側面(人才搜尋)這樣的顯性形式,也可以是工作機會這樣的隱性形式,或者職位的完美應聘者(人才推薦)。領英的目標是從數億結構化的應聘者資料中選出最相關的候選人,然後列出排名。

結構化欄位作為機器學習排序模型的一部分,為特徵空間添加了稀疏性。該設定適用於密集表徵學習實驗,因為它不僅減少了稀疏性,還增加了資訊在特徵空間中的比重。本論文展示瞭如何將表徵學習技術應用於領英人才搜尋排序。本文主要貢獻如下:

  • 在學習對應用進行排序時使用嵌入作為特徵。這通常包括:
  • 用於排序、評估層級(全連線)架構優勢的嵌入式模型;
  • 使用逐點學習和成本函式中的成對損失訓練模型時的考慮因素。
  • 使用 LinkedIn Economic Graph [30] 的結構學習稀疏實體(如招聘者 id、應聘者 id、技能 id 等)語義表徵的方法:
  • 使用領英生態系統中 Economic Graph network 資料的無監督表徵學習;
  • 利用來自人才搜尋域的應用特定資料的監督表徵學習。
  • 在領英人才搜尋的語境中對上述方法進行大量離線和線上評估,並討論實踐中的挑戰和經驗教訓。

儘管該討論大部分是在領英人才搜尋的語境中進行的,但它可有效泛化至任意的多維搜尋引擎,包括電影、食物/餐廳等高維度。

論文:Towards Deep and Representation Learning for Talent Search at LinkedIn

論文連結:https://arxiv.org/abs/1809.06473

摘要:領英人才搜尋和推薦系統力求匹配潛在應聘者與招聘人員的招聘需求,或招聘人員以搜尋查詢或釋出職位的方式表達需求。該領域的近期研究主要關注線性模型(不考慮特徵之間的複雜關係)和整合樹模型(引入非線性,但仍不足以探索所有潛在的特徵互動),且嚴格分隔特徵生成和建模。本論文展示了我們在領英僱傭幫手上應用我們的深度表徵學習模型的結果。我們的主要貢獻包括:1)學習人才搜尋領域中稀疏實體(如招聘者 id、應聘者 id 和技能 id 等)的語義表徵,所用的神經網路模型使用 LinkedIn Economic Graph;2)學習人才搜尋應用中招聘者邀請和應聘者回應的深度模型。我們還嘗試學習對應用於深度模型的方法進行排序,並展示這在人才搜尋用例中的益處。3)最後,我們展示了對領英人才搜尋和推薦系統的離線和線上評估結果,並討論通往完全深度模型架構過程中的潛在挑戰。本文所討論的挑戰和方法可泛化至任意多維搜尋引擎。

2 背景和問題設定

這部分簡要介紹了領英僱傭幫手這款產品和現有的排序模型,並正式展示人才搜尋排序問題。

2.1 背景

領英是世界上最大的職業社交網路,覆蓋來自全世界的 5 億多名成員。領英的每個成員都有一個資料頁,用來記錄職業成績和資料,如圖 1 所示。典型的成員資料包含 5-40 個結構化和非結構化的欄位,如職位名稱、公司、經歷、技能、教育和總結等。

圖 1:領英資料頁示例。

在人才搜尋方面,領英成員可被分為兩類:應聘者和招聘者。應聘者尋找合適的工作機會,招聘者尋找合適的員工。本研究解決了領英僱傭幫手這款產品中的建模挑戰,幫助招聘者尋找合適的應聘者。

與只關注欄位與給定查詢之間關聯度的傳統搜尋和推薦系統不同,人才搜尋領域需要招聘者和應聘者「看對眼」。也就是說,我們不僅需要推薦的應聘者與招聘者的查詢相關,還需要招聘者聯絡的應聘者必須對這一工作機會感興趣。

2.2 當前模型

當前的人才搜尋排序系統功能如下 [12, 13]。第一步,系統利用搜索查詢指定的硬性篩選條件,從超過 5 億領英使用者中檢索出包含數千成員的集合。具體來說,查詢請求基於從查詢文字中提取的標準化欄位和選擇維度(如技能、職位名稱和行業)建立。然後,將查詢請求傳送給分散式搜尋服務層,它建立在領英 Galene 搜尋平臺 [26] 之上。應聘者列表則基於匹配特徵(如職位名或技能匹配)生成。第二步,搜尋排序系統使用排序模型對這些應聘者打分,然後返回排名靠前的應聘者列表。本論文主要關注第二步使用的排序模型。

3 方法

本章展示了我們的方法,主要包含兩個方面:

  • 學習深度模型來評估應聘者和招聘者之間產生雙向興趣的可能性;
  • 學習人才搜尋領域中實體的監督和無監督嵌入。

3.1 用於排序的嵌入式模型

如前所述,我們想要一個靈活的排序模型,可以輕鬆適應新特徵和訓練機制。近期神經網路的發展使得它們成為很多統計學習任務的當前最優技術,包括排序模型 [4, 19],因此神經網路因其模組化結構和利用梯度優化方法進行端到端訓練的能力,成為最佳選擇。因此我們使用神經網路 ranker 作為領英人才搜尋的排序模型。具體來說,我們提出具備自定義啟用函式的多層感知機(MLP),並利用它執行排序任務。我們的模型支援多種模型正則化方法的混合,包括 L2 範數懲罰項和 dropout [27]。

出於神經網路的訓練目標,我們考慮了兩個學習排序模型的常用方法:

  • 逐點學習。又叫二分類排序。該方法需要利用訓練集中的每個樣本和標籤訓練二分類器,然後將來自同樣搜尋會話的樣本分成一組,再基於分數進行排序。
  • 成對學習。儘管逐點學習易於實現,且效能較好,但人才搜尋排序的主要目標是提供應聘者的排名,這需要可用會話資料中的內在資訊。

3.2 學習人才搜尋中稀疏實體的語義表徵

接下來,我們來看稀疏實體表徵的問題,它將不同實體(技能、職位名等)轉換為低維向量格式,使得不同種類的模型能夠直接利用實體作為特徵向量。

無監督方法學習實體的共享表徵空間,從而構建查詢表徵和成員表徵。我們不使用人才搜尋的專門互動來監督表徵學習。

監督方法利用招聘者和應聘者在歷史搜尋結果中的互動,同時學習表徵空間和最終得分。

圖 3:具備淺層查詢網路和深層成員網路的架構。

圖 4:每個頂點代表一家公司,由顏色、虛線或常規邊來表示的邊權重代表曾在這兩家公司工作過的成員。

圖 5 展示了本文提出的人才搜尋排序系統的線上架構,包括嵌入步驟。我們設計該架構的目的是能夠離線計算成員嵌入,但查詢嵌入需要在執行時計算。

圖 5:人才搜尋排序線上系統架構。

4 實驗

表 3:使用逐點損失、成對損失和不同層訓練的端到端 MLP 模型與基線梯度提升樹模型相比的準確率變化情況。

表 4:使用無監督嵌入的離線實驗。

表 5:使用監督嵌入的離線實驗。

表 6:線上 A/B 測試結果。