張曦++閆軍民
摘 要:隨著廣電運營商雙向業務的不斷發展,為解決用戶無法從海量內容中快速找到喜愛節目的問題,協同過濾個性化推薦技術在廣電領域得到了關注和應用。通過一個改進的K-means聚類算法對相似用戶(簇)有效聚類,在為用戶準確快速智能推薦感興趣的電視節目取得了良好的效果。
關鍵詞:個性化推薦;協同過濾;聚類;廣電運營
1 背景
近年來,廣電運營在高清、互動電視平臺的建設方面取得了長足的進步,包括點播、時移、回看、資訊信息在內的大量交互業務在各地紛紛上馬,大大改善了各地電視用戶的收視體驗,同時也為運營商平臺化進行了深入的探索和驗證。個性化推薦技術是解決上述問題的重點方案之一,通過主動把熱點內容、最新內容或者用戶喜好的內容推送給用戶,用戶無需進行繁瑣的內容瀏覽,就能快速定位到自己感興趣的內容,一方面提升了用戶體驗,另一方面也大大增加了運營商投資購入的節目內容的長尾效應[1]。本文針對廣電家庭用戶個性化推薦技術的難點,重點討論利用協同過濾推薦技術與注重速度和精度的智能聚類算法來為用戶精準推薦和推送其感興趣的節目內容。
2 協同過濾推薦技術
2.1 協同過濾算法分類
隨著協同過濾技術在電子商務領域的廣泛應用,協同過濾算法主要分為基于內存、基于知識、基于模型和混合式推薦等,其中各種算法各有千秋,只能根據自身的實際情況選擇適合自身的算法。
2.2 聚類技術
一種基于用戶相似度矩陣實現近線分析的算法簡單描述為新物品上線后,通過門戶Portal、選單、榜單及非個性化推薦方式被老用戶收看后,可以基于系統通過用戶協同過濾算法得到的用戶相似度矩陣,將新物品推薦給與收看過該物品的用戶相似的其他用戶[3]。通過這種基于相似群體(簇)推薦的方式,可以將新物品的推薦能夠快速推薦給大量老用戶。
而聚類技術就是將有共同特性的項目或事物聚集在一起,在該模型中通過將有共同興趣愛好的用戶聚集在一起,認為該聚集簇中的目標用戶與鄰居用戶有相同的產品風格喜好,從而就可以向目標用戶推薦鄰居用戶喜好的商品,這種模型推薦算法不僅可以推薦用戶所喜歡已知種類的商品,還可以向用戶推薦用戶可能會喜歡的新鮮商品。
3 k-means聚類算法
3.1 K-means聚類算法原理
K-means的算法原理是:首先從數據集(包含N個數據樣本點)中隨機選擇k個數據樣本點作為初始聚類中心,對于剩余的(N-k)個其他數據樣本點,分別將他們分配給距離那k個中心簇最近(相似度最大)的簇中,然后再分別重新計算他們的聚類中心(即該簇中所有數據樣本點的均值),不斷重復這一過程,直到聚類中心不再改變,標準測度函數開始收斂為止。否則繼續迭代執行聚類,其算法描述如下:
輸入:數據集(包含N個數據樣本點),初始k個數據簇中心。
輸出:滿足終止迭代條件的k個數據簇。
3.2 基于k-means算法的用戶聚類
現實生活中,相似的用戶有共同的用戶特征、喜好特征、行為特征,而非相似用戶的用戶特征、喜好特征、行為特征等也都大相徑庭。具體來講,從用戶特征可以從這幾個大的方面來進行區分,比如說,性別,年齡,職業,學歷等多方面,一般來說,不同學歷的人,由于他們對知識基礎的積累層次不一,導致他們選擇不同的分別適合他們自己的電視節目對象,相似的用戶群體他們的職業、年齡或者其他方面具有一定的相似性,導致他們選擇了共同的電視節目。從喜好特征來講,有相同愛好的用戶,自然他們在選擇電視節目對象時,很有可能選擇同一個對象。從行為特征來講,兩個有相似行為特征的用戶很有可能選擇的電視節目對象也是同一類,所以在本文中,我們認為相似的用戶在選擇電視節目對象時也具有一定的相似性,所以我們根據用戶訂閱過的電視節目對象便可以將相似的用戶聚類。
4 改進的K-means算法
4.1 改進策略
(1)計算出數據集中N個樣本點兩兩之間的距離(本文衡量的是相似度)dis(),找到滿足的兩個樣本點d1和d2,并將它們設為初始兩個聚類中心。
(2)在剩余的(N-2)個樣本點中,選取滿足
的樣本點d3作為第三個初始聚類中心樣本點,其中,di是除去數據集中樣本點d1、d2、d3的任意一個樣本點。
(3)依此類推,直到剩余的(N-k+1)個樣本點中,選取滿足
的樣本點dk作為第k個初始聚類中心樣本點,其中,di是除去數據集中樣本點d1,d2,…dk的任意一個樣本點。
(4)對于數據集中剩余的(N-k)個樣本點,計算每個樣本點與上面求得的k個聚類中心樣本點之間的距離,并將這些樣本點歸入距離其最近的聚類中心簇中。
(5)重新計算k個數據簇的聚類中心值和標準測度函數,中心值為該簇類所有樣本點的平均值,其計算公式為,標準測度函數為,其中,nj為第j類中的數據樣本點個數,為聚類子類Dj的數據樣本點。;
(6)如果滿足(表示子類簇中樣本點的誤差平方和已經收斂)或達到了最大的迭代次數,表示子類樣本成員不再發生變化,就可以結束聚類。否則,返回4)步驟繼續迭代,其中,是一個任意小的數,E1與E2代表前后兩次迭代的測度函數值。
4.2 相似特征用戶聚類算法流程
通過建立的矩陣模型對相似特征用戶進行聚類,首先,根據用戶與電視節目資源對象標簽之間的訂閱關系來建立矩陣模型,根據這個矩陣模型可以獲得所有的數據集樣本點,矩陣的每行數據代表一個樣本點,且每個樣本點都是高維的,然后就是對該海量數據集應用k-means聚類算法來對相似用戶(簇)聚類,然而由于K-means算法對初始聚類中心點比較挑剔,為了合理高效的得到有效的聚類中心點,先采取簡單隨機抽樣算法,在抽樣的數據樣本集中應用改進的最大距離法對初始聚類中心得到優化,同時,將K-means算法中的距離量度換為本文改進的相似度計量方式,最后根據抽樣樣本輸出的K個聚類中心,在總數據集上應用K-means算法,將相似特征用戶進行聚類。
5 應用和展望
利用改進的K-means聚類算法對相似用戶(簇)聚類,采取協同過濾技術為廣電家庭用戶從海量內容中快速找到喜愛節目提供了一個切實有效的解決方案,能夠很好地解決通用個性化推薦技術在廣電業務落地的問題,能夠為廣電用戶迅速提供準確和豐富的推薦內容,并為廣電運營商帶來更多的收益。同時,本文僅提出一種解決思路,在實際落地過程中,由于運營商用戶規模的龐大,由此帶來推薦算法計算規模急劇加大,很多傳統的單機算法并不適用于具體的生產環境, 需要通過大數據平臺、并行計算等技術,對推薦算法實現并行化來解決。