機器學習在搜索中的應用:個性化排序

2020-12-06 人人都是產品經理

編輯導語:隨著科技的發展,AI、機器學習等逐漸出現在我們的生活裡,有了這些的出現,我們進行搜索時會變得更加準確和智能;本文作者詳細介紹了機器學習在搜索中的應用,我們一起來看一下。

AI、機器學習,是現在媒體的高頻曝光詞,市面上的很多應用都逐漸接入了AI的能力;搜索這樣的『古董』級產品,其實也是應用機器學習技術的先驅。

本次從搜索的一個場景——搜索結果排序,來聊聊機器學習在搜索產品中的應用。

一、為什麼有機器學習排序

先從搜索的常規三步驟:query解析->召回->排序說起。

用戶輸入一個搜索關鍵詞(也稱為query),通過分詞/語義理解後,將從系統資料庫中召回大量相關的內容;接下來的問題就是如何對成百上千條的數據進行排序,把用戶搜索意圖最相關的內容排在前面。

1. 傳統的排序方法

排序:是對一系列的數據按某些特徵因子進行排名,特徵的選擇以及特徵權重的賦予;將影響內容排序的先後,一套排序規則的確定通常需要產品專家與算法專家共同設計。

對於特徵的選擇,可以按內容的屬性特徵與文本相關特徵分為兩類。

內容的屬性是由業務性質所決定,比如電商業務,內容屬性特徵就可以包括價格、銷量、加購、收藏、庫存、類目、品牌、上架時間、評論、商家信譽等;視頻類業務就可以考慮播放時長、觀看量、完播率、點讚、收藏、評論數、轉發數、主題類型等。

文本相關特徵,則主要是query和內容的文本屬性,如query對應內容文檔的BM-25、TD-IDF分值、內容文檔的不同範圍(如標題、簡介、廣告詞、URL連結、描述等)的語言模型得分等,這一塊主要以算法專家主導。

特徵選取後,再對所有特徵賦予一定權重,最後對加權的特徵計算一個相關性的總分,就可以對結果進行排序,方便理解起見,把排序打分想像為以下的組合公式:

F_score = W1*X1+W2*X2+…+Wn*Xn

X就是某一項特徵,W就是對應特徵的權重係數,在實際應用中,通常可以由產品與算法專家們基於對實際業務的理解並結合定期的數據反饋不斷進行特徵與權重的調整。

2. 機器學習排序

隨著業務愈發複雜,特徵愈發多樣,影響一次搜索的因子可能達到幾十甚至上百個,每個特徵因子都由人工進行調權將變得愈發困難。

那麼能否把專家的經驗固化為系統自動化的方式呢,機器學習排序的方式應運而出。

機器學習,是教會系統從歷史數據的事實中總結經驗,形成規律並對未來新的數據進行預測。

參照傳統專家排序,機器學習解決排序問題的思路大致分為以下三步:定義學習目標、明確學習策略、找到達成目標的最優解。

1)定義學習目標

即系統要解決什麼問題,對於搜索排序通常就是如何更好的提升結果的點擊率;但是結合業務再深挖一步的話,指標選擇可以更細化,比如電商則希望能提升訂單的成交率,視頻則看重點擊後是否能提升觀看時長等——不同的業務目標最終決定了機器要學習成怎樣的結果。

2)明確學習策略

解決的是系統如何去學的問題,為此要給機器確定學習的範圍與學習的養料。

學習的範圍,即判斷系統達成目標需要包含哪些因素,解決思路其實與經典排序的特徵因子選擇的思想同出一源。

讓我們再回看上文提到的排序打分公式F_score=W1*X1+W2*X2+…+Wn*Xn,特徵的個數及其意義,就組成了系統學習的範圍框架;在選擇特徵因子這個過程中,特徵的設計都可以由業務專家們提供指導;當特徵因子的組合能愈發表徵我們的學習目標,模型效果往往愈發逼近業務期望。

比如我們現在要優化電商業務的搜索,假定目標是提升搜索帶來的下單轉化率,那麼可以考慮從如下四個維度構建影響目標效果的特徵:

特徵敲定了,接下來就是把數據來源拿過來——數據採集,如商品交易數據源頭在訂單系統,另外如行為數據,則需要對前端進行埋點採集;這可能會需要與多個業務系統對接或者從數據倉庫中取數,在系統對接之前,一定要先確定數據的口徑是否與特徵意義保持一致。

3)找到達成目標的最優解

最後一步其實就是建模的過程,包括模型選擇、模型訓練、模型評估;有了特徵數據,算法工程師可以依據經驗選擇某類機器學習的模型,對特徵進行組合與學習,最終完成對目標的求解。

以上是機器學習排序構建的思路,下面將用白話的方式簡要介紹排序學習的算法原理,不關注技術算法的同學可以略過~

二、LearningToRank

LearningToRank(LTR)是一種用來解決排序問題的算法框架思想,本質上屬於有監督學習的過程,感興趣的同學可以參考文獻1、2等進一步研究。

1. 學習方式分類

LTR按學習方式的不同分為三類,單文檔方法(Pointwise)、文檔對方法(Pairwise)和文檔列表方法(Listwise)三類。

1)Pointwise

單文檔方法是對於給定的查詢query,某一單個文檔結果與查詢的關聯程度,例如查詢『華為』,點擊了華為手機,那麼只有華為手機是與搜索詞』華為』關聯的,華為平板電腦、華為手錶都是該查詢詞的負樣本。

2)Pairwise

文檔對方法考慮的是對於給定查詢詞query,返回的結果中兩個文檔對之間的相對相關度,比如搜『炸雞』,返回結果的相關性『KFC』>』麥當勞』,以「炸雞,(KFC>麥當勞)」這樣的組合方式對機器進行訓練,最終的序列是考慮了兩兩相關度比較之後的結果。

3)Listwise

文檔列表方法考慮的是給定查詢下的文檔集合的整體序列,直接優化模型輸出的文檔序列,使得其儘可能接近真實文檔序列。

2. 模型實現

基於上述排序學習的思想,目前部分模型在原生框架中已經集成了對L2R的實現。

1)樹模型

樹模型可以理解為是一系列的if-else規則的組合,通過每一個特徵的決策來影響最終結果的判斷輸出,其中的典型代表是XGBoost / LightGBM。

XGBoost / LightGBM模型本身已支持對排序問題的訓練,通過設置模型中的參數即可直接訓練LTR問題。(XGBoost是處理分類/回歸的通用模型,並不是為解決排序問題而提出,在這裡不得不驚嘆其不愧為機器學習界的大殺器~)。

2)TF-RANKING

這是谷歌公司在2018年提出的基於TensorFlow的LTR解決方案,嚴格來說其並非一種模型而是一個框架;其中包括一整套學習到排名的算法,可自定義損失函數及模型評估指標,對Pairwise和Listwise都提供支持。

三、小結

排序是搜索流程中最重要的問題之一,是最終直接面向用戶的環節;排序結果的好壞很大程度上影響用戶體驗和商業轉化,也因此排序流程很早就開始引入機器學習的方式來進行優化。

當然客觀的說,機器學習也並非是優化這一問題的最佳方式,某些業務通過專家規則的方式依然有很好的效果。

搜索排序是伴隨著我們的業務發展將不斷優化的工作。

參考連結:

[1]https://zhuanlan.zhihu.com/p/93196423

[2]https://blog.csdn.net/ld326/article/details/81609783

[3]https://mp.weixin.qq.com/s/UpN7tAMjbFLSPcDYsWaykg

[4]https://blog.csdn.net/weixin_44220002/article/details/85212636

本文由 @策略伽 原創發布於人人都是產品經理,未經作者許可,禁止轉載。

題圖來自Unsplash,基於CC0協議。

相關焦點

  • Embedding在網易嚴選搜索推薦中的應用
    嚴選於18年下半年開始探索向量化在搜索推薦場景中的運用,從最開始基於商品召回用戶的任務到後續的搜索召回、搜索個性化排序、搜索底紋、搜索發現詞、搜索建議詞、跨類目推薦、推薦召回、多興趣召回、通用排序、端智能重排等等,我們不斷拓寬向量體系在嚴選的運用,在這過程中一點點迭代與沉澱。本文將從模型算法和落地運用等角度做簡要介紹,希望能給讀者一些啟發。
  • 分享實錄 | 第四範式程曉澄:機器學習在推薦系統中的應用
    主講人:程曉澄 | 第四範式資深算法科學家 屈鑫 整理編輯 量子位 出品 | 公眾號 QbitAI 9月20日晚,量子位邀請到第四範式資深算法科學家程曉澄, 他以「機器學習在推薦系統中的應用」為題,與大家分享了 如何用機器學習來優化推薦系統相關技術問題 。
  • 從網頁排序看圖論的重要應用
    從網頁排序|看圖論的重要應用  圖,是什麼?    現實生活中很多問題都可以用圖進行描述, 如網絡流、資源分配、電路優化、網頁排序、搜索、工序安排等等. 同時, 圖也是描述許多數據結構的重要手段, 如樹結構是計算機作業系統與眾多應用系統必不可少的模型.
  • 用機器學習構建O(N)複雜度的排序算法,可在GPU和TPU上加速計算
    排序一直是計算機科學中最為基礎的算法之一,從簡單的冒泡排序到高效的桶排序,我們已經開發了非常多的優秀方法。但隨著機器學習的興起與大數據的應用,簡單的排序方法要求在大規模場景中有更高的穩定性與效率。中國科技大學和蘭州大學等研究者提出了一種基於機器學習的排序算法,它能實現 O(N) 的時間複雜度,且可以在 GPU 和 TPU 上高效地實現並行計算。
  • 人工智慧視域下機器學習的教育應用與創新探索
    個性化學習作為智慧教育的核心要素,如何通過技術更好地支持和促進個性化學習的開展,已經成為智慧教育研究領域的訴求。目前,個性化學習的實踐應用主要集中於自定步調學習、個別化指導和學習內容自適應等方面,但在整個學習過程中尚未實現差異化的學習服務,主要原因在於技術的發展尚不能充分滿足個性化學習的需求。
  • Google個性化搜索會導致信息繭房嗎?
    來源:新浪科技新技術應用和大數據的快速發展,使得個性化服務成為可能,然而個性化服務在提供便利,滿足用戶需求的同時,也容易引發「信息繭房」效應,帶來負面影響。久而久之,「回音室效應」之下,公眾會將自身桎梏於蠶繭般的「繭房」中。個性化搜索一定會帶來「信息繭房」嗎?我們一起來看新浪新聞新媒體實驗室、新榜研究院聯合發布的《以Facebook和Google為例的國外信息繭房案例研究》報告結果。
  • 李沐《動手學深度學習》第一章:機器學習簡介
    當你把一個商品加進購物車時,你觸發了電商的電子商務程序來把一個商品 ID 和你的用戶 ID 插入到一個叫做購物車的資料庫表格中。你可以在沒有見到任何真正客戶前來用最基本的程序指令來實現這個功能。如果你發現你可以這麼做,那麼你就不應該使用機器學習。對於機器學習科學家來說,幸運的是大部分應用沒有那麼容易。
  • 機器學習在生命科學中的應用
    歐洲分子生物學實驗室於4月11日在Nature Reviews Drug Discovery發表了一篇關於機器學習在drug-develop開發中應用的綜述文章,該文章概述了當前機器學習中使用的工具和技術,並概述了迄今為止機器學習在關鍵drug-develop領域中取得的進展。
  • AWS re:invent2020:機器學習是聯絡中心的未來 - 文章精選 - CTI...
    本周在AWS-re:Invent大會上,亞馬遜網絡服務公司(Amazon Web Services,Inc.)在其廣受歡迎的Amazon Connect聯絡中心產品中宣布了一系列機器學習(ML)和人工智慧(AI)功能。AWS計算基礎設施和應用市場部總經理Eron Kelly在接受UCToday採訪時說:「我們希望將機器學習融入到每個過程中,以增強人類體驗。」
  • JMC|藥物發現和合成機器學習聯盟綜述人工智慧在藥物合成中應用
    啟發式的目標是從分子結構中捕捉SA的廣泛趨勢,傳統上一直使用專家定義的分子屬性函數。非線性回歸(例如,使用機器學習技術)可以代替概括由專家化學家分配的主觀分數,或用於半監督設置,以學習化學反應的例子。然而,在現實中,合成靶標的能力高度依賴於可購買的特定構建塊的可用性,而不是分子結構的平滑功能。
  • 機器學習在馬蜂窩酒店聚合中的應用初探
    酒店聚合能力的強弱,決定著用戶預訂酒店時可選價格的「厚度」,進而影響用戶個性化、多元化的預訂體驗。為了使酒店聚合更加實時、準確、高效,現在馬蜂窩酒店業務中近 80% 的聚合任務都是由機器自動完成。本文將詳細闡述酒店聚合是什麼,以及時下熱門的機器學習技術在酒店聚合中是如何應用的。
  • Talk預告|谷歌梁辰:AutoML-Zero,從0開始搜索機器學習算法
    他與大家分享的主題是AutoML-Zero: 從0開始搜索機器學習算法,將介紹如何用進化算法重新發現包括反向傳播在內的各種機器學習算法。Talk·信息主題:AutoML-Zero, 從0開始搜索機器學習算法嘉賓:Google Brain研究員 梁辰上線時間:北京時間 5月13日 (周三) 20:00地點:將門TechBeat技術社區Talk·提綱自動機器學習(AutoML)取得了很多的成功應用,但是目前的方法因為依賴於人工設計的搜索空間和模塊而不夠自動化
  • 挺近千億俱樂部背後:百度葡語搜索的新「土狼」打法
    RANK排序是計算機算法裡最重要的分支,也是搜尋引擎最重要的環節。早期搜尋引擎比拼結果集大不大(召回率),響應時間快不快。人類進入信息過載時代後,尤其是移動搜索的崛起則讓搜索結果準不準成為最重要考量。「準」,即結果與用戶需求的相關性。NLP理解用戶需求,WD準備數據,決定結果相關性的是RANK策略。
  • 機器學習是什麼
    講解對象:機器學習是什麼作者:融水公子 rsgz對象:機器學習是什麼英文名:machine learning又稱:預測分析(predictive analytics)或統計學習(statistical learning)實質
  • 百度搜索進攻新市場「土狼」打法:RANK技術當尖兵 | 獵雲網
    RANK算法本身也在智能化,在國際化這塊RANK部門利用內部代號為LTR的機器學習技術,對排序模型進行改造,包括樣本訓練,樣本數據,本向算法和調優,都進行了深度改造。排序模型則面向不同語種自我進化。在中文上,百度RANK能夠根據不同用戶、不同位置、不同時間等特性反饋個性化的結果排序,面向場景的RANK技術使得每個用戶在不同結點都能找到自己想要的。
  • excel排序技巧:排序功能應用匯總
    小小的排序,也有很大的學問,之前經常遇到學員來問小編排序的問題,乾脆今天就給大家匯總一下,一次性搞明白~1、普通排序選中表格中任意單元格,點擊「數據」選項卡下的排序和篩選組中的「升序」、「降序」,即可直接完成排序。這時的排序結果是以選中單元格所在列,按漢語拼音首字母順序排列的。
  • 機器學習與應用專場(視頻+實錄+PPT)| AIS預講會全程乾貨分享
    我們在實際使用神經網絡類的機器學習方法時,往往需要跟具體的應用場景相結合。而一旦具體到一個細分的場景,我們所能利用的數據往往都是非常有限的。任務式對話系統就是一個典型的例子。其中的難點主要在於,如何在領域數據很少的情況下獲得一個可靠的口語理解系統。
  • 百度祝恆書:百度智能招聘技術和應用實踐
    百度在智能招聘方向的布局是非常早的,比如百度很早就上線了百度百聘這一面向招聘領域的搜索垂類產品,並從2015年開始依託百度人才智庫TIC團隊進行了智能招聘相關技術的研發。整個智能招聘領域目前百度已經有了非常全面的布局,研發了許多智能招聘的核心能力和應用,這些能力和應用目前也可以面向許多不同的招聘場景,比如企業招聘、獵頭招聘、高校就業等等場景。
  • 谷歌機器學習白皮書全解析 43條黃金法則(一)
    標記(Label):預測任務的答案。它既可以是機器學習系統生成的答案,也可以是訓練數據中提供的正確答案(雷鋒網(公眾號:雷鋒網)註:比如監督學習中的人工標記)。舉例來說,一個網頁的標記可以是「關於貓」。特徵(Feature):預測任務中實例的屬性。