基於協同過濾的新聞推薦思路分享


目錄結構

  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 實現原理

         通俗的講,遵循單一變量原則,明確自身期待目標,然后控制完成目標的單一變量,執行灰度測試,通過實施反饋修正方案。

        

 

    風險內容識別與安全:

        一個新聞推薦系統在推薦的同時也需要對新聞內容進行審核,對一些低質量內容采取過濾不推薦策略,保證推薦新聞的高效且有用。需注意如一下幾點:

        推薦信息低質過濾(如被用戶標記質量差)。

        違法違規內容過濾。

        低俗內容識別過濾。

 

 

 

 

  以上是本人對一個系統總體的認知,其中部分圖片因個人繪制實在太丑而選取的網圖。另外,希望大家能多提寶貴意見,對本人理解有誤部分,歡迎批評指正,深表感謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM