強化學習在e成科技人崗匹配系統中的應用

e成科技發表於2019-02-25

一、背景介紹

人崗匹配系統是e成HR saas 服務的重要組成部分,主要場景是HR建立職位描述(job description,簡稱jd)後,從人才庫或者使用者主動投遞的簡歷中透過匹配,排序得到最合適該jd的簡歷列表(cv list)。

人崗匹配的價值在於提高HR search人才的效率,這個場景可以看做使用者輸入query為jd長文字的搜尋引擎,因此排序是這個系統最重要的一環,而基於使用者反饋資料的LTR(learning to rank)演算法已經被廣泛地應用於各類排序問題。然而,LTR是基於當前線上展示結果的行為資料最佳化而得到的,受本身排序策略的影響,我們有大量的樣本是沒有被展現或者低頻展現,所以LTR並不是真正的全域性最優。

使用者在瀏覽匹結果的過程中的行為會包括瀏覽、點選、邀約、翻頁、離開這四個動作,而如何讓機器和使用者互動的過程中透過這些行為資料最佳化序列決策問題使得累積收益(Accumulative Rewards)最大,需要應用強化學習(Reinforcement Learning)來解決,後續第二部分介紹我們業務場景下的MDP(Markov Decision Process)建模過程。

二、問題建模

HR在系統中搜尋簡歷的行為不同於通用的搜尋引擎,在通用的搜尋引擎一般來說使用者在越靠前的位置找到滿意的結果系統的效果越好,而在我們的場景下,評價效果的好壞在於使用者能夠翻頁搜尋到越多合適的人才,因此,我們對reward的定義需要調整。

馬爾可夫決策過程(Markov Decision Process,MDP)是強化學習基本模型。MDP可以由一個四元組<S, A, R, T>表示:(1)S為狀態空間(State Space);(2)A為動作空間(Action Space);(3)R為reward;(4)T為狀態轉移

1. S: 狀態包括使用者目前所處的pageno以及目前在每一頁使用者歷史行為(邀約、點選等)所對應簡歷的所組成的特徵向量

2. A: 通常情況下有兩種型別:1) 透過rank function得到每個結果的score

2) 直接透過list-wise的方法得到最優的排序,我們採用前者

3. R: 在人崗匹配的場景下,HR邀約簡歷並面試透過給予offer的reward設為roffer ,僅僅邀約面試為rinvite,點選行為 rclick,翻頁行為為rturn-page (由於使用者在這個場景下需要搜尋更多合適的簡歷,所以翻頁 行為代表目前的效果尚可有興趣繼續搜尋),其中

roffer> rinvite >rclick> rturn-page

然而對於沒有任何行為的頁面rnon-action和離開rabandon 的行為應當認為負向收益最後當前頁面下的reward為:R=Σroffer + Σrinvite + Σrclick + rturn-page - rnon-action - rabandon

 三、模型訓練

  1. T :  主要為P(s,a),即agent在狀態s下采取行動a後的狀態轉移機率

由於我們的action空間較大,單純使用value-based的方法,例如Q-learning等不太適合我們的場景,而策略迭代的方法存在高方差,收斂速度慢的問題,因此我們使用actor-critic的方法

我們使用DDPG的基本框架,其中cirtic網路估計當前狀態下采用action a所得到的Q,同Q-learning的方法,採用regression方法預估,使用MSE作為loss function:

強化學習在e成科技人崗匹配系統中的應用

對於actor網路

強化學習在e成科技人崗匹配系統中的應用

Critic網路不斷最佳化自己對Q(s,a)的估計,Actor透過Critic的判斷的梯度,求解更好的策略函式。如此往復,直到Actor收斂到最優策略的同時,Critic收斂到最準確的Q(s,a)估計。

相關文章