999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于協同過濾算法的微信小程序智能助手①

2019-07-26 03:16:16李永杰
計算機系統應用 2019年5期
關鍵詞:程序微信智能

劉 勇,李永杰

(青島科技大學 信息科學與技術學院,青島 266061)

隨著移動互聯網的發展,微信成為目前國內最大的互聯網入口之一.微信每天為用戶提供上億次搜索服務.隨著騰訊對微信小程序的推廣,微信小程序借助微信巨大流量入口迅速崛起.我們可以通過用戶在碎片時間對微信小程序的使用來獲取海量的用戶習慣和不同用戶的個性特點,并且利用微信小程序可以迅速掃碼傳播[1],因此可以迅速獲取海量不同類型的用戶數據.因此我們利用協同過濾技術,微信小程序開放數據平臺,互聯網技術,構建基于協同過濾算法的微信小程序智能助手,通過分析用戶的行為習慣和個性特點,智能助手能夠在合適的時間和地點為用戶推送合適的服務信息,這樣可以節省大量用戶搜索的時間.

1 系統概述

基于協同過濾算法的微信小程序智能助手借助微信,將用戶在微信上的操作行為和興趣愛好數據上傳到平臺,然后與協同過濾算法結合.基于地理位置的分析,為用戶在提供實時的信息推薦服務.根據用戶的具體位置和相關時間點,為用戶推送相關信息服務和事件提醒,同時微信小程序智能助手可以根據用戶的個性特點為用戶推送餐飲和乘車等相關的生活服務信息.

基于協同過濾算法的微信小程序智能助手主要由數據采集層,數據分析層,數據存儲層,數據接口層和數據應用層四大部分組成.系統總體架構示意圖如圖1.

圖1 系統總體架構圖

1.1 數據采集層

數據采集層主要包括三部分.1)利用百度地圖接口,獲取用戶所在地區的公交與地鐵的路線資料.同時獲取公交站牌地理位置信息與地鐵口相關地理位置信息.2)利用Python的Scrapy 框架,通過爬蟲從網頁獲取不同地區的餐飲、商店、加油站等相關數據并提交至服務器.3)人工數據錄入.對于部分地區或資料無法獲取,利用手機小程序端和電腦端將一些數據進行填寫并提交.

1.2 數據分析層

數據分析層主要通過分析用戶數據,利用協同過濾算法對用戶推薦相關的個性化信息.其中數據主要包括兩部分.1)基于用戶在微信的搜索或點擊查看記錄.同時利用微信提供的數據地理位置相關服務,可以將用戶相關記錄與用戶所處地理位置同時上傳至數據分析層.2)基于用戶對推薦服務的反饋.當微信小程序智能助手為用戶推薦相關生活服務信息,用戶對于結果的反饋數據也將提交至服務器.采用開源框架Spark MLlib 框架進行協同過濾[2],該框架支持分布式處理,解決海量數據處理速度過慢的問題.

1.3 數據存儲層

由于采集的數據與用戶個性化數據比較繁雜,其中包括結構化與非結構化數據.因此采用了關系型數據庫MYSQL 與非關系型數據庫Redis 分別存儲不同的數據.對于車站、餐飲以及店鋪等信息,由于數據資料比較穩定,不會被頻繁修改,將其保存至MYSQL 數據庫.同時由于其數據量較大,數據訪問壓力較大,我們采用MYSQL 讀寫分離技術,這樣避免數據庫同時讀寫造成的訪問緩慢的問題.而對于用戶在使用微信小程序智能助手產生的記錄數據,由于需要被頻繁更新,且數據量大的特點,則存儲于Redis 數據庫中,并且會在特定時間對數據持久化操作.

1.4 數據接口層

基于Laravel 框架提供RESTful 接口,微信小程序智能助手利用該接口進行數據交互與處理.RESTful 原則是客戶端與服務器之間交互請求無狀態的,多數的HTTP 請求都被轉移到前端服務器上,降低服務器的負荷,因此十分適合云計算環境[3].同時利用Swoole 框架對數據分析層產生的推薦數據進行實時推送.

1.5 數據應用層

數據管理層主要包括基于移動終端的微信.微信小程序智能助手可以根據用戶實時位置和時間來給用戶推送相關生活服務信息,包括公交到站提醒,就餐提醒等.并且,用戶可以查看推薦的相關信息,包括基于用戶飲食特點的美食等數據.

2 系統設計與實現

2.1 軟件系統總體設計

在數據分析層,采用了跨平臺的Java 開發語言,使用開源框架Spark MLlib 框架進行數據分析處理.在數據接口層與數據展示層,采用PHP 語言進行開發,采用開源框架Larvel + Swoole + Nginx.通過Nginx 進行負載均衡[4].采用關系型數據庫MYSQL 和非關系型數據庫Redis.MYSQL 數據庫用來存儲結構化數據,包括采集的餐飲等數據,而Redis 用來存儲通過微信小程序智能助手上傳的包含用戶個性化特點的非結構化數據.開發工具采用PhpStorm 和IntelliJ IDEA 作為主要的開發工具.系統功能架構如圖2所示.

圖2 功能架構圖

2.2 功能詳細設計與說明

2.2.1 個人中心

微信小程序智能助手基于微信的開放平臺接口,用戶可授權微信序獲取個人信息,即可完成登錄.在用戶注冊完成后,可以獲取到用戶的微信頭像,微信昵稱.同時用戶可以自己設置消息免打擾時間,用戶興趣愛好以及查看用戶日常瀏覽記錄等.用戶個人中心如圖3.

2.2.2 服務消息

基于用戶在微信內產生的操作數據,同時基于當前用戶所處的地理位置,使用協同過濾算法中的UserCF 來實現個性化推薦并同時將推薦數據實時推送給用戶.生活服務推薦數據如圖4所示.

在工作日期間基于用戶歷史數據,系統會根據當前用戶所處位置[5],通過協同過濾算法,并結合與當前用戶有相似飲食特點用戶數據,來為用戶推送用餐消息,同時基于用戶的反饋情況,來不斷提高推薦結果的準確度.服務消息推送效果如圖5所示.

臨近下班時刻,系統會基于用戶的乘車記錄和相關的公交實時位置,為用戶進行公交車班次提醒.系統會根據用戶所處位置,為用戶推薦最佳出發時間和乘車線路,確保用戶可以準時到達公交車站,解決在公交車站等待時間過長的問題.微信小程序智能助手推送出行服務消息如圖6所示.

圖3 個人中心

圖4 生活服務推薦數據

消息推薦采用Swoole 開源框架,該框架是一款高性能網絡通信框架.可以基于Websocket 進行數據推送,避免了傳統的Ajax 輪詢獲取數據導致頁面卡頓和手機發熱嚴重的問題.該框架基于多線程,其基于epoll/kqueue的Multi-Reactor模型可以充分利用服務器的多核CPU 性能.

圖5 微信小程序智能助手消息推送

圖6 微信小程序智能助手出行消息推送

2.2.3 生活服務

基于用戶在日常使用微信瀏覽、搜索、點擊等數據信息,將數據上傳到數據分析后臺,通過分析用戶數據,利用協同過濾算法中的ItemCF 進行信息推薦[6].在數據采集層采集包括美食、車站、超市、酒店等各類生活服務信息,因此協同過濾算法會基于用戶的個性化特點來推薦給用戶相關生活服務信息,節省大量用戶篩選過濾信息的時間.系統還會根據用戶點擊、瀏覽時間、搜索查詢等數據來對推薦系統進行不斷改進,這樣可以根據用戶興趣愛好隨時調整推薦結果,確保用戶能夠獲取合適的服務消息.實現界面如圖7所示.

圖7 生活服務推薦

2.2.4 新聞資訊

基于用戶的興趣愛好,基于協同過濾算法來分析用戶習慣并提供用戶感興趣的新聞內容.系統還會根據用戶在個人中心設置的個人興趣,結合用戶地理位置信息,為用戶提供其有效的新聞資訊.實現界面如圖8.

3 系統關鍵技術分析

3.1 數據采集技術

推薦給用戶的生活服務信息,需要通過爬蟲采集網絡上的相關資訊和信息.由于數據量較大,且需要對多個平臺進行數據采集,涉及到多線程采集,采集的數據需要進行預處理,方便數據分析層進行分析使用.因此采用Python的開源框架Scrapy.該框架是基于多線程的異步處理框架,能夠支持上千個Url 地址進行并行采集,降低對采集服務器的壓力[7].該框架具有高可定制性,可以基于不同的場景,不同的數據結構來編寫不同的采集規則進行處理,在不同Item Pipeline中,可以對不同層次的數據進行分析過濾.在采集的過程中會自動進行去重操作,保證采集的數據不會重復.

圖8 新聞資訊推薦

3.2 大數據存儲技術

在處理協同過濾系統產生的數據的過程中,由于數據為非關系型結構類型,因此傳統的關系型數據庫保存此類數據比較困難.而且推薦數據要實時為用戶推送,因此從的MYSQL 數據庫中讀取速度太慢,存在IO 瓶頸.因此采用Redis 進行數據存儲.

Redis 是一個開源的使用ANSI C 語言編寫基于內存的Key-Value 數據庫,由Vmware 支持開發[8].

3.3 協同過濾算法

協同過濾這一概念首次于1992年由Goldberg Nicols Oki 及Terry 提出,他們展示了一種新的推薦思想.目前主要有兩類協同過濾算法:基于用戶的協同過濾算法UserCF 和基于項目的協同過濾算法ItemCF.

UserCF的基本思想為[9]:要為A 用戶推薦物品,首先需要計算其他用戶與A 用戶的用戶相似度,如表1所示,用戶C 與用戶A的相似度最高,因此會將用戶C喜歡的商品推薦給用戶A.

表1 基于用戶協同過濾算法

ItemCF的基本思想為:計算物品A,B,C的相似度,得到物品A 與物品C 相似度高,那么在用戶C 選取物品A 后,為將商品C 推薦給用戶C.如表2所示.

表2 基于物品協同過濾算法

相似度計算方法[10]則是將用戶評分看作是n維空間上的向量,如果用戶沒有對物品進行評分,則用戶對該物品的評分為0,用戶間的相似性通過計算向量間余弦夾角.用戶i和用戶j在n維物品空間上的評分分別表示為向量i,j,則用戶i和j之間的相似度sim(i,j)為:

分子為兩個用戶評分向量的內積,分母為兩個用戶向量模的乘積.其中Ri,c和Rj,c分別代表用戶i和用戶j對物品c的評分.

基于微信的實時定位的特點可以方便的獲取用戶的地理位置.因此我們在協同過濾模型中增加地理位置,在計算用戶之間相似度的時把地理位置作為一個距離分布的參數數據來進行分析,從而使得最后的推薦數據忽略掉距離位置較遠數據,提高推薦算法的準確性[11].

3.4 Websocket網絡通信技術

當用戶在使用微信小程序智能助手過程中,系統需要將推薦的信息推送至用戶手機.傳統的消息推送是采用Ajax 進行長連接輪詢方式,該方式采用了請求/響應模型,通信請求只能由客戶端發起,服務端對請求作出應答處理.但是這種通信模型有一個弊端:HTTP 協議無法實現服務器主動向客戶端發起消息,而且頻繁的Ajax 輪詢導致效率低下,浪費資源,并且使得手機耗電量迅速增加.

采用Websocket網絡通信技術可以解決上述問題.Websocket 連接允許客戶端和服務器端進行雙工通信,以便任一方可以通過建立的連接將數據推送到另一端.同時該連接只要建立一次,就可以一直保持連接狀態,通信效率大大提高,降低手機的耗電量.采用基于Swoole的Websocket 框架可以實現通過異步非阻塞、多線程模式進行消息推送[12].

4 系統運行結果分析

微信小程序智能助手平穩運行半年,累積采集數據7300 條有效數據,采集數據包括車站信息,新聞資訊,餐飲超市等.數據采集結果如圖9所示.

圖9 數據采集結果

微信小程序智能助手為用戶生成有效推薦結果大約6000 次,其中新聞推薦3000 多次,餐飲推薦數據1600 余次,公交服務推薦814 次,其他相關生活服務推薦約500 次.在用戶使用過程中,用戶有效反饋數據大約為3300 次,通過有效反饋數據,最終推薦結果提高了30%左右.并且通過用戶的評價系統,推薦結果滿意度達到85%.運行結果數據分析如圖10所示.

圖10 運行數據分析

5 總結

隨著互聯網的不斷發展,產生的數據信息將會越來越多.如何能更加高效的分析用戶的興趣愛好和行為習慣,并基于此為用戶從海量的數據中推薦用戶最感興趣的信息將變得更加重要.而且隨著移動設備的不斷普及,用戶從傳統的PC 開始不斷向移動終端轉移,利用移動終端的快速地理定位、頻繁的數據信息交互等特性中充分挖掘用戶數據,分析出有價值的數據,從而為用戶提供更加精準有效的推薦數據.

本文針對都市白領人群對于生活服務信息的需求進行了設計和實現,在系統設計中遇到的問題進行積極探索并找到合適的解決方案,包括數據的采集、數據的分析、數據的存儲以及數據的推送的穩定性等.

通過對基于協同過濾算法的微信小程序智能助手的開發與研究,實現了對資源數據的采集,利用協同過濾算法挖掘出用戶的興趣愛好并為用戶推薦用戶感興趣的數據,保證用戶能夠隨時獲取最新的、最符合用戶興趣的數據,并且基于用戶的日常行為對用戶進行合理提醒與建議;通過研究數據網絡通信機制,為用戶提供穩定和高效的數據推送,減低用戶手機電量的消耗.在開發過程中,深深體會到了要合理充分挖掘用戶行為習慣,利用協同過濾算法不斷優化推薦結果,實現企業獲取穩定用戶和流量的重要保障.

猜你喜歡
程序微信智能
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
微信
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
微信
主站蜘蛛池模板: 中文字幕66页| 欧美在线一二区| 人妻精品全国免费视频| 国产一二视频| 狠狠干综合| 成人欧美在线观看| 欧美日本在线观看| AV网站中文| 99久久99视频| 欧美日韩v| 亚洲日本精品一区二区| 制服无码网站| 亚洲va在线观看| 99人妻碰碰碰久久久久禁片| 亚洲成网站| 波多野结衣一区二区三区AV| 五月婷婷综合网| 在线观看国产精品第一区免费| 高潮爽到爆的喷水女主播视频| 国产日韩AV高潮在线| 久久精品国产免费观看频道| 日韩区欧美区| 免费 国产 无码久久久| 久久精品国产电影| 国产成人无码Av在线播放无广告| 呦系列视频一区二区三区| 手机精品视频在线观看免费| 久久鸭综合久久国产| 欧美精品亚洲精品日韩专区| 亚洲电影天堂在线国语对白| 欧美性久久久久| 久久香蕉国产线看观| 在线日韩日本国产亚洲| 国产精品尤物在线| 亚洲国产av无码综合原创国产| av在线手机播放| 免费毛片网站在线观看| 原味小视频在线www国产| 狠狠亚洲婷婷综合色香| 久草热视频在线| JIZZ亚洲国产| 国产精品综合色区在线观看| 国产三级韩国三级理| 欧美日本在线一区二区三区| 日韩精品亚洲人旧成在线| 国产精品第一区在线观看| 亚洲成在人线av品善网好看| 国产女人爽到高潮的免费视频| 亚洲精品自产拍在线观看APP| 国产高清又黄又嫩的免费视频网站| 青青青国产在线播放| 国产成人精品午夜视频'| 欧美第二区| 4虎影视国产在线观看精品| AV在线天堂进入| 黄色三级网站免费| 婷婷伊人五月| 欧美成人第一页| 国产精品自在线拍国产电影| 中国精品自拍| 黄色网页在线观看| 亚洲天堂区| 久久99国产综合精品1| 国产在线一区二区视频| 日韩无码一二三区| 狠狠色丁婷婷综合久久| 欧美中文字幕在线二区| 青青草原偷拍视频| 国产成人综合日韩精品无码首页 | 精品无码一区二区三区在线视频| 国产美女在线观看| 91美女视频在线| 视频在线观看一区二区| 无码高潮喷水在线观看| 亚洲精品你懂的| 精品无码视频在线观看| 全午夜免费一级毛片| 欧美伦理一区| 刘亦菲一区二区在线观看| 国产三级韩国三级理| 国产精品人莉莉成在线播放| av在线人妻熟妇|