本公開涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,具體地,涉及一種用戶行為預(yù)測方法及裝置。
背景技術(shù):
隨著城市化進(jìn)程的加快,城市交通體系也在迅速發(fā)展。提高交通運(yùn)營的效率,對城市交通的順暢、能源消耗及用戶出行等都起到重要的作用。
相關(guān)技術(shù)中,利用大數(shù)據(jù)分析,采集大量用戶的出行習(xí)慣,結(jié)合節(jié)假日等信息,進(jìn)行交通擁堵預(yù)測,以指導(dǎo)用戶錯峰出行,或提前規(guī)劃出行路線,避開擁堵等。
但是,相關(guān)技術(shù)的預(yù)測是一種宏觀的預(yù)測,是以大量用戶的出行習(xí)慣為依據(jù),不能對單個用戶實(shí)現(xiàn)更準(zhǔn)確、精細(xì)的出行行為預(yù)測。
另一方面,相關(guān)技術(shù)的預(yù)測,并未考慮大量數(shù)據(jù)中的“偶發(fā)性出行數(shù)據(jù)”的影響,導(dǎo)致預(yù)測結(jié)果并不能準(zhǔn)確體現(xiàn)用戶的出行行為。
技術(shù)實(shí)現(xiàn)要素:
本公開的目的是提供一種用戶行為預(yù)測方法及裝置,以實(shí)現(xiàn)對用戶行為的精細(xì)、準(zhǔn)確預(yù)測。
為了實(shí)現(xiàn)上述目的,第一方面,本公開提供一種用戶行為預(yù)測方法,包括:
采集至少兩個用戶的行為記錄數(shù)據(jù);
分別對每個用戶的行為記錄數(shù)據(jù)進(jìn)行聚類,形成多個簇;
分別對所述每個用戶對應(yīng)的多個簇進(jìn)行過濾,獲得每個用戶的長期行為特征簇;
根據(jù)所述每個用戶的長期行為特征簇,確定用戶間的相似度,以對用戶行為進(jìn)行預(yù)測。
可選地,所述分別對每個用戶的行為記錄進(jìn)行聚類,形成多個簇的步驟包括:
設(shè)置預(yù)設(shè)長度的滑動窗口;
對位于所述滑動窗口內(nèi)的行為記錄數(shù)據(jù)進(jìn)行聚類,形成多個簇。
可選地,所述對位于所述滑動窗口內(nèi)的行為記錄數(shù)據(jù)進(jìn)行聚類,形成多個簇的步驟包括:
將所述滑動窗口中的一個或多個行為記錄數(shù)據(jù)分別作為單個簇,形成一簇集合;
分別獲取所述滑動窗口中的其余行為記錄數(shù)據(jù)與所述簇集合中的每個簇的相似度;
對于所述簇集合中的每個簇,分別獲取與該每個簇具有最大相似度的行為記錄數(shù)據(jù);
對于與每個簇對應(yīng)的最大相似度,若最大相似度大于預(yù)設(shè)閾值,則將最大相似度對應(yīng)的行為記錄數(shù)據(jù)歸屬于該簇,并重新計(jì)算該簇的質(zhì)心;若最大相似度小于預(yù)設(shè)閾值,則將最大相似度對應(yīng)的行為記錄數(shù)據(jù)作為新的簇,增加到所述簇集合中。
可選地,分別對所述每個用戶對應(yīng)的多個簇進(jìn)行過濾,獲得每個用戶的長期行為特征簇的步驟包括:
統(tǒng)計(jì)每個簇中的行為記錄數(shù)據(jù)的數(shù)量;
將簇中的行為記錄數(shù)據(jù)的數(shù)量小于預(yù)設(shè)閾值的簇刪除,獲得所述每個用戶的長期行為特征簇;或
根據(jù)預(yù)設(shè)行為離散度,將簇的離散度小于所述預(yù)設(shè)行為離散度的簇過濾掉,獲得所述每個用戶的長期行為特征簇。
可選地,分別對所述每個用戶對應(yīng)的多個簇進(jìn)行過濾,獲得每個用戶的長期行為特征簇的步驟包括:
統(tǒng)計(jì)每個簇中的行為記錄數(shù)據(jù)的數(shù)量;
將簇中的行為記錄數(shù)據(jù)的數(shù)量小于預(yù)設(shè)閾值的簇刪除,得到待處理簇;
根據(jù)預(yù)設(shè)行為離散度,將所述待處理簇中離散度小于預(yù)設(shè)行為離散度的簇過濾掉,以獲得所述每個用戶的長期行為特征簇。
可選地,根據(jù)所述每個用戶的長期行為特征簇,確定用戶間的相似度,以對用戶行為進(jìn)行預(yù)測的步驟包括:
獲取待預(yù)測用戶與一個或多個用戶的長期行為特征簇的簇相似度;
根據(jù)簇相似度,獲取所述待預(yù)測用戶與所述一個或多個用戶的相似度;
根據(jù)用戶間的相似度,在所述一個或多個用戶中,確定與所述待預(yù)測用戶相似的目標(biāo)用戶;
根據(jù)確定的所述目標(biāo)用戶,對所述待預(yù)測用戶的行為進(jìn)行預(yù)測。
可選地,根據(jù)所述每個用戶的長期行為特征簇,確定用戶間的相似度,以對用戶行為進(jìn)行預(yù)測的步驟包括:
根據(jù)多個用戶的長期行為特征簇,獲取多個用戶的長期行為特征簇的簇相似度;
根據(jù)所述簇相似度,獲取多個用戶的相似度;
將用戶相似度超過預(yù)設(shè)相似度閾值的用戶歸屬于相似用戶集;
根據(jù)所述相似用戶集,進(jìn)行用戶行為預(yù)測。
可選地,所述方法還包括:
根據(jù)用戶行為預(yù)測的結(jié)果,向用戶進(jìn)行信息推薦。
第二方面,本公開提供一種用戶行為預(yù)測裝置,包括:
采集模塊,用于采集至少兩個用戶的行為記錄數(shù)據(jù);
聚類模塊,用于分別對每個用戶的行為記錄數(shù)據(jù)進(jìn)行聚類,形成多個簇;
過濾模塊,用于分別對所述每個用戶對應(yīng)的多個簇進(jìn)行過濾,獲得每個用戶的長期行為特征簇;
預(yù)測模塊,用于根據(jù)所述每個用戶的長期行為特征簇,確定用戶間的相似度,以對用戶行為進(jìn)行預(yù)測。
可選地,所述聚類模塊包括:
簇集合形成子模塊,用于將所述滑動窗口中的一個或多個行為記錄數(shù)據(jù)分別作為單個簇,形成一簇集合;
相似度獲取子模塊,用于分別獲取所述滑動窗口中的其余行為記錄數(shù)據(jù)與所述簇集合中的每個簇的相似度;
最大相似度獲取子模塊,用于對于所述簇集合中的每個簇,分別獲取與該每個簇具有最大相似度的行為記錄數(shù)據(jù);
簇更新子模塊,用于對于與每個簇對應(yīng)的最大相似度,若最大相似度大于預(yù)設(shè)閾值,則將最大相似度對應(yīng)的行為記錄數(shù)據(jù)歸屬于該簇,并重新計(jì)算該簇的質(zhì)心;若最大相似度小于預(yù)設(shè)閾值,則將最大相似度對應(yīng)的行為記錄數(shù)據(jù)作為新的簇,增加到所述簇集合中。
可選地,所述過濾模塊包括:
統(tǒng)計(jì)子模塊,用于統(tǒng)計(jì)每個簇中的行為記錄數(shù)據(jù)的數(shù)量;
刪除子模塊,用于將簇中的行為記錄數(shù)據(jù)的數(shù)量小于預(yù)設(shè)閾值的簇刪除,得到待處理簇;
離散度過濾子模塊,用于根據(jù)預(yù)設(shè)行為離散度,將所述待處理簇中離散度小于預(yù)設(shè)行為離散度的簇過濾掉,以獲得所述每個用戶的長期行為特征簇。
可選地,所述預(yù)測模塊包括:
第一簇相似度獲取子模塊,用于獲取待預(yù)測用戶與一個或多個用戶的長期行為特征簇的簇相似度;
第一用戶相似度獲取子模塊,用于根據(jù)簇相似度,獲取所述待預(yù)測用戶與所述一個或多個用戶的相似度;
目標(biāo)用戶獲取子模塊,用于根據(jù)用戶間的相似度,在所述一個或多個用戶中,確定與所述待預(yù)測用戶相似的目標(biāo)用戶;
第一行為預(yù)測子模塊,用于根據(jù)確定的所述目標(biāo)用戶,對所述待預(yù)測用戶的行為進(jìn)行預(yù)測。
可選地,所述預(yù)測模塊包括:
第二簇相似度獲取子模塊,用于根據(jù)多個用戶的長期行為特征簇,獲取多個用戶的長期行為特征簇的簇相似度;
第二用戶相似度獲取子模塊,用于根據(jù)所述簇相似度,獲取多個用戶的相似度;
相似用戶集獲取子模塊,用于將用戶相似度超過預(yù)設(shè)相似度閾值的用戶歸屬于相似用戶集;
第二行為預(yù)測子模塊,用于根據(jù)所述相似用戶集,進(jìn)行用戶行為預(yù)測。
可選地,所述裝置還包括:
信息推薦模塊,用于根據(jù)用戶行為預(yù)測的結(jié)果,向用戶進(jìn)行信息推薦。
第三方面,本公開提供一種用戶行為預(yù)測裝置,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:采集至少兩個用戶的行為記錄數(shù)據(jù);分別對每個用戶的行為記錄數(shù)據(jù)進(jìn)行聚類,形成多個簇;分別對所述每個用戶對應(yīng)的多個簇進(jìn)行過濾,獲得每個用戶的長期行為特征簇;根據(jù)所述每個用戶的長期行為特征簇,確定用戶間的相似度,以對用戶行為進(jìn)行預(yù)測。
通過上述技術(shù)方案,利用單個用戶的長期行為特征簇,實(shí)現(xiàn)相似用戶的獲取,以對用戶行為進(jìn)行預(yù)測,例如,可預(yù)測出在某一特定時間內(nèi)用戶是否會出行,以及出行的地點(diǎn)等,可實(shí)現(xiàn)對單個用戶更準(zhǔn)確、精細(xì)的進(jìn)行行為預(yù)測;過濾掉了用戶行為中的短期行為,可提高預(yù)測的準(zhǔn)確性;通過對用戶的出行行為進(jìn)行預(yù)測,對軌道交通的運(yùn)營提供指導(dǎo)意義;另外,根據(jù)預(yù)測的用戶行為,進(jìn)行信息推薦,可實(shí)現(xiàn)針對性的信息推薦,提升用戶體驗(yàn)和商業(yè)價值。
本公開的其他特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說明。
附圖說明
附圖是用來提供對本公開的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與下面的具體實(shí)施方式一起用于解釋本公開,但并不構(gòu)成對本公開的限制。在附圖中:
圖1是本公開一示例性實(shí)施例的用戶行為預(yù)測方法的流程示意圖;
圖2是本公開一實(shí)施例的數(shù)據(jù)采集平臺示意圖;
圖3是本公開的一實(shí)施例中對位于滑動窗口內(nèi)的行為記錄數(shù)據(jù)進(jìn)行聚類,形成多個簇的流程示意圖;
圖4是本公開一實(shí)施例中對簇進(jìn)行過濾的流程示意圖;
圖5是本公開一實(shí)施例進(jìn)行用戶行為預(yù)測的流程示意圖;
圖6是本公開另一實(shí)施例進(jìn)行用戶行為預(yù)測的流程示意圖;
圖7是本公開一實(shí)施例的用戶行為預(yù)測裝置的結(jié)構(gòu)示意圖;
圖8是本公開另一實(shí)施例的用戶行為預(yù)測裝置的結(jié)構(gòu)示意圖;
圖9是本公開根據(jù)一示例性實(shí)施例示出的一種用于用戶行為預(yù)測方法的裝置的框圖。
具體實(shí)施方式
以下結(jié)合附圖對本公開的具體實(shí)施方式進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解的是,此處所描述的具體實(shí)施方式僅用于說明和解釋本公開,并不用于限制本公開。
參見圖1為本公開一示例性實(shí)施例的用戶行為預(yù)測方法的流程示意圖。該用戶行為預(yù)測方法包括以下步驟:
步驟101、采集至少兩個用戶的行為記錄數(shù)據(jù)。
在本公開的一實(shí)施例中,以用戶的行為記錄數(shù)據(jù)包括出行的行為數(shù)據(jù)為例,對本公開實(shí)施例進(jìn)行說明。出行的行為記錄數(shù)據(jù)可包括從公交系統(tǒng)、地鐵系統(tǒng)、鐵路系統(tǒng)、航空系統(tǒng)、公路運(yùn)輸系統(tǒng)以及第三方平臺(例如,各類出行軟件系統(tǒng)、天氣預(yù)報系統(tǒng)和新聞系統(tǒng)等)等獲取到的數(shù)據(jù)。
對于地鐵系統(tǒng),用戶在出行時,若采用公交卡進(jìn)行刷卡進(jìn)出,則可以根據(jù)刷卡交易數(shù)據(jù),得到該用戶的出發(fā)地、出發(fā)時間、目的地和到達(dá)時間等出行數(shù)據(jù)。例如,在一個實(shí)施例中,每張公交卡具有各自的標(biāo)識號。每位持卡用戶進(jìn)出站刷卡時將產(chǎn)生交易數(shù)據(jù),而這些交易數(shù)據(jù)與標(biāo)識號相對應(yīng),由此可獲取到與各個標(biāo)識號對應(yīng)的持卡用戶的出行數(shù)據(jù)。
對于僅進(jìn)行上車刷卡制的公交系統(tǒng),可根據(jù)上車刷卡時產(chǎn)生的交易數(shù)據(jù)獲得出發(fā)時間。在一個實(shí)施例中,可結(jié)合公交車的GPS,根據(jù)出發(fā)時間,確定出發(fā)站點(diǎn)(出發(fā)地)。通過結(jié)合其它信息,例如,同一公交卡的換乘刷卡信息獲得目的地和到達(dá)時間,可對目的地和到達(dá)時間進(jìn)行確定。若不能結(jié)合到換乘刷卡信息,則可將目的地和到達(dá)時間設(shè)為缺省,或?qū)⒐卉嚨慕K點(diǎn)站作為目的地,將公交車到達(dá)終點(diǎn)站的時間作為達(dá)到時間。
在本公開的一實(shí)施例中,為了更加全面的反應(yīng)用戶的出行行為,將同一用戶通過鐵路系統(tǒng)、航空系統(tǒng)、公交系統(tǒng)、公路運(yùn)輸系統(tǒng)以及第三方平臺的出行信息與鐵路系統(tǒng)的出行信息進(jìn)行整合,以獲得用戶出行的行為記錄數(shù)據(jù)。
其中,對于鐵路系統(tǒng)和航空系統(tǒng),可根據(jù)所購票的車票信息,獲得出發(fā)地、出發(fā)時間、目的地和到達(dá)時間等出行數(shù)據(jù)。對于第三方平臺中的出行軟件系統(tǒng)(例如,網(wǎng)絡(luò)約車平臺和互聯(lián)網(wǎng)巴士出行平臺等),可根據(jù)用戶的出行選擇(對出發(fā)地和目的地的選擇),獲得出發(fā)地、出發(fā)時間、目的地和到達(dá)時間等出行數(shù)據(jù)。
應(yīng)理解,對于采用實(shí)名制的鐵路系統(tǒng)、航空系統(tǒng)、公路運(yùn)輸系統(tǒng)和第三方平臺,可根據(jù)用戶的身份信息(例如,身份證信息)從不同的系統(tǒng)和平臺中,獲取到同一用戶的出行的行為記錄數(shù)據(jù)。而對于地鐵系統(tǒng)和公交系統(tǒng),可在購買公交卡時,將用戶的身份信息與公交車的標(biāo)識號進(jìn)行綁定,由此,可實(shí)現(xiàn)根據(jù)用戶的身份信息,將各個系統(tǒng)和平臺的同一用戶的出行數(shù)據(jù)進(jìn)行整合。
在本公開的一實(shí)施例中,用戶出行的行為記錄數(shù)據(jù)至少包括以下其中之一:出行日期、出行所采用的交通工具、出發(fā)地、出發(fā)時間、目的地、到達(dá)時間、天氣信息(出發(fā)地的天氣情況、目的地的天氣情況)和事件信息(例如,重大節(jié)日信息、重大會議)等。
其中,如上所述,出行日期、出行所采用的交通工具、出發(fā)地、出發(fā)時間、目的地和到達(dá)時間可根據(jù)刷卡交易數(shù)據(jù)、購票數(shù)據(jù)或用戶的出行選擇等獲得;天氣信息可從天氣預(yù)報系統(tǒng)獲得;事件信息可從新聞系統(tǒng)、日歷等獲得。
在本公開的一實(shí)施例中,可建立一數(shù)據(jù)采集平臺,對用戶的行為數(shù)據(jù)進(jìn)行采集。參見圖2,該數(shù)據(jù)采集平臺200分別與地鐵系統(tǒng)201、公交系統(tǒng)202、鐵路系統(tǒng)203、航空系統(tǒng)204、公路運(yùn)輸系統(tǒng)205以及第三方平臺206通信連接。數(shù)據(jù)采集平臺200可從各系統(tǒng)獲取用戶的出行數(shù)據(jù),并可對來自不同系統(tǒng)的出行數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換、信息提取等操作,得到各個用戶出行的行為記錄數(shù)據(jù)。
步驟102、分別對每個用戶的行為記錄數(shù)據(jù)進(jìn)行聚類,形成多個簇。
聚類即按照特定標(biāo)準(zhǔn)(如距離準(zhǔn)則)把一個數(shù)據(jù)集分割成不同的簇,使得同一個簇內(nèi)的數(shù)據(jù)對象的相似性盡可能大,同時不在同一個簇中的數(shù)據(jù)對象的差異性也盡可能地大。
在本公開的實(shí)施例中,用戶的行為記錄數(shù)據(jù)是對用戶的出行記錄進(jìn)行追蹤獲得的,為了準(zhǔn)確體現(xiàn)用戶的出行行為,需要采集大量的數(shù)據(jù)。為了便于大量數(shù)據(jù)的分析,設(shè)定一個預(yù)設(shè)長度的滑動窗口,將用戶的行為記錄按時間進(jìn)行排序。隨著用戶行為記錄的增加,滑動窗口進(jìn)行滑動(例如,向右滑動)以將最新的行為記錄包含到滑動窗口中,而將舊的行為記錄從滑動窗口中去除。對位于滑動窗口內(nèi)的行為記錄進(jìn)行聚類,聚類后會形成多個簇,每個簇內(nèi)的行為相似。
在本公開的一實(shí)施例中,預(yù)設(shè)長度的滑動窗口按照時間長度進(jìn)行定義,例如,可設(shè)置滑動窗口的長度為半年、一年等。
參見圖3,為本公開的一實(shí)施例中對位于滑動窗口內(nèi)的行為記錄數(shù)據(jù)進(jìn)行聚類,形成多個簇的流程示意圖。
在本公開的一實(shí)施例中,首先,將滑動窗口中的行為記錄數(shù)據(jù)轉(zhuǎn)化為行為向量矩陣。若滑動窗口中包括用戶A的m個行為記錄數(shù)據(jù)r1,r2,……,rm,其中,每個行為記錄數(shù)據(jù)的維度為n(例如,若行為記錄數(shù)據(jù)包括:出行日期、出行所采用的交通工具、出發(fā)地、出發(fā)時間、目的地、到達(dá)時間和天氣信息,則維度n為7),則與用戶A對應(yīng)的行為向量矩陣為m×n。
步驟301、將滑動窗口中的一個或多個行為記錄數(shù)據(jù)分別作為單個簇,形成一簇集合C。
在本公開的實(shí)施例中,初始時,可將滑動窗口中的任一行為記錄數(shù)據(jù)作為簇集合C中的第一個單個簇C1,即C={C1}。簇集合C將在后續(xù)的步驟中逐漸被更新。
步驟302、分別獲取滑動窗口中的其余行為記錄數(shù)據(jù)與簇集合中的每個簇的相似度。
在一個實(shí)施例中,采用向量空間模型進(jìn)行相似度的計(jì)算,即相似度如式(1)所示。
其中,n為行為記錄數(shù)據(jù)的維度,rci為簇Ci的質(zhì)心。簇Ci的質(zhì)心rci可通過式(2)求得。
其中,|ri|是簇Ci中的數(shù)據(jù)個數(shù),pj為簇Ci的數(shù)據(jù)對象。
在本公開的一個實(shí)施例中,將第一個行為記錄數(shù)據(jù)r1作為簇集合C中的第一個簇C1,則按時間從遠(yuǎn)到近依次計(jì)算滑動窗口中的其余行為記錄數(shù)據(jù)(r2,……,rm)與簇C1的相似度。即將式(1)中的i取1,j取2至m,即可分別得到行為記錄數(shù)據(jù)r2,……,rm與簇C1的相似度。
步驟303、對于簇集合中的每個簇,分別獲取與該每個簇具有最大相似度的行為記錄數(shù)據(jù)。
步驟304、對于與每個簇對應(yīng)的最大相似度,若最大相似度大于預(yù)設(shè)閾值,則將最大相似度對應(yīng)的行為記錄數(shù)據(jù)歸屬于該簇,并重新計(jì)算該簇的質(zhì)心;若最大相似度小于預(yù)設(shè)閾值,則將最大相似度對應(yīng)的行為記錄數(shù)據(jù)作為新的簇,增加到簇集合中。
重復(fù)執(zhí)行步驟302、303和304,直到滑動窗口中的行為記錄數(shù)據(jù)均實(shí)現(xiàn)聚類,被歸于相應(yīng)的簇中。
例如,對于簇集合中包括由第一個行為記錄數(shù)據(jù)形成的簇C1的情況,依次獲取行為記錄數(shù)據(jù)r2,……,rm與簇C1的相似度,并獲取與簇C1具有最大相似度Smax的行為記錄數(shù)據(jù),例如,為r2。若最大相似度Smax大于預(yù)設(shè)閾值,則將該最大相似度對應(yīng)的行為記錄數(shù)據(jù)r2歸屬于簇C1,將最大相似度對應(yīng)的行為記錄數(shù)據(jù)歸屬于簇C1后,根據(jù)式(2)更新該簇C1的質(zhì)心rc1。循環(huán)執(zhí)行到步驟302時,獲取滑動串口中的行為記錄數(shù)據(jù)r3,……,rm與更新了質(zhì)心的簇C1的相似度,并根據(jù)預(yù)設(shè)閾值對最大相似度對應(yīng)的行為記錄數(shù)據(jù)進(jìn)行聚類。
而若最大相似度Smax小于預(yù)設(shè)閾值,則將該最大相似度對應(yīng)的行為記錄數(shù)據(jù)r2作為新的簇C2,增加到簇集合中,則簇集合C={C1,C2}。循環(huán)到步驟302時,將滑動窗口中的行為記錄數(shù)據(jù)r3,……,rm分別與簇集合中的簇C1和簇C2進(jìn)行相似度計(jì)算,并分別獲取與簇C1和簇C2具有最大相似度的行為記錄數(shù)據(jù),并根據(jù)預(yù)設(shè)閾值對最大相似度對應(yīng)的行為記錄數(shù)據(jù)進(jìn)行聚類。
在本公開的實(shí)施例中,隨著時間的推進(jìn),當(dāng)增加一個或多個新的行為記錄數(shù)據(jù)時,可將根據(jù)步驟302-304將新增的行為記錄數(shù)據(jù)進(jìn)行聚類,使其被歸入簇集合中的現(xiàn)有簇或者形成新簇。由于滑動窗口的長度是固定的,當(dāng)新增行為記錄數(shù)據(jù)后,將時間最久遠(yuǎn)的行為記錄數(shù)據(jù)從滑動窗口中去除,并且重新計(jì)算去除的行為記錄數(shù)據(jù)所屬簇的質(zhì)心。
步驟103、分別對每個用戶對應(yīng)的多個簇進(jìn)行過濾,獲得每個用戶的長期行為特征簇。
同簇的記錄或是聚集或是離散,一般的反映短期行為的簇會比較聚集,因?yàn)槎唐谛袨橥谀骋惶囟ǖ臅r間頻繁出現(xiàn),而反映用戶長期行為的簇則比較離散,因?yàn)檫@種行為比較常態(tài),會在行為記錄中持續(xù)穩(wěn)定出現(xiàn)。本公開實(shí)施例中,通過識別出用戶行為記錄中的短期行為,可以降低用戶行為預(yù)測的噪音,提高預(yù)測的準(zhǔn)確率。
本公開一實(shí)施例中,通過以下方式一或二或其結(jié)合對形成的簇進(jìn)行過濾,以過濾掉短期行為,提高預(yù)測的準(zhǔn)確率。
方式一:通過定義過濾因子的方式進(jìn)行過濾
用戶的行為中有一部分是用戶偶然的行為,具有隨機(jī)性,不能反映用戶的行為特征,在根據(jù)滑動窗口中的行為記錄數(shù)據(jù)形成的簇中,這些記錄往往聚類成一些很小的簇。因此,可通過定義過濾因子f,從聚類好的多個簇中,找出反映用戶長期行為特征和最近短期行為特征的簇。
由此,統(tǒng)計(jì)每個簇中的行為記錄數(shù)據(jù)的數(shù)量,將簇中的行為記錄數(shù)據(jù)數(shù)量小于預(yù)設(shè)閾值f×m(m為滑動窗口中的總行為記錄數(shù)據(jù)數(shù)量)的簇作為噪音簇刪除。將簇中的行為記錄數(shù)據(jù)數(shù)量大于f×m的簇認(rèn)為是反映用戶行為特征的有效簇。由此,只有當(dāng)簇中的行為記錄數(shù)據(jù)數(shù)量占滑動窗口中的總行為記錄數(shù)據(jù)數(shù)量的比例達(dá)到一定值時,才認(rèn)為該簇能夠反映用戶的行為特征,獲得用戶的長期行為特征簇。
方式二:根據(jù)預(yù)設(shè)行為離散度,將簇的離散度小于預(yù)設(shè)行為離散度的簇過濾掉,獲得每個用戶的長期行為特征簇。
對于反映用戶長期行為特征的簇,簇中記錄分布得越廣泛,說明用戶在較長時間均有類似的行為。由此,根據(jù)式(3)獲取各簇的離散度w,以對簇進(jìn)行過濾,獲得用戶的長期行為特征簇。
其中,n為簇中的行為記錄數(shù)據(jù)的維度,t為簇中行為發(fā)生時間(例如,可為出發(fā)時間)取得時分后的值,例如,行為發(fā)生時間為:2016-09-2615:05:26,那么t的值為距離0點(diǎn)過去了多少分,即t=15*60+5=905;d為簇中的各行為記錄數(shù)據(jù)的天數(shù)跨度。預(yù)設(shè)行為離散度w與時間波動成反比,與天數(shù)成正比。
當(dāng)一簇的離散度小于預(yù)設(shè)行為離散度時,說明此行為是持續(xù)時間不長的偶然性行為或者是沒有規(guī)律時間波動較大的行為,不能代表用戶行為的一般性,因此將此類簇過濾掉。由此,根據(jù)簇的離散度,可對形成的簇進(jìn)行過濾,獲得用戶的長期行為特征簇。
在本公開的一實(shí)施例中,可通過上述方式一或方式二對步驟102形成的簇進(jìn)行過濾,獲得用戶的長期行為特征簇。
參見圖4,在本公開的另一實(shí)施例中,可將方式一和方式二結(jié)合,進(jìn)行簇的過濾,進(jìn)一步提高預(yù)測的準(zhǔn)確性。
步驟401、統(tǒng)計(jì)每個簇中的行為記錄數(shù)據(jù)的數(shù)量;
步驟402、將簇中的行為記錄數(shù)據(jù)的數(shù)量小于預(yù)設(shè)閾值的簇刪除,得到待處理簇;
步驟403、根據(jù)預(yù)設(shè)行為離散度,將待處理簇中離散度小于預(yù)設(shè)行為離散度的簇過濾掉,以獲得每個用戶的長期行為特征簇。
步驟104、根據(jù)每個用戶的長期行為特征簇,確定用戶間的相似度,以對用戶行為進(jìn)行預(yù)測。
在本公開的一實(shí)施例中,可利用協(xié)同思想找到行為相似的用戶,從而實(shí)現(xiàn)根據(jù)已知用戶行為來預(yù)測目標(biāo)用戶行為。
參見圖5,本公開一實(shí)施例進(jìn)行用戶行為預(yù)測的流程示意圖,其包括以下步驟:
步驟501、獲取待預(yù)測用戶與一個或多個用戶的長期行為特征簇的簇相似度。
在一個實(shí)施例中,將用戶Ux的長期行為特征簇中的各個簇分別與待預(yù)測用戶Uy的長期行為特征簇中的各個簇進(jìn)行相似度的計(jì)算。用戶Ux的長期行為特征簇中的簇Cxi與待預(yù)測用戶Uy的長期行為特征簇中的簇Cyi的相似度可通過式(4)獲得。
式中的Cxi和Cyi分別為簇Cxi和Cyi的質(zhì)心。根據(jù)式(2)可知質(zhì)心為向量,則式(4)中||*||是向量的長度。
在一個實(shí)施例中,獲取最大的相似度值作為待預(yù)測用戶Uy與用戶Ux的簇相似度。
步驟502、根據(jù)簇相似度,獲取待預(yù)測用戶與一個或多個用戶的相似度。
在一個實(shí)施例中,根據(jù)式(5)獲得用戶Ux和待預(yù)測用戶Uy的相似度。
其中,n為簇中的行為記錄數(shù)據(jù)的維度,S(Cxi,Cyi)為簇相似度。
本公開實(shí)施例中,根據(jù)簇相似度,進(jìn)一步獲取用戶間的相似度,從更細(xì)的角度來衡量兩個用戶的相似性,提高預(yù)測的準(zhǔn)確性。
步驟503、根據(jù)用戶間的相似度,在一個或多個用戶中,確定與待預(yù)測用戶相似的目標(biāo)用戶。
在一個實(shí)施例中,可將相似度最高的用戶作為目標(biāo)用戶Ui。在一些實(shí)施例中,也可將相似度達(dá)到設(shè)定閾值的用戶均作為目標(biāo)用戶。
步驟504、根據(jù)確定的目標(biāo)用戶,對待預(yù)測用戶的行為進(jìn)行預(yù)測。
當(dāng)獲得了目標(biāo)用戶Ui和待預(yù)測用戶Uy的相似度時,若已知目標(biāo)用戶的行為,則可對待預(yù)測用戶的行為進(jìn)行預(yù)測。
在一個實(shí)施例中,若目標(biāo)用戶Ui在某一時刻進(jìn)行行為L,可通過式(6)獲得待預(yù)測用戶Uy進(jìn)行行為L的概率,從而對待預(yù)測用戶Uy進(jìn)行行為預(yù)測。
其中,p(UyL)表示待預(yù)測用戶Uy進(jìn)行行為L的概率;S(Ui,Uy)表示兩個用戶的相似度,N為進(jìn)行行為L的目標(biāo)用戶的個數(shù)。
在一個實(shí)施例中,行為L可表示在某一時刻通過某一站點(diǎn)出行,則式(6)中的Ui為在某一時刻通過某一站點(diǎn)出行的用戶(為目標(biāo)用戶中的一個或多個),通過式(6)獲得待預(yù)測用戶Uy在某一時刻通過某一站點(diǎn)出行的概率。當(dāng)站點(diǎn)有多個時(即行為L有多個),可分別在目標(biāo)用戶中劃分不同站點(diǎn)的出行用戶,從而分別對各個站點(diǎn)的出行概率進(jìn)行預(yù)測,并將概率最高的站點(diǎn),預(yù)測為Uy將出行的站點(diǎn)。
參見圖6,本公開另一實(shí)施例進(jìn)行用戶行為預(yù)測的流程示意圖。該實(shí)施例和上述圖5所示的實(shí)施例的區(qū)別在于,在該實(shí)施例中,根據(jù)用戶的長期行為特征簇,分別計(jì)算各用戶間的相似度,并將相似度超過預(yù)設(shè)相似度閾值的用戶作為相似用戶群,從而根據(jù)相似用戶群的進(jìn)行用戶行為預(yù)測。
該實(shí)施例包括以下步驟:
步驟601、根據(jù)多個用戶的長期行為特征簇,獲取多個用戶的長期行為特征簇的簇相似度。
步驟602、根據(jù)簇相似度,獲取多個用戶的相似度。
應(yīng)理解,步驟601和602分別和上述步驟501和502的實(shí)施方式相同,在此不再贅述。
步驟603、將用戶相似度超過預(yù)設(shè)相似度閾值的用戶歸屬于相似用戶集。
在本公開的一實(shí)施例中,預(yù)設(shè)相似度閾值可設(shè)置在60%至100%之間。
步驟604、根據(jù)相似用戶集,進(jìn)行用戶行為預(yù)測。
在本公開的一實(shí)施例中,當(dāng)檢測到相似用戶集中的任一用戶或超過一定比例的用戶進(jìn)行某行為時,可預(yù)測相似用戶集中的其它用戶可能進(jìn)行相同的行為,由此,可實(shí)現(xiàn)對用戶行為的預(yù)測。例如,對于用戶的出行行為,若相似用戶集中有1000個用戶,則檢測其中的1個或10個用戶從站點(diǎn)A出行,則可預(yù)測其余用戶均將發(fā)生類似出行行為;由此,相關(guān)站點(diǎn)可提前做好運(yùn)營調(diào)度準(zhǔn)備,實(shí)現(xiàn)對軌道交通的運(yùn)營提供指導(dǎo)意義。在一些實(shí)施例中,還可對相似用戶集中的用戶進(jìn)行提示信息發(fā)送,例如,提示是否會發(fā)生出行擁堵,提示用戶提前做好規(guī)劃等。
在本公開的一實(shí)施例中,可根據(jù)行為預(yù)測結(jié)果,向用戶進(jìn)行信息推薦。推薦的信息可為商品信息、提示信息(例如,天氣提醒、事件提醒)等。例如,根據(jù)行為預(yù)測結(jié)果,在預(yù)測的用戶出行點(diǎn),進(jìn)行相應(yīng)商品(例如,電影、廣告等)的推薦。
本公開實(shí)施例的用戶行為預(yù)測方法,利用單個用戶的長期行為特征簇,實(shí)現(xiàn)相似用戶的獲取,以對用戶行為進(jìn)行預(yù)測,例如,可預(yù)測出在某一特定時間內(nèi)用戶是否會出行,以及出行的地點(diǎn)等,可實(shí)現(xiàn)對單個用戶更準(zhǔn)確、精細(xì)的進(jìn)行行為預(yù)測;過濾掉了用戶行為中的短期行為,可提高預(yù)測的準(zhǔn)確性;通過對用戶的出行行為進(jìn)行預(yù)測,對軌道交通的運(yùn)營提供指導(dǎo)意義;另外,根據(jù)預(yù)測的用戶行為,進(jìn)行信息推薦,可實(shí)現(xiàn)針對性的信息推薦,提升用戶體驗(yàn)和商業(yè)價值。
參見圖7,為本公開一實(shí)施例的用戶行為預(yù)測裝置的結(jié)構(gòu)示意圖。該用戶行為預(yù)測裝置700包括:
采集模塊701,用于采集至少兩個用戶的行為記錄數(shù)據(jù);
聚類模塊702,用于分別對每個用戶的行為記錄數(shù)據(jù)進(jìn)行聚類,形成多個簇;
過濾模塊703,用于分別對所述每個用戶對應(yīng)的多個簇進(jìn)行過濾,獲得每個用戶的長期行為特征簇;
預(yù)測模塊704,用于根據(jù)所述每個用戶的長期行為特征簇,確定用戶間的相似度,以對用戶行為進(jìn)行預(yù)測。
在一個實(shí)施例中,聚類模塊702包括:
簇集合形成子模塊7021,用于將所述滑動窗口中的一個或多個行為記錄數(shù)據(jù)分別作為單個簇,形成一簇集合;
相似度獲取子模塊7022,用于分別獲取所述滑動窗口中的其余行為記錄數(shù)據(jù)與所述簇集合中的每個簇的相似度;
最大相似度獲取子模塊7023,用于對于所述簇集合中的每個簇,分別獲取與該每個簇具有最大相似度的行為記錄數(shù)據(jù);
簇更新子模塊7024,用于對于與每個簇對應(yīng)的最大相似度,若最大相似度大于預(yù)設(shè)閾值,則將最大相似度對應(yīng)的行為記錄數(shù)據(jù)歸屬于該簇,并重新計(jì)算該簇的質(zhì)心;若最大相似度小于預(yù)設(shè)閾值,則將最大相似度對應(yīng)的行為記錄數(shù)據(jù)作為新的簇,增加到所述簇集合中。
在一個實(shí)施例中,過濾模塊703包括:
統(tǒng)計(jì)子模塊7031,用于統(tǒng)計(jì)每個簇中的行為記錄數(shù)據(jù)的數(shù)量;
刪除子模塊7032,用于將簇中的行為記錄數(shù)據(jù)的數(shù)量小于預(yù)設(shè)閾值的簇刪除,得到待處理簇;
離散度過濾子模塊7033,用于根據(jù)預(yù)設(shè)行為離散度,將所述待處理簇中離散度小于預(yù)設(shè)行為離散度的簇過濾掉,以獲得所述每個用戶的長期行為特征簇。
應(yīng)理解,本公開實(shí)施例中的過濾模塊703也可包括統(tǒng)計(jì)子模塊7031和刪除子模塊7032實(shí)現(xiàn)過濾得到用戶的長期行為特征簇。在一些實(shí)施例中,過濾模塊703可包括離散度過濾子模塊7033實(shí)現(xiàn)過濾得到用戶的長期行為特征簇。
在一個實(shí)施例中,預(yù)測模塊704包括:
第一簇相似度獲取子模塊7041,用于獲取待預(yù)測用戶與一個或多個用戶的長期行為特征簇的簇相似度;
第一用戶相似度獲取子模塊7042,用于根據(jù)簇相似度,獲取待預(yù)測用戶與一個或多個用戶的相似度;
目標(biāo)用戶獲取子模塊7043,用于根據(jù)用戶間的相似度,在一個或多個用戶中,確定與待預(yù)測用戶相似的目標(biāo)用戶;
第一行為預(yù)測子模塊7044,用于根據(jù)確定的目標(biāo)用戶,對待預(yù)測用戶的行為進(jìn)行預(yù)測。
參見圖8,在一個實(shí)施例中,預(yù)測模塊704包括:
第二簇相似度獲取子模塊7045,用于根據(jù)多個用戶的長期行為特征簇,獲取多個用戶的長期行為特征簇的簇相似度;
第二用戶相似度獲取子模塊7046,用于根據(jù)所述簇相似度,獲取多個用戶的相似度;
相似用戶集獲取子模塊7047,用于將用戶相似度超過預(yù)設(shè)相似度閾值的用戶歸屬于相似用戶集;
第二行為預(yù)測子模塊7048,用于根據(jù)所述相似用戶集,進(jìn)行用戶行為預(yù)測。
在一個實(shí)施例中,裝置700還包括:
信息推薦模塊705,用于根據(jù)用戶行為預(yù)測的結(jié)果,向用戶進(jìn)行信息推薦。
關(guān)于上述實(shí)施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
圖9是根據(jù)一示例性實(shí)施例示出的一種用于用戶行為預(yù)測方法的裝置900的框圖。例如,裝置900可以被提供為一服務(wù)器。參照圖9,裝置900包括處理組件901,其進(jìn)一步包括一個或多個處理器,以及由存儲器902所代表的存儲器資源,用于存儲可由處理組件901的執(zhí)行的指令,例如應(yīng)用程序。存儲器902中存儲的應(yīng)用程序可以包括一個或一個以上的每一個對應(yīng)于一組指令的模塊。此外,處理組件901被配置為執(zhí)行指令,以執(zhí)行上述用戶行為預(yù)測方法。
裝置900還可以包括一個電源組件903被配置為執(zhí)行裝置900的電源管理,一個有線或無線網(wǎng)絡(luò)接口904被配置為將裝置900連接到網(wǎng)絡(luò),和一個輸入輸出(I/O)接口905。裝置900可以操作基于存儲在存儲器902的操作系統(tǒng),例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM或類似。
在一個實(shí)施例中,上述圖2所示的數(shù)據(jù)采集平臺可設(shè)置在裝置900中,通過網(wǎng)絡(luò)接口904和/或輸入輸出接口905從各系統(tǒng)獲取用戶行為記錄數(shù)據(jù),并通過處理組件901進(jìn)行處理。這些數(shù)據(jù)可被存儲在存儲器902中。
應(yīng)理解,本公開以上實(shí)施例以用戶出行行為數(shù)據(jù)為例進(jìn)行了用戶行為預(yù)測的說明,對于消費(fèi)行為數(shù)據(jù)、網(wǎng)頁瀏覽行為數(shù)據(jù)以及各類應(yīng)用的使用行為數(shù)據(jù)可按照和用戶出行行為數(shù)據(jù)類似的方式進(jìn)行用戶行為的預(yù)測。
本公開實(shí)施例的用戶行為預(yù)測方法及裝置,利用單個用戶的長期行為特征簇,實(shí)現(xiàn)相似用戶的獲取,以對用戶行為進(jìn)行預(yù)測,例如,可預(yù)測出在某一特定時間內(nèi)用戶是否會出行,以及出行的地點(diǎn)等,可實(shí)現(xiàn)對單個用戶更準(zhǔn)確、精細(xì)的進(jìn)行行為預(yù)測;過濾掉了用戶行為中的短期行為,可提高預(yù)測的準(zhǔn)確性;通過對用戶的出行行為進(jìn)行預(yù)測,對軌道交通的運(yùn)營提供指導(dǎo)意義;另外,根據(jù)預(yù)測的用戶行為,進(jìn)行信息推薦,可實(shí)現(xiàn)針對性的信息推薦,提升用戶體驗(yàn)和商業(yè)價值。
以上結(jié)合附圖詳細(xì)描述了本公開的優(yōu)選實(shí)施方式,但是,本公開并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本公開的技術(shù)構(gòu)思范圍內(nèi),可以對本公開的技術(shù)方案進(jìn)行多種簡單變型,這些簡單變型均屬于本公開的保護(hù)范圍。
另外需要說明的是,在上述具體實(shí)施方式中所描述的各個具體技術(shù)特征,在不矛盾的情況下,可以通過任何合適的方式進(jìn)行組合。為了避免不必要的重復(fù),本公開對各種可能的組合方式不再另行說明。
此外,本公開的各種不同的實(shí)施方式之間也可以進(jìn)行任意組合,只要其不違背本公開的思想,其同樣應(yīng)當(dāng)視為本公開所公開的內(nèi)容。