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