Query詞權重方法(1) - 基於語料統計

query詞權重(term weighting)是為了計算query分詞後,每個term的重要程度。常用的指標是tf*idf(query中term的tf大部分為1),即一個term的出現次數越多,表明信息量越少,相反一個term的次數越少,表明信息量越多。但是term的重要程度並不是和term的出現次數呈嚴格單調關係,並且idf缺乏上下文語境的考慮(比如“windows”在“windows應用軟件”中比較重要,而在“windows xp系統iphone xs導照片”的重要性就比較低)。詞權重計算作為一種基礎資源在文本相關性,丟詞等任務中有著重要作用,其優化方法主要分為下面三類:

1)基於語料統計

2)基於點擊日誌

3)基於有監督學習


本文首先介紹一些基於語料統計的計算方法。


一、imp(importance的縮寫)

idf的一個缺點是僅僅依靠詞頻比較,imp從在query中的重要性佔比基礎上,採用迭代的計算方式優化詞的靜態賦權,其計算過程如下:

Query詞權重方法(1) - 基於語料統計

其中BT為term的imp值,初始值可設為1,Tmp_i是query中的第i個term的重要性佔比,N指所有包含第i個term的query數目。


二、DIMP(Dynamic imp)

idf和imp的一個共同缺點是其都是靜態的賦權。DIMP根據query的上下文計算每個term的動態賦權,其主要假設是任意query中的詞權重可以由相關query 的詞權重來計算,計算過程可分為兩部分:

1) 自頂向下的query樹構建

根據實際場景中採用不同的構建方法,這裡介紹一種在搜索中的做法。如下圖,給定query作為根節點,首先獲取query的相關query作為第二層節點,在第二層的基礎上,枚舉相關query的子query作為第三層節點,最後一層為分詞後的term節點。因此query樹種的節點都是不同粒度的文本串,邊都是文本串間的相關關係。在拍賣詞推薦任務中,用戶query都是比較短的關鍵詞,其可以通過拍賣詞間的共同購買關係構建對應的query樹。


Query詞權重方法(1) - 基於語料統計


2) 自底向上的term weight計算

在生成query樹後,葉節點的term可以賦上靜態imp值,然後自底向上的計算query中的某個term的權重,其遞歸計算公式如下:

Query詞權重方法(1) - 基於語料統計

在imp向上傳播中,不同的中間節點和邊對詞權重的貢獻度是不一樣的。因此需要一種策略去考慮節點和邊的權重。同樣不同的場景也有不同的計算方法,對應到上述公式中,分別對應葉子節點的初始權重,中間非葉子節點的權重,邊的權重。


節點邊普通搜索qv或satisfy=log(search)*(click/search)兩個query間的相似度或query間共點擊次數;

拍賣詞推薦


拍賣詞的購買次數兩個拍賣詞的共同購買次數


下表給出不同詞權重方式的對比結果,從結果可以看出,IMP和DIMP相比於IDF的weight更合理一些。但是DIMP存在部分query的樹因此數據比較稀疏長尾很難建立有意義的query樹。實際業務中,可以先嚐試imp值,在場景合適的情況下,可以嘗試DIMP方法。


Query詞權重方法(1) - 基於語料統計


分享到:


相關文章: