《計算廣告學之內容匹配廣告&展示廣告原理、技術和實踐》學習筆記



第1章內容匹配廣告投放技術:網盟概述&工程架構
1.1網盟概述

角色
關注
網站主(Publishers) 用戶體驗,賺錢
廣告主(Advertisers) 投資回報率ROI
網民 有用的信息,良好的體驗
網盟(Ad network/Matcher) 賺錢,找到網名和廣告的最佳匹配,實現流量價值,平衡各方利益、構建可持續發展的生態圈

1.2網盟廣告系統的工程架構

頁面特徵子系統:爬蟲,收集到大量網頁,基礎服務處理頁面,得到頁面的特徵。頁面的主題,分類等
用戶特徵子系統:
CTR預估子系統:根據過去用戶對廣告的互動行爲的訓練,預測以後用戶對廣告的點擊概率。
檢索子系統:核心系統
廣告特徵子系統:

網盟廣告檢索系統— 數據角度
大計算量:每天100億+廣告檢索量和行爲採集量,相當於每秒11.5萬QPS.且高速增長。
大數據量:分佈式離線挖掘。每天P級規模數據入庫,T級別特徵產出,積累時間大於一年。在線實時特徵規模在T級別,Key值數量100億規模。
高增長率:數據、流量、機器增長規模每年超過50%。
系統機器數量:10000+高性能服務器。

網盟廣告檢索系統— 指標角度
高實時性:實時更新用戶、網頁、廣告數據。系統100ms內完成實時檢索。每秒10W+實時數據入庫,生效時間<1s
高容錯性:如果每臺機器異常概率爲0.1%,1W臺機器的話,每天都會有10臺機器故障。
     實時檢索服務:故障實時識別、流量自動切換到正常機器。
     特徵存儲服務:數據多備份、持久化,重啓快速恢復。
     數據推送服務:數據推送狀態快速遷移,備機提供服務。
高實驗性:數據驅動系統演化,每天併發上百個實驗。
高一致性:涉及到錢的問題,張冠李戴會非常麻煩。
高擴展性:數據增長迅速,系統需要支持熱機擴容。
高可用性:7*24小時服務穩定,每天100億次檢索,出錯影響用戶體驗。

1.3工程架構解決的技術問題
網盟廣告檢索系統--技術  
產品技術 關鍵詞定向,回頭客定向,興趣定向
應用技術 分層實驗框架,用戶識別,高性能檢索
基礎技術 分佈式計算(MapReduce),流式計算(Stream),高性能計算(Hadoop),KV存儲引擎(Redis),資源定位(ZooKeeper),消息隊列(MQ)

1.3.1用戶識別
用戶識別技術新動向—— Cookie Matching(Cookie Mapping)

1.3.2分層實驗框架:爲了支持更多的實驗
實驗樣本要具有可比性

缺點:
     實驗容量有限。可用流量只有100%,沒有分配到流量的機器需要等待。
     實驗和機器強耦合。不同機器部署的實驗不同,實驗流量變化時需要同時調整機器部署。
     維護代價大。機器部署易購數量和實驗數量對應,增加維護難度。
優點:
     實驗只消耗部署機器的資源。
     結構簡單,實驗獨佔流量,排查問題簡單,不存在相互影響。
如何提高實驗的併發度?通過分層流量複用。
分層模型:每一層只能選擇一個實驗命中。層和層之間解耦,相互不影響。
E1和E2共享100%流量用於實驗;
E3獨享100%流量用於實驗。
一份流量可以同時命中E1、E3、E4、E5。
通過給流量打標籤,來判斷流量命中了哪些實驗。
缺點:
     機器物理部署的應用包含所有實驗代碼,浪費資源,主要是內存。
     存儲性資源變成限制實驗數量的主因。
優點:
     實驗和機器解耦。所有機器都可能命中實驗,流量變化時不用調整部署。
     實驗數量不受限於流量大小,取決於實驗設計。
     實驗機器同構,維護、發佈簡單。

1.3.3高性能檢索
1.3.3.1高性能檢索的計算模型
核心:Query構造,倒排索引,歸併算法,大根堆。
簡單的篩選在前面,快速的篩選廣告。複雜的計算放在最後,只需要對少量的廣告進行計算。=>系統更高效
1.3.3.1高性能檢索的網絡模型
檢索程序是同步模型,計算量大。網絡程序異步模型。
慢Query的問題,有同步模型引入。同步模型中慢Query可能把系統拖掛。
慢Query的產生原因:攻擊行爲,實驗引入(流量小,但是實驗性能低),服務Bug,網絡抖動(機房網絡不穩定),機器異常。
慢Query的監控和處理策略:
     慢Query的比例波動檢測,確定原因。
     系統的自我保護機制,超過特定閾值,中斷慢Query.
     對慢Query的結果建立Cache.
     對慢Query處理算法簡化,犧牲效果,縮短處理時間。
     直接丟棄慢Query.

1.3.3.2高性能檢索的檢索模型
廣告庫的邏輯結構
索引模型
廣告檢索對索引的技術要求:
     實時性更新:數據更新1s內生效,高併發讀寫。
     高查詢性能:查詢QPS達到1,000,000 — 10,000,000量級。
技術方案需要:
     無鎖的併發模型。加鎖耗時是毫秒級別的,太慢了,所以不能加鎖。
     全內存的數據模型。
索引有兩種結構:樹形結構,和hash結構。
索引和數據的存儲都是用內存池,原因:1.malloc需要用戶態和內核態的轉換,耗時太長,對性能影響很大。2.操作系統的內存管理是通用的,無法做到針對性的優化。自己的服務固定,內存管理策略也是固定的。所以可以更高效。
索引實時性,採用基準+增量的形式。
無鎖的併發模型:
     COW(copy on write),先複製一份,在老版本上讀,在新版本上寫,達到讀寫分離。完成後切換指針。
     延遲銷燬。等到老版本的線程都完成後才能刪除老版本。如果判斷呢?一般情況下,如果是毫秒級別的服務,可以通過等待1s或者2s後刪除老版本,釋放內存。
索引擴展:
索引的劃分:可以在推廣組的級別劃分,也可以在索引的級別劃分。如果劃分爲兩組,每組都是原來的80%數據,那麼每次都分別做80%,一共做原來160%的事情。如果是劃分索引,選top100,如果是劃分成了4組,那麼每組都返回100個廣告,一共返回400個廣告,帶寬增長了。
數據和計算的可擴展是基礎。
最後通過對各指標的比較後,在推廣組進行了劃分。
請求進來之後做流量控制,然後把一個請求拆成多個請求。每個請求分配到不同的cluster裏面,cluster是同構的,數據也是一樣的。每個cluster裏面有索引,索引更新基準索引,然後在基準上添加增量索引。廣告傳輸使用分佈式消息隊列。每個集羣放置哪些數據通過zk控制。

第2章內容匹配廣告投放技術:網盟廣告匹配
2.0網盟生態圈:四方利益的平衡
廣告主:ROI的高低,量
用戶:更關注體驗,希望廣告對用戶是有需求的
網站主:收入越大越好,用戶不要流失
百度平臺:收入,機器人力等成本,大家共贏的平衡,用戶和網站主不流失,各方利益

2.1網盟廣告投放
2.1.1按廣告主表達方式分類

2.1.2按建模對象分類
用戶維度—— 以Cookie爲建模對象
流量維度—— 以當前URL爲建模對象

2.1.3其他分類維度
時空維度:當前/歷史, 長期/短期,地域
優化目標:品牌,展現,點擊,轉化
數據來源:搜索/瀏覽

2.1.4網盟廣告投放

2.2廣告匹配算法
2.2.1.網盟廣告的特點:a.低點擊率(千分之一,相比搜索廣告點擊率來講),b.低margin(收入和投入的gap非常小,收入用來購置設備等,性能和算法效果折中),c.ROI難優化(廣告主的ROI難監控,廣告主的轉化網盟無法得知,所以網盟只能靠猜測。但是用戶和廣告月相關效果越好),d.用戶體驗難量化(用戶不同無法量化,有的用戶敏感有的不敏感廣告主出很高的價格時是不是要展現?)

2.2.2.廣告檢索漏斗模型——理想情況是效果和性能的折中
理想情況是把所有的廣告計算一遍,但是無法做到,所以做成漏斗模型
從上到下分別是【片段觸發,相關性排序,業務過濾,CPM排序,機制調整】
算法從簡單到算法,廣告量大到廣告量小,分層的目的就是效果和性能的折中。

2.2.2.1片斷觸發:user profile片段,當前網頁的片段,廣告的tag,在廣告檢索模塊建索引,tag->廣告的倒排索引。倒排索引拉鍊的平均長度是千級別。篩選出千量級廣告。
片段來源:當前網頁,用戶歷史行爲
片段類型:關鍵詞,用戶/流量標籤,規則模板

2.2.2.2相關性排序:去掉低相關性的廣告。千級別的廣告。
1.Term Match:字面匹配度,用戶的搜索詞和廣告主的題詞之間有多少是match的。
2.Topic Match:語義模型,淺層分析的模型,投影到topic空間上。
3.Category Match:分類匹配,網頁的分類和廣告的分類是不是匹配。
最終的相關性排序函數:
人工標註語料來訓練模型。隨着語料規模的增加,加入更多的離散特性。加入人工的規則。

2.2.2.3業務排序:預算,地域限制等。百級別。
地域過濾,時間過濾,預算過濾,IP過濾,站點過濾,創意優選。

2.2.2.4CPM排序:ecpm==按照收入排序。cpm越高越放在前面。
eCPM= bid * Q(質量度,用點擊度來衡量ctr)
price(i) = (bid(i+1) * Q(i+1))/Q(i)

2.2.2.5機制調整:用戶體驗和效果等等各方面的考慮。
過展現控制,出現的頻率,頻控等。
Hidden Cost: a.認爲廣告對用戶/站點體驗是有傷害的。b.對排名CPM調整CPM=(Bid-HC)*Q  c.對計費進行調整Price=CPM(next)/Q+HC

2.3頁面特徵提取
頁面結構特徵:半結構化的網頁
Refer Query提詞:url中的refer=blabla
站點頻道提詞:
流量質量劃分:網頁質量好,如新浪首頁等
頁面主題劃分:小說頁面不適合頁面提詞

Term賦權:
統計維度:基本的TF*IDF賦權方式,TF()term freq, IDF(term在其他頁面出現的頻度)
結構維度:網頁結構角度,主要是term出現的位置,比如出現在title一般會比出現在正文更重要一些
語義維度:從語義角度理解網頁,利用篇章主題校驗。網頁的topic和term topic是不是匹配
廣告庫維度:關鍵詞的購買信息。廣告庫買某個詞的多,說明這個詞會重要一些。

2.4用戶特徵提取:用戶的歷史行爲特徵
2.4.1歷史Query特徵
2.4.2歷史瀏覽特徵
2.4.3用戶分類特徵
2.4.4時效性(幾天之前的行爲和剛剛幾分鐘之前的行爲權重不同)
2.4.5用戶體驗

2.5廣告特徵提取
2.5.1拍賣詞特徵:廣告主提交的詞,定向的受衆。
結構分析:詞法分析、句法分析。拍賣詞的核心內容。例如空調維修
Term賦權:詞的賦權,根據重要度

2.5.2創意特徵:展現的物料特徵
文本創意:飄紅,關鍵詞,長度
多媒體創意:顏色,形狀,大小,語義

2.5.3到達頁特徵
網頁分析:關鍵詞
頁面主題:到達頁和廣告的描述不一致的情況,監控釣魚網站
轉化頁/諮詢頁:如果能把這個分析好的話,就能獲取到廣告主的ROI

2.5.4廣告特徵應用
廣告分類:行業,敏感,欺詐
不相關提詞挖掘:廣告主爲了騙展現,使用范冰冰、劉德華等,去掉不相關的詞,提高準確率
相關性匹配:匹配度的高低

第3章內容匹配廣告投放技術:網盟CTR預估
3.1CTR預估背景
3.1.1網盟組成
內圈是網盟的部門劃分

四個參與方:網站主、廣告主、用戶、百度網盟
3.1.2廣告計費
3.1.2.1計費方式
按點擊計費(CPC)
按展現計費(CPM)
按點擊和展現混合計費(CPC+CPM)
3.1.2.2廣義二階價格拍賣(Generalized Second Price)
點擊收取的費用是用於保持排名的費用
b=bid(出價)
p=CTR
如果要少付費,可以通過公式b2*p2/p1,來優化自己的CTR,增大分母少付費

3.2CTR預估特點
3.2.1CTR預估問題
線上的一次廣告請求,表現是數據量大,響應時間短。
如果CTR預估系統是靜態的,響應時間可以非常短,但是如果有bad case就無法處理,所以還是需要動態的。
點擊率預估--機器學習模型
上圖中,檢索集合q表示一次query,列表示廣告集合被點擊或未被點擊。每天的數據量大概是上億級別。

3.2.2存在的挑戰
挑戰一:數據
a.海量數據:1>訓練樣本:每天上億級別的訪問量。2>特徵類型多並且複雜:廣告(創意不同導致點擊率不同)、用戶(有的人喜歡點,有的人不喜歡點)、流量()、季節、節假日(情人節)等
b.點擊率偏多:
c.噪聲數據多:播放網站的網站主自己點廣告,誤導算法。
挑戰二:時效性
a.CTR隨時間變化:季節變化,人的興趣變化(買完了,就不再需要等),CTR冷啓動。
b.Bad Case快速下線:新廣告,新網站迭代調優
c.方法:
     1>在線算法。快速更新CTR數據。
     2>移動時間窗口的Batch算法。離線算法計算
挑戰三:Exploration
a.CTR預估決定了未來訓練樣本中的廣告。
b.exploration/ exploitation trade-off
c.長期收益 vs 短期收益
老廣告ctr數據非常準確,新廣告ctr數據缺乏,需要長期利益(投放新廣告)和短期利益(投放老廣告)之間的平衡

3.3CTR預估模型
3.3.1模型訓練流程

3.3.2特徵處理
三類主要特徵:用戶、流量、廣告
特徵類型:類別型特徵(categorical feature)、連續值特徵
特徵表示:
     使用one-hot編碼類型特徵
     使用特徵外積表示特徵組合
     特徵維數等於類別個數和,特徵個數海量
特徵選擇:  
Filter類:只是使用一個特徵,計算量小簡單,不準確,不能克服特徵之間的交叉關係
          單特徵AUC:描述排序能力
          單特徵AUC上界:描述打散能力
通過面積計算AUC:
Wrapper類:選取多個特徵交叉組合
     計算量比較大,計算一次代價很大
Embedding類:綜合Filter類和Wrapper類,綜合訓練模型和加入特徵計算的代價

3.3.3數據
數據來源:展現日誌、點擊日誌、用戶搜索日誌等
數據處理:日誌拼接、不全日誌刪除
數據淨化:異常數據過濾、不可見日誌刪除

3.3.4模型
線性邏輯迴歸模型
參數估計:最大似然,基於擬牛頓迭代計算(梯度下降方法收斂比較慢,所以用牛頓法,具有線性的收斂速度,但是需要二階的信息,矩陣)

3.3.5模型訓練
分佈式並行訓練
     MPI(Message Passing Interface):基於進程通信的計算模型,適合模型訓練。內存非常大,數據和計算分離。計算性考慮。
     Hadoop:基於Map-Reduce超大數據量併發計算,適合數據預處理。擴展性考慮。
模型更新:每過一定週期,重新訓練模型;模型在線實時更新。

3.3.6評估系統
線上評估:
     評估特徵上線後,通過流量對比,觀察收入各項指標的影響,包括CTR,CPM, ACP,到達,二跳等。代價大。
線下評估:
     類別不平衡:模型排序能力(AUC);模型擬合能力(對數似然)

3.4小結
網盟CTR預估特點:海量數據(query非常大)、高維特徵、類別極端不平衡、噪音大、時效性高等。
大規模分佈式機器學習算法:
     a.特徵編碼及選擇
     b.數據淨化
     c.大規模分佈式訓練
     d.線上線下效果評估

第4章展示廣告投放技術:品牌展示廣告(一)
4.1品牌展示基本概念
展示廣告的分類
按廣告作用分類:品牌廣告(Brand Display)、直效廣告(Direct Display)、交互類型(engagement oriented Advertise)
按創意形式分類:圖片、圖文、富媒體、視頻、Email等等

品牌展示廣告的目的
賣家與潛在目標羣體的一種溝通形式。
賣家通過這種形式傳遞關於品牌或商品的正面信息,已達到起營銷的目的。
營銷目的一般包括是消費者:簡歷品牌和需求的關聯,增強對品牌的喜好和忠誠,瞭解品牌及其相應產品、功能,瞭解品牌的最新動向如新品發佈等。

廣告和營銷場景


影響品牌展示廣告的主要因素:
a.人。b.品牌自身。c.媒體:覆蓋率、質量、知名度。d.創業形式

展現(impression):一個頁面的每個廣告的出現都記爲一次展現

4.2品牌展示廣告售賣
4.2.1品牌展示廣告售賣的參與者
參與者:消費者(在線用戶)、廣告主、廣告代理商、媒體、售賣平臺

廣告主(Advertiser)視角:
媒體(Publisher)視角:
媒體行爲:建立或組着特定內容、吸引特定受衆、評估不同部分流量價值、打包流量並向各種渠道銷售
媒體的收益:
短期收益:在當前流量和媒體價值上的廣告收益Yield=PV*AdDensity*SellThroughRate*Price
長期收益:考慮廣告對用戶粘性、媒體價值等的綜合和長期影響
媒體目標:平衡短期和長期收益的基礎上是收益最大化
售賣方:
a.媒體獨立售賣
b.通過售賣方進行售賣,如Ad Network
c.獨立售賣可以作爲通過售賣方進行售賣的一個簡化情況

4.2.2品牌展示廣告售賣方式方式-包段
包段:媒體的某組廣告位一段時間內有一個廣告主獨佔或者幾個廣告主輪播,如首頁包天
計價方式:CPD, CPT
特點:簡單易組織,廣告主承擔流量變化的風險、無法區分同一位置不同時間、不同用戶價值,廣告主和媒體雙方的價值都沒法最大化

4.2.3品牌展示廣告售賣方式方式-GD合同制
廣告主與手買房建立合約,以一定的CPM預約符合定向規則、時間規則和其他規則的一定數量的廣告展現
定向規則:人羣定向(如性別、年齡、關注點等),媒體位置定向(如汽車頻道首頁,女性頻道二級內容頁等)
其他規則:Frequency Capping(多少次效果最好,且不影響用戶體驗), 投放均勻度(多長時間投一次)
廣告主需支付相應的費用,CPM*實際廣告展示
當實際廣告展現無法達到約定時,手買房對廣告主進行補償

對廣告主:
保證覆蓋和投放量
比包段形式有更靈活的定向,減少浪費
通過GD售賣的流量一般較NGD流量有更高的媒體質量

對媒體:
通過媒體產品包裝、市場、談判等環節產生媒體品牌溢價,使廣告主更願意支付高價購買
相比包段形式,可以提供更多種定向,提升媒體價值

4.2.4品牌展示廣告售賣方式方式-NGD
媒體售賣率的概念 SellThroughRate = SoldImpressions/Capacity
現有包段或者GD合同之外的流量成爲剩餘流量
通常的選擇是講剩餘流量交給網絡聯盟或Ad Exchange進行基於拍賣的售賣
付費:CPC,CPA等

4.3品類展示廣告的精準投放技術
4.3.1精準投放的定義和作用

4.3.2Media Focused Targeting
offline投放形式:戶外(地點選擇),報紙雜誌(媒體用戶羣體選擇),電視,廣播
online投放形式:定位到站點,定位到頁面關鍵詞
特點:時間性、粒度、真正想定位什麼?

4.3.3Audience Focused Targeting
Demographic:人口統計資料,性別、年齡、職業、收入等等。核心是數據的採集、數據整合,屬性預測和機器學習技術。DMP(Data  Management Platform)
Geographic:家庭地點、工作地點、常見地點、實時地點。地點周邊信息如商業配套等。核心:數據採集,數據整合,商業場景。IP地址,基站信息等。Yahoo! Geo
Lifestyle/Psychographic:生活習性、偏好、興趣愛好等。核心是數據採集、品牌市場細分與洞察、用戶行爲分類技術
Re-targeting/Re-messaging:定向信息:用戶和商家所產生的歷史互動,利用這樣的信息再進行投放廣告。例如對持有VIP卡的人再進行投放廣告。曾經活躍但最近一個月沒有訪問的人。核心是:線上線下數據的貫通、線上用戶行爲記錄。
Behavioral:定向信息:用戶的在線行爲包括搜索和網頁瀏覽等。場景:歷史搜索定向,Implicit targeting。核心是:用戶行爲與商品關聯理解與洞察,用戶行爲基礎分類技術,特徵提取和機器學習技術。Predictive Model/Look-alike targeting。例如想知道對我的商品感興趣的人的特徵,可以先通過一批對我的商品感興趣的人,通過對這些人的行爲的各種特徵的提取和訓練,生成一個model,來區分其他的用戶是否對我的商品感興趣。

4.3.4智能創意
同一個廣告的不同creative,根據不同的用戶使用不同的creative.
使用用戶的信息,信息越詳細效果越好但是會涉及到隱私問題。

4.4品牌展示廣告的基礎技術
4.4.1GD合同製售賣的基本問題
a.訂單接受控制(Admission Control)
     訂單要不要接受?是不是能夠保證GD?
     supply forecast供給預測
     假設:對將來的媒體資源攻擊有準確的預估
     決策邏輯:
          列舉已確定訂單和新增訂單。新增訂單可能導致已確認訂單最終無法滿足,併產生賠償和信用上的損失。
          分別以確認訂單爲總體(如果拒絕新訂單),和以已確定訂單和新增訂單爲總體(如果接受新訂單),確定最優化庫存分配方案,並計算預期的收益(減去賠償)
          收益>0則接受,否則拒絕
     需要解決最優庫存分配方案問題

b.庫存分配
     所有網站的所有廣告位都是庫存。
     根據目前以確定的所有訂單,應該如何分配廣告展現機會到每一個訂單?
     假設已知條件(依賴條件):1.對各種不同inventory spec在不同時間供給的預測。2.對各種inventory spec可售賣價格的預估。
     優化目標:最大化剩餘庫存的價值(減去under-delivery的罰款)
     限制條件:1.每個inventory spec所分配的庫存,不超過符合該spec的總庫存(inventory spec包括:定向(人羣、位置),時間)。2.總庫存
     算法實現是需要簡化的方法
          如利用一定抽樣,抽樣不足時參考相似inventory spec。
          不使用線上的所有數據,採用抽樣的方法。
     庫存分配問題的擴展
          考慮:1.廣告主希望在訂單時期均勻輸出廣告展現。或者第一次第二次展現不收費,第三次展現採收費的情況。2.當同時售賣GD和NGD時,優化總體收益(Yahoo!)
          定義偏離均勻分佈所產生的懲罰。
          在優化目標中,加入對總懲罰的最小化的加權。

c.價格體系
     價格是基於銷售談判的,但對於每個訂單,底價多少合適?對供求關係的預期?
     在上圖的價格和售賣量的曲線中,找到預期收益的最高點。
     廣告系統中的訪問流量基本確定。
     爲售賣、合同談判提供價格引導。
     知道價格基於供需關係,優化預期收益。
     一個簡化的模型:1.基於對供給的預測:短期內供給與價格無關。2.基於對價格和需求關係而的預測。

4.5品牌展示廣告的效果評測
有的廣告需要通過點擊來進行轉化,但是還有些品牌廣告不需要點擊。
不需要點擊的廣告如何來衡量:
     1.通過問卷對比投放前後的變化,比如互動指數,搜索了品牌或者訪問了相關站點,或者分享了品牌故事軟文等。
     2.通過銷售數據。

廣告影響方式的角度:
Reach:
Frequency/頻次:
Dwelling-time/Brand Exposure:用戶在廣告的停留時間
媒體的綜合質量和創意互動程度




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章