互聯網搜索廣告介紹(二)


作者Jack47
轉載請保留作者和原文出處

本文是上一篇互聯網搜索廣告介紹(一)的姊妹篇。上一篇主要介紹了互聯網搜索廣告中的業務,本篇介紹搜索廣告面臨的三個問題的技術解決方案

搜索廣告中存在的三個子問題##

從搜索引擎的角度來看,搜索廣告中存在三個子問題:

  1. 廣告檢索
  2. 對檢索到的廣告排序
  3. 根據點擊收費

以上三個順序是搜索廣告事件發生的順序,這里面1和2屬於信息檢索問題,而2和3又屬於微觀經濟學問題。

廣告檢索

搜索的過程,簡單來講,就是match(匹配)+rank(排序)的過程。Match解決的核心問題是如何根據用戶搜索詞,召回最符合用戶意圖的那些廣告。Rank解決的核心問題是如何對Match圈出的廣告進行排序,需要兼顧用戶體驗和搜索平台的收益

Match的過程由兩部分組成:

  1. QueryRewrite 用戶搜索詞改寫

  2. Ad Retrieval 廣告檢索

查詢串改寫(Query Rewrite)

查詢改寫可以解決哪些問題?

先來看查詢改寫中的兩個重要指標:

  1. 召回:搜索引擎返回的文檔中相關的文檔占總相關文檔的比重。
  2. 精度:返回的結果中,相關文檔占返回結果的比重

在廣告搜索引擎中,不能直接拿着用戶的原始查詢詞在倒排索引中進行廣告檢索的,因為廣告主買詞和用戶的原始查詢詞極有可能不是同一個詞,很難精確匹配到,這樣就導致搜出來的廣告深度不夠,即召回率很低。舉個例子,廣告主買了"三亞旅游"這個詞,而用戶搜索詞是"去三亞旅游",如果直接拿用戶的搜索詞去檢索,是檢索不到這個廣告主的廣告的。

對於某些用戶特定輸入的查詢詞(Query),跟它相關的廣告可能並沒有購買這個Query[由於引擎系統能力有限,廣告主對某個寶貝的競價詞不能超過一定數量],或者可能這個Query很少有廣告主競價[長尾詞],導致競價詞的廣告深度不夠。

針對上述的情況,可以通過兩方面來改進:

  1. 給文檔增加詞,來讓它可以被更多的查詢匹配到
  2. 給查詢增加更多的詞,讓查詢匹配到更多的文檔

查詢改寫(Query Rewrite)是后一種方法,它也經常用來提高檢索結果的相關性。

查詢改寫就是對給定的一個原始的查詢串,輸出一堆跟它相關聯的查詢串(改寫)。在查詢改寫上面的研究工作,大部分都是集中在利用多種方法例如挖掘查詢日志和用戶會話來產出跟原始查詢串相關聯的改寫。

改寫的質量取決於兩個方面。首先,改寫后的查詢越接近原始查詢的語義越好。改寫后的精確度可以通過計算檢索到的結果集和原始查詢之間的距離來衡量,目前普遍通過點擊日志中的用戶偏好學習來衡量。其次,改寫后的查詢應該保證有足夠多的結果返回給用戶。改寫后的覆蓋率是通過計算請求特定數量的結果,需要多少次請求才能達到預期來衡量的。

歸一化

為什么不拿着用戶的搜索詞,直接去查詢(keyword, ad)的索引呢?因為用戶的搜索詞千變萬化,由於計算機性能的限制,我們不可能對所有的搜索詞建立到競價的廣告的倒排索引。很多搜索詞,雖然形式不一樣,但是他們代表的用戶意圖可能是一樣的。用戶輸入的查詢多種多樣,在搜索引擎有限的計算能力和存儲資源下,不可能對每一個原始的用戶查詢串建立倒排索引。

為了解決這種問題,就引出了歸一化的方法,歸一化原本是統計學中概念,這里是指把用戶搜索詞(查詢串)和廣告主的買詞(競價詞),轉化到一個搜索引擎內部的檢索詞典里。歸一化是一個多對一的關系,即好幾個搜索詞,對應的歸一化詞可能是同一個。查詢改寫后產出的所有詞,都是經過歸一化后的詞。廣告搜索引擎中是用歸一化后的詞去檢索廣告。而用戶的競價詞,也是通過歸一化后建立的倒排索引。

歸一化的好處是能夠幫助我們減少搜索引擎需要處理的詞的數量,幫助我們降低問題的規模,但是也是壞處,可能會喪失掉一些語義信息的精度。搜索詞和買詞往往是人操作產出的,更具有可讀性,而歸一化是一種數學方法,歸一化后的詞可讀性差一些。

查詢改寫的輸出

可以這樣簡單理解查詢改寫的:
它就是搜索引擎進行匹配(Match)的大腦,用來揣測出用戶的搜索意圖,這些搜索意圖是有權重區分的,來指導檢索模塊進行檢索,排序模塊進行排序

對於搜索廣告,一般的查詢改寫輸出,包含以下幾個部分:

改寫出的查詢(rewritten query)。每個查詢都會包含如下的信息:

查詢詞:最終用來查詢倒排索引的查詢詞

權重:刻畫跟原始搜索詞的相關性

對於電商環境的查詢改寫(例如淘寶和京東),還會預測出當前query的類目和屬性
關於類目屬性,可以看看鬼腳七的淺談淘寶類目屬性體系

關於query改寫,有這篇詼諧幽默的文章可以看看:
http://www.searchtb.com/2011/01/from-augur-to-etao-query-analysis.html

檢索

倒排索引和正排索引

查詢改寫是query->bidword的映射,而檢索過程是bidword->ad的映射,即找到所有購買了這個競價詞的廣告。查詢的時候是用檢索詞去查廣告,為了加快速度,就建立了一份競價詞到購買了此競價詞的廣告的倒排索引: bidwordx->(adi, adj, adm, adn)。這個跟網頁搜索引擎中的倒排索引(inverted index)的作用是一樣的,都是為了加快檢索速度,類似於書籍中的目錄頁。這樣對於一次檢索,遍歷此次所有查詢詞的倒排數據,把寶貝取出來,就能得到廣告的候選集合。

正排數據存儲的是推廣組(ad-group)、推廣計划(campaign)和客戶(cust)的相關信息,如寶貝狀態,銷量,屬性,類目,地域,以及推廣計划的id,客戶的id等。對候選集合的過濾就是根據正排數據來進行的。檢索過程只負責檢索出購買了這些競價詞的廣告。根據正排數據來進行過濾的過程是由單獨的一個階段來完成的。

可以看到在搜索廣告中檢索過程是十分簡單的,其實是一個精確匹配的結果,不像網頁搜索引擎,需要支持多種語義

廣告排序(Ranking)

檢索完成后,就需要確定廣告的輸出順序,需要兼顧用戶體驗和搜索平台的收益。這個階段必須綜合考慮競價和相關性分數(例如ecpm)。目前有兩種主流的方法,以賽馬為例:

  1. 反應式(Reactive):選定一匹馬,根據它的歷史成績來預測未來的表現
  2. 預估式(Predictive):根據體重,腿長等特征為賽馬建模,找到這些特征在預測比賽名次終的重要程度,然后基於這些特征來給見過、未見過的賽馬預測成績。
    當我們擁有對某賽馬的足夠信息的時候,就使用這些信息(反應性),否則使用模型(預測性)。

分層排序

記得計算機界某大牛曾經說過,任何問題都可以通過增加一層來解決,在廣告搜索引擎中也是通過分層的形式解決復雜問題的,大到匹配(Matching)和排序(Ranking),小到廣告集合的處理,無處不在分層的思想。

在廣告搜索引擎中,由海選、初選和精選三個階段來配合完成廣告的排序工作,其中海選和初選都是在做剪枝操作,盡量縮小問題的規模。廣告和自然搜索的差異之一,就在於廣告位相對自然搜索的位置,是相當少的。所以決定了在競爭激烈的情況下,排在后面的廣告是沒有機會展現的。因此可以考慮在早期過程就發現這些寶貝,然后干掉這些寶貝,此時每個寶貝的排序分數不需要非常精確,能達到一定的篩選效果就可以,這就是全量索引截斷、海選和初選的思想。而最精確的打分,是發生在精選階段的。一般都會采用單獨的線上打分服務來完成的。

全量索引截斷
全量建索引的時候,會對倒排鏈超過一定數量的熱詞進行截斷,根據排序分數來取這個倒排鏈下的top N個寶貝。

海選
廣告搜索是輕檢索,重過濾的。當檢索階段拿到的廣告候選集合后,會進行海選。海選這個名稱非常形象,這不就是歌手大賽的海選階段嗎?只有實力唱將才能脫穎而出。

初選
為了減少對線上打分服務的壓力,海選階段完成后,還需要經歷初選階段。

初選打分與海選打分的計算過程類似,但此時分數更加精確了,考慮的因素更加全面。

精選
最后線上打分服務,會對這些經歷了海選和初選脫穎而出的廣告進行精確打分。

為什么每次都需要實時去打分:

上述提到的海選、初選和ORS打分,都是需要實時計算出分數的,因為競價同一個關鍵詞的廣告是快速動態變化的。廣告主可能手動或者自動[第三方軟件]地更改競價詞和對應的競價價格,而且會修改廣告的創意,都會對打分造成影響,因此需要實時的打分

點擊扣費

對於目前的搜索廣告來說,都被設計成了拍賣的機制。搜索引擎拍賣的是每個流量中可能的廣告位,廣告主提交對購買的關鍵詞的每次點擊的最高出價,廣告主是不知道其他人的出價信息的。雖然每個流量中一般會有多個廣告位置,但是廣告主只出一個價格。最終搜索引擎根據廣告主競價和廣告的點擊率CTR來對廣告進行排序,決定最終的展示位置和扣費價格。

點擊扣費時,目前普遍采用的是Google發明的廣義第二價格扣費GSP(General Second Price),有兩種策略:

  1. 競價排序:根據廣告的出價倒序排列,位於第i個的廣告支付第i+1個廣告的競價
  2. 根據廣告平台的收益排序:根據期望最大收益ecpm來排序: ecpm=bidprice*ctr。此時被點擊的廣告主i付的費用為clickprice=bidprice(i)*(ctr(i)/ctr(i+1))

目前廣告的順序都是根據期望最大收益ecpm來排序的,因此bidprice(i+1)*ctr(i+1)>bidprice(i)*ctr(i),可以從上述公式看到廣告主實際扣費肯定小於他自己的出價

參考資料:

Efficient Query Rewrite for Structured Web Queries

Query Rewriting in Search Engines

斯坦福大學自然語言處理公開課


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM