目錄結構
1,推薦系統的概率及部署
2,新聞推薦系統特點分析
3,協同過濾算法分析
4,系統評估與安全
一:推薦系統的概覽及部署
首先明確一個概念,推薦系統是什么,或者說解決了什么樣的一個問題。
新聞推薦系統解決的是咨詢、用戶和環境之間的關系,如圖,通過對用戶特征、環境特征、文章特征做綜合分析,將最合適、有效的內容推薦給用戶。
推薦系統在業務平台的定位
正所謂巧婦難為無米之炊,不光新聞推薦系統,幾乎所有人工智能模型都離不開大數據組件的支持。
要做到一個“千人千面的推薦系統“,需要大數據的支持,可能涉及的大數據組件如spark、Hadoop,支持組件ES、Kafka等,不做具體分析,各有好壞,需要再實際業務環境中選擇使用,不用最好的,但要最適合的。
推薦系統在整個系統中的粗略定位如下。
推薦系統的核心模塊
系統是個閉環,從數據收集啟動,通過ETL做標的物處理,經特征工程做特征后,交由推薦算法處理訓練、預測,生成推薦結果,推薦結果提交給用戶后收集用戶反饋,並以此作為數據不斷優化更新模型。如圖。
常用特征分析
處理好特征,有助於推薦的精准度,特征一般包含相關性特征,環境變量特征,熱度特征,協同特征。依據具體業務邏輯特征選取使用。
召回、排序策略
針對生成結果如何召回、排序也是一個需要考慮的問題,個人建議執行多路召回,避免了單一算法的局限性,有效解決產生推薦范圍越來越單調的問題。
具體通過對不同路線召回的權重選擇,時間衰減降權,懲罰熱點等完成。
二:新聞推薦的特點分析
新聞推薦的特點,注定需要NLP的煉金石。
文本分析在新聞推薦中的應用
用戶興趣:為喜歡【游戲】相關文章的用戶打上【游戲】標簽。
內容推薦:把喜歡【電影】相關推薦給喜歡【電影】的用戶。
頻道生成:把【財經】文章歸類到【財經頻道】。
文本特征
新聞資訊類產品的特殊性,注定了對內容實時性的需求,導致對歷史數據消費不足,沒有文本特征冷啟動困難。
一般人為使用分類、實體詞、關鍵字等顯式特征,部分使用隱式特征(如LSA)。
文本特征價值:
細粒度啟動能力強,如:【故宮旅行攻略】與【北京旅行攻略】。
無文本特征,搜索引擎無法工作。
文本特征模型:
個人推薦bert,bert在問答系統、情感分析、命名實體識別、垃圾郵件過濾、文檔聚類等方面成績顯著,這些對新聞推薦工作都是有幫助的。
新聞推薦主要需要:關鍵字獲取、主題抓取、后續的垃圾新聞過濾等。
此外,LDA主題生成模型在做基於物品相似推薦上效果不錯,可以考慮使用
三:協同過濾算法分析選擇
典型的推薦算法
本文重點是基於協同過濾的推薦系統,其他算法不做比較、解釋。
兩種經典協同過濾算法比較
協同過濾又可以分為基於用戶的協同過濾,基於物品的協同過濾,使用場景須自行分析,會在后面做兩種比較。
基於物品的協同過濾
分析:電商等以物品為主的應用場景。
特點:用戶數大於物品數,通過分析物品推薦用戶。
基於用戶的協同過濾
應用場景:新聞等以內容為主的平台
特點分析:內容量遠大於用戶數,通過分析用戶推薦內容。
人物畫像
基於用戶的協同過濾需對用戶有一點的了解,如果深入分析,可以考慮生成人物畫像。
人口屬性——用戶是誰(性別,年齡等)。
興趣偏好——個人愛好、品牌偏好等。
社交屬性——社交活躍度。
消費屬性——消費需求、消費習慣。
幾種常用的相似度計算方法。
介紹完以上信息,做個總結。協同過濾歸根結底,是一個計算用戶、物品與其他用戶、物品相似的一個過程,為相似的用戶、物品推薦與之相關的內容。
對於這個“相似”,一般使用一下幾種方法計算
歐幾里德距離:
皮爾遜相關系數:
cosine相關度:
對比分析:
此處對兩種推薦算法做個對比分析,不做其他相關贅述。
SparkMl與Mahout對比選擇:
SparkMl: Mahout:
語言:Scala、Python、Java 語言:Java
定位:Spark里的機器學習庫 定位:Java庫
領域:常規的機器學習算法如CF、特征工程、數據處理。 領域:CF、集群、分類
這里個人推薦使用sparkMl,因為開發文檔等全面,便於參考,且更成熟。
四:系統評估與安全
可能影響評估效果的因素及要點:
推薦系統架構的改進,召回模型改進,推薦特征增加,算法參數優化等。
一個系統搭建成功,很重要的一點是,不光看他能不能用,還要看他的實用效果如何,並不管改進。
需要注意:兼顧長期與短期指標,注意協同效益的影響,必要時隔離統計。
A/B Test提供評估:
如同推薦系統的閉環工作一樣,A/B test也是一個閉環的工作流程。通過測試分析數據,提出改進想法加入測試,有效產品化使用,無效吸取經驗。
A/B test 實現原理
通俗的講,遵循單一變量原則,明確自身期待目標,然后控制完成目標的單一變量,執行灰度測試,通過實施反饋修正方案。
風險內容識別與安全:
一個新聞推薦系統在推薦的同時也需要對新聞內容進行審核,對一些低質量內容采取過濾不推薦策略,保證推薦新聞的高效且有用。需注意如一下幾點:
推薦信息低質過濾(如被用戶標記質量差)。
違法違規內容過濾。
低俗內容識別過濾。