推薦系統基礎演算法之基於內容的推薦演算法

2021-10-02 13:29:16 字數 2192 閱讀 6448

*基於內容的推薦方法的優點是*

*基於內容的推薦方法的缺點是*

1.特徵(內容)提取,提取每個待推薦物品的特徵(內容屬性)。例如電影、書籍、商品的分類標籤等。這些特徵往往分為兩種:結構化的特徵和非結構化的特徵。

所謂結構化特徵就是特徵的取值限定在某個區間範圍內,並且可以按照定長的格式來表示。例如,電影類別特徵,演算法人員往往會和編輯提前約定好所有可選的電影類別。並把所有備選的電影都標註上這些類別標籤。假如可選的電影類別有「愛情、劇情、科幻、戰爭、中國、美國、南韓、日本」共計8個類別(當然真實類別遠不止8個)。比如,《星球大戰》同時具有科幻和美國2個內容特徵,那麼他的結構化特徵可用乙個8位的二進位制數表示。其中0表示該電影不具備該特徵,1表示該電影具備該特徵。

非結構化的特徵往往無法按固定的格式表示,最常見的非結構化資料就是文章。例如對推薦文章,我們往往會把文字上的非結構特徵轉化為結構化特徵,然後加入到模型使用。下面我們就詳細介紹如何把非結構化的文字資訊結構化

例如n個待推薦文章的集合為d=,而所有文章**現的詞的集合模型為t=.將其稱為字典(對於英文文字,可直接取單詞;對與文章,需要先進行分詞,常見的開源分詞工具有結巴分詞、中科院分詞等)。也就是說我們有n篇待推薦的文章,而這些描述裡包含了每個不同的詞。我們最終要使用乙個向量來表示每一篇文章,比如第j篇文章表示為dj=

其中w1j表示第乙個詞t1j在第j篇文章中權重,該值越大表示越重要;dj中其他向量的解釋類似。所以,現在關鍵就是如何計算dj個分量的值了。有以下幾種常見的計算方法

(1) 基礎統計法。例如,如果詞t1出現在第j篇文章中,我們可以選取w1j為1,如果t1未出現在第j篇文章中,選取w1j為0;

(2) 詞頻統計法。我們也可以選取w1j為詞t1的出現在第j個商品品描述中的次數。基礎統計法,只考慮了詞tj是否出現在某一篇文章中,並沒有考慮其整體出現在的頻次。例如詞k是「我們」,第j篇文章包含這個詞,則wkj取1,但這個詞其實並沒有資訊量,因為很多文章都包含了「我們」,wkj都會取1。所以通常會引入詞頻-逆文件頻率(temr frequency-inverse document frequency,簡稱 tf-idf)。第j篇文章與詞典裡第k個詞典對應的tf-idf為:tf-idf(tk,dj)=tf(tk,dj)*log(n/nk) ,其中tf(tk,dj)是第k個詞在第j個商品描述**現的次數,出現的次數越多,代表該詞越重要,從而tf值越大。而nk是包括第k個詞的文章數量,nk越少代表詞越稀有,越能代表這篇文章,從而tf值越大。最終第k個詞在文章j中的權重由下面的公式獲得:

wk,j=tf-idf(tk,dj) / sqrt(所有tf-idf(tk,dj)的平方之和)

做歸一化的好處是 ,不同文字描述的表示向量被歸一到乙個量級上,便於下面步驟的操作。這時候我們已經獲得了每篇文章的內容特徵向量,形如 dj=(w1j,w2j,…,wnj),下一步就可以計算使用者的內容偏好了。

2.使用者偏好計算,利用乙個使用者過去的顯式評分或者隱式操作記錄,計算使用者不同特徵(內容屬性)上的偏好分數;

score = *cos a = uk * dt / ( || uk || * || dt ||)

= 所有乘積求和 uik * wit (i從1-n) / (uik的平方和 * wit的平方和)

這時,推薦系統取得分score得分最高的文章推薦即可。余弦值的範圍在[-1,1]之間,值越趨近於1,代表兩個向量的方向越接近,使用者越可能喜歡。值越趨近於-1,他們的方向越相反,則使用者越不可能喜歡。

3.內容召回:將待推薦物品的特與使用者偏好得分匹配,取出使用者最有可能的物品池。例如,使用者a最有可能喜歡的物品池是科幻電影.使用者b最有可能喜歡的物品池 是愛情電影的物品池;

4.物品排序,按使用者偏好召回物品池,可能一次性挑選出很多內容。這時候我們可以進一步根據這些電影的平均分進行排序。

通過以上四步,就可以快速構建乙個推薦系統。並且基於內容的推薦方法使用者易於理解,簡單有效。常常和其他推薦方法共同應用於推薦系統中。

1.物品沒有冷啟動問題,因為物品的內容特徵不依賴於使用者資料;同時推薦的物品不會存在過於熱門的問題。

2.能為具有特殊興趣愛好的使用者進行推薦,

3.原理簡單,易於定位問題。

(1) 他要求內容必須能夠抽取出有意義的特徵,且要求這些內容特徵具有良好的結構性

(2) 推薦精度較低,相同內容特徵的物品差異性不大。

以上這些侷限性,所以有了基於協同過濾的演算法。

基於內容的推薦

基於內容的資訊推薦方法的理論依據主要來自於資訊檢索和資訊過濾 啟發式的方法就是使用者憑藉經驗來定義相關的計算公式,然後再根據公式的計算結果和實際的結果進行驗證,然後再不斷的是修改公式以達到最終目的。而對於模型的方法就是根據以往的資料作為資料集,然後根據這個資料集來學習出乙個模型。一般的推薦系統中運用...

機器學習系列23 基於內容的推薦演算法

這些推薦演算法極大地便捷了我們的生活,身為乙個學習機器學習的同學,怎麼能不關注一下推薦演算法呢?綠圈表示這是一類愛情電影,紅圈表示這是動作電影,由以上資料可以看出,前兩位使用者對愛情片可能感興趣,而後兩位使用者對動作片可能感興趣。基於此,我們可以用類似於線性回歸的方法去 沒有看過此電影的使用者可能對...

推薦系統 基於UGC的推薦

使用者用標籤描述對物品的看法,所以使用者生成標籤 ugc 是聯絡使用者和物品的紐帶,也是反應使用者興趣的重要資料來源。乙個使用者標籤行為的資料集一般有乙個三元組 使用者,物品,標籤 的集合組成,其中一條記錄 a,b,c 表示使用者a給物品b打上了標籤c 乙個簡單的演算法 統計每隔使用者最常用的標籤 ...