北京2021年8月12日 /美通社/ -- 推薦系統(tǒng)作為一種高效的信息發(fā)現(xiàn)工具,可以很好地解決用戶精準高效獲取信息的問題,尤其在人們需求不明確時,借助推薦系統(tǒng)獲取信息是非常重要甚至是不可或缺的一種手段。同時就商業(yè)價值而言,推薦系統(tǒng)在內(nèi)容分發(fā)、用戶體驗、商業(yè)化變現(xiàn)等方面也已經(jīng)獲得了廣泛的認可。推薦系統(tǒng)目前已經(jīng)成為互聯(lián)網(wǎng)to C產(chǎn)品的標配技術(shù),用來高效地解決用戶的信息匹配問題。
筆者是算法工程師背景,曾在國內(nèi)最大的短視頻平臺參與推薦系統(tǒng)核心算法模塊研發(fā),先后經(jīng)歷五款千萬級以上日活內(nèi)容分發(fā)產(chǎn)品從0到1階段的推薦系統(tǒng)架構(gòu)設(shè)計,踩過各種產(chǎn)品/內(nèi)容/算法/運營的坑。之后在做推薦算法to B服務過程中,經(jīng)歷了各種推薦應用的場景,比如:短視頻、長視頻、新聞資訊、音頻應用、社交社區(qū)、直播、電商、游戲等幾乎所有需要個性化算法的產(chǎn)品。通過本文,筆者希望基于以往經(jīng)歷過的失敗或成功的案例,與業(yè)界同仁探討在搭建工業(yè)級推薦系統(tǒng)過程中必須深入思考的五個關(guān)鍵性問題。
問題1:算法是否有用?
根據(jù)業(yè)界主流定義,推薦算法是指建立在機器學習基礎(chǔ)之上的一套包含模型訓練/預測功能的決策系統(tǒng)。廣義的算法其實包含各種計算策略、方法和技巧,不限于機器學習方法,比如一些求解技巧或者是結(jié)合業(yè)務特點的先驗假設(shè)。
如前文所述,推薦系統(tǒng)目前已經(jīng)成為to C互聯(lián)網(wǎng)產(chǎn)品的標配技術(shù),但是,你有沒有認真思考過:你的產(chǎn)品或者系統(tǒng),有沒有必要利用推薦算法?推薦算法有多大的空間?
筆者經(jīng)常見到一些初入門算法工程師,面對具體推薦場景時,沒有做好充分的評估建模,一上來就三段式:樣本生成、模型訓練、上線預測,最終折騰半天沒有任何效果,甚至不如人工推薦的效果。之所以會出現(xiàn)各種結(jié)果,是因為這些算法工程師沒有做好前期建模,分析數(shù)據(jù)基本面,確認面對的應用場景是不是屬于“用戶”和“事物(Item)”的雙邊充分消費市場。這里面,事物(Item)可以是人、信息、商品、服務等,雙邊基數(shù)越大推薦算法作用越大,雙邊消費越頻繁,推薦效果越好。
在2020年中量質(zhì)子曾經(jīng)接觸過一個做小游戲推薦的客戶。他們在產(chǎn)品早期有幾個策略工程師基于一些業(yè)務策略做了一版推薦系統(tǒng),相對于完全沒有策略的狀態(tài)推薦效果好了很多,公司決策層于是認為算法效果立竿見影、大有可為,高成本從抖音、百度等大廠挖了20多個高級算法工程師。算法同學加入之后沒有充分理解小游戲場景的用戶行為特點和產(chǎn)品指標評估體系,而是把內(nèi)容類產(chǎn)品的建模方法和模型算法應用在App上,評估指標體系是用戶人均使用時長和用戶留存,結(jié)果做了半年嘗試了各種模型算法都沒有任何進展,團隊信心喪失,人員流失嚴重,這時公司決策層又開始懷疑算法的價值。那么究竟是哪里出了差錯呢?
其實,這個案例的核心問題出在建模目標、模型拆解、樣本生成、評估體系上。小游戲場景和內(nèi)容分發(fā)類產(chǎn)品差別很大。內(nèi)容分發(fā)類產(chǎn)品一個最大的特點是:推薦內(nèi)容都是新的不重復的(工業(yè)級內(nèi)容推薦系統(tǒng)都有展現(xiàn)消重模塊),用戶對老內(nèi)容會本能排斥。而小游戲則不同,相比內(nèi)容消費,玩小游戲是一個中度決策的場景,用戶一個時段傾向于玩相同游戲直到興趣消退,對新游戲發(fā)現(xiàn)需求不如內(nèi)容分發(fā)強。因此,就需要仔細權(quán)衡新老游戲分發(fā)權(quán)重、冷啟動策略如何制定、多目標如何拆解、模型樣本怎么定義等等關(guān)鍵節(jié)點。如果這些關(guān)鍵點沒有做到位,那么后續(xù)怎么調(diào)參都不會有效果。同時,在產(chǎn)品宏觀指標算法效果評估上也要能反應出產(chǎn)品大目標,比如人均消費游戲數(shù)量、人均新游戲打開數(shù),并綜合考慮留存和人均時長指標。
中量質(zhì)子團隊在2020年還曾經(jīng)服務過一個做藝術(shù)品的社區(qū)社交的客戶,其產(chǎn)品UI類小紅書??蛻舻漠a(chǎn)品從UI形式上看非常適合推薦,然而我們嘗試了一段時間,效果始終做的不好。經(jīng)過深度復盤,我們終于發(fā)現(xiàn)核心原因是用戶數(shù)量太少,每天的用戶行為非常少,導致模型學習非常不充分預測不準;而且,用戶的消費行為不像內(nèi)容消費那么高頻度。這些用戶對一個藝術(shù)品會反復瀏覽,是一個重度決策過程,更接近一個電商商品推薦。此外,這家客戶設(shè)定的評估指標是人均消費金額,相比與時長留存,這是一個行為更稀疏的指標,更難做多目標的拆解和模型算法的充分學習。最終,我們給客戶的建議是:這個階段的產(chǎn)品更適合基于策略做熱門運營半自動推薦,先做好用戶增長。記不記得前面我曾經(jīng)講過,在“用戶”和“事物”的雙邊消費市場里,雙邊基數(shù)越大推薦算法作用越大,雙邊消費越頻繁推薦效果越好。
其實,對于算法硬實力筆者認為不必過分強調(diào),反而對于理解業(yè)務場景、建模問題、定義模型目標等等推薦系統(tǒng)團隊的軟實力,大家應該給予更多的重視。
問題2:特征工程該怎么做?
在確認了產(chǎn)品的場景適合用算法提升匹配效率,并且評估了產(chǎn)品和數(shù)據(jù)基本面,完成了建模后,“特征工程”是下一個決定模型能否充分訓練學習、精準預測的關(guān)鍵環(huán)節(jié)。不知道你對于特征工程是否熟悉。據(jù)筆者的觀察,目前行業(yè)里系統(tǒng)性介紹特征工程的技術(shù)文章不多,也不如算法受重視程度高,特征的重要性往往被忽視。
什么是特征?特征是影響模型預測的輸入因子,而模型是預測時基于輸入因子的計算方法。從兩者間的相互關(guān)系,你立刻就會意識到特征的重要性有多么大。在深度學習算法時代來臨之前,以邏輯回歸為代表的線性寬度模型是業(yè)界主要應用的模型,那時特征工程幾乎對算法效果具有決定性的作用。時至今日,在深度學習模型廣泛應用的大背景下,特征工程依然是推薦系統(tǒng)的核心前置工程,復雜的特征工程和復雜的深度模型結(jié)構(gòu)都是主流工業(yè)級推薦引擎必不可少的基石性的組成部分。
那么,特征工程是什么?是如何影響模型的?具體而言,特征工程屬于建模的一部分,指用哪些因子(特征)去支持模型做決策判斷。特征和行為埋點、畫像系統(tǒng)密切關(guān)聯(lián),行為埋點是最原始的數(shù)據(jù)來源,畫像字段一般是用行為埋點和用戶以及事物的元信息生成的。特征工程的關(guān)鍵是找到一系列判定模型目標的決策因子,并且在工程上有一套標準化的特征抽取和表示方法,一般可以分為單維特征(比如各畫像字段維度)、多維組合特征(比如用戶和事物的特征組合)、機器學習特征(比如用戶和事物的embedding特征)。特征是模型的原始輸入,工業(yè)級推薦系統(tǒng)優(yōu)化到一定階段,特征工程就成為算法工程師最主要的工作。
在特征工程領(lǐng)域,中量質(zhì)子團隊在“行業(yè)級最佳實踐”和“工程實現(xiàn)”兩個關(guān)鍵領(lǐng)域積累了深厚的實力。
行業(yè)級最佳實踐,是一種準確判斷在不同的產(chǎn)品場景應用哪些特征能夠獲得最優(yōu)效果的能力。特征工程也遵循28原則,你需要找到在每個領(lǐng)域起核心作用的那些少數(shù)特征。中量質(zhì)子團隊在內(nèi)容、短視頻、新聞資訊、社區(qū)社交、電商、直播等應用領(lǐng)域已經(jīng)積累了大量的最佳特征體系實踐,比如電商領(lǐng)域哪些是核心特征、怎么構(gòu)建用戶側(cè)特征、特征字段計算方法和更新頻率等等。
關(guān)于工程實現(xiàn),有三個維度你需要給予特別的關(guān)注:
由于文字篇幅所限,筆者在本文中重點分享了從零開始搭建工業(yè)級推薦系統(tǒng)的過程中,最為關(guān)鍵的兩大問題?!八惴ā焙汀疤卣鞴こ獭保@兩個話題一個在行業(yè)內(nèi)為大家所津津樂道,而另一個則名聲不顯。但是,通過筆者實戰(zhàn)經(jīng)歷的分享,相信大家一定已經(jīng)認識到了他們在工業(yè)級推薦系統(tǒng)中的基石性的作用。在接下來的文章中,筆者將就對于搭建工業(yè)級推薦系統(tǒng)另外三個至關(guān)重要的問題跟大家做進一步的分享。