新聞中心

我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、北碚ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的北碚網(wǎng)站制作公司
引言
信息時代到來以后,我們被各種各樣海量的信息所淹沒,從新聞、廣告、電商、直播、短視頻等各種涉及這些場景的APP中,大量個性化的信息被推送到我們眼前。例如在使用得物APP購物的過程中,我們也常常會聽到這樣的問題,為什么會給我推這雙鞋/這件衣服?為什么瀏覽收藏過的商品反復(fù)出現(xiàn)在推薦流中?推薦流是怎么猜測我的喜好的?推薦的排序邏輯是怎樣的,都考慮了哪些因素?能不能主動增加某些類目的曝光量?這些種種的問題,都和我們的排序模型、排序邏輯有關(guān),下面就讓我們來聊聊推薦系統(tǒng)中是如何對商品做排序的。
圖1. 得物APP首頁推薦瀑布流
推薦系統(tǒng)
首先來簡單說一下推薦系統(tǒng)的基本架構(gòu),借用youtube論文中的一張圖片來說明。推薦系統(tǒng)的核心目標(biāo)是從我們的總商品庫中,為用戶挑選出他最感興趣的一部分商品,從而節(jié)省用戶時間,也提高平臺的轉(zhuǎn)化效率,為交易的順利進(jìn)行提供助力。除開一些工程實現(xiàn)部分的細(xì)節(jié),整個過程可以大致分為兩個階段,即召回(candidate generation)和排序(ranking),其中召回的任務(wù)是從海量商品中選取部分用戶“大概率”感興趣的商品集,而排序則負(fù)責(zé)將召回選出來的這部分商品仔細(xì)分析,按照用戶可能感興趣的程度(probability),從高到低進(jìn)行排序,展示給用戶觀看,整個過程在毫秒級的時間內(nèi)完成。
圖2. 引用自論文:Deep Neural Networks for YouTube Recommendations
召回層面的策略和邏輯有很多,也演化了很長一段時間,不過這不是我們今天聊的重點,我們來詳細(xì)聊聊,當(dāng)我們拿到了召回結(jié)果,大概在一萬件以內(nèi)的規(guī)模下,模型是怎樣確定他們的先后順序的,機器怎樣自動化地計算出分?jǐn)?shù)來評估用戶對他們的感興趣程度的。
排序模型的發(fā)展也有很長一段時間了,從互聯(lián)網(wǎng)逐漸興起開始,為用戶快速篩選出有價值的信息一直是一件非常核心的事。我們不妨來看看,為了完成這項任務(wù),都經(jīng)歷了哪些演變過程。
先看一個簡單例子,一位女性用戶來到我們平臺,我們可以拿到的信息有她的性別、訪問時間、行為歷史記錄等,假設(shè)她之前逛了逛衣服,收藏了一雙鞋,最近又在瀏覽吹風(fēng)機,而我們的召回候選集中又恰好有衣服、鞋和吹風(fēng)機,我們應(yīng)該怎樣來定義排序的邏輯呢?
規(guī)則學(xué)習(xí)
解決問題的第一階段,往往是依賴于直覺的,直覺告訴我們,每一個和用戶或者是商品有關(guān)的信息,都會影響到用戶的決策,這之中又必然存在著一定的數(shù)量關(guān)系,排序便有了最初的思路:人工規(guī)則。顧名思義,就是根據(jù)平臺運營人員對業(yè)務(wù)的熟悉程度,來直接定義物品的先后順序,例如平臺最近某件衣服是爆款,賣得很好,所以要排在前面,盡可能讓顧客看到,考慮到個性化因素,這位又是女性用戶,那么就把最近所有女性用戶購買的商品做一個統(tǒng)計,按照銷量從高到低排序,或者更近一步,某個地區(qū)的女性用戶,最近收藏過鞋子的某地區(qū)的女性用戶….只要劃分用戶特定維度后的數(shù)據(jù)流足夠多,規(guī)則足夠明確,最終所有商品對一個具體用戶都會有一個排序結(jié)果,一個粗糙的推薦排序策略也就成型了。
那么以上策略是否就是我們的排序方案呢?顯然并不是的。以上方案有兩個不太合理的地方:
- 人工的策略會因人而異,很難有一個統(tǒng)一的標(biāo)準(zhǔn),而且?guī)缀醪豢赡馨阉行畔⒄显谝黄鹄闷饋怼?/li>
- 優(yōu)化的目標(biāo)模糊,依賴于線上實踐結(jié)果來評價好壞,總體而言大家都是為了讓平臺更好,但是每一個具體的策略,到底是優(yōu)化點擊率還是轉(zhuǎn)化率還是用戶的停留時長、下拉深度,很難在給出規(guī)則時對結(jié)果有一個預(yù)期,線上實驗的成本很高,而且方案的迭代周期可能是無限長的(人總能想到各種不同的規(guī)則組合)。
有沒有一個方案能整合利用所有能拿到的信息,并且在上線前對結(jié)果有一個合理預(yù)期,甚至不需要上線實驗,離線就能評估策略的好壞呢?這個時候,機器學(xué)習(xí)方法出現(xiàn)在了我們眼前。
機器學(xué)習(xí)
解決問題的第二階段,就是在直覺的基礎(chǔ)上引入可量化的模型。模型是一個比較抽象的詞,在這里它指的是對一種映射的抽象描述,即 f(context,user,item)—> score,任何能用具體公式提供這個分?jǐn)?shù)計算邏輯的方案,都可以叫做模型。衡量一個模型好壞的標(biāo)準(zhǔn),就是這個假設(shè)出來的映射關(guān)系與現(xiàn)實中真實的內(nèi)在關(guān)系的距離。比如個子越高,體重就越大,就是一個根據(jù)身高信息去映射體重信息的線型模型,這個模型顯然是不嚴(yán)謹(jǐn)?shù)模诤芏鄷r候也是成立的。說回我們的排序模型,我們需要設(shè)計一個方案,從用戶、商品和上下文信息(事件發(fā)生的時間、場景等客觀信息)中,提煉出用戶對商品的偏好程度。
一個能同時整合所有信息,在形式上足夠簡單,在工業(yè)界的大數(shù)據(jù)和高并發(fā)下又擁有足夠穩(wěn)定性的模型,早就已經(jīng)被數(shù)學(xué)所給出,那就是著名的邏輯回歸模型,形式如下:
圖3. 邏輯回歸函數(shù)圖像
這個模型的形式雖然簡單,但思想足夠深刻,里面整合了數(shù)學(xué)界在參數(shù)估計、信息論和凸優(yōu)化等方向的研究成果,將變量用線性的方式結(jié)合起來,把定義在(-∞,+∞)的自變量映射到(0,1)的值域上,這里的(0,1)之間的分?jǐn)?shù)可以理解為用戶感興趣的概率,整個過程便成了一個點擊率預(yù)估問題。當(dāng)我們用線上實時收集到的用戶行為數(shù)據(jù)作為基礎(chǔ),把用戶的點擊行為轉(zhuǎn)化為0或1的訓(xùn)練目標(biāo),便可以用很成熟的數(shù)學(xué)方案快速地求出公式中的所有最優(yōu)化參數(shù)w,從而確定下最終的計算過程。雖然邏輯回歸模型在學(xué)術(shù)界已經(jīng)是基礎(chǔ)中的基礎(chǔ),但由于其穩(wěn)定性和極高的計算效率,工業(yè)界也依然有很多業(yè)務(wù)場景中使用這套模型作為線上服務(wù)的主要擔(dān)當(dāng)或者降級備用方案。
除了邏輯回歸以外,還有許多機器學(xué)習(xí)的模型被應(yīng)用在排序環(huán)節(jié)中如NB, SVM和GBDT等,其中比較成功的模型是GBDT,這里面又以陳天奇博士提出的XGBoost模型最為著名,在工業(yè)界也有廣泛的應(yīng)用。GBDT模型是以決策樹模型為基礎(chǔ)提出的組合模型,樹模型的特點是更加符合我們?nèi)藢κ挛锏呐袛喾绞剑蟾诺乃枷腩愃葡聢D:
圖4. 樹模型決策思路簡述
剛才提到的GBDT模型就是將以上這種決策行為給定量化,并且使用多棵決策樹進(jìn)行組合決策的結(jié)果,相比于邏輯回歸模型,它提出了一個更符合人類直覺的視角,將排序問題拆解為對若干特征的而二分類組合,將各種用戶和商品特征在決策過程中進(jìn)行了交叉,實踐中效果往往是更優(yōu)的,這也符合我們提到的“模型是對真實決策關(guān)系的模擬”這一觀點。但是樹模型也有它的不足,比如它優(yōu)化性能較低,對大數(shù)據(jù)量的計算性能較差,對增量訓(xùn)練的支持度較差等等。
總的來說,無論是邏輯回歸還是GBDT模型,都是機器學(xué)習(xí)在推薦領(lǐng)域很好的實踐和探索,他們各自都還存在一些明顯的不足,業(yè)界針對這些不足的地方也都有各種補充和優(yōu)化的方案,經(jīng)過幾年的迭代,伴隨著理論和硬件條件雙重發(fā)展的基礎(chǔ)上,推薦系統(tǒng)迎來了它的深度學(xué)習(xí)時代。
深度學(xué)習(xí)
解決問題的第三階段,是在成熟的工業(yè)界方案基礎(chǔ)上,加入自己對具體業(yè)務(wù)場景的理解。邏輯回歸公式簡潔,性能可靠,GBDT思路清晰,效果出色,但他們是否就是問題的最終解決方案呢?顯然還是不夠的,如上面提到的,他們各自都還有不少的問題需要解決:
- 邏輯回歸對特征間關(guān)系的刻畫過于簡單,對特征僅僅做了線性組合,與現(xiàn)實中大量的非線性關(guān)系的存在是違背的,比如女性、上海、數(shù)碼產(chǎn)品這幾個特征的簡單加減法來描述用戶購買傾向,與我們的認(rèn)知不符,這三個特征和購買意愿的關(guān)系,更有可能是非線性的,而GBDT在處理特征組合時使用的方式也比較單一,難以刻畫更為復(fù)雜的組合關(guān)系。
- 數(shù)據(jù)的排序邏輯過于單一,都是以點擊率作為目標(biāo),單一目標(biāo)的問題在于,很容易導(dǎo)致結(jié)果缺乏多樣性,用戶此刻想看數(shù)碼產(chǎn)品,并不意味著滿屏的推薦都應(yīng)該變成數(shù)碼產(chǎn)品,這可能反而會降低用戶體驗。
從解決這兩個問題出發(fā),我們的思路又細(xì)分到了兩個方向上,分別是拓寬模型的復(fù)雜度和多目標(biāo)下的后排序干預(yù)。
第一個問題是拓寬模型的復(fù)雜度,在具體操作中可以分為兩個方面的工作,第一個方面,是在特征組合上盡可能提供復(fù)雜的特征,比如我們例子中,本身模型輸入的信息是性別、地區(qū)、用戶行為、商品屬性,但是我們可以人工定義一些其他的復(fù)雜特征,比如用戶是否購買過同類商品,用戶對同品牌商品的點擊次數(shù)等,通過增加特征的復(fù)雜度,來增加模型輸入的信息量,把一些非線性的關(guān)系轉(zhuǎn)化到線性模型上來解決,這樣做的好處是有效節(jié)省了計算資源,也減輕了線上推斷所帶來的壓力,對效果提升也很有幫助;不過弊端也是明顯的,那就是整體思路又回到了我們一開始人工規(guī)則的老路上,依賴于人的經(jīng)驗來做優(yōu)化,不過這里的人由平臺運營換成了算法工程師。所以能不能把拓寬非線性關(guān)系的工作也交給機器來完成呢?這便是第二個方面,引入深度學(xué)習(xí)的模型。
圖5. Google提出的模型的Wide&Deep模型架構(gòu)
深度學(xué)習(xí)在如今的工業(yè)界早已是大名鼎鼎,從2016年起,在谷歌的W&D模型的影響下,工業(yè)界的推薦系統(tǒng)開始紛紛效仿,大踏步地邁進(jìn)了深度學(xué)習(xí)所統(tǒng)治的時代,如今各大廠的主流推薦模型,都是在深度學(xué)習(xí)的基礎(chǔ)上做的開發(fā),關(guān)于深度學(xué)習(xí)的理論知識,相關(guān)講解有很多,這里就不詳細(xì)展開。對于推薦系統(tǒng)來說,深度學(xué)習(xí)所解決的核心問題,就是特征間非線性關(guān)系的自動化挖掘。這里面的邏輯,可以說是一個“用魔法來打敗魔法”的過程。我對這個問題的理解是這樣的,特征間正確的組合方式是存在的,只是組合成幾何級增長,遍歷嘗試的操作代價難以承受,這便是第一重“魔法”;而深度學(xué)習(xí)從理論上證明,只要給定入?yún)⒑湍繕?biāo),它可以擬合任意復(fù)雜的函數(shù),但是最終你也不會知道擬合出來的函數(shù)具體形式是怎樣的(可解釋性目前為止也是學(xué)術(shù)界的一個很重要的方向),這便是第二重“魔法”;一邊是你無法遍歷的組合結(jié)果,另一邊是你無法解釋的組合結(jié)果,但最終產(chǎn)出了符合你預(yù)期的業(yè)務(wù)效果,所以我稱之為一個用魔法去打敗魔法的過程,這也是業(yè)內(nèi)深度學(xué)習(xí)算法工程師又被戲稱為“煉丹工程師”的原因,很多時候工程師對于模型的具體作用原理也是難以解釋的,唯一知道的,就是它是否“有效”。
圖6.阿里巴巴提出的ESMM多目標(biāo)網(wǎng)絡(luò)
圖7.阿里巴巴提出的重排序網(wǎng)絡(luò)
關(guān)于邏輯回歸的第二個問題,多目標(biāo)和多樣性,就不能簡單通過拓寬模型復(fù)雜度來解決了。多目標(biāo)優(yōu)化和后排序干預(yù)也是現(xiàn)在推薦排序側(cè)很重要的邏輯,由于深度學(xué)習(xí)這個魔法特別好用,所以業(yè)界也產(chǎn)出了很多相關(guān)的理論模型,比如阿里的ESMM和Re-ranking模型。不過由于后排序這塊是直接影響到用戶最終體驗的,不可解釋的魔法結(jié)果在目前的實用性和可控性上還是比不上能夠靈活調(diào)整的規(guī)則,因此在模型排序的結(jié)果環(huán)節(jié),又加入了一些人工規(guī)則,比如類目打散、品牌打散和曝光過濾等,來滿足一些主觀需求。最終的排序流程,還是一個計算機模型和人工規(guī)則互相輔助來實現(xiàn)的。
總結(jié)
以上便是推薦系統(tǒng)的大體排序邏輯,以后的模型還會越來越多,也未必都會局限在深度學(xué)習(xí)的領(lǐng)域,整個業(yè)界也還在探尋什么樣的模型能以最小的代價刻畫出人與物的協(xié)同關(guān)系,這個問題很可能沒有一個標(biāo)準(zhǔn)答案,需要算法工程師根據(jù)具體的業(yè)務(wù)場景和業(yè)務(wù)特點去構(gòu)造和處理排序的問題。最終的排序結(jié)果是在訓(xùn)練數(shù)據(jù)、特征選擇、模型結(jié)構(gòu)和后排序邏輯的共同干預(yù)作用下決定的,數(shù)據(jù)會是排序邏輯的核心,而不是人工主觀意識在駕馭和操縱的。雖然小的細(xì)節(jié)還在不斷地調(diào)整和改變,但是大的方向一定是以更復(fù)雜的特征、更合理的模型結(jié)構(gòu)、更高效的迭代方式,更靈活的規(guī)則調(diào)整來實現(xiàn)更好的業(yè)務(wù)指標(biāo)。
分享標(biāo)題:一文帶你了解得物推薦系統(tǒng)是如何做排序的。網(wǎng)友:真牛
本文URL:http://www.dlmjj.cn/article/dpcoisd.html


咨詢
建站咨詢
