1.1 推薦系統簡介
推薦系統是向使用者建議有用物品的軟體工具和技術。推薦技術實質上是收集各種有用資料,對使用者、物品以及上下文這樣的三元組進行打分,從而實現物品之間的對比,很方便的得到排序結果。具體怎樣的資料算是有用資料,不同的應用場景有不同的理解。比如對於電子商務場景來說,物品的描述、物品的屬性、使用者的購買歷史、使用者對於物品的評價、使用者之間的聯絡等等都是有用資訊。對於旅遊和餐飲相關的場景來說,使用者所處的位置、使用者的人口統計學資訊、酒店的歷史評價、使用者的查詢歷史等等都是有用資訊。
根據不同使用者得到的推薦結果是否有差異,推薦系統可以分為個性化推薦系統和非個性化推薦系統。通常我們研究的推薦技術是適用於個性化推薦系統的推薦技術。非個性化推薦相關的技術經常應用於一些網站或者應用的榜單,或者商業應用的冷啟動階段。
另外,推薦系統中還存在一種被廣泛使用的推薦技術,協同推薦。該技術主要是根據相似使用者的偏好來為目標使用者進行推薦。理論依據是,如果這個活躍的使用者以前與一些使用者有相似愛好,那麼來自這些相似使用者的其他推薦應該是相關的,這些推薦也是此活躍使用者感興趣的。不過協同推薦技術需要目標使用者已有一定的活動記錄,應用已經能夠較為準確地找到其相似使用者集合,從而對其偏好進行很好的建模。因此,協同過濾技術對於冷啟動階段的推薦有點束手無策。
1.2 推薦系統的功能
推薦系統的功能可以分別從推薦系統的服務提供商以及使用者兩個方面來進行總結。
首先對於推薦系統的服務提供商,推薦系統主要有如下的一些功能:
- 增加物品銷售數量(提高轉化率)
- 出售更多種類的物品
- 增加使用者滿意度
- 增加使用者忠誠度
- 更好地瞭解使用者需求
對於推薦系統的使用者,推薦系統主要有如下的一些功能:
- 發現一些好的物品
- 發現所有好的物品
- 產品註解(一個電視推薦系統會標識在電子節目選單中出現的哪些電視節目是值得觀看的)
- 推薦系列產品
- 搭配推薦
- 閒逛(有些人逛淘寶、天貓只是為了消磨時間。使用者滿意度的體現)
- 發現可信的推薦系統(使用者忠誠度)
- 自我表達
- 幫助他人
- 影響他人
1.3 資料和知識資源
推薦系統本質上是綜合利用各種資訊、收集各種資料來對使用者、物品以及上下文這樣的三元組進行打分。通常推薦系統能夠利用的資料主要來自三個方面:物品、使用者以及事務。不同領域的推薦系統因為領域的側重點不同,對於不同來源的資料利用的程度不一樣。
- 來自物品的資料:物品是被推薦的物件集。物品具有複雜性和有價值或效用的特定。物品中包含的資訊主要是物品的一系列屬性和特徵。例如,對於電影來說,導演資訊和演員資訊以及劇情簡介是電影十分重要的屬性和特徵。
- 來自使用者的資料:為了實現個性化推薦,推薦系統在推薦的時候會考慮使用者的一系列資訊,例如,使用者的人口統計學資訊、使用者的社交關係、使用者的歷史記錄等等,這些資訊有利於推薦系統對使用者的偏好進行建模,從而更好地為使用者完成推薦服務。在個性化推薦中,使用者模型始終起著關鍵作用。
- 事務資料:事務是指使用者和物品之間的關係。我們一般將一個事務看作使用者和推薦系統進行互動的一條記錄。通常,評分是推薦系統收集交易資料的最流行的方式。評分包括如下的一些形式:數字評分、序數評價、二元制評價、一元制評價以及關聯使用者和物品的標籤(也就是使用者對某些特定物品打的標籤,比如針對某一部電影,使用者可能的標籤有“太長”、“演員演技好”等)等等。
1.4 推薦技術
推薦技術是推薦系統的核心,推薦系統為了識別對使用者有用的物品,必須為使用者預測出有推薦價值的物品。推薦技術指的是那些針對具體使用者,能夠預測一些物品的效用性,或者至少對物品的效用效能夠進行比較的技術。形式化來說,推薦技術指的是構建一個打分函式f,該函式能夠對<使用者、物品、上下文>這樣的三元組進行打分評估。
通常推薦技術可以分為如下幾類:
- 基於內容的推薦技術:系統為使用者推薦與他們過去的興趣類似的物品。
- 協同過濾:找到與使用者有相同品味的使用者,然後將相似使用者過去喜歡的物品推薦給使用者。
- 基於人口統計學的推薦技術:這種型別的推薦系統推薦物品時是基於人口統計資訊的。
- 基於知識的推薦技術
- 基於社群的推薦技術:主要是利用了使用者的社交關係。依賴使用者朋友的偏好。
- 混合推薦系統
1.5 應用與評價
推薦系統應用的領域是演算法選擇的重要影響因素。
對於推薦系統的測評是衡量一個推薦系統的好壞的重要依據,但是對於目前商用的推薦系統進行測評並不是一件很容易的事情。總體來說,推薦系統的測評可以分為三個類別:離線測評、線上測評以及集中的使用者研究。離線測評一般是在流行的基準資料集上對推薦系統進行測評,多見於學術研究領域。線上測評是指將推薦系統上線到實際的應用場景,根據真實使用者的反饋對系統進行評價,通常這樣的測評方式用於對商用推薦系統的測評。不過由於真實場景資料量大,涉及使用者多,容易使使用者產生不好的體驗,線上測評成本比較高。集中的使用者研究是當線上測評不可行或者太冒險時採用的一種測評方法,該測評要求一小群使用者執行隨著系統變化的不同的任務,從而完成對真實場景的模擬。
一般推薦系統的評測指標包括通常的資訊檢索指標、精準度、覆蓋率、冷啟動、信心值、可信度、新穎性、風險度、驚喜度等等。不同的推薦系統對不同的特性有自己的偏好,因此對於各評價指標的重視程度也不太相同。
1.6 推薦系統與人機互動
有效的推薦系統需要得到使用者的信任。通常信任來自於兩個方面:對推薦系統其它使用者的信任以及對推薦系統本身的信任。對推薦系統其它使用者的信任有利於營造一個良好的社群環境,例如對於小紅書中對於知名博主的信任。對推薦系統本身的信任需要推薦系統提供高質量可解釋的推薦結果。 通常我們也可以通過提高使用者對推薦系統其它使用者的信任來提升使用者對於推薦系統本身的信任。
推薦系統的解釋在推薦系統中扮演著重要的角色,推薦系統可以通過解釋實現以下七大功能:透明度、可反饋性、信任、有效性、說服力、高效性、滿意度。
另外一種互動模式是會話系統,會話系統主要是解決了傳統推薦系統一次性收集所有輸入資料,而且只返回一次結果這樣的模式帶來的問題。基於會話的推薦系統,允許使用者和推薦系統進行多次互動,使用者可以對推薦系統提供的推薦進行修改和反饋,使得推薦系統能夠更好地對使用者偏好進行建模,從而返回更高質量的推薦結果。