論文:http://sigir-ecom.weebly.com/uploads/1/0/2/9/102947274/paper_8.pdf
問題
有些query其實(shí)在eBay上有很多相關(guān)的商品,但是這些query搜索返回的結(jié)果沒有或很少。
模型
用更激進(jìn)的query改寫來搜索返回更多的商品
用query改寫系統(tǒng)將原始query標(biāo)準(zhǔn)化成多個替代query來提升召回率,并且保證不改變真實(shí)搜索意圖。
去掉不重要term的算法
適用長query
將長query縮短成多個短的候選query來提高召回率,并且保證與原始query意圖保持一致

- query理解
(1) 從eBay的結(jié)構(gòu)化目錄中挖掘出實(shí)體字典
(2) 與字典匹配識別出實(shí)體:包括商品品牌、商品名稱、顏色、材料、型號、度量單位
(3) 對term進(jìn)行詞性標(biāo)注
(4) 從用戶query日志中挖掘出詞組phrase,保證同一phrase里的term同時去掉或者同時保留 - 生成候選改寫
第一級:商品品牌、商品名、第一個名詞詞組phrase
第二級:商品屬性(顏色、材料)、度量單位、形容詞
第三級:停用詞、連接詞
拼接組合第一級和第二級生成改寫query,相當(dāng)于去掉不重要的第三極term - 多個候選改寫排序
打分算法
商品品牌消歧
存在商品品牌歧義問題,如"white"或者"1928"

B是q的某一個term,P(B|q)表示q中的term B是商品品牌的概率
C_i是第i個購物類別,其實(shí)是隱變量。
P(B|C_i)可以直接從eBay的存貨清單中計算出來
打分算法
考慮因素:改寫后query的長度、質(zhì)量
包含更多品牌或名詞的改寫query要比包含更多形容詞的改寫query的得分要高
總得分計算公式
score=w1 * tagging score+w2 * click score
其中的權(quán)重w1、w2是最大化discounted cumulative gain (DCG)的優(yōu)化結(jié)果
tagging score是給評為這個tag的所有item都打固定的分?jǐn)?shù)
因?yàn)樗阉鞣祷厣唐窙]有或很少的query,很多都包含拼寫錯誤的單詞。所以用交叉熵來計算click score,然后根據(jù)分值來排序

其中r是query中token搜索返回文檔數(shù)。P(click|r)是從搜索沒有返回商品的query的大量樣本中計算出來的
替換term的算法
適用短query
從用戶行為和語言模型中學(xué)出term替換算法
query q0=(w1,...,wm),包含m個單詞
從用戶行為日志中為每個單詞wi生成候選改寫單詞,然后生成候選改寫query C(q0)
候選改寫query的概率是P(q0|q1)P(q1)
概率最高的就是最好的改寫query

其中P(q0|q1)是噪音信道模型得出的概率
P(q1)是n-gram語言模型得出的概率
給噪音信道模型增加權(quán)重,乘以r次冪

噪音信道模型
P(q0|q1)描述了原始query q0被q1替換的概率
從用戶同一搜索session中搜集替換term的query對
假設(shè)query q0改寫成query q1只替換了其中一個token,所以

計算概率P(wi|wi')也要考慮到P(wi|wi'=wi),其實(shí)P(wi|wi'=wi)的計算公式如下

語言模型
n-gram語言模型,由于query中包含的單詞是稀疏的,所以這里使用2-gram語言模型
語言模型單單從query中構(gòu)建,只建立query的語言模型
語言模型概率為

用的2-gram,所以
P(w1,...,wm)=P(w1)P(w2|w1)
在電商搜索場景下,query的詞序影響不大
"case iphone"跟"iphone case"的意思幾乎相同
后向2-gram語言模型

其中加了參數(shù)r
用的2-gram,所以
P(w1,...,wm)=P(w2|w1)*P(w1|w2)^r
為了防止過度替換over-replace的問題,不只挑選概率最大的改寫query,而是返回概率大于原始query的所有改寫query。
看論文時的疑問
電商垂直搜索場景下的idea能否適用大搜環(huán)境
感覺這篇電商垂直搜索場景下的idea不調(diào)整的話,不適用于大搜環(huán)境,需要經(jīng)過大的調(diào)整才能適用大搜環(huán)境
在電商垂直搜索場景下,商品的屬性也被認(rèn)為是實(shí)體,比如商品的品牌、材料、顏色、形狀、性別等,而大搜環(huán)境對實(shí)體的識別應(yīng)該沒有這么細(xì)。
而且論文中用到的模型:去掉不重要term的算法,直接是將拼接組合第一級和第二級來生成改寫query,相當(dāng)于去掉了不重要的第三級term。而這里的第一級與第二級的定義不適用于大搜環(huán)境。而且商品品牌消歧也是屬于電商領(lǐng)域的。
品牌消歧涉及到的P(C_i|q)模型如何訓(xùn)練和預(yù)測
應(yīng)該是eBay不愿意透露訓(xùn)練的具體細(xì)節(jié)
P(C_i|q)是query屬于購物類別C_i的概率,感覺直接用了個分類模型,然后帶有概率。
如果商品品牌有歧義的很少的話,是否直接用一個有歧義品牌的list,而不用專門建立一個品牌消歧的模型
感覺可以將兩者結(jié)合,將歧義品牌放在list里,然后來了一個query之后,先判斷是否包含list中的string,如果不包含,則直接跳過品牌消歧模型,如果包含,則再用品牌消歧模型來判斷query中包含的這個string是否是品牌
公式(2)的P(click|r)為什么是用null query的樣本計算,而不是用null and low query的樣本計算
沒有具體解釋,應(yīng)該是eBay不愿意透露具體細(xì)節(jié)
如何從用戶行為日志中為每個單詞wi生成候選改寫單詞
應(yīng)該是eBay不愿意透露具體細(xì)節(jié)。感覺應(yīng)該是從用戶日志中,找到相似(比如:用戶同一搜索session中的多個query不相同的單詞可以認(rèn)為是相似的單詞)的單詞pair對,然后進(jìn)行單詞替換。