張振海,張湘婷
(蘭州交通大學(xué) 自動(dòng)化與電氣工程學(xué)院,甘肅 蘭州 730070)
高速鐵路具有快速、便捷、安全的特點(diǎn),已成為人們出行的重要交通方式,高鐵站是主要負(fù)責(zé)旅客候車、旅客轉(zhuǎn)乘、旅客接送的綜合性車站,旅客對高鐵站的評價(jià)主要取決于高鐵站綜合服務(wù)質(zhì)量[1]。當(dāng)前,高速鐵路(以下簡稱“高鐵”)移動(dòng)服務(wù)是根據(jù)數(shù)據(jù)自身的屬性進(jìn)行分類處理[2],再由處理后的多個(gè)獨(dú)立服務(wù)功能系統(tǒng)集成,服務(wù)功能之間缺乏邏輯性和數(shù)據(jù)依賴性。這種方式會容易造成功能過載的問題,由于服務(wù)提供者提前確定服務(wù)功能的分組,不能根據(jù)用戶的需求動(dòng)態(tài)組合。隨著軟件的更新,同時(shí)受到移動(dòng)終端的應(yīng)用限制,造成服務(wù)探索層次過深,降低了用戶使用效率。
針對此問題,文獻(xiàn)[3]提出了適于后續(xù)服務(wù)推薦的實(shí)時(shí)推薦方法,主要依靠服務(wù)相關(guān)性的特點(diǎn)完成后續(xù)服務(wù)功能推薦。文獻(xiàn)[4]研究以突發(fā)事件應(yīng)急處理為背景,提出基于Web服務(wù)發(fā)布的資源匯聚機(jī)制和服務(wù)即時(shí)推薦機(jī)制。上述研究并沒有把初始服務(wù)推薦和后續(xù)服務(wù)推薦合并在一起,同時(shí)也忽略了用戶所處環(huán)境對用戶選擇產(chǎn)生的影響。隨著移動(dòng)應(yīng)用的興起,移動(dòng)服務(wù)推薦將復(fù)雜的上下文環(huán)境作為主要因素來提升推薦性能,因此“用戶—項(xiàng)目—上下文”間的關(guān)系在服務(wù)推薦領(lǐng)域中擁有重要地位。文獻(xiàn)[5]對移動(dòng)推薦系統(tǒng)中的關(guān)鍵技術(shù)進(jìn)行綜述,證明上文信息對提升推薦性能有著重要作用。文獻(xiàn)[6]將隨著時(shí)間推移偏好出現(xiàn)改變的用戶看成多個(gè)用戶,將用戶分裂思想和時(shí)間上下文結(jié)合提升準(zhǔn)確率,文獻(xiàn)[7]根據(jù)用戶位置上文信息,推斷出該地常用服務(wù)功能推送給用戶。但是上述方法僅研究一種上下文對服務(wù)功能選擇產(chǎn)生的影響,這將造成數(shù)據(jù)項(xiàng)稀疏問題。文獻(xiàn)[8]設(shè)置相同的上下文特征選擇概率及權(quán)重,進(jìn)而向目標(biāo)用戶推薦合適的服務(wù),但忽略不同類型的上下文對服務(wù)選擇造成的影響。文獻(xiàn)[9]將推薦系統(tǒng)引入高鐵客運(yùn)延伸服務(wù),預(yù)測用戶所需服務(wù)產(chǎn)品,進(jìn)而可以精準(zhǔn)定位用戶需求,發(fā)揮鐵路資源優(yōu)勢,使價(jià)值達(dá)到最大化。
本文提出面向高鐵移動(dòng)服務(wù)的組合方法——基于關(guān)聯(lián)規(guī)則的探索式服務(wù)組合方法,此方法能夠快速獲取用戶在當(dāng)前應(yīng)用場景下的業(yè)務(wù)需求,動(dòng)態(tài)調(diào)整應(yīng)用界面,提供個(gè)性化、多樣化服務(wù);提出實(shí)現(xiàn)探索式服務(wù)組合方法的算法——FP-growth優(yōu)化算法[10-11],此算法的優(yōu)點(diǎn)是在于不產(chǎn)生候選項(xiàng)集的條件下,只需掃描兩次數(shù)據(jù)集,采用模式增長的遞歸性策略[11],有效地提升挖掘效率。FP-growth優(yōu)化算法考慮每類上下文項(xiàng)的屬性特征以及概率大小指定最小支持度,降低重要數(shù)據(jù)丟失的概率,通過建立有序FP-tree,減少樹占用的內(nèi)存空間。
目前高鐵移動(dòng)信息服務(wù)使用的是靜態(tài)的服務(wù)分類組合方式,用戶需要對應(yīng)用層層尋找,導(dǎo)致效率低,用戶體驗(yàn)感較差。針對此問題,本文提出基于關(guān)聯(lián)規(guī)則的探索式服務(wù)組合方法,主要思想是挖掘用戶使用應(yīng)用程序時(shí)保留的歷史記錄,獲取上下文和服務(wù)功能之間存在的關(guān)聯(lián)規(guī)則,以便用戶使用應(yīng)用時(shí)利用上下文環(huán)境直接提供適合的服務(wù)集合[8]。其優(yōu)勢在于釋放不必要服務(wù)功能的同時(shí),系統(tǒng)即時(shí)地為用戶推送所需服務(wù),解決功能過載的問題,并提高用戶使用效率,具體過程見圖1。
圖1 探索式服務(wù)組合過程流程
上下文是用來描述當(dāng)前應(yīng)用環(huán)境下的任何信息,包括地點(diǎn)、時(shí)間、用戶年齡等[12]。因?yàn)樯舷挛母采w范圍廣,需要合理規(guī)范不同上下文之間的對應(yīng)關(guān)系,所以本文基于UML關(guān)系圖[13]建立高鐵移動(dòng)服務(wù)特征定義上下文模型,見圖2。圖2中,UTC代表世界標(biāo)準(zhǔn)時(shí)間,ISO 8601代表時(shí)間和日期的表示方法,兩者是當(dāng)前時(shí)間和發(fā)車時(shí)間的約束條件。
圖2 高鐵移動(dòng)服務(wù)的上下文模型
圖2所示的高鐵移動(dòng)服務(wù)應(yīng)用的上下文模型,對其每個(gè)上下文項(xiàng)賦值,即得到關(guān)于高鐵移動(dòng)服務(wù)的上下文實(shí)例,其描述如下:
Context={Time.current=2018-10-01,12:00;
Time.departure=2018-10-01,13:00;
Time.waiting=70 min;
Location.longitude=32°22′34″;
Location.latitude=128°24′37″;
Location.weather=fine-day;
User.age=23;
User.gender=female;
User.profession=doctor;
User.interests={movie};
Business.state=security_check_done;}
其中,Time.current、Time.departure和Time.waiting分別簡稱為T.c、T.d和T.w,分別代表當(dāng)前時(shí)間、發(fā)車時(shí)間和候車時(shí)間,當(dāng)用戶使用應(yīng)用程序時(shí)設(shè)備自動(dòng)獲得;Location.longitude和Location.latitude分別簡稱為L.long和L.lat,分別代表用戶當(dāng)前所在地的經(jīng)度和緯度,從GPS設(shè)備中獲得;Location.weather簡稱為L.w,代表當(dāng)前天氣情況,可從設(shè)備自動(dòng)獲??;User.age、User.gender、User.profession、User.interests分別簡稱為U.a、U.g、U.p、U.i,分別代表用戶的年齡、性別、職業(yè)和喜好,可從用戶注冊此移動(dòng)應(yīng)用時(shí)所填的個(gè)人信息中獲?。粯I(yè)務(wù)狀態(tài)Business.state簡稱為B.s,能從應(yīng)用程序和用戶進(jìn)行交互得到,當(dāng)用戶結(jié)束活動(dòng)時(shí),使用對應(yīng)結(jié)束命令改變其應(yīng)用狀態(tài)[14]。
用戶使用移動(dòng)應(yīng)用時(shí)在當(dāng)前上下文C下選擇服務(wù)功能S的這一行為稱為事務(wù),即C→S。其中,C為第1.1節(jié)建立的高鐵移動(dòng)信息服務(wù)的上下文模型中的上下文,S為用戶在該上下文環(huán)境中選擇的服務(wù)集合,即S={S1,S2,…,Sn}。將S定義為服務(wù)集合的原因是用戶為達(dá)到需求通常同時(shí)進(jìn)行多個(gè)服務(wù)。由于從設(shè)備直接獲取的數(shù)據(jù)是散亂的,很難挖掘出潛在規(guī)律,因此根據(jù)表1規(guī)定的數(shù)據(jù)操作規(guī)則,重新調(diào)整事務(wù),所得結(jié)果見表2。
表1 數(shù)據(jù)操作規(guī)則
表2 事務(wù)示例
傳統(tǒng)FP-growth 算法主要為以下3個(gè)步驟:
Step1設(shè)定最小支持度,遍歷事務(wù)數(shù)據(jù)庫D,統(tǒng)計(jì)每個(gè)項(xiàng)出現(xiàn)頻率作為該項(xiàng)支持度,刪除小于最小支持度的項(xiàng)得到頻繁1-項(xiàng)集P,更新事務(wù)數(shù)據(jù)庫D[15]。
Step2對事務(wù)數(shù)據(jù)庫D進(jìn)行第2次遍歷,根據(jù)頻繁1-項(xiàng)集P構(gòu)造FP-tree。創(chuàng)建樹的根節(jié)點(diǎn)Root,并按照調(diào)整后的每個(gè)事務(wù)建立樹的分支。
Step3通過FP-tree構(gòu)造每個(gè)頻繁項(xiàng)的條件模式基,然后對其分別進(jìn)行遞歸挖掘,最終得到關(guān)聯(lián)規(guī)則。
采用傳統(tǒng)FP-growth算法按照表2中的事務(wù)數(shù)據(jù)庫構(gòu)建FP-tree(最小支持度為0.5),見圖3,圖中將B.s=security_check_done簡寫為B.s=scd。
圖3 傳統(tǒng)算法構(gòu)建的FP-tree
在實(shí)際情況下,傳統(tǒng)FP-growth算法可能出現(xiàn)關(guān)鍵上下文項(xiàng)丟失的情況,例如{T.c=morning,T.d=noon,L.w=fine-day,U.g=m,U.a=40,U.p=engineer,U.i=music }→{候車},這個(gè)規(guī)則是40歲職業(yè)為工程師的男性用戶會在中午晴天時(shí)候,聽音樂候車,但真正候車原因是根據(jù)候車時(shí)間多確定的,因此該條規(guī)則失去關(guān)鍵上下文項(xiàng)T.w=1。
造成問題的原因:傳統(tǒng)FP-growth算法是指定同一最小支持度,可能刪除重要信息,得出的關(guān)聯(lián)規(guī)則不合理。在實(shí)際應(yīng)用場景下,用戶使用該系統(tǒng)所產(chǎn)生的每一條事務(wù)是由若干個(gè)二維上下文項(xiàng)組成,其中二維上下文項(xiàng)均是由其屬性與屬性值構(gòu)成的鍵值對,且取值范圍不同。根據(jù)1.2節(jié)可知,取值范圍大的上下文項(xiàng)比取值范圍小的上下文項(xiàng)出現(xiàn)的概率低,如果設(shè)置同一支持度,可能會使概率低的上下文項(xiàng)丟失。因此,每個(gè)二維項(xiàng)都應(yīng)當(dāng)根據(jù)項(xiàng)的取值范圍和屬性特征設(shè)置最小支持度,確保重要數(shù)據(jù)存在。
提出FP-growth優(yōu)化算法的核心思想:根據(jù)二維上下文項(xiàng)的不同類別設(shè)定最小支持度,并且過濾調(diào)整事務(wù)數(shù)據(jù)庫D,然后構(gòu)建一個(gè)二維有序FP-tree,可減少樹的占用內(nèi)存,最終得出的關(guān)聯(lián)規(guī)則更貼合實(shí)際。
2.3.1 建立支持二維上下文項(xiàng)的FP-tree
為不同類型的二維上下文項(xiàng)設(shè)置最小支持,掃描事務(wù)數(shù)據(jù)庫D獲取二維頻繁項(xiàng)集,并對事務(wù)數(shù)據(jù)庫進(jìn)行過濾和排序,生成FP- tree樹流程見圖4,具體步驟如下:
圖4 算法流程
Step1遍歷事務(wù)數(shù)據(jù)庫D,計(jì)算二維上下文項(xiàng)的支持度,依照二維上下文項(xiàng)的屬性特征以及概率大小設(shè)置最小支持度Minsup={U.g=0.5,L.d=0.4,B.s=0.4,T.c=0.35,T.d=0.35,L.w=0.3,U.a=0.3,U.p=0.25,U.i=0.2,T.w=0.1},保留滿足最小支持度的數(shù)據(jù)項(xiàng)并降序排序,可獲取二維頻繁項(xiàng)集。
Step2事務(wù)數(shù)據(jù)庫D中的事務(wù)數(shù)據(jù)需要依照二維頻繁項(xiàng)集的順序進(jìn)行排序,并且每條事務(wù)的末尾為服務(wù)功能項(xiàng)(最小支持度默認(rèn)為0),得到數(shù)據(jù)處理結(jié)果如表3所示。
表3 優(yōu)化算法處理結(jié)果
最后結(jié)果見圖5。
圖3和圖5對比可知,優(yōu)化FP-growth算法所建立的FP-tree,擁有更多的上下文項(xiàng),讓表達(dá)的意思更加全面。
圖5 采用優(yōu)化算法建立的FP-tree
2.3.2 建立有序FP-tree
對不同類型的上下文項(xiàng)根據(jù)出現(xiàn)概率和重要程度設(shè)置最小支持度,可保存更多關(guān)鍵項(xiàng)。當(dāng)遇到大規(guī)模數(shù)據(jù)時(shí),產(chǎn)生的FP-tree龐大且占據(jù)大量內(nèi)存,所以采用二維有序FP-tree減少儲存空間的使用[16]。對于傳統(tǒng)FP-growth算法,F(xiàn)P-tree中每一個(gè)節(jié)點(diǎn)均是由6個(gè)域構(gòu)成,分別是節(jié)點(diǎn)名稱name、計(jì)數(shù)count、父節(jié)點(diǎn)對象parent、首個(gè)子節(jié)點(diǎn)對象firstchild、子節(jié)點(diǎn)對象children、下一個(gè)同名節(jié)點(diǎn)對象nextHomonym。在這些對象中,子節(jié)點(diǎn)對象與首個(gè)子節(jié)點(diǎn)對象僅在建立FP-tree中運(yùn)用,父節(jié)點(diǎn)對象與下一個(gè)同名節(jié)點(diǎn)對象僅僅在挖掘中運(yùn)用。因此,可以把父節(jié)點(diǎn)對象parent和首個(gè)子節(jié)點(diǎn)對象firstchild合并成一個(gè)類tree-link,同時(shí)把子節(jié)點(diǎn)對象children和下一個(gè)同名節(jié)點(diǎn)對象nextHomonym合并為一個(gè)類node-link,可將域減少到4個(gè)。創(chuàng)建FP-tree時(shí)調(diào)用node-link類的子節(jié)點(diǎn)對象和tree-link類的首個(gè)子節(jié)點(diǎn)對象,挖掘時(shí)調(diào)用node-link類的下一個(gè)同名節(jié)點(diǎn)對象和tree-link類的父節(jié)點(diǎn)對象。實(shí)際運(yùn)行時(shí),由于頻繁項(xiàng)的名字所占字節(jié)不同,使用item-member用來代替name,二維FP-tree的item-member是由首次遍歷時(shí)根據(jù)最小支持度降序得到的表頭鏈的序號以及其上下文項(xiàng)屬性對應(yīng)字母組合而成(如A/0),同一父節(jié)點(diǎn)的子節(jié)點(diǎn)的排序是依據(jù)序號的大小,即生成二維有序FP-tree,根據(jù)2.3.1節(jié)的例子建立二維有序FP-tree結(jié)果見圖6。
圖6 二維有序FP-tree
有序FP-tree構(gòu)建完成后,通過調(diào)用tree-link類與node-link類的對象,將其分別表示父節(jié)點(diǎn)對象與下一個(gè)同名節(jié)點(diǎn)對象。
樹中每條路徑均代表除根節(jié)點(diǎn)之外自上而下所有的上下文項(xiàng)集合C和葉子結(jié)點(diǎn)S(服務(wù)功能集合)之間的關(guān)聯(lián)關(guān)系,即一條路徑就表示一條關(guān)聯(lián)規(guī)則,記作R:C→S。當(dāng)用戶所在高鐵移動(dòng)信息服務(wù)的上下文環(huán)境C′中,以歷史記錄中的上下文C為基礎(chǔ)構(gòu)建服務(wù)集合,使得此集合可滿足該上下文環(huán)境C′,即尋找FP-tree的相似路徑,最后將各個(gè)相似路徑的葉子節(jié)點(diǎn)求并集得到符合當(dāng)前上下文環(huán)境的服務(wù)集合,具體步驟如下:
Step1根據(jù)二維頻繁項(xiàng)集對用戶上下文環(huán)境中的上下文項(xiàng)進(jìn)行處理,刪除不存在于頻繁項(xiàng)集中的項(xiàng)以獲得新的集合C″。
Step2C″與FP-tree的每條路徑L求交集,路徑L對于C″而言可出現(xiàn)以下4種情況:
(1) 子路徑:路徑L的上下文項(xiàng)全部屬于上下文項(xiàng)C″。
(2) 超路徑:路徑L包含C″所有上下文項(xiàng),但路徑L至少有一項(xiàng)不屬于C″。
(3) 相交路徑:C″至少有一項(xiàng)ix在路徑L中,但是C″至少有一項(xiàng)iy不存在路徑L中,而且路徑L中至少有一項(xiàng)iz不存在于C″中。
(4) 無關(guān)路徑:C″所有項(xiàng)都不屬于路徑L。
將L.weight=A+B設(shè)定為路徑權(quán)重,在此之中A代表路徑等級,即判斷路徑L與C″之間關(guān)系,其中子路徑、超路徑和相交路徑的等級分別為3、2和1。因?yàn)闊o關(guān)路徑與上下文無交集,對之后的即時(shí)服務(wù)推薦沒有任何影響,可忽略不計(jì)。B代表在同一級別路徑中路徑的好壞程度,按照路徑類型的不同,其計(jì)算方法如表4所示。
表4 路徑好壞程度算法
最后,通過對路徑的L.weight權(quán)重計(jì)算,對路徑中葉子結(jié)點(diǎn)(服務(wù)集合)進(jìn)行合并,得出綜合支持度并降序排序,將前n個(gè)服務(wù)合并成一組服務(wù)提供給用戶。
通過一組高速鐵路移動(dòng)信息服務(wù)的試驗(yàn)案例,驗(yàn)證探索式服務(wù)組合方法的有效性和實(shí)用性,對不同乘客在高鐵站的應(yīng)用場景進(jìn)行對比分析。試驗(yàn)部分是對優(yōu)化FP-growth算法與傳統(tǒng)FP-growth算法進(jìn)行相互比較,通過試驗(yàn)證明此方法可在候選服務(wù)匹配中具有更高的準(zhǔn)確率和命中率。
通過描述用戶與高鐵移動(dòng)應(yīng)用程序之間的交互場景分析如何在不同的環(huán)境中為用戶提供所需的服務(wù)。
場景1:旅客甲經(jīng)常乘坐高鐵,非常熟悉高鐵站的環(huán)境,當(dāng)甲來到高鐵站時(shí),距離發(fā)車時(shí)間只剩60 min,甲使用該應(yīng)用的過程見圖7。
圖7 在場景1中用戶使用高鐵站移動(dòng)應(yīng)用流程
場景2:旅客乙不常乘坐高鐵,不熟悉高鐵站的環(huán)境,當(dāng)乙來到高鐵站時(shí),距離發(fā)車時(shí)間還有120 min,乙使用該應(yīng)用的過程見圖8。
圖8 在場景2中用戶使用高鐵站移動(dòng)應(yīng)用流程
從上述例子可看出,同樣是使用高速鐵路移動(dòng)應(yīng)用程序,卻因?yàn)椴煌挠脩艉蛻?yīng)用場景,使得應(yīng)用程序匹配出不同的服務(wù)集合。
(1) 試驗(yàn)數(shù)據(jù)準(zhǔn)備
本文設(shè)置了100條不同的用戶在不同的移動(dòng)應(yīng)用場景下所選擇的服務(wù)功能的歷史數(shù)據(jù),并確保每條事務(wù)均是由一組上下文C和一組服務(wù)S構(gòu)成,描述用戶在當(dāng)前上下文環(huán)境中應(yīng)用程序可提供的服務(wù)集合。上下文C是基于第1.1節(jié)中建立的高鐵信息服務(wù)的上下文模型,其值在設(shè)置范圍內(nèi)隨機(jī)生成,服務(wù)功能S是上下文C中人為選擇的功能。
(2) 試驗(yàn)方法
將100組數(shù)據(jù)進(jìn)行試驗(yàn),其中90%作為訓(xùn)練集,10%作為測試集。利用訓(xùn)練集得到上下文與服務(wù)功能間的關(guān)聯(lián)規(guī)則,利用測試集證明關(guān)聯(lián)規(guī)則的實(shí)用性,計(jì)算服務(wù)推薦的準(zhǔn)確率以及命中率。其中:準(zhǔn)確率Pre為根據(jù)關(guān)聯(lián)規(guī)則產(chǎn)生的候選服務(wù)集中滿足用戶期望的服務(wù)功能數(shù)量與所有候選服務(wù)功能數(shù)量之比;命中率Re為基于關(guān)聯(lián)規(guī)則候選服務(wù)集中滿足用戶的服務(wù)功能數(shù)量與用戶期望的服務(wù)功能數(shù)量之比[17]。
準(zhǔn)確率為
(1)
命中率為
(2)
式中:Ux為根據(jù)關(guān)聯(lián)規(guī)則而生成的一組候選服務(wù)功能;Uy為用戶所需要的一組服務(wù)功能。
(3) 試驗(yàn)環(huán)境
硬件環(huán)境配置:內(nèi)存容量8 GB、操作系統(tǒng)Windows 7和處理器 Intel(R) 酷睿 I5-42210U, 2.70 GHz。軟件環(huán)境配置:開發(fā)平臺eclipse 3.4、JAVA開發(fā)工具JDK8.0和數(shù)據(jù)庫SQL Server 2018。
圖9(a)為使用傳統(tǒng)FP-growth算法通過設(shè)置不同最小支持度得到的關(guān)聯(lián)規(guī)則數(shù),由圖中可知,設(shè)置的最小支持度與關(guān)聯(lián)規(guī)則數(shù)成反比。因?yàn)樵O(shè)置最小支持度會直接影響頻繁項(xiàng)的數(shù)量,如果設(shè)置過大會導(dǎo)致過濾掉更多的上下文項(xiàng),得到關(guān)聯(lián)規(guī)則數(shù)量少,對服務(wù)推薦沒有實(shí)際幫助。
圖9(b)為設(shè)置用戶在10種場景下用戶所希望的服務(wù)集合,根據(jù)訓(xùn)練集中數(shù)據(jù)所生成的FP-tree,最終結(jié)果集合與用戶期望的服務(wù)功能集合取交集,計(jì)算準(zhǔn)確率和命中率。結(jié)果表明最小支持度越大,準(zhǔn)確率和命中率越低,但不能為獲得更高的命中率和準(zhǔn)確率而使最小支持度不斷減少,這將造成內(nèi)存過載的問題。
針對上述問題,本文提出優(yōu)化FP-growth算法,優(yōu)化算法可根據(jù)每類上下文項(xiàng)的屬性特征和概率大小指定最小支持度,防止頻率低但重要的項(xiàng)丟失,從中得到具有實(shí)際意義的關(guān)聯(lián)規(guī)則,以提高服務(wù)組合推薦效果。
圖9(c)和圖9(d)設(shè)置了10位用戶在不同高鐵站移動(dòng)服務(wù)場景下服務(wù)推薦,為驗(yàn)證優(yōu)化FP-growth算法更具有優(yōu)勢,設(shè)定傳統(tǒng)FP-growth算法的最小支持度為0.2,獲得44條關(guān)聯(lián)規(guī)則數(shù),優(yōu)化FP-growth算法設(shè)置最小支持度為MinSup={U.g=0.3,L.w=0.3,B.s=0.3,T.c=0.2,T.d=0.2,L.d=0.2,U.a=0.1,U.p=0.1,U.i=0.1,T.w=0.1},雖然只得到28條關(guān)聯(lián)規(guī)則,但將優(yōu)化前和優(yōu)化后的用戶準(zhǔn)確率和命中率分別求和取平均值,平均準(zhǔn)確率從45.7%增加到51.5%,平均命中率以69.8%增加到76.2%。
圖9 試驗(yàn)結(jié)果
在事務(wù)數(shù)據(jù)庫中設(shè)置初始數(shù)量和算法Top-N中N的大小(向用戶推薦服務(wù)功能的數(shù)量),也是影響該算法的參數(shù),見圖10。
圖10(a)表明算法Top-N中N的值會影響用戶服務(wù)匹配的效率,當(dāng)N值越大準(zhǔn)確率越低,根據(jù)準(zhǔn)確率的定義,N增加代表分母增加會使值降低。當(dāng)N≥6時(shí),命中率和準(zhǔn)確率基本保持不變,算法所得的結(jié)果集合等于整個(gè)服務(wù)功能集合。當(dāng)N<4時(shí),準(zhǔn)確率在提高,命中率卻明顯降低,因?yàn)镹值太小,即移動(dòng)應(yīng)用系統(tǒng)設(shè)置的候選服務(wù)集合中功能數(shù)量太少,導(dǎo)致很多功能未能即時(shí)向用戶推薦,從圖中可知N的最佳取值為4。
圖10 試驗(yàn)參數(shù)對結(jié)果的影響
圖10(b)表明Top-N取理想值N=4時(shí),歷史事務(wù)數(shù)量對關(guān)聯(lián)規(guī)則數(shù)的影響,從圖可見歷史事務(wù)數(shù)與關(guān)聯(lián)規(guī)則數(shù)成正比,原因是事務(wù)數(shù)據(jù)庫越龐大可挖掘的信息也就越豐富。
圖10(c)表明Top-N取理想值N=4時(shí),歷史事務(wù)數(shù)量增加對準(zhǔn)確率和命中率產(chǎn)生的影響,當(dāng)歷史事務(wù)數(shù)增加,命中率和準(zhǔn)確率也會隨之增加,是因?yàn)殡S著事務(wù)數(shù)量增多,算法得到的關(guān)聯(lián)規(guī)則也越豐富,可使所推薦的服務(wù)集合更加精準(zhǔn)。
本文針對目前高鐵信息服務(wù)組合方法所存在的問題,通過對旅客的需求分析,提出了基于關(guān)聯(lián)規(guī)則的高鐵信息服務(wù)組合方法,主要結(jié)論如下:
(1) 與當(dāng)前高鐵信息服務(wù)組合方法相比,本文提出方法的優(yōu)勢是能通過感知當(dāng)前應(yīng)用環(huán)境變化進(jìn)而推測出用戶下一步的功能需求,并加載到下一功能界面。這種探索式服務(wù)組合方式可以方便用戶選擇,滿足用戶的即時(shí)性需求,同時(shí)避免功能過載問題。
(2) 試驗(yàn)證明,將用戶的使用記錄作為數(shù)據(jù)源進(jìn)行挖掘,根據(jù)屬性和概率大小對每個(gè)不同屬性的二維上下文項(xiàng)設(shè)置最小支持度,并且建立有序FP-tree的優(yōu)化FP-Growth算法,其比傳統(tǒng)FP-Growth算法更具有優(yōu)勢。該方法可解決單一最小支持度而造成的數(shù)據(jù)項(xiàng)稀疏的問題,挖掘出的上下文與服務(wù)功能之間的關(guān)聯(lián)關(guān)系,通過感知上下文變化為用戶定制個(gè)性化服務(wù),提升高鐵客運(yùn)服務(wù)質(zhì)量。
(3) 本文提出的方法基于用戶在當(dāng)前所在的移動(dòng)應(yīng)用環(huán)境下產(chǎn)生的上下文,根據(jù)關(guān)聯(lián)規(guī)則挖掘推測出用戶下一階段所需要的服務(wù)功能,后期將研究分析在不同場景下的不同上下文的重要程度,對不同類別的上下文信息進(jìn)行權(quán)重計(jì)算,進(jìn)一步提升探索式服務(wù)組合性能。