機器學(xué)習(xí)在搜索中的應(yīng)用-個性化排序

AI、機器學(xué)習(xí),是現(xiàn)在媒體的高頻曝光詞往衷,市面上的很多應(yīng)用都逐漸接入了AI的能力疹吃。搜索這樣的‘古董’級產(chǎn)品时呀,其實也是應(yīng)用機器學(xué)習(xí)技術(shù)的先驅(qū),本次從搜索的一個場景——搜索結(jié)果排序,來聊聊機器學(xué)習(xí)在搜索產(chǎn)品中的應(yīng)用。

1. 為什么有機器學(xué)習(xí)排序

先從搜索的常規(guī)三步驟:query解析->召回->排序說起强戴。用戶輸入一個搜索關(guān)鍵詞(也稱為query)亭螟,通過分詞/語義理解后,將從系統(tǒng)數(shù)據(jù)庫中召回大量相關(guān)的內(nèi)容骑歹,接下來的問題就是如何對成百上千條的數(shù)據(jù)進(jìn)行排序预烙,把用戶搜索意圖最相關(guān)的內(nèi)容排在前面。

1.1 傳統(tǒng)的排序方法

排序道媚,是對一系列的數(shù)據(jù)按某些特征因子進(jìn)行排名默伍,特征的選擇以及特征權(quán)重的賦予,將影響內(nèi)容排序的先后衰琐,一套排序規(guī)則的確定通常需要產(chǎn)品專家與算法專家共同設(shè)計。對于特征的選擇炼蹦,可以按內(nèi)容的屬性特征與文本相關(guān)特征分為兩類羡宙。

內(nèi)容的屬性是由業(yè)務(wù)性質(zhì)所決定,比如電商業(yè)務(wù)掐隐,內(nèi)容屬性特征就可以包括價格狗热、銷量、加購虑省、收藏匿刮、庫存、類目探颈、品牌熟丸、上架時間、評論伪节、商家信譽等光羞,視頻類業(yè)務(wù)就可以考慮播放時長、觀看量怀大、完播率纱兑、點贊、收藏化借、評論數(shù)潜慎、轉(zhuǎn)發(fā)數(shù)、主題類型等蓖康。

文本相關(guān)特征铐炫,則主要是query和內(nèi)容的文本屬性,如query對應(yīng)內(nèi)容文檔的BM-25蒜焊、TD-IDF分值驳遵、內(nèi)容文檔的不同范圍(如標(biāo)題、簡介山涡、廣告詞堤结、URL鏈接唆迁、描述等)的語言模型得分等,這一塊主要以算法專家主導(dǎo)竞穷。

特征選取后唐责,再對所有特征賦予一定權(quán)重,最后對加權(quán)的特征計算一個相關(guān)性的總分瘾带,就可以對結(jié)果進(jìn)行排序鼠哥,方便理解起見,把排序打分想象為以下的組合公式:

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

X就是某一項特征看政,W就是對應(yīng)特征的權(quán)重系數(shù)朴恳,在實際應(yīng)用中,通吃黍迹可以由產(chǎn)品與算法專家們基于對實際業(yè)務(wù)的理解并結(jié)合定期的數(shù)據(jù)反饋不斷進(jìn)行特征與權(quán)重的調(diào)整于颖。

1.2 機器學(xué)習(xí)排序

隨著業(yè)務(wù)愈發(fā)復(fù)雜,特征愈發(fā)多樣嚷兔,影響一次搜索的因子可能達(dá)到幾十甚至上百個森渐,每個特征因子都由人工進(jìn)行調(diào)權(quán)將變得愈發(fā)困難。那么能否把專家的經(jīng)驗固化為系統(tǒng)自動化的方式呢冒晰,機器學(xué)習(xí)排序的方式應(yīng)運而出同衣。

機器學(xué)習(xí),是教會系統(tǒng)從歷史數(shù)據(jù)的事實中總結(jié)經(jīng)驗壶运,形成規(guī)律并對未來新的數(shù)據(jù)進(jìn)行預(yù)測耐齐。參照傳統(tǒng)專家排序,機器學(xué)習(xí)解決排序問題的思路大致分為以下三步:定義學(xué)習(xí)目標(biāo)蒋情、明確學(xué)習(xí)策略蚪缀、找到達(dá)成目標(biāo)的最優(yōu)解。

1)定義學(xué)習(xí)目標(biāo)

即系統(tǒng)要解決什么問題恕出,對于搜索排序通常就是如何更好的提升結(jié)果的點擊率询枚。但是結(jié)合業(yè)務(wù)再深挖一步的話,指標(biāo)選擇可以更細(xì)化浙巫,比如電商則希望能提升訂單的成交率金蜀,視頻則看重點擊后是否能提升觀看時長等。不同的業(yè)務(wù)目標(biāo)最終決定了機器要學(xué)習(xí)成怎樣的結(jié)果的畴。

2)明確學(xué)習(xí)策略

解決的是系統(tǒng)如何去學(xué)的問題渊抄,為此要給機器確定學(xué)習(xí)的范圍與學(xué)習(xí)的養(yǎng)料。

學(xué)習(xí)的范圍丧裁,即判斷系統(tǒng)達(dá)成目標(biāo)需要包含哪些因素护桦,解決思路其實與經(jīng)典排序的特征因子選擇的思想同出一源。讓我們再回看上文提到的排序打分公式F_score = W1*X1+W2*X2+...+Wn*Xn煎娇,特征Xn的個數(shù)及其意義二庵,就組成了系統(tǒng)學(xué)習(xí)的范圍框架贪染。在選擇特征因子這個過程中,特征的設(shè)計都可以由業(yè)務(wù)專家們提供指導(dǎo)催享。當(dāng)特征因子的組合能愈發(fā)表征我們的學(xué)習(xí)目標(biāo)杭隙,模型效果往往愈發(fā)逼近業(yè)務(wù)期望。

比如我們現(xiàn)在要優(yōu)化電商業(yè)務(wù)的搜索因妙,假定目標(biāo)是提升搜索帶來的下單轉(zhuǎn)化率痰憎,那么可以考慮從如下四個維度構(gòu)建影響目標(biāo)效果的特征:

①用戶特征,即用戶靜態(tài)屬性攀涵,如性別铣耘、年齡、學(xué)歷以故、地域蜗细、收入、婚姻狀況等据德。

②行為特征,通常是看用戶的歷史行為跷车,如上一次的搜索詞棘利、近一周有過點擊次數(shù)最多的搜索詞、加購的商品朽缴、收藏點贊的商品善玫、近一周瀏覽訪問最多的頻道/商鋪,考慮復(fù)購因素還可以納入一段時間(如一個月或三個月)有過購買次數(shù)的商品類目等密强。

③交易特征茅郎,即關(guān)注用戶的消費偏好,如近期(一周/一個月)消費金額或渤、消費頻次系冗,是否分期用戶、是否會員等薪鹦。

④商品特征掌敬,即商品本身屬性,如上文提到的價格池磁、庫存奔害、類目、品牌地熄、評價华临、銷量(通常要考慮時間衰減性,計算一定時間周期如一周的數(shù)量)等端考。把這些與業(yè)務(wù)屬性相關(guān)的因素梳理好雅潭,結(jié)合文本相關(guān)特征揭厚,也就大致把機器學(xué)習(xí)的邊界框定了下來。

學(xué)習(xí)的養(yǎng)料寻馏,即訓(xùn)練模型的數(shù)據(jù)棋弥,我們需要從學(xué)習(xí)目標(biāo)與學(xué)習(xí)范圍出發(fā),為機器構(gòu)造適合學(xué)習(xí)的內(nèi)容诚欠。特征敲定了顽染,接下來就是把數(shù)據(jù)來源拿過來——數(shù)據(jù)采集,如商品交易數(shù)據(jù)源頭在訂單系統(tǒng)轰绵,另外如行為數(shù)據(jù)粉寞,則需要對前端進(jìn)行埋點采集。這可能會需要與多個業(yè)務(wù)系統(tǒng)對接或者從數(shù)據(jù)倉庫中取數(shù)左腔,在系統(tǒng)對接之前唧垦,一定要先確定數(shù)據(jù)的口徑是否與特征意義保持一致。

(3)找到達(dá)成目標(biāo)的最優(yōu)解

最后一步其實就是建模的過程液样,包括模型選擇振亮、模型訓(xùn)練、模型評估鞭莽。有了特征數(shù)據(jù)坊秸,算法工程師可以依據(jù)經(jīng)驗選擇某類機器學(xué)習(xí)的模型,對特征進(jìn)行組合與學(xué)習(xí)澎怒,最終完成對目標(biāo)的求解褒搔。

以上是機器學(xué)習(xí)排序構(gòu)建的思路,下面將用白話的方式簡要介紹排序?qū)W習(xí)的算法原理喷面,不關(guān)注技術(shù)算法的同學(xué)可以略過~

2. Learning?To?Rank

Learning?To?Rank(LTR)是一種用來解決排序問題的算法框架思想星瘾,本質(zhì)上屬于有監(jiān)督學(xué)習(xí)的過程,感興趣的同學(xué)可以參考文獻(xiàn)1惧辈、2等進(jìn)一步研究琳状。

2.1 學(xué)習(xí)方式分類

LTR按學(xué)習(xí)方式的不同分為三類,單文檔方法(Pointwise)盒齿、文檔對方法(Pairwise)文檔列表方法(Listwise)三類算撮。

1)Pointwise

單文檔方法是對于給定的查詢query,某一單個文檔結(jié)果與查詢的關(guān)聯(lián)程度县昂,例如查詢‘華為’肮柜,點擊了華為手機,那么只有華為手機是與搜索詞’華為’關(guān)聯(lián)的倒彰,華為平板電腦审洞、華為手表都是該查詢詞的負(fù)樣本。

2)Pairwise

文檔對方法考慮的是對于給定查詢詞query,返回的結(jié)果中兩個文檔對之間的相對相關(guān)度芒澜,比如搜‘炸雞’仰剿,返回結(jié)果的相關(guān)性‘KFC’>’麥當(dāng)勞’,以{炸雞痴晦,(KFC>麥當(dāng)勞)}這樣的組合方式對機器進(jìn)行訓(xùn)練南吮,最終的序列是考慮了兩兩相關(guān)度比較之后的結(jié)果。

3)Listwise

文檔列表方法考慮的是給定查詢下的文檔集合的整體序列誊酌,直接優(yōu)化模型輸出的文檔序列部凑,使得其盡可能接近真實文檔序列。

2.2 模型實現(xiàn)

基于上述排序?qū)W習(xí)的思想碧浊,目前部分模型在原生框架中已經(jīng)集成了對LTR的實現(xiàn)涂邀。

(1)樹模型

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

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

(2)TF-RANKING

這是谷歌公司在2018年提出的基于TensorFlow的LTR解決方案臊恋,嚴(yán)格來說其并非一種模型而是一個框架衣洁,其中包括一整套學(xué)習(xí)到排名的算法,可自定義損失函數(shù)及模型評估指標(biāo)捞镰,對Pairwise和Listwise都提供支持闸与。

3. 小結(jié)

排序是搜索流程中最重要的問題之一毙替,是最終直接面向用戶的環(huán)節(jié)岸售,排序結(jié)果的好壞很大程度上影響用戶體驗和商業(yè)轉(zhuǎn)化,也因此排序流程很早就開始引入機器學(xué)習(xí)的方式來進(jìn)行優(yōu)化厂画。當(dāng)然客觀的說凸丸,機器學(xué)習(xí)也并非是優(yōu)化這一問題的最佳方式,某些業(yè)務(wù)通過專家規(guī)則的方式依然有很好的效果袱院。搜索排序是伴隨著我們的業(yè)務(wù)發(fā)展將不斷優(yōu)化的工作屎慢。



公眾號:策略伽?? 歡迎關(guān)注~


參考鏈接:

[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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市忽洛,隨后出現(xiàn)的幾起案子腻惠,更是在濱河造成了極大的恐慌,老刑警劉巖欲虚,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件集灌,死亡現(xiàn)場離奇詭異,居然都是意外死亡复哆,警方通過查閱死者的電腦和手機欣喧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進(jìn)店門腌零,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人唆阿,你說我怎么就攤上這事益涧。” “怎么了驯鳖?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵闲询,是天一觀的道長。 經(jīng)常有香客問我臼隔,道長嘹裂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任摔握,我火速辦了婚禮寄狼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘氨淌。我一直安慰自己泊愧,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布盛正。 她就那樣靜靜地躺著删咱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪豪筝。 梳的紋絲不亂的頭發(fā)上痰滋,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天,我揣著相機與錄音续崖,去河邊找鬼敲街。 笑死,一個胖子當(dāng)著我的面吹牛严望,可吹牛的內(nèi)容都是我干的多艇。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼像吻,長吁一口氣:“原來是場噩夢啊……” “哼峻黍!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拨匆,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤姆涩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后惭每,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體骨饿,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了样刷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仑扑。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖置鼻,靈堂內(nèi)的尸體忽然破棺而出镇饮,到底是詐尸還是另有隱情,我是刑警寧澤箕母,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布储藐,位于F島的核電站,受9級特大地震影響嘶是,放射性物質(zhì)發(fā)生泄漏钙勃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一聂喇、第九天 我趴在偏房一處隱蔽的房頂上張望辖源。 院中可真熱鬧,春花似錦希太、人聲如沸克饶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽矾湃。三九已至,卻和暖如春堕澄,著一層夾襖步出監(jiān)牢的瞬間邀跃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工蛙紫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拍屑,地道東北人。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓惊来,卻偏偏與公主長得像丽涩,于是被迫代替她去往敵國和親棺滞。 傳聞我的和親對象是個殘疾皇子裁蚁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,455評論 2 359