搜尋推薦技術在電商導購領域的應用(三):自動分類

佚名發表於2015-11-11

<a href=/tech/biz/ target=_blank class=infotextkey>電商</a>搜尋引擎 電商搜尋最佳化 搜尋推薦技術 搜尋技術

有一個問題需要解決:自動分類。做好個性化商品推薦,商品整理是第一站。類目,是最為基礎的整理。我們需要將每一個商品分到一個具體的類目上去,商品數量龐大,這個過程要自動化,這就是商品自動分類問題。

我們來熱熱身吧,做幾道分類題:

“AppleiPhone6(A1586)16GB金色移動聯通電信4G手機

【第一滴血】so easy,是一個“手機”

“snidel * S家新款王小俊日系蓬蓬裙雙層鬆緊高腰短裙裙褲現貨實拍”

【主宰分類】嗯……應該是“半身裙”,這個要分對就需要動一動腦子

華為 HUAWEI 電源介面卡+資料線 5V/2A快充 USB帶線充電頭”

【分類如麻】這個是“充電器”,來個有點難度的

“福建特產 正宗金冠黑糖話梅糖200g 含上等梅肉 酸甜好滋味”

【無人能擋】這個……是糖果,有沒有更變態的

“美利達勇士公爵500 550 600 650 700挑戰者350可載人行李架後貨架”

【變態分類】 靠關鍵詞聯想已經不夠了,查資料後知這是一個“腳踏車配件”,哈哈,還有誰?!

“比iphone還好用的諾基亞手機的手機套”

【已經超神】這……

你看,解決這個問題並沒有看上去那麼簡單,每個商品標題中不會100%包含類目相關資訊,怎麼破?

分類1.0

我們研發的一代分類技術是比較樸素的,透過對應表+特徵庫來解決。

對應表是一個簡單的配置檔案,儲存(關鍵詞,分類)的對應關係:

“手機” ——> 手機

“牛仔褲” ——> 牛仔褲

…….

特徵詞庫是對應表的升級版(對應表plus?),維護的是(關鍵片語合,分類)的對應關係:

“AppleiPhone6” ——> 手機

“棉麻 小腳 長褲 收腰 鉛筆褲” ——> 休閒長褲

“美利達 勇士 公爵 行李架 貨架” ——> 腳踏車配件

…….

這一整套樣本資料完全由人工整理,分類1.0的程式也很簡單,執行起來嘛……,“看上去”很可靠。首先,分類1.0一切的一切都建立在人工資料基礎上,只要樣本整理的好,分的結果就好,整理的不好就……。其次,人的精力是有限的,如果要大規模標註,就需要維持大規模的運營團隊。最後,人沒有整理過的商品特徵,就沒辦法分好,bug數量處於失控狀態。

隨著資料指標的要求提升,資料集的增長,這套系統已經不堪重負。

分類2.0

因此,我們研發了新系統——分類2.0。分類2.0結合商品資訊的特徵,避免了由於特徵庫對分類帶來的干擾,同時可以保證以較高的效率完成線上分類任務。(分類2.0由我司一枚殿堂級工程師所創作,哎呀,現在回想起來,那一段時光真是令人懷念……)

分類2.0的技術要點

1.使用分詞技術對商品標題資訊分詞處理,使用分詞結果作為商品的特徵tag,用tag來描述該商品

2.過濾沒有意義的tag,保留能夠有效描述該商品的tag

3.利用互資訊計算訓練集資料中,各個分類和該分類中商品所有tag的相關度

4.預測一個新商品的類別時,計算該商品中的所有tag在每個分類中相關度值,使用分類中所有tag相關度值的和作為商品在該分類中的得分

5.得分最高的類別即為該商品的分類

以一個具體的商品處理來說清楚這個流程,:

1.基於商品庫對商品進行分詞處理&過濾無意義詞

如:黑色iphone蘋果手機新上市,分詞&過濾結果為:iphone,手機,黑色

2.利用互資訊計算各分類與其中tag的相關度:

互資訊計算公式:

I(x,y) = log(p(x|y))-log(p(x))

其中:

p(x) 代表 x在所有商品中出現的機率

p(x|y)代表x在類別y中出現的條件機率

下表為10個商品的類別及分詞結果

電商搜尋引擎 電商搜尋最佳化 搜尋推薦技術 搜尋技術

計算示例商品在上面的商品集中,手機類的互資訊

a)機率計算

p(iphone) = 0.1

p(黑色) = 0.4

p(手機) = 0.2

p(iphone |手機) = 0.25

p(手機|手機) = 0.5

p(黑色|手機) = 0.25

b)互資訊計算

I(iphone,手機) = log(p(iphone |手機))-log(p(iphone)) = -1.3863 + 2.3026 = 0.9163

I(手機,手機) = log(p(手機|手機))-log(p(手機)) = -0.6931 + 1.6094 = 0.9163

I(黑色,手機) = log(p(黑色|手機))-log(p(黑色)) = -1.3863 + 0.9163 = -0.47

c) 以此類推,可以算出iphone,手機,黑色三個關鍵詞在3個類別中分別的條件機率以及互資訊

下表為關鍵詞在各個類別中的互資訊

電商搜尋引擎 電商搜尋最佳化 搜尋推薦技術 搜尋技術

3.計算1中示例商品在各個分類中的相關度

Class(手機)= 0.9163+0.9163-0.6932=1.1394

Class(電腦)=0.0+0.0+0.2231=0.2231

Class(服裝)= 0.0+0.0+0.2231=0.2231

4.由3可以看出示例商品分類為“手機”類別

我們用這套分類2.0系統,重新處理所有商品,隨著訓練集的不斷擴充套件,準確率和召回率都在90%以上;同時也解放了運營團隊,他們不需要再每天標記什麼對應表了。

這,就是演算法的力量!一個好的演算法可以極大的提高生產力。透過演算法提升產品流程,需要很強的功力,否則就像篇頭漫畫所表達的,不好的演算法上線後,效果還可能退步。總之,演算法研究就像基礎科學,需長期投入,一旦開花,提升是極大的。

相關文章