搜索引擎——用戶搜索意圖的理解及其難點解析,本質是利用機器學習用戶的意圖分類


用戶搜索意圖的理解及其難點解析

搜索引擎涉及的技術非常的繁復,既有工程架構方面的,又有算法策略方面的。綜合來講,一個搜索引擎的技術構建主要包含三大部分:

  1. 對 query 的理解
  2. 對內容(文檔)的理解
  3. 對 query 和內容(文檔)的匹配和排序

(點擊放大圖像)

 

我們今天主要探討其中的 Query Understanding,即對 query 的理解。對 query 的理解, 換句話說就是對用戶搜索意圖的理解。先看垂直搜索中的一些例子:

“附近的特價酒店”

“上海到揚州高速怎么走”

“小龍蝦最新報價”

“華為最新款手機”

“水”

這幾個例子都不能直接根據 query 的字面意思去搜索,而是要理解用戶輸入文字背后的真實意圖。不過要准確理解 query 背后的用戶搜索意圖可不是那么容易的。

我們來分析一下理解用戶搜索詞背后的真實意圖識別存在哪些難點:

  1. 用戶輸入不規范,輸入方式多樣化,使用自然語言查詢,甚至非標准的自然語言。比如上面提到的“附近的特價酒店” 、“上海到揚州高速怎么走”都是自然語言查詢的例子,又如 “披星 ( ) 月”、“吾嘗終日而思矣, 下面“

  2. 用戶的查詢詞表現出多意圖,比如用戶搜索“變形金剛”,是指變形金剛的電影還是游戲? 搜索“仙劍奇俠傳”是指游戲還是游戲軟件? 電影? 小說? 電商網站搜索“水”是指礦泉水?還是女生用的護膚水?

  3. 意圖強度,表現為不同用戶對相同的查詢有不同的需求強度。比如:宮保雞丁。宮保雞丁菜,菜譜需求占 90%。宮保雞丁歌曲,歌曲下載需求占 10%。又比如:荷塘月色。荷塘月色歌曲,歌曲下載需求占 70%。荷塘月色小區,房產需求占 20%。荷塘月色菜,菜譜需求占 10%。

  4. 意圖存在時效性變化,就是隨着時間的推移一些查詢詞的意圖會發生變化。比如:華為 P10 國行版 3 月 24 日上市。3 月 21 日的查詢意圖:新聞 90%,百科 10%3 月 24 日的查詢意圖:新聞 70%,購買 25%,百科 5%5 月 1 日的查詢意圖:購買 50%,資訊 40%,其他 10%5 年以后的查詢意圖:百科 100%

  5. 數據冷啟動的問題,用戶行為數據較少時,很難准確獲取用戶的搜索意圖。

  6. 沒有固定的評估的標准,CTR、MAP、MRR、nDCG 這些可以量化的指標主要是針對搜索引擎的整體效果的,具體到用戶意圖的預測上並沒有標准的指標。

如何識別用戶搜索意圖

首先我們來看一下用戶搜索意圖有哪些分類。一般把搜索意圖歸類為 3 種類型:導航類、信息類和事務類雅虎的研究人員在此基礎上做了細化,將用戶搜索意圖划分如下類別:

1.導航類:用戶明確的要去某個站點,但又不想自己輸入 URL,比如用戶搜索“新浪網“

2.信息類:又可以細分為如下幾種子類型,

直接型:用戶想知道關於一個話題某個方面明確的信息,比如“地球為什么是圓的”、“哪些水果維生素含量高”。間接型:用戶想了解關於某個話題的任意方面的信息,比如粉絲搜索“黃曉明”。建議型:用戶希望能夠搜索到一些建議、意見或者某方面的指導,比如“如何選股票”。定位型:用戶希望了解在現實生活中哪里可以找到某些產品或服務,比如“汽車維修”。列表型:用戶希望找到一批能夠滿足需求的信息,比如“陸家嘴附近的酒店”。

3.資源類:這種類型的搜索目的是希望能夠從網上獲取某種資源,又可以細分為以下幾種子類型,

下載型:希望從網絡某個地方下載想要的產品或者服務,比如“USB 驅動下載”。娛樂型:用戶出於消遣的目的希望獲得一些有關信息,比如“益智小游戲”。交互型:用戶希望使用某個軟件或服務提供的結果,用戶希望找到一個網站,這個網站上可以直接計算房貸利息。獲取型:用戶希望獲取一種資源,這種資源的使用場合不限於電腦,比如“麥當勞優惠券”,用戶希望搜到某個產品的折扣券,打印后在現實生活中使用。

Query Classification 查詢意圖分類模塊

通常有基於規則模板的分類方法和基於機器學習的分類方法。

一種是基於規則模板的分類方法,這種方法比較適用於查詢非常符合規則的類別,通過規則解析的方式來獲取查詢的意圖。比如:今天天氣怎么樣, 可以轉化為 [日期][實體: 天氣][詢問詞: 怎么樣]上海到曼谷的機票價格, 可以轉化為 [地點] 到 [地點][機票 / 車票 / 火車票] 價格

這種方法的對比較明確的規則性強的方式有精確的識別度,缺點是覆蓋度低,用戶查詢稍作變換可能就不 match 了,另外規則的發現和制定主要靠人工進行。

另一種是基於機器學習分類的方法。

如果有確定的查詢類別體系,基於機器學習的查詢意圖分類是一個不錯的選擇,可以選擇 SVM 作為分類器,關鍵在分類特征的選擇, 還有訓練樣本的准確標注。

這個和我們之前參加過的 2014 ACM CIKM 競賽的問題類似,那年 CIKM 競賽的題目是自動識別用戶的查詢意圖(Query Intent Detection,QID):給定一批標注過類別的搜索日志包括查詢日志和點擊日志作為訓練樣本,其中也有部分未標注的,類別為 unknown。

在特征的選擇方面,除了基本的 Query 的長度、Query 的頻次、Title 的長度、Title 的頻次、BM-25、Query 的首字、尾字等,我們通過對 log session 上下文的分析,進行了 Query 間特征詞匯的挖掘,運用了 query 在相同 session 中的共現關系,挖掘 query 之間的子串包含關系,query 和點擊的 title 之間的文本特征關系等。

在分類模型的選擇方面,我們選擇了 Ensemble 框架。Ensemble 的基本思想是充分運用不同分類算法各種的優勢,取長補短,組合形成一個強大的分類框架。不過 Ensemble 不是簡單的把多個分類器合並起來結果,或者簡單將分類結果按固定參數線性疊加 (例如不是 a1 * ALGO1 + a2 * ALGO2 + a3 * ALGO3),而是通過訓練 Ensemble 模型,來實現最優的組合。

在 Ensemble 框架下,我們分類器分為兩個 Level: L1 層和 L2 層。L1 層是基礎分類器,L2 層基於 L1 層,將 L1 層的分類結果形成特征向量,再組合一些其他的特征后,形成 L2 層分類器(如 SVM)的輸入。這里需要特別留意的是用於 L2 層的訓練的樣本必須沒有在訓練 L1 層時使用過。

 

摘自:http://www.infoq.com/cn/articles/user-search-intention-recognition


免責聲明!

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



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