本節書摘來自華章出版社《推薦系統:技術、評估及高效算法》一書中的第1章,第1.2節,作者 [ 美]弗朗西斯科·裡奇(francesco ricci)利奧·羅卡奇(lior rokach)布拉哈·夏皮拉(bracha shapira)保羅 b.坎特(paul b.kantor),更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視
在前面的内容中,将推薦系統定義為軟體工具和技術,這些工具和技術用于為使用者提供物品建議資訊,而這些推薦資訊使用者或許會利用。現在我們要完善該定義,以此來表明推薦系統可以起到一系列可能的作用。首先,我們必須差別推薦系統在服務提供商和使用者這兩方面分别起到的作用。例如,旅遊中間商(如expedia.com)或目的地管理機構(如visitfinland.com)通常會采用旅遊推薦系統來增加營業額,比如,銷售更多的房間,或者增加目的地的遊客數量[86]。然而,使用者通路這兩個系統的主要動機是在去某個目的地旅遊時,找到合适的酒店和有趣的事件或景點。
事實上,服務提供商采用這種技術的原因是多樣的:
增加物品銷售數量。這可能是商用推薦系統最重要的作用,即與沒有使用任何一種推薦系統相比,能賣出一些額外的物品。能做到這一點是因為推薦物品可能适合了使用者的需求和願望。或許使用者在嘗試過幾個推薦後,會認識到這一點 說服使用者接受推薦的問題,會在我們解釋預測使用者對一物品的興趣與使用者挑選推薦物品的可能性之間的差異時再次進行讨論。。非商業應用也有類似的目标,雖然使用者在選擇物品的時候無須任何費用。例如,一個基于内容的新聞推薦系統的目的是提高網站上新聞類物品的閱讀量。
通常,從服務提供商的角度來看,引入推薦系統的主要目的是提高轉化率,即接受推薦并消費物品的使用者數量比上僅浏覽了這些資訊的普通訪客數量。
出售更多種類的物品。一個推薦系統的另一個主要功能是讓使用者能夠選擇物品。如果沒有這樣精準的推薦系統,使用者可能很難找到自己要選擇的物品。例如,對于像netflix這樣的電影推薦系統,服務提供者感興趣的是要能租出去清單裡的所有dvd,而不僅僅是最熱門的。如果沒有推薦系統,這就很困難了。因為服務提供商沒法保證推銷的電影就一定能适合特定使用者的口味。相反地,推薦系統就能向合适的使用者建議或推銷不那麼熱門的電影。
增加使用者滿意度。一個設計良好的推薦系統還可以提高網站或者應用程式的使用者體驗。使用者會覺得推薦結果既有趣又相關,而且如果人機互動設計得合理,他還會樂于使用這個系統。準确有效的推薦結果,加上可用的使用者接口,這些措施将會增加使用者對系統的主觀評價。反過來這将增加系統的使用率和推薦結果被接受的可能性。
增加使用者忠誠度。使用者應該忠于一個網站,這樣當使用者通路該網站時,該網站能夠識别出老客戶并把他作為一個有價值的通路者。這是一個推薦系統的固有特性,因為許多推薦系統是利用使用者之前與網站的互動資訊來産生推薦結果的,這些互動資訊包括該使用者對物品的評分記錄等。是以,使用者與網站的互動時間越久,使用者模型就變得越精确,即使用者偏好的系統表示越準确;與此同時,更多的推薦能有效地比對使用者的喜好。
更好地了解使用者需求。推薦系統另一個重要的功能是用來描述使用者的喜好(這一功能能夠在許多其他應用中使用),這些喜好是收集到的顯式回報或者由系統預測到的(隐性回報)。然後,為了其他目的,如提高物品的庫存管理或生産管理,服務提供商可能重新使用這方面的知識。例如,在旅遊領域,目的地管理機構可以通過分析由推薦系統收集的資料(使用者的交易),決定為一個特定區域的新客戶部門做宣傳或為特定類型的促銷資訊釋出廣告。
我們在上述中提到了電子服務提供商引入推薦系統的幾個重要動機。但是如果推薦系統能夠有效地支援使用者的任務或目标,他們或許也會考慮使用推薦系統。是以推薦系統必須平衡這兩類參與者的需求,并為兩者都提供有價值的服務。
herlocker等[25]的一篇論文已經成為這一領域經典的參考文獻,文中定義了推薦系統能夠實作的11個常見的功能。有些可能通常被視為與推薦系統相關的主要或核心任務,即可能會對使用者有用的物品推薦。其他的可能更多地被視為以“機會主義”的方式開發的。事實上,這種任務的分化與使用搜尋引擎所遇到的事情很相似,搜尋引擎的主要功能是找到使用者需求資訊的相關檔案,但它也可以用于檢查一個網頁的重要性(在查詢結果清單中該頁的位置)或發現一個詞在文檔中的不同用法。
發現一些好的物品:根據使用者對物品的喜歡程度(例如,1到5星的評分)的預測結果,我們可以用清單榜單的形式推薦給使用者一些物品。對商業系統來說,這是推薦系統的主要任務(見第9章)。有些系統不顯示具體的預測評分。
發現所有好的物品:推薦所有能滿足使用者需求的物品。在這種情況下,僅找到一些合适的物品是不夠的。當相關物品的數量很少或當推薦系統扮演關鍵角色時,推薦系統要格外精确。例如,推薦系統在醫療或金融領域的應用。在這些情況下,除了仔細評估所有可能性帶來的好處,使用者還可以從推薦系統的物品排序或者推薦系統額外産生的解釋(推薦理由)中受益。
産品注解:在給定的上下文語境中(如一個物品推薦清單),我們根據使用者的長期偏好來确定這些物品的重要性。例如,一個電視推薦系統會辨別在電子節目菜單中出現的哪些電視節目是值得觀看的(第18章提供了這個任務的一個有趣執行個體)。
推薦系列産品:這個思路是将物品的序列作為一個令使用者滿意的整體進行推薦,而不是集中産生單一的推薦。典型的例子包括推薦一個電視節目系列;推薦一本資料挖掘的書之後,還推薦一本關于推薦系統的書;或者是一個音樂曲目的總集[99],[39]。
搭配推薦:提供一組完美搭配的物品。例如,一個旅行計劃可能由某個特定區域的不同景點、目的地和住宿服務組成。從使用者的角度來看,使用者可以考慮這些不同的替代方案,并選擇一個唯一的旅遊目的地[87]。
閑逛:在這項任務中,使用者隻是簡單地浏覽目錄而并不帶有強烈的購買意圖。推薦系統的任務是幫助使用者浏覽一些其在特定浏覽時期可能會感興趣的物品。自适應超媒體技術[23]已經支援該服務。
發現可信的推薦系統:有些使用者不信任推薦系統,于是他們抱着試試看的态度去嘗試推薦系統的推薦結果。是以,除了那些僅僅想要獲得推薦的使用者,一些系統還提供特定的功能讓使用者測試推薦系統的行為。
完善使用者資料:這涉及使用者向推薦系統提供自己偏好資訊的能力。為了提供個性化推薦,這是一個基本任務,也是絕對必要的。如果系統不了解活躍使用者(即尋求推薦幫助的使用者)的明确資訊,那系統隻能提供給該活躍使用者與一般使用者一樣的推薦。
自我表達:有些使用者可能一點也不在意給出的推薦結果。相反,對他們重要的是,系統允許他們展示他們的評分,并表達他們的評價和觀念。這種行為産生的使用者滿意度仍會有助于保持使用者和應用程式的緊密關系(正如我們前面讨論服務提供商的動機中提到的那樣)。
幫助他人:有些使用者樂于貢獻資訊,如他們對物品的評價(評分),因為他們相信社群能從他們的貢獻中獲得益處。這可能是将這類資訊輸入推薦系統的主要動機,即使他們不經常使用這個推薦系統。例如,汽車推薦系統中,一個已經買了新車的使用者将評價資訊輸入推薦系統時,他更多考慮的是這些資訊對于其他使用者有用,而不是為了下次再買一輛車。
影響他人:在基于web的推薦系統中,某些使用者的主要目标是對其他購買特定産品的使用者産生明顯的影響。實際情況是,有一些惡意使用者可能利用系統僅僅用來促進或抑制某些物品的銷售(見第25章)。
正如這些觀點所表明的那樣,資訊系統中的推薦系統的作用是有很大差別的。這種多樣性需要利用一系列不同的知識源和技術。在接下來的兩節中,我們将讨論一個推薦系統的資料和推薦系統常用的核心技術。