阿里妈妈品牌广告中的 NLP 算法实践
導(dǎo)讀:本次分享的主題為阿里媽媽品牌廣告中的 NLP 算法實(shí)踐,主要內(nèi)容包括:
1. 品牌廣告業(yè)務(wù)模式與技術(shù)架構(gòu)的簡(jiǎn)要介紹
2. NLP 算法在品牌搜索廣告中的實(shí)踐,以兩個(gè)具體的算法問(wèn)題展開(kāi):品牌意圖識(shí)別和短文本相關(guān)性
▌品牌廣告業(yè)務(wù)模式與技術(shù)架構(gòu)
1. 阿里媽媽品牌廣告業(yè)務(wù)概況
阿里媽媽品牌廣告構(gòu)建了豐富的產(chǎn)品矩陣,有強(qiáng)大的生態(tài)資源支撐,其中手淘是最大的資源方,阿里系的多個(gè) APP 也是我們重要的資源提供方。品牌廣告產(chǎn)品分為兩個(gè)重要方向——品牌展示廣告、品牌搜索廣告。其中品牌展示包括超級(jí)風(fēng)暴,整合了各個(gè) APP 開(kāi)屏頁(yè)的廣告;品牌特秀,主要指手淘內(nèi)具有稀缺性的 banner 展示廣告;以及優(yōu)酷和 OTT 等視頻廣告。售賣(mài)模式上,品牌展示廣告基本以定價(jià)保量模式售賣(mài)。品牌搜索廣告包括兩個(gè)重要產(chǎn)品,一是明星店鋪,以 CPM 模式售賣(mài),二是品牌專區(qū),以 CPT 模式進(jìn)行售賣(mài)。
2.?確定性訴求決定品牌廣告業(yè)務(wù)模式與技術(shù)方案
大家可能比較了解效果廣告的業(yè)務(wù)模式與技術(shù)架構(gòu),那品牌廣告如何運(yùn)作呢?它與效果廣告差異非常大,核心差異來(lái)自于品牌廣告要滿足品牌廣告主的最大訴求,即確定性。確定性體現(xiàn)在品牌廣告全鏈路強(qiáng)烈的可控性——下單前,對(duì)明確的資源進(jìn)行詢量,事先鎖定資源;下單后,簽訂合約,并以固定廣告預(yù)算進(jìn)行投放;最后,按合約拿到確定性的投放結(jié)果,比如觸達(dá)多少 UV、PV,N+ Reach、TA% 分布如何。
基于此,品牌廣告業(yè)務(wù)和技術(shù)可以分為詢量、下單、投放與評(píng)估四個(gè)階段。詢量階段,和效果廣告類似,需要實(shí)現(xiàn)定向體系。不同點(diǎn)是,需要對(duì)定向做流量和可用庫(kù)存的預(yù)估。下單階段,需要根據(jù)廣告主確定要購(gòu)買(mǎi)的定向、時(shí)段、預(yù)算,進(jìn)行庫(kù)存管理,比如庫(kù)存的扣除或者釋放,以及對(duì)訂單進(jìn)行報(bào)價(jià)。投放階段,會(huì)面臨多訂單流量重疊的情況,要保證廣告合約的確定性,技術(shù)上會(huì)涉及流量分配。在評(píng)估階段,一般需要進(jìn)行結(jié)案報(bào)告,如果是純?nèi)斯さ姆绞叫蕰?huì)很低,因此我們需要有自動(dòng)化的洞察、結(jié)案系統(tǒng)。最后,對(duì)投放的數(shù)據(jù)資產(chǎn)需要有沉淀的能力,實(shí)現(xiàn)持續(xù)化的消費(fèi)者運(yùn)營(yíng)。
3. 阿里媽媽品牌廣告技術(shù)架構(gòu)
簡(jiǎn)要看一下阿里媽媽的品牌廣告的技術(shù)框架。首先,從廣告主側(cè)視角看,廣告主(客戶)到達(dá)時(shí),首先通過(guò)詢量平臺(tái)對(duì)要采購(gòu)的流量、人群、時(shí)段和地域等各種定向進(jìn)行詢量詢價(jià),背后提供支撐的是庫(kù)存管理、流量預(yù)估和定向技術(shù)。訂單下單后,將構(gòu)建廣告索引,通過(guò)廣告引擎實(shí)現(xiàn)在線投放,這里面涉及到的關(guān)鍵模塊是在線投放、智能創(chuàng)意/頻控。另外,從流量側(cè)視角看,一個(gè)流量到來(lái),會(huì)由統(tǒng)一的流量接入與分發(fā)層處理,根據(jù)流量類型分發(fā)到不同的引擎,效果廣告或者品牌廣告引擎。
這里要說(shuō)的是,品牌廣告內(nèi)部的展示廣告與搜索廣告在重點(diǎn)技術(shù)模塊上存在差異。品牌展示廣告在整個(gè)鏈路上的重要模塊是庫(kù)存管理與流量預(yù)估,以及在線階段的流量分配。這些是業(yè)內(nèi)研究十分深入的方向,有很多技術(shù)資料,這里不做展開(kāi)。品牌搜索廣告,除了以上常規(guī)問(wèn)題,其特殊問(wèn)題還包括定向技術(shù)、智能創(chuàng)意模塊,今天會(huì)重點(diǎn)分享。
4.?品牌搜索廣告產(chǎn)品形態(tài)
我們認(rèn)識(shí)一下品牌搜索廣告,左圖是業(yè)內(nèi)一種產(chǎn)品形態(tài),右圖是阿里品牌專區(qū)的一種形態(tài)。從技術(shù)視角看一下,品牌搜索廣告需要解決什么樣的問(wèn)題。首先,需要判別觸發(fā)詞是有品牌意圖的 query。上面的兩個(gè)例子比如“奔馳”、“BALLY 男包”,我們?nèi)ダ斫馑钠放埔鈭D是非常容易的。對(duì)比來(lái)看,我們?nèi)ヅ袛唷磅忯~(yú)女包”的品牌意圖可能就有點(diǎn)不確定了,甚至部分女生也不太了解鯊魚(yú)是一個(gè)包包品牌。再比如“蘋(píng)果8手機(jī)膜”,蘋(píng)果是手機(jī)品牌,但是這樣的流量不是品牌廣告想要的,因?yàn)檫@個(gè) query 的背后的意圖不是買(mǎi)蘋(píng)果品牌的商品,而是要買(mǎi)某品牌的蘋(píng)果手機(jī)膜。
另外一個(gè)問(wèn)題是廣告匹配約束。品牌廣告比效果廣告有更強(qiáng)的廣告相關(guān)性要求,它體現(xiàn)在兩個(gè)層面。第一,流量與廣告主需要品牌匹配,廣告主可以將品專作為品牌專屬的營(yíng)銷陣地。第二個(gè)層面是品牌效果層面的約束,廣告主希望廣告互動(dòng)率要盡量的高,對(duì)于搜索廣告需要解決 query 與廣告創(chuàng)意內(nèi)容的語(yǔ)義匹配。
▌NLP?算法在品牌搜索廣告中的實(shí)踐
1.?品牌搜索廣告中的 NLP 任務(wù)
我們對(duì)上述問(wèn)題進(jìn)行提煉,包含兩個(gè)技術(shù)模塊,定向技術(shù)與智能創(chuàng)意技術(shù)。背后支撐三個(gè)重要業(yè)務(wù)能力:
第一是品牌流量的挖掘能力,擴(kuò)充廣告流量庫(kù)存;
第二是品牌流量分配,解決廣告主與流量的品牌匹配問(wèn)題;
第三是智能創(chuàng)意匹配,解決的是廣告內(nèi)容與流量的匹配問(wèn)題。
進(jìn)一步,算法上對(duì)應(yīng)兩個(gè) NLP 任務(wù):
1. 品牌意圖識(shí)別;
2. item 到 query 的短文本相關(guān)性。
下面重點(diǎn)介紹這兩個(gè)任務(wù)的算法實(shí)踐。
2.?品牌意圖識(shí)別
①?問(wèn)題定義
品牌意圖識(shí)別問(wèn)題描述為,給定一個(gè) query 去識(shí)別其是否具有搜索某 brand 下商品的意圖。首先,該問(wèn)題看起來(lái)與 entity linking 相似,但實(shí)質(zhì)不同。如剛剛已經(jīng)看到了一個(gè)例子“蘋(píng)果8手機(jī)膜”,entity linking 要識(shí)別蘋(píng)果是一個(gè)品牌 mention。但這并不是該任務(wù)要解決的問(wèn)題,而是要識(shí)別這個(gè) query 是否有搜索“蘋(píng)果”品牌的強(qiáng)意圖。可以將其看作 classification 問(wèn)題。我們將解決方案分兩個(gè)步驟:第一步是 blocking,對(duì)給定 query Q 圈選候選品牌 brand B,形成一對(duì)一的候選 < Q , B >;第二步是 matching,識(shí)別?< Q , B > 是否有相關(guān)意圖。其中,blocking 可以采用一些啟發(fā)式的規(guī)則,產(chǎn)生 Q 和 B 的候選集。我們將重點(diǎn)介紹 matching 的模型演進(jìn)。
② 模型選型
我們對(duì)品牌意圖識(shí)別 matching 模型的演進(jìn)分為三個(gè)階段,已經(jīng)完成的是前兩個(gè)階段,正在進(jìn)行第三個(gè)階段。前兩個(gè)階段主體思想是基于 Bert 進(jìn)行 fine-tune。Bert 針對(duì)不同的 NLP 任務(wù)都有典型的建模方式,在該任務(wù)中,可以應(yīng)用的有兩個(gè)——Entailment task 與 Multi-Choice task。Entailment 任務(wù)中,Q 側(cè)信息作為 Premise,B 側(cè)信息則作為 Hypothesis。Multi-Choice 任務(wù)中,B 和 Q 分別作為 Context 和 Answer。
③ 模型演進(jìn)
我們?cè)敿?xì)看一下 Entailment 模型實(shí)踐,思路是對(duì)候選 < Q , B > 經(jīng)過(guò) Entailment Model 做一個(gè)預(yù)測(cè),輸出 match or no-match。其中,我們重點(diǎn)做了樣本特征和模型結(jié)構(gòu)上的一些設(shè)計(jì)。首先,樣本特征上為了引入結(jié)構(gòu)化的外部信息,我們將 Q 和 B 兩個(gè) segment 進(jìn)行了三個(gè) small segment 切分。在 Q 側(cè),small segment 分別是 query 本身、query click 的商品標(biāo)題、query 的類目預(yù)測(cè)信息。B 側(cè)也是一樣的,分為候選 B 的標(biāo)準(zhǔn)品牌名稱、品牌所屬真實(shí)商品標(biāo)題、品牌經(jīng)營(yíng)的類目信息。這是模型樣本輸入。對(duì)應(yīng)地,我們?cè)谀P徒Y(jié)構(gòu)上針對(duì) small segment 加入了一層 embedding,以更好地捕捉樣本設(shè)計(jì)中的結(jié)構(gòu)化信息。后續(xù)則正常輸入到 Bert 進(jìn)行 encoding,經(jīng)過(guò) n 層 dense layer 輸出預(yù)測(cè)結(jié)果。
模型演進(jìn)的第二階段是 Multi-Choice 模型。Motivation 是 blocking 步驟可能會(huì)產(chǎn)出單 query 命中多個(gè) brand term 的情況,Entailment 任務(wù)屬于 pointwise 形式的建模,對(duì)多 brand term 的打分可比性未直接的做約束和學(xué)習(xí),可能導(dǎo)致品牌意圖識(shí)別錯(cuò)誤。例如,“華為榮耀 9X”匹配到兩個(gè)候選品牌“華為”和“榮耀”,在具體業(yè)務(wù)場(chǎng)景中需要精確的識(shí)別其品牌意圖為“榮耀”,而不能是華為。通過(guò)上一個(gè)部分介紹,我們可以了解到基于 Bert 進(jìn)行 Multi-Choice 模型結(jié)構(gòu);在特征層面,Q 和 B 仍然采用一樣的 small segment 特征。但在樣本構(gòu)造上,我們進(jìn)行了一些工作。生成 < Q , B > 時(shí),B 可能只有一個(gè)候選 brand term,這時(shí)需要提取多個(gè)候選的 < Q , B >,構(gòu)成 Multi-Choice 的大樣本。如果 Q 只有一個(gè)候選正樣例 B,則在 query 的類目下 resample 出 N 個(gè)候選負(fù)樣例 B;反過(guò)來(lái),對(duì)于 Q 只有候選負(fù)樣例 B 的情況,我們則對(duì) B resample 一些正樣例 Q。如上,從樣本到模型構(gòu)建了完整的 Multi-Choice 訓(xùn)練和預(yù)測(cè)流程。
④?模型評(píng)價(jià)與技術(shù)展望
模型評(píng)價(jià)結(jié)果反映了 Multi-Choice 相對(duì) Entailment 有一定效果提升。但是基于 Bert 預(yù)訓(xùn)練的語(yǔ)言模型無(wú)法解決語(yǔ)義鴻溝問(wèn)題,尤其是當(dāng)我們面臨一些 knowledge-driven 的問(wèn)題時(shí),如果不引入 knowledge,模型效果很難有本質(zhì)的提升。我們?cè)倏磶讉€(gè)例子:
1. 剛剛已經(jīng)提到了“華為榮耀 9X”;
2. “阿迪運(yùn)動(dòng)鞋”,人很容易感知阿迪是一個(gè)品牌,但是機(jī)器無(wú)法識(shí)別,這時(shí)最好建立“阿迪”與“阿迪達(dá)斯”標(biāo)準(zhǔn)品牌的同義關(guān)系,同時(shí)構(gòu)建“阿迪達(dá)斯”可以經(jīng)營(yíng)“運(yùn)動(dòng)鞋”類目的知識(shí);
3. “小棕瓶眼霜”沒(méi)有直接的品牌 mention,但要理解“小棕瓶”是“雅詩(shī)蘭黛”強(qiáng)專屬度的產(chǎn)品別稱,同時(shí)“雅詩(shī)蘭黛”在經(jīng)營(yíng)“眼霜”類目。
以上知識(shí)的需求,驅(qū)動(dòng)我們構(gòu)建營(yíng)銷領(lǐng)域的品牌知識(shí)圖譜,然后基于 knowledge graph 進(jìn)行 NLP 建模。目前業(yè)內(nèi)關(guān)于 KG 與 NLP 任務(wù)結(jié)合的研究已經(jīng)變得非常火熱,值得大家關(guān)注。
3.?短文本相關(guān)性
① 問(wèn)題定義
第二個(gè)算法任務(wù)是短文本相關(guān)性。問(wèn)題描述是,給定一個(gè)品牌意圖詞 query 與廣告商品 item,計(jì)算 < query , item > 短文本的相關(guān)性。可以把它理解為語(yǔ)義匹配的問(wèn)題,采用 learning to rank 解決。進(jìn)一步的形式化,給定查詢的短文本 Q 和對(duì)應(yīng)短文本 D,判別相關(guān)性檔位,相關(guān)性從0到5相關(guān)性由弱到強(qiáng)。
對(duì)于這類問(wèn)題,我們的評(píng)估指標(biāo)有 AUC 和 NDCG 等。
② 樣本數(shù)據(jù)
NLP 監(jiān)督學(xué)習(xí)有一個(gè)很大的難點(diǎn),即需要大規(guī)模有監(jiān)督樣本,但是其標(biāo)注工作量巨大,將耗費(fèi)大量人力和時(shí)間,一般公司難以承受。我們的解決思路是,先對(duì)測(cè)試樣本進(jìn)行人工標(biāo)注,得到6萬(wàn)個(gè)樣本,標(biāo)注為0-5檔層級(jí)。但是對(duì)于模型訓(xùn)練,采用6萬(wàn)規(guī)模的樣本遠(yuǎn)遠(yuǎn)不夠。我們的想法是把 learning to rank 的問(wèn)題簡(jiǎn)化為一個(gè)二分類問(wèn)題,判斷相關(guān)還是不相關(guān),而訓(xùn)練樣本生成采用弱監(jiān)督+數(shù)據(jù)增強(qiáng)的方法。弱監(jiān)督的一種形式是,采用的數(shù)據(jù)標(biāo)注不一定完全正確,但能一定程度上反應(yīng)數(shù)據(jù)的相關(guān)性。淘寶用戶的搜索點(diǎn)擊行為就可以構(gòu)建這樣的弱監(jiān)督樣本。正樣本非常明確,即 query 點(diǎn)擊的商品 item 作為正樣本。但未點(diǎn)擊的 item 并不等價(jià)于不相關(guān),我們需要人為的構(gòu)建負(fù)樣本。我們?cè)谪?fù)樣本選取上做了大量工作,例如 query 無(wú)點(diǎn)擊且 VSM 低的 item,再如與當(dāng)前 query 低相似度的 query 點(diǎn)擊的 item。另外,我們也做了大量的數(shù)據(jù)增強(qiáng)的工作,不在此展開(kāi)。
③ 模型演進(jìn)
構(gòu)建完樣本,考慮如何建模。我們最初的建模思路是采用經(jīng)典的 DSSM 模型:對(duì)于 query Q,其正負(fù)樣本 item title 用 D 代表,可以構(gòu)建樣本集合 < Q , D+ , D- >,作為 DSSM 的輸入樣本。我們發(fā)現(xiàn)對(duì)于 DSSM 模型結(jié)果,其算法評(píng)測(cè)指標(biāo)比較理想。但在應(yīng)用層面出現(xiàn)了問(wèn)題,體現(xiàn)在候選 < Q , D > 的預(yù)測(cè)得分分布是偏正太分布。前面講到,品牌廣告業(yè)務(wù)需要滿足廣告主的確定性,廣告主對(duì)流量規(guī)模、廣告效果的穩(wěn)定性高度關(guān)注。業(yè)務(wù)中需要決策相關(guān)性閾值進(jìn)行 query 分配截?cái)?#xff0c;正太分布下的閾值選擇會(huì)導(dǎo)致不同天的 query 集合變動(dòng)非常大,進(jìn)而帶來(lái)流量規(guī)模與廣告效果的不確定性。
為了解決這個(gè)問(wèn)題,我們做了模型升級(jí)。我們注意到 DSSM 擬合的是相似度偏序關(guān)系,即對(duì)任意 x+, x-: P(x+)>P(x-);那么對(duì)于樣本 x,從最大熵的角度看 distribution P(x) 可能更趨向正太分布。我們希望模型直接擬合伯努利分布,即 x+:p(x+)=1, x-:p(x-)=0,這將使得 P(x) 的分布呈現(xiàn)啞鈴狀。我們考慮從 DSSM 的 pairwise 模型轉(zhuǎn)到 pointwise 的二分類模型,以此來(lái)降低閾值選擇的影響。另外,希望在新模型上進(jìn)一步優(yōu)化效果 ( DSSM 模型基于高層語(yǔ)義表征計(jì)算相關(guān)性,缺少底層的信息交互 ) :新模型采用 Compare-Aggregate 架構(gòu),在 word-level 就引入了 attention 信息交互。結(jié)果表明,新模型使得樣本預(yù)測(cè)得分呈現(xiàn)了啞鈴狀的理想狀態(tài),閾值截?cái)嘤绊懘蟠蠼档汀?/p>
④ 算法評(píng)價(jià)
從模型評(píng)價(jià)上看,Compare-Aggregate 在各個(gè)指標(biāo)上全面超越了 DSSM。這里有兩點(diǎn) Insights:
1. 面對(duì)閾值決策問(wèn)題時(shí),為了大大降低閾值對(duì)結(jié)果穩(wěn)定性的影響,模型選擇上建議考慮擬合伯努利分布,避免擬合正太分布。
2. DSSM 這樣的 representation-based model 存在兩點(diǎn)局限性:
-
模型假設(shè)了高層語(yǔ)義表征能夠線性可分,但該假設(shè)無(wú)法驗(yàn)證。
-
模型結(jié)構(gòu)上只在最終的 comparison 階段才有 Q 和 D 的第一次交互,隱層表示缺少足夠的信息交互;而 Compare-Aggregation 模型本質(zhì)是 interaction-based model,從 word level 就開(kāi)始進(jìn)行信息交互,獲得了更好的向量表示。
我們認(rèn)為基于 Bert 上做 fine-tuning 的部分任務(wù)也是同理。
▌總結(jié)
最后總結(jié)和分享一下我們?cè)诰唧w的業(yè)務(wù)場(chǎng)景進(jìn)行 NLP 實(shí)踐的感受:
-
NLP 監(jiān)督學(xué)習(xí)任務(wù)中樣本數(shù)據(jù)獲取是難點(diǎn),可以考慮弱監(jiān)督與數(shù)據(jù)增強(qiáng)。在模型方面,深度學(xué)習(xí)越來(lái)越工具化,可以針對(duì)實(shí)際問(wèn)題在模型結(jié)構(gòu)上做些思考和創(chuàng)新。
-
針對(duì)業(yè)務(wù)場(chǎng)景發(fā)現(xiàn)問(wèn)題、定義問(wèn)題,是應(yīng)用算法工程師的核心競(jìng)爭(zhēng)力;解決問(wèn)題是應(yīng)用算法工程師的基礎(chǔ)門(mén)檻。
-
建議算法實(shí)踐以履帶式推進(jìn),這點(diǎn)與學(xué)術(shù)界有所不同,工業(yè)落地需要小步快跑,低成本試錯(cuò),穩(wěn)步迭代。
總結(jié)
以上是生活随笔為你收集整理的阿里妈妈品牌广告中的 NLP 算法实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用@Async异步注解导致该Bean在
- 下一篇: Showing multiple lin