王 兢
(鄭州大學 河南 鄭州 450001)
本系統采用B/S架構,使用Struts2+Spring+Hibernate技術框架開發,利用MySQL數據庫進行數據存儲,從菜品的進貨入手,通過評論收集用戶的喜好,在此基礎上創新地引入基于物品的協同過濾推薦算法,結合家長和學校兩方面的特點,為學校的訂購進行推薦,為學校的餐飲服務提供便利。
(一)數據庫設計
經需求分析,本系統一共設計了十一張表,分別為:學校信息表(school),供貨商信息表(producer),學校餐廳表(hall),餐廳進貨表(stock),供餐信息表(serve),用戶信息表(User),回復表(Reply),評論贊踩表(DLove),供餐贊踩表(SLove),敏感詞(Word)
,評論表(Discuss)。不同表之間通過主外鍵相互關聯,為系統功能的實現奠定了基礎,下面是對著十一張表中重點表的介紹。
1.學校信息表(school),它是以sid(學校編號)為自增主鍵,同時包含了sname(學校名稱)、spassword(學校密碼)、slogo(學校圖片)、saddress(學校地址)、sinfo(學校簡介)、
stel(學校聯系電話)、identify(身份)這些屬性列。
2.供貨商信息表(producer)它是以供貨商編號sid為主鍵,包含了pname(供貨商名稱)、
、ppassword(供貨商密碼)、plogo(供貨商圖片)、paddress(供貨商地址)、ptel(供貨商聯系電話)、pinfo(供貨商簡介/經營范圍)屬性列。
3.供餐信息表(serve),它是以供餐編號eid為主鍵,sid(學校編號)為外鍵,包含了
etime(供餐時間)、variety(菜品種類)、elogo(供餐圖片)、edate(供餐日期)、ELove(贊)、
Edislike(踩)、Etitle(題目)屬性列。
4.用戶信息表(User)它是以Uphone(用戶手機號)為主鍵,包含了Uphone(手機號)、Uname(昵稱)、Upassword(密碼)、Ulevel(活躍等級)、Uemail(郵箱)、Ugroup(用戶組)、identify(用戶身份)屬性列。
(二)功能設計
基于前期的需求分析,本系統的功能主要分為兩大模塊學校模塊和家長模塊,其中學校模塊分為信息的注冊登錄功能,信息發布功能、評論回復功能以及菜品推薦功能,家長模塊分為注冊登錄功能、信息瀏覽功能和評論回復功能,這些模塊間的功能相輔相成共同組成了一個完整的系統。
1.登錄注冊功能是使用整個系統的前提,每個用戶憑借注冊的手機號或者郵箱來進行登錄并進行信息的發布或者評論回復。
2.信息發布功能是本系統的基礎功能和核心功能,本功能只有學校用戶才能使用,通過本功能進行菜品信息的公布,為菜品推薦奠定基礎。
3.評論回復功能是每個用戶學校發表的菜品進行自己的評價,除了有贊和踩兩種不同的選項外還可以發表自己的看法,這個功能是后期進行菜品推薦的基礎之一。
4.菜品推薦功能是本系統的一個特色功能,可以針對不同的學校,結合他們發布的信息和受歡迎程度為不同學校針對性的推薦特色菜品。
(三)算法設計
本系統采用基于物品的協同過濾算法(Item-based collaborative filtering,簡稱ItemCF),該算法由著名電子商務公司亞馬遜提出[1],并在業內獲得了廣泛的應用。該算法的基本思想是:通過分析用戶對物品的行為,計算物品之間的相似度,從而找出和目標物品具有一定相似度的物品集合,然后通過目標用戶的歷史行為數據預測其對相似物品的評分,并將預測評分高的一個或多個物品推薦給目標用戶[2],即向用戶推薦和他們之前喜歡的物品相似的物品。在本系統使用該算法可以一定程度上避免長尾分布和冷啟動問題。
1、在本系統中,通過查詢各個學校發布的菜品信息,通過三餐進行分類,同時收集評論用戶的個人喜好,從而建立學校-菜品評分矩陣R,R是一個m×n的矩陣,其中m學校的數量,n表示菜品的種類,Rmn的值始終在一定的取值范圍內,表示不同學校不同菜品的受歡迎程度,其中贊代表1,踩代表-1,該值越大代表受歡迎程度越高,通過計算菜品在m維學校空間上的向量夾角的余弦值來表示商品間的相似度,夾角余弦值越大則相似度就越高。
2、Deshpande和Karypis的研究[3]指出,將相似度矩陣按最大值歸一化之后可以獲得更高的推薦準確率,同時對于目標商品的K個最近鄰商品,K取值應在10到30之間。我們利用電商平臺的銷售交易數據集進行測試表明,K=10時可以獲得較高的準確率和召回率。最后,從不同學校的菜品中計算他們的相似程度從中剔除已經有的菜品,根據相似程度的高低選出k個新的菜品,從中選出Top-N推薦學校,完成推薦過程[4]。
本文研究了基于JavaEE和協同過濾算法的中小學供餐平臺系統的設計。在依托網絡進行信息公開的同時,結合可靠準確的推薦算法,提高了學校食堂的受歡迎程度,有助于提高學校的形象,一定程度上解決家長的擔心。本系統基于B/S架構,考慮到更多的使用場景,后續可進一步研究設計開發移動端產品。隨著人民生活水平的提高,針對中小學供餐監管平臺系統必將發揮更大的作用,而結合推薦算法提高系統智能化水平的方案也將對其發展起到積極作用。