推薦系統是向用戶建議有用物品的軟件工具和技術。推薦技術實質上是收集各類有用數據,對用戶、物品以及上下文這樣的三元組進行打分,從而實現物品之間的對比,很方便的獲得排序結果。具體怎樣的數據算是有用數據,不一樣的應用場景有不一樣的理解。好比對於電子商務場景來講,物品的描述、物品的屬性、用戶的購買歷史、用戶對於物品的評價、用戶之間的聯繫等等都是有用信息。對於旅遊和餐飲相關的場景來講,用戶所處的位置、用戶的人口統計學信息、酒店的歷史評價、用戶的查詢歷史等等都是有用信息。算法
根據不一樣用戶獲得的推薦結果是否有差別,推薦系統能夠分爲個性化推薦系統和非個性化推薦系統。一般咱們研究的推薦技術是適用於個性化推薦系統的推薦技術。非個性化推薦相關的技術常常應用於一些網站或者應用的榜單,或者商業應用的冷啓動階段。函數
另外,推薦系統中還存在一種被普遍使用的推薦技術,協同推薦。該技術主要是根據類似用戶的偏好來爲目標用戶進行推薦。理論依據是,若是這個活躍的用戶之前與一些用戶有類似愛好,那麼來自這些類似用戶的其餘推薦應該是相關的,這些推薦也是此活躍用戶感興趣的。不過協同推薦技術須要目標用戶已有必定的活動記錄,應用已經可以較爲準確地找到其類似用戶集合,從而對其偏好進行很好的建模。所以,協同過濾技術對於冷啓動階段的推薦有點一籌莫展。工具
推薦系統的功能能夠分別從推薦系統的服務提供商以及用戶兩個方面來進行總結。性能
首先對於推薦系統的服務提供商,推薦系統主要有以下的一些功能:網站
對於推薦系統的用戶,推薦系統主要有以下的一些功能:對象
推薦系統本質上是綜合利用各類信息、收集各類數據來對用戶、物品以及上下文這樣的三元組進行打分。一般推薦系統可以利用的數據主要來自三個方面:物品、用戶以及事務。不一樣領域的推薦系統由於領域的側重點不一樣,對於不一樣來源的數據利用的程度不同。排序
推薦技術是推薦系統的核心,推薦系統爲了識別對用戶有用的物品,必須爲用戶預測出有推薦價值的物品。推薦技術指的是那些針對具體用戶,可以預測一些物品的效用性,或者至少對物品的效用性可以進行比較的技術。形式化來講,推薦技術指的是構建一個打分函數f,該函數可以對<用戶、物品、上下文>這樣的三元組進行打分評估。事務
一般推薦技術能夠分爲以下幾類:資源
推薦系統應用的領域是算法選擇的重要影響因素。產品
對於推薦系統的測評是衡量一個推薦系統的好壞的重要依據,可是對於目前商用的推薦系統進行測評並非一件很容易的事情。整體來講,推薦系統的測評能夠分爲三個類別:離線測評、在線測評以及集中的用戶研究。離線測評通常是在流行的基準數據集上對推薦系統進行測評,多見於學術研究領域。在線測評是指將推薦系統上線到實際的應用場景,根據真實用戶的反饋對系統進行評價,一般這樣的測評方式用於對商用推薦系統的測評。不過因爲真實場景數據量大,涉及用戶多,容易使用戶產生很差的體驗,在線測評成本比較高。集中的用戶研究是當在線測評不可行或者太冒險時採用的一種測評方法,該測評要求一小羣用戶執行隨着系統變化的不一樣的任務,從而完成對真實場景的模擬。
通常推薦系統的評測指標包括一般的信息檢索指標、精準度、覆蓋率、冷啓動、信心值、可信度、新穎性、風險度、驚喜度等等。不一樣的推薦系統對不一樣的特性有本身的偏好,所以對於各評價指標的重視程度也不太相同。
有效的推薦系統須要獲得用戶的信任。一般信任來自於兩個方面:對推薦系統其它用戶的信任以及對推薦系統自己的信任。對推薦系統其它用戶的信任有利於營造一個良好的社區環境,例如對於小紅書中對於知名博主的信任。對推薦系統自己的信任須要推薦系統提供高質量可解釋的推薦結果。 一般咱們也能夠經過提升用戶對推薦系統其它用戶的信任來提高用戶對於推薦系統自己的信任。
推薦系統的解釋在推薦系統中扮演着重要的角色,推薦系統能夠經過解釋實現如下七大功能:透明度、可反饋性、信任、有效性、說服力、高效性、滿意度。
另一種交互模式是會話系統,會話系統主要是解決了傳統推薦系統一次性收集全部輸入數據,並且只返回一次結果這樣的模式帶來的問題。基於會話的推薦系統,容許用戶和推薦系統進行屢次交互,用戶能夠對推薦系統提供的推薦進行修改和反饋,使得推薦系統可以更好地對用戶偏好進行建模,從而返回更高質量的推薦結果。