推薦系統 基本概念

2021-07-01 21:44:37 字數 4113 閱讀 5831

帕洛阿爾托研究中心的tapestry系統(goldberg et al.1992)引入了協同過濾的思想和概念,展示了如何將顯示標註資料和隱式行為資料注入可查詢的資料庫中,以及使用者如何利用這些資料進行個性化過濾。

grouplens系統(resnick et al.1994)展示了協同過濾方法既能跨網計算又能自動完成,grouplens針對usenet新聞訊息進行自動協同過濾。

mit的ringo系統是針對**唱片和藝術家進行過濾。

每個系統都是使用相似的自動化技術——通過演算法識別出其他有相似愛好的使用者,然後綜合他們的評分給出個性化的加權平均值。簡單的「k最近鄰」演算法非常有效,在所有協同過濾演算法中脫穎而出,很快成為**標準。

面向系統的探索

此階段(不僅是通過協同過濾,還有基於知識的系統,比如findme系統(burke et al.1996))證明了推薦系統的可行性和效果,極大地激發了人們推動該領域在科研及商業實踐方面不斷向前發展。

這一階段的關鍵事件是2023年3月在伯克利舉辦的協同過濾專題研討會。這次集會將工作在個性化和非個性化系統、不同演算法(從統計彙總、k最近鄰到貝葉斯聚類)、不同領域的人們聚集在了一起,最後達成共識:圍繞乙個主題,推薦系統展開。專題學術研討會的《acm通訊》專刊(resnick and varian 1997)

快速商業化推薦成為主流

推薦系統作為一門技術仍然存在,並廣泛應用在電子商務、大規模零售業和各種知識管理應用中;與此同時,來自人工智慧、資訊檢索、資料探勘、安全與隱私以及商業與營銷等各個領域的研究,都為推薦系統提供了新的分析和方法。

前進——基於上下文的推薦

證明推薦領域評估演算法中傳統的「隱藏某些資料」方法存在缺陷的** (marlin and zemel 2009),而近年被引用冊數最多的推薦領域**是一篇設計如何讓評估適合使用者需求的**(herlocker et al.2004)。

推薦領域的核心問題是:努力推薦使用者支付得起、個性化、匹配度高的產品,這也對技術和心理學提出了很多挑戰。儘管在技術層面上,我們關心的是發現盡可能有效利用可用資訊和知識的方法,但在設計終端使用者互動過程時,必須考慮到心理層面的因素。因此,推薦系統不能被簡單化為簡單的決策理論概念。

目錄協同過濾推薦

基於內容的推薦

基於知識的推薦

混合推薦方法

推薦系統的解釋

評估推薦系統

如何發現與我們要推薦的使用者有著相似偏好的使用者?

如何衡量相似度

如何處理還沒有購買經歷的新使用者?

如果只有很少的評分該怎麼辦?

除了利用相似的使用者之外,還有那些技術可以用來**某個使用者是否喜歡其物品?

純粹的協同過濾方法不會利用或要求任何有關物品本身的知識。

(user-based nearest neighbor recommendation),其主要思想簡述為:首先,給定乙個評分資料集合當前(活躍)使用者的id作為輸入,找出與當前使用者過去有相似偏好的其他使用者,這些使用者有時也被稱為對等使用者或最近鄰使用者;然後,對當前使用者沒有過的每個產品p,利用其近來對p的評分計算**值。這種方法的假設是:(1)如果使用者過去有相似的偏好,那麼他們未來也會有相似的偏好;(2)使用者偏好不會隨時間而變化。

儘管基於使用者的協同過濾方法已經被成功應用於不同的領域,但在一些有著數以百萬計使用者和物品的大型電子商務**上還是會存在很多嚴峻挑戰。尤其是當需要掃瞄大量潛在近鄰時,這種方法很難做到實時計算**值。因此,大型電子商務**經常採用一種不同的技術:基於物品的推薦。這種推薦非常適合做線下預處理,因此在評分矩陣非常大的情況下也能做到實時計算推薦(sarwar et al.2001)

基於物品演算法的主要思想是利用物品間相似度,而不是使用者間相似度來計算**值。

一般來說,推薦系統有兩個目的。一方面,推薦系統被用於激發使用者去做某件事情,比如購買一本或觀賞一部電影;另一方面,推薦系統也可以被看做是解決資訊過載的工具,因為系統的目標是從大集合裡選擇最感興趣的物品。因此推薦系統根植於資訊檢索和資訊過載領域。這些領域主要強調的是區分相關和不相關的文件。(這些領域的許多技術利用了源於文件內容的資訊進行排名)。

1)、基於內容推薦的核心:

基於內容推薦的核心是能夠得到物品的描述(不管是人工生成還是自動獲取的)和這些特徵的重要記錄。與物品的描述類似,使用者記錄也需要自動抽取或「學習」,方法是分析使用者的行為和反饋,或者直接詢問使用者的興趣和偏好。

2)、基於內容推薦必須回答下面的問題:

系統如何自動獲取並持續改進使用者記錄

如何決定哪個物品匹配或者至少能接近、符合使用者的興趣?

什麼技術能自動抽取或學習物品的描述,從而減少人工標註?

不需要大規模使用者就可以達到適度的推薦精確度;

一旦得到物品的屬性就能立刻推薦新物品。

基於知識的推薦系統可以解決冷啟動問題,推薦結果不依賴單個使用者評分:要麼是以使用者需求與產品之間相似度的形式,要麼是根據明確的推薦規則。關於推薦系統是什麼,傳統解釋一般強調資訊過濾這一方面,及過濾出某個使用者可能感興趣的產品。相比較而言,基於知識推薦的互動性很強,這個基本性質也是作為會話式系統的原因。互動性方面的稍微改變使得推薦系統不再僅僅被看做一種過濾系統,而是更為廣義上「以一種個性化方法引導使用者在大量潛在候選項中找到感興趣或有用的物品,或者產生這些物品作為輸出結果」的系統。

基於知識推薦的兩種基本型別是基於約束推薦和基於例項推薦

1)、相同點:這兩種方法在推薦型別上非常類似,使用者必須指定需求,然後系統設法給出解決方案。如果找不到解決方案,使用者必須修改需求。此外,系統還要給出推薦物品的解釋。

2)、不同點:這些推薦系統的不同之處在於如何使用所提供的知識,基於例項的推薦系統著重於根據不同的相似度衡量方法檢索出相似的物品,而基於約束的推薦系統依賴明確定義的推薦規則集合。基於約束的協同會在符合推薦規則的所有物品集合中搜素得出要推薦的物品集合。另一方面,基於例項的系統會根據相似度衡量標準檢索那些與特定使用者需求(在預定義閥值內)相似的物品。

哪種領域知識能表示成知識庫

什麼機制可根據使用者的特點來選擇和排名物品?

如何在沒有購買記錄的領域獲取使用者資訊?如何處理使用者直接給出的偏好資訊?

哪種互動式能夠用於互動式推薦系統?

設計對話時,要考慮哪些個性化因素才能確保準確獲得使用者偏好資訊?

我們已經看到,由於問題背景不同,目前討論的方法各有優、缺點。一種顯而易見的方法就是組合不同技術產生更好或更精確的推薦(我們以後會討論什麼是」好「的推薦)。如果既有群體知識,又可以取得詳細的物品資訊,那麼把基於內容的技術和協同或社會化過濾技術相混合就能夠增強系統的效果。這種設計尤其適用於克服純粹協同方法的規模膨脹問題,並依賴內容分析處理新物品或新使用者。

哪種方法能夠被組合,特定組合的前提是什麼?

兩個或多個推薦演算法是應該順序計算,還是採用其他混合方式?

不同方法的結果如何賦以權重,可以動態決定嗎?、

人們在交流和推理的時候經常會用到」解釋「。因此,在人工智慧研究領域,尤其在開發模仿人類行為的系統方面,研究者對解釋的本質產生極大的興趣。從」什麼是解釋?「這個問題開始,我們遇到了無數的可能性。因此,人們還不清楚該如何設計一種通用的方法生成解釋。面對這樣的挑戰,有人可能會問為什麼推薦系統需要給出解釋。問題的答案與兩個方面有關:推薦的提供方和接受方。

儘管對」解釋「 的理解各不相同,但幾乎所有人都同意解釋是一種在溝通過程中進行交流的資訊。在推薦系統裡,用這種資訊補充推薦結果的目的有很多。從實用角度看,在推薦結果中提供解釋的主要目的可以列舉如下:

透明性正確性

可信度說服力

有效性效率

滿意度關聯度

可理解性教育

解釋被用於溝通過程中。因此,乙個解釋是否適合取決於解釋的提供方和接受方兩者的目標。因此,我們可以通過對接受方進行建模來提高解釋的質量。

此外,解釋是否正確(或有用)取決於溝通過程本身,後面將會講到早期生成解釋的嘗試中忽視的乙個事實,這個事實將有可能導致虛假的解釋。總結,下面幾個因素會影響到推薦系統在與接收方溝通時的解釋生成:

需要解釋的資訊項

提供(接受)解釋的目的

溝通的狀態,指交換的資訊,包括提供的推薦。

如何實現這些目標取決於所用的推薦方法!

哪些研究設計適用於評估推薦系統

如何利用歷史資料實驗評估推薦系統

什麼衡量標準適合不同的評估目標

現有評估技術的侷限是什麼?尤其是在推薦系統的會話性或商業價值。

推薦系統的基本概念

雖然完整的推薦系統需要考慮 5w 問題,但向誰 who 推薦什麼 what 是問題的核心。所以,本章我們介紹乙個解決這兩個核心問題的推薦系統。使用的資料和推薦任務如下圖所示,已知使用者對部分內容的評分 偏好 推測他們對未評分內容的評分,並據此進行推薦。協同過濾推薦 collaborative fil...

基本概念 數控系統基本概念

第一章 基本概念 數控工具機cnc是一種按事先編制好的加工零件程式進行加工的高效 自動化加工裝置。是 computer numerical control machine tools 的簡稱。數控工具機較好地解決了複雜 精密 小批量 多品種的零件加工問題,是一種柔性的 高效能的自動化工具機。西門子系...

Linux系統基本概念

程式 編譯好的二進位制檔案,存在於磁碟上,不占用系統資源 cpu,記憶體,開啟的檔案 裝置 鎖.程序 是乙個抽象的概念,與作業系統原理聯絡緊密,程序是活躍的程式,占用系統資源,程式執行起來產生乙個程序。同乙個程式可以被同時載入成不同的程序 彼此互不影響 2.時鐘中斷 硬體手段 3.程式執行過程 儲存...