張揚 彭明坤 蔡莉 金力 孫大勇



關鍵詞:新聞推薦系統;總體結構設計;協同過濾算法
中圖分類號:TP391 文獻標識碼:A
文章編號:1009-3044(2024)03-0060-02
0 引言
當前人們獲取新聞的方式已從傳統的報紙端轉向數字新聞端。面對瀏覽器中海量的新聞內容,如何快速有效的閱讀到自己感興趣的信息,已成為當前亟待解決的問題,為此開發了基于每位讀者閱讀興趣的新聞推薦系統,以提高人們閱讀新聞的效率。
1 系統設計思路
系統最終要求管理者能夠通過簡潔的前端頁面完成相關的新聞發布,同時也能從多角度思考理解大眾用戶的需求,以方便瀏覽者隨時隨地閱讀所感興趣的新聞。這就要求在設計系統時,應從數據收集、相似度計算、用戶集合篩選、新聞推薦以及反饋優化等方面進行考慮以實現基于用戶行為的個性化新聞推薦需要[1]。
本系統采用Java作為編程語言,運行于Windows 平臺,應用程序部署于Tomcat上,對于服務器上的數據使用MySQL接口以實現交互式響應,最終效果呈現于服務器上,使用Navicat Premium連接MySQL數據庫,從而使各個功能以圖形化界面展示。
2 系統總體結構設計
2.1 系統總體結構
系統設計了新聞后臺管理者和瀏覽用戶兩個角色。對應總體結構如圖1所示。
2.2 新聞發布順序
本系統中,新聞發布是主要特性。為了完成新聞的添加工作,管理員首先需要通過輸入賬號密碼登錄管理后臺進入新聞管理的主頁。接著,通過新聞管理選項,選擇新聞編輯,然后在網頁中編輯新聞標題、類別、內容等信息,并點擊提交[2]。最后,管理員需要刷新服務器緩存,以完成新聞添加。這些步驟按照特定的時間順序進行,確保新聞添加的順利完成。
3 系統采用的核心算法
從系統的核心功能考慮,采用了基于用戶的協同過濾算法以實現新聞推薦功能。該算法的優點是簡單易懂,個性化程度高。然而,該算法存在數據稀疏性和冷啟動問題。為了解決這些問題,系統同時采用基于統計的熱點推薦和標簽隨機推薦來解決數據稀疏性和冷啟動問題,從而解決了新用戶登錄或系統剛實施而無法進行個性化推薦的問題[3]。
基于用戶的協同過濾是一種常見的推薦算法,它基于用戶之間的相似性來進行推薦。本系統是根據用戶對新聞的評分,為目標用戶找到評分相同或者相近的用戶,這些評分相同或者相近的用戶稱之為目標用戶的近鄰用戶,然后在這些近鄰用戶中找出目標用戶沒有評分行為同時近鄰用戶同時有評分行為的新聞,最后將這些新聞推薦給目標用戶。
基于用戶的協同過濾算法推薦過程可分以下4個步驟進行。
步驟1:構建用戶-新聞評分矩陣
根據用戶對新聞的評分數據,M個用戶和N個項目最大有M×N條用戶對項目的評分數據,記為矩陣MN,在計算機語言中可以通過一個二維數組來表達array,用戶用數組下標0-M表示,項目用數組下標0-N表示,矩陣MN圖形如表1所示(新聞評分:0~5;0表示用戶對項目沒有評分;M=53,N=152) 。
步驟2:計算用戶之間相似度
根據余弦算法計算用戶之間相似度,余弦相似度計算公式如下:
通過以上過程,再結合熱點推薦和標簽推薦算法,將最終推薦結果通過前端展示給用戶,以此實現個性化新聞推薦。
4 系統軟件設計
系統使用JAVA語言編寫,后臺數據庫是MySQL,采用比較主流的SSM框架搭建。
4.1 后臺數據庫設計
在系統的開發階段,后臺數據暫且存放于輕量級的數據庫MySQL中,主要設計了管理表、用戶表、新聞類型表、評分記錄表等表格。
4.2 前端界面設計
系統大致分為前端和后端模塊。用戶通過前端頁面瀏覽新聞,新聞管理員在后臺對新聞發布編輯修改。以下分別介紹幾個模塊的相關功能。
4.2.1 前臺用戶功能模塊
用戶通過注冊、登錄首頁后,可以查看新聞列表、熱點推薦、個性化推薦、設置用戶信息等內容,并進行相關操作。例如當用戶點擊新聞后,在新聞首頁的搜索欄輸入標題,進行查詢,新聞信息可以看到新聞類型、封面圖片、添加時間、添加收藏評論、新聞內容、新聞評分分析等信息,然后可以點擊收藏或者評論等操作。當用戶點擊新聞時,相關推薦板塊根據當前新聞所屬新聞類型進行隨機推薦。相關推薦界面如圖2 所示。
在系統的首頁中顯示有熱點新聞和個性化推薦兩個板塊。其中熱點新聞根據新聞被收藏數量降序推薦。個性化推薦基于用戶的協同過濾算法進行推薦[6]。
4.2.2 后臺管理員功能模塊
管理員登錄系統后,可以看到系統相關數據統計、用戶管理、新聞類型管理、喜好標簽管理、評分記錄管理、收藏記錄管理、評價記錄管理、瀏覽記錄管理等進行相應的操作管理,管理員功能如圖3所示。
管理員點擊新聞管理后在新聞管理頁面對標題、新聞類型、發布時間、新聞內容等信息進行查詢,新增或刪除新聞等操作。當管理員點擊系統數據,可以查詢用戶數量、新聞類型數量、新聞數量、評分記錄數量、收藏記錄數量以及評論記錄數量。
5 結論
開發的個性化新聞推薦系統在試用期間,運行流暢,能在第一時間將用戶所感興趣的信息推送到面前,效果令人滿意。
在下一步的工作中,將在系統中嘗試使用基于多種推薦算法的混合推薦算法,以提高推送新聞的精準度,同時采用增加屏蔽關鍵字技術,提高新聞推薦系統的智能化程度。
【通聯編輯:聞翔軍】