阿里媽媽:品牌廣告中的 NLP 算法實踐

阿里媽媽:品牌廣告中的 NLP 算法實踐

分享嘉賓:肖國銳 阿里 高級算法專家

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請在留言區內留言。


導讀:本次分享的主題為阿里媽媽品牌廣告中的 NLP 算法實踐,主要內容包括:

1. 品牌廣告業務模式與技術架構的簡要介紹

2. NLP 算法在品牌搜索廣告中的實踐,以兩個具體的算法問題展開:品牌意圖識別和短文本相關性

▌品牌廣告業務模式與技術架構

1. 阿里媽媽品牌廣告業務概況

阿里媽媽:品牌廣告中的 NLP 算法實踐

阿里媽媽品牌廣告構建了豐富的產品矩陣,有強大的生態資源支撐,其中手淘是最大的資源方,阿里系的多個 APP 也是我們重要的資源提供方。品牌廣告產品分為兩個重要方向——品牌展示廣告、品牌搜索廣告。其中品牌展示包括超級風暴,整合了各個 APP 開屏頁的廣告;品牌特秀,主要指手淘內具有稀缺性的 banner 展示廣告;以及優酷和 OTT 等視頻廣告。售賣模式上,品牌展示廣告基本以定價保量模式售賣。品牌搜索廣告包括兩個重要產品,一是明星店鋪,以 CPM 模式售賣,二是品牌專區,以 CPT 模式進行售賣。

2. 確定性訴求決定品牌廣告業務模式與技術方案

大家可能比較瞭解效果廣告的業務模式與技術架構,那品牌廣告如何運作呢?它與效果廣告差異非常大,核心差異來自於品牌廣告要滿足品牌廣告主的最大訴求,即確定性。確定性體現在品牌廣告全鏈路強烈的可控性——下單前,對明確的資源進行詢量,事先鎖定資源;下單後,簽訂合約,並以固定廣告預算進行投放;最後,按合約拿到確定性的投放結果,比如觸達多少 UV、PV,N+ Reach、TA% 分佈如何。

基於此,品牌廣告業務和技術可以分為詢量、下單、投放與評估四個階段。詢量階段,和效果廣告類似,需要實現定向體系。不同點是,需要對定向做流量和可用庫存的預估。下單階段,需要根據廣告主確定要購買的定向、時段、預算,進行庫存管理,比如庫存的扣除或者釋放,以及對訂單進行報價。投放階段,會面臨多訂單流量重疊的情況,要保證廣告合約的確定性,技術上會涉及流量分配。在評估階段,一般需要進行結案報告,如果是純人工的方式效率會很低,因此我們需要有自動化的洞察、結案系統。最後,對投放的數據資產需要有沉澱的能力,實現持續化的消費者運營。

3. 阿里媽媽品牌廣告技術架構

簡要看一下阿里媽媽的品牌廣告的技術框架。首先,從廣告主側視角看,廣告主(客戶)到達時,首先通過詢量平臺對要採購的流量、人群、時段和地域等各種定向進行詢量詢價,背後提供支撐的是庫存管理、流量預估和定向技術。訂單下單後,將構建廣告索引,通過廣告引擎實現在線投放,這裡面涉及到的關鍵模塊是在線投放、智能創意/頻控。另外,從流量側視角看,一個流量到來,會由統一的流量接入與分發層處理,根據流量類型分發到不同的引擎,效果廣告或者品牌廣告引擎。

這裡要說的是,品牌廣告內部的展示廣告與搜索廣告在重點技術模塊上存在差異。品牌展示廣告在整個鏈路上的重要模塊是庫存管理與流量預估,以及在線階段的流量分配。這些是業內研究十分深入的方向,有很多技術資料,這裡不做展開。品牌搜索廣告,除了以上常規問題,其特殊問題還包括定向技術、智能創意模塊,今天會重點分享。

4. 品牌搜索廣告產品形態

阿里媽媽:品牌廣告中的 NLP 算法實踐

我們認識一下品牌搜索廣告,左圖是業內一種產品形態,右圖是阿里品牌專區的一種形態。從技術視角看一下,品牌搜索廣告需要解決什麼樣的問題。首先,需要判別觸發詞是有品牌意圖的 query。上面的兩個例子比如“奔馳”、“BALLY 男包”,我們去理解它的品牌意圖是非常容易的。對比來看,我們去判斷“鯊魚女包”的品牌意圖可能就有點不確定了,甚至部分女生也不太瞭解鯊魚是一個包包品牌。再比如“蘋果8手機膜”,蘋果是手機品牌,但是這樣的流量不是品牌廣告想要的,因為這個 query 的背後的意圖不是買蘋果品牌的商品,而是要買某品牌的蘋果手機膜。

另外一個問題是廣告匹配約束。品牌廣告比效果廣告有更強的廣告相關性要求,它體現在兩個層面。第一,流量與廣告主需要品牌匹配,廣告主可以將品專作為品牌專屬的營銷陣地。第二個層面是品牌效果層面的約束,廣告主希望廣告互動率要儘量的高,對於搜索廣告需要解決 query 與廣告創意內容的語義匹配。

▌NLP 算法在品牌搜索廣告中的實踐

1. 品牌搜索廣告中的 NLP 任務

阿里媽媽:品牌廣告中的 NLP 算法實踐

我們對上述問題進行提煉,包含兩個技術模塊,定向技術與智能創意技術。背後支撐三個重要業務能力:

第一是品牌流量的挖掘能力,擴充廣告流量庫存;

第二是品牌流量分配,解決廣告主與流量的品牌匹配問題;

第三是智能創意匹配,解決的是廣告內容與流量的匹配問題。

進一步,算法上對應兩個 NLP 任務:

1. 品牌意圖識別;

2. item 到 query 的短文本相關性。

下面重點介紹這兩個任務的算法實踐。

2. 品牌意圖識別

① 問題定義

阿里媽媽:品牌廣告中的 NLP 算法實踐

品牌意圖識別問題描述為,給定一個 query 去識別其是否具有搜索某 brand 下商品的意圖。首先,該問題看起來與 entity linking 相似,但實質不同。如剛剛已經看到了一個例子“蘋果8手機膜”,entity linking 要識別蘋果是一個品牌 mention。但這並不是該任務要解決的問題,而是要識別這個 query 是否有搜索“蘋果”品牌的強意圖。可以將其看作 classification 問題。我們將解決方案分兩個步驟:第一步是 blocking,對給定 query Q 圈選候選品牌 brand B,形成一對一的候選 < Q , B >;第二步是 matching,識別 < Q , B > 是否有相關意圖。其中,blocking 可以採用一些啟發式的規則,產生 Q 和 B 的候選集。我們將重點介紹 matching 的模型演進。

② 模型選型

阿里媽媽:品牌廣告中的 NLP 算法實踐

我們對品牌意圖識別 matching 模型的演進分為三個階段,已經完成的是前兩個階段,正在進行第三個階段。前兩個階段主體思想是基於 Bert 進行 fine-tune。Bert 針對不同的 NLP 任務都有典型的建模方式,在該任務中,可以應用的有兩個——Entailment task 與 Multi-Choice task。Entailment 任務中,Q 側信息作為 Premise,B 側信息則作為 Hypothesis。Multi-Choice 任務中,B 和 Q 分別作為 Context 和 Answer。

③ 模型演進

阿里媽媽:品牌廣告中的 NLP 算法實踐

我們詳細看一下 Entailment 模型實踐,思路是對候選 < Q , B > 經過 Entailment Model 做一個預測,輸出 match or no-match。其中,我們重點做了樣本特徵和模型結構上的一些設計。首先,樣本特徵上為了引入結構化的外部信息,我們將 Q 和 B 兩個 segment 進行了三個 small segment 切分。在 Q 側,small segment 分別是 query 本身、query click 的商品標題、query 的類目預測信息。B 側也是一樣的,分為候選 B 的標準品牌名稱、品牌所屬真實商品標題、品牌經營的類目信息。這是模型樣本輸入。對應地,我們在模型結構上針對 small segment 加入了一層 embedding,以更好地捕捉樣本設計中的結構化信息。後續則正常輸入到 Bert 進行 encoding,經過 n 層 dense layer 輸出預測結果。

阿里媽媽:品牌廣告中的 NLP 算法實踐

模型演進的第二階段是 Multi-Choice 模型。Motivation 是 blocking 步驟可能會產出單 query 命中多個 brand term 的情況,Entailment 任務屬於 pointwise 形式的建模,對多 brand term 的打分可比性未直接的做約束和學習,可能導致品牌意圖識別錯誤。例如,“華為榮耀 9X”匹配到兩個候選品牌“華為”和“榮耀”,在具體業務場景中需要精確的識別其品牌意圖為“榮耀”,而不能是華為。通過上一個部分介紹,我們可以瞭解到基於 Bert 進行 Multi-Choice 模型結構;在特徵層面,Q 和 B 仍然採用一樣的 small segment 特徵。但在樣本構造上,我們進行了一些工作。生成 < Q , B > 時,B 可能只有一個候選 brand term,這時需要提取多個候選的 < Q , B >,構成 Multi-Choice 的大樣本。如果 Q 只有一個候選正樣例 B,則在 query 的類目下 resample 出 N 個候選負樣例 B;反過來,對於 Q 只有候選負樣例 B 的情況,我們則對 B resample 一些正樣例 Q。如上,從樣本到模型構建了完整的 Multi-Choice 訓練和預測流程。

④ 模型評價與技術展望

阿里媽媽:品牌廣告中的 NLP 算法實踐

模型評價結果反映了 Multi-Choice 相對 Entailment 有一定效果提升。但是基於 Bert 預訓練的語言模型無法解決語義鴻溝問題,尤其是當我們面臨一些 knowledge-driven 的問題時,如果不引入 knowledge,模型效果很難有本質的提升。我們再看幾個例子:

1. 剛剛已經提到了“華為榮耀 9X”;

2. “阿迪運動鞋”,人很容易感知阿迪是一個品牌,但是機器無法識別,這時最好建立“阿迪”與“阿迪達斯”標準品牌的同義關係,同時構建“阿迪達斯”可以經營“運動鞋”類目的知識;

3. “小棕瓶眼霜”沒有直接的品牌 mention,但要理解“小棕瓶”是“雅詩蘭黛”強專屬度的產品別稱,同時“雅詩蘭黛”在經營“眼霜”類目。

以上知識的需求,驅動我們構建營銷領域的品牌知識圖譜,然後基於 knowledge graph 進行 NLP 建模。目前業內關於 KG 與 NLP 任務結合的研究已經變得非常火熱,值得大家關注。

3. 短文本相關性

① 問題定義

第二個算法任務是短文本相關性。問題描述是,給定一個品牌意圖詞 query 與廣告商品 item,計算 < query , item > 短文本的相關性。可以把它理解為語義匹配的問題,採用 learning to rank 解決。進一步的形式化,給定查詢的短文本 Q 和對應短文本 D,判別相關性檔位,相關性從0到5相關性由弱到強。

阿里媽媽:品牌廣告中的 NLP 算法實踐

對於這類問題,我們的評估指標有 AUC 和 NDCG 等。

② 樣本數據

阿里媽媽:品牌廣告中的 NLP 算法實踐

NLP 監督學習有一個很大的難點,即需要大規模有監督樣本,但是其標註工作量巨大,將耗費大量人力和時間,一般公司難以承受。我們的解決思路是,先對測試樣本進行人工標註,得到6萬個樣本,標註為0-5檔層級。但是對於模型訓練,採用6萬規模的樣本遠遠不夠。我們的想法是把 learning to rank 的問題簡化為一個二分類問題,判斷相關還是不相關,而訓練樣本生成採用弱監督+數據增強的方法。弱監督的一種形式是,採用的數據標註不一定完全正確,但能一定程度上反應數據的相關性。淘寶用戶的搜索點擊行為就可以構建這樣的弱監督樣本。正樣本非常明確,即 query 點擊的商品 item 作為正樣本。但未點擊的 item 並不等價於不相關,我們需要人為的構建負樣本。我們在負樣本選取上做了大量工作,例如 query 無點擊且 VSM 低的 item,再如與當前 query 低相似度的 query 點擊的 item。另外,我們也做了大量的數據增強的工作,不在此展開。

③ 模型演進

阿里媽媽:品牌廣告中的 NLP 算法實踐

構建完樣本,考慮如何建模。我們最初的建模思路是採用經典的 DSSM 模型:對於 query Q,其正負樣本 item title 用 D 代表,可以構建樣本集合 < Q , D+ , D- >,作為 DSSM 的輸入樣本。我們發現對於 DSSM 模型結果,其算法評測指標比較理想。但在應用層面出現了問題,體現在候選 < Q , D > 的預測得分分佈是偏正太分佈。前面講到,品牌廣告業務需要滿足廣告主的確定性,廣告主對流量規模、廣告效果的穩定性高度關注。業務中需要決策相關性閾值進行 query 分配截斷,正太分佈下的閾值選擇會導致不同天的 query 集合變動非常大,進而帶來流量規模與廣告效果的不確定性。

阿里媽媽:品牌廣告中的 NLP 算法實踐

為了解決這個問題,我們做了模型升級。我們注意到 DSSM 擬合的是相似度偏序關係,即對任意 x+, x-: P(x+)>P(x-);那麼對於樣本 x,從最大熵的角度看 distribution P(x) 可能更趨向正太分佈。我們希望模型直接擬合伯努利分佈,即 x+:p(x+)=1, x-:p(x-)=0,這將使得 P(x) 的分佈呈現啞鈴狀。我們考慮從 DSSM 的 pairwise 模型轉到 pointwise 的二分類模型,以此來降低閾值選擇的影響。另外,希望在新模型上進一步優化效果 ( DSSM 模型基於高層語義表徵計算相關性,缺少底層的信息交互 ) :新模型採用 Compare-Aggregate 架構,在 word-level 就引入了 attention 信息交互。結果表明,新模型使得樣本預測得分呈現了啞鈴狀的理想狀態,閾值截斷影響大大降低。

④ 算法評價

阿里媽媽:品牌廣告中的 NLP 算法實踐

從模型評價上看,Compare-Aggregate 在各個指標上全面超越了 DSSM。這裡有兩點 Insights:

1. 面對閾值決策問題時,為了大大降低閾值對結果穩定性的影響,模型選擇上建議考慮擬合伯努利分佈,避免擬合正太分佈。

2. DSSM 這樣的 representation-based model 存在兩點侷限性:

  • 模型假設了高層語義表徵能夠線性可分,但該假設無法驗證。
  • 模型結構上只在最終的 comparison 階段才有 Q 和 D 的第一次交互,隱層表示缺少足夠的信息交互;而 Compare-Aggregation 模型本質是 interaction-based model,從 word level 就開始進行信息交互,獲得了更好的向量表示。

我們認為基於 Bert 上做 fine-tuning 的部分任務也是同理。

▌總結

最後總結和分享一下我們在具體的業務場景進行 NLP 實踐的感受:

  • NLP 監督學習任務中樣本數據獲取是難點,可以考慮弱監督與數據增強。在模型方面,深度學習越來越工具化,可以針對實際問題在模型結構上做些思考和創新。
  • 針對業務場景發現問題、定義問題,是應用算法工程師的核心競爭力;解決問題是應用算法工程師的基礎門檻。
  • 建議算法實踐以履帶式推進,這點與學術界有所不同,工業落地需要小步快跑,低成本試錯,穩步迭代。


分享到:


相關文章: