石 洋
(湖南工程職業(yè)技術(shù)學(xué)院 生態(tài)文旅學(xué)院,湖南 長沙 410151)
隨著酒店業(yè)的發(fā)展和信息技術(shù)的應(yīng)用,如何借助信息技術(shù)提高酒店服務(wù)水平,成為當(dāng)前信息化背景下應(yīng)思考的重點(diǎn)。其中,面向海量的用戶和酒店,如何找到用戶更感興趣的酒店,是當(dāng)前酒店推薦系統(tǒng)需要解決的難題。針對(duì)該問題,丁丁[1]提出依托大數(shù)據(jù)分析模型實(shí)現(xiàn)用戶相同偏好或相似偏好對(duì)酒店需求的預(yù)測(cè);李書昊等[2]通過提取酒店用戶評(píng)論,提出采用線下酒店評(píng)估方法構(gòu)建酒店推薦模型。以上都是基于當(dāng)前協(xié)同推薦算法的研究。錢春琳等[3]、楊博等[4]認(rèn)為協(xié)同推薦需要解決數(shù)據(jù)稀疏性問題,進(jìn)而提高推薦的準(zhǔn)確率。劉巖[5]則提出,先用機(jī)器算法對(duì)特征進(jìn)行提取,然后再采用協(xié)同推薦算法進(jìn)行推薦?;谝陨纤悸罚狙芯渴紫忍崛∮脩艉途频晏卣?,同時(shí)利用余弦相似度計(jì)算公式減少數(shù)據(jù)的稀疏性,以提高推薦精度。
協(xié)同過濾推薦是在現(xiàn)有用戶特征中,利用相似度計(jì)算公式計(jì)算用戶間的相似度,找到興趣愛好相近的用戶,最終產(chǎn)生推薦結(jié)果[6]。根據(jù)協(xié)同過濾目的的不同,協(xié)同過濾推薦可分為基于項(xiàng)目的推薦、基于用戶的推薦和基于模型的推薦[7]。本研究是通過提取酒店用戶的特征,然后針對(duì)特征給用戶進(jìn)行推薦,所以采用基于用戶的協(xié)同過濾。先計(jì)算用戶特征的相似度,將相似度接近的用戶歸為一個(gè)集合,然后用項(xiàng)目評(píng)分預(yù)測(cè)用戶對(duì)目標(biāo)項(xiàng)目的評(píng)分,最終生成目標(biāo)項(xiàng)目top-N列表。具體步驟如下:
(1)獲取用戶對(duì)項(xiàng)目的評(píng)分值,然后用向量R表示“用戶+項(xiàng)目+用戶對(duì)項(xiàng)目的評(píng)分”建立用戶偏好矩陣:
(1)
式中:N表示用戶數(shù)量;n表示項(xiàng)目數(shù)量。某用戶u對(duì)項(xiàng)目i的評(píng)分用Rui表示,取值為1~5的整數(shù)。
(2)
(3)從集合U中選出與目標(biāo)用戶相似度接近的近鄰構(gòu)成集合。由于集合U的數(shù)量對(duì)推薦結(jié)果和推薦質(zhì)量影響較大,故參考文獻(xiàn)[5]和文獻(xiàn)[6],將集合U的數(shù)量設(shè)定為[20,50]。
(4)選擇最近鄰用戶評(píng)價(jià)過的且目標(biāo)用戶沒有評(píng)價(jià)過的項(xiàng)目,根據(jù)用戶對(duì)項(xiàng)目的評(píng)分,預(yù)測(cè)目標(biāo)對(duì)該項(xiàng)目的評(píng)分產(chǎn)生合適的項(xiàng)目集并推薦給目標(biāo)用戶。u對(duì)i的評(píng)分預(yù)測(cè)計(jì)算方法如式(3)所示:
(3)
(4)
本推薦模型的基本思路如下:基于酒店特征和用戶特征構(gòu)建酒店推薦候選集,根據(jù)基于用戶的協(xié)同推薦算法產(chǎn)生推薦結(jié)果,得到top-N推薦列表供酒店用戶選擇。
用戶特征矩陣構(gòu)建是推薦的基礎(chǔ),也是關(guān)鍵。用戶特征包括性別、年齡、知識(shí)等多種特征,為更好地提取這些特征,在構(gòu)建用戶模型前對(duì)用戶相關(guān)信息文本的語義特征進(jìn)行提取,選取具有代表性的詞作為用戶特征。具體采用詞頻(term frequency,TF)與逆文本頻率指數(shù)(inverse document frequency,IDF)結(jié)合的方法實(shí)現(xiàn)用戶相關(guān)文本信息語義特征的提取。設(shè)V=(t1w1,t2w2,…,tiwi)表示每個(gè)文本文檔,其中的ti表示詞條項(xiàng),wi為對(duì)應(yīng)權(quán)值。若第i個(gè)詞在某個(gè)文本中出現(xiàn)的頻率高、在其他文本中的頻率低,則說明第i個(gè)詞區(qū)別能力良好;詞條t在文檔中出現(xiàn)的頻率越低,逆向文件頻率越高,則認(rèn)為t具有良好的類別區(qū)分能力。具體計(jì)算公式如下:
(5)
式中:tc表示權(quán)重;tfi表示第i個(gè)詞在訓(xùn)練集文本N中的詞頻;ni表示沒有出現(xiàn)第i個(gè)詞的文本數(shù)量。
提取語義特征后,結(jié)合用戶信息構(gòu)建用戶偏好矩陣U(f):
U(f)=(U1,U2,…,Uj),
(6)
式中:Uj表示用戶u對(duì)第j個(gè)特征的偏好。
另外,為解決數(shù)據(jù)中存在的稀疏性問題,更好地挖掘用戶間的相關(guān)性,采用余弦相似度計(jì)算用戶間的相似度,具體計(jì)算公式如下:
(7)
基于以上的相似計(jì)算,用戶u可用n個(gè)相似用戶和用戶間的相似度表示。
酒店特征通常包括房?jī)r(jià)、房間設(shè)備、酒店星級(jí)、酒店設(shè)施等。參考王婧虹等[6]對(duì)酒店特征的分析,本研究提取了k個(gè)酒店特征,具體特征及賦值見表1。
表1 酒店特征及賦值
在以上提取的基礎(chǔ)上,構(gòu)建酒店特征矩陣H(f):
H(f)=(H11,H12,…,H1j,…,H2j,…,Hij),
(8)
式中:Hij表示酒店i的第j個(gè)特征。
同樣,為減少數(shù)據(jù)的稀疏性,采用余弦相似度計(jì)算公式計(jì)算酒店的相似度,從而得到相似酒店的相似度:
(9)
在構(gòu)建酒店特征矩陣和用戶特征矩陣后,利用協(xié)同推薦算法計(jì)算用戶u對(duì)酒店i的期望評(píng)分pr(u,i),并根據(jù)期望評(píng)分篩選出符合用戶特征的前N家酒店作為推薦列。pr(u,i)的計(jì)算如下:
pr(u,i)=r(v,j)×sim_u(u,v)×sim_h(i,j),
(10)
式中:r(v,j)表示用戶v對(duì)酒店j的評(píng)分;sim_u(u,v)表示用戶u與v之間的相似度;sim_h(i,j)表示酒店i和j之間的相似度。
通過以上步驟,得到基于用戶特征的酒店推薦模型(圖1)。在圖1的整體推薦框架中,基于源數(shù)據(jù)信息,通過tf-idf獲取文本特征,然后基于用戶特征和酒店特征,利用協(xié)同推薦算法實(shí)現(xiàn)酒店推薦。
圖1 基于用戶特征的酒店推薦模型
為驗(yàn)證以上方案的可行性,以酒店管理營運(yùn)博弈沙盤為仿真平臺(tái)[8]進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)均來自該平臺(tái)爬取的用戶數(shù)據(jù)和酒店數(shù)據(jù)。對(duì)爬取的數(shù)據(jù)進(jìn)行預(yù)處理,最終獲取用戶數(shù)據(jù)11 823條、酒店數(shù)據(jù)958條、訂單數(shù)據(jù)14 847條。
本研究選用常用的推薦算法評(píng)價(jià)指標(biāo)——準(zhǔn)確率P[9]、召回率R[10]、F1值[11],計(jì)算方法見式(11)至式(13):
(11)
(12)
(13)
以上3個(gè)指標(biāo)取值為[0,1],值越大,表示酒店推薦效果越好。
結(jié)合構(gòu)建的推薦模型對(duì)用戶進(jìn)行酒店推薦,得到如表2所示的推薦結(jié)果。表2中,n表示用戶u存在相似用戶的個(gè)數(shù)。由表2可知:當(dāng)n≤6時(shí),隨著其取值的增大,準(zhǔn)確率、召回率、F1值均逐漸升高;當(dāng)n>6時(shí),隨著n的取值繼續(xù)增大,準(zhǔn)確率、召回率、F1值沒有明顯提升。由此說明,基于用戶特征的酒店推薦模型在相似用戶少于6個(gè)時(shí),推薦效果良好。
表2 不同n值時(shí)模型推薦效果
為驗(yàn)證本研究構(gòu)建模型推薦效果的優(yōu)越性,取用戶n=6,與傳統(tǒng)推薦算法進(jìn)行對(duì)比,得到如表3所示的結(jié)果。由表3可知,本算法的召回率、F1值均高于對(duì)比算法,雖然準(zhǔn)確率略低于基于特征參數(shù)匹配的推薦算法,但其擴(kuò)展性和推薦效果更好,故本算法的推薦效果總體上優(yōu)于對(duì)比算法。
表3 不同推薦算法的推薦結(jié)果
本研究提出了基于用戶特征的酒店推薦模型,可根據(jù)用戶特征為用戶推薦類似酒店。相較于傳統(tǒng)的基于特征參數(shù)匹配和基于協(xié)同過濾的推薦算法,本算法的召回率和F1值更高,擴(kuò)展性和推薦效果更優(yōu)。