Pinterest主頁的機器學習#
Pinterest擁有超過300億(正在增長)附有背景和視覺信息的“pin”。1000W用戶每天通過瀏覽器、搜索、pin以及通過點擊外部網(wǎng)站訪問交互。主頁收集用戶發(fā)布的pins,公布到boards并按興趣劃分,同時為用戶挑選推薦,因此主頁成為最重要的用戶參與服務,并貢獻相當大比例的repins。越來越多的用戶pin,人們可以獲取更好的Pinterest,我們處于一個獨特的位置為探索持續(xù)不斷的提供靈感。
??主頁是發(fā)現(xiàn)新事物的關(guān)鍵,對用戶來講最有價值的部分,但是面臨一個挑戰(zhàn)性的問題。鑒于從各種渠道不斷增加的Pins,我們?nèi)绾瓮诰蜃顐€性化、最相關(guān)的pins?我們的答案是Pinnability!
??Pinnability是我們幫助用戶在其主頁發(fā)現(xiàn)最好內(nèi)容的機器學習模型總稱。她是智能主頁技術(shù)的一部分,去年八月,我們推出、估計用戶與之交互的pin的相關(guān)度。有了準確預測,我們優(yōu)先考慮具有高相關(guān)度的pins,并展示在主頁的最頂端。
Pinnability 所帶來的好處##
在推出Pinnability幾個月之前,所有主頁都是按照時間順序排列的,沒有考慮哪個pins是用戶最感興趣的。換句話講,來至同一源的新pin,在舊pin之前總是出現(xiàn)的。這個簡單的規(guī)則是易于理解和實現(xiàn)的,但是它缺少有效幫助用戶發(fā)現(xiàn)他們真正感興趣的pin的能力。因為,一個低相關(guān)度的pin可能恰好出現(xiàn)在高相關(guān)度pin之前。

<center>圖 1 在Pinnability之前的主頁,顏色代表相關(guān)度</center>
??隨著在Pinnability的啟動,主頁使用Pinnability模型對候選pin評分。評分代表用戶和候選pin之間個性化的相關(guān)程度。主頁中的pin按相似度評分排序。如圖2所示:

<center>圖 1 在Pinnability之后的主頁,pin按個性化相似度評分排序</center>
強大的Pinnability與機器學習##
如何準確預測用戶與其交互的Pin的相關(guān)程度,使用最先進的機器學習模型,包括Logistic回歸、支持向量機、梯度提升決策樹(GBDT)和卷積神經(jīng)網(wǎng)絡(CNN)。提取測試對于準確預測相關(guān)性評分有用的成千上萬個文本和圖像特征。在我們推出一個在線的A/B實驗模型前,我們完全根據(jù)歷史數(shù)據(jù)評估其離線性能。
??圖3概括了Pinnability流的三個主要部件,分別為訓練實例生成、Pinnability模型生成和主頁服務。
<center>

<center>圖 3 Pinnability過程概覽</center>
訓練實例生成##
Pinnability訓練數(shù)據(jù)的基礎是用戶與主頁pin交互的歷史數(shù)據(jù)。例如,在主頁查看了一個pin之后,用戶有可能選擇喜歡、repin、單擊pin關(guān)閉、點擊率、評論、隱藏或者什么也不做。記錄一些“positive actions”和“negative actions”作為訓練實例。很明顯,pin被查看的次數(shù)通常大于用戶做出positive actions數(shù)量,因此,以不同的比例對正例和負例進行采樣。有了這些定義,我們測試成千上萬的信息特征,提高Pinnability預測精度。
??其獨特的數(shù)據(jù)包含豐富的人力策劃內(nèi)容,以便對pin,board和用戶動態(tài)提供大量Pinnability準確預測的信息特征。這些特征可以分為三大類:pin特征,用戶特征和交互特征:
- Pin特征捕獲一個Pin的固有性質(zhì),例如歷史流行度,Pin新鮮度和“垃圾”似然性。CNN中的視覺特征也包括在內(nèi)。
- 用戶特征關(guān)于用戶的細節(jié),例如pin的活躍程度、性別和board的狀態(tài)。
- 交互特征代表用戶與相似類型Pin的過去交互信息。
??一些特征受轉(zhuǎn)化(transformation)和標準化(normalization)影響。例如,對數(shù)變換應用于許多“計數(shù)特征”,如用戶擁有的Pin的數(shù)量具有友好的回歸分布。
??在開發(fā)一個健壯的訓練數(shù)據(jù)生成過程面臨的主要挑戰(zhàn)是如何應對大數(shù)據(jù)的規(guī)模。使用Mapreduce生成訓練實例,每個代表用戶/pin的交互。一個訓練實例包含三部分信息: - 當我們想訓練、分析訓練實例子集的Pinnability模型,會對原始數(shù)據(jù)(Pin ID ,用戶ID,交互信息,時間戳等等)分組。如為你挑選(PFY)模型。
- 目標變量表示用戶在查看pin是否做出positive action。我們和訓練獨立模型,優(yōu)化不同positive actions,如repin和點擊率。
- 特征向量包含信息信號的交互預測。
Pinnability模型生成##
在訓練Pinnability模型中,使用AUC、R^2和RMSE作為離線模型的評估指標。優(yōu)化AUC,不僅因為其廣泛應用于類似預測系統(tǒng)中,而且由于觀察到離線測試下的AUC增益和在線A/B實驗中用戶參與的增長具有強正相關(guān)性。Pinnability模型實現(xiàn)AUC得分均值為90%左右。
??我們嘗試多種機器學習模型,包括LR、GBDT、SVM和CNN,在10-折交叉驗證和90/10切分訓練-測試數(shù)據(jù)集設置下,使用AUC得分評估模型參數(shù)。觀察得出,對于給定的固定特征集合,Pinnability的最優(yōu)模型總是趨于LR或GBDT。對于在線A/B實驗,基于離線AUC得分優(yōu)先模型。
??向訓練實例加入了上千種特征,選擇的特征能夠顯著增強作為在線A/B實驗候選人的離線AUC指標。由于有大量特征,通常在小組中測試新特征,如新舊程度、Pin所有者的性質(zhì)和分類匹配特征。A/B實驗比較用戶參與在生產(chǎn)特征和使用新實驗特征的小組。如果結(jié)果為正,我們評估額外的數(shù)據(jù)大小和添加新特征到生產(chǎn)環(huán)境Pinnability模型的延時影響。通過健壯的訓練實例生成、模型訓練和評估快速迭代。為了持續(xù)監(jiān)控模型性能,保留小部分沒有暴露給Pinnability模型的截留用戶小組。比較截留組和啟用組之間差異,為Pinnability 長久表現(xiàn)提供寶貴見解。
??現(xiàn)在,使用離線批處理數(shù)據(jù)訓練模型。這將造成一個潛在的問題,我們不利用最新數(shù)據(jù)去動態(tài)調(diào)整服務中模型的參數(shù)。另一方面,在訓練由數(shù)天切分數(shù)據(jù)的不同批次是,測試并確認模型參數(shù)基本不變。因此,在線模型調(diào)整收益于進一步評估。
??同時探索實時情況下在線訓練的方法,提升離線訓練過程,所以在收集主頁活動數(shù)據(jù)后,模型立即被校準。在線訓練帶來機器學習過程算法和主頁服務框架新的挑戰(zhàn)。
主頁服務##
主頁是由內(nèi)部的智能主頁基礎構(gòu)架提供的。當一個新的Pin被repin時,智能主頁worker為repin的pin和所有關(guān)注repin用戶和board發(fā)送相關(guān)性評分的請求到Pinnability服務器。
??當一個用戶登錄或刷新主頁,智能主頁內(nèi)容生成器在各個池遵循相關(guān)性評分同時,從各種池中物化新的內(nèi)容,智能主頁服務呈現(xiàn)按相關(guān)性評分優(yōu)先的用戶主頁。
Pinnability成果##
將繼續(xù)完善Pinnability并發(fā)布一些最新的改進。隨著每次循環(huán),發(fā)現(xiàn)用戶參與顯著提升,包括以超過20%速率增長的主頁repin計數(shù)。同樣也觀察到其他指標包括repin總數(shù)和點擊率的顯著受益。
??鑒于主頁的重要性和用戶參與的提升,Pinnability繼續(xù)作為構(gòu)建發(fā)現(xiàn)引擎的核心項目。同時擴大使用Pinnability模型幫助提高主頁以外的其他產(chǎn)品。
??我們一直在尋找聰明的工程師加入Pinterest,幫助解決類似Pinnability影響力的問題。
??云松郭是關(guān)于推薦團隊軟件工程師。
??致謝:Pinnability是與Mukund Narasimhan, Chris Pinchak, Yuchen Liu, Dmitry Chechik and Hui Xu合作開發(fā)的一項長期戰(zhàn)略工程。這個團隊,以及整個公司的人,以他們的技術(shù)見解和寶貴的反饋意見幫助這個項目實現(xiàn)。
??對于Pinterest工程的新聞和更新,關(guān)注我們的Pinterest,Facebook and Twitter。有興趣加入這個團隊?請看我們的招聘網(wǎng)站。