李曉峰, 李 東
(1. 黑龍江外國語學院 信息工程系, 黑龍江 哈爾濱 150025;2. 哈爾濱工業大學 計算機科學與技術學院, 黑龍江 哈爾濱 150001)
互聯網的飛速發展給人們的生活帶來極大的便利,使人們能夠便捷地獲取大量知識,通過電子商務平臺,人們將現實世界中的交易轉移到虛擬網絡之中,網絡服務已經融入人們的日常生活[1].與此同時,網絡中的數據也呈指數級方式增長,其增長速度已經嚴重超越人們所能接受的速度,信息過大而導致人們無法從中篩選出關鍵信息的問題顯得尤為嚴重[2].因此,從多樣性關鍵數據中挖掘出用戶感興趣信息具有重要的現實意義.
傳統數據推薦方法通常采用高階累積量特征提取、小波分析和支持向量機分類推薦等算法,這些算法只對網絡數據庫中待檢索的數據進行特征提取,進而實現對關鍵數據的推薦[3-4].因此,在傳統的數據推薦方法中,雖然能夠在高維空間中保持數據特征屬性,以實現典型特征提取,達到數據推薦的目的,但仍然存在抗干擾性較差的缺點,導致數據推薦精準度較低.
針對上述問題,提出了基于卷積神經網絡的多樣性關鍵數據并行推薦算法,構建用戶時序行為偏好特征,對數據并行結構進行分析,并對數據進行預處理,提取關鍵數據,進而完成基于卷積神經網絡的數據推薦.
針對用戶興趣查詢歷史數據,設計不同推薦任務,以下以一個點擊行為為研究目標,首先將用戶行為按照一定標準劃分;在不同劃分窗口中對多樣性關鍵數據并行結構展開分析,抽取用戶對商品的偏好特征;對數據進行預處理;根據處理結果,使用卷積神經網絡模型,設計并行推薦算法研究方案[5].
從數據集中挑選包括點擊、收藏、購買等多樣性用戶行為信息,時間精確到分鐘.為了更好地獲取用戶時序特征,需按照每3 d為一個樣本時間窗口,在該窗口內按照每8 h為統計時間窗口,從不同維度對用戶偏好特征進行描述[6].
將用戶-商品作為一個樣本展開訓練,構建的數據集劃分示意圖如圖1所示.
假設需要預測的用戶在10月19日存在購買行為,選擇前3 d作為統計窗口,分析當天樣本數據.從10月15日—10月17日期間用戶行為中抽取樣本特征,10月18日用戶對商品是否購買進行標記,由此建立模型訓練集[7].
為了更好地分析商品受歡迎程度,以點擊行為為例,計算用戶對商品的平均點擊次數,計算公式如式(1)所示:

(1)
式(1)中:action_count表示在時間窗口下用戶的點擊數量;user_unique_item表示在時間窗口下用戶點擊不同商品的數量.根據構建的時序行為偏好特征,對數據并行結構展開分析[8].
傳統研究算法往往忽略對數據結構的分析,導致數據并行推薦精度低,為改進這一問題,本文在時序行為偏好特征構建的基礎上,對數據并行結構進行分析.數據并行是將訓練數據劃分到不同窗口下,每個窗口都存在完成網絡模型,使用不同數據進行訓練[9].為了能夠獲取一個包含所有訓練信息的網絡模型,需對不同網絡信息進行同步處理,如圖2所示.

圖2數據并行結構
Fig.2Parallelstructureofdata
一次迭代開始后,每個窗口都從服務器中獲取新網絡模型, 并加以訓練,得到節點W傳回到服務器之中, 直到所有節點W都更新后, 迭代才可停止. 如果在n個窗口下,使用大小為單個窗口時大小的1/n, 那么多個窗口與單個窗口訓練是完全等價的[10-12]. 經過迭代處理后,若某個窗口數據異常, 則會減緩整個訓練速度. 根據上述數據迭代操作,可有效提高本文數據并行推薦的精度.
為了進一步提升數據使用速率,需對其進行預處理[13-15].
將收集到的時序行為偏好特征發送到服務器中,對數據并行結構進行簡化分析,將數據作為算法輸入時,需先對收集到的數據進行預處理[16].預處理的主要目的就是從大量數據中提取與并行推薦算法相關的關鍵數據,并轉換成需要的格式.數據預處理主要流程如圖3所示.

圖3 數據預處理主要流程Fig.3 Main flow chart of data preprocessing
1) 提取相關站點數據,并針對某一站點用戶行為數據進行分析;
2) 過濾無用數據項,收集以某種特定日志格式發送到服務器的數據,并以“/min”字符進行分隔;
3) 確認推薦范圍,根據具體站點URL命名過濾規則;
4) 提取內容頁面.
經過數據預處理后,進一步分析多樣性關鍵數據并行特點,采用卷積神經網絡進行推薦算法研究[17-18].
在上述預處理基礎上,進行推薦算法研究,提出基于卷積神經網絡的推薦算法.實現流程如圖4所示.

圖4 實現流程Fig.4 Implementation flow
該算法具體實現過程如下所示:
假設共有K個卷積核,N個種類輸出層,那么輸出層權值參數θ是一個A×B矩陣,可表示為θ∈CA×B,樣本X池化后得到的特征是一個K維向量,即為f∈CK.樣本X被分到第Y個種類的概率為

(2)
式(2)中:qy表示全連接層的第y個偏置項;qh表示全連接層的第h個偏置項.通過最大化似然概率可得到損失函數

(3)
式(3)中:R為訓練數據集;gy表示第y個樣本真實數據種類.為了避免出現過擬合現象,需按照一定概率將卷積層神經元結構進行最簡化,保證權重不工作[19-20].經過特征壓縮處理,在數據庫存儲空間穩定基礎上,使數據內部狀態和行為控制都能夠自由運作[21].通過上述過程,實現對多樣性關鍵數據并行推薦.
為驗證本文所提多樣性關鍵數據并行推薦算法的有效性和可行性,進行仿真實驗分析,采用MATLAB作為實驗平臺,實驗硬件環境為Intel(R)Core(TM)i6-10 GHz CPU,內存為32 GB,帶寬為280 GB·s-1.
實驗參數設置如表1所示.

表1 實驗參數設置Table 1 Settings of experimental parameters
根據實驗參數對數據集展開描述.
實驗數據集描述如表2所示.

表2 實驗數據集描述Table 2 Description of experimental data sets
實驗數據采用的是某集團在2018年舉辦活動所公開的數據集,該數據集包含30 d的用戶行為數據.其中用戶行為數據包括8 500個用戶對199 830個商品的不同行為,該行為包括點擊、收藏與購買,每一條行為記錄都精確到以分鐘為基準的時間.
推薦精準度是驗證推薦算法的基本指標,采用平均絕對誤差衡量用戶滿意度預測評分和用戶滿意度真實評分之間差異,計算公式如式(4)所示:

(4)

圖5 權重因子與平均絕對誤差之間的關系
從圖5中可看出,不同權重因子取值大小會直接影響算法結果,當權重因子取值為0.4時,平均絕對誤差達到最小為1.13,由此說明在推薦過程中權重因子在一定程度上能夠決定推薦質量.
當權重因子為0.4時,平均絕對誤差達到最小,在該條件下,將傳統算法與基于卷積神經網絡的多樣性關鍵數據并行推薦算法進行對比分析,結果如下.
1) 無干擾因素
在無干擾因素條件下,將2種算法推薦精準度進行對比分析,結果如表3所示.

表3 無干擾下2種算法推薦精準度對比結果
由表3可知:在迭代次數為1~10的情況下,基于卷積神經網絡算法的推薦精準度始終高于傳統算法,最多高出58.7%,且本文算法的最高推薦精準度可達98.75%,顯著表明了本文所提算法的優勢.
2) 有干擾因素
將數據突發性增長作為干擾因素,在這種干擾條件下,將2種算法推薦精準度進行對比分析,結果如圖6所示.

圖6 有干擾因素下2種算法推薦精準度對比結果
由圖6可知,在干擾因素存在條件下,卷積神經網絡推薦算法受影響很小,精準度仍舊控制在75%~90%之間,且在整個實驗過程中,精準度始終處于較為平穩的狀態,表明本文算法的穩定性較好.傳統算法的精準度處于不斷下降的趨勢,平均精確度控制在30%左右,與本文算法相比,平均精確度低于本文算法53%左右,具有明顯的差距.
根據上述分析可知,無論是否存在干擾因素,基于卷積神經網絡的算法都比傳統算法的推薦精準度要高,由此說明基于卷積神經網絡的多樣性關鍵數據并行推薦算法是具有一定可行性的.主要是因為傳統研究算法往往忽略對數據結構的分析,導致數據推薦精度低,而本文算法依據數據迭代分析,詳細描述了數據并行結構,以此為基礎完成了數據推薦,大大提高了數據推薦精度.
為進一步驗證本文算法的有效性,對關鍵數據的提取效率進行對比分析,結果如圖7所示.
分析圖7可以明顯的看出,傳統算法的提取效率較低,最高不超過40%,而本文算法的關鍵數據提取效率較高,關鍵數據平均提取效率在78%左右,可有效完成關鍵數據提取,進而提高多樣性關鍵數據并行推薦效果.研究過程中,本文對收集到的數據進行了預處理,從大量數據中提取出了與并行推薦算法相關的關鍵數據,關鍵數據提取效率的提高,為多樣性關鍵數據并行推薦的有效實施提供了基礎.

圖7 兩種算法關鍵數據提取效率對比
分析多樣性關鍵數據并行推薦方案,提出了一種卷積神經網絡的推薦算法,通過卷積神經網絡結構,有效避免了傳統算法帶來的弊端,并且擴展網絡時不會受到網絡節點性能制約,依然保持較高推薦精準度,實現計算與數據傳輸的同步.實驗結果表明,在有無干擾因素的情況下,本文數據并行推薦算法的精準度均高于傳統算法,且本文推薦算法度關鍵數據的提取效率平均在78%左右,明顯優于傳統算法.由此可以看出,所提算法在多樣性關鍵數據并行處理時,比傳統算法具有更好的推薦效果,即使對于龐大的數據量,也具有良好擴展性.
在未來研究工作中,會針對數據量異常時該算法的可行性進行研究,并設計一種通用數據個性化推薦服務模式,成為通用網絡工具,不斷優化推薦算法,以此提高數據推薦效率,這是今后需要繼續研究的方向.