個性化系統框架
廣告系統是一個典型的個性化內容系統。一般的個性化系統有四個主體部分構成:用于實時響應請求,完成決策的在線投放引擎;離線的分布式計算數據處理平臺;用于在線實時反饋的流計算平臺;連接和運轉以上三部分數據流的數據高速公路。
在線投放引擎決策使用高速緩存中的人群標簽和模型參數。
離線數據處理平臺周期性地以批處理方式加工過去一段時間的數據,得到人群標簽和其他模參數,存放在高速緩存中,供在線系統使用。
流計算平臺負責處理最近一小段時間的數據,得到準實時的用戶標簽和其他模型參數,也放到高速緩存中,供在線投放系統決策時使用,對離線處理結果的及時補充和調整。
數據高速公路完成各種數據的高速傳輸和各個系統的打通。
個性化系統的區別:
計算廣告系統架構
在一個完整的廣告系統架構中,數據的記錄、交易、流轉、建模和使用是關鍵,因為這些是廣告系統最核心的驅動力,也從本質上決定了廣告產品的變現能力和利潤空間。因此,廣告系統被歸于大數據產品之列。
最基本的廣告產品,需要有廣告投放機和相應的日志系統,實現簡單的定向投放邏輯。隨著對廣告效果深入優化的需求,需要建立起完整的廣告排序和用戶行為反饋模型。而當中小廣告主大量增加時,就需要實現廣告的倒排索引和相應的檢索功能。
廣告投放引擎
一般來說,廣告系統的投放引擎采用類搜索的架構,即檢索加排序的兩階段決策過程。另外,廣告投放引擎柴油一個獨特模塊,就是要從全局優化的角度對整體收益進行管理。
廣告投放機
廣告投放機的主要任務是與其他各個功能模塊打交道,并將它們串聯起來完成在線廣告投放決策。一般來說,為了擴展性的考慮,都采用類搜索的投放機架構,即先通過倒排索引從大量的廣告候選中得到少量符合條件的或相關的候選,再在這個小的候選集上應用復雜而精確的排序方法找到綜合收益最高的若干個廣告。對廣告投放機來說,最重要的指標是QPS以及廣告決策的延遲。
廣告檢索
在線根據用戶標簽與頁面標簽,從廣告索引中查找符合條件的廣告候選。廣告檢索得到的候選將被送入廣告排序模塊。
廣告排序
在線高效地計算廣告的eCPM,并進行排序的模塊。eCPM的計算主要依賴于點擊率估計,這需要用到離線計算得到的CTR模型和特征,有時還會用到流計算得到的實時點擊率特征。在需要估計點擊價值的廣告產品(如按效果結算的DSP)中,還需要一個點擊價值估計的模型。
收益管理
統一代表在各個廣告系統中將局部廣告排序的結果進一步調整,以全局收益最優為目的做調整的功能,如GD系統中的在線分配、DSP中的出價策略等。這部分一般都需要用到離線計算好的某種分配計劃來完成在線時的決策。
分布式計算平臺
用戶行為分析和建模。
流計算平臺
對用戶行為進行實時判斷,過濾作弊流量,實時反饋、更新用戶標簽、實時計費。
數據高速公路
跟蹤用戶日志,記錄投放日志。