摘要:接下來將對這個智能廣告關鍵詞生成方法進行闡述,並就其中分詞與詞性標註、搜索意圖識別等核心模塊用到的算法進行介紹。撈詞智能化,指自動從用戶住宿搜索語句中挖掘出能進行廣告投放的搜索語句,並匹配相應的產品與廣告落地頁來生成新的廣告關鍵詞。

作者簡介

遙新,攜程高級數據分析師,熱愛用數據解決實際問題。

一、背景

隨着不斷加快的國際化步伐,攜程逐漸開始在海外開展一系列的市場營銷佈局。搜索引擎廣告作爲海外營銷的重要組成部分,攜程也開始在海外各個搜索引擎上投放廣告。

一個搜索引擎廣告生態,通常有三個參與方:廣告主、搜索用戶以及搜索引擎。搜索引擎廣告是指廣告主根據自己的產品或服務的內容、特點等,確定相關的關鍵詞,撰寫廣告內容並自主定價在搜索引擎端投放的廣告。當用戶在搜索引擎上搜索到廣告主投放的關鍵詞時,相應的廣告就會展示,並在用戶點擊後對廣告主進行收費。

下圖爲攜程在谷歌搜索引擎上購買“攜程”廣告關鍵詞後,在搜索結果會展現相關的廣告截屏。

許多 OTA(Online Travel Agency)都會投入大量資金進行搜索引擎廣告的投放,來獲得旅遊相關需求的搜索流量,以提高訂單量和公司收入,比如booking.com在18年單季度在 谷歌上投放廣告就達10億美元。

因此對於有搜索引擎投放需求的公司來說,提升搜索引擎廣告效果是一件重要的事情。 搜索引擎效果提升主要是要選對合適的關鍵詞、選擇合適的廣告定價和設計好的廣告創意來吸引用戶。 本文着眼於能自動化生成高質量廣告關鍵詞來減少人力運營成本,提高搜索引擎流量的質量,進而提高投入產出比。

傳統的搜索引擎關鍵詞生成方法都以人工運營爲主,比如有如下兩種:

(1)拓詞:人工頭腦風暴思考整理出關鍵詞生成規則,然後基於這些關鍵詞生成規則來構建關鍵詞。

(2)撈詞:從已有的搜索語句中,找到還未購買過的部分,人工與廣告主的產品/服務與落地頁進行匹配,來構建關鍵詞。

這些傳統方法的痛點在於:

(1)需要業務每日投入精力進行固定操作,人力成本比較高。

(2)無法做到精細化地投放一些廣告關鍵詞。

因此,我們基於這兩種傳統方法的思路,並針對相關痛點,來構建了廣告關鍵詞智能生成方法。接下來將對這個智能廣告關鍵詞生成方法進行闡述,並就其中分詞與詞性標註、搜索意圖識別等核心模塊用到的算法進行介紹。最後還將介紹一些其他探索與嘗試過的廣告關鍵詞智能生成方法。

二、拓詞智能化

拓詞的智能化,也就是自動總結關鍵詞生成規則來構建關鍵詞,能體現人主觀角度對用戶搜索習慣的理解與歸納。在對這種傳統方法智能化的過程中,一方面我們對歸納用戶搜索習慣進行了自動化,同時爲了能更精細化地生成符合用戶搜索習慣的關鍵詞,還增加了對產品名的解析模塊,並且添加了消除關鍵詞歧義的步驟,使得獲得的廣告流量用戶搜索意圖更加純粹,提高期望轉化率。

具體框架如下:

以下會闡述各個模塊的一些細節:

2.1 產品信息供給模塊

產品信息供給模塊一方面負責存儲可以在搜索引擎上投放的產品或者服務的相關數據。具體對於OTA,可以有城市住宿供給產品、酒店住宿供給產品、航線類機票供給產品等。同時,這個模塊也對產品名稱進行了清洗、分詞與詞性標註,方便後續結合關鍵詞生成規則進行關鍵詞生成。以下以住宿產品爲例,闡述模塊的細節。

分詞與詞性標註例子:

(1) 虹橋火車站 ——> {地理興趣點}

(2)青城山小天井客棧 ——> 青城山 + 小天井 + 客棧 ——> {地理興趣點} + {酒店名} + {住宿需求詞}

(3)Americinn by Wyndham Northfield ——> Americinn by Wyndham + Northfield ——> {酒店名} + {城市名}

針對分詞與詞性標註的方法如下:

以酒店爲例。首先,對於酒店名分詞這種細分分詞場景,類似於地址解析的場景,是一個詞性結構一致性較強並且與地理實體強相關的場景,基於詞典的分詞與詞性標註方法已經有比較高的效果,但仍存在一些問題。這裏針對兩種問題進行了一定的處理來提高分詞與詞性標註的準確性。

(1)應對地理歧義的問題,採用地理結構化詞典的方法

華盛頓既可能是酒店連鎖品牌名稱,也可能有美國首都“華盛頓”的含義。虹橋既可能是一家酒店的酒店名,也可能有上海”虹橋“這個地理興趣點的含義。在英文產品名稱的詞性標註中,這種情況存在更多,因爲國外很多地方存在重名的現象,比如Victoria(維多利亞)這個單詞,在幾十個國家都有相應的建築、街道或者酒店名包含單詞Victoria,因此很難正確地對類似存在歧義的詞語進行詞性標註。

針對這種地理實體的歧義性,採用基於Geohash的地理結構化詞典來處理這種問題。Geohash的原理就是將一個地理位置的經緯度,轉化爲一個Hash值,從而達到一個地理分區域的效果。對地理實體進行Geohash後,地理實體被分到各個區域內,對酒店名進行解析時,只使用關聯區域內的詞典,從而大大減少了地理歧義性問題導致的錯誤。

(2)應對詞典質量不足的問題,採用數據增強+BILSTM-CRF的方法

基於詞典與規則的方法強依賴於詞典的質量,公司內部的地理詞典基本涵蓋了基本的城市、地理興趣點信息,但仍有部分地理實體仍未包含,比如一些道路名稱、山名、村名等。針對這種情況,我們使用深度學習模型來處理這種情況,我們希望能讓模型學習到xx路,xx山,xx村,xx學校等這樣的語言結構是一個地理興趣點,從而彌補詞典質量不足的問題。

具體的,採用了數據增強+BILSTM-CRF模型的方法來處理。

採用隨機生成拼接的方式,生成大量有效的正確標註數據,讓模型能學到更多信息。比如由於道路名的缺乏,導致“成都米果文創民宿東安南路店”、“佳木斯小時光民宿育新街分店”中的“東安南路”、“育新街” 無法被正確標註,我們隨機生成各種包含 {城市名} + {酒店名} + {住宿需求}+xx路/xx街+店/分店/旗艦店/二店/三店等人造酒店名。

增加了這部分數據後,開始進行分詞與詞性標註算法的訓練。常見的分詞與詞性標註算法,有CRF、HMM、RNN、BILSTM-CRF等。BILSTM-CRF在多個自然語言序列標註問題(NER、POS)上都表現優秀。這裏採用BILSTM-CRF模型。

具體BILSTM-CRF模型如下:

第一層爲Embedding層,輸入文本轉化爲向量表示。第二層爲BILSTM(雙向LSTM)層,相比單向的LSTM,BILSTM能同時學到句子從前到後,以及從後到前的信息。第三層爲一個全連接層。第四層爲一個CRF層。

通過以上一些方法,我們完成了對中英住宿產品名稱的解析,基於中英文解析結果,我們使用了翻譯、平行語料詞對齊算法實現跨語言的分詞與詞性標註(Cross-lingual NER)。

2.2 搜索習慣歸納模塊

這個模塊通過對用戶搜索語句進行解析,歸納得到用戶搜索語句的常見搜索習慣。

具體搜索語句的解析方法有如下:

(1)基於命名實體識別的解析方法

對搜索語句進行命名實體識別,從而得到搜索語句的解析結果。

例子:

  • 上海酒店住宿 ——> 上海 + 酒店住宿 ——> {城市名} 酒店住宿

  • 虹橋機場賓館優惠 ——> 虹橋機場 + 賓館優惠 ——> {地理興趣點名稱} 賓館優惠

  • Beijing family accomodation ——> Beijing + family accomodation——> {城市名} family accomodation

具體方法爲:

在搜索引擎搜索語句的場景,從搜索引擎廣告平臺拿到的用戶搜索語句是會與一個產品落地頁一一對應的,因此直接基於廣告落地頁相關實體信息構建命名實體識別規則就有比較好的效果,也免除了耗費大量的精力在構建訓練集上。

(2)基於分詞與詞性標註的解析方法

對搜索語句進行分詞與詞性標註,從而得到搜索語句的詞性結構。

例子:

  • 建滔諾富特酒店 ——> 建滔諾富特 + 酒店 ——> {酒店名} + {住宿需求詞}

  • 淞虹路地鐵站攜程美居 ——>淞虹路地鐵站 + 攜程美居 ——>{地理興趣點} + {酒店名}

  • 上海住宿 ——> 上海 + 住宿 ——>{酒店名} + {住宿需求詞}

具體方法爲:基於詞典來進行分詞與詞性標註。

2.3 關鍵詞生成模塊

此模塊主要進行關鍵詞生成。從產品供給模塊抽出需要進行投放的產品,並基於一定規則從關鍵詞生成規則模塊中抽取相應規則進行關鍵詞生成,並匹配相應的產品落地頁與廣告物料信息。

在生成關鍵詞之後,因爲生成的關鍵詞的用戶意圖仍存在可能性會指向多個供給產品,因此會對生成後的關鍵詞進行歧義性判斷,過過濾掉其中存在歧義性的關鍵詞。

消歧具體方法爲:

(1)基於字符串匹配

如果不同產品生成相同關鍵詞或者關鍵詞存在不同產品名裏,那麼這個關鍵詞會被過濾。

(2)基於搜索點擊數據的分佈結果

如果一個關鍵詞,在搜索點擊數據裏,發現點擊分佈在多個搜索結果上,那麼這個關鍵詞會被過濾。

(3)基於搜索點擊數據,構建語義匹配模型

如果一個關鍵詞,與多個產品的語義匹配分數夠高,那麼這個關鍵詞會被過濾。這裏我們採用了DSSM模型。DSSM是一個2013年的一個query/doc的相似度計算模型,被廣泛運用於廣告召回、排序場景中。DSSM的核心思想就是將不同對象映射到統一的語義空間中中,利用該空間中對象的距離計算相似度。

三、撈詞智能化

撈詞智能化,指自動從用戶住宿搜索語句中挖掘出能進行廣告投放的搜索語句,並匹配相應的產品與廣告落地頁來生成新的廣告關鍵詞。這個場景可以視爲一個用戶意圖識別的場景,即能對收集到的用戶搜索語句的搜索意圖進行識別並和廣告主的供給產品或服務進行匹配,從而構建搜索廣告關鍵詞。

從OTA的角度,無論是公司內部收集的網頁端或者APP端收集到的用戶搜索語句還是搜索引擎廣告平臺拿到的用戶搜索語句,都是旅遊領域的用戶搜索行爲(Travel Domain Userintent)。

因此項目裏對這樣的旅遊領域的搜索意圖大致分爲了如下四大類搜索意圖以及12小類搜索意圖:

以下闡述一下具體在酒店搜索方面,撈詞智能化的實現框架:

下面 我們逐一地來看看模塊A (是否住宿相關),模塊B (酒店住宿意圖識別) 的內部細節。

1)模塊A (判斷是否住宿相關)

我們將這個問題視爲文本二分類的場景來處理,並基於Bert預訓練做fine-tuning來構建分類模型。Bert是2018年提出的一個NLP預訓練模型,Bert的預訓練過程能學到強大的語義表徵能力,同時google發佈了中文的預訓練模型,使得我們用有限的樣本,做fine-tune即可在一些場景獲得不錯的效果。

具體訓練集我們使用了基於OTA平臺的搜索點擊數據,如果一個搜索語句大概率點擊的是住宿相關的搜索結果,那麼就生成一條住宿相關的搜索語句正樣本。相應的,如果一個搜索語句大概率點擊的是非住宿相關的搜索結果,那麼就生成一條非住宿相關的搜索語句正樣本。分類爲住宿相關,並且概率大於一定閾值的搜索語句會進入住宿意圖識別模塊。

2)模塊B (酒店住宿意圖識別)

我們將這個問題視爲一個語義匹配的場景來處理,傳統的語義匹配場景有類似於query-query相似性算法、query-document相似性算法,這裏我們可以視作爲query-product相似性算法。

具體數據集爲:

  • 基於搜索點擊數據

如果一個關鍵詞,在搜索點擊數據裏,發現大概率點擊在某一個搜索結果(某旅遊產品)上,那麼這個關鍵詞會被定義語義指向這個產品。反之,則說明這個關鍵詞不指向這個產品。

  • 基於產品別名數據

產品的別名與該產品的正式名稱會被視作是語義一致的。

但由於OTA搜索端和搜索引擎搜索端場景的不同,用戶的搜索習慣也會有很大的差異,比如搜索引擎端的搜索語句的長度通常要比OTA搜索端長度長很多,也更復雜。比如搜索引擎端,用戶可能會搜索“靜安寺 攜程住宿 優惠券”,而在OTA搜索端,很難見到用戶有這樣的搜索行爲。因此,我們構建了一些同義改寫方法進行query rewriting,使得訓練集與真實場景更加貼合。

語義匹配採取的方案是基於DSSM+BERT fine-tuning。採用DSSM+BERT的組合,是因爲Bert的語義匹配精度更高,DSSM的語義匹配性能好。DSSM可以離線計算好產品的向量表示,可以做到語義匹配快速粗召回。因此設計爲基於DSSM作意圖語義召回,再針對召回的結果再用Bert進行一一匹配,使得在保證方案性能的情況下提高匹配準確率。

四、其他方法

除了以上兩種方法,我們也探索和嘗試了其他的廣告關鍵詞智能化生成思路,以下進行簡單介紹:

4.1 基於搜索聯想(query suggestion)的廣告關鍵詞生成

當我們在搜索引擎裏進行搜索時,搜索引擎通常會在下拉框或者搜索結果頁推薦給我們給我們一些搜索語句聯想(query suggestion)。

通過對搜索引擎搜索聯想一些方法的研究,我們可以得知搜索聯想背後的算法通常會考慮:

(1)Popularity: 這個搜索聯想的結果搜索次數較多

(2)Relevence: 這個搜索聯想的結果與原搜索語義相關

(3)Diversity:在Relevence的基礎上,搜索聯想會盡量考慮更多樣化的聯想結果,給用戶更好的搜索體驗。

Popularity和Relevence的特性表示搜索聯想結果是一個優質的搜索廣告關鍵詞來源,因爲搜索聯想的結果通常會有較高的流量並且語義相似性較高。Diversity的特性則有利有弊,好的方面在於多樣化能帶來更多樣更長尾的流量(長尾的流量通常更便宜,因此ROI更高),然而多樣化也可能帶來不可控的劣質流量。

4.2 基於同義改寫的廣告關鍵詞生成

對於一些有有優異表現的廣告關鍵詞,對其進行同義改寫可以得到更多相似的優質的廣告關鍵詞。具體的方法可以有:

(1)基於用戶搜索查詢重寫的同義改寫 (Query Rewriting Approach)

(2)基於用戶搜索點擊圖譜的同義改寫(Click Graph Approach)

(3)基於同義語法替換的同義改寫

五、總結

以上闡述我們SEM搜索引擎廣告關鍵詞智能化生成的幾種方法,主要介紹了兩種傳統關鍵詞生成方法的智能化思路。

對於未來的規劃與展望可能主要有兩個方向:

1) 從中 英日韓到更多小語種語言: 現在主要做的還都是中英日韓廣告關鍵詞的相關 工作,對小語種廣告關鍵詞進行了一定的探索與開發,以後會更多的往這方向拓展。

(2)從人的理解到機器理解:現在的方法生成的關鍵詞大多數都是人可理解的,比如分詞、詞性標註等,都是從人的角度可解釋的,但沒有很多嘗試基於機器理解的思路。在SEM的框架內,都是程序在運行,因此可能存在一些語法無法解釋的關鍵詞卻會有更好的表現的情況,這可能是一個可以琢磨的方向。

【推薦閱讀】

文末小福利

發書評,免費領熱門技術書籍  ●

凡購買 《攜程架構實踐》或《攜程人工智能實踐》的小夥伴,在這兩本書的京東或噹噹訂單發書評,即可在出版社提供的禮品書單中任選一本技術書籍作爲答謝禮。禮品書單涵蓋了架構和人工智能領域目前市場上熱銷的大多數書籍。活動截止5月15日。

參與活動的小夥伴,請在公衆號後臺回覆“ 書評 ”。

《攜程架構實踐》

京東

噹噹

《攜程人工智能實踐》

京東

噹噹

“攜程技術”公衆號

分享,交流,成長

相關文章