王庭月,張臘梅,朱 靈,楊 玉,王鑫滿
(常熟理工學院,江蘇 常熟 215500)
隨著各類商業應用程序的開發,農商平臺層出不窮,但依然很難滿足人們對個性飲食和購買菜品的需求[1]。如何在眾多農戶群體中快速查找并直接購買到最適合的農產品,同時提高農戶收入,實現幫農助農? 這些都是迫切需要解決的問題[2]。本文主要從用戶需求出發,根據用戶收貨地址、飲食習慣等數據,利用協同過濾算法[3]設計了農產品推薦電商系統,實現了同類用戶推薦個性化推薦農產品等功能,簡化了管理工作程序,降低了成本,提高了效率,提升了用戶體驗。隨著現代農業的快速發展,農業生產的組織、規模和標準化的不斷提高,農產品的質量就會得到更好的提升,這樣可以促使農業電子商務平臺有更廣闊的發展空間,維持更長久的收入。
此推薦系統前端頁面設計運用 JavaScript、jQuery 插件等技術,后端開發采用SpringMVC、MyBatis(SSM) 等技術來完成了控制器類、數據庫執行類、實體類等的開發。
系統體系結構設計是基于需求的分析結果,設計系統的整體體系結構包括模塊劃分、模塊之間的關系、數據處理等。為了降低整個系統的復雜程度,使其更易于修改,提高代碼的可讀性,本文將系統模塊化,模塊之間保持相對獨立,每個模塊只有一個子功能,并通過簡單的接口,即高內聚低耦合原理,與其他模塊進行鏈接,使整個系統具備高性能結構,這是系統架構設計的最重要宗旨。本農產品推薦系統結構在前期需求分析的基礎上進行開發,如圖2所示。

圖2 系統架構
數據庫是存儲數據信息的重要載體,在編寫數據庫之前先完成整體 E-R 圖的設計如圖3所示。本文數據庫采用MySQL,該數據庫是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就提了速度和靈活性。

圖3 E-R圖
本系統致力于對用戶進行個性化推薦,其中主要采用了協同過濾算法。協同過濾算法的實現效果主要取決于數據的質量與數量,當數據質量高、數據量大,算法的推薦效果就會更好[5]。協同過濾算法主要分為兩種:基于用戶的協同過濾和基于物品的協同過濾。相比而言,基于用戶的協同過濾算法的實現效果更好,更符合本系統的設計初衷。此系統通過計算用戶對農產品的瀏覽頻率與購買次數作為相似度權重,構建用戶相似度矩陣,再將相似度靠前的用戶定義為相似用戶,最后將農產品推薦給相似的用戶。
此外,基于協同過濾推薦算法通過挖掘、分析及處理個性化農產品模型和個性化農產品推薦對象模型數據,產生推薦列表,并向相似用戶推薦相應的個性化農產品內容,如圖4所示。

圖4 個性化推薦概念
本文在國內農商應用程序的基礎上,通過問卷調查的方式,深入研究了用戶的購買屬性(如零售或批發、發貨距離的遠近等)、用戶個性化需求等影響因素,從而為農商、運營商以及相關政府政策提供理論依據和決策參考,進一步推動農商平臺的使用,把更多普通用戶吸引到農商平臺上來,并通過合理數據分析實現人們的便捷及個性化生活。
3.1.1 技術可行性
系統開發采用 Java[6],同時基于 B/S 結構以及 MySQL 數據庫進行數據存儲[7],系統開發功能完整,建立的數據庫穩定并且安全,開發人員對此項系統開發技術較為掌握,因此,基于用戶的農產品協同過濾系統在技術方面具有開發的可行性。
實程度增加。根據地質時代、巖性組合及有關土體力學性質,將工作區淮河以北20~30 m以深、150 m以淺的土體劃分為4個工程地質層組和8個壓縮層,詳見表1。
3.1.2 操作可行性性
基于用戶的農產品協同過濾推薦系統頁面設計清晰,通俗易懂,用戶可以對相關功能直觀地選擇。如果操作失誤會有報錯提示。本系統具有易于管理,互動性好,方便用戶的可操作性和實用性等特點。
3.1.3 經濟可行性
系統開發環境是 IDEA,用的數據庫是 MySQL,開發成本低,開發規模小,開發周期較短,在經濟方面具有較高的可行性。相比之下,在研制過程中,系統的效益比研制成本還大。
考慮到現實生活中對農產品推薦和管理的需要,以及對系統的認真分析,系統權限分為管理員和使用者兩類。
3.2.1 管理員功能需求
系統管理員可以進行農產品的增添刪改,也可以對農戶的信息進行增添刪改,從而幫助管控整個系統的正常運行,核實所有農產品和農戶信息的準確性和有效性。
3.2.2 用戶功能需求
用戶登錄后,用戶可以到系統進行注冊、登錄、查詢農產品、選擇購買和查詢個人信息等功能。
在對系統進行具體模塊的詳細設計之前先做好需求分析以及功能模塊的整體設計。完成詳細設計之后要對相應模塊進行測試以及完善。本文先利用 UML 建立了基本的框架,系統構建如圖5所示。

圖5 系統構建
用戶注冊進入首頁,選擇農產品的界面進入后臺管理系統必須以管理員的身份登錄。作為用戶可以對農產品,農產品分類等進行瀏覽,對想要購買的農產品進行信息確認。用戶選擇農產品的協作如圖6所示。

圖6 用戶選擇農產品協作
用戶要想實現前臺的全部功能,就要先憑注冊的賬號進行登錄。所輸入信息與數據信息比對,確認無誤后可以進行各項前臺功能操作,如圖7所示。

圖7 操作流程
基于用戶的農產品協同過濾推薦系統是一個涉及數據收集、預處理、相似度計算、推薦算法和結果展示等多個環節的復雜系統。在項目開發過程中,遇到了以下幾個問題和挑戰。
數據收集和預處理:由于農產品的屬性和特征比較復雜,數據收集和預處理工作比較煩瑣,需要對數據進行清洗、去重、歸一化等處理,以便后續的分析和建模。
相似度計算:用戶相似度和農產品相似度的計算是推薦系統的核心,需要選擇合適的相似度計算方法,并對數據進行合理的處理,以提高推薦的準確性和效率。
推薦算法:過濾算法是推薦系統中的一種常用算法。但在實際應用中,有必要根據具體情況進行調整和優化,從而提升用戶滿意度。
結果展示:推薦結果的展示方式和內容也是影響用戶體驗的重要因素,需要根據用戶需求和反饋進行不斷優化和改進。
總的來說,基于用戶的農產品協同過濾推薦系統是一個具有挑戰性的項目,需要綜合運用多種技術和方法,才能建成一個高效、準確、用戶滿意的推薦系統。