推薦系統(蔣凡譯)— 第三章 基於內容的推薦


  在應用協同過濾推薦技術時,除了用戶評分數據,我們不需要額外的物品數據。這樣的好處是避免了付出很大的代價向系統提供詳細而且實時更新的物品描述信息,但是這種僅基於純粹的協同過濾的算法卻無法根據物品的特性和用戶的特殊偏好來客觀選擇推薦物品的。

  本章中,將物品的特征描述為“內容”。因為后面章節部分介紹的大多技術的最初目的是推薦有意思的文本文檔。此外,絕大多數的方法的假設是物品的特性能自動從文檔內容本身或無結構的文本描述中提取。所以,基於內容的推薦系統的典型例子是比較候選文章的主要關鍵詞和用戶過去高度評價過的其他文章中出現的關鍵詞來推薦新文章,而這些被推薦的物品,就常常指的是“文檔”。本章討論的基於內容的推薦,關注的算法側重於推薦文本描述的物品,並能自動“學習”用戶記錄(基於知識的推薦系統通常是顯式詢問用戶的偏好)

3.1 內容的表示與相似度

  描述物品目錄最簡單的方法就是維護每個物品的特征的詳細列表(屬性集、特征集或物品信息)。以推薦圖書為例,可以把體裁、作者、出版社等信息保存在數據庫中,根據不同的用戶興趣,用這些特征來描述他們的偏好,而要做的就是將物品特征同用戶偏好匹配起來。推薦系統需要收集用戶的記錄,直接的方法是明確詢問用戶ta所接受的范圍和內容,間接的方式是讓用戶給一組物品進行評分,可以是整體評分,也可以是對不同維度進行評分。

  基於內容的推薦系統的工作原理是,評估用戶還沒看到的物品與當前用戶過去喜歡的物品的相似度。

  而衡量相似度的方法有兩種:1、0/1衡量,就是將用戶過去喜歡的物品,同其他ta沒見過的物品n進行比較,如果n的類型在ta喜歡的類型中,則標為1,否則就為0;2、計算相關關鍵詞的相似度或重疊度。典型的相似度系數會用到Dice系數,它比較適合多值特征組合。它是這樣描述的:如果每本圖書b由一組關鍵詞k描述,那么Dice系數描述bi和bj為:2*(kbi∩kbj)/(|kbj|+|kbi|)

  向量空間模型和TF-IDF

  嚴格來講,圖書的類別信息,並不算是圖書的內容,而只能算是附加知識。基於內容的推薦方法不是去維護一組“元信息”特征,而是使用一列在文檔中出現的相關關鍵詞,它的主要思想是,能夠從文檔內容本身或沒有限制的文字描述中自動生成列表。

  文檔內容可以用不同方法轉換到這樣的關鍵詞列表中。首先,一種單純的方法是將現在所有文檔的詞語設為一個列表,然后用布爾型向量描述每一個文檔,1表示文檔出現在文檔中,0表示沒有出現。如果用戶記錄用一個相似的列表描述,那么計算興趣文檔和文檔的重合程度就可以匹配文檔。這個方法存在的問題很明顯。首先是它假設每個詞在文檔中的重要性是相同的,此外,當文檔比較長的時候,用戶記錄和文檔的重疊幾率自然就會大,所以,這樣的推薦系統,往往更傾向於推薦長文檔。

  另一種方法是TF-IDF。它代表的是TF(term-frequence)-IDF(inverse documents frequence),這種技術在信息檢索領域應用廣泛。文本文檔可以轉換為多維歐幾里得空間中的向量,空間維度為文檔中出現的關鍵詞,給定文檔在空間中的坐標,通過子量乘積得到詞頻和反文檔頻率。

  詞頻描述某個詞在一篇文檔中出現的頻繁程度。為了阻止更長的文檔得到更高的相關度的權值,必須對文檔長度進行歸一化處理,有幾種方法是可行的。其中一種簡單方法是將詞出現的次數比上同文檔中其他關鍵詞出現的最多次數。假定:f是某詞在文檔中出現的頻數,fj是其他關鍵詞中最常出現的關鍵詞的頻數 TF=f/fj。反文檔頻率是組合了詞頻后的第二個衡量值,旨在降低所有文檔中幾乎都會出現的關鍵詞的權重。其思想是,那些常見的詞語對區分文檔沒有用,應該給那些僅出現在某些文檔中的詞更高的權值。N是所有可推薦的文檔數量,ni是N中關鍵詞i出現的數量。

  IDF的計算方式:log (N/ni)。文檔關鍵詞的組合TF-IDF的權值可以計算為這兩個子向量的乘積。其實,文檔在處理之前,實際上還要去掉停用詞,停用詞的去除,對模型的效果可能更為明顯。

  TF-IDF的改進及局限

  TF-IDF向量一般很大並且很稀疏。可以使用其他技術來讓它們更緊湊,並從向量中刪除不相關的信息。

1.停用詞和詞干還原。一種直接的方法是刪除所謂的停用詞。在英語中,這類詞一般是介詞和冠詞,這類詞在文檔中幾乎都會出現,可以將他們從文檔向量中刪除。此外,另一種技術是詞干還原或合並,目的是將相同的詞語的不同變形替換成他們共同的詞干(詞根)。

2.精簡規模。僅用n個信息量最大的詞語來減少文檔描述的規模,期望刪除數據中的“噪聲”。原則上,特征選擇技術也可以用於覺得信息量的關鍵詞,然而這種基於學習的方法,不僅會增加模型復雜度,也有可能會傾向於過擬合描述訓練數據的樣本。也有人提出用外部詞典來刪除該領域不相關的詞語,實驗表明,這種方法能持續提高精度,尤其是只能得到很少的訓練樣本時。

3.短語。短語比單詞更能描述文本,用它來替換詞,可能進一步提高描述的准確性。局限性:從文本中抽取個別關鍵詞並賦權的方法有另外的局限,沒有考慮到關鍵詞的上下文,在某些情況下沒有正確體現描述的“含義”。一般來說,我們假設出現在一篇文檔中的詞語通常是適合刻畫文檔,而不是在文檔中出現“反語境”。

3.2 基於內容的相似度檢索

  協同過濾可以被成為“推薦相似用戶喜歡的物品”,基於內容的推薦是稱為“推薦與用戶過去喜歡的物品相似的物品”。從這里來看,推薦系統的任務還是(基於用戶記錄)來預測用戶是否喜歡自己沒有見過的物品。本節會介紹依賴向量——空間文檔表示模型的最常見技術。

  最近鄰:想要估計用戶對某篇文檔感興趣的程度,最初的方法是查詢用戶過去是否喜歡相似的文檔。這需要兩類信息:1.用戶對以前商品的“喜歡/不喜歡”的評價記錄,其次,需要一個標准來衡量文檔的相似度。一般地,使用余弦相似度方法來評價文檔是否相似。優點是,易於實現,快速適應變化,相對少的數據效果也不錯,缺點是,預測精度低。

  相關性反饋:它也是一種基於向量模型的方法,曾用於信息檢索系統SMART,它的特定是,用戶不能只提交給系統基於關鍵詞的查詢詞,還要反饋檢索結果是否相關,有了反饋,系統才能改進。

  其他文本分類方法:將這類問題看作是分類問題,應用機器學習中的有監督學習技術,就會自動決定用戶是否對某篇文檔感興趣,有監督學習意味着算法依賴現成的訓練數據。文中還介紹了基於概率模型的方法、其他線性分類器和機器學習、顯示決策模型和特征選擇。

 

參考文獻:

https://jackence.github.io/2018/01/12/recommendsys2/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM