• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

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

      摘? 要:傳統(tǒng)的菜品評(píng)測(cè)軟件存在著功能冗余,安裝繁瑣等降低用戶黏性的固有缺點(diǎn),而微信小程序這一新的開發(fā)方式,給了我們解決該問題的新途徑。本文以學(xué)校食堂菜品推薦為背景設(shè)計(jì)了新的菜品推薦評(píng)測(cè)微信小程序。該程序選擇基于用戶相似度的協(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ù)庫(kù)的搭建等并根據(jù)實(shí)際情況反饋對(duì)該設(shè)計(jì)的優(yōu)缺點(diǎn)進(jìn)行了討論。

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

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

      1.1 主頁(yè)面智能推薦

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

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

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

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

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

      讓同學(xué)通過評(píng)論與打分的方式給出評(píng)測(cè),程序進(jìn)行智能分析并進(jìn)一步修正數(shù)據(jù)庫(kù)以便做出更優(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ù)測(cè),進(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)行流程

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

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

      (1)數(shù)據(jù)庫(kù)設(shè)計(jì)。我們?cè)O(shè)計(jì)了一個(gè)數(shù)據(jù)庫(kù)來(lái)存儲(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ù)庫(kù)。

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

      ·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來(lái)表示歸屬的食堂,windowName來(lái)表示所在窗口,通過timeFor來(lái)界定該菜品在三餐中的出現(xiàn)時(shí)間。DishProperty則用于存儲(chǔ)菜品的評(píng)價(jià)類的屬性諸如評(píng)分與評(píng)論內(nèi)容等。

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

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

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

      云函數(shù)搜索:使用微信給出的云開發(fā)api,選擇正則表達(dá)式的大小寫不敏感的匹配模式,在dish數(shù)據(jù)庫(kù)中搜索目標(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ù)庫(kù)。

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

      5? 結(jié)語(yǔ)

      選擇微信小程序的主要優(yōu)點(diǎn)在于其輕量快捷,無(wú)需繁瑣的下載安裝過程,降低了使用門檻。同時(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)緩慢,缺乏審核渠道,缺乏有效推廣渠道等。這也是未來(lái)準(zhǔn)備繼續(xù)改善的地方。

      參考文獻(xiàn)

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

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

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

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

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

      [6] 劉禹.基于微信小程序的圖書薦選程序設(shè)計(jì)及實(shí)現(xiàn)[J].長(zhǎng)春工程學(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)述
      崇义县| 长春市| 石门县| 宁国市| 邵东县| 澜沧| 泗洪县| 吴江市| 泰州市| 镇平县| 甘泉县| 灯塔市| 右玉县| 天祝| 韩城市| 特克斯县| 威信县| 天门市| 石阡县| 赤壁市| 来宾市| 色达县| 黄石市| 安陆市| 正阳县| 措美县| 青田县| 台中县| 东源县| 新野县| 南昌市| 蒲城县| 怀柔区| 临澧县| 荥经县| 柳河县| 保山市| 喀喇沁旗| 揭阳市| 三河市| 泉州市|