大熊猫红熊猫

機器學習與數據挖掘

基于梯度下降的自動調參

我們采用基于梯度下降的自動調參方法實現對上百參數的自動調整,整個調參框架采用機器學習的方法,利用一定的標注數據和交叉驗證方法來選擇最優的參數。自動調參是一種監督的機器學習方法,其主要技術體現在利用近似偏導作為梯度搜索最優參數、交叉驗證等。

分詞算法

我們的分詞算法采用具有良好的切分歧義處理能力和新詞識別能力的統計語言模型及詞典分詞算法,統計語言模型主要用于識別未登錄詞(下一小節新詞挖掘部分將詳細介紹)或者系統未配置的詞匯,普通分詞采用詞典分詞算法,即將輸入的字符串中首先識別和切分出帶有明顯特征的確定詞匯,以這些詞匯為間隔點,把原輸入字符串分割成較小的串再進行詞典分詞。為了減少單純的匹配錯誤,我們的分詞器采用最大匹配算法和最大切分(使每句中切出的詞數最多)相結合的方式來分詞。同時,分詞器支持不限制個數的自定義詞庫,純文本格式,一行一詞,使用后臺線程檢測詞庫的更新,自動編譯更新過的詞庫到二進制版本并加載。

分詞器工作中詞典是相當重要的一個環節,其特征主要包括:

1.多詞典支持,詞典功能分區。包括分詞主詞典(最后構建索引的索引項)、中文姓氏詞典(用于識別特殊詞)、停止單字詞典(該詞典中的字不用于構建索引項)、停止詞語詞典(該詞典中的詞不用于構建索引項)、計量單位詞典(該詞典中的詞主要是一些計量單位)。同時可以根據需求的不同,靈活的添加相關的專業詞典,以達到更好的分詞效果。分詞器可以將多個詞典進行組合來使用。

2. 詞典加載入內存使用,采用預加載和Lazy Mode模式。

3. 根據分詞模式,對詞典進行二次編譯;

4. 詞典變更偵測,即當詞典文件發生變化時,可以重新加載詞典。

新詞挖掘

使用多元語言模型實現高準確率和高召回率的新詞挖掘。下面以一個簡單的例子進行說明。

假設當前系統中“甘草”和“片”都是單獨的詞,但是“甘草片”不是一個詞語。為了證明“甘草片”是否真的是新詞,我們需要利用二元語言模型進行一些統計和概率計算。我們可以計算一下,如果“甘草”和“片”真的是各自獨立地在文本中隨機出現,它倆正好拼到一起的概率會有多小。在整個4800萬字的數據中,“甘草”一共出現了5648次,出現的概率約為0.000113。“片”字則出現了9594次,出現的概率約為0.000197。如果兩者之間毫無關系,它們正好在一起的概率就應該是0.000113×0.000197,約為2.223乘以10的–8次方。但經過統計發現,“甘草片”在整個語料中一共出現了350次之多,出現概率約為7.183乘以10的–6次方,比原來的預測值高300多倍。根據這樣的計算結果,我們有理由懷疑“甘草片”是一個新詞。這里舉得是二元語言模型。多元語言模型則是看更多詞的組合,比如三元語言模型可能會發現“臨床”“醫學”“工程”組合在一起的“臨床醫學工程”是一個新詞。

我們還會對新詞挖掘算法進行一定的自我訓練。事先去除庫中一部分已有詞匯作為訓練集,然后訓練新詞挖掘算法去準確地發現這些去除的“新詞”,反復迭代直到算法滿足需求時再真正進行新詞的挖掘,同時挖掘過程依然可以進行一定的干預和迭代,使得算法準確率越來越高。

相關推薦算法

我們的系統采用基于用戶的協同過濾模型和基于Item的協同過濾模型,使得推薦的結果能夠很好的迎合用戶的興趣。

基于用戶的協同過濾模型和基于Item的協同過濾模型推薦出來的結果進行統一排序,然后選擇預測評分最高的TOP-N項推薦給目標用戶。

 點擊模型

我們通過提取上百的點擊反饋feature(log記錄系統對搜索結果和用戶行為有較為詳細的記錄)訓練一個更為精準的基于最大期望(Expectation-Maximization, EM)算法的點擊模型,該模型一旦訓練完成,即可直接在檢索排序中應用,可以顯著地提升排序質量。同時很多有用的點擊反饋信息也作為feature送給前面的Learning to Rank模型。

我們的點擊模型考慮的Feature有:

文檔總的展現次數。

文檔總的點擊次數。

文檔展現的平均位置。

文檔被點擊的平均位置。

文檔展現最多次數的所在位置。

文檔被點擊最多次數的所在位置。

文檔總的點擊次數。

文檔在所有查詢詞下的平均展現位置。

文檔被作為第一次點擊的次數。

文檔作為最后一次點擊的次數。

文檔被作為第二次點擊的次數。

文檔被作為其他點擊的總次數。

文檔被作為唯一被點文檔的次數。

第一次點擊的總次數。

第二次點擊的總次數。

其他點擊的總次數。

只發生唯一一次點擊的次數。

頁面相對停留時間。

文檔在第i個位置展現的次數。

文檔在第i個位置被點擊的次數。

此外我們還添加了該查詢詞下所有文檔對應的上述feature,以及整個系統中所有查詢詞對應的上述feature。最終點擊反饋的feature數量在100左右。利用這些feature和EM算法我們可以單獨訓練出一個高質量的點擊模型。

大熊猫红熊猫 5735429052705302632614827817534189381266675626968817580437018563170819557631360288052625227987272178 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();