程遠航,趙紋靜,杜英魁,李 娟
(1.沈陽大學信息工程學院,沈陽 110044;2.沈陽大學體育學院,沈陽 110044)
新時期背景下經濟的迅速發展,我國城市現代化的高速發展,人民生活水平有所改善,人們對自己的生活環境、工作環境的要求也越來越高,不僅要求環境舒適,還要求提高房間的視覺舒適,通過室內裝修美化室內環境。可是各種新興的裝修材料和裝修飾品的產生并應用,給人們生活帶來便利和享受的同時,也導致室內環境污染問題出現。有些污染物隱形地存在于人們的生活環境中,無色無味、不易發現,如果不采取措施必然會影響到人們的身心健康和居住安全,所以提高室內環境空氣質量成為當下所有居民關心的問題。室內空氣污染被稱為第三大類污染,因此我們應該采取一些措施科學有效地對室內環境進行監測,確保監測數據準確和有效,進一步提高居民用戶的生活環境質量,從而解決室內污染對人體健康的危害問題。基于微信平臺的室內環境健康內容研究,以微信平臺綁定監測居室環境的檢測設備,并與微信用戶openid連接,保證用戶所處的居室環境健康狀況,同時微信平臺通過環境狀況推送用戶相關的環境新聞。
當今時代科技互聯網的飛速發展,人們對電子產品的依賴越來越高,社交媒體的存在不僅緩解了用戶的生活壓力,也豐富了用戶的生活。但是,隨著各種軟件的蓬勃發展,互聯網的海量信息越來越讓人們難以準確找到真正需要的信息資源,也很難找到自己感興趣的話題,給用戶帶來困擾。因此,如何分析、挖掘海量的網絡數據,給用戶推薦可能喜歡的內容,正是科研人員正在研究的熱點問題,推薦系統的出現緩解了網絡數據的信息過載問題。推薦系統已經存在于人們的日常生活中,比如淘寶、抖音、每日歌單、電影推薦,等等。但是在推薦系統中,普遍存在冷啟動、數據稀疏、用戶評分片面、主觀性強等問題,這樣不僅降低推薦的精度,也不能滿足用戶的需求。實行具體內容具體推送,選擇合適的推薦算法,是推薦系統設計的關鍵。將不同的推薦算法有機結合,使得單一推薦算法的弊端通過混合推薦算法來彌補,采用混合推薦算法的內容推薦系統可取長補短,取得較好的成效,不僅幫助用戶節約搜索時間,而且有效地實現了對微信用戶的個性化推薦,用戶體驗和新用戶參與度也有顯著提高。
在微信平臺下面向用戶居室環境健康的研究系統,系統后端使用python語言開發微信公眾號,MySQL作為系統的數據庫緩存用戶行為信息及居室環境數據,阿里云服務器搭建服務器環境。系統前端將發送給用戶的數據通過Django框架進行頁面渲染,各組件相互配合,為用戶提供真實有效有趣的需求。
微信平臺是開發者通過微信公眾號為微信用戶提供信息和服務的平臺,用戶在微信官網注冊公眾號,開發者獲取相關接口權限即可進行開發。系統架構包括移動客戶端和服務器端兩個部分,微信服務器在用戶和云服務器間充當一個轉發服務器,用戶作為終端發起請求到微信服務器,微信服務器將請求轉發給云服務器,云服務器接收響應回復用戶消息,平臺架構如圖1所示。

圖1 平臺架構
(1)移動客戶端。用戶僅需要有一部智能手機,下載微信APP,關注微信公眾號,開發者只要獲取此用戶的監測設備號,微信平臺就可以獲取此用戶的環境數據,并上傳到數據庫等待用戶的調用。
(2)服務器端。開發部署選擇阿里云服務器和微信服務器,實現“數據采集→數據處理→數據存儲→內容推送”這一系統過程。其中,阿里云服務器主要實現“數據采集,數據處理,數據存儲”功能,微信服務器則實現對用戶的內容推送功能。
為了更好地服務于用戶,微信公眾號有區分權限功能,只有當客戶綁定室內環境的監測設備時需求才能得到滿足,不能及時參與綁定的用戶只能獲取平臺推送的與環境相關的新聞內容,不能推送自己的居室環境狀況,更無法獲取居室環境數據信息。
協同過濾推薦算法,簡言之:‘物以類聚,人以群分’。該算法通過用戶的行為信息數據來挖掘用戶的潛在興趣,根據不同用戶對相同內容的喜好程度計算用戶之間的相似程度,尋找喜好相似的鄰居用戶,并對具有相同喜好的用戶進行相應的內容推薦。該算法適用于對時效性要求高、但個性化要求不高的情境中。但是單獨使用該算法存在數據稀疏問題、冷啟動等問題。
內容推薦算法是最早使用的推薦算法,根據用戶的歷史行為記錄,將用戶過去喜歡的內容或物品進行分析,獲取用戶的喜好標簽,為用戶建立偏好興趣模型,然后為用戶推薦和興趣模型相似的內容。內容推薦算法產生的推薦只和用戶本身的興趣有關,無關其他用戶,具有用戶獨立性,只要新內容的特征與用戶興趣模型相似度高,就可以實現用戶推薦。但是會出現信息牢籠問題,當推薦范圍無法擴展,不能適應新項目的推薦時,不能隨著用戶興趣的改變而發生興趣模型的改變,無法挖掘用戶的潛在興趣,甚至當新用戶沒有喜好歷史,沒有行為信息時,不能建立興趣模型,也就無法為新用戶直接產生推薦。
協同過濾推薦算法隨著時代的發展已經相對成熟,隨著人們需求的不斷增多,對推薦系統的要求也在不斷提高。以上兩種推薦算法各有優缺點,因此,根據不同推薦算法的特點采用混合推薦算法,克服單個算法存在的問題,取長補短互為補充,不僅推薦精度得到提高,推薦的內容也更豐富。圖2為推薦算法的架構圖。

圖2 推薦算法架構圖
用戶的協同過濾推薦算法,是基于不同用戶的行為信息評分來面向同一用戶標簽組產生新聞推薦,通過一段時間的推薦,不斷進行數據更新,提高準確性,挖掘用戶的潛在興趣。獲取用戶的行為信息,對行為日志進行數據處理,從而得到用戶對文章的評分數據集。將微信用戶之間對內容的評分作為一個向量來計算用戶之間的相似度,由高到低排序獲取前K個與當前用戶高度相似的鄰居用戶,并將鄰居用戶評分最高的項目集推薦給當前用戶。將以上分析分為三步:
(1)數據集的來源。數據集的獲取來自MySQL數據庫中用戶對偏好內容的點贊、評論、分享行為,以不同評分的形式表達用戶對該內容的興趣偏好。
(2)相似度計算。采用歐式距離算法計算用戶間的相似度,公式(1)中,,分別代表不同用戶,(X-Y)對其求兩者間距離,距離越大則表示兩用戶間越相似,否則意味著這兩個用戶根本不相似,然后對用戶進行聚類,篩選興趣相似的用戶集合。

(3)產生推薦列表。排除用戶本身,將相似度進行降序排列得到的推薦列表,將相似用戶喜歡的、但當前用戶未曾看過的內容進行推薦。
當用戶是新用戶時,對推薦的內容產生的行為信息很少,甚至沒有,那么系統無法進行個性化推薦,系統只有對一定數量的內容產生行為后才能夠進行推薦。那么為了解決冷啟動問題,對首次關注微信公眾號的新用戶先進行熱點新聞推薦,通過監測設備感知室內環境狀況,給用戶合理地推薦熱點新聞,比如:當室內環境的甲醛參數過高,推薦用戶“如何除甲醛”,“如何凈化室內環境空氣”等相關新聞文章。
基于內容的推薦算法,利用用戶本身的興趣喜好模型進行相應的推薦。獲取用戶的歷史信息,經過數據處理取用戶評分較高的內容進行文本分析,為用戶建立用戶興趣模型。文本分類流程如圖3所示。

圖3 文本分類流程圖
內容分析分為三步:
(1)中文分詞。選擇用戶在數據集中評分偏高的內容,通過爬蟲得到推薦給用戶的新聞內容,通過結巴(jieba)分詞對兩組文本提取特征詞,去掉大量無意義的高頻詞,獲得文本關鍵詞列表。
(2)詞向量轉化。采用TF-IDF算法對關鍵詞進行權值計算,然后根據權重按降序排列取前K個關鍵詞得到興趣列表。公式(2)、(3)分別為關鍵詞的詞頻計算和逆文檔頻率計算。計算TFIDF值為公式(4),其中,代表內容文本的文本總數,()代表文本中包含的文本總數。


(3)興趣值計算。根據兩對興趣列表中的關鍵詞向量,通過余弦相似度計算兩對文本的相似度,得到新文本內容與用戶的興趣模型之間的相似度,將其降序排列取出前個相似度最高的新聞內容。相似度計算為公式(5),其中,是用戶的興趣標簽向量,是新文本的標簽向量。

在內容推薦的算法中,隨著時間的變化、用戶瀏覽記錄數據的增加,此推薦算法也會越來越準確。但是時間因素可能會導致用戶的興趣發生衰減,因此在算法中引入衰減系數γ,間隔一段時間后,對所有用戶的全部關鍵詞興趣程度進行相應的衰減,從而模擬用戶某個興趣隨時間變化的現象,使推薦更加準確。
微信公眾號對于首次關注的新用戶首先會進行設備掃碼連接,將居室的監測設備id上傳到微信平臺進行綁定,環境數據通過HTTP協議傳送到云端并儲存在MySQL數據庫,微信用戶在移動端發送消息指令,云服務器響應指令后將結果返回給用戶。用戶想查看當前數據、今日數據、均值趨勢圖均可以通過菜單欄按鈕即時獲取,如圖4所示。

圖4 在線實時環境數據
為滿足不同用戶的不同偏好,內容推送部分進行定時合理推送。定時推送的時間段選擇每天早9點和下午3點,使用戶在工作閑暇之余緩解壓力,將用戶感興趣的新聞內容進行自主推送。定時為用戶推薦感興趣的內容,不需要用戶在知識的海洋里費力尋找,節約了用戶在手機上閱讀無效內容浪費的時間,幫助用戶自動整合感興趣數據,使推薦系統更加貼合用戶的偏好需求,提高了推薦系統的性能,也提高了用戶的滿意度,減輕信息過載問題。
通過協同過濾和基于內容的混合推薦算法,采用Django框架渲染頁面,將內容以圖文結合的形式推送給用戶,如圖5所示。吸引用戶的閱讀興趣,增加趣味性。使用戶有足夠的耐心去進行閱讀,延長用戶頁面停留時間,降低頁面跳出率,使用戶更感興趣。

圖5 內容推送結果
互聯網的迅速發展以及普及,使人們的生活已經離不開網絡;互聯網本著為大眾服務的原則,也越來越被大眾所喜愛。微信、微博等自媒體的廣泛普及,自媒體內容的大量產生逐漸成為一種自然而然的趨勢。基于微信公眾號的室內環境健康研究系統,可以幫助用戶實時在線查看居室環境數據,實時了解當前環境狀況,如果有問題及時解決。還向用戶主動推送對方感興趣的環境新聞,解除用戶在海量信息中毫無目標地尋找內容的苦惱,解決信息過載問題。本平臺采用Python+MySQL實現用戶數據查詢操作,Python+Django+MySQL實現用戶內容推送部分,服務于用戶,提高用戶的生活環境質量。本系統主要針對居室環境進行監測研究,但在實際中可以應用在醫院、社區等其他環境進行信息監測,因此具有較好的實際應用推廣價值。