'深度學習模型BERT在360搜索廣告NLP任務中的應用'

"


"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

深度學習模型BERT在360搜索廣告NLP任務中的應用


隨著 DeepLearning 技術的發展,nlp 領域的多個任務,相繼提出了深層語義模型。

2013年,web search 任務提出了 DSSM 模型,DSSM 對 query 和 doc 獨立進行編碼,編碼層可以選擇 FNN,CNN,或者 RNN,輸出層用 cosine 和 sigmoid 來計算相關性。DSSM 的特點是 query 和 doc 獨立編碼,doc 的編碼可以離線計算,線上只做 cosine 和 sigmoid 計算。

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

深度學習模型BERT在360搜索廣告NLP任務中的應用


隨著 DeepLearning 技術的發展,nlp 領域的多個任務,相繼提出了深層語義模型。

2013年,web search 任務提出了 DSSM 模型,DSSM 對 query 和 doc 獨立進行編碼,編碼層可以選擇 FNN,CNN,或者 RNN,輸出層用 cosine 和 sigmoid 來計算相關性。DSSM 的特點是 query 和 doc 獨立編碼,doc 的編碼可以離線計算,線上只做 cosine 和 sigmoid 計算。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2016年,language inference 提出了 ESIM 模型,ESIM 採用了兩層 bidirectional LSTM,中間引入了 soft attention。這個模型廣泛應用於智能客服系統。如果大家對智能客服了解的話,大概會知道客服系統一般會構建一個問答庫,ESIM 用於計算問題和問題的相關性,然後把語義相同的問題歸結到同一個答案上。這個就跟我們的廣告詞召回非常像了,我們的任務是讓語義相同的 query 可以召回相同的廣告關鍵詞。

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

深度學習模型BERT在360搜索廣告NLP任務中的應用


隨著 DeepLearning 技術的發展,nlp 領域的多個任務,相繼提出了深層語義模型。

2013年,web search 任務提出了 DSSM 模型,DSSM 對 query 和 doc 獨立進行編碼,編碼層可以選擇 FNN,CNN,或者 RNN,輸出層用 cosine 和 sigmoid 來計算相關性。DSSM 的特點是 query 和 doc 獨立編碼,doc 的編碼可以離線計算,線上只做 cosine 和 sigmoid 計算。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2016年,language inference 提出了 ESIM 模型,ESIM 採用了兩層 bidirectional LSTM,中間引入了 soft attention。這個模型廣泛應用於智能客服系統。如果大家對智能客服了解的話,大概會知道客服系統一般會構建一個問答庫,ESIM 用於計算問題和問題的相關性,然後把語義相同的問題歸結到同一個答案上。這個就跟我們的廣告詞召回非常像了,我們的任務是讓語義相同的 query 可以召回相同的廣告關鍵詞。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2018年,也就去年,我們說,Bert 模型橫空出世。Bert 採用了 pre-training 和 fine-tuning 的方式,真正意義上 實現了 NLP 領域的遷移學習。Bert 刷新了11項 NLP 任務的記錄,其中就有兩項語義相關的任務。

我想大家對 Bert 的評價主要是兩種,第一種是,Bert 讓我們看到了深層的 Transformer encoder 具有強大的語義表徵能力。第二種更實際一點,是 Google 發佈的 pretrain 的 model,中文方面就是那個 base 版的 Chinese model。他的意義在於,對於一些小樣本的問題,我們用有限的樣本,去 fine-tune 這個 model,就可以獲得不錯的效果。小樣本使用大模型,這在之前是做不到的。

1. Models

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

深度學習模型BERT在360搜索廣告NLP任務中的應用


隨著 DeepLearning 技術的發展,nlp 領域的多個任務,相繼提出了深層語義模型。

2013年,web search 任務提出了 DSSM 模型,DSSM 對 query 和 doc 獨立進行編碼,編碼層可以選擇 FNN,CNN,或者 RNN,輸出層用 cosine 和 sigmoid 來計算相關性。DSSM 的特點是 query 和 doc 獨立編碼,doc 的編碼可以離線計算,線上只做 cosine 和 sigmoid 計算。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2016年,language inference 提出了 ESIM 模型,ESIM 採用了兩層 bidirectional LSTM,中間引入了 soft attention。這個模型廣泛應用於智能客服系統。如果大家對智能客服了解的話,大概會知道客服系統一般會構建一個問答庫,ESIM 用於計算問題和問題的相關性,然後把語義相同的問題歸結到同一個答案上。這個就跟我們的廣告詞召回非常像了,我們的任務是讓語義相同的 query 可以召回相同的廣告關鍵詞。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2018年,也就去年,我們說,Bert 模型橫空出世。Bert 採用了 pre-training 和 fine-tuning 的方式,真正意義上 實現了 NLP 領域的遷移學習。Bert 刷新了11項 NLP 任務的記錄,其中就有兩項語義相關的任務。

我想大家對 Bert 的評價主要是兩種,第一種是,Bert 讓我們看到了深層的 Transformer encoder 具有強大的語義表徵能力。第二種更實際一點,是 Google 發佈的 pretrain 的 model,中文方面就是那個 base 版的 Chinese model。他的意義在於,對於一些小樣本的問題,我們用有限的樣本,去 fine-tune 這個 model,就可以獲得不錯的效果。小樣本使用大模型,這在之前是做不到的。

1. Models

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在實際工作中使用用的三個模型的參數對照。其中,DSSM 和 ESIM 參數數量都在 2M 這個量級。而 BERT 參數總量超過了 100M。之所有這麼多的參數,是因為 bert 將 transformer 層累加了12層。而且每個 transformer 層又是一個 12 個 head 的 multi head Attention。

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

深度學習模型BERT在360搜索廣告NLP任務中的應用


隨著 DeepLearning 技術的發展,nlp 領域的多個任務,相繼提出了深層語義模型。

2013年,web search 任務提出了 DSSM 模型,DSSM 對 query 和 doc 獨立進行編碼,編碼層可以選擇 FNN,CNN,或者 RNN,輸出層用 cosine 和 sigmoid 來計算相關性。DSSM 的特點是 query 和 doc 獨立編碼,doc 的編碼可以離線計算,線上只做 cosine 和 sigmoid 計算。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2016年,language inference 提出了 ESIM 模型,ESIM 採用了兩層 bidirectional LSTM,中間引入了 soft attention。這個模型廣泛應用於智能客服系統。如果大家對智能客服了解的話,大概會知道客服系統一般會構建一個問答庫,ESIM 用於計算問題和問題的相關性,然後把語義相同的問題歸結到同一個答案上。這個就跟我們的廣告詞召回非常像了,我們的任務是讓語義相同的 query 可以召回相同的廣告關鍵詞。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2018年,也就去年,我們說,Bert 模型橫空出世。Bert 採用了 pre-training 和 fine-tuning 的方式,真正意義上 實現了 NLP 領域的遷移學習。Bert 刷新了11項 NLP 任務的記錄,其中就有兩項語義相關的任務。

我想大家對 Bert 的評價主要是兩種,第一種是,Bert 讓我們看到了深層的 Transformer encoder 具有強大的語義表徵能力。第二種更實際一點,是 Google 發佈的 pretrain 的 model,中文方面就是那個 base 版的 Chinese model。他的意義在於,對於一些小樣本的問題,我們用有限的樣本,去 fine-tune 這個 model,就可以獲得不錯的效果。小樣本使用大模型,這在之前是做不到的。

1. Models

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在實際工作中使用用的三個模型的參數對照。其中,DSSM 和 ESIM 參數數量都在 2M 這個量級。而 BERT 參數總量超過了 100M。之所有這麼多的參數,是因為 bert 將 transformer 層累加了12層。而且每個 transformer 層又是一個 12 個 head 的 multi head Attention。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們知道,Google 發佈的中文的 model 是12層的 base 版 ,沒有發佈24層的 large 版。出於一個貪婪的想法,我們在12層上又累加了4層 transformer block,這時候,參數量從 102M 增加到 130M。如果大家有足夠的訓練數據,可以往上增加層數,如果數據量不夠的話,使用原始的12層是足夠的。

2. Data

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

深度學習模型BERT在360搜索廣告NLP任務中的應用


隨著 DeepLearning 技術的發展,nlp 領域的多個任務,相繼提出了深層語義模型。

2013年,web search 任務提出了 DSSM 模型,DSSM 對 query 和 doc 獨立進行編碼,編碼層可以選擇 FNN,CNN,或者 RNN,輸出層用 cosine 和 sigmoid 來計算相關性。DSSM 的特點是 query 和 doc 獨立編碼,doc 的編碼可以離線計算,線上只做 cosine 和 sigmoid 計算。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2016年,language inference 提出了 ESIM 模型,ESIM 採用了兩層 bidirectional LSTM,中間引入了 soft attention。這個模型廣泛應用於智能客服系統。如果大家對智能客服了解的話,大概會知道客服系統一般會構建一個問答庫,ESIM 用於計算問題和問題的相關性,然後把語義相同的問題歸結到同一個答案上。這個就跟我們的廣告詞召回非常像了,我們的任務是讓語義相同的 query 可以召回相同的廣告關鍵詞。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2018年,也就去年,我們說,Bert 模型橫空出世。Bert 採用了 pre-training 和 fine-tuning 的方式,真正意義上 實現了 NLP 領域的遷移學習。Bert 刷新了11項 NLP 任務的記錄,其中就有兩項語義相關的任務。

我想大家對 Bert 的評價主要是兩種,第一種是,Bert 讓我們看到了深層的 Transformer encoder 具有強大的語義表徵能力。第二種更實際一點,是 Google 發佈的 pretrain 的 model,中文方面就是那個 base 版的 Chinese model。他的意義在於,對於一些小樣本的問題,我們用有限的樣本,去 fine-tune 這個 model,就可以獲得不錯的效果。小樣本使用大模型,這在之前是做不到的。

1. Models

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在實際工作中使用用的三個模型的參數對照。其中,DSSM 和 ESIM 參數數量都在 2M 這個量級。而 BERT 參數總量超過了 100M。之所有這麼多的參數,是因為 bert 將 transformer 層累加了12層。而且每個 transformer 層又是一個 12 個 head 的 multi head Attention。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們知道,Google 發佈的中文的 model 是12層的 base 版 ,沒有發佈24層的 large 版。出於一個貪婪的想法,我們在12層上又累加了4層 transformer block,這時候,參數量從 102M 增加到 130M。如果大家有足夠的訓練數據,可以往上增加層數,如果數據量不夠的話,使用原始的12層是足夠的。

2. Data

深度學習模型BERT在360搜索廣告NLP任務中的應用


關於數據,我們把相關性的大小,定義為0到4的五個分值,相關性依次升高 。這和 bert 刷榜的11個任務中的 Semantic Text Similarity Benchmark 這個任務是一樣的。同時,我們把 0分和1分定義為負例,把 2分,3分,和4分定義為正例。

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

深度學習模型BERT在360搜索廣告NLP任務中的應用


隨著 DeepLearning 技術的發展,nlp 領域的多個任務,相繼提出了深層語義模型。

2013年,web search 任務提出了 DSSM 模型,DSSM 對 query 和 doc 獨立進行編碼,編碼層可以選擇 FNN,CNN,或者 RNN,輸出層用 cosine 和 sigmoid 來計算相關性。DSSM 的特點是 query 和 doc 獨立編碼,doc 的編碼可以離線計算,線上只做 cosine 和 sigmoid 計算。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2016年,language inference 提出了 ESIM 模型,ESIM 採用了兩層 bidirectional LSTM,中間引入了 soft attention。這個模型廣泛應用於智能客服系統。如果大家對智能客服了解的話,大概會知道客服系統一般會構建一個問答庫,ESIM 用於計算問題和問題的相關性,然後把語義相同的問題歸結到同一個答案上。這個就跟我們的廣告詞召回非常像了,我們的任務是讓語義相同的 query 可以召回相同的廣告關鍵詞。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2018年,也就去年,我們說,Bert 模型橫空出世。Bert 採用了 pre-training 和 fine-tuning 的方式,真正意義上 實現了 NLP 領域的遷移學習。Bert 刷新了11項 NLP 任務的記錄,其中就有兩項語義相關的任務。

我想大家對 Bert 的評價主要是兩種,第一種是,Bert 讓我們看到了深層的 Transformer encoder 具有強大的語義表徵能力。第二種更實際一點,是 Google 發佈的 pretrain 的 model,中文方面就是那個 base 版的 Chinese model。他的意義在於,對於一些小樣本的問題,我們用有限的樣本,去 fine-tune 這個 model,就可以獲得不錯的效果。小樣本使用大模型,這在之前是做不到的。

1. Models

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在實際工作中使用用的三個模型的參數對照。其中,DSSM 和 ESIM 參數數量都在 2M 這個量級。而 BERT 參數總量超過了 100M。之所有這麼多的參數,是因為 bert 將 transformer 層累加了12層。而且每個 transformer 層又是一個 12 個 head 的 multi head Attention。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們知道,Google 發佈的中文的 model 是12層的 base 版 ,沒有發佈24層的 large 版。出於一個貪婪的想法,我們在12層上又累加了4層 transformer block,這時候,參數量從 102M 增加到 130M。如果大家有足夠的訓練數據,可以往上增加層數,如果數據量不夠的話,使用原始的12層是足夠的。

2. Data

深度學習模型BERT在360搜索廣告NLP任務中的應用


關於數據,我們把相關性的大小,定義為0到4的五個分值,相關性依次升高 。這和 bert 刷榜的11個任務中的 Semantic Text Similarity Benchmark 這個任務是一樣的。同時,我們把 0分和1分定義為負例,把 2分,3分,和4分定義為正例。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們維護了兩個樣本集。大樣本集有近 11M 樣本,主要是通過廣告點擊日誌篩選出來的。通常我們的篩選方式是結合展示,點擊,消費數據,然後再加上一個 baseline 的預測值,綜合幾個維度,按照經驗閾值來篩選。這個樣本集的特點是樣本量大,混淆度也大。我們還有一個小樣本集有近15萬樣本,通過長期的人工標註和運營同學反饋得來的。

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

深度學習模型BERT在360搜索廣告NLP任務中的應用


隨著 DeepLearning 技術的發展,nlp 領域的多個任務,相繼提出了深層語義模型。

2013年,web search 任務提出了 DSSM 模型,DSSM 對 query 和 doc 獨立進行編碼,編碼層可以選擇 FNN,CNN,或者 RNN,輸出層用 cosine 和 sigmoid 來計算相關性。DSSM 的特點是 query 和 doc 獨立編碼,doc 的編碼可以離線計算,線上只做 cosine 和 sigmoid 計算。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2016年,language inference 提出了 ESIM 模型,ESIM 採用了兩層 bidirectional LSTM,中間引入了 soft attention。這個模型廣泛應用於智能客服系統。如果大家對智能客服了解的話,大概會知道客服系統一般會構建一個問答庫,ESIM 用於計算問題和問題的相關性,然後把語義相同的問題歸結到同一個答案上。這個就跟我們的廣告詞召回非常像了,我們的任務是讓語義相同的 query 可以召回相同的廣告關鍵詞。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2018年,也就去年,我們說,Bert 模型橫空出世。Bert 採用了 pre-training 和 fine-tuning 的方式,真正意義上 實現了 NLP 領域的遷移學習。Bert 刷新了11項 NLP 任務的記錄,其中就有兩項語義相關的任務。

我想大家對 Bert 的評價主要是兩種,第一種是,Bert 讓我們看到了深層的 Transformer encoder 具有強大的語義表徵能力。第二種更實際一點,是 Google 發佈的 pretrain 的 model,中文方面就是那個 base 版的 Chinese model。他的意義在於,對於一些小樣本的問題,我們用有限的樣本,去 fine-tune 這個 model,就可以獲得不錯的效果。小樣本使用大模型,這在之前是做不到的。

1. Models

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在實際工作中使用用的三個模型的參數對照。其中,DSSM 和 ESIM 參數數量都在 2M 這個量級。而 BERT 參數總量超過了 100M。之所有這麼多的參數,是因為 bert 將 transformer 層累加了12層。而且每個 transformer 層又是一個 12 個 head 的 multi head Attention。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們知道,Google 發佈的中文的 model 是12層的 base 版 ,沒有發佈24層的 large 版。出於一個貪婪的想法,我們在12層上又累加了4層 transformer block,這時候,參數量從 102M 增加到 130M。如果大家有足夠的訓練數據,可以往上增加層數,如果數據量不夠的話,使用原始的12層是足夠的。

2. Data

深度學習模型BERT在360搜索廣告NLP任務中的應用


關於數據,我們把相關性的大小,定義為0到4的五個分值,相關性依次升高 。這和 bert 刷榜的11個任務中的 Semantic Text Similarity Benchmark 這個任務是一樣的。同時,我們把 0分和1分定義為負例,把 2分,3分,和4分定義為正例。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們維護了兩個樣本集。大樣本集有近 11M 樣本,主要是通過廣告點擊日誌篩選出來的。通常我們的篩選方式是結合展示,點擊,消費數據,然後再加上一個 baseline 的預測值,綜合幾個維度,按照經驗閾值來篩選。這個樣本集的特點是樣本量大,混淆度也大。我們還有一個小樣本集有近15萬樣本,通過長期的人工標註和運營同學反饋得來的。

深度學習模型BERT在360搜索廣告NLP任務中的應用


兩個數據集使用的方式:首先用大數據集,來做第一輪的 training 或 fine-tuning;然後,從小數據集中選取4/5來訓練第二輪,用剩餘的1/5 來做評測。

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

深度學習模型BERT在360搜索廣告NLP任務中的應用


隨著 DeepLearning 技術的發展,nlp 領域的多個任務,相繼提出了深層語義模型。

2013年,web search 任務提出了 DSSM 模型,DSSM 對 query 和 doc 獨立進行編碼,編碼層可以選擇 FNN,CNN,或者 RNN,輸出層用 cosine 和 sigmoid 來計算相關性。DSSM 的特點是 query 和 doc 獨立編碼,doc 的編碼可以離線計算,線上只做 cosine 和 sigmoid 計算。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2016年,language inference 提出了 ESIM 模型,ESIM 採用了兩層 bidirectional LSTM,中間引入了 soft attention。這個模型廣泛應用於智能客服系統。如果大家對智能客服了解的話,大概會知道客服系統一般會構建一個問答庫,ESIM 用於計算問題和問題的相關性,然後把語義相同的問題歸結到同一個答案上。這個就跟我們的廣告詞召回非常像了,我們的任務是讓語義相同的 query 可以召回相同的廣告關鍵詞。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2018年,也就去年,我們說,Bert 模型橫空出世。Bert 採用了 pre-training 和 fine-tuning 的方式,真正意義上 實現了 NLP 領域的遷移學習。Bert 刷新了11項 NLP 任務的記錄,其中就有兩項語義相關的任務。

我想大家對 Bert 的評價主要是兩種,第一種是,Bert 讓我們看到了深層的 Transformer encoder 具有強大的語義表徵能力。第二種更實際一點,是 Google 發佈的 pretrain 的 model,中文方面就是那個 base 版的 Chinese model。他的意義在於,對於一些小樣本的問題,我們用有限的樣本,去 fine-tune 這個 model,就可以獲得不錯的效果。小樣本使用大模型,這在之前是做不到的。

1. Models

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在實際工作中使用用的三個模型的參數對照。其中,DSSM 和 ESIM 參數數量都在 2M 這個量級。而 BERT 參數總量超過了 100M。之所有這麼多的參數,是因為 bert 將 transformer 層累加了12層。而且每個 transformer 層又是一個 12 個 head 的 multi head Attention。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們知道,Google 發佈的中文的 model 是12層的 base 版 ,沒有發佈24層的 large 版。出於一個貪婪的想法,我們在12層上又累加了4層 transformer block,這時候,參數量從 102M 增加到 130M。如果大家有足夠的訓練數據,可以往上增加層數,如果數據量不夠的話,使用原始的12層是足夠的。

2. Data

深度學習模型BERT在360搜索廣告NLP任務中的應用


關於數據,我們把相關性的大小,定義為0到4的五個分值,相關性依次升高 。這和 bert 刷榜的11個任務中的 Semantic Text Similarity Benchmark 這個任務是一樣的。同時,我們把 0分和1分定義為負例,把 2分,3分,和4分定義為正例。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們維護了兩個樣本集。大樣本集有近 11M 樣本,主要是通過廣告點擊日誌篩選出來的。通常我們的篩選方式是結合展示,點擊,消費數據,然後再加上一個 baseline 的預測值,綜合幾個維度,按照經驗閾值來篩選。這個樣本集的特點是樣本量大,混淆度也大。我們還有一個小樣本集有近15萬樣本,通過長期的人工標註和運營同學反饋得來的。

深度學習模型BERT在360搜索廣告NLP任務中的應用


兩個數據集使用的方式:首先用大數據集,來做第一輪的 training 或 fine-tuning;然後,從小數據集中選取4/5來訓練第二輪,用剩餘的1/5 來做評測。

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在一個 Tesla P40 上,訓練三個模型的耗時。可以看到, 由於採用了兩層 LSTM,ESIM 的耗時是最長的。

3. 性能評測

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

深度學習模型BERT在360搜索廣告NLP任務中的應用


隨著 DeepLearning 技術的發展,nlp 領域的多個任務,相繼提出了深層語義模型。

2013年,web search 任務提出了 DSSM 模型,DSSM 對 query 和 doc 獨立進行編碼,編碼層可以選擇 FNN,CNN,或者 RNN,輸出層用 cosine 和 sigmoid 來計算相關性。DSSM 的特點是 query 和 doc 獨立編碼,doc 的編碼可以離線計算,線上只做 cosine 和 sigmoid 計算。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2016年,language inference 提出了 ESIM 模型,ESIM 採用了兩層 bidirectional LSTM,中間引入了 soft attention。這個模型廣泛應用於智能客服系統。如果大家對智能客服了解的話,大概會知道客服系統一般會構建一個問答庫,ESIM 用於計算問題和問題的相關性,然後把語義相同的問題歸結到同一個答案上。這個就跟我們的廣告詞召回非常像了,我們的任務是讓語義相同的 query 可以召回相同的廣告關鍵詞。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2018年,也就去年,我們說,Bert 模型橫空出世。Bert 採用了 pre-training 和 fine-tuning 的方式,真正意義上 實現了 NLP 領域的遷移學習。Bert 刷新了11項 NLP 任務的記錄,其中就有兩項語義相關的任務。

我想大家對 Bert 的評價主要是兩種,第一種是,Bert 讓我們看到了深層的 Transformer encoder 具有強大的語義表徵能力。第二種更實際一點,是 Google 發佈的 pretrain 的 model,中文方面就是那個 base 版的 Chinese model。他的意義在於,對於一些小樣本的問題,我們用有限的樣本,去 fine-tune 這個 model,就可以獲得不錯的效果。小樣本使用大模型,這在之前是做不到的。

1. Models

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在實際工作中使用用的三個模型的參數對照。其中,DSSM 和 ESIM 參數數量都在 2M 這個量級。而 BERT 參數總量超過了 100M。之所有這麼多的參數,是因為 bert 將 transformer 層累加了12層。而且每個 transformer 層又是一個 12 個 head 的 multi head Attention。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們知道,Google 發佈的中文的 model 是12層的 base 版 ,沒有發佈24層的 large 版。出於一個貪婪的想法,我們在12層上又累加了4層 transformer block,這時候,參數量從 102M 增加到 130M。如果大家有足夠的訓練數據,可以往上增加層數,如果數據量不夠的話,使用原始的12層是足夠的。

2. Data

深度學習模型BERT在360搜索廣告NLP任務中的應用


關於數據,我們把相關性的大小,定義為0到4的五個分值,相關性依次升高 。這和 bert 刷榜的11個任務中的 Semantic Text Similarity Benchmark 這個任務是一樣的。同時,我們把 0分和1分定義為負例,把 2分,3分,和4分定義為正例。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們維護了兩個樣本集。大樣本集有近 11M 樣本,主要是通過廣告點擊日誌篩選出來的。通常我們的篩選方式是結合展示,點擊,消費數據,然後再加上一個 baseline 的預測值,綜合幾個維度,按照經驗閾值來篩選。這個樣本集的特點是樣本量大,混淆度也大。我們還有一個小樣本集有近15萬樣本,通過長期的人工標註和運營同學反饋得來的。

深度學習模型BERT在360搜索廣告NLP任務中的應用


兩個數據集使用的方式:首先用大數據集,來做第一輪的 training 或 fine-tuning;然後,從小數據集中選取4/5來訓練第二輪,用剩餘的1/5 來做評測。

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在一個 Tesla P40 上,訓練三個模型的耗時。可以看到, 由於採用了兩層 LSTM,ESIM 的耗時是最長的。

3. 性能評測

深度學習模型BERT在360搜索廣告NLP任務中的應用


在衡量模型的指標上,我們選擇了 AUC。DSSM 和 ESIM 的 auc 是比較接近的,ESIM 表現更好一些。通過分析 badcases,我們看到 DSSM 和 ESIM 還是比較依賴字面相關的,對語義的捕捉不是很好。而 Bert 的 Auc 達到了86%。

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

深度學習模型BERT在360搜索廣告NLP任務中的應用


隨著 DeepLearning 技術的發展,nlp 領域的多個任務,相繼提出了深層語義模型。

2013年,web search 任務提出了 DSSM 模型,DSSM 對 query 和 doc 獨立進行編碼,編碼層可以選擇 FNN,CNN,或者 RNN,輸出層用 cosine 和 sigmoid 來計算相關性。DSSM 的特點是 query 和 doc 獨立編碼,doc 的編碼可以離線計算,線上只做 cosine 和 sigmoid 計算。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2016年,language inference 提出了 ESIM 模型,ESIM 採用了兩層 bidirectional LSTM,中間引入了 soft attention。這個模型廣泛應用於智能客服系統。如果大家對智能客服了解的話,大概會知道客服系統一般會構建一個問答庫,ESIM 用於計算問題和問題的相關性,然後把語義相同的問題歸結到同一個答案上。這個就跟我們的廣告詞召回非常像了,我們的任務是讓語義相同的 query 可以召回相同的廣告關鍵詞。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2018年,也就去年,我們說,Bert 模型橫空出世。Bert 採用了 pre-training 和 fine-tuning 的方式,真正意義上 實現了 NLP 領域的遷移學習。Bert 刷新了11項 NLP 任務的記錄,其中就有兩項語義相關的任務。

我想大家對 Bert 的評價主要是兩種,第一種是,Bert 讓我們看到了深層的 Transformer encoder 具有強大的語義表徵能力。第二種更實際一點,是 Google 發佈的 pretrain 的 model,中文方面就是那個 base 版的 Chinese model。他的意義在於,對於一些小樣本的問題,我們用有限的樣本,去 fine-tune 這個 model,就可以獲得不錯的效果。小樣本使用大模型,這在之前是做不到的。

1. Models

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在實際工作中使用用的三個模型的參數對照。其中,DSSM 和 ESIM 參數數量都在 2M 這個量級。而 BERT 參數總量超過了 100M。之所有這麼多的參數,是因為 bert 將 transformer 層累加了12層。而且每個 transformer 層又是一個 12 個 head 的 multi head Attention。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們知道,Google 發佈的中文的 model 是12層的 base 版 ,沒有發佈24層的 large 版。出於一個貪婪的想法,我們在12層上又累加了4層 transformer block,這時候,參數量從 102M 增加到 130M。如果大家有足夠的訓練數據,可以往上增加層數,如果數據量不夠的話,使用原始的12層是足夠的。

2. Data

深度學習模型BERT在360搜索廣告NLP任務中的應用


關於數據,我們把相關性的大小,定義為0到4的五個分值,相關性依次升高 。這和 bert 刷榜的11個任務中的 Semantic Text Similarity Benchmark 這個任務是一樣的。同時,我們把 0分和1分定義為負例,把 2分,3分,和4分定義為正例。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們維護了兩個樣本集。大樣本集有近 11M 樣本,主要是通過廣告點擊日誌篩選出來的。通常我們的篩選方式是結合展示,點擊,消費數據,然後再加上一個 baseline 的預測值,綜合幾個維度,按照經驗閾值來篩選。這個樣本集的特點是樣本量大,混淆度也大。我們還有一個小樣本集有近15萬樣本,通過長期的人工標註和運營同學反饋得來的。

深度學習模型BERT在360搜索廣告NLP任務中的應用


兩個數據集使用的方式:首先用大數據集,來做第一輪的 training 或 fine-tuning;然後,從小數據集中選取4/5來訓練第二輪,用剩餘的1/5 來做評測。

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在一個 Tesla P40 上,訓練三個模型的耗時。可以看到, 由於採用了兩層 LSTM,ESIM 的耗時是最長的。

3. 性能評測

深度學習模型BERT在360搜索廣告NLP任務中的應用


在衡量模型的指標上,我們選擇了 AUC。DSSM 和 ESIM 的 auc 是比較接近的,ESIM 表現更好一些。通過分析 badcases,我們看到 DSSM 和 ESIM 還是比較依賴字面相關的,對語義的捕捉不是很好。而 Bert 的 Auc 達到了86%。

深度學習模型BERT在360搜索廣告NLP任務中的應用


以前面的模型為基礎,我們又嘗試了一些特徵工程。我們結合了 bert 和 dssm 和其他十幾維特徵,訓練 tree booster,AUC 可以達到 87 %。不過考慮到特徵工程的複雜性,我們沒有采用這個方案。最終,只採用單獨 BERT 去做相關性服務。

4. 離線挖掘

"


深度學習模型BERT在360搜索廣告NLP任務中的應用


分享嘉賓:高凱明 360算法專家

編輯整理:Hoh Xil

內容來源:DataFun AI Talk

出品社區:DataFun

注:歡迎轉載,轉載請註明出處。

360搜索廣告成立於2012年,到今年是第8個年頭了。

今天分享的內容分為兩部分,第一部分是搜索廣告和廣告召回。我會介紹搜索廣告的業務邏輯,以及召回模塊的邏輯。第二部分是語義相關和深度學習,這部分會介紹語義相關的計算方法以及使用的深度學習模型。

▌搜索廣告 & 廣告召回

深度學習模型BERT在360搜索廣告NLP任務中的應用


360的搜索廣告系統從邏輯上可以劃分為三個模塊:廣告召回、廣告排序和廣告展示。

  • 廣告召回:這個模塊決定召回哪些廣告,涉及到廣告索引和相關性計算;
  • 廣告排序:這個模塊決定展示哪些廣告,涉及到點擊率預估和競價機制;
  • 廣告展示:這個模塊決定如何展示廣告,涉及到廣告創意的選擇。


深度學習模型BERT在360搜索廣告NLP任務中的應用


下面通過一個 Case,來說明360搜索廣告系統的業務邏輯:

  • 假設,我們兩個電商行業的廣告主,都購買了某品牌吸塵器的廣告。他們向廣告系統提交了關鍵詞,和出價。
  • 召回模塊會計算 query 與廣告關鍵詞的相關性,根據相關性來決定是否召回這兩個廣告,結果是兩個廣告都相關,所以兩個廣告都召回。
  • 廣告排序模塊,會計算兩個廣告的點擊率和質量分,並根據競價機制,來決定他們是否可以展示,以及展示位置。
  • 最後,廣告展示模塊會根據廣告主提供的物料以及展示位置,來選擇廣告創意。


深度學習模型BERT在360搜索廣告NLP任務中的應用


接下來繼續應用這個 Case 來說明廣告召回模塊的召回邏輯:左邊是用戶搜索的 query,右邊是廣告主購買的關鍵詞,這裡有倆種召回方式,第一種是精確匹配召回,第二種是語義相關召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


精確匹配召回對應的是一個 Match 的邏輯,可以理解成字符串的匹配,當然還有一些規則的匹配,比如這裡會做一個切詞之後的亂序的重排序,重排序之後如果能匹配上,我們也算是精確召回。

深度學習模型BERT在360搜索廣告NLP任務中的應用


語義相關召回對應的是一個 lookup 的邏輯,這裡查找的是一個 query 到 bidwords 的映射表, 這個映射表是由一個離線挖掘的流程提供的。而離線挖掘的流程是一個漏斗的邏輯。漏斗的上方是多種數據挖掘方法,比如隨機遊走,文本檢索,等。這些方法提供 query 到關鍵詞的候選集。漏斗的下方是一個相關性模塊,這個模塊對候選集進行相關性過濾,把過濾後的數據提供給線上的映射表。

所以處在漏斗下方的相關性模塊直接決定了線上數據的質量。

▌語義相關&深度學習

我們進入第二部分,語義相關和深度學習。

深度學習模型BERT在360搜索廣告NLP任務中的應用


早些時候,計算語義相關性的方法,主要是特徵工程 + GBDT。特徵包括:文本相似度,embedding 相似度,bm25,以及搜索引擎提供的一些特徵,等等。特徵工程的問題在很難表徵語義,所以準確率得不到保證。

深度學習模型BERT在360搜索廣告NLP任務中的應用


隨著 DeepLearning 技術的發展,nlp 領域的多個任務,相繼提出了深層語義模型。

2013年,web search 任務提出了 DSSM 模型,DSSM 對 query 和 doc 獨立進行編碼,編碼層可以選擇 FNN,CNN,或者 RNN,輸出層用 cosine 和 sigmoid 來計算相關性。DSSM 的特點是 query 和 doc 獨立編碼,doc 的編碼可以離線計算,線上只做 cosine 和 sigmoid 計算。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2016年,language inference 提出了 ESIM 模型,ESIM 採用了兩層 bidirectional LSTM,中間引入了 soft attention。這個模型廣泛應用於智能客服系統。如果大家對智能客服了解的話,大概會知道客服系統一般會構建一個問答庫,ESIM 用於計算問題和問題的相關性,然後把語義相同的問題歸結到同一個答案上。這個就跟我們的廣告詞召回非常像了,我們的任務是讓語義相同的 query 可以召回相同的廣告關鍵詞。

深度學習模型BERT在360搜索廣告NLP任務中的應用


2018年,也就去年,我們說,Bert 模型橫空出世。Bert 採用了 pre-training 和 fine-tuning 的方式,真正意義上 實現了 NLP 領域的遷移學習。Bert 刷新了11項 NLP 任務的記錄,其中就有兩項語義相關的任務。

我想大家對 Bert 的評價主要是兩種,第一種是,Bert 讓我們看到了深層的 Transformer encoder 具有強大的語義表徵能力。第二種更實際一點,是 Google 發佈的 pretrain 的 model,中文方面就是那個 base 版的 Chinese model。他的意義在於,對於一些小樣本的問題,我們用有限的樣本,去 fine-tune 這個 model,就可以獲得不錯的效果。小樣本使用大模型,這在之前是做不到的。

1. Models

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在實際工作中使用用的三個模型的參數對照。其中,DSSM 和 ESIM 參數數量都在 2M 這個量級。而 BERT 參數總量超過了 100M。之所有這麼多的參數,是因為 bert 將 transformer 層累加了12層。而且每個 transformer 層又是一個 12 個 head 的 multi head Attention。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們知道,Google 發佈的中文的 model 是12層的 base 版 ,沒有發佈24層的 large 版。出於一個貪婪的想法,我們在12層上又累加了4層 transformer block,這時候,參數量從 102M 增加到 130M。如果大家有足夠的訓練數據,可以往上增加層數,如果數據量不夠的話,使用原始的12層是足夠的。

2. Data

深度學習模型BERT在360搜索廣告NLP任務中的應用


關於數據,我們把相關性的大小,定義為0到4的五個分值,相關性依次升高 。這和 bert 刷榜的11個任務中的 Semantic Text Similarity Benchmark 這個任務是一樣的。同時,我們把 0分和1分定義為負例,把 2分,3分,和4分定義為正例。

深度學習模型BERT在360搜索廣告NLP任務中的應用


我們維護了兩個樣本集。大樣本集有近 11M 樣本,主要是通過廣告點擊日誌篩選出來的。通常我們的篩選方式是結合展示,點擊,消費數據,然後再加上一個 baseline 的預測值,綜合幾個維度,按照經驗閾值來篩選。這個樣本集的特點是樣本量大,混淆度也大。我們還有一個小樣本集有近15萬樣本,通過長期的人工標註和運營同學反饋得來的。

深度學習模型BERT在360搜索廣告NLP任務中的應用


兩個數據集使用的方式:首先用大數據集,來做第一輪的 training 或 fine-tuning;然後,從小數據集中選取4/5來訓練第二輪,用剩餘的1/5 來做評測。

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們在一個 Tesla P40 上,訓練三個模型的耗時。可以看到, 由於採用了兩層 LSTM,ESIM 的耗時是最長的。

3. 性能評測

深度學習模型BERT在360搜索廣告NLP任務中的應用


在衡量模型的指標上,我們選擇了 AUC。DSSM 和 ESIM 的 auc 是比較接近的,ESIM 表現更好一些。通過分析 badcases,我們看到 DSSM 和 ESIM 還是比較依賴字面相關的,對語義的捕捉不是很好。而 Bert 的 Auc 達到了86%。

深度學習模型BERT在360搜索廣告NLP任務中的應用


以前面的模型為基礎,我們又嘗試了一些特徵工程。我們結合了 bert 和 dssm 和其他十幾維特徵,訓練 tree booster,AUC 可以達到 87 %。不過考慮到特徵工程的複雜性,我們沒有采用這個方案。最終,只採用單獨 BERT 去做相關性服務。

4. 離線挖掘

深度學習模型BERT在360搜索廣告NLP任務中的應用


這是我們的一個離線挖掘流程:

整個流程是個漏斗的邏輯。首先是用一些離線挖掘的方法,從日誌中找到 <query, bidword> pairs,或者用文本檢索的方法,獲取到候選集。然後通過相關性的預測,再通過 CTR 預測,最後把過濾後的結果發佈到線上的 KV 系統。

所以,整個360的廣告召回模塊就是這樣,按照兩種召回方式,其中語義相關召回方式會提供一個非常大的空間,這個召回方式採用了一個離線的挖掘流程。然後採用相關性計算、CTR 預估過濾流程來提供映射表。這是今天分享的全部內容,謝謝大家。

"

相關推薦

推薦中...