摘 要:隨著網絡技術和電子商務的迅猛發展,各大搜索引擎和電商巨頭都將內容推薦作為目前提高流量和轉化率的關鍵手段。KNN方法作為一種簡單、有效、快速、非參數的分類方法,在用戶購買和瀏覽信息分類方面得到了廣泛的應用。本文介紹了利用KNN原理方法對電商用戶的數據分類的基本方法及內容推薦形式。
關鍵詞:KNN;內容推薦;文本分類
中圖分類號:TB34 文獻標識碼:A 文章編號:1674-7712 (2015) 02-0000-01
在電商運營的過程中,與客戶關聯內容的推薦可以幫助用戶更快地尋找和發現感興趣的信息,從而提升網站內容瀏覽的點擊率,進而提升網站商品的價值轉化。相關內容推薦最常見的兩塊就是“關聯推薦”和“相關內容推薦”,關聯推薦就是我們常說的購物車分析,即使用購買了某商品的用戶同時購買了什么這個規則來發現商品間的潛在聯系;關聯推薦是基于用戶行為分析的推薦,而相關內容推薦是基于內容固有特征的推薦,只與內容本身有關,與用戶的行為完全無關。
一、網站信息內容固有屬性
相關內容推薦因為完全不借助用戶瀏覽行為的數據,所以底層數據不依賴于網站的點擊流日志,唯一的基礎數據就是內容的固有屬性及完整信息。我們以當當網的幾大塊內容為例來看看對于這些內容一般包含哪些固有屬性:書籍-書名、作者、出版時間、出版社、分類、標簽;音樂-專輯名、歌手、發行時間、發行方、風格流派、標簽;電影-電影名稱、導演、演員、上映時間、制片方、類型、標簽等。
網站中很多地方都使用了“標簽”這個詞,用貼標簽的形式來完成內容的分類和標識,但標簽又分為很多種,有些標簽是在內容生成時就被貼上的,有些可能是后續用戶貼上去的,而且網站一般為內容和標簽定義了原始分類,如書籍分為文學、流行、文化等,既然分類和標簽內容源生就帶有,則同樣可以作為內容的固有屬性。基于上述當當網幾類內容的屬性特征,選擇和整理適合分析的內容屬性為:“作者”就是指內容的創造者,“來源”指內容的發布方或獲取渠道,“分類”為內容歸屬的類別,“標簽”可以包含對內容的各類描述信息和關鍵詞等。這里為了能夠盡可能清晰地描述整個分析模型和思路只選取了大部分內容都包含的一些屬性,如果要構建更加高效的相關內容分析模型,需要更完整的內容屬性,可以根據自身內容的特征進行屬性的定義和選取。
二、KNN原理及應用
KNN(K-Nearest Neighbor algorithm),K最近鄰算法,通過計算樣本個體間的距離或者相似度尋找與每個樣本個體最相近的K個個體,算法的時間復雜度跟樣本的個數直接相關,需要完成一次兩兩比較的過程。KNN一般被用于分類算法,在這里我們使用KNN原理思路,即為每個內容尋找K個與其最相似的內容,并推薦給用戶。相當于每個內容之間都會完成一次兩兩比較的過程,如果網站有n個內容,那么算法的時間復雜度為Cn2,即n(n-1)/2。但是用內容固有屬性有一個好處就是因為固有屬性一旦創建后基本保持不變,因此算法輸出的數據一旦計算好便可不斷重復使用,只需更新新增內容的數據;數據的統計計算可以使用增量更新的形式,這樣可以有效地減少服務器的計算壓力。
三、建立相關內容模型
通過上述的基礎數據和原理方法的支持就可以創建數據模型。首先基礎數據的類型,作者、分類、來源和標簽都是字符型,其中作者、分類、來源基本可以作為單個值的屬性,標簽一般包含多個值。由于都是字符可以確定屬性之間相似性的判定只能通過“是否相同”,無法體現數值上的差異,所以對于作者、分類、來源這幾個單值屬性而言,比較的結果就是一個布爾型的度量,相同或者不相同;對于標簽這個多值屬性可以考慮使用Jaccard相關系數,但因為每個內容標簽的個數存在較大差異,使用驗證后的結果并不理想,所以不考慮使用。因此,直接創建加權相似度模型如下,首先是標簽的相似度分值設定:即根據相同標簽數目確定一個相似度的分值(相同標簽數越多分值越大)
將所有屬性加權相似度分值的結果相加應該分布在[0,100],分值越高說明內容間的相似度越高。加權相似度評分模型通過簡單的經驗估計及反復調整和優化,不斷地嘗試調整各屬性的權重系數并輸出結果,抽樣檢驗結果是否符合預期、是否有提升優化的空間。使用一定的算法將以上兩個分值整合計算最終確定一個分值,就是這個商品的最終相似度分值。
基于上述內容間相似度的計算結果,套用KNN的原理實現相關內容推薦就較為簡單了,只要根據每個內容與之比較的所有內容的相似度分值降序排列取前K個內容作為該內容的最相關內容推薦給用戶即可。推薦時會涉及相同相似度分值的內容如何排序的問題(因為模型的關系分值分布可能不會很離散),如果相似度分值相同使用隨機排序,可以保證推薦結果有一定的變化,均勻內容的曝光。在現行的電商推薦算法中通常有更好的應用算法,在提前做好大類的基礎上數據的計算量會明顯下降,僅僅需要按照標簽打分即可,既不用考慮分類,又可對作者等標簽加權,使用簡單的Jaccard相似系數來計算商品之間的相似度,排序后就是推薦相似商品的數據。
參考文獻:
[1]于亞飛,周愛武.一種改進的DBSCAN密度算法[J].計算機技術與發展,2011(02).
[2]周巍巍.網絡爬蟲網頁庫智能更新策略分析與研究[J].電腦知識與技術,2010(31).
[3]黃志紅.基于層次聚類的k均值算法研究[J].電腦開發與應用,2009(07).