一種序列化信息推薦方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息推薦領(lǐng)域,特別涉及一種序列化信息推薦的方法及其優(yōu)化方法, 支持具有序列化特征的信息推薦。
【背景技術(shù)】
[0002] 隨著信息社會(huì)化、社會(huì)信息化,信息生產(chǎn)與消費(fèi)促進(jìn)了信息產(chǎn)業(yè)和信息技術(shù)的飛 速發(fā)展,互聯(lián)網(wǎng)已經(jīng)成為人們獲取信息的重要來(lái)源。然而互聯(lián)網(wǎng)規(guī)模和信息資源的迅猛增 長(zhǎng)帶來(lái)了信息過(guò)載的問(wèn)題,人們面臨"信息雖然豐富,但有用信息獲取困難"的窘境,在此 基礎(chǔ)上進(jìn)行數(shù)據(jù)分析、處理和篩選,并向用戶進(jìn)行實(shí)用的,個(gè)性化的推薦已成為新的應(yīng)用方 向。
[0003]許多信息都是通過(guò)特征點(diǎn)方式,以線性序列化的方式呈現(xiàn)的。特征點(diǎn)是指序列中 具有某種特定功能,滿足某種特定條件或者具備某種特殊屬性且可向用戶推薦的序列的組 成元素,例如用戶瀏覽商品信息的歷史記錄序列,在校生的學(xué)習(xí)軌跡序列,出租車行駛的位 置序列等。根據(jù)特征點(diǎn),分析和挖掘待推薦的序列化信息所獨(dú)有的特性,例如偏好、頻率、距 離、位置等信息,能夠使個(gè)性化推薦的準(zhǔn)確度得到較大的提升。例如,在基于位置的個(gè)性化 推薦服務(wù)(LBS,LocationBasedServices)中,由于用戶的行進(jìn)路線具有序列化的特征,因 此可通過(guò)用戶所在位置信息和用戶的行進(jìn)路線特征來(lái)判斷該用戶是否會(huì)有某一種行為出 現(xiàn)(如有購(gòu)物、娛樂(lè)或餐飲等行為),此等應(yīng)用均建立在對(duì)序列化模式的深層理解之上。有很 多應(yīng)用可以抽象成序列化模式下的推薦問(wèn)題,如用戶的購(gòu)物喜好推薦,學(xué)生的學(xué)習(xí)過(guò)程推 薦,出租車線路推薦等。
[0004] 序列化信息推薦將傳統(tǒng)對(duì)點(diǎn)的推薦擴(kuò)展到一個(gè)序列的推薦上,但由于這種類型的 推薦受到時(shí)間、空間、頻率、偏好等各種特征的約束,因此可歸結(jié)為帶有約束的最優(yōu)或近似 最優(yōu)的序列化信息推薦問(wèn)題,現(xiàn)有技術(shù)存在的主要缺點(diǎn)有:第一,沒(méi)有利用歷史數(shù)據(jù)去尋找 潛在的特征點(diǎn)(例如學(xué)習(xí)分析中潛在的影響學(xué)習(xí)效果的行為,出租車線路推薦中的潛在載 客點(diǎn))以及沒(méi)有評(píng)估這些特征點(diǎn)的利用概率(例如學(xué)習(xí)計(jì)劃推薦中學(xué)生較為關(guān)注的知識(shí)點(diǎn) 出現(xiàn)的概率,出租車線路推薦中的載客概率等);第二,現(xiàn)有尋找推薦序列的方法沒(méi)有進(jìn)行 優(yōu)化。上述兩點(diǎn)造成了現(xiàn)有推薦技術(shù)中精度不高,效率低下的問(wèn)題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于針對(duì)上述問(wèn)題與不足,提供一種序列化信息推薦及其優(yōu)化的方 法,針對(duì)序列元素的特征設(shè)定權(quán)重,根據(jù)序列特征約束進(jìn)行個(gè)性化推薦,解決序列化信息推 薦精度不高和效率低下等技術(shù)問(wèn)題。
[0006]為達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案。
[0007]-種序列化信息推薦方法,包括以下步驟: (1)生成序列元素特征點(diǎn);根據(jù)歷史數(shù)據(jù)使用聚類方法,如K-means或K近鄰等得到N個(gè)簇,選取每個(gè)簇的幾何中心作為潛在的特征點(diǎn)集合;生成一個(gè)潛在的特征點(diǎn)集合C,用 點(diǎn)表示特征點(diǎn),C中包含η個(gè)潛在特征點(diǎn)Cl,集合C中的元素為所有特征點(diǎn){Cl,c2,c3,C4,……,cn};相比盲目的選取一些點(diǎn)作為潛在特征點(diǎn),通過(guò)聚類的方法得到的點(diǎn)可以大幅 度提高特征點(diǎn)的準(zhǔn)確性,減少了點(diǎn)的數(shù)量,能較大幅度提高精度和縮減計(jì)算規(guī)模; (2) 以歷史數(shù)據(jù)作為樣本集,生成序列元素特征點(diǎn)利用概率,作為推薦序列的評(píng)價(jià)基礎(chǔ) 指標(biāo);特征點(diǎn)的利用概率計(jì)算方法為:首先對(duì)聚類結(jié)果進(jìn)行分析,獲得每個(gè)類簇的區(qū)域點(diǎn) 覆蓋,然后根據(jù)覆蓋中包含的點(diǎn),統(tǒng)計(jì)該區(qū)域所包含的點(diǎn)的利用頻數(shù)記為Q,設(shè)置所有區(qū)域 中所包含點(diǎn)的可能的利用總頻數(shù)為歸一化參數(shù)T,則該區(qū)域所對(duì)應(yīng)簇的利用概率為Q/T,例 如在出租車路徑推薦問(wèn)題中,Q可看作是在某一區(qū)域里被出租的車輛數(shù)量,T可設(shè)定為租車 公司的車輛總數(shù);在學(xué)習(xí)分析問(wèn)題中,Q可看作是某一聚類中學(xué)生較為關(guān)注例如關(guān)注頻次 超過(guò)某一閾值的知識(shí)點(diǎn)的數(shù)量,T則為知識(shí)點(diǎn)總數(shù),對(duì)于每一個(gè)潛在特征點(diǎn),把該特征點(diǎn)所 代表的簇的利用概率近似作為該點(diǎn)的利用概率;根據(jù)樣本分析,賦予每個(gè)特征點(diǎn)一個(gè)不同 的利用概率Ρι,用浮點(diǎn)數(shù)表示利用概率,得到一個(gè)概率集合p,p中元素Ρι的值為〇到1之 間的一個(gè)隨機(jī)小數(shù),即P中的元素為{Pi,P2,P3,......,pn},〇^Pl^l(l^i^n); (3) 生成序列信息,即序列活動(dòng)圖;序列活動(dòng)圖定義為三元組:(C,P,E),其中C表示 特征點(diǎn)集合,P表示每個(gè)特征點(diǎn)對(duì)應(yīng)的利用概率集合,E表示邊集,E中包含m條邊ei,即兩 個(gè)特征點(diǎn)之間的序列,E中的元素為{ e2,e3,......,em},E中元素e;定義為(ca,cb,山), 其中ca,cb (1 <a,b<n)為表示起點(diǎn)和終點(diǎn)的兩個(gè)特征點(diǎn),山為邊的長(zhǎng)度,即權(quán)重,首先 生成邊即相鄰特征點(diǎn)之間所組成的連線的長(zhǎng)度,邊的長(zhǎng)度由待解決問(wèn)題所關(guān)注的焦點(diǎn)結(jié)合 實(shí)際情況來(lái)決定,例如租車路徑推薦問(wèn)題中,邊的長(zhǎng)度可定義為特征點(diǎn)所代表地理位置之 間的物理距離,然后結(jié)合步驟(1)、(2)所獲得的特征點(diǎn)集和概率集構(gòu)成序列活動(dòng)圖; 根據(jù)序列活動(dòng)圖,可以生成序列;生成序列集合R,R中包含k條完整的序列^,用點(diǎn) 的集合形式表示,即R中的元素為{A,r2,r3,……,rk},R中元素Γι的長(zhǎng)度設(shè)為r。,巧實(shí) 際形式為(ca,cb......c"),ca,cb......(1彡a,b,rc彡n)為序列中的緊鄰的點(diǎn),ca為起 始點(diǎn),為結(jié)束點(diǎn),為了控制序列長(zhǎng)度r。,r。取1到η的開平方之間的一個(gè)隨機(jī)整數(shù),即 1rcsqrt(η); (4) 計(jì)算序列活動(dòng)圖中潛在的空載序列距離期望值,結(jié)合活動(dòng)點(diǎn)如出租車路徑推薦問(wèn) 題中的出租車位置的當(dāng)前位置選擇并推薦最優(yōu)序列,如出租車路徑推薦問(wèn)題中的出租車行 駛線路等;空載序列指,若某一特征點(diǎn)沒(méi)有得到利用,例如出租車在該點(diǎn)沒(méi)有接到顧客,客 戶沒(méi)有購(gòu)買某件商品,學(xué)生沒(méi)有學(xué)習(xí)某個(gè)知識(shí)點(diǎn)等,那么該點(diǎn)被認(rèn)為是無(wú)價(jià)值的,由若干無(wú) 價(jià)值的點(diǎn)構(gòu)成的序列,稱為空載序列;最優(yōu)序列的選擇方法基于潛在的空載序列距離期望 值,空載序列距離期望值計(jì)算方法如下:假設(shè)點(diǎn)Α到點(diǎn)Β之間有一條長(zhǎng)度為dist的序列,A 為活動(dòng)點(diǎn)位置,點(diǎn)B的利用概率為Pb,若在B點(diǎn)可以得以應(yīng)用,那么由A到B構(gòu)成的序列可 看作是有價(jià)值的,反之,若B點(diǎn)沒(méi)有得到利用,則需要前往下一個(gè)潛在特征點(diǎn),那么由A到B 構(gòu)成的序列是無(wú)用的,假設(shè)較壞的情況,即前往的下一個(gè)潛在特征點(diǎn)是無(wú)用的,將這段序列 的消耗記為CostA,計(jì)算方式如下:
即這段序列的消耗等于兩點(diǎn)之間的長(zhǎng)度乘以B點(diǎn)不利用的概率,對(duì)于點(diǎn)B的選取,根 據(jù)A得到與之最近的k個(gè)點(diǎn)作為待判定點(diǎn),對(duì)其預(yù)估的消耗為對(duì)應(yīng)的CostA的值,選取其中 CostA值最小者向后構(gòu)造后繼序列,依此類推,建立一個(gè)消耗值為L(zhǎng)的有向序列,作為所求 的推薦序列候選;將集合C中N個(gè)特征點(diǎn)依次作為活動(dòng)點(diǎn)起始位置來(lái)生成Μ條消耗為L(zhǎng)的 推薦序列候選集合,計(jì)算每一條序列的潛在空載距離期望值,并在此基礎(chǔ)上選擇潛在空載 距離期望值最小者作為最優(yōu)推薦序列。
[0008] 在上述技術(shù)方案中,對(duì)所述的空載序列距離期望值計(jì)算方法進(jìn)行優(yōu)化,具體過(guò)程 如下: 對(duì)于當(dāng)前位置PoCab,有k條完整的序列,分別為Γι,r2,r3,……,rk,每條序列記為 (Cl,a,Cl,b......Cl,rc),(C2,a,C2,b......C2,rc),(C3,a,C3,b......C3,rc^ ......,(Ck,a,Ck,b......Ck,rc),首 先計(jì)算序列PoCab-Clia- c hb-......-C 的空載序列期望,并存放為最小值變量min 中;然后再依次計(jì)算其他序列,若計(jì)算得到的其他序列的空載序列期望小于當(dāng)前min值時(shí), 將此值存入當(dāng)前min變量中,如此不斷迭代,當(dāng)出現(xiàn)在計(jì)算某一序列的過(guò)程中,其中間結(jié)果 值超過(guò)min值時(shí),便不再繼續(xù)計(jì)算,舍棄此序列進(jìn)行剪枝。
[0009] 本發(fā)明方法與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn):第一,在歷史數(shù)據(jù)中找到潛在特征點(diǎn), 并對(duì)這些特征點(diǎn)的利用概率進(jìn)行評(píng)價(jià),用于推薦特征點(diǎn)序列的生成,以提高推薦精度;第 二,根據(jù)篩選后的特征點(diǎn)結(jié)合優(yōu)化最優(yōu)序列推薦的方法,以提高推薦效率。
【具體實(shí)施方式】
[0010] 下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的描述。
[0011] 本實(shí)施例提供一種序列化信息推薦方法,具體實(shí)施步驟如下: 第一步,生成推薦序列 假設(shè)η為潛在特征點(diǎn)的數(shù)目,m為構(gòu)成活動(dòng)圖中的序列即活動(dòng)圖中的邊的數(shù)目,k為活 動(dòng)點(diǎn)遍歷序列的數(shù)目。
[0012] 具體步驟如下: 第一,生成特征點(diǎn)信息。生成一個(gè)潛在特征點(diǎn)集合C,用點(diǎn)表示特征點(diǎn),C中包含η個(gè)潛 在特征點(diǎn)Α。集合C中的元素為所有特征點(diǎn){Cl,c2,c3,c4,……,cn}。
[0013] 第二,生成特征點(diǎn)的利用概率信息。根據(jù)樣本獲得每個(gè)特征點(diǎn)的利用概率 Pl,用浮 點(diǎn)數(shù)表示利用概率,得到一個(gè)概率集合P,P中元素Pi的值為〇到1之間的一個(gè)隨機(jī)小數(shù)。 即P中的元素為{Pi,p2,P3,......,pn},0彡P(guān)i彡1 (1彡i彡η)。
[0014] 第三,生成序列信息即序列活動(dòng)圖。根據(jù)特征點(diǎn)生成序列集合Ε,Ε中包含m條邊 ei,即兩個(gè)特征點(diǎn)之間的序列,邊的長(zhǎng)度即權(quán)重為山。即E中的元素為{ei,e2,e3,……, 6"1}<^中元素61的實(shí)際形式為((3 3,(31),(11),(^,(31)(1彡3,13彡11)分別為邊的起始點(diǎn)和結(jié) 束點(diǎn),山為邊的長(zhǎng)度。
[0015] 根據(jù)以上數(shù)據(jù),可以生成活動(dòng)點(diǎn)遍歷軌跡所得到的序列。生成序列集合R,R中包 含k條完整的序列Γι,即活動(dòng)點(diǎn)的序列,用點(diǎn)的集合形式表示。即R中的元素為{Γ