一種融合社會化標籤的協同過濾推薦算法

2021-01-20 電子產品世界

     推薦系統是為解決信息過載和發掘長尾物品而提出的一種有效的工具,它與搜尋引擎相互配合,共同為用戶提 供可靠便捷的服務。推薦系統可以應用在很多場合,比如電 影、音樂、圖書、文章、新聞、網頁和廣告等領域。代表性 網站有亞馬遜、Netflix、豆瓣、LastFM、YouTube、Facebook 以及淘寶等。推薦系統可以提供個性化的推薦,滿足用戶隨 時變化和差異化的需求
     社會化標籤作為Web2.0發展的產物,是一種非常有效 的網絡資源組織工具。社會化標籤有兩方面的含義:第一, 表示用戶的興趣;第二,表示物品的語義。通過標籤用戶和 物品可以聯繫起來。利用社會化標籤可以組織網站內容,推 薦物品以及標籤。社會化標籤除了這些功用外,還可以與現 有的推薦系統配合,產生更加有效的推薦,這是本文所要研 究的內容,利用社會化標籤信息,在經典的基於評分的推薦 系統上產生更好的推薦效果。將社會化標籤和評分相融合的算法也是推薦系統領域 研究的一個熱門方向。Tso-Sutter提出了
一種可以將標籤融合 於標準的協同過濾算法,他直接將標籤當作二值化數據,作 為用戶的特徵向量或物品的特徵向量。Bogers和Van Den Bosh 通過計算標籤的重合度,來表示用戶或物品之間的相似度。Gemmel提出了加權的混合推薦算法,他將基於圖的標籤推
薦算法和基於用戶和物品的協同過濾算法相結合,通過加權計算二者的流行度產生推薦。
Gedikli和Jannach利用標籤來表示用戶喜歡或不喜歡的物品具有的特徵,通過對標籤的評分可以得到用戶最終對物品的評分。Yi zhen在評分矩陣上使用了PMF產生推薦,將 標 籤 信 息 加 入 到PMF的正則化項 中,在模型生成的 過 程 中 融 入 了 標

本文引用地址:http://www.eepw.com.cn/article/201702/344572.htm

圖1  標籤擴展評分矩陣
籤的信息。此外,還有更加複雜的方法。Yueshen Xu和JianweiYin提出了一種可以把UGC(User Generated Content)信息和 評分結合的方法,UGC包括標籤和評論,所使用的方法是 CTR(Collaborative Topic Regression),該方法於2011年被Wang 和Blei提出,是結合PMF和LDA的一種混合模型,CTR不僅可 以被用來做評分預測,還可以獲取物品描述中的隱變量。
本文結合現有的基於內存的推薦算法,提出了一種整 合隱語義向量的標籤融合算法,下面將重點介紹該算法以及 相關的一些內容,最後對算法的有效性進行驗證。

1  相關推薦算法
1.1  基於內存的算法
1.1.1 基於用戶的協同過濾算法
基於用戶的協同過濾算法的思想是:具有相同愛好的 用戶會選擇相同的物品。該算法包括兩個步驟:a.找到和目 標用戶興趣相似的用戶集合;b.找出這個集合中用戶喜歡但 是目標用戶沒有購買的物品。每一個用戶可以看作是n維向量,每一個物品的評分作 為向量的元素,這樣用戶的相似度就可以轉換為計算向量的 相似度。下面是三種常見的相似度計算的方法。

其中(1)是歐式距離,(2)是餘弦夾角,(3)是Pearson相關係數。ru,i 為用戶u對物品i的評分,    和  分別是用戶u和用 戶v在各自所評物品集上的均值。在計算獲得目標用戶的相似用戶集後,便可根據相似用戶預測待推薦物品的評分。評分的計算公式為式(4)。

其中 S (u , K ) 表示目標用戶u的K個相似用戶, 表示對物品 i評過分的用戶集合,最終的相似用戶是這兩個集合的交集。 ru 和 rn 分別表示用戶u和用戶n在各自評分集上的均值。該公式 的含義是對所有相似用戶對物品i的評分作加權平均。
1.1.2   基於物品的協同過濾算法
基於物品的協同過濾算法分為兩個步驟:a. 根據用戶已 評分過的物品分別找出每個物品的K個相似度最高的物品。 b.找出用戶未做評價的物品預測其分數。計算目標物品的相似物品是將每個物品看作是一個m維 向量,每個用戶的評分是向量中的項。計算相似度公式和基於用戶的推薦算法類似,這裡要補充的是一種修正的餘弦相似度(Adjust Cosine Similarity),如公式(5)所示。該公式被Sarwar在MovieLens上證明是最佳的相似度計算方法,然而在其他的數據集中,該公式不一定是最優的。

利用公式(6)可以預測待推薦物品的評分,該公式的含 義是對相似物品的評分作加權平均。其中, S (u , K ) 表示和物 品i相似的K個物品的集合, N (u ) 表示用戶u評過分的物品。 ri 表示物品i的平均分。

1.2  隱因子模型
隱因子模型(LFM)的核心思想是通過隱含的特徵將用戶 和物品聯繫起來。對於分析用戶行為背後的含義以及物品的 分類有很好的效果。

LFM的思想很簡單,將評分矩陣R分解為兩個低維的矩 陣P和Q,如式(7)所示,針對每一個評分,引入隱變量l。然 後通過最小化均方誤差學習P、Q矩陣,如式(8)所示,為了下降算法優化參數。

2 融合標籤的協同推薦算法
2.1  標籤擴展評分矩陣
傳統的評分矩陣是<用戶,物品,評分>這是一個二維 的關係,而標籤矩陣<用戶,物品,標籤>是一個三維的關 系,因為用戶可以給一個物品打多個標籤,而評分只有一 個。要使用基於評分的方法,必須將三維的標籤矩陣轉化為 二維矩陣。圖1為轉化的關係圖,可以將其轉化為兩個二維 矩陣。其中水平方向將用戶打過的標籤作為用戶向量的一部 分,垂直方向將標記過物品的標籤作為物品向量的一部分。 對於UserTag和ItemTag向量中的值,使用TF-IDF(Term Frequency-Inverse Document Frequency)表示,如公式(9),這裡將UserTag和ItemTag看作是文檔。

其中TFij 為詞頻,描述的是第i個標籤在文檔j中所佔的比例, IDFi 為逆文檔頻率, ni 為第i個關鍵詞在N篇文檔中出 現的次數,所以 ni 越大 IDFi 越小。二者的乘積 wij 定義為第i個標籤在文檔j中的權值。一個標籤在一篇文檔中出現的頻率越高對權值的貢獻越大,在所有文檔中出現的頻率越高對 權值的貢獻越小。這樣有了權值的定義,就可以把一個文檔表示為向量 d j  = (w1 j , w 2 j ,..., w kj ) 。
2.2  提取隱語義
接下來提取標籤的隱語義,所使用的模型是LMF,需 要式(10)來提取用戶和物品中的隱語義。

最終得到 Pu  = ( pu1 , ..., puK ) 和 Pi  = ( pi1 , ..., piK ) 向量,它們分別表示了用戶的偏好隱語義和物品的特徵隱語義。
2.3 評分和隱語義整合
將標籤信息的格式轉換為評分的格式,然後可以利用 評分的協同推薦算法,將用戶或物品的評分向量和標籤向,物品向量表示為 i = (r i ,..., r i , pi ,..., pi  ) ,p是隱變量,它的個數為K。整合 後,可以使用新的用戶向量計算用戶的相似度,或使用新物
品向量計算物品的相似度。這裡將這兩個方法稱為usertagCF和itemtagCF。

2.4 模型學習和推薦
所提的算法利用了協同過濾中基於內存和基於模型的 算法, L MF需要訓練, 具體的訓練過程在1.2節中已有介 紹,這裡需要說明的是影響推薦的兩個參數,一個是用戶或 物品的鄰居個數K,另一個是用戶或物品的隱變量個數F。

3  實驗設計與實驗結果

3.1 評測指標
本文選擇均方根誤差(RMSE)和平均絕對誤差(MAE)作 為評價的主要標準。

RMSE和MAE是評分預測問題的兩個常用指標。其中T為測試集, rui 是實際的評分, rui 是預測的評分。
3.2  實驗設計
(1)實驗數據
實驗採用的數據集是MovieLens 最新的100k數據集,
該數據集包含706名用戶對8570部電影的100023 個評分以及
2488 個標籤,時間範圍為1996年4月2日到2015年3月30日。 (2)算法實現 根據標籤數據集統計UserTag和ItemTag中的TF-IDF值,
利用該標籤數據訓練LFM模型,參數設置為學習率0.15,步 長0.04,通過多次迭代後獲取用戶或物品的特徵向量p,將p 與用戶或物品的評分向量融合,本算法使用的相似度公式為 Pearson相似度。
算法的實現過程中涉及到兩個重要的參數,一個是用 戶或物品的鄰居數目K,另一個是LFM模型中的隱變量個數 F。這兩個變量的取值不同,對最終的RMSE和MAE會造成 不同的影響。
3.3 實驗結果 (1)userCF和usertagCF的結果比較 基於用戶的協同過濾和將標籤和評分融合後的協同過
濾比較結果如表1所示,可以發現,隨著K的變化RMSE和
MAE都在減小, user tag CF在K=40時性能就已經開始改善 了,隨著K值的增大,可以看到提升逐步增加。表2為不同F 值下usertagCF的結果對比,可以發現F=5左右時,RMSE和 MAE的值都是最小的,說明隱變量不是越多越好。
(2) itemCF和itemtagCF的比較 表3為基於物品的協同過濾算法在融合標籤前後的結果
比較,可以發現,隨著K的增大,RMSE和MAE都在減小,也 是在K=40的時候性能開始改善。表4為不同F值對itemtagCF的 影響。隨F值的增大,性能在逐步改善。與usertagCF不同,F 值在較大的情況下仍能提升性能,這是因為測試的數據集中 物品的數目約為用戶數目的12倍,如果要對物品向量產生影 響,物品的隱語義數目應高於用戶隱語義數目。

4  結束語
本文提出了一種將社會化標籤和評分相融合的方法,該算法相較於基於模型的方法,具有實現簡單、運行較快的優點。通過實驗證明,該算法可以有效地較少預測誤差。

相關焦點

  • 基於用戶的協同過濾算法
    ,今天這篇文章要講的基於用戶的協同過濾算法就是其中的一個,這也是最早出現的推薦算法,並且發展到今天,基本思想沒有什麼變化,無非就是在處理速度上,計算相似度的算法上出現了一些差別而已。基於用戶的協同過濾算法我們先做個詞法分析基於用戶說明這個算法是以用戶為主體的算法,這種以用戶為主體的算法比較強調的是社會性的屬性,也就是說這類算法更加強調把和你有相似愛好的其他的用戶的物品推薦給你,與之對應的是基於物品的推薦算法,這種更加強調把和你你喜歡的物品相似的物品推薦給你。
  • 今日頭條:AI助力用戶推薦 (上)
    淘寶上的商品銷售也被證實有一部分來自於好友的推薦。朋友圈或興趣圈推薦在社交網站的演化過程中扮演著越來越重要的角色,社交網站推薦從最初的用戶引流到新用戶活躍度、再到用戶興趣圈的形成及發展到現在的網絡社區構建及用戶關係的演化,社交化推薦系統是幫助用戶解決信息不對稱較好的方法,也是用戶對感興趣信息獲取的一種較好途徑和過濾垃圾信息的一種重要手段。
  • 關於個性化主頁定製的新聞推薦算法研究
    而目前的主要是的推薦是協同過濾算法,新聞協同過濾算法主要是考慮到用戶,新聞之間的相似性,而當新聞信息內容發生巨大改變時或者用戶群體的數量增大時,基於協同過濾算法的新聞推薦模型的精確度會發生變化,該算法的缺點是我們不能挖掘出新聞的主題分布,和用戶的關注的興趣方向,因此協同過濾算法效率比較低下。因此我們需要一種基於新聞主題的新聞推薦算法。
  • 背後準到可怕的「協同過濾」機制大...
    「每周探索」的算法是先查看兩項基本信息:第一,它會先看用戶喜愛到會加入到音樂庫或者是播放清單的所有歌曲。這個算法甚至聰明到可以知道,用戶是否在播放的前三十秒就已經跳過該首歌曲,這代表用戶可能不喜歡這首歌曲。
  • 從理論到實踐,一文詳解 AI 推薦系統的三大算法
    算法處理:常見的算法類型主要包括● 人口統計學推薦:主要是根據用戶資料信息,發現和物品的相關程度● 物品內容推薦:根據用戶的偏好,推薦相似的物品給用戶● 協同過濾推薦:根據用戶對物品的偏好,發現物品或是用戶的相關性,然後基於相關性進行推薦,主要包括:1:基於用戶的推薦 2:基於物品的推薦● SVD(奇異值分解):相當於協同過濾的相似度計算模型,
  • 推薦算法系統/人臉識別/深度學習對話機器人高級實戰課
    包含了推薦算法系統實戰、深度學習人臉識別實戰、深度學習對話機器人實戰等高級前沿的精品課程,下面分別介紹下各個實戰項目:1、推薦算法系統實戰首先推薦系統不等於推薦算法,更不等於協同過濾。推薦系統是一個完整的系統工程,從工程上來講是由多個子系統有機的組合,比如基於Hadoop數據倉庫的推薦集市、ETL數據處理子系統、離線算法、準實時算法、多策略融合算法、緩存處理、搜尋引擎部分、二次重排序算法、在線web引擎服務、AB測試效果評估、推薦位管理平臺等,每個子系統都扮演著非常重要的角色,當然大家肯定會說算法部分是核心,這個說的沒錯,的確。
  • 解密微信視頻號推薦機制(一)
    就是通過一個一個的推薦引擎(推薦算法),計算你喜歡的商品。簡單介紹一下兩個召回算法:比如基於用戶的協同過濾算法(推薦引擎),就是你朋友喜歡的東西你也有可能喜歡,物以類聚,人以群分的算法。第二個是基於物品的協同過濾算法(推薦引擎),我們都知道啤酒與尿不溼的案例,假如你在超市買了啤酒就很有可能買尿不溼。這個算法認為如果大多數人買了商品A,又買了商品B,那麼A和B就是比較相似的。
  • 使用深度學習構建先進推薦系統:近期33篇重要研究概述
    研究者在 CiteULike 數據集和 Netflix 數據集上對該模型和矩陣分解、協同主題回歸進行對比、測試,結果顯示該模型具備更為優秀的性能。[16] 首次提出了將深度學習特徵融合到 CF 模型(如矩陣分解)的框架。
  • 陳根:算法下的選擇讓渡,你被算法裹挾了嗎?
    其中,「基於內容的推薦算法」和「協同過濾算法」應用最廣,也最典型。基於內容的推薦算法在資訊閱讀領域有著基石般的存在。形象地說就是「你多看什麼就給你推薦什麼」。Feed流(信息流)是目前資訊和社交軟體最常用的展示方式,因直觀、簡單、高效等優勢深受歡迎。早期Feed流以Timeline(時間線)排序,最經典的案例就是朋友圈。這種排序法易於理解且充滿極簡主義。但它的缺點也顯而易見,即呈現出效率低下的不良體驗。
  • 23張圖,帶你入門推薦系統
    廣告:藉助搜索和推薦技術實現廣告的精準投放,可以將廣告理解成搜索推薦的一種應用場景,技術方案更複雜,涉及到智能預算控制、廣告競價等。為了應對線上高並發的流量,召回結果通常會預計算好,建立好倒排索引後存入緩存中;融合過濾層:觸發多路召回,由於召回層的每個召回源都會返回一個候選集,因此這一層需要進行融合和過濾;排序層:利用機器學習或者深度學習模型,以及更豐富的特徵進行重排序,篩選出更小、更精準的推薦集合返回給上層業務。
  • B站的視頻,都是怎麼推薦的
    用戶群分 用戶和用戶之間的相似度常用用戶行為來計算,這一過程被稱為協同過濾,主要以基於物品的協同和基於用戶的協同為底層框架。 基於內容的協同: 主體是內容,根據用戶喜歡的視頻,找到和這些視頻相似的內容再推薦給用戶。
  • Social+RTA:微博社會化營銷策略驅動,個性化投放能力全面升級
    這兩種情況都主要依賴於DSP或者媒體自身的數據算法能力去識別流量,然後在媒體平臺實現廣告的精準曝光。以微博為例,超級粉絲通的平臺定向能力具備社交媒體所獨有的顯著優勢,以廣泛的用戶興趣標籤、社交內容、互動行為等維度見長,同時也兼具對用戶屬性畫像的刻畫能力、行業大數據的挖掘能力。
  • 推薦引擎解密:「算透」用戶,抖音為什麼讓人沉迷?
    協同特徵:基於協同過濾技術,負責在狹窄推薦(偏見)與協同推薦(概括)之間尋求平衡。更準確地說,其不信會考慮單一用戶的歷史記錄,同時還會分析相似用戶組之間的協同行為(點擊、贊、關鍵字、主題等)。而推薦引擎模型,將通過學習上述特徵以預測特定內容在特定場景中是否適合特定用戶。
  • 技術乾貨|集成學習算法(Ensemble Method)淺析
    個性化推薦系統是達觀數據在金融、電商、媒體、直播等行業的主要產品之一。在達觀數據的個性化推薦系統架構中, 可以簡單地分為5層架構,每層處理相應的數據輸出給下一層使用,分別是:數據處理層 作為推薦系統最低端的數據處理層,主要功能是首先將客戶上傳上來的一些無用的噪聲數據進行清理過濾,將推薦系統所需要用到的數據導入到數據存儲層中;數據存儲層 對於item的數據一般存入在Mysql中,隨著數據量越來越大的item的數據,相比Mysql的擴展性來說,HBase和Hive
  • 三十二、電子商務服務推薦模型構建
    模型構建本案例在數據預預處理的基礎上,針對預處理後的數據進行模型構建,其中涉及的過程主要有:推薦流程相似度計算推薦結果2. 推薦流程2.1 推薦系統流程圖在實際應用中,構造推薦系統時,並不是採用單一的推薦方法進行推薦。為了實現較好的推薦結果,一般會結合多種推薦方法將推薦結果進行組合,最後得出推薦結果。
  • 算法左右歌曲推薦,而不是用戶喜好?
    其中,點讚、評論、轉發、點擊率、完播率等指標決定是否進行第二輪的加大流量推薦與推薦力度。抖音平臺將數據好的短視頻進行更大的加權後,會根據用戶群體的標籤推送不同視頻,讓內容分發更加精準。類似「猜你喜歡」的打標,依照視頻本身的標籤和用戶標籤,在兩者之間進行匹配、決定是否推送。
  • YouTube訂閱打法2.0:算法與平臺合力,迷思與憂思並存
    在為每個視頻打上更詳細的標籤的基礎上,依照標準給候選網絡中的視頻打分,從而確定最終的推薦結果。通過這兩個網絡,YouTube運用機器學習,搭建出一個個人化的候選網絡和排序網絡,將用戶對YouTube的使用具體到某個場景中,讓首頁顯示與用戶更相關的推薦內容。
  • 從爆款筆記,看小紅書的首頁推薦算法邏輯
    這篇文章主要寫小紅書首頁推薦算法邏輯,從運營的知識點到爆款筆記的實踐,來講述小紅書首頁推薦算法邏輯。喜歡小紅書並且打算成為一個小紅書內容創作者的小夥伴們,不要錯過哦!作為運營一直對小紅書有關注,近期在正式運營小紅書,打算成為一個小紅書內容創作者。
  • 算法有沒有價值觀?知乎內容推薦算法解析
    同樣是知識分享平臺,知乎倒是躲過了每一次整改,肯定有人會說是幸運,也肯定有人會從理性的角度對知乎的內容推薦和討論方式進行分析,就好像每一條知乎問答下的用戶一樣理性。同樣是AI算法,同樣是內容推薦,知乎更側重於將關注點放在內容生產本身,對違規內容的處理速度也是極其快速。
  • 深度學習與PaddlePaddle的應用-個性化推薦
    II 傳統推薦方法傳統的推薦方法包括基於內容的推薦(Content-based Recommendation)、協同過濾推薦(Collaborative Filtering Recommendation)和混合推薦(Hybrid Recommendation)三種,接下來我們分別分析各種推薦方法。