【摘要】分類作為數(shù)據(jù)挖掘的一種重要技術(shù)開始應(yīng)用到旅游信息智能服務(wù)領(lǐng)域,幫助旅游機(jī)構(gòu)為游客推薦旅游信息,提供滿足其需求的旅游服務(wù)。本文將分類集成算法引入旅游信息智能服務(wù)平臺,設(shè)計并實現(xiàn)了旅游信息的智能推薦。實驗使用貴州省旅游局提供的旅游數(shù)據(jù)作為數(shù)據(jù)集,驗證算法的分類效果。在此基礎(chǔ)上給出分類集成算法在平臺上的應(yīng)用實例,說明利用高性能的分類集成算法能幫助旅游機(jī)構(gòu)快速地為游客提供適合的旅游信息推薦,輔助制定旅游計劃。
【關(guān)鍵詞】分類集成;準(zhǔn)確率;旅游信息推薦
引言
隨著旅游資源不斷豐富,人們對于旅游信息和旅游服務(wù)的需求日益增加。游客面對海量的旅游信息,在選擇旅游資源的時候常常存在很大的盲目性和隨意性。同時,旅游機(jī)構(gòu)為了增加競爭力和經(jīng)營業(yè)績,也迫切需要提高旅游服務(wù)質(zhì)量。近年來,隨著國內(nèi)旅游行業(yè)的迅速發(fā)展,數(shù)據(jù)挖掘技術(shù)已經(jīng)應(yīng)用到旅游信息服務(wù)領(lǐng)域,各類旅游服務(wù)和旅游信息推薦系統(tǒng)應(yīng)運而生。文獻(xiàn)[4]中為輔助旅游機(jī)構(gòu)向游客推薦旅游目的地,設(shè)計了一種旅游信息智能推薦系統(tǒng)(TIRS)。文獻(xiàn)[5]中根據(jù)旅游服務(wù)信息的特點,提出了一種綜合信息檢索、聯(lián)機(jī)分析處理和數(shù)據(jù)挖掘等多種技術(shù)的旅游智能推薦(TSIR)系統(tǒng);對于貴州省這類旅游資源豐富、少數(shù)民族聚居的地域,旅游產(chǎn)業(yè)在經(jīng)濟(jì)發(fā)展中占據(jù)了舉足輕重的地位。在旅游信息服務(wù)平臺中引入高性能的分類集成算法,實現(xiàn)根據(jù)游客的特征和偏好進(jìn)行個性化的旅游信息推薦,充分滿足游客的個性化需求。研究分類集成算法在旅游信息服務(wù)平臺中的應(yīng)用,對于提高省內(nèi)旅游行業(yè)的軟環(huán)境服務(wù)水平,加快旅游信息化建設(shè),實現(xiàn)由傳統(tǒng)旅游業(yè)向現(xiàn)代旅游業(yè)的躍升,都有著重要的意義。
圖1 生成旅游信息推薦模型的流程圖
1.旅游信息推薦過程
為游客推薦旅游信息可以視為一個分類問題。旅游機(jī)構(gòu)會根據(jù)當(dāng)?shù)氐穆糜钨Y源推出相應(yīng)的旅游項目、旅游景區(qū)和旅游產(chǎn)品,同時也會保存以往大量游客的個人基本信息及其選擇的旅游信息的歷史記錄。將這些原始數(shù)據(jù)進(jìn)行預(yù)處理之后入庫,通過特征選擇算法篩選出對于推薦旅游信息起作用并且適合分類算法的屬性構(gòu)成數(shù)據(jù)集。將需要推薦的旅游信息作為訓(xùn)練樣本的目標(biāo)屬性,樣本的其余屬性則視為影響目標(biāo)屬性確定的決策屬性,然后在訓(xùn)練集上使用分類算法或分類集成算法生成分類模型。檢測分類模型,如果該模型達(dá)到分類準(zhǔn)確率的要求就將其入庫。使用分類集成算法訓(xùn)練得到旅游信息推薦模型的過程如圖1所示。
適用于分類算法或分類集成算法的旅游信息有很多種,如旅游項目、旅游景區(qū)(點)、旅行社、旅游產(chǎn)品等,這些數(shù)據(jù)通過屬性篩選以后都可以進(jìn)行智能推薦。
2.分類集成算法的描述
流行的分類集成算法有很多,本文選擇了一種適用于旅游信息推薦的分類集成算法——Adaboost.M1。該算法的基本思想是:首先賦予所有訓(xùn)練樣本相同的權(quán)值,然后應(yīng)用C4.5決策樹算法在數(shù)據(jù)集上生成一個分類器。根據(jù)該分類器的分類結(jié)果對每個樣本重新加權(quán)。調(diào)整樣本的權(quán)重,增加錯誤分類樣本的權(quán)重,同時減少正確分類樣本的權(quán)重。于是得到一組權(quán)重較低的“容易對付”的樣本和另一組權(quán)重較高的“難以對付”的樣本。在后繼的迭代中分類器重點處理那些難以對付的樣本,使其能實現(xiàn)正確分類。最后,依據(jù)新分類器的分類結(jié)果調(diào)整樣本的權(quán)重。在每次迭代之后,權(quán)重反映了當(dāng)前構(gòu)建的分類器對樣本錯誤分類的難易程度。通過對每個樣本分類難度的估計,從而得到一組互補型的專家,并采用加權(quán)投票的方法來預(yù)測新樣本的類別。
Adaboost.M1算法的過程描述如下。
生成模型
begin
(1)每個訓(xùn)練樣本的權(quán)重均賦予相同的值。
(2)for i=1,2,…,t do
1將C4.5算法應(yīng)用于加權(quán)的訓(xùn)練集上得到并保存結(jié)果模型。
2計算模型在加權(quán)訓(xùn)練集上的誤差e。
3if (e==0)||(e>=0.5) then exitendif
4for j=1,2,…,n do
if 模型將樣本正確分類 then
將樣本權(quán)重乘以e/(1-e)
endif
5對每一個樣本的權(quán)重進(jìn)行正?;幚?。
end for
end for
end
分類
begin
(1)每個類的權(quán)重均賦為0。
(2)for i=1,2,…,t do
給模型所預(yù)測的類賦予權(quán)重:。
end for
(3)返回權(quán)重最高的類。
end
3.算法性能驗證
從數(shù)據(jù)庫表trainingdata_1中選取5000個樣本,每個樣本包含18個屬性。分別按20%、40%、60%和80%四種比率劃分訓(xùn)練集,組成訓(xùn)練集1、訓(xùn)練集2、訓(xùn)練集3和訓(xùn)練集4。為了比較AdaBoost.M1算法與幾種流行的分類算法的分類預(yù)測能力,本文對4種分類算法分別在4個訓(xùn)練集中生成的分類模型進(jìn)行測試,對比結(jié)果如圖2所示。
根據(jù)圖2可得:(1)AdaBoost.M1算法在4個訓(xùn)練集生成的分類模型中均得到了最高的分類準(zhǔn)確率,并且隨著訓(xùn)練數(shù)據(jù)比例的增大,算法的正確率呈上升趨勢。說明針對旅游數(shù)據(jù)而言,AdaBoost.1算法具有比其他3種分類算法更好的分類效果。(2)隨著訓(xùn)練集樣本數(shù)目的不斷增加,AdaBoost.M1算法生成的分類模型的準(zhǔn)確率變化范圍最小,說明該算法得到的分類模型受訓(xùn)練集劃分比例的影響最小,算法的穩(wěn)定性好。實驗結(jié)果說明,分類集成算法AdaBoost.M1在旅游信息分類中能夠取得較高的準(zhǔn)確率,得到更好的分類效果。
圖2 4種分類算法的準(zhǔn)確率對比
4.算法應(yīng)用
4.1 系統(tǒng)結(jié)構(gòu)
旅游信息智能服務(wù)平臺的結(jié)構(gòu)如圖3所示。該平臺由三個邏輯層次構(gòu)成,分別是數(shù)據(jù)層、業(yè)務(wù)邏輯層和應(yīng)用層。平臺采用三層模式結(jié)構(gòu),后臺使用SQL SERVER 2008數(shù)據(jù)庫用以存儲需要進(jìn)行挖掘的數(shù)據(jù),在tomcat 5.0服務(wù)器上進(jìn)行相應(yīng)的挖掘以及模型的生成,在客戶機(jī)上訪問相應(yīng)的WEB頁面即可運行旅游信息智能服務(wù)平臺的客戶端。
旅游信息智能服務(wù)平臺主要實現(xiàn)以下功能:(1)界面功能:平臺面向的用戶分為游客、旅行社、酒店和景區(qū)4類,能夠完成用戶基本信息的錄入和維護(hù),可以設(shè)置各種提示窗口和提示信息。如果游客需要使用平臺的智能推薦功能,則需要進(jìn)行用戶注冊,登陸之后才能為其推薦旅游信息。(2)后臺管理:將數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換成適合各種學(xué)習(xí)算法構(gòu)造模型所需的數(shù)據(jù)形式,因此需要一個轉(zhuǎn)化的過程。在用戶界面上顯示的是用戶能夠理解的數(shù)據(jù)表示形式,比如交通類別分為飛機(jī)、火車、汽車、自駕和其他5種類別。為方便存儲,在數(shù)據(jù)庫中用TrafficCategory字段表示交通類別屬性,其值分別為1、2、3、4、5。(3)旅游信息智能推薦:利用推薦算法得到的分類模型為游客推薦旅游項目、旅游景區(qū)(點)、旅游產(chǎn)品等信息,并將推薦結(jié)果通過用戶界面返回給游客。
圖3 旅游信息智能服務(wù)平臺結(jié)構(gòu)圖
表1 旅游項目推薦的樣本字段描述
字段名 類型 長度 離散處理后的值
Tsex Varchar 10 1=男,2=女
Teducation Varchar 10 1=大學(xué)本科以上(含大學(xué)本科),2=大專,
3=中專及高中,4=高中以下
Tage Varchar 2 1=60歲以上,2=40-60歲,
3=23-39歲,4=23歲以下
Tvocation Varchar 4 1=公務(wù)員及企事業(yè)管理人員,
2=文教科技人員,3=服務(wù)銷售商貿(mào)人員,
4=工人和農(nóng)民,5=學(xué)生
Tpermon
-income Varchar 10 1=大于3000元,2=1500到3000元,
3=500到1499元,4=小于500
Tpermon
-expense Varchar 10 1=大于3000元,2=1500到3000元,
3=500到1499元,4=小于500
Ttravel
-days Varchar 10 1=大于7天,2=3-7天,3=小于3天
Ttravel
-time Varchar 10 1=寒暑假,2=十一黃金周,3=其他節(jié)假日,
4=淡季,5=無所謂
Tconcern
-what Varchar 10 1=酒店,2=餐飲,3=交通,4=娛樂,5=購物,
6=導(dǎo)游服務(wù),7=景區(qū)服務(wù)
Tpurpose Varchar 20 1=旅游觀光,2=休閑度假,3=探親訪友,4=商務(wù),
5=會議,6=文化體育科技交流,7=宗教朝拜,
8=其他
Tway Varchar 30 1=旅行社組織,2=單位組織,3=個人旅行
TrafficCategory Varchar 20 1=飛機(jī),2=火車,3=汽車,4=自己開車,5=其他
HotelGrade Varchar 10 1=3星級以下,2=3星級,4=4星級,5=5星級
RepastGrade Varchar 10 1=3星級以下,2=3星級,4=4星級,5=5星級
ScenicZone
Category Varchar 10 1=自然景觀,2=人文景觀,3=現(xiàn)代旅游景區(qū),
4=遺產(chǎn)景區(qū),5=紅色景區(qū)
ScenicZone
Grade Varchar 10 1=3A以下,2=3A,3=4A,4=5A
Tcost Varchar 10 1=大于3000元,2=2000-3000元,
3=1000-1999元,4=500-999元,
5=小于500元
Tpid Varchar 20 1=安順黃果樹-天星橋-陡坡塘瀑布-龍宮一日游,2=黔南珍珠景點二日游,3=黔西南馬嶺河二日游,4=荔波小七孔梅園二日游,5=黔東南杉木河漂流二日游,6=黔東南西江劍河二日游,……
智能推薦功能模塊是旅游信息智能服務(wù)平臺的核心功能模塊。在該模塊中,使用分類器動態(tài)集成算法AdaBoost.M1得到旅游信息推薦模型,使用模型實現(xiàn)為計劃出行的游客推薦旅游信息。
4.2 數(shù)據(jù)整理
應(yīng)用中使用的原始數(shù)據(jù)來自于貴州省旅游局提供的相關(guān)旅游數(shù)據(jù)和《貴州省游客旅游信息問卷調(diào)查》,大致可分為4個部分:(1)貴州省的旅游景區(qū)信息:包括景區(qū)名稱、門票價格、開放月份、景區(qū)類別、景區(qū)等級、所在地區(qū)等;(2)貴州省的旅行社信息:包括旅游社名稱、所在地區(qū)、提供的省內(nèi)旅游項目等;(3)貴州省的酒店信息,包括酒店名稱、所在地區(qū)、酒店等級、提供的各類房間的每日價格等;(4)游客的個人信息和旅游信息,這部分信息主要從《貴州省游客旅游信息問卷調(diào)查》中獲取。游客的旅游信息包含貴州省內(nèi)的旅游記錄和省外的旅游記錄,包括游客的個人資料,如姓名、性別、年齡、學(xué)歷、職業(yè)、家庭人均月收入、家庭人均月支出、通常選擇的出游天數(shù)、通常選擇何時去旅游、是否在外過夜等,以及游客以往的旅游歷史記錄,包括當(dāng)次旅游的旅游項目、旅游景區(qū)、旅游的目的、出游方式、交通類別、入住的酒店等級、游覽的景區(qū)等級、花費情況等。對上述數(shù)據(jù)進(jìn)行特征屬性抽取,獲得應(yīng)用所需的數(shù)據(jù)集。以上信息轉(zhuǎn)換為數(shù)據(jù)庫中的78個字段,共有15000條記錄,作為分類集成算法在旅游信息智能推薦中的數(shù)據(jù)集。
分類算法主要針對離散型的數(shù)據(jù),因此需要對數(shù)據(jù)集的屬性值進(jìn)行離散處理。本文以推薦旅游項目為例說明如何應(yīng)用分類集成算法實現(xiàn)旅游信息推薦,文中僅給出旅游項目智能推薦所需樣本屬性對應(yīng)字段的描述如表1所示。
4.3 應(yīng)用實例
將AdaBoost.M1算法生成的分類模型應(yīng)用到旅游信息智能推薦平臺的原型系統(tǒng)中,本節(jié)給出一個旅游項目智能推薦的實例對算法的應(yīng)用進(jìn)行說明。
游客在貴州省旅游信息服務(wù)平臺上選擇使用旅游項目推薦,需要根據(jù)提示在下拉列表中選擇對應(yīng)的個人基本信息和旅游偏好,點擊“旅游項目推薦”按鈕。游客的錄入信息如圖4所示。
本實例中,系統(tǒng)為該游客推薦的旅游項目是荔波小七孔梅園二日游。如圖5所示,完成旅游項目推薦之后,游客可以點擊查看旅游項目的簡介,以了解該旅游項目的基本情況。
5.結(jié)束語
本文將一種流行的分類集成算法Adaboost.M1引入到旅游信息智能服務(wù)平臺的智能推薦模塊中,把為游客提供旅游信息推薦服務(wù)轉(zhuǎn)換成分類問題。使用貴州省旅游局提供的相關(guān)旅游數(shù)據(jù)作為原始數(shù)據(jù),篩選、整理入庫后,即可作為生成和測試推薦模型的數(shù)據(jù)集。
通過實驗驗證和應(yīng)用實例可知,在旅游信息智能服務(wù)平臺中使用高性能的分類器集成算法Adaboost.M1能夠快速、有效地根據(jù)游客的個性特征為其推薦滿足需求的、個性化的旅游信息。通過這種方式,能夠提高游客對旅游公司的認(rèn)可度,從而增加企業(yè)的競爭力和經(jīng)營業(yè)績,提高省內(nèi)旅游行業(yè)的服務(wù)水平,加快旅游信息化建設(shè)。
參考文獻(xiàn)
[1]戴常英,孫德全.基于C4_5和Boosting算法的數(shù)據(jù)庫負(fù)載自動識別[J].計算機(jī)工程與設(shè)計,2008,29(4):972-975.
[2]陳冰,張化祥.集成學(xué)習(xí)的多分類器動態(tài)組合方法[J].計算機(jī)工程,2008,34(24):218-220.
[3]關(guān)菁華,劉大有,賈海洋.自適應(yīng)多分類器集成學(xué)習(xí)算法[J].計算機(jī)研究與發(fā)展,2008,45(Suppl):218-221.
[4]趙琳,羅漢,劉京.加權(quán)馬氏距離判別分析方法及其權(quán)值確定——旅游信息服務(wù)系統(tǒng)的智能推薦[J].經(jīng)濟(jì)數(shù)學(xué),2007,24(2):185-188.
[5]張晗.基于數(shù)據(jù)挖掘的旅游資訊服務(wù)智能推薦系統(tǒng)的研究與設(shè)計[D].鄭州:中國人民解放軍信息工程大學(xué)信息工程學(xué)院,2006.
[6]陳海霞.面向數(shù)據(jù)挖掘的分類器集成研究[D].長春:吉林大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,2006.
[7]Jiawei Han,Micheline Kamber.數(shù)據(jù)挖掘概念與技術(shù)[M].北京:機(jī)械工業(yè)出版社,2004.
基金項目:貴州大學(xué)青年教師科研基金項目自然科學(xué)類(2012017)。
作者簡介:姜季春(1981—),女,重慶人,碩士研究生,講師,主要研究方向:數(shù)據(jù)庫技術(shù)與軟件工程。