楊杰中
(中國人民大學附屬中學 北京 100086)
隨著互聯網技術的快速發展,用戶和圖書的巨大增長為電子商務領域的推薦系統帶來了三大關鍵挑戰,即:如何提供高質量的推薦,如何在每秒為數百萬用戶和書籍實現多個推薦,并在面對數據稀疏性時實現高覆蓋率[1]。
為了應對以上面臨的挑戰,同時減小因數據冗余、復雜及歧義所帶來的問題,個性化推薦在科研中已經獲得許多成果,相關的系統被廣泛地應用于電子商務中。本文基于圖書爆炸性增長的問題,提出以個性化推薦的方式構建圖書推薦系統。其中,模型及方法的構建有利于快速、有效地為用戶推薦個性化及長尾部分的圖書;同時驗證了基于隱語義模型的協同過濾方法具有可行性及實用性。本文所設計的圖書推薦系統可為相關的工業設計提供研發思路,并促進相關領域的發展。
在推薦系統領域,尤其是個性化推薦方法已經獲得眾多學者的認可。Jonathan等學者提出了一個用于提高協同過濾和新的算法元素準確性的框架[2]。Linden等學者通過比較相似項目而不是相似用戶,證明使用項目到項目的協同過濾可擴展到非常大的數據集并生成高質量的推薦[3]。本文基于隱語義模型實現協同過濾算法,并設計具備可行性、實用性的圖書推薦系統。此外,本文還根據數據稀疏、系統冷啟動等問題進行了優化,系統還可以根據用戶在閱讀書籍時在不同章節的停留時間來分析數據的經典部分,使推薦系統更好地與模型融合。
本文在設計應用平臺時,使用對用戶行為模式進行評估來為用戶推薦其所感興趣的書籍并顯示于圖書推薦界面。同時,用戶的關注列表、搜索記錄也將為推薦系統提供用戶的潛在興趣及愛好。因此,本文設計圖書推薦系統平臺包含用戶端及服務器端,用戶端包含圖書搜索、用戶關注、圖書推薦等界面,服務器可對用戶的行為模型進行分析及做出推薦等行為,如圖1所示。

圖1 整個系統的研究思路
為了量化隱式信息,本文通過計算用戶已讀頁數與閱讀總時長之比來量化其對書的興趣程度。經驗表明,閱讀的開頭用戶翻看某頁的狀態最缺乏規律,因此要懲罰開頭頁數。然后,用戶本身閱讀的快慢有所不同,因此用該用戶平均閱讀速度懲罰被慢速閱讀的書。最后得到一個隱式信息指標:

T(i,A)是基于A用戶閱讀i書速度的隱式信息指標,其中i表示物體、A,B表示用戶、B(i)指組成i書的頁集合、u指書的頁碼、P(A)表示A用戶看過的所有書的總頁碼數、T(A)表示A用戶總閱讀時間、TAiu表示A用戶讀完i書u頁所花的時間。
為應對不知圖書該分成多少類的問題,K-Means算法將無法適用于本任務,而DBSCAN可不用指定簇,其可依據分組進行遍歷并自由生長。同時,DBSCAN可發現任何形狀的簇并排除噪聲點,這可應對圖書復雜的分類問題。故本文選用DBSCAN對圖書進行聚類。
隱語義模型是協同過濾中最常用的一種方法,其可獲得用戶對某項目的興趣度[5]。模型算法的原理是構建用戶—項目矩陣R,并計算兩個低秩矩陣P與Q,將其相乘以計算興趣度并彌補矩陣中的缺失值。
本文采用余弦相似度[4]計算圖書間的相似程度,如公式2所示。為了判斷用戶是否會喜歡某圖書j,本文依據實驗設定某一閾值,當大于閾值時,算法便判斷j物品就可能是用戶喜愛的書籍

利用相似度計算,系統可以基于用戶已喜歡的圖書i來推薦與該圖書高度相關的圖書j,并根據相關評分來獲得用戶對圖書j的潛在得分以計算對該圖書的推薦系數,最終獲得基于圖書的推薦列表。算法在實際運算中,無法將所有的圖書都推薦給用戶,故會選擇推薦系統最高的N個圖書推薦給用戶。
模型訓練所用到的數據為MovieLens中在1997年到1998年的100K數據,其包含943個用戶對1682個電影的評分,評分范圍為1~5之間。
為了評估模型的性能,本文采用RMSE(均方根誤差)和MAE(平均絕對誤差)測量模型的損失。其中,RMSE是預測值與真實值偏差的平方與觀測次數n比值的平方根。MAE是對同一物理量進行多次測量,并將各次測量的絕對誤差取絕對值后再求平均值。
在假設建模中,我們通過算法計算了讀者觀看每一頁的時間,我們可以將這些時間再次利用于統計中,根據讀者在某書停留的所有時間的集合制成圖標,反映一本書的精彩程度,從而為觀眾展示這本書的高潮、低谷等部分。預想效果如圖2所示:

圖2 圖書高潮預想效果圖
如此可以看出,129頁到193頁比較精彩。
讓熱度排名較高的書籍,用出版時間和在訓練中得出的出版時間的權重融合為新的熱度系數,用Top-N算法排序后排出熱度前N個的書籍,推廣給群眾。這樣可以介入新用戶對熱門書籍的評價,部分解決新用戶問題。
基于內容的推薦是通過用戶給出的關鍵詞等信息內容,尋找到具有對應信息或內容的物品進行推薦。對于新用戶問題,首先采用調查問卷詢問用戶喜歡什么樣內容的書籍,然后進行75%的基于內容推薦和25%的熱門書籍推薦。這樣可以完全解決新用戶問題,將新用戶過渡為老用戶,再降低基于內容的推薦,增加協同過濾推薦。
本文通過基于隱語義模型的協同過濾算法構建圖書推薦系統,所實現的模型根據用戶閱讀的習慣進行多種隱含語義的挖掘,并綜合用戶評分、評論等計算圖書推薦系數,實驗結果表明,隱語義模型能有效地挖掘用戶對某物品的潛在興趣。本文所設計的圖書推薦系統可為工業界提供研究參考,并為相關研究提供實驗基礎。
在電子商務領域,用戶的興趣會隨著時間的變化而改變,本文在考慮了矩陣稀疏及冷啟動的問題基礎上進行模型優化,但未對時間序列進行額外的處理,未來的研究可以將時間序列等信息納入本文系統中,以提高推薦質量。此外,用戶的評價往往包含了其對圖書的看法及情感,往后可應用情感分析對用戶的評價進行綜合處理。基于神經網絡的推薦系統已越來越受研究者的喜愛,未來的研究還可嘗試使用神經網絡以增加系統的自動化程度。