馬帥
(武漢郵電科學研究院研究生院,湖北武漢 430000)
互聯網技術的飛速發展帶來了日常在線用戶數與日俱增的紅利,但隨之而來的互聯網信息數據過載問題也日益顯著[1-2]。大量復雜的數據導致用戶難以便捷地鎖定與自身匹配的數字物品,信息的利用率反而呈現負相關。在競爭激烈的互聯網領域,推薦算法的研究就成了高效利用海量數據和提升用戶體驗度的主陣地。當前各類推薦算法研究都取得了一定的進展[3-5],隨著數據變得越來越復雜和多樣,越來越多的非結構化因素需要被考慮到推薦算法中。該文研究了多種推薦算法的改進方法[6-9],考慮到當前信息復雜度高和不規則,因此該文利用物品特征標簽,在協同過濾算法的基礎上進行改進,提高信息利用率、算法準確率和召回率。通過對比傳統基于物品的協同過濾算法和文獻[10]研究的個性化推薦算法進行算法優化驗證。
目前各類商業領域中推薦效果較為理想的算法當屬協同過濾算法,各大應用領域也都有符合自身特點的改進型協同過濾算法[11-13]。協同過濾算法的目標是基于當前用戶的歷史偏好以及其他偏好相似用戶的意見來為當前用戶推薦新物品或者預測當前用戶對特定物品的偏好[14-15]。協同過濾算法從用戶行為日志中提取用戶與物品之間的行為關系,通過算法解析這些關系得到相似用戶或者相似物品,生成用戶喜好列表,對該列表進行過濾、去重、排序后,推薦前N個內容給用戶。
基于用戶的協同過濾算法和基于物品的協同過濾算法是兩種常見的協同過濾算法,接下來將進行介紹。
該算法的核心思想:對于用戶的操作行為,比如不同用戶對同一物品的評分行為,采用相似度量方法計算兩個用戶之間的相似性,得到一個相似用戶的集合。對集合中的用戶進行相似度值的排序,篩選出前K個相似度最高的用戶作為鄰居,在對自己喜好物品進行去重后,將鄰居的喜好物品推薦給用戶,其推薦原理圖如圖1 所示。

圖1 基于用戶的協同過濾算法原理圖
時效性是基于用戶的協同過濾算法的一大特點,對短時間內刷新度高的場景可以表現出很好的適應性。因為基于用戶的協同過濾算法是通過計算用戶之間的相似度進行結果推薦,所以當用戶規模過大時,用戶相似度矩陣計算所產生的計算成本就會很高。而用戶規模過小則會導致稀疏性,無法進行有效的相似度計算。基于用戶的協同過濾算法的拓展性與用戶規模有關[16]。
該算法的核心思想:基于用戶-物品行為數據,先計算出物品之間的相似度,為每一個有過操作行為的物品計算出一個相似物品的集合。然后合并成當前用戶喜好物品相似集合,構造出推薦集合。將推薦值降序排列,選取其中TOP-N個作為推薦結果。其推薦原理圖如圖2 所示。

圖2 基于物品的協同過濾算法原理圖
基于物品的協同過濾算法無需計算用戶相似度,所以對于用戶規模沒有限制,而且推薦結果個性化,可以直接基于用戶喜好程度進行推薦,更具有針對性。因為該算法基于用戶個人的歷史行為,所以只要用戶對產品有過關聯數據,就可以進行推薦操作,但是在數據缺少的情況下,該算法無法生成用戶喜好模型,而且當前用戶行為信息復雜且無規則,如何將信息進行有效利用提升推薦效果成為此算法的局限所在。
該文旨在通過融合特征標簽對基于物品的協同過濾算法加以改進,來解決當前推薦算法的不足。融合特征標簽推薦算法問題描述為:用戶集合U={u1,u2,…,un},電影集合P={p1,p2,…,pn},標簽集合T={t1,t2,…,tn}以及用戶對電影評分集合A={a1,a2,…,an},通過用戶評分集合和電影標簽集合,構建用戶-標簽矩陣,也就是標簽版用戶喜好模型。然后結合影片相似度模型,計算出用戶對電影預測評分vi,s,降序排列用戶對影片預測評分集合Rij后得到推薦結果。
每個用戶感興趣的電影都不同,同一個標簽對于不同的用戶而言,有著不一樣的重要性。用戶喜好的電影可以有多個標簽,一個標簽也可以同時存在于多部電影中。例如一部電影可以有“科幻”“動作”“冒險”等特征標簽,用戶u可能對i部影片感興趣,第i部影片可能擁有g個特征標簽,相關的用戶-標簽矩陣如表1 所示。

表1 用戶-標簽矩陣
因此可以作出這樣的假設:如果用戶行為中關聯到的某個標簽的次數越多,則該用戶對此類標簽的喜好程度越深。用戶喜好模型描述的是用戶對影片的關注程度,其值用M(Tg,un)來表示,根據假設,該值計算方式如式(1)所示:

影片相似度模型描述的是兩部影片之間的相似程度。該值越接近1,則說明兩部影片之間的相似程度越高。假設如果一部影片與用戶操作過的影片相似程度越接近1,則說明該影片對于此用戶存在越高的推薦價值。因為要與實驗數據集的格式相匹配,推薦算法選用余弦相似度計算方式,如式(2)所示:

其中,wn,c是用戶有過操作行為的影片特征向量,wn,s是需求進行相似度計算的影片特征向量。
進行推薦評分計算時,因為要考慮到用戶興趣變化程度,所以只針對用戶前x個操作行為進行評分計算。文中采用的評分計算公式如式(3)所示:

對于每一位用戶,將得到的影片評分列表進行去重過濾降序排序后,取TOP-N個就得到了推薦列表。
融合特征標簽的推薦算法流程描述如下所示:
輸入:用戶集合U,電影集合P,電影標簽集合T,用戶對電影評分集合A。
輸出:用戶對影片的推薦評分Vi,s。
1)對輸入數據進行初步計算,得到用戶總數n,影片總數m,標簽總數ts和用戶標簽總數等。
2)根據1)中的數據建立用戶-標簽矩陣。
3)根據式(2)建立影片相似度模型。
4)根據式(3)對影片進行推薦評分預測。
5)對計算得到的用戶推薦評分預測進行過濾去重。
6)降序排列Rij生成用戶推薦影片列表。
實驗使用的數據集來自著名的數據集網站Movielens,數據集包含用戶數據、電影數據和評分數據。用戶數據包含用戶ID、性別、年齡、職業字段。電影數據包含電影ID、標題及上映年份、電影特征標簽。評分數據包含用戶ID、電影ID、分值和時間戳。
本次使用的數據集大小為100 kB、1 MB、10 MB,用戶數量分別有943 個、6 040 個、71 567 個、電影數量分別有1 682 個、3 900 個、10 681 個、評價數量分別有1 000 條、1 000 209 條、10 000 054 條。實驗選取75%的數據作為訓練數據,剩余的25%數據則作為測試數據。訓練數據用于訓練預測模型,將預測模型應用到測試數據中,將預測的評分與真實值進行比較,誤差越小,評分預測效果越好,反之越差。
推薦算法設計的優良需要進行對比,實驗選用三種經典推薦算法指標來進行對比評價:用戶覆蓋率(User-Coverage)、召回率(Recall)、準確率(Precision)。用戶覆蓋率用來表示推薦算法能夠進行個性化推薦的用戶占比,該值越接近1,說明算法推薦結果涉及用戶越多,用戶信息利用率越高。準確率是推薦算法給用戶的推薦列表和用戶實際選擇的影片占比。召回率是用戶實際選擇影片和推薦算法給用戶推薦列表交集后,占用戶實際選擇的影片比例。三個指標公式分別如下所示:

為了驗證和分析該文算法的推薦效果,將選取另外兩種推薦算法與其進行對照實驗:
1)文獻[10]中將共同評價兩部電影的用戶數進行縮放,并以此在相似度計算中構建了同一電影不同用戶的評分模型完成結果推薦,在文中將其視為(Common Evaluate Movie of User,CEMU)。
2)基于物品的協同過濾算法(IMCF)。
在進行對比實驗中,將以數據集長度m、最終推薦結果長度n為兩個關鍵變量進行對比分析。
3.3.1 用戶覆蓋率對比
該次實驗m的大小為1 MB,n=20。在構建用戶-標簽矩陣后,通過算法得到用戶評分預測,再進行過濾去重,得到了能夠獲得推薦列表的用戶比例,實驗結果如表2 所示。

表2 用戶覆蓋率
通過表2 內容可知,傳統的基于物品的協同過濾算法的用戶覆蓋率較低,接近40%的用戶未得到有效的推薦結果,對用戶行為數據的信息利用率低。在相似度算法中加入同一電影不同用戶的評分模型后,用戶覆蓋率得到了顯著的提高,達到81.38%。而該文的算法在用戶覆蓋率方面達到86.52%,用戶覆蓋率的提高說明在算法中融入了標簽后,可以為更多用戶構建出符合用戶側的喜好模型,使得絕大多數用戶都可以得到與自身行為喜好相關的推薦結果;證明了物品特征標簽中蘊含著大量且有效的信息,可以幫助推薦算法解決數據稀疏的不足,挖掘分析利用這些信息可以大幅的提高互聯網應用和用戶使用的效率。
3.3.2 探究不同數據集長度下的實驗結果
該實驗中設n=20,實驗結果如圖3 和圖4 所示。

圖3 m取不同值時的準確率

圖4 m取不同值時的召回率
由圖3 可知,三種算法準確率隨著數據集量增加而增加,在數據集為10 MB 時三種算法準確率達到最高。由圖4 可知,在三種算法中,融合標簽特征算法的召回率最高,而且三種算法的召回率均隨著數據集量的增加而提高。融合特征標簽后的推薦算法在準確率和召回率方面均優于兩種對比算法,特征標簽可以在一定程度上解決用戶行為信息過少而無法建立符合用戶行為喜好的特征模型。
3.3.3 探究不同推薦列表長度下的實驗結果
在實驗3.3.2 的實驗結果之上,實驗將m取固定值為1 MB,實驗結果如圖5 和圖6 所示。
由圖5 可知,隨著推薦列表長度的不斷增加,算法的準確率不斷提升,并在推薦列表長度為20 時達到最高點,之后略有降低。由圖6 可知,算法的召回率隨著推薦列表長度的增加而提高,在推薦列表長度為20 后,增速逐漸平緩。

圖5 n取不同值時的準確率

圖6 n取不同值時的召回率
實驗結果表明,融合標簽特征的推薦算法在準確率和召回率方面有一定提升,且算法的準確率和召回率分別在n=20 和n=25 時最佳。綜合以上實驗數據分析,融合了特征標簽的推薦算法可以深入地挖掘用戶的行為信息,得到更加精準的用戶行為模型,并且在設定適合的推薦列表長度后可以提高推薦效果,能夠有效提高算法對信息的利用率和準確性。
該文提出了一種結合物品特征標簽的推薦算法,在算法中構建用戶-特征標簽矩陣來解決用戶行為無規律,行為信息數據不規則等問題。經過實驗分析表明,同傳統的推薦算法和另外一種個性化推薦算法相比,印證了特征標簽中包含著豐富且準確的用戶喜好信息,利用此信息搭建完整精準的用戶喜好模型,可以提升推薦算法用戶覆蓋率,并使算法的準確率和召回率都有所提高。接下來的工作中將針對該文算法中面對推薦列表長度過長而導致推薦結果準確率下降的問題進行優化解決,將考慮對相似度算法進行權重的重新分配,探索出更加穩定和高效真實的推薦算法。