搜索意圖識別淺析[轉(zhuǎn)載]

對于搜索引擎來講,很多情況下只需要用戶在搜索輸入框內(nèi)輸入所需要查詢的內(nèi)容就可以了,其余的事情就全部交給搜索引擎去處理。理想的情況下,搜索引擎會優(yōu)先返回用戶想要的結(jié)果。理想很豐滿,但總會存在一些骨感的現(xiàn)實(shí),用戶通過搜索無法找到最想要的結(jié)果。如果應(yīng)用中壓根不存在用戶搜索的內(nèi)容,倒還可以理解。反之的話,就是一個大寫的尷尬。本文主要談?wù)摵徒鉀Q的是令人尷尬的問題。

為什么會搜索不到

1、不同的用戶對同一種訴求的表達(dá)往往是有差別的,往往會存在一種比較常見的現(xiàn)象,用戶輸入的query并不能清晰準(zhǔn)確的表達(dá)需求。

2、搜索系統(tǒng)對用戶query的理解能力較弱,無法挖掘出用戶的真實(shí)需求。

3、召回結(jié)果集的排序不合理,可能用戶需求的內(nèi)容被排在后面而未曝光。

以上幾點(diǎn)大概是用戶無法找到需求內(nèi)容的主要原因,本文主要討論的是前兩點(diǎn),主要是想解決如何更好的理解用戶的需求并進(jìn)行準(zhǔn)確的召回,進(jìn)而對第三點(diǎn)所涉及到的排序起到積極作用。

用戶作為一個使用主體,其知識水平和表達(dá)能力會有差異,當(dāng)不同用戶想搜索同一個商品時所輸入的query會存在差別,具體如下所示:

image

可見,對于同一個商品往往會對應(yīng)不同的query,相對精確的有“蔓越莓膠囊歐洲”、“blackmore蔓越莓”;品牌優(yōu)先的有“blackMores”;功效優(yōu)先的有“女士痛經(jīng)”,”泌尿系統(tǒng)感染”;輸入錯誤的有”蔓越梅”,輸入別名的有”圣潔莓”;輸入較模糊的有“婦科”,“炎癥”。所以說用戶的輸入一般會存在表達(dá)差異,詞匯差異,需求明確性差異等。

要想解決這些問題就需要通過用戶輸入的query來獲取用戶的真實(shí)需求,本文把對用戶輸入的理解稱為QueryParser,包含:query切分(分詞),query意圖識別,query改寫(query擴(kuò)展/query糾錯/query刪除等),接下來本文主要針對query意圖識別和query改寫結(jié)合在考拉海淘搜索中的具體應(yīng)用來和大家聊聊。

1.query意圖識別

本文主要針對垂直搜索進(jìn)行介紹,不同的垂直引擎中的query會有自己的特點(diǎn)。像去哪兒網(wǎng)的日志中肯定有很多“城市a到城市b的機(jī)票”這種pattern的query,而電商網(wǎng)站中肯定大部分是“產(chǎn)品/品牌/型號/款式/價格”等類型數(shù)據(jù)的組合,音樂類應(yīng)用中大部分應(yīng)該是藝人和歌曲名相關(guān)的query。相比通用搜索而言,垂直搜索可能更針對性的挖掘用戶的意圖。

1.1意圖識別的難點(diǎn)

1、輸入不規(guī)范,前文中已有介紹,不同的用戶對同一訴求的表達(dá)是存在差異性的。

2、多意圖,查詢詞為:”水”,是礦泉水,還是女生用的化妝水。

3、數(shù)據(jù)冷啟動。當(dāng)用戶行為數(shù)據(jù)較少時,很難獲取準(zhǔn)確的意圖。

4、沒有固定的評價標(biāo)準(zhǔn)。pv,ipv,ctr,cvr這種可以量化的指標(biāo)是對搜索系統(tǒng)總體的評價,具體到用戶意圖的預(yù)測上并沒有標(biāo)準(zhǔn)的量化指標(biāo)。

1.2 意圖識別的方法

1.2.1 詞表窮舉法

這種方法最簡單暴力,通過詞表直接匹配的方式來獲取查詢意圖,同時,也可以加入比較簡單并且查詢模式較為集中的類別。

  • 查詢詞:德國[addr] 愛他美[brand] 奶粉[product] 三段[attr]
  • 查詢模式:[brand]+[product];[product]+[attr];[brand]+[product]+[attr]

當(dāng)然查詢模式是可以做成無序的。這種意圖識別的方式實(shí)現(xiàn)較為簡單,能夠較準(zhǔn)確的解決高頻詞。由于query一般是滿足20/80定律,20%的query占據(jù)搜索80%的流量。但是,80%得長尾query是無法通過這種方式來解決的,也就是說這種方式在識別意圖的召回可能只占20%。同時,需要人工參與較多,很難自動化實(shí)現(xiàn)。

1.2.2 規(guī)則解析法

這種方法比較適用于查詢非常符合規(guī)則的類別,通過規(guī)則解析的方式來獲取查詢的意圖。比如:

  • 北京到上海今天的機(jī)票價格,可以轉(zhuǎn)換為[地點(diǎn)]到[地點(diǎn)][日期][汽車票/機(jī)票/火車票]價格。
  • 1噸等于多少公斤,可以轉(zhuǎn)換為[數(shù)字][計(jì)量單位]等于[數(shù)字][計(jì)量單位]。

這種靠規(guī)則進(jìn)行意圖識別的方式對規(guī)則性較強(qiáng)的query有較好的識別精度,能夠較好的提取準(zhǔn)確信息。但是,在發(fā)現(xiàn)和制定規(guī)則的過程也需要較多的人工參與。

1.2.3 機(jī)器學(xué)習(xí)方法

意圖識別其實(shí)可以看做是一個分類問題,針對于垂直產(chǎn)品的特點(diǎn),定義不同的查詢意圖類別。可以統(tǒng)計(jì)出每種意圖類別下面的常用詞,對于考拉海淘而言,可以統(tǒng)計(jì)出類目詞,產(chǎn)品詞,品牌詞,型號詞,季節(jié)時間詞,促銷詞等等。對于用戶輸入的query,根據(jù)統(tǒng)計(jì)分類模型計(jì)算出每一個意圖的概率,最終給出查詢的意圖。 但是,機(jī)器學(xué)習(xí)的方法的實(shí)現(xiàn)較為復(fù)雜,主要是數(shù)據(jù)獲取和更新較困難,數(shù)據(jù)的標(biāo)注也需要較準(zhǔn)確才能訓(xùn)練出較好地模型。

2. query意圖識別在考拉海淘中的應(yīng)用

考拉海淘是一個電商類的產(chǎn)品,目前其搜索意圖相對單一為產(chǎn)品購買。本文主要討論考拉海淘中用到的query改寫,類目相關(guān),命名實(shí)體識別和Term Weight等內(nèi)容。 考拉的搜索系統(tǒng)有大量的用戶訪問,我們希望通過對用戶query的意圖分析來提高搜索體驗(yàn),目前,考拉系統(tǒng)的架構(gòu)包含下圖所示的幾個部分:
image

2.1 實(shí)體詞識別

通過對日志分析,將用戶常用的搜索詞分為以下四類:地址(澳洲),品牌詞(愛他美),產(chǎn)品詞(奶粉),屬性詞(三段)。當(dāng)用戶輸入query時,如果能準(zhǔn)確的識別每個實(shí)體詞,就能去索引里面精確匹配對應(yīng)的字段,從而提高召回的準(zhǔn)確率,在排序中也可以用到實(shí)體詞進(jìn)行優(yōu)化。 舉一個栗子:有一個商品的標(biāo)題是”AYAM BRAND 雄雞標(biāo) 辣椒金槍魚“,它的類目是“冷面/熟食/方便菜 其他熟食”。當(dāng)用戶搜“辣雞面”的時候,通過單字邏輯召回這款商品。通過實(shí)體識別會得到這個商品的產(chǎn)品詞是“金槍魚”,而query要搜的產(chǎn)品詞是“面”。這樣就可以判斷出其實(shí)這是一個誤召回,進(jìn)而可以將這個商品進(jìn)行過濾或者是排序的時候放到較后的位置。

我們的實(shí)體詞識別模型是通過crf來進(jìn)行訓(xùn)練的,語料是用戶搜索的真實(shí)query,用一個相對準(zhǔn)確的詞典(品牌詞/產(chǎn)品詞/屬性詞/地址詞)去標(biāo)注語料。具體的標(biāo)注預(yù)料如下所示:

  • 愛 B-brand 他 I-brand 美 I-brand 奶 B-product 粉 I-product 三 B-attr 段 I-attr

訓(xùn)練出的模型對于地址,品牌詞,產(chǎn)品詞的識別準(zhǔn)確率平均95%左右,英文屬性詞的識別準(zhǔn)確率還有待提高,crf模型還有一個比較好的地方是具有一定的泛化能力。另外,模型的訓(xùn)練是使用考拉平臺上的商品數(shù)據(jù),所以對非考拉平臺的產(chǎn)品和品牌識別的準(zhǔn)確率也不理想。但是,最重要的是識別本平臺已有的實(shí)體,盡可能準(zhǔn)確的向用戶展示最準(zhǔn)確的商品搜索結(jié)果。

2.2 query改寫

query改寫包括:query糾錯,query擴(kuò)展,query刪除,query轉(zhuǎn)換。本文主要討論在考拉中常用的query擴(kuò)展,query刪除和query轉(zhuǎn)換。

2.2.1 query擴(kuò)展

搜索召回依賴索引數(shù)據(jù),商品數(shù)據(jù)依賴于編輯運(yùn)營的錄入,數(shù)據(jù)的完整性很難得到保障,也就是說很難從各個角度來描述這個商品。

還是用例子說明,一個商品的標(biāo)題是“Fisher-Price 費(fèi)雪 碎花兒童學(xué)步鞋”,由于用戶輸入的差異性存在,會有用戶搜索”嬰兒鞋”,”寶寶鞋”。很明顯這個學(xué)步鞋恰恰用戶所需的商品,但是因?yàn)閿?shù)據(jù)的不完整性而無法被召回。這就是前文提到的有商品卻無法展示給用戶,這是最不希望遇到的情況。這時候就需要用到query擴(kuò)展,我們會維護(hù)一個同義詞擴(kuò)展表,當(dāng)用戶輸入一個query的時候,會進(jìn)行同義詞擴(kuò)展,從而盡可能召回所有與用戶相關(guān)的商品。

2.2.2 query刪除

query刪除一般的應(yīng)用場景是在當(dāng)用戶輸入query過多時導(dǎo)致無法正常召回,可以通過丟詞的方式來篩選用戶的query,從而召回與query最相關(guān)的商品。

依舊用例子說明,當(dāng)用戶的query為”卡樂比水果麥片”時,由于這款商品可能被下架,或者商品種類較少,通過query刪除,可以把原query改寫為“水果麥片”,進(jìn)而可以召回其他品牌的水果麥片。query刪除是需要用到實(shí)體識別的,因?yàn)橐獩Q定query中的哪些數(shù)據(jù)被刪除才能對用戶原意圖造成的影響最小。像”卡樂比水果麥片”,通過意圖識別得到”卡樂比“是品牌,”水果麥片“是產(chǎn)品,顯然用戶更需要的是水果麥片,而不是“卡樂比”其他類型的麥片。

2.2.3 query轉(zhuǎn)換

會存在這樣一種情況,確實(shí)沒有商品是滿足用戶的明確需求。 比如,用戶搜索”祖馬龍”,考拉海淘并沒有這款商品。也無法通過query同義詞擴(kuò)展和query刪除來對原query進(jìn)行處理。通過session數(shù)據(jù)可以發(fā)現(xiàn),用戶搜索“祖馬龍”后會伴隨著“香水”這個query出現(xiàn),利用用戶行為數(shù)據(jù)是可以挖掘出“祖馬龍”和”香水”這兩個query是相關(guān)的。當(dāng)用戶搜索”祖馬龍”而無法召回時,是可以把query轉(zhuǎn)換為”香水”來盡可能滿足用戶的需求。

2.3 類目相關(guān)

當(dāng)用戶搜索“Adidas”的時候,是想要搜索“運(yùn)動鞋”,還是“衣服”,又或者是“沐浴露”。當(dāng)然,你可能說不同的用戶有不同的需求,這就涉及到個性化搜索的內(nèi)容了,暫時不在本文的討論范圍內(nèi)。如果用戶行為數(shù)據(jù)足夠多,直接使用統(tǒng)計(jì)分析就可以找到query對應(yīng)的類目相關(guān)程度。當(dāng)然,統(tǒng)計(jì)算法也是機(jī)器學(xué)習(xí)的一種。但是,仍有一部分問題是需要機(jī)器學(xué)習(xí)算法來完成的。

通過對用戶行為數(shù)據(jù)的挖掘,發(fā)現(xiàn)“Adidas”對應(yīng)的類目相關(guān)性排序?yàn)椋哼\(yùn)動鞋>衣服>沐浴露。當(dāng)用戶搜索“Adidas”的時候,會按照類目相關(guān)性的順序,將運(yùn)動鞋排在最前面。當(dāng)然,考慮到多樣性,排序時會通過類目打散將衣服和沐浴露適當(dāng)?shù)膿诫s在運(yùn)動鞋中。

query的類目相關(guān)性是通過用戶行為數(shù)據(jù)進(jìn)行挖掘的,一些長尾的類目雖然與query相關(guān),由于馬太效應(yīng)卻無法被挖掘。比如query“面膜”所挖掘出的相關(guān)性類目為“男士面膜”/“女士面膜”/“面膜粉”等,而“孕婦面膜”這個類目卻一直處于不相關(guān)的狀態(tài)。其實(shí),“男士面膜”/”女士面膜”/”面膜粉”/“孕婦面膜”在”面膜”這個維度都是相關(guān)的,我們通過虛擬類目的做法來解決這種長尾問題。離線將這四個類目歸一為一個虛擬類目,當(dāng)用戶的query落在虛擬類目中的大部分類目時,認(rèn)為這個query與虛擬類目包含的其他類目也具有相關(guān)性。

2.4 Term Weight

中文自然語言處理的第一步就是分詞,分詞的結(jié)果中,每個詞的重要性顯然應(yīng)該時候區(qū)別的。Term Weight就是為了給這些詞不同的打分,根據(jù)分值就可以判斷出核心詞,進(jìn)而可以應(yīng)用到不同的場景。比如,有一個商品的標(biāo)題為“碗裝保溫飯盒套裝”,通過Term Weight可以得到核心詞為“飯盒”。當(dāng)用戶搜”碗”召回這個商品的時候,是可以根據(jù)term weight來進(jìn)行排序降權(quán)的。

通過以上幾點(diǎn)可以看出,query意圖識別在一個搜索系統(tǒng)中是必不可少的,可以說query意圖識別的精確程度高低決定著一次搜索質(zhì)量的優(yōu)劣。

原文來源: https://www.tuicool.com/articles/aIby6be

相關(guān)鏈接:

https://www.cnblogs.com/bonelee/p/7000113.html
http://blog.csdn.net/wishchin/article/details/44997311

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容