0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于內(nèi)容推薦(CB)的推薦算法

姚小熊27 ? 來源:網(wǎng)絡(luò)整理 ? 2018-04-26 10:46 ? 次閱讀

基于內(nèi)容推薦概要

基于內(nèi)容的信息推薦方法的理論依據(jù)主要來自于信息檢索和信息過濾,所謂的基于內(nèi)容的推薦方法就是根據(jù)用戶過去的瀏覽記錄來向用戶推薦用戶沒有接觸過的推薦項(xiàng)。主要是從兩個(gè)方法來描述基于內(nèi)容的推薦方法:啟發(fā)式的方法和基于模型的方法。啟發(fā)式的方法就是用戶憑借經(jīng)驗(yàn)來定義相關(guān)的計(jì)算公式,然后再根據(jù)公式的計(jì)算結(jié)果和實(shí)際的結(jié)果進(jìn)行驗(yàn)證,然后再不斷修改公式以達(dá)到最終目的。而對(duì)于模型的方法就是根據(jù)以往的數(shù)據(jù)作為數(shù)據(jù)集,然后根據(jù)這個(gè)數(shù)據(jù)集來學(xué)習(xí)出一個(gè)模型。一般的推薦系統(tǒng)中運(yùn)用到的啟發(fā)式的方法就是使用tf-idf的方法來計(jì)算,跟還有tf-idf的方法計(jì)算出這個(gè)文檔中出現(xiàn)權(quán)重比較高的關(guān)鍵字作為描述用戶特征,并使用這些關(guān)鍵字作為描述用戶特征的向量;然后再根據(jù)被推薦項(xiàng)中的權(quán)重高的關(guān)鍵字來作為推薦項(xiàng)的屬性特征,然后再將這個(gè)兩個(gè)向量最相近的(與用戶特征的向量計(jì)算得分最高)的項(xiàng)推薦給用戶。在計(jì)算用戶特征向量和被推薦項(xiàng)的特征向量的相似性時(shí),一般使用的是cosine方法,計(jì)算兩個(gè)向量之間夾角的cosine值。

基于內(nèi)容推薦的步驟

1、對(duì)數(shù)據(jù)內(nèi)容分析,得到物品的結(jié)構(gòu)化描述

2、分析用戶過去的評(píng)分或評(píng)論過的物品的,作為用戶的訓(xùn)練樣本

3、生成用戶畫像

a.可以是統(tǒng)計(jì)的結(jié)果(后面使用相似度計(jì)算)

b.也可以是一個(gè)預(yù)測模型(后面使用分類預(yù)測計(jì)算)

4、新的物品到來,分析新物品的物品畫像

5、利用用戶畫像構(gòu)建的預(yù)測模型,預(yù)測是否應(yīng)該推薦給用戶U

a.策略1:相似度計(jì)算

b.策略2:分類器做預(yù)測

6、進(jìn)一步,預(yù)測模型可以計(jì)算出用戶對(duì)新物品的興趣度,進(jìn)而排序

7、進(jìn)一步,用戶模型在變化,通過反饋更新用戶畫像(用戶畫像在這里就是預(yù)測模型)

反饋-學(xué)習(xí),構(gòu)成了用戶畫像的動(dòng)態(tài)變化

基于內(nèi)容推薦的層次結(jié)構(gòu)

* 內(nèi)容分析器

文檔的數(shù)據(jù)處理

得到結(jié)構(gòu)化的數(shù)據(jù),存儲(chǔ)在物品庫中

* 信息學(xué)習(xí)器

收集有關(guān)用戶偏好的數(shù)據(jù)特征,泛華這些數(shù)據(jù),構(gòu)建用戶特征信息(機(jī)器學(xué)習(xí)

通過歷史數(shù)據(jù)構(gòu)建用戶興趣模型(通過分類的方法,提取特征,特征就是組建用戶畫像的基礎(chǔ))

生成興趣特征(正樣本)和無興趣特征(負(fù)樣本)

* 過濾組件

將用戶的個(gè)人信息和物品匹配

生成二元或連續(xù)性的相關(guān)判斷(原型向量和物品向量的余弦相似度)

基于內(nèi)容推薦(CB)的推薦算法

就目前看,Collaborative Filtering Recommendations (協(xié)同過濾,簡稱CF) 還是目前最流行的推薦方法,在研究界和工業(yè)界得到大量使用。但是,工業(yè)界真正使用的系統(tǒng)一般都不會(huì)只有CF推薦算法,Content-based Recommendations (基于內(nèi)容推薦,CB) 基本也會(huì)是其中的一部分。

CB根據(jù)用戶過去喜歡的產(chǎn)品(items),為用戶推薦和他過去喜歡的產(chǎn)品相似的產(chǎn)品。例如,一個(gè)推薦飯店的系統(tǒng)可以依據(jù)某個(gè)用戶之前喜歡很多的烤肉店而為他推薦烤肉店。 CB最早主要是應(yīng)用在信息檢索系統(tǒng)當(dāng)中,所以很多信息檢索及信息過濾里的方法都能用于CB中。

推薦過程:

CB的推薦過程一般包括下面三步:

Item Representation:即對(duì)items做特征工程,通俗來說即對(duì)items的屬性表達(dá)出來,如item = 農(nóng)夫山泉(品類:礦泉水,價(jià)格:1-5,etc);

Profile Learning:利用一個(gè)用戶(id)過去喜歡(以及不喜歡)的item的特征數(shù)據(jù),來學(xué)習(xí)出此用戶的喜好特征(profile),如id=我,喜歡=(農(nóng)夫山泉,麥當(dāng)勞),不喜歡=(檳榔,香煙),etc。

Recommendation Generation:通過比較上一步得到的用戶profile與候選item的特征,為此用戶推薦一組相關(guān)性最大的item。

基于內(nèi)容推薦(CB)的推薦算法

例子:

對(duì)于個(gè)性化閱讀來說,一個(gè)item就是一篇文章,第一步我們要提取文章中的關(guān)鍵詞組來表示文章的主題,可以采用的方法例如TF-IDF找文章中詞的權(quán)重,例如在python文章中“python”是主要被提及的字眼,那么該詞是關(guān)鍵字,利用這種方法,我們就可以把文章向量化。第二步是找出用戶之前喜歡的文章,通過上述TF-IDF方法,將其向量化,然后求平均值,來代表用戶大致喜歡的文章。如果用戶喜歡python語言,那么該用戶的profile中[‘python’]的權(quán)重占比較大。第三步就是通過以上二步得到的所有item和該用戶的profile進(jìn)行匹配,計(jì)算方式一般用余弦相似度。

詳細(xì)過程

1.Item Representation

Item一般都會(huì)有一些描述它的屬性。這些屬性通??梢苑譃閮煞N:結(jié)構(gòu)化(structured)和非結(jié)構(gòu)化(unstructured)屬性。所謂結(jié)構(gòu)化屬性就是可以被量化,可直接使用的屬性,如人有性別、學(xué)歷、地域等屬性。而非結(jié)構(gòu)化屬性就是需要再進(jìn)行二次解析,無法直接利用的屬性,如人的購買記錄,一篇文章的內(nèi)容等。像文章這種非結(jié)構(gòu)化數(shù)據(jù)可以利用TF-IDF和word2vec等算法把文章中的關(guān)鍵詞向量化表示出來。

如果用TF-IDF表示文章對(duì)應(yīng)關(guān)鍵詞的權(quán)重,那么可以得到以下矩陣:

基于內(nèi)容推薦(CB)的推薦算法

2.Profile Learning

假設(shè)用戶(id)已經(jīng)對(duì)一些item做出了喜歡的判斷,對(duì)另一部分item做出了不喜歡的判斷,且這些item我們已經(jīng)有了對(duì)應(yīng)的向量化表示,那么這就是用戶的profile,如何簡單計(jì)算用戶的profile呢?公式如下:

基于內(nèi)容推薦(CB)的推薦算法

其中x是用戶喜歡的item,a是喜歡item的總數(shù),y是用戶不喜歡的item,b是不喜歡item的總數(shù)。這時(shí)我們得到另一個(gè)用戶矩陣:(當(dāng)然這里不是協(xié)同過濾,無需把全部用戶列成矩陣項(xiàng),實(shí)際應(yīng)用單個(gè)用戶id即可)

基于內(nèi)容推薦(CB)的推薦算法

3.Recommendation Generation

通過以上二步得到的所有item和所有用戶的profile,那么要對(duì)一個(gè)用戶的profile和所有item進(jìn)行匹配,此時(shí)我們計(jì)算的方式一般用余弦相似度。余弦相似度的計(jì)算方法如下,假設(shè)向量a、b的坐標(biāo)分別為(x1,y1)、(x2,y2) 。則:

基于內(nèi)容推薦(CB)的推薦算法

余弦值的范圍在[-1,1]之間,值越趨近于1,代表兩個(gè)向量的方向越接近;越趨近于-1,他們的方向越相反。如上述例子我們可以計(jì)算以下結(jié)果:

基于內(nèi)容推薦(CB)的推薦算法

所以最終會(huì)把余弦值最大(跟用戶最相關(guān)的文章)的前N篇推薦給用戶。

優(yōu)缺點(diǎn)

優(yōu)點(diǎn):可以使用當(dāng)前的用戶評(píng)價(jià)來構(gòu)建用戶的個(gè)人信息;由于過程簡單解釋性強(qiáng),推薦的結(jié)果容易被人接受;對(duì)于新物品來沒有任何用戶評(píng)分的也可以推薦給用戶。

缺點(diǎn):可分析的內(nèi)容有限,且新穎度較差,新用戶需要用戶的偏好信息,無法解決冷啟動(dòng)問題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 推薦算法
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    9980
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    推薦常用算法之——基于內(nèi)容的推薦

    推薦常用算法之-基于內(nèi)容的推薦(轉(zhuǎn)自-BreezeDeus博主)
    發(fā)表于 04-29 15:12

    LG CB995C CB995D顯示器電路圖

    LG CB995C CB995D顯示器電路圖
    發(fā)表于 11-24 08:31 ?36次下載
    LG <b class='flag-5'>CB</b>995C <b class='flag-5'>CB</b>995D顯示器電路圖

    LG CB995C CB995D顯示器電源電路圖

    LG CB995C CB995D顯示器電源電路圖
    發(fā)表于 11-24 11:54 ?21次下載
    LG <b class='flag-5'>CB</b>995C <b class='flag-5'>CB</b>995D顯示器電源電路圖

    基于BitTorrent種子的內(nèi)容分發(fā)算法

    分析當(dāng)前最流行的P2P 軟件——BT 的工作方式,發(fā)現(xiàn)其內(nèi)容分發(fā)算法使得文件片段在網(wǎng)絡(luò)節(jié)點(diǎn)中分布不均,影響系統(tǒng)效率。提出基于種子控制的內(nèi)容分發(fā)算法,該
    發(fā)表于 03-29 10:57 ?13次下載

    CB參數(shù)對(duì)照資料

    CB資料
    發(fā)表于 02-14 17:16 ?1次下載

    基于內(nèi)容的推薦算法概覽

    為推薦系統(tǒng)選擇正確的推薦算法非常重要,而可用的算法很多,想要找到最適合所處理問題的算法還是很有難度的。這些算法每種都各有優(yōu)劣,也各有局限,因此在作出決策前我們應(yīng)當(dāng)對(duì)其做以衡量。在實(shí)踐中
    發(fā)表于 10-09 18:42 ?0次下載
    基于<b class='flag-5'>內(nèi)容</b>的推薦<b class='flag-5'>算法</b>概覽

    基于位串內(nèi)容感知的數(shù)據(jù)分塊算法

    針對(duì)基于內(nèi)容的可變長度的分塊CDC算法中數(shù)字簽名計(jì)算需要耗費(fèi)大量CPU開銷的問題,提出了一種基于位串內(nèi)容感知的數(shù)據(jù)塊分塊算法算法利用每一次
    發(fā)表于 11-24 15:00 ?0次下載
    基于位串<b class='flag-5'>內(nèi)容</b>感知的數(shù)據(jù)分塊<b class='flag-5'>算法</b>

    ASMT-CB00 直角ChipLED

    電子發(fā)燒友網(wǎng)為你提供Broadcom(ti)ASMT-CB00相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有ASMT-CB00的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,ASMT-CB00真值表,ASMT-
    發(fā)表于 07-04 11:26
    ASMT-<b class='flag-5'>CB</b>00 直角ChipLED

    EVAL-AD7723CB文檔

    EVAL-AD7723CB文檔
    發(fā)表于 05-16 17:03 ?0次下載
    EVAL-AD7723<b class='flag-5'>CB</b>文檔

    ADP5076CB-EVALZ ADP5076CB-EVALZ評(píng)估板

    電子發(fā)燒友網(wǎng)為你提供ADI(ti)ADP5076CB-EVALZ相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有ADP5076CB-EVALZ的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,ADP5076CB-EVALZ真值表,ADP5076
    發(fā)表于 07-10 17:00

    CB7851-000 CB7851-000 接頭

    電子發(fā)燒友網(wǎng)為你提供TE(ti)CB7851-000相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有CB7851-000的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,CB7851-000真值表,CB78
    發(fā)表于 08-11 09:00

    CB7569-000 CB7569-000 接頭

    電子發(fā)燒友網(wǎng)為你提供TE(ti)CB7569-000相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有CB7569-000的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,CB7569-000真值表,CB75
    發(fā)表于 08-10 21:00

    CB3127-000 CB3127-000 接頭

    電子發(fā)燒友網(wǎng)為你提供TE(ti)CB3127-000相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有CB3127-000的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,CB3127-000真值表,CB31
    發(fā)表于 08-14 19:00

    CB晶體管的特性曲線解析

    在本文中,我們將討論CB晶體管的特性曲線,如 CB晶體管的靜態(tài)輸入和靜態(tài)輸出特性曲線(共基)。
    的頭像 發(fā)表于 05-05 15:47 ?617次閱讀
    <b class='flag-5'>CB</b>晶體管的特性曲線解析

    深度識(shí)別算法包括哪些內(nèi)容

    深度識(shí)別算法是深度學(xué)習(xí)領(lǐng)域的一個(gè)重要組成部分,它利用深度神經(jīng)網(wǎng)絡(luò)模型對(duì)輸入數(shù)據(jù)進(jìn)行高層次的理解和識(shí)別。深度識(shí)別算法涵蓋了多個(gè)方面的內(nèi)容,主要包括以下幾種類型: 1. 卷積神經(jīng)網(wǎng)絡(luò)(CNN) 概述
    的頭像 發(fā)表于 09-10 15:28 ?200次閱讀