搜尋引擎的查詢意圖識別(query理解)
阿新 • • 發佈:2019-01-08
by 張帆(自然語言處理組@搜狗)
通用搜索VS垂直搜尋
通用搜索特點:
抓取網際網路上一切有價值的頁面,同意建立索引,以關鍵字匹配為基本檢索方式,以網頁title和summary為展現方式
google, 百度,搜狗,搜搜,有道
垂直搜尋特點:
以一特定類別為主題,只抓取與主題相關資訊,根據主題特點有針對性的建立相應的索引檢索方式,篩選方式,以及展現方式
機票搜尋,地圖搜尋,購物搜尋(一淘)……
解決方法:通用搜索引擎 + 垂直搜尋引擎
意圖識別
意圖搜尋的難點:
輸入不規範
輸入方法多樣化
非常不規範
有堆砌關鍵詞
自然語言查詢
甚至非標準自然語言
多意圖
如:仙劍奇俠傳
遊戲?--> 遊戲軟體?……
電視劇?--> 電視劇下載?相關新聞?……
電影?--> 電影下載?檢視影評?劇情介紹?……
音樂?--> 歌曲下載?線上聽歌?歌詞下載?……
小說?--> 小說下載?線上觀看?……
意圖強度
如:荷塘月色
荷塘月色歌曲 --> 歌曲下載:50%
荷塘月色小區 --> 房產需求:20%
荷塘月色菜 --> 菜譜需求:10%
結果可靠性
供我們獲取搜尋結果的這些垂直站點往往是一些中小型的網站,我們需要保證搜尋結果的準確性和相關性
如:遙控汽車
預期結果:返回所有遙控汽車的相關結果
實際返回:
遙控汽車--> 沒有遙控汽車相關結果
遙控--> 返回遙控器,遙控飛機等於原意圖無關的結果
汽車--> 返回汽車模型,汽車配件等於原意圖無關的結果
(比如京東就是這麼拆搜尋詞的)
時效性
如:iPhone5 7月1日上市銷售
6月30日的查詢意圖:新聞90%,百科10%
7月1日的查詢意圖:新聞70%,購買25%,百科5%
8月1日的查詢意圖:購買50%,資訊40%,其他10%
5年以後的查詢意圖:百科100%
詞表窮舉法:
最簡單直接的方法,通過詞表的直接匹配來獲取查詢意圖,也可加入適用於較為簡單且查詢較為集中的類別,比如電視臺節目查詢,節假日查詢,餐館查詢等
如:北京的天氣怎麼樣啊
(停用詞替換) --> [北京][天氣][怎麼樣]
(查詢詞歸一) --> {城市][關鍵詞][疑問詞]
(順序無關) --> {[城市], [關鍵詞], [疑問詞]}
給出白名單:
規則解析法:
適用於一些查詢雖然不集中但非常符合規則的類別,通過規則解析查詢來做意圖識別和關鍵資訊提取的,比如匯率查詢,計算器,度量衡等
如:236.2美金能換多少RMB?
[236.2][美金][今天]能換多少[人民幣]?
[數字][貨幣單位][日期]能換多少[貨幣單位]?
★通過知識圖表,來替換/對應/歸一
解析:
數量:236.2
源貨幣:美元(不再是“美金”)
目的貨幣:人民幣
★配合自己建立的一些語言模型,可以比較好的解決召回率比較低的問題
模型訓練的比較好的話,相對召回也很不錯
但是比如購物啊什麼的,是無法做這種資訊模型的
統計模型分類法:(最常用)
查詢詞分類:基於查詢詞本身的分類,也就是建立基於字面意思的統計分類模型
查詢詞擴充套件分類:基於查詢詞的擴充套件資訊的分類,也就是基於真實社會知識的分離,通常是搜尋結果擴充套件
比如“家常菜”居然是個電視劇!
查詢詞分類:
查詢詞-->查詢糾錯、規則化、知識詞表-->Uni-gram, Bi-gram, CRF, 語料分類模型-->搜尋結果驗證、垂直搜尋結果驗證-->查詢擴充套件分類結果
查詢擴充套件分類:
查詢詞-->搜尋結果1,2,3,4-->標題分類、摘要分類、網站分類-->結果分類1,2,3,4-->查詢擴充套件分類結果
(針對每個搜尋結果,驗證一下查詢意圖強度和類別)
需要配合持續更新的語料,就可以通過流程自動更新
比較可行的方法如:
先到軟體下載站
把排行榜的TOP 100拖下來(這些都有軟體下載的查詢需求)
搜尋一遍,然後每個取前50個搜過結果
作為一個5000大小的語料,可以訓練
可以持續、自動更新
搜尋意圖識別未來
無類別概念的意圖識別
基於垂直搜尋的分類模型,而非基於類別的分類模型,幫助使用者獲取想要的內容而不限定類別
比如將 類別和網站本身 建立聯絡,直接在網站內部的資料庫中搜索
個性化意圖上下文分析
根據使用者特徵建立個性化的資訊,獲取使用者的短期興趣和長期興趣,準對性的優化意圖識別
精準意圖理解
更加精準的意圖理解,所有價值資訊的解析,目前的展現多為整體展現,可以再進一步來生成個性展現
語言應用的意圖理解
針對語言類應用的特點優化,比如語言糾錯,個性資訊的輔助意圖識別等
通用搜索VS垂直搜尋
通用搜索特點:
抓取網際網路上一切有價值的頁面,同意建立索引,以關鍵字匹配為基本檢索方式,以網頁title和summary為展現方式
google, 百度,搜狗,搜搜,有道
垂直搜尋特點:
以一特定類別為主題,只抓取與主題相關資訊,根據主題特點有針對性的建立相應的索引檢索方式,篩選方式,以及展現方式
機票搜尋,地圖搜尋,購物搜尋(一淘)……
解決方法:通用搜索引擎 + 垂直搜尋引擎
意圖識別
意圖搜尋的難點:
輸入不規範
輸入方法多樣化
非常不規範
有堆砌關鍵詞
自然語言查詢
甚至非標準自然語言
多意圖
如:仙劍奇俠傳
遊戲?--> 遊戲軟體?……
電視劇?--> 電視劇下載?相關新聞?……
電影?--> 電影下載?檢視影評?劇情介紹?……
音樂?--> 歌曲下載?線上聽歌?歌詞下載?……
小說?--> 小說下載?線上觀看?……
意圖強度
如:荷塘月色
荷塘月色歌曲 --> 歌曲下載:50%
荷塘月色小區 --> 房產需求:20%
荷塘月色菜 --> 菜譜需求:10%
結果可靠性
供我們獲取搜尋結果的這些垂直站點往往是一些中小型的網站,我們需要保證搜尋結果的準確性和相關性
如:遙控汽車
預期結果:返回所有遙控汽車的相關結果
實際返回:
遙控汽車--> 沒有遙控汽車相關結果
遙控--> 返回遙控器,遙控飛機等於原意圖無關的結果
汽車--> 返回汽車模型,汽車配件等於原意圖無關的結果
(比如京東就是這麼拆搜尋詞的)
時效性
如:iPhone5 7月1日上市銷售
6月30日的查詢意圖:新聞90%,百科10%
7月1日的查詢意圖:新聞70%,購買25%,百科5%
8月1日的查詢意圖:購買50%,資訊40%,其他10%
5年以後的查詢意圖:百科100%
詞表窮舉法:
最簡單直接的方法,通過詞表的直接匹配來獲取查詢意圖,也可加入適用於較為簡單且查詢較為集中的類別,比如電視臺節目查詢,節假日查詢,餐館查詢等
如:北京的天氣怎麼樣啊
(停用詞替換) --> [北京][天氣][怎麼樣]
(查詢詞歸一) --> {城市][關鍵詞][疑問詞]
(順序無關) --> {[城市], [關鍵詞], [疑問詞]}
給出白名單:
規則解析法:
適用於一些查詢雖然不集中但非常符合規則的類別,通過規則解析查詢來做意圖識別和關鍵資訊提取的,比如匯率查詢,計算器,度量衡等
如:236.2美金能換多少RMB?
[236.2][美金][今天]能換多少[人民幣]?
[數字][貨幣單位][日期]能換多少[貨幣單位]?
★通過知識圖表,來替換/對應/歸一
解析:
數量:236.2
源貨幣:美元(不再是“美金”)
目的貨幣:人民幣
★配合自己建立的一些語言模型,可以比較好的解決召回率比較低的問題
模型訓練的比較好的話,相對召回也很不錯
但是比如購物啊什麼的,是無法做這種資訊模型的
統計模型分類法:(最常用)
查詢詞分類:基於查詢詞本身的分類,也就是建立基於字面意思的統計分類模型
查詢詞擴充套件分類:基於查詢詞的擴充套件資訊的分類,也就是基於真實社會知識的分離,通常是搜尋結果擴充套件
比如“家常菜”居然是個電視劇!
查詢詞分類:
查詢詞-->查詢糾錯、規則化、知識詞表-->Uni-gram, Bi-gram, CRF, 語料分類模型-->搜尋結果驗證、垂直搜尋結果驗證-->查詢擴充套件分類結果
查詢擴充套件分類:
查詢詞-->搜尋結果1,2,3,4-->標題分類、摘要分類、網站分類-->結果分類1,2,3,4-->查詢擴充套件分類結果
(針對每個搜尋結果,驗證一下查詢意圖強度和類別)
需要配合持續更新的語料,就可以通過流程自動更新
比較可行的方法如:
先到軟體下載站
把排行榜的TOP 100拖下來(這些都有軟體下載的查詢需求)
搜尋一遍,然後每個取前50個搜過結果
作為一個5000大小的語料,可以訓練
可以持續、自動更新
搜尋意圖識別未來
無類別概念的意圖識別
基於垂直搜尋的分類模型,而非基於類別的分類模型,幫助使用者獲取想要的內容而不限定類別
比如將 類別和網站本身 建立聯絡,直接在網站內部的資料庫中搜索
個性化意圖上下文分析
根據使用者特徵建立個性化的資訊,獲取使用者的短期興趣和長期興趣,準對性的優化意圖識別
精準意圖理解
更加精準的意圖理解,所有價值資訊的解析,目前的展現多為整體展現,可以再進一步來生成個性展現
語言應用的意圖理解
針對語言類應用的特點優化,比如語言糾錯,個性資訊的輔助意圖識別等