国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于協(xié)同過濾算法的食堂菜品智能推薦程序

2020-03-02 17:40:12肖力郎黃慶鳳鄒俊軒劉之暢姜濤雷晨捷
科技創(chuàng)新導(dǎo)報(bào) 2020年22期
關(guān)鍵詞:協(xié)同過濾微信小程序

肖力郎 黃慶鳳 鄒俊軒 劉之暢 姜濤 雷晨捷

摘? 要:傳統(tǒng)的菜品評(píng)測軟件存在著功能冗余,安裝繁瑣等降低用戶黏性的固有缺點(diǎn),而微信小程序這一新的開發(fā)方式,給了我們解決該問題的新途徑。本文以學(xué)校食堂菜品推薦為背景設(shè)計(jì)了新的菜品推薦評(píng)測微信小程序。該程序選擇基于用戶相似度的協(xié)同過濾算法,針對(duì)每位用戶進(jìn)行智能推薦,具有用戶目標(biāo)明確、程序輕量化、推薦個(gè)性化的特點(diǎn)。

關(guān)鍵詞:微信小程序? 智能推薦? 協(xié)同過濾? 飲食推薦

中圖分類號(hào):TP39? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ?文章編號(hào):1674-098X(2020)08(a)-0251-03

Abstract: Traditional dish evaluation software has inherent disadvantages such as redundant functions and cumbersome installation to reduce user stickiness, while WeChat applets, a new development method, give us a new way to solve this problem. We design a new WeChat program for the food evaluation based on the background of school canteen food recommendation. This program selects a collaborative filtering algorithm based on user similarity, and makes intelligent recommendations for each user. This program has the characteristics of clear user target, lightweight and personalized recommendation.

Key Words: WeChat applets; Intelligent recommendation; Collaborative filtering; Dietary recommendation

華中科技大學(xué)占地面積廣大,擁有食堂多達(dá)34所,師生分布在學(xué)校東西中三個(gè)區(qū)域內(nèi)。當(dāng)同學(xué)老師及訪客由于某些原因去往不熟悉的食堂,或者對(duì)常去的食堂產(chǎn)生厭倦時(shí),即出現(xiàn)了了解新食堂及其菜品的需求。如果專門為此設(shè)計(jì)應(yīng)用軟件又難免存在下載安裝過程繁瑣導(dǎo)致用戶吸引力降低的問題。

為解決該問題,我們?cè)O(shè)計(jì)了基于微信小程序[1]的食堂菜品推薦程序。本文將論述該程序的主要功能模塊,實(shí)現(xiàn)智能推薦的主要算法,數(shù)據(jù)庫的搭建等并根據(jù)實(shí)際情況反饋對(duì)該設(shè)計(jì)的優(yōu)缺點(diǎn)進(jìn)行了討論。

1? 實(shí)現(xiàn)功能

本設(shè)計(jì)主要實(shí)現(xiàn)以下功能以解決相關(guān)訴求。

1.1 主頁面智能推薦

根據(jù)用戶所在區(qū)域,智能推薦食堂與菜品。

針對(duì)的是想要嘗試新食堂但又沒有具體想法的用戶。

1.2 用戶手動(dòng)選擇食堂,智能推薦菜品

針對(duì)有心中有大概想法但又無法做出具體選擇的用戶。

1.3 用戶留言點(diǎn)評(píng)菜肴

讓同學(xué)通過評(píng)論與打分的方式給出評(píng)測,程序進(jìn)行智能分析并進(jìn)一步修正數(shù)據(jù)庫以便做出更優(yōu)的推薦。

2? 推薦算法選擇

當(dāng)前經(jīng)典的推薦算法包括topN算法、矩陣算法、內(nèi)容關(guān)聯(lián)算法、協(xié)同過濾算法、神經(jīng)網(wǎng)絡(luò)矩陣分解法、用戶行為軌跡分析法等。此外還存在著混合推薦算法。由于本次設(shè)計(jì)中評(píng)價(jià)對(duì)象相對(duì)較少,我們采用了基于用戶相似度的協(xié)同過濾算法。

2.1 主流協(xié)同過濾推薦算法的分析

目前主流的協(xié)同過濾推薦算法分為基于用戶的協(xié)同過濾推薦算法及基于項(xiàng)目的協(xié)同過濾推薦算法?;谟脩舻膮f(xié)同過濾推薦算法依賴于用戶對(duì)項(xiàng)目的評(píng)價(jià)矩陣,進(jìn)而產(chǎn)生用戶的推薦集合,對(duì)評(píng)價(jià)的數(shù)目有很高的要求,即需要大量評(píng)價(jià)數(shù)據(jù),否則會(huì)對(duì)推薦的準(zhǔn)確性產(chǎn)生很大的影響。基于項(xiàng)目的協(xié)同過濾推薦算法對(duì)用戶已評(píng)分的項(xiàng)目的相似項(xiàng)目的評(píng)價(jià)進(jìn)行預(yù)測,進(jìn)而減輕了系統(tǒng)對(duì)原始評(píng)分?jǐn)?shù)據(jù)的依賴。但該算法推薦集覆蓋率低,用戶滿意度較低。

2.2 選擇基于用戶相似度的協(xié)同過濾推薦算法的理由

傳統(tǒng)協(xié)同過濾推薦算法在實(shí)際運(yùn)用中逐漸表現(xiàn)出一些問題[2]:傳統(tǒng)算法沒有利用到社交網(wǎng)絡(luò)中大量存在的用戶交互信息。這反映在食堂推薦程序中則為將同一菜品的評(píng)價(jià)視為平行關(guān)系,忽略了用戶之間的互動(dòng),即參與評(píng)價(jià)的用戶之間的相關(guān)性。而基于用戶相似度的協(xié)同過濾推薦算法(如圖1)綜合利用用戶注冊(cè)信息,對(duì)主體的評(píng)價(jià)信息及用戶互動(dòng)信息,提高推薦質(zhì)量和準(zhǔn)確度,進(jìn)而提升用戶滿意度。

2.3 步驟說明

根據(jù)前述說明,用戶信息可以分為用戶屬性和用戶互動(dòng)信息。用戶屬性即用戶的基本注冊(cè)信息,用戶互動(dòng)信息即用戶對(duì)其他菜品的瀏覽信息,或者是反映瀏覽同一菜品的用戶之間的相關(guān)性的信息。對(duì)兩類信息分配合理的權(quán)重,進(jìn)行線性擬合得到用戶間的相似度,進(jìn)而生成推薦集信息。

(1)用戶相似度計(jì)算。采用歐幾里得距離,計(jì)算用戶的相似度。應(yīng)用中希望相似度與返回值正相關(guān),并且值在0到1之間,故我們?nèi)『瘮?shù)值加1取倒數(shù)的形式計(jì)算相似度[3]。

(2)尋找相似用戶。我們希望尋找與目標(biāo)用戶相似的用戶,采用的方法是:根據(jù)用戶間的相似系數(shù),對(duì)相似用戶進(jìn)行排序,并且選擇相似用戶的前n名。

(3)生成推薦集。根據(jù)上述求得的相似用戶的加權(quán)平均,并且排除目標(biāo)用戶已經(jīng)瀏覽過的菜品,即得到對(duì)目標(biāo)用戶的推薦菜品。

3? 基于用戶的協(xié)同過濾算法實(shí)現(xiàn)過程

算法總體流程框圖如圖2所示[4-5]。

在本軟件中算法的核心實(shí)現(xiàn)思路為首先分析數(shù)據(jù), 建立用戶-菜品評(píng)分矩陣模型, 接著通過計(jì)算用戶對(duì)菜品瀏覽頻率之間的相似性, 尋找目標(biāo)用戶的最近鄰居, 最后根據(jù)最近鄰居的評(píng)分向目標(biāo)用戶產(chǎn)生推薦菜品。

3.1 評(píng)分矩陣的建立

根據(jù)用戶瀏覽菜品的次數(shù), 建立用戶-菜品標(biāo)準(zhǔn)化瀏覽頻率矩陣,用戶-菜品瀏覽頻率矩陣是一個(gè)矩陣,表示用戶數(shù),表示菜品數(shù),表示第個(gè)用戶對(duì)第? ? 個(gè)菜品課程的瀏覽頻率。

3.2 相似度計(jì)算

用戶與用戶之間的相似度可表示為:

本程序還通過隨機(jī)推薦方法以修正沒有其他用戶瀏覽過當(dāng)前用戶未瀏覽菜品的問題

3.3 推薦列表的產(chǎn)生

我們從矩陣中找到與目標(biāo)用戶最相似的個(gè)用戶,并去除用戶已經(jīng)瀏覽過的菜品,用集合表示, 對(duì)每門候選菜品,用戶對(duì)它的感興趣的程度用以下公式計(jì)算:

其中代表了前名相似用戶的推薦權(quán)重。

4? 推薦系統(tǒng)的具體構(gòu)建

4.1 程序的運(yùn)行流程

程序通過獲取用戶的反饋來不斷更新數(shù)據(jù)庫,從而達(dá)到優(yōu)化推薦的目的。根據(jù)這一思路設(shè)計(jì)出的程序運(yùn)行模式如圖3所示。

4.2 主要環(huán)節(jié)設(shè)計(jì)

(1)數(shù)據(jù)庫設(shè)計(jì)。我們?cè)O(shè)計(jì)了一個(gè)數(shù)據(jù)庫來存儲(chǔ)菜品的各項(xiàng)信息,各項(xiàng)菜品的基礎(chǔ)信息由人工采集錄入作為基礎(chǔ)信息,評(píng)價(jià)與分?jǐn)?shù)可以由用戶反饋進(jìn)行修改最終得到實(shí)際評(píng)價(jià)[6],同時(shí)我們還設(shè)計(jì)了用戶提交窗口,由用戶幫助我們完善數(shù)據(jù)庫。

數(shù)據(jù)庫由以下三張表組成:

·Canteen:canteenName(食堂名稱),geo(地理位置),canteenPicture(食堂圖片)

·Dish: _id(菜品編號(hào)),canteenName(食堂名稱),dishName(菜品名稱),windowName(窗口名稱),windowPicture(窗口圖片),price(價(jià)格),unit(單位),dishPicture(菜品圖片),timeFor(出現(xiàn)時(shí)間),rate(評(píng)價(jià))

·DishProperty: dishid(菜品id),openid,statue(評(píng)分),comment(評(píng)論)

由上述內(nèi)容可知,菜品通過canteenName來表示歸屬的食堂,windowName來表示所在窗口,通過timeFor來界定該菜品在三餐中的出現(xiàn)時(shí)間。DishProperty則用于存儲(chǔ)菜品的評(píng)價(jià)類的屬性諸如評(píng)分與評(píng)論內(nèi)容等。

(2)具體功能實(shí)現(xiàn)。

顯示菜品功能:使用wxml和wxss顯示數(shù)據(jù)庫Dish中的菜品信息在同名js文件中讀取數(shù)據(jù)庫信息,對(duì)dishname等變量進(jìn)行賦值,再通過wxml顯示在界面上。

搜索菜品功能:當(dāng)有輸入時(shí),點(diǎn)擊搜索按鈕跳轉(zhuǎn)至搜索結(jié)果頁,再在結(jié)果頁用正則表達(dá)式搜索后用wxml顯示搜索結(jié)果。

云函數(shù)搜索:使用微信給出的云開發(fā)api,選擇正則表達(dá)式的大小寫不敏感的匹配模式,在dish數(shù)據(jù)庫中搜索目標(biāo)菜名。

用戶上傳功能:使用api獲取用戶設(shè)備照片文件,和用戶填寫菜品信息一起上傳至服務(wù)器上傳文件和添加數(shù)據(jù)是通過2個(gè)api實(shí)現(xiàn),上傳圖片為uploadFile,上傳到云數(shù)據(jù)路徑。添加數(shù)據(jù)則使用collection.add添加用戶上傳數(shù)據(jù)至dishUserUpload數(shù)據(jù)庫。

智能推薦功能:使用前述的歐幾里得距離的變形計(jì)算用戶間的相似度,推薦相似度最高的用戶所瀏覽的目標(biāo)用戶未瀏覽的菜品。

5? 結(jié)語

選擇微信小程序的主要優(yōu)點(diǎn)在于其輕量快捷,無需繁瑣的下載安裝過程,降低了使用門檻。同時(shí),微信小程序本身也提供了基本的服務(wù)框架,方便開發(fā)。我們?cè)谠O(shè)計(jì)中采用新潮的智能推薦算法進(jìn)行用戶的個(gè)性化推薦,有效解決了本校師生就餐選擇難的問題,并為師生跨校區(qū)就餐提供了指導(dǎo)。另外,開放式的評(píng)論系統(tǒng)也有助于學(xué)校官方了解相關(guān)情況,及時(shí)做出相應(yīng)調(diào)整。

本程序依然存在一些不足,諸如:用戶的自發(fā)更新缺乏動(dòng)力,數(shù)據(jù)擴(kuò)大后程序響應(yīng)緩慢,缺乏審核渠道,缺乏有效推廣渠道等。這也是未來準(zhǔn)備繼續(xù)改善的地方。

參考文獻(xiàn)

[1] 孫旻.廣播微信小程序的設(shè)計(jì)與實(shí)現(xiàn)[J].廣播電視信息,2019(9):69-73.

[2] 蒲鮮霖.智能推薦系統(tǒng)中協(xié)同過濾算法綜述[J].中國新通信,2018,20(23):31-32.

[3] 周鯤.基于用戶相似度的協(xié)同過濾推薦算法研究[D].成都:西南交通大學(xué),2016.

[4] 宋勇建,宋金玲,張正陽,等.基于項(xiàng)目評(píng)分預(yù)測與用戶多相似度的協(xié)同過濾推薦算法[J].現(xiàn)代化農(nóng)業(yè),2019(3):60-62.

[5] 陳思,田敬陽.基于協(xié)同過濾算法的旅游景點(diǎn)推薦模型研究[J].現(xiàn)代電子技術(shù),2020,43(11):132-135.

[6] 劉禹.基于微信小程序的圖書薦選程序設(shè)計(jì)及實(shí)現(xiàn)[J].長春工程學(xué)院學(xué)報(bào):自然科學(xué)版,2019,20(2):59-62.

猜你喜歡
協(xié)同過濾微信小程序
圖書館微信小程序的應(yīng)用現(xiàn)狀及前景分析
基于CNKI的微信小程序研究文獻(xiàn)計(jì)量分析
信息技術(shù)與專業(yè)課程融合路徑探索
決策探索(2017年12期)2017-07-13 11:11:12
當(dāng)圖書館遇上微信小程序
圖書推薦算法綜述
改進(jìn)的協(xié)同過濾推薦算法
基于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的協(xié)同過濾推薦算法設(shè)計(jì)與實(shí)現(xiàn)
基于相似傳播和情景聚類的網(wǎng)絡(luò)協(xié)同過濾推薦算法研究
基于協(xié)同過濾算法的個(gè)性化圖書推薦系統(tǒng)研究
混合推薦算法在電影推薦中的研究與評(píng)述
鹤峰县| 康定县| 平和县| 喀喇沁旗| 冀州市| 商南县| 新泰市| 皋兰县| 且末县| 宜城市| 府谷县| 沅陵县| 泾川县| 当涂县| 谷城县| 会理县| 宣威市| 军事| 昭通市| 许昌市| 廉江市| 公安县| 新宁县| 望城县| 庆安县| 玛曲县| 绿春县| 芦溪县| 贡嘎县| 吉林省| 萨迦县| 漳浦县| 壤塘县| 阿瓦提县| 旌德县| 三亚市| 黔西| 舟山市| 东至县| 甘南县| 临邑县|