淘寶搜索下拉框查詢詞提示(Suggestion)原理


 

      下拉框提示詞(如圖1所示),在淘寶搜索中,稱為Suggestion(查詢詞提示),已經是淘寶搜索引擎必備的一個功能了,當你在搜索框進行輸入時,搜索框會打開下拉的提示框,動態地向你提示一些與你已經輸入內容相關的查詢串。如果在提示框中看到所希望輸入的查詢串,直接用鼠標點擊或鍵盤選擇后,即可進行搜索,減少你的輸入字符數。如果大家有一定的數字媒體檢索和搜索引擎的基礎知識,應該能聯想到高頻查詢統計是如何運用在這當中的了吧。
   

       一個基本的模型是:統計查詢串中可能出現的各個前綴子串,然后統計以各個前綴子串開頭的查詢串的頻率。對各個子串,取以其作為前綴的對應K個最高頻查詢串。再以各子串為KEY,建立倒排索引。定期更新倒排索引,即可依據查詢頻率給出一個比較合理的提示內容。  
      模型並不復雜,但這么做有什么好處,其中包含的頻率統計信息有什么意義呢?
      來做個簡單分析,比如淘寶搜索引擎,一天接收到的查詢次數為1000萬次,不同的查詢串有100萬個。通常而言,按查詢頻率來統計,頻率較高的前10%查詢詞,其被查詢的次數會占到總查詢次數的近50%。下面用二分圖模型來說明這個過程,如圖2所示。
      對於用戶和具有相同前綴的查詢串,分別以上圖中的u和q來表示。對於用戶ui查詢qi串的行為,以在ui與qi間連邊來表示。假設各次查詢之間是相互獨立的,則一次查詢命中查詢串q的概率與q的度數成正比。如果將已有的查詢記錄作為先驗模型,那么當某用戶發起一次查詢時,度數高,即查詢頻率高的串被命中的概率就大,所以會優先出以用戶輸入為前綴的高頻查詢串。
       而具體到一個查詢串,按上述思路來推測,當用戶輸入第一個字之后,所提示的字串中包含用戶希望輸入查詢串的概率可以這樣計算:提示字串在所有以該字開頭的查詢串中查詢次數所占的比例。一個合理的假設是,以某串P作為前綴的查詢串Q,其數目會隨着P的串長增長而快速下降。這個速度通過統計公共前綴查詢串的數目可以推斷,用戶也能夠查找到相關的統計資料,這里不再舉具體數據。
    按這樣的方法,隨着用戶主動輸入字串的長度增長,提示詞命中用戶真實查詢詞的概率將不斷增加,因而需要用戶主動輸入的字串長度將縮短。整體上講,能有效地降低用戶使用搜索引擎的復雜度。這對於廣大的中文搜索引擎用戶,無疑是有吸引力的。因為大多數用戶使用的是拼音輸入法,需要不斷地在同音字中選取自己所需要的字、詞,現在搜索引擎有了這樣一個功能,大家使用起來會方便很多。
       根據以上介紹的Suggestion,我們還可以引入淘寶搜索點擊日志,可以進一步利用點擊信息來度量查詢間的相似性,從而改進Suggestion。
       以二分圖作為分析工具,對於查詢qi,用戶點擊的結果URL為uj,則在於之間連一加權邊,eij其權重對於qi的所有查詢中,uj被點擊的次數wij。如圖3所示。

       對於查詢qi則可以用這些與之相連的加權邊表示。其形式為:
             基於這種表示,就可以度量兩個查詢之間的相似度:
       這種做法就是利用點擊作為聯系查詢與結果的橋梁,將結果集作為表達查詢的一個特征空間,並在這個特征空間中度量查詢的相似度,從而找到相近的查詢作為Suggestion結果,由此可見,淘寶點擊日志的作用是多么的重要!


免責聲明!

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



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