揭秘短視頻推薦系統(tǒng)的技術(shù)架構(gòu)及四大模塊
1.推薦系統(tǒng)技術(shù)架構(gòu)
下面來看下短視頻社區(qū)平臺的推薦系統(tǒng)架構(gòu)是如何劃分的,由底層往上分別是日志信息層、模型策略層、數(shù)據(jù)計算層、數(shù)據(jù)結(jié)果層與用戶交互層,如圖2-5所示。
▲圖2-5 推薦系統(tǒng)技術(shù)架構(gòu)
(1) 日志信息層
該層主要分為兩部分,一部分是靜態(tài)數(shù)據(jù),例如用戶數(shù)據(jù)與內(nèi)容數(shù)據(jù),用戶的年齡、性別、地區(qū),稿件內(nèi)容的標(biāo)題、時長、作者,在很長一段時間內(nèi)都是固定數(shù)據(jù),系統(tǒng)每天取其增量存入日志信息層;另一部分是行為數(shù)據(jù),例如推薦請求日志,記錄哪些內(nèi)容曝光給了哪些用戶;推薦點擊日志,哪些用戶點擊了哪些內(nèi)容;用戶瀏覽時長日志信息、用戶LBS地點信息等等。
(2)模型策略層
該層主要是決定采取何種模型、策略來分析與解讀日志信息層的靜態(tài)數(shù)據(jù)和行為數(shù)據(jù),例如在召回階段是更多地進行熱門內(nèi)容召回,還是根據(jù)用戶行為進行協(xié)同過濾的召回;在排序階段采用何種機器學(xué)習(xí)模型來進行精排等策略。
(3) 數(shù)據(jù)計算層
該層是基于模型策略層定下召回排序策略和模型后,采取離線大規(guī)模計算與在線實時計算兩種方式,計算出模型訓(xùn)練的結(jié)果。離線計算是由于機器數(shù)量與性能的限制,大量數(shù)據(jù)需要采取離線方式計算出結(jié)果,在線計算是針對線上用戶的實時反饋行為,系統(tǒng)快速做出回應(yīng),改善用戶體驗。
(4)數(shù)據(jù)結(jié)果層
該層作用是在不同數(shù)據(jù)應(yīng)用系統(tǒng)中存儲數(shù)據(jù)計算層得出的相應(yīng)計算結(jié)果,例如用戶畫像與內(nèi)容特征可以存儲在ElasticSearch(搜索數(shù)據(jù)庫)中,因為這些數(shù)據(jù)只需要批量查詢讀?。欢脩粜袨閿?shù)據(jù)則需要存儲在Redis(內(nèi)存應(yīng)用)中,方便快速響應(yīng)前端界面的用戶反饋。
(5)用戶交互層
該層的交互邏輯分為兩部分,第一部分是展現(xiàn)由各層最終計算出的推薦結(jié)果給用戶,第二部分是記錄用戶對于推薦結(jié)果的反饋行為,例如瀏覽行為(時長/路徑)、點擊行為(點擊哪些內(nèi)容/完播率等)、負反饋行為(不感興趣/投訴等不同程度的負反饋)。
2.推薦系統(tǒng)四大模塊
基于以上描述,我們了解了推薦系統(tǒng)技術(shù)架構(gòu)的整體框架,但還是給人感覺太復(fù)雜、太技術(shù)范兒了。歸根結(jié)底來說,推薦系統(tǒng)要做的不就是從海量內(nèi)容庫里選出幾十個用戶可能感興趣的優(yōu)質(zhì)視頻嗎?我們將推薦系統(tǒng)抽象成一個信息過濾系統(tǒng),分為審核、召回、排序、規(guī)則四個模塊,層層遞進地過濾內(nèi)容,如圖2-6所示。
▲圖2-6 推薦系統(tǒng)技術(shù)架構(gòu)簡化
審核模塊將符合短視頻社區(qū)規(guī)則與價值觀的視頻過濾出來,輸出量級大致在百萬左右;
召回模塊將根據(jù)用戶行為與熱門等規(guī)則,快速找到一小部分優(yōu)質(zhì)內(nèi)容,輸出量級大致在十萬左右;
排序模塊分為粗排與精排,采用比較復(fù)雜的模型,融入較多特征,輸出量級在百個視頻數(shù)量左右;
規(guī)則模塊,也叫ReRanker(重排序)模塊,會在排序模塊結(jié)果的基礎(chǔ)上附加人工干預(yù)、規(guī)則限制等,最終將結(jié)果呈現(xiàn)給用戶,輸出結(jié)果在幾十個左右。
本文摘編自《短視頻社區(qū):產(chǎn)品、運營與商業(yè)化》(ISBN:978-7-111-70525-3),經(jīng)出版方授權(quán)發(fā)布。