李偉
(六盤水師范學院數學與計算機科學學院,貴州 553000)
隨著我國旅游產業規模不斷擴大,旅游信息呈現爆炸性增長,導致游客很難獲取有價值的信息,旅游服務開始從傳統的信息化向智能化轉變。智慧旅游推薦系統從海量旅游信息資源中發現游客感興趣的信息,并將個性化需求信息推薦給對應的游客用戶,因此推薦系統的研發對智慧旅游的發展具有重要意義。目前,國內外主要從兩個方面對智慧旅游進行研究:①通過具體的實例來展現智慧旅游的發展情況。②研究如何構建智慧旅游體系[1]。Jeong H 分析用戶對景點的訪問信息,根據用戶的地理信息對旅游用戶進行推薦[2]。Huang Y 利用貝葉斯網絡分析用戶的數據,構建智慧旅游推薦系統[3]。近年來智慧旅游推薦系統在我國快速發展起來,它是信息技術與旅游資源結合的產物,也是旅游發展理念的重大變革。但智慧旅游推薦系統仍存在很多問題,例如推薦系統的性能較差、推薦信息不準確等。
本文研究利用大數據挖掘技術,改進基于項目的協同過濾算法,分析游客的歷史數據和游客與系統的交互行為來獲取游客的興趣,使用Mahout 實現分布式智慧旅游推薦系統,為旅客提供高效的個性化服務信息推薦。
為了給游客提供精準智能的個性化服務,景區需要搭建智慧旅游推薦系統[4]。基于大數據挖掘技術的智慧旅游推薦系統的總體架構如圖1 所示,分為數據層、分析層和應用層。數據層是推薦系統的數據來源,整合所有智慧旅游業務數據,包括旅游資源、用戶信息和服務器日志等數據;分析層使用大數據開源框架Hadoop,其兩大核心是HDFS 和MapReduce,在Hadoop 的基礎上采用Mahout 分布式程序實現基于項目的協同過濾推薦;應用層主要向終端用戶推送的服務有景點推薦、路線推薦和資訊推薦等。游客可以通過手機終端向系統請求服務信息,系統根據景區的實時狀況和游客特征向游客推送個性化推薦服務,同時系統可以收集游客對推薦結果的反饋信息,從而改善推薦結果的準確率。

圖1 智慧旅游推薦系統的總體架構
個性化推薦系統是建立在數據挖掘的基礎上的一種高級智能服務,它組合各種軟件技術和工具為用戶推薦信息[5]。智慧旅游推薦系統向游客推薦其感興趣的旅游服務信息,為了保障推送的服務信息是游客真正需要的,系統首先需要收集游客的偏好,然后從信息庫中選擇與游客偏好匹配的項目,再推薦給游客。智慧旅游推薦系統的關鍵技術主要包括構建游客興趣模型和推薦算法。
游客在智慧旅游推薦系統中分為顯性反饋和隱性反饋兩種行為。顯性反饋行為是游客已經旅游的景點信息、路線信息和酒店信息等歷史數據,其表現方式是對信息的評分和偏好。隱性反饋行為是游客對景點網上相關信息的瀏覽數據,以及游客與系統的交互行為。
游客興趣模型包括:游客的姓名、性別和年齡等基本信息,游客對景點、酒店等的評分信息,游客當前所在景點和路線等位置信息。
建立游客興趣模型以后,推薦系統對游客進行個性化推薦還需要使用推薦算法對數據進行分析處理。基于項目的協同過濾算法是根據用戶已有的信息,去推算出用戶可能含有或即將含有的信息[6]。系統采用的基于項目的協同過濾算法,將所有游客對某個景點的偏好作為一個向量來計算景點之間的相似度,得到景區的相似景區后,根據游客歷史偏好預測當前游客還沒有表示偏好的景區,計算得到一個排序的景區列表作為結果推薦。如圖2所示,對于景區1,根據所有游客的歷史偏好,喜歡景區1的游客都喜歡景區3,得出景區1 和景區3 比較相似,而用戶C 喜歡景區1,那么可以推斷出用戶C 可能也喜歡景區3。

圖2 基于項目的協同過濾算法
相似度的計算的方法主要有歐幾里德距離、皮爾遜相關系數和余弦相似度[7],本文利用余弦相似度來計算項目的相似度。但是余弦相似度方法忽略了不同用戶打分的嚴格程度,有的用戶偏向于給高分,而有的用戶偏向于給低分,本文改進了余弦相似度,通過減去用戶打分的平均值來去除用戶打分習慣的影響,如公式為:

其中,Ri為用戶i的打分平均值,Rj為用戶j的打分平均值。
Apache Mahout 中提供了協同過濾算法的實現[8],它是一個基于Java 實現的可擴展和高效的推薦引擎,從數據處理能力上可以分為單機內存算法實現和基于Hadoop的分步布算法實現。本文采用基于Hadoop的分步布算法,以來提高智慧旅游推薦系統的性能。在運行時Mahout 分布式程序會把MapReduce 類型的程序包,自動發布到Hadoop集群環境中執行。
為了檢驗本文所提出方法的有效性,在Movie-Lens 數據集上進行驗證,并隨機抽取80%的數據作為訓練集,20%的數據作為測試集。本文采用均方根誤差RMSE(root mean squared error)作為評價標準,通過計算預測的用戶評分與實際的用戶評分之間的偏差來度量預測的準確性。RMSE公式為:

其中,{P1,P2,…,PN}為N個項目的預測評分集合,{r1,r2,…,rN}為N個項目的實際評分集合。當RMSE值越小時,表示推薦質量越高。實驗采用余弦相似度和改進的余弦相似度來計算項目之間的相似度,值的分布如圖3 所示,由圖可以看出余弦相似度分布較為均勻,而改進的余弦相似度分布更加個性化。使用項目的評分值減去用戶評分的平均值,能夠真實反映出項目的差異特征,因此改進的余弦相似度計算方法可以得到較高推薦質量。

圖3 實驗計算項目的相似度
隨著大數據技術的發展和旅游信息數據的增長,搭建基于大數據挖掘技術的智慧旅游推薦系統,利用大數據的分布式計算能力,能夠快速處理旅游信息數據,實時的進行智慧旅游服務信息推薦。因此,智慧旅游推薦系統具有良好的應用前景,來為游客提供智能和高效的個性化信息推薦服務。