推薦系統是解決信息過載的工具,根植於信息檢索和信息過濾。網絡
推薦系統一般會用到有關當前用戶和有效物品的額外信息,基於約束的推薦(分辨率、重量、價格),喜歡不喜歡,評分高低,價格高低。工具
設計對話時,要考慮那些個性化因素才能確保準確得到用戶的偏好信息?對象
現有評估技術的侷限是什麼?尤爲是在推薦系統的會話性或商業價值方面。
主要思想:利用假定用戶品味的「傳遞性」,並由此加強額外信息矩陣。
擴展激活的特殊圖搜索方法高效地分析由評分矩陣轉化爲用戶和物品的雙向圖。
缺省投票是處理稀疏評分數據的技術。給那些只有一兩個用戶評分的物品賦以缺省值,就像一種緩衝機制減小那些個別巧合因素對類似度的影響。
冷啓動問題是稀疏問題的一個特例:如何向沒給任何物品評分的新用戶推薦?如何處理從未被評過度或購買過的物品?均可以利用額外的外部信息解決。
用戶A和用戶B過去有着相同的偏好,那麼能夠用如今A的偏好預測將來B的偏好。
基於用戶的最近鄰推薦:給定一個評分數據集合當前活躍用戶做爲輸入,找出和當前用戶過於有類似偏好的其餘用戶(對等用戶/最近鄰用戶)。對當前用戶沒有見過的物品p,利用其近鄰對p的評分計算預測值。
前提:若是用戶過去有類似的偏好,那麼他們將來也會有類似的偏好,用戶偏好不會隨時間而變化。
Pearson相關係數(強負相關-1~強正相關+1),Pearson方法考慮到了用戶評分標準不一樣的事實(有人愛打高分),但仍然能夠發現評分值之間至關明顯的線性相關性。用戶a、b的類似度:sim(a,b) (2.1)
最初概念(inverse document frequency)反文檔頻率。
Pearson不能解決,可是方差權重因子能夠解決高方差評分值的物品。
樣本擴展指強調那些接近+1和-1的值,對原始數值乘以一個常量p來調整近鄰的權值。
下降近鄰集合規模的方法:爲用戶類似度定義一個具體的最小閾值,或者將規模大小限制爲一個固定值,並且只考慮k個最近鄰。(問題:類似度閾值太高,近鄰規模就會很小,則不少物品沒法預測;類似度閾值太高,近鄰規模就會很小)
基於物品的最近鄰推薦:很是適合作線下預處理,在評分矩陣很是大的狀況下也能作到實時計算推薦。
主要思想:利用物品間的類似度,而不是用戶間的類似度來計算預測值。
餘弦類似度度量:用兩個n維向量之間的夾角來測算類似度。(用於信息檢索和文本挖掘,比較兩份文檔)
類似度值介於0~1,改進後像Pearson方法同樣,在評分值中減去平均值。則能夠在原始的評分數據集上用評分值相對於平均值的誤差取代原始值。
二次採樣:隨機選取數據的子集,或者忽略那些僅有很是少許評分或僅包含很是熱門物品的用戶記錄。
協同推薦技術通常分爲兩類:基於記憶(傳統,原始評分保存在內存中,直接生成結果。)和基於模型(離線處理原始數據,運行時預計算或「學習過」的模型就能預測)
簡單的檢索方法沒法檢索同義詞,SVD將高度相關且一塊兒出現過的詞語做爲單獨因子,把一般很大的文檔向量矩陣拆解爲更小階的近似矩陣。
主成分分析(Eigentaste)。主成分分析(PCA)對評分數據預處理,過濾得出數據中最重要的方面,以解釋大多數變量。
是一種在大規模交易中識別相似關聯規則模式的通用技術。例如買尿布就有可能買奶粉。
用機率方法實現協同過濾,將預測問題看作分類問題,將一個對象分配給幾個事先定義好的類別的任務。分類任務能夠被當作是從訓練示例中學習映射函數(分類模型)的問題。
貝葉斯分類器是數據挖掘領域用到的一種標準技術。計算用戶給定的每一個可能的評分值的條件機率,而後選擇一個最大機率值得評分做爲預測值。計算預測某物品評分爲1的機率,則必須計算條件機率P(某物品=1|X),X是其餘評分(a=2 b=3.....)
依賴機率模型最經常使用方法基於的思想是將類似的用戶組成一個聚類。
貝葉斯分類方法的優點:數據中的個別噪聲點被平均化,不相關的屬性對計算後驗機率只有不多或沒有影響。貝葉斯網絡沒有過擬合模型的強烈傾向。還適用於不完整的數據。
====================================================================
推薦系統只要兩類信息:物品特徵的描述和描述了用戶(歷史)興趣的用戶記錄(喜好物品的特色等),就能完成推薦任務(包括肯定最能匹配用戶喜好的物品)。這個過程被稱爲基於內容的推薦。
關注的算法側重於推薦文本描述的物品,並能自動「學習」用戶的記錄。
描述物品目錄最簡單的方法就是維護每一個物品特徵的詳細列表(屬性集/特徵集/物品記錄),推薦要作的就是將物品特徵和用戶偏好匹配起來。
工做原理:評估用戶還沒看到的物品與當前用戶過去喜歡的物品的類似程度。
方法不一:1.給定一本圖書B,能夠檢查B的體裁是否在Alice喜歡的體裁中,類似度爲0/1。
2.計算相關關鍵詞的類似度或重疊度。典型類似度度量方法會用到Dice係數,它比較適合多值特徵集合。
Dice計算bi和bj類似度的公式爲:2|keywords(bi)∩keywords(bj)|/(|keywords(bi)|+|keywords(bj)|)
基於內容推薦的標準方法不是去維護一列「元信息」的特徵,而是使用一列出如今文檔中的相關關鍵詞。
主要思想:可以從文檔內容自己或沒有限制的文字描述中生成這樣的列表。
簡單布爾方法:將出如今全部文檔的全部詞語設爲一個列表,而後用一個布爾型向量描述每一個文檔,1表示出現,0表示沒有出現。若是用戶記錄用一個類似的列表描述(1表示感興趣),計算興趣和文檔的重合程度就能夠找到匹配的文檔。缺點:假如文檔過長就會重合頻率高,則傾向於推薦長文檔。
TF-IDF:解決簡單布爾方法缺陷。表明詞頻和反文檔頻率。文本文檔能夠經過TF-IDF轉換成多位歐幾里得空間中的向量。空間維度(詞(term)/標記(token))對應文檔中出現的關鍵詞,給定文檔在每維(每一個詞)的座標由兩個子量(詞頻和反文檔頻率)的乘積得出。
詞頻:描述某個詞在一篇文檔中出現的頻繁程度(假設重要的詞語出現得更多)。必須將文檔長度的某種歸一化:將詞出現的實際次數/文檔中其餘關鍵詞出現的最屢次數。
例如:找出文檔j中關鍵詞i的歸一化詞頻值TF(i,j)。設freq(i,j)是i在j中出現的絕對頻率。給定關鍵詞i,令Otherkeywords(i,j)表示其餘關鍵詞集合。
最大頻率maxOthers(i,j)計算爲max(freq(i,j)),z∈Otherkeywords(i,j)。
TF(i,j)=freq(i,j)/maxOthers(i,j) (3.2)
反文檔頻率是組合了詞頻後的第二個衡量值,旨在下降全部文檔中幾乎都會出現的關鍵詞的權重。
思想:常見詞語對區分文檔沒用,應給僅出如今某些文檔中的詞更高的權值。
設N爲全部可推薦文檔的數量,n(i)爲N關鍵詞i出現過文檔的數量。
i的反文檔頻率爲:IDF(i)=log(N/n(i)) (3.3)
文檔j中的關鍵詞i組合TF-IDF權值能夠計算爲這兩個子量的乘積:TF-IDF(i,j)=TF(i,j)*IDF(i) (3.4)
1.停用詞(a,the)和詞幹還原或合併(go,went,stem,stemming)(英語)
2.精簡規模。僅用n個信息量最大的詞語來減小文檔描述的規模。
3.短語。比單詞更能描述文本。(查找人工定義的列表或採用統計分析技術來識別短語)
4.侷限。沒有考慮到關鍵詞所處的上下文。(故前提是這篇文檔中的詞一般適合刻畫文檔,而不多在文檔中出現相反語境,例如:本菜單不會有素食者喜歡的事物。可能素食者檢索時就會搜到這家餐廳)
估計用戶對某文檔的興趣程度。查一下用戶過去是否喜歡類似的文檔,須要兩類信息:1.用戶對之前物品「喜歡/不喜歡"的記錄。2.一個標準衡量兩個文檔的類似度。通常用餘弦類似度方法。
優勢:1.相對易於實現。2.快速適應新近變化。3.只要有較少評分數據就可以獲得必定的推薦質量。
主要思想:首先將評分文檔劃分爲兩組:D+和D-,分別對應喜歡(感興趣/相關)和不喜歡的文檔,並計算這些分類的初始(平均)向量。這些初始向量也能夠被看做是相關和不相關文檔聚類的重心。當前查詢詞Qi像文檔同樣表示爲多維單詞向量,而後重複地