旅客需求推薦方法
【專利摘要】本發(fā)明涉及一種旅客需求推薦方法,該方法在歷史交易數(shù)據(jù),等級(jí)信息等常規(guī)結(jié)構(gòu)化數(shù)據(jù)的之上,通過JS嵌碼的方式收集用戶在網(wǎng)站的在線行為等非結(jié)構(gòu)化數(shù)據(jù),采用分布式文件系統(tǒng)HDFS作為統(tǒng)一的存儲(chǔ)平臺(tái),通過Mahout和Storm技術(shù)為分別用戶提供基于訓(xùn)練模型的離線推薦和在線推薦。本方法不僅擴(kuò)大了推薦數(shù)據(jù)的利用范圍,提升了推薦精度,而且整合了實(shí)時(shí)推薦和離線推薦,推薦性能更加穩(wěn)定。
【專利說明】旅客需求推薦方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及民航旅游業(yè)的個(gè)性化推薦系統(tǒng)構(gòu)建方法,尤其涉及一種旅客需求推薦方法。
【背景技術(shù)】
[0002]在過去的幾十年里,隨著網(wǎng)絡(luò)基礎(chǔ)設(shè)施的普及與改進(jìn)以及移動(dòng)互聯(lián)網(wǎng)相關(guān)服務(wù)及應(yīng)用的推廣,信息技術(shù)的發(fā)展讓我們進(jìn)入一個(gè)信息爆炸的時(shí)代。現(xiàn)如今,無論您身處哪個(gè)行業(yè),信息爆炸都是一個(gè)不可回避的話題。從航空航天到電子商務(wù),從銀行業(yè)到醫(yī)療行業(yè),雖然行業(yè)不同,但都面臨著同樣的問題,那就是呈爆炸式增長(zhǎng)的數(shù)據(jù)量。民航旅游業(yè)也不例夕卜。業(yè)界將這種爆炸式增長(zhǎng)的數(shù)據(jù)稱為大數(shù)據(jù),大數(shù)據(jù)雖然價(jià)值密度低,但是總體價(jià)值大,因此大數(shù)據(jù)既是機(jī)遇又是挑戰(zhàn)。大數(shù)據(jù)帶來的機(jī)遇之一,就是通過大數(shù)據(jù)分析用戶行為習(xí)慣,據(jù)此為用戶提供個(gè)性代的推薦。
[0003]但目前,航空旅游業(yè)的個(gè)性化推薦存在以下問題:
1.數(shù)據(jù)收集問題。用戶在航空旅游的網(wǎng)站上留下了大量的數(shù)據(jù),這些數(shù)據(jù)不僅包括交易等結(jié)構(gòu)化的數(shù)據(jù),還包括用戶行為等非結(jié)構(gòu)化數(shù)據(jù)。傳統(tǒng)推薦因?yàn)槭芗夹g(shù)限制,只關(guān)注結(jié)構(gòu)化數(shù)據(jù)的應(yīng)用,而忽略了非結(jié)構(gòu)化數(shù)據(jù)的應(yīng)用。
[0004]2.推薦算法可擴(kuò)展性問題。隨著用戶和物品數(shù)量的大量增加,算法的推薦性能和速度都大幅降低,如此一來,時(shí)間和空間都超出可控范圍,導(dǎo)致其執(zhí)行效率變得非常低下,嚴(yán)重影響推薦效果和用戶滿意度。
[0005]3.互聯(lián)網(wǎng)環(huán)境下,社交網(wǎng)絡(luò)發(fā)達(dá),信息獲取途徑多,用戶認(rèn)知和接受能力的周期變短,使得用戶偏好波動(dòng)變大。比方說某用戶在兩周以前特別喜歡籃球,他的旅游計(jì)劃是本周去美國看一場(chǎng)NBA比賽,但在上周他通過社交網(wǎng)絡(luò)加入到一個(gè)足球的社交群體,通過與群體的交流認(rèn)知,他覺得足球更有魅力,由此他就本周旅行計(jì)劃改為去曼徹斯特老特拉福球場(chǎng)看一場(chǎng)足球比賽。
【發(fā)明內(nèi)容】
[0006]為了解決上述問題,本發(fā)明提供一種旅客需求推薦方法,本發(fā)明的技術(shù)方案如下。
[0007]旅客需求推薦方法,包括以下步驟:
步驟1,收集客戶信息,歷史交易數(shù)據(jù),等級(jí)信息等常規(guī)結(jié)構(gòu)化數(shù)據(jù);
步驟2,通過JS嵌碼的方式收集用戶在網(wǎng)站的在線行為等非結(jié)構(gòu)化數(shù)據(jù);
步驟3,將收集到的數(shù)據(jù)統(tǒng)一存放到分布式文件系統(tǒng)HDFS ;
步驟4,在Mahout框架上選擇推薦模型,并利用收集到的數(shù)據(jù)訓(xùn)練推薦模型;
步驟5,利用Mahout框架采用訓(xùn)練好的模型基于歷史數(shù)據(jù)做離線推薦,并將推薦結(jié)果存儲(chǔ)到HDFS ;
步驟6,當(dāng)用戶登錄網(wǎng)站,為用戶提供離線推薦;
步驟7,瀏覽網(wǎng)站的過程中觸發(fā)事件,為用戶提供基于Storm的在線推薦。[0008]其中,推薦模型的訓(xùn)練過程如下:
步驟1,根據(jù)數(shù)據(jù)量的規(guī)模以及推薦性能要求,選擇合適的推薦模型;
步驟2,對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理;
步驟3,訓(xùn)練模型,模型訓(xùn)練好之后,將模型關(guān)鍵參數(shù)放入到CSV文件,并存儲(chǔ)到HDFS模型文件夾model之中。
[0009]其中,在線推薦和離線推薦使用同一個(gè)推薦模型,模型基于離線的歷史數(shù)據(jù)訓(xùn)練,其中歷史數(shù)據(jù)包括結(jié)構(gòu)化的交易數(shù)據(jù),也包括非結(jié)構(gòu)化的在線行為數(shù)據(jù)。
[0010]其中,當(dāng)數(shù)據(jù)增長(zhǎng)量超過一定閥值時(shí),更新離線推薦和訓(xùn)練模型,閥值可自行設(shè)定,離線推薦的閥值初定為5%,訓(xùn)練模型的更新閥值初定為15%。
[0011]本發(fā)明的有益效果是,
1.本發(fā)明擴(kuò)大了數(shù)據(jù)的應(yīng)用范圍,不僅利用了用戶交易等結(jié)構(gòu)化數(shù)據(jù),還利用了用戶行為等非結(jié)構(gòu)化數(shù)據(jù),通過擴(kuò)大數(shù)據(jù)應(yīng)用范圍,提升推薦精度。
[0012]2.本發(fā)明采用在線推薦和離線推薦兩種推薦方式,不僅使得推薦的穩(wěn)定性更高,而且可再次提升推薦精度。
[0013]3.在線推薦和離線推薦均采用分布式的計(jì)算框架實(shí)現(xiàn),通過分布式框架提升計(jì)算能力,可根據(jù)數(shù)據(jù)規(guī)模在計(jì)算能力上做水平擴(kuò)展,解決算法的可擴(kuò)展性問題。
[0014]4.JS頁面標(biāo)記獲取用戶行為數(shù)據(jù)靈活性和可控性都較好,不僅可定制收集各用種戶行為,而且獲取信息較為完整。
[0015]以下將將結(jié)合附圖以實(shí)施例的方式對(duì)本發(fā)明做進(jìn)一步闡述。
【專利附圖】
【附圖說明】
[0016]圖1是本發(fā)明實(shí)施例的技術(shù)架構(gòu)圖;
圖2是本發(fā)明實(shí)施例JS標(biāo)記獲取用戶行為信息;
圖3本發(fā)明實(shí)施例的用戶行為示意圖;
圖4本發(fā)明實(shí)施例的推薦效果示意圖。
【具體實(shí)施方式】
[0017]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。
[0018]如圖1所示,本發(fā)明實(shí)施推薦方法包括離線推薦和在線推薦兩部分,其中離線推薦的執(zhí)行過程如下:
1.收集用戶歷史數(shù)據(jù),數(shù)據(jù)包括用戶個(gè)人信息,歷史交易數(shù)據(jù),旅游產(chǎn)品數(shù)據(jù)等;
2.應(yīng)用Flume框架,將歷史數(shù)據(jù)導(dǎo)入到HDFS文件夾;數(shù)據(jù)放入HDFS之后以數(shù)據(jù)類別存放,然后在每個(gè)類別下面以時(shí)間戳為文件夾名構(gòu)造子文件夾,以此標(biāo)識(shí)文件的增量式存放,文件名用類別加時(shí)間戳的方式標(biāo)識(shí);如有13年10月I號(hào)的針對(duì)十一假期推出的一個(gè)革命老區(qū)團(tuán)體游活動(dòng)的數(shù)據(jù)文件,就會(huì)被放到文件夾/travel/201310下,命名為travel—20131001.csv ;
3.應(yīng)用Mahout框架,利用已獲得的歷史數(shù)據(jù),訓(xùn)練推薦模型;推薦模型訓(xùn)練的結(jié)果輸出是具體的算法參數(shù),結(jié)果以CSV的形式存儲(chǔ)在HDFS模型文件夾model之中; 4.應(yīng)用Mahout框架利用已訓(xùn)練好的模型基于歷史數(shù)據(jù)做個(gè)性化的推薦,推薦結(jié)果以CSV的形式存放到HDFS推薦文件夾recommendation離線部分offline之中;
5.開發(fā)ServiceAPI調(diào)用推薦結(jié)果;Service API的參數(shù)包括推薦類型,用戶ID ;
6.前臺(tái)調(diào)用ServiceAPI,獲取推薦結(jié)果并展示;推薦結(jié)果包括推薦類型,推薦內(nèi)容
等;
對(duì)應(yīng)離線推薦,在線推薦的執(zhí)行流程如下:
1.用戶瀏覽網(wǎng)站,觸發(fā)推薦事件;
2.應(yīng)用Kafka框架根據(jù)觸發(fā)事件,推送數(shù)據(jù)到storm集群;推送數(shù)據(jù)包括觸發(fā)事件的行為數(shù)據(jù)以及推薦所需的部分歷史數(shù)據(jù);行為數(shù)據(jù)是指事件認(rèn)定的關(guān)鍵詞,如活動(dòng)名稱,旅游線路,旅游景點(diǎn),酒店名稱等;部分歷史數(shù)據(jù)是指與關(guān)鍵詞和用戶相關(guān)的歷史數(shù)據(jù);
3.應(yīng)用storm集群?jiǎn)?dòng)實(shí)時(shí)推薦引擎,應(yīng)用離線推薦過程中訓(xùn)練好的模型為用戶進(jìn)行實(shí)時(shí)推薦,并將推薦結(jié)果以CSV的形式存放到HDFS推薦文件夾recommendation在線部分online 之中;
4.前臺(tái)調(diào)用ServiceAPI,獲取推薦結(jié)果并展示;在線推薦的Service API同離線推薦的Service API相同,不同之處在于前臺(tái)調(diào)用時(shí)傳遞的推薦類型參數(shù)。
[0019]在推薦實(shí)施過程中,利用JS嵌碼收集用戶在線行為數(shù)據(jù)和推薦實(shí)現(xiàn)是關(guān)鍵步驟。如圖2所示,JS嵌碼收集用戶在線行為數(shù)據(jù)包括以下步驟:
1.根據(jù)定義的事件,嵌入JS代碼到網(wǎng)頁;
2.用戶訪問網(wǎng)頁時(shí),將同時(shí)并發(fā)執(zhí)行嵌套在頁面中的JS標(biāo)記代碼;
3.JS代碼通過事件或時(shí)間觸發(fā),將需要獲取的用戶行為信息以avix)的方式發(fā)送到特定端口 ;
4.Flume監(jiān)聽端口,當(dāng)監(jiān)聽到端口有數(shù)據(jù)輸入時(shí),將用戶行為數(shù)據(jù)sink到HDFS中。
[0020]在線推薦由事件觸發(fā),事件由系統(tǒng)定義。如圖3所示,當(dāng)用戶從同一出發(fā)地連續(xù)搜索多個(gè)旅游城市目的地達(dá)到一定次數(shù)時(shí),可將此行為定義為旅游意向事件travel_intention,據(jù)此事件可以對(duì)其做旅游線路等推薦。
[0021]系統(tǒng)的推薦結(jié)果如圖4所示,推薦內(nèi)容根據(jù)具體的推薦主題而定。
【權(quán)利要求】
1.旅客需求推薦方法,其特征在于,包括以下步驟: 步驟1,收集客戶信息,歷史交易數(shù)據(jù),等級(jí)信息等常規(guī)結(jié)構(gòu)化數(shù)據(jù); 步驟2,通過JS嵌碼的方式收集用戶在網(wǎng)站的在線行為等非結(jié)構(gòu)化數(shù)據(jù); 步驟3,將收集到的數(shù)據(jù)統(tǒng)一存放到分布式文件系統(tǒng)HDFS ; 步驟4,在Mahout框架上選擇推薦模型,并利用收集到的數(shù)據(jù)訓(xùn)練推薦模型; 步驟5,利用Mahout框架采用訓(xùn)練好的模型基于歷史數(shù)據(jù)做離線推薦,并將推薦結(jié)果存儲(chǔ)到HDFS ; 步驟6,當(dāng)用戶登錄網(wǎng)站,為用戶提供離線推薦; 步驟7,瀏覽網(wǎng)站的過程中觸發(fā)事件,為用戶提供基于Storm的在線推薦。
2.如權(quán)利要求1所述的旅客需求推薦方法,其特征在于:步驟I中采用JS標(biāo)記收集到的非結(jié)構(gòu)數(shù)據(jù)包括點(diǎn)擊,瀏覽區(qū)域,停留時(shí)間,Ajax。
3.如權(quán)利要求1或2所述的旅客需求推薦方法,其特征在于:步驟3所述的HDFS文件系統(tǒng),包括基于HDFS文件系統(tǒng)的數(shù)據(jù)庫Hbase和Hive。
4.如權(quán)利要求1所述的旅客需求推薦方法,其特征在于:步驟4中所述模型不僅包括聚類,分類,預(yù)測(cè),協(xié)同過濾等常用模型,還包括自行開發(fā)定制新的模型。
5.如權(quán)利要求1或權(quán)利要求4所述的旅客需求推薦方法,其特征在于:步驟4和5所述的模型訓(xùn)練和推薦均采用分布式的實(shí)現(xiàn)。
6.如權(quán)利要求1所述的旅客需求推薦方法,其特征在于:步驟7中所述的事件采用定制的方式,定制方法視具體應(yīng)用環(huán)境而定。
【文檔編號(hào)】G06Q50/14GK104021483SQ201410175627
【公開日】2014年9月3日 申請(qǐng)日期:2014年6月26日 優(yōu)先權(quán)日:2014年6月26日
【發(fā)明者】陳思恩, 馮望煙 申請(qǐng)人:陳思恩