掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
B站游戲中心是一個游戲分發(fā)平臺,它提供游戲下載、游戲評測、游戲攻略和游戲活動等相關(guān)內(nèi)容,用戶可以在這里找到各種優(yōu)秀的游戲作品,預(yù)約測試,下載資源,以及參與游戲社區(qū)的互動。游戲中心首頁如圖1-1所示:

目前成都創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、海滄網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
圖1-1 B站游戲中心首頁
盡管游戲中心的用戶是主站用戶的一個子集,但鑒于主站用戶有相當(dāng)一部分是游戲玩家,游戲中心的用戶規(guī)模十分龐大;另外游戲中心的游戲非常豐富,涵蓋了各種類型的游戲,包括手機(jī)游戲、電腦游戲和主機(jī)游戲等。
游戲中心推薦系統(tǒng)是這些游戲和海量用戶的橋梁,為游戲用戶推薦他們感興趣的B服游戲,幫助游戲用戶解決游戲數(shù)量過多帶來的信息過載問題,用戶下載了這些游戲并游玩后,作為渠道服的B站能獲得相應(yīng)的渠道分成,從而實(shí)現(xiàn)共贏的局面。
總體來講,游戲中心推薦系統(tǒng)一方面可以幫助用戶解決"發(fā)現(xiàn)游戲"的痛點(diǎn),精準(zhǔn)推薦可以降低用戶的打開成本。另一方面,推薦系統(tǒng)不僅可以幫助提高轉(zhuǎn)化率,減少無效曝光,而且可以整合利用零碎流量,交叉推廣指定的游戲,還可以建立更加詳細(xì)的用戶畫像體系,將用戶留在B站生態(tài)當(dāng)中。
當(dāng)前游戲中心涉及到個性化游戲推薦的模塊包括首頁feed流推薦,首頁近期新游推薦和詳情頁相關(guān)游戲推薦等,如圖1-2所示:
圖1-2 游戲中心所涉及的個性化推薦模塊
游戲推薦系統(tǒng)在建設(shè)的過程中主要面臨以下兩個方面的挑戰(zhàn):
為了適應(yīng)游戲分發(fā)業(yè)務(wù)的快速發(fā)展,游戲推薦系統(tǒng)需要能夠靈活地應(yīng)用新的算法和策略。因此,在設(shè)計(jì)推薦系統(tǒng)的時候,要盡量考慮其通用性和可配置性。
首先,用戶特征構(gòu)建方面,由于游戲用戶的興趣和偏好可能會隨著時間、場景、心情等因素而變化,這要求推薦系統(tǒng)需要能夠及時捕捉和適應(yīng)這些變化,提供更符合用戶當(dāng)前需求的游戲內(nèi)容和服務(wù)。
其次,游戲中心的用戶玩游戲需要付出較高的成本。用戶不僅要下載安裝包體,還要花費(fèi)精力去學(xué)習(xí)游戲的玩法。這與短視頻、電商或信息流推薦不同,用戶可以很容易地退出、切換或忽略不喜歡的內(nèi)容。因此,游戲推薦對用戶來說有較高的試錯成本,使得用戶不愿意輕易改變游戲。例如,用戶看了一部動作電影,你再推薦一部動作電影,他很可能會觀看,但是用戶在玩王者榮耀,你再推薦一個不知名的射擊游戲,他很可能會忽略。
另外,用戶-游戲交互數(shù)據(jù)的稀疏性和偏差性。游戲用戶的行為數(shù)據(jù)往往是非常稀疏和不均衡的,比如用戶對游戲的評分、評論、收藏、下載等行為都是低頻和少量的,而推薦系統(tǒng)需要能夠從這些數(shù)據(jù)中學(xué)習(xí)和預(yù)測用戶的喜好和意圖。此外,用戶行為數(shù)據(jù)還可能存在各種維度的偏差,比如曝光偏差、位置偏差、選擇偏差等,而推薦系統(tǒng)需要能夠消除或減少這些偏差對模型的影響。
最后,游戲推薦系統(tǒng)需要在滿足用戶的個性化需求和保證平臺的利益之間找到一個平衡點(diǎn)。例如,用戶可能更喜歡低肝低氪的游戲,而平臺可能更想推廣付費(fèi)或高價(jià)的游戲。如何設(shè)計(jì)一個合理的目標(biāo)函數(shù)和評估指標(biāo),以兼顧用戶和平臺的多方利益,也是一個建模挑戰(zhàn)。
在游戲中心推薦場景下,用戶消費(fèi)的是游戲,一旦完成游戲下載和后續(xù)的轉(zhuǎn)化,平臺就可以獲得分成收入,是直接的盈利方式。這與信息流推薦顯著不同,信息流推薦場景下,用戶消費(fèi)內(nèi)容,平臺優(yōu)化算法來提高用戶粘性,然后通過互聯(lián)網(wǎng)廣告獲得收入,這種盈利方式是間接的。
游戲中心推薦系統(tǒng)的總目標(biāo)是提升B服游戲渠道的收入,這一方面要求系統(tǒng)能為用戶推薦他們真正喜愛的游戲,從而為游戲帶來更多的用戶;另一方面具體到每一個用戶,他們對某個游戲愿意投入的時間是有限的,需要推薦系統(tǒng)盡可能提高游戲用戶生命周期的總價(jià)值即LTV,而提升LTV與給用戶所推薦的游戲關(guān)系密切相關(guān)。這種目標(biāo)類似互聯(lián)網(wǎng)電商,既要提升用戶規(guī)模,又要提升客單價(jià)。
衡量游戲中心推薦的指標(biāo)主要包含消費(fèi)側(cè)指標(biāo)和平臺側(cè)指標(biāo),消費(fèi)側(cè)指標(biāo)如點(diǎn)擊率,下載率,平臺側(cè)指標(biāo)如新增用戶數(shù)和LTV等,如表1-1所示:
|
指標(biāo) |
公式 |
說明 | |
|
消費(fèi)側(cè) |
CTR |
點(diǎn)擊次數(shù)/PV |
單次曝光帶來的點(diǎn)擊 |
|
CVR |
下載次數(shù)/PV |
單次曝光帶來的下載 | |
|
UV-CTR |
點(diǎn)擊次數(shù)/UV |
人均點(diǎn)擊次數(shù) | |
|
UV-CVR |
下載次數(shù)/UV |
人均點(diǎn)擊下載次數(shù) | |
|
平臺層 |
萬次曝光收益 |
10000*收入/推送次數(shù) |
7天內(nèi)萬次曝光帶來的收入 |
|
NAU |
當(dāng)日新增人數(shù) |
衡量渠道的引量能力 | |
|
LTV |
生命周期收入/NAU |
衡量渠道的引量質(zhì)量 |
表1-1 游戲推薦系統(tǒng)的核心評價(jià)指標(biāo)
圖2-1 游戲算法平臺架構(gòu)圖
游戲中心推薦系統(tǒng)在立項(xiàng)階段就考慮到了復(fù)用性,目前該系統(tǒng)不僅服務(wù)于推薦系統(tǒng),還服務(wù)于其他游戲算法業(yè)務(wù)如智能廣告投放、游戲禮包推薦、流失預(yù)測等系統(tǒng)。其系統(tǒng)架構(gòu)圖如圖2-1所示,涉及的模塊如下:
數(shù)據(jù)和特征是推薦系統(tǒng)的基礎(chǔ),決定了推薦系統(tǒng)的效果和性能。其中特征的選擇和構(gòu)建直接影響了推薦系統(tǒng)能否有效地學(xué)習(xí)用戶和游戲之間的匹配程度,以及能否提高推薦的準(zhǔn)確性和效率。游戲推薦系統(tǒng)使用的特征類型和特征處理方法主要有:
游戲推薦系統(tǒng)的特征平臺是專門用來存儲,共享和管理算法模型中的特征。該特征平臺可以幫助其他游戲算法項(xiàng)目進(jìn)行特征共享,同時可供非算法項(xiàng)目的使用,如廣告投放系統(tǒng)人群包的篩選,輿情分析系統(tǒng)特定人群的洞察等。
特征平臺的建設(shè)不僅可以提高特征復(fù)用率,減少重復(fù)工作,而且還可能保證特征一致性,避免因?yàn)樘卣鞑灰恢聦?dǎo)致的模型性能下降,還會降低特征開發(fā)成本,簡化特征開發(fā)流程。
圖3-1 特征平臺
如圖3-1所示,游戲推薦的特征平臺的主要由三部分組成:
有了豐富的用戶和游戲特征后,接下來就可以對這些特征數(shù)據(jù)進(jìn)行算法建模。推薦系統(tǒng)中算法模塊在游戲分發(fā)和智能決策中承擔(dān)重要責(zé)任,游戲分發(fā)鏈路通常被拆分成召回、排序和重排三大模塊,如圖3-2所示。
圖3-2 游戲推薦系統(tǒng)的游戲分發(fā)鏈路
召回的目的是從海量的游戲庫中快速地篩選出少量的候選游戲,降低后續(xù)排序階段的排序壓力,召回模型決定了推薦系統(tǒng)的效果上限,所以要盡可能多的從不同維度來挖掘用戶的興趣點(diǎn),為此我們從不同的方向進(jìn)行游戲召回,這些召回包括以下幾個方方面:
鑒于不同游戲召回通道各有優(yōu)缺點(diǎn),而且效果也不同,實(shí)際使用的時候,將不同的通道進(jìn)行加權(quán)融合,具體做法事給每個召回通道分配一個權(quán)重,根據(jù)權(quán)重對每個通道的召回結(jié)果進(jìn)行排序或截?cái)?,得到最終的召回召回組結(jié)果,傳遞給下游排序任務(wù)。這樣既考慮游戲召回的覆蓋度,又考慮了召回的準(zhǔn)確性。當(dāng)然不同召回組之間也可以進(jìn)行效果對比,來確定什么樣的組合效果最好。這些融合方式支持可配置化,根據(jù)線上效果快速進(jìn)行階段數(shù)量的調(diào)整。一種在線召回組實(shí)驗(yàn)配置如圖3-3所示:
圖3-3 在線召回實(shí)驗(yàn)配置樣例
圖3-4 游戲推薦系統(tǒng)排序模型
排序模型的目的是根據(jù)用戶和游戲的特征,更精準(zhǔn)的預(yù)測用戶對游戲的點(diǎn)擊率或下載概率。為了提高排序模型的整體收益,我們的排序模型針對多目標(biāo)進(jìn)行建模,并從不同的維度來學(xué)習(xí)用戶的不同偏好,包括多階特征交叉、注意力機(jī)制和序列建模,該模型的結(jié)構(gòu)如圖3-4所示:
游戲推薦系統(tǒng)重排階段的模型是指在精排模型進(jìn)行候選游戲得分TopK篩選后,對篩選后游戲進(jìn)行排序和調(diào)整,以提高推薦效果和用戶體驗(yàn),同時兼顧平臺利益。游戲推薦系統(tǒng)重排階段的模型可以包括以下幾個方面:
上一節(jié)的召回和排序算法經(jīng)過深度學(xué)習(xí)平臺訓(xùn)練得到對應(yīng)的模型后,接下來就可以將這些模型部署到線上,為用戶提供個性化的游戲服務(wù),其中最主要的服務(wù)包含召回服務(wù)和排序服務(wù)。
圖3-5 游戲推薦系統(tǒng)召回服務(wù)
首先是召回服務(wù),其負(fù)責(zé)給用戶提供不同召回通道的召回結(jié)果并進(jìn)行一定的融合,它的輸入是候選游戲池,輸出是當(dāng)前用戶有可能點(diǎn)擊或者下載的游戲列表。其包含兩種召回方式,分別是倒排索引庫直接讀取召回結(jié)果和調(diào)用實(shí)時召回服務(wù)獲取召回的游戲列表,如圖3-5所示:
圖3-6雙塔模型的召回服務(wù)
圖3-7多級緩存排序服務(wù)
接下來是排序服務(wù),它負(fù)責(zé)對召回的游戲進(jìn)行精準(zhǔn)的預(yù)估,得到用戶最有可能點(diǎn)擊或者下載的游戲。該服務(wù)執(zhí)行過程如圖3-7所示,其接收召回服務(wù)得到的游戲列表,然后根據(jù)待預(yù)測的用戶id去特征庫獲取用戶特征,游戲特征和當(dāng)前的上下文信息進(jìn)行拼接,然后交給3.2.2節(jié)提到的排序模型。其產(chǎn)出是各個召回游戲的精準(zhǔn)預(yù)測得分。
在實(shí)際使用過程當(dāng)中,我們采用了多級緩存機(jī)制來提升該服務(wù)的效率。主要是考慮到每個用戶召回的游戲不同,如果每來一次請求就去特征庫獲取這些游戲的特征比較耗時,而這些游戲特征通常不會頻繁的變更,所以可以將它們懶加載到JVM內(nèi)存,并設(shè)定過期時間,這樣可以大幅提升排序服務(wù)的速度。同樣的,一些用戶的基礎(chǔ)屬性和長期興趣在一定時間段是固定的,這種時效性較低的特征也可以進(jìn)行類似的緩存。
游戲推薦系統(tǒng)中的AB服務(wù)系統(tǒng)是一種用于評估和優(yōu)化推薦在線效果的工具。它可以幫助實(shí)驗(yàn)者在不同的推薦策略之間進(jìn)行對比實(shí)驗(yàn),比如不同的排序算法、不同的推薦內(nèi)容、不同的展示方式等,然后根據(jù)實(shí)驗(yàn)結(jié)果選擇最優(yōu)的方案。
圖3-8 算法或策略迭代流程
當(dāng)前游戲推薦系統(tǒng)算法或者策略的迭代流程如圖3-8所示,首先進(jìn)行離線實(shí)驗(yàn),當(dāng)離線指標(biāo)(如排序的gAUC,召回的HR值)達(dá)到預(yù)期的時候,將模型發(fā)布到線上先進(jìn)行小流量的AB測試,之后進(jìn)行實(shí)驗(yàn)組效果的置信度檢驗(yàn),只有當(dāng)檢驗(yàn)通過后,才可以全流量上線。為了保證該算法的快速迭代,我們開發(fā)了AB服務(wù),該AB服務(wù)涉及的要點(diǎn)包括:
游戲推薦系統(tǒng)中的樣本拼接,是指在離線訓(xùn)練模型時,將用戶曝光后的點(diǎn)擊、下載、新登等數(shù)據(jù)和候選物品的特征數(shù)據(jù)進(jìn)行關(guān)聯(lián)和組合,形成一個完整的樣本。
樣本拼接最大的挑戰(zhàn)是樣本實(shí)時性與準(zhǔn)確性不可兼得問題:當(dāng)前手機(jī)游戲動輒就是幾個GB大小的安裝包,下載安裝包過程比較耗時,這使得游戲曝光和下載完成之間存在很大的時間差,如果在下載完成后進(jìn)行樣本拼接,則拼接的準(zhǔn)確率是100%,但是時效性往往超過30分鐘。而如果在曝光和下載完成之間進(jìn)行樣本拼接,則會出現(xiàn)一部分的樣本被誤標(biāo)注的現(xiàn)象。
我們通過Flink窗口等待來解決該問題,其核心是確定窗口的等待時間。首先統(tǒng)計(jì)歷史數(shù)據(jù)數(shù)據(jù),找到曝光后的點(diǎn)擊或者下載完成耗時的拐點(diǎn),以該拐點(diǎn)所對應(yīng)的耗時作為Flink窗口等待的時間。例如,假如95%的下載完成發(fā)生在游戲被曝光后15分鐘內(nèi),那么樣本拼接可以在曝光后等待15分鐘,該時間段內(nèi)游戲被下載則為正樣本,其他情況下都判定為負(fù)樣本。
有了樣本后,下一步就是進(jìn)行模型訓(xùn)練。由于上述方案會導(dǎo)致部分樣本標(biāo)簽有誤,少量的這種錯誤對模型幾乎沒有影響,但是隨著時間的推移錯誤的樣本數(shù)量會累加,最終會影響模型效果。為了避免這個問題,我們額外開啟一個Flink樣本拼接的Job,該Job的窗口時間設(shè)置的比較大,這樣可以確保所有的樣本都是正確標(biāo)注的,我們把該Job產(chǎn)生的樣本定義為"高完整性低時效性"。相應(yīng)的,我們把上述的第一個Job產(chǎn)生的樣本定義為"低完整性高時效性"樣本。
圖3-9 混合訓(xùn)練模式模式
有了這些樣本之后,我們使用混合訓(xùn)練模式,讓我們訓(xùn)練出更加精準(zhǔn)的模型。如圖3-9所示,這種模式包括兩種訓(xùn)練方式:全量訓(xùn)練和增量訓(xùn)練。全量訓(xùn)練使用的是"高完整性低時效性"的樣本,這些樣本標(biāo)注都是正確的,訓(xùn)練出的模型非常精準(zhǔn),但是訓(xùn)練周期較長。增量訓(xùn)練采用實(shí)時模式,從消息隊(duì)列獲取"低完整性高時效性"的樣本進(jìn)行訓(xùn)練,訓(xùn)練出的模型可快速應(yīng)用于線上服務(wù)。我們還會定期從全量訓(xùn)練中獲取精準(zhǔn)模型來進(jìn)行校準(zhǔn),以確保增量模型的準(zhǔn)確性和時效性。
當(dāng)前游戲中心推薦系統(tǒng)距離初始版本已經(jīng)將近一年,為了驗(yàn)證當(dāng)前推薦系統(tǒng)的效果,我們將當(dāng)前線上流量的20%切給初版推薦策略和模型。來對當(dāng)前版本和初始版本進(jìn)行對比。實(shí)驗(yàn)設(shè)置如下:
實(shí)驗(yàn)組:當(dāng)前版本的推薦系統(tǒng)
對照組:初始版本的推薦系統(tǒng)
流量占比:實(shí)驗(yàn)組vs對照組 = 80% vs 20%
實(shí)驗(yàn)周期:兩周
評估指標(biāo):參考1.4節(jié)
當(dāng)前推薦系統(tǒng)和初始版本推薦系統(tǒng)主要的區(qū)別包括特征源數(shù)據(jù)、召回、排序、重排和時效性幾個方面,如表4-1所示:
|
組件 |
當(dāng)前版本推薦系統(tǒng) |
初版推薦系統(tǒng) |
|
特征源數(shù)據(jù) |
游戲中心數(shù)據(jù) |
游戲中心數(shù)據(jù) |
|
召回 |
熱門召回 |
熱門召回 |
|
排序 |
多目標(biāo)優(yōu)化 |
單目標(biāo)優(yōu)化 |
|
重排 |
策略重排 |
策略重排 |
|
時效性 |
分鐘級 |
天級 |
表4-1 推薦系統(tǒng)對比
圖4-1 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果如圖4-1所示,其中曝光點(diǎn)擊率提升78%,曝光下載率提升76%,人均點(diǎn)擊提升119%,人均下載提升146%。可以發(fā)現(xiàn)效果提升十分明顯,這證明了游戲中心個性化推薦系統(tǒng)確實(shí)可以幫助業(yè)務(wù)提升效果。
游戲推薦系統(tǒng)建設(shè)的主要貢獻(xiàn)如下:
游戲中心推薦系統(tǒng)作為一種智能化的信息檢索方式,能夠幫助用戶發(fā)現(xiàn)更適合自己的游戲,提高用戶的滿意度和留存率,為游戲開發(fā)者和運(yùn)營者帶來更多的收益。隨著技術(shù)的進(jìn)步和用戶需求的變化,游戲推薦系統(tǒng)也面臨著新的挑戰(zhàn)和機(jī)遇,未來的發(fā)展方向主要有以下幾個方面:
王磊
嗶哩嗶哩資深算法工程師
洪升平
嗶哩嗶哩資深算法工程師
賀坤
嗶哩嗶哩資深算法工程師

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流