新聞中心
1 引言
1.1 B站游戲中心簡(jiǎn)介
B站游戲中心是一個(gè)游戲分發(fā)平臺(tái),它提供游戲下載、游戲評(píng)測(cè)、游戲攻略和游戲活動(dòng)等相關(guān)內(nèi)容,用戶(hù)可以在這里找到各種優(yōu)秀的游戲作品,預(yù)約測(cè)試,下載資源,以及參與游戲社區(qū)的互動(dòng)。游戲中心首頁(yè)如圖1-1所示:

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


咨詢(xún)
建站咨詢(xún)
