#提到創意,大家首先會想到廣告創意,其實保險的創意推薦也是廣告創意的垂直應用產品。
#計算廣告解決的問題是,在特定的語義下,為特定的用戶選擇對應的廣告去搭配最佳的創意圖文。在輔營保險推薦模組下,語境指的就是用戶正在購買機票或火車票的一些上下文資訊;在搜尋場景下,語境是指搜尋引擎裡面的一些查詢詞;用戶相關的資訊指用戶的基礎訊息,如年齡性別等;廣告就是保險商品,飯店美妝等量級為N 的商品;創意圖文數量為N*M 的量級。計算廣告面臨的挑戰在於:在複雜的限制條件下,大規模最佳化和搜尋問題。
本文主要講的是創意圖文的推薦,廣告的選擇和排序不做考慮,接下來介紹一下飛豬保險是如何運用創意推薦的。
首先,在OTP 產業中,旅遊保險作為輔營業務目前已經是比較重要的商業化收入來源。在保險推薦當中,除了產品推薦和價格推薦之外,創意推薦已經被當作非常重要的個人化推薦模組使用。例如在填寫個人資料的時候,可以看到一些組件,下拉收銀台的時候也會看到彈跳窗。
保險的創意推薦面臨的挑戰,可以總結為三大類:
一類是資料稀疏,包含使用者的資料稀疏和創意的資料稀疏。創意的數據稀疏指的是由於運營或者是 UI 同學會迭代創意,或者是由於季節性的原因去上下架一些創意,所以在線上的曝光創意並不是均勻分佈的。另外,由於旅行、保險和創意是低頻的交易行為,我們很少能拿到三塊相關的購買數據,例如用戶的個人歷史購買數據。同時由於保險是輔營商品,不像搜尋可以明確知道用戶的購買意圖。在創意理解和使用者理解之間也缺乏統一結構化的體系。
第二類是樣本資料反事實。每個使用者只能看到唯一的創意文案,也就是只能看到創意 A 或 B。不能在同時段、同時間點,對同個用戶曝光多個創意。
第三類是#跨產業的創意冷啟動#。飛豬保險橫跨了多個行業,在啟動新行業的介入的時候,如何復用已有領域的知識,比如將行業A 效果好的一些創意遷移到行業B,也是我們後面要去解決的問題。
再簡單介紹業界現況。
#廣告創意分為兩個大類的演算法:一類是上下文無關的一些演算法,例如Epsilon 貪心,或湯普森採樣,以及阿里媽媽同學做的一些比較優雅的E&E 演算法,如貝葉斯線性迴歸相關的;另一類是上下文相關的演算法,把使用者和上下文資訊作為推薦加入進去。
解決資料稀疏問題,主要使用Cross-domain learning 解決兩個問題,兩個相關的任務,使用豐富資料域內的資料去解決稀缺資料域內的問題,以及聯合多個域內的資料去解決各個域內的問題。
首先從資料洞察當中可以看到,我們對個別使用者的創意歷史偏好資料比較稀疏,但對於群體使用者其實是可以進行一些刻畫的。例如從數據當中可以看到,老年人更喜歡跟家庭有關的描述;當出發日面臨惡劣天氣的時候,機票業對類似天氣預報的素材比較敏感。那我們就可以把想法從個別使用者的數據轉換到如何把群體、相關事件以及創意這三塊進行統一的理解,以及在關聯打標後做群體推薦。在體系化理解之後,將三者建立因果關係圖可以解決一部分個別使用者資料稀疏問題。
針對創意資料稀疏問題,我們的解決方案是當新素材上線時在線上做隨機曝光。
另一個問題是跨產業創意冷啟動。例如我們發現對於天氣事件的因素,不管是在各個行業裡,其實大家的偏好都比較相似的,尤其是在汽車票或者火車票業務下,大家的購買習慣很相似,所以一些創意的推薦知識是可以透過剛剛提到的標籤化和體系化的理解和標籤關聯來遷移的。透過將不同的產業在同一知識體系下進行標籤對齊,透過圖卷積模型的泛化能力對知識進行一些泛化遷移。
剛剛提到的體系化理解和標準化打標主要分為三塊:
#一塊是在使用者側,我們會去做一些場景和事件的理解;另外一塊是在使用者的基礎屬性上去做一些理解;最後是在創意這裡,對一些圖文的素材進行理解。最後將三者都統一標準化到標籤體系之下,有助於幫助後面建立圖的關聯關係。
上圖為比較顯性的圖。其中三角符號是使用者側的一些屬性,例如女性或老人;圓形符號是對事件或上下文的理解進行分類,例如打雷或是晚間出行;方塊符號是素材的分類。
剛剛提到的第三個挑戰是樣本當中存在反事實的現象,解決該問題我們想到的是用uplift 思想,因果推論是用群體在不同的行銷素材下的平均轉換率去預估個體的偏好。
#結合剛提到的三類思路的解決方案,我們提出了網路結構的模型設計。先定義問題:輸入是使用者的信息、上下文的資訊以及創意文案的結構化訊息,去做廣告創意的排序評分,再去選擇評分最高的創意來輸出使用者。
#上圖是保險創意圖文推薦流程架構。
首先,前文已提到,在創意模組,我們對險種的排序或價格的排序是不進行幹預的,創意圖文的排序是作為連結的最後排序邏輯。當用戶請求進來時,會做四個理解。事件層面的理解,例如現在是否在下雨;場景理解,例如現在使用者是多個人帶著小孩,還是帶著老人;還有使用者基礎屬性的理解。在素材庫也是進行剛剛提到的這種標籤化的打標之後,進行素材的標籤召回以及後續的素材創意的排序,在排序側會分出一部分流量去做線上的均勻曝光。
另外一塊去做創意優選的工作。創意優選工作分兩路:
一路是以圖片素材進行召回和粗排,另外一路是以文案的素材進行粗排,最後進行笛卡爾組合出來我們想要的類似創意文案的展示,最後再透過ECUNet 去進行優先。
#根據剛剛提到的三種解決思路,設計了ECUNet 的解決方案。主要分為三個部分:
第一部#分是基於事件感知圖向量擷取,主要是在離線側進行預訓練的過程,去給每個用戶側的信息、上下文信息或者是創意的信息進行圖向量的提取;第二部分是自適應的聚類增益網絡,這部分解決的問題是結合uplift 思想去利用群體智慧解決個體問題;第三部分是將使用者和場景、使用者事件以及創意三部分的特徵,透過圖向量提取得到的綜合向量去做兩兩之間的Co-Attention,目的是為了提取他們彼此之間的特性,最後去做打分數。
#異構圖的建構主要分兩部分:一部分是節點構建,一部分是邊構建。
節點建構主要是當使用者樣本進來之後,可以對應到三類節點:使用者節點、事件節點和創意節點。當映射到三類節點之後,可以在節點和節點之間去進行邊的建構。
邊代表的是 a 節點因為 b 的原因導致保險轉換的重要性。比如說學生節點 a 在天氣惡劣節點 b 的權重會高於學生節點 a 在正常天氣節點權重。
根據上述方法,建構了異構圖。基於該圖,透過比較常規的 Node embedding 去提取每個節點的三個場景的節點表徵。
#主要是透過圖的自監督學習的邊預測的任務,loss 使用margin -based 的loss function,最後學習得到的是特定場景的,例如機/火/汽三個場景的節點表徵。
#但為了遷移不同產業的知識去融合運用到另外的一些場景產業中,我們做了 share-domain embedding 節點表徵學習。例如火車票和汽車票比較相似,如果現在某條使用者樣本是來自於汽車票,那麼火車票的場景的 embedding 也可以被加權共享給使用者去使用。基於這樣的假設,做了 share-domain 的表徵學習。主要是將三類場景的節點表徵,透過注意力機制的加權去得到 specific embedding。
透過這樣的 EAGT Network 我們可以擷取到三大類別的節點表徵。每個樣本都可以得到三個大類的節點表徵後,再類內取平均值,可以得到使用者、事件、創意的三個節點表徵,最後將使用者事件聯合表徵和每個創意文案聯合表徵輸入到第二部分-自適應的聚類增益網路。
利用群體智慧去預估個體的偏好,流程是以batch 內的操作去進行的。在每個 batch 內,透過可學習的分類器將每個 batch 內使用者分到 k 個大類別裡,希望相似的使用者可以被分到同一類別。在隨機採樣機制的保障之下,可以在內類的用戶進行類似創意文案的投票得到內類用戶到底對哪些創意文案比較感興趣。最後用內類群體的喜好去代表個別使用者的偏好,之後再對每個樣本進行 re-lable。例如 G1 對第三個創意比較敏感,G2 對第二個比較敏感,內類的使用者都去重新 re-lable 一次。在得到 re-lable 的樣本之後,再進行 MLP 的預測得到預測值。
多重視角的注意力網絡,主要的目的是透過三次Co-attention 機制可以把使用者和事件、事件和創意以及使用者和創意兩兩向量之間的內在相關興趣提取出來,作為重要的特徵去進行預測。
我們在 Training 的 Loss Function 也做了一些設計。總共設計了四個 Loss Function。
第一個 Loss Function 是 intra loss。主要是在聚類塊,為了使得群體分類器能夠輸出一個非均勻分佈的值。從這個公式可以看到我們希望讓相似的使用者能在某一個類別上去得到一個峰值表達,而在其他的類別上是比較低的表達。
第二個是用交叉熵做聚類增益網路的 Loss。
第三個是全域 Loss,也是交叉熵。
最後將三個 Loss 融合到一起去做一個融合 Loss。
我們的Dataset 一部分是工業界的,收集來自於飛豬的Dataset。另外一部分是天池廣告創意公開的資料集。
我們也去找業界的廣告創意的排序演算法,以及一些用戶興趣和跨場景學習的Baseline 進行了比較,Metrics 主要是AUC。
從實驗數據可以看到,我們這個網路結構設計之後,在 AUC 上有一定的提升。其中多視角的網絡提升比較明顯,其次是增益網絡,然後是異質構圖網絡的結構。
我們也在線上去撈了一些 Case,可以學習到使用者的一些場景側的東西。例如天氣資訊或長短圖等場景。
#我們也在線上做了一些實驗,比較在Base2 隨機模型,提升了 10%,相比較於剛剛提到的廣告創意HPM 模型,提升了 5%。
##在這個工作當中,主要有兩方面創新:
事件感知的圖提取器:目前業內對於事件感知較少去考慮,尤其是在創意推薦這個模組,我們的工作是比較創新的。透過將一些跨場景的訊息,例如使用者對某些險種、某些圖文的偏好,或是對於事件在跨場景之間的遷移。同時將這個事件作為一個影響節點,以圖的形式將使用者和創意進行關係建模。
六、問答環節
#Q1:如何做到事件理解與情境理解?A1:事件理解這塊主要是跟營運進行了合作。我們會在數據當中去挖掘一些,事件它其實有時候是一些不可預測的。可預知的話可以被沉澱成一個標籤體系,那不可預測的話就需要我們去做一些異常檢測去挖掘。
場景理解,例如在搜尋場景是可以透過Query 裡面的一些意圖去分析到用戶這次想要去買什麼,但是在保險推薦中很難在上下文資訊當中取得到用戶到底想買什麼保險。因此場景理解更多的是透過推理,首先是一個數據分析洞察,然後再透過一些特徵,上面我們可以看到哪些場景之下對用戶購買保險或用戶購買創意有一個轉化效果,之後再融合到標籤體系當中,主要是在標籤打標這邊去做一些事情。
Q2:創意文案是先做了什麼形式的 Embedding? ###############A2:主要是以推薦的這種形式去做的,多模態在這個工作當中沒有體現,我們在別的工作當中有一些工作。 Embedding 剛剛也提到了主要是比如說一些 ID 類別表徵,或是一些統計的表徵,然後這些表徵都會在這個圖網絡裡面,最後去進行一個圖節點的 Embedding。圖節點 Embedding 的一個好處是可以將比如說某一類用戶對一些創意文案他是有敏感的,那用戶和創意文案之間,可能有一個相似的事情。 ##########A3:關於邊,我們主要去做了一個類似條件轉換機率的處理。例如一個學生節點在天氣惡劣情況下的轉換率可能會高一點。有些情況下會去做邊的裁切操作。邊的表徵學習沒有涉及到,這塊主要是在節點的學習處理。
A4:事件文案還是偏人工。因為今年在保險業發生了比較多的事件,我們也會去看一下在每個事件之下,有多久的影響週期。大概的週期會是在一個星期到兩個星期左右,所以這塊的時間週期也會控制在這個範圍之內。
關於文案的時效性,我們去將文案去做一個強規則綁定。例如前段時間剛過去的中秋,如果我們有中秋文案的話,那這個文案只會在中秋的這段時間才會生效。例如你的出發時間在中秋的這個時段,或是你購買的時間是中秋這個時段,才會被召回出來,其他時間一定不會召回出來。
今天的分享就到這裡,謝謝大家。
以上是基於事件感知的聚類增益網絡在飛豬保險創意排序的應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!