本發(fā)明涉及交通領(lǐng)域。具體而言涉及一種基于社交網(wǎng)絡(luò)的互聯(lián)網(wǎng)班車線路優(yōu)化設(shè)計(jì)方法。
背景技術(shù):
伴隨著信息技術(shù)尤其是互聯(lián)網(wǎng)的飛速普及和發(fā)展,公共交通服務(wù)也上升到一個(gè)新的水平。以優(yōu)步(UBER)、滴滴為代表的O2O打車軟件的出現(xiàn)極大地方便了人們的工作和生活。在北京、上海等一線城市,由于日常出行路途遙遠(yuǎn)、公共交通擁擠不堪,人們更期待比打車更便宜,比公交、地鐵更舒適的班車服務(wù),于是滴滴巴士、哈羅同行、考拉班車等一大批互聯(lián)網(wǎng)班車應(yīng)運(yùn)而生。但是,現(xiàn)有技術(shù)中的互聯(lián)網(wǎng)班車由于線路重復(fù)、空座率高、長(zhǎng)期穩(wěn)定的客源寥寥無(wú)幾,造成了運(yùn)營(yíng)成本居高不下,很多運(yùn)營(yíng)商難以為繼。此外,驟然出現(xiàn)的各路班車還造成了很多熱點(diǎn)路段的嚴(yán)重?fù)矶?,違背了其倡導(dǎo)的綠色出行的初衷。
造成互聯(lián)網(wǎng)班車與用戶需求之間匹配困難的原因可以歸結(jié)為以下幾點(diǎn):
(1)未能充分挖掘用戶需求,掌握用戶的出行規(guī)律是最關(guān)鍵的原因?;ヂ?lián)網(wǎng)班車對(duì)城市居民的工作、生活情況缺乏必要的統(tǒng)計(jì),一般只根據(jù)常識(shí)與經(jīng)驗(yàn)定性設(shè)計(jì)班車運(yùn)行線路,對(duì)用戶出行的個(gè)性化需求考慮不足,造成了很多“小眾需求”無(wú)法覆蓋。其實(shí),在城市人口不斷膨脹的今天,即使是“小眾需求”在絕對(duì)數(shù)量上也并非小眾。而滿足“小眾需求”的能力,恰恰是班車服務(wù)水平的標(biāo)志。另外,互聯(lián)網(wǎng)班車在運(yùn)行時(shí)間往往嚴(yán)格的遵守“朝九晚五”,未考慮某些用戶經(jīng)常加班的情況,因此也會(huì)流失一部分潛在客戶。
(2)線路站點(diǎn)設(shè)計(jì)粒度太大,沒(méi)有提供精細(xì)點(diǎn)對(duì)點(diǎn)服務(wù)。很多互聯(lián)網(wǎng)班車在設(shè)計(jì)線路時(shí)粒度過(guò)粗,起點(diǎn)和終點(diǎn)覆蓋的范圍太大,造成了用戶乘車的不便,因此流失了部分用戶。例如北京熱門班車線路回龍觀到上地,眾所周知回龍觀和上地是北京兩個(gè)大型的社區(qū),覆蓋面積很廣,很多用戶雖然屬于這一區(qū)域,但距離班車點(diǎn)很遠(yuǎn),自然不會(huì)選擇這一線路。只有做到班車點(diǎn)離用戶的上下班地點(diǎn)都很近,這樣的線路才能受到歡迎。
(3)宣傳效果不理想,用戶參與度很低?;ヂ?lián)網(wǎng)班車雖然依靠互聯(lián)網(wǎng)進(jìn)行日常宣傳和運(yùn)營(yíng),但還是沒(méi)有充分發(fā)揮互聯(lián)網(wǎng)的傳播優(yōu)勢(shì)。班車運(yùn)營(yíng)商制定好線路后,通過(guò)手機(jī)APP發(fā)布路線讓用戶報(bào)名,根據(jù)用戶的報(bào)名情況決定是否開通線路。但由于APP的人群覆蓋率不高,因此這也流失一大部分潛在用戶。而且這些APP大都沒(méi)有社交功能,也沒(méi)有同主流的社交軟件進(jìn)行有效整合,因此即使有好的線路,其社交傳播效率也大大降低。
綜述,互聯(lián)網(wǎng)班車目前未能有效解決用戶乘車痛點(diǎn)的原因,不在于需求不足,而在于缺乏有效的渠道挖掘需求,匹配需求,滿足需求。互聯(lián)網(wǎng)班車要想有效解決用戶的乘車痛點(diǎn),就必須找到一種辦法,準(zhǔn)確地捕獲用戶需求,根據(jù)用戶需求來(lái)個(gè)性化制定合理路線,進(jìn)一步提高服務(wù)的水平,這就是本專利的背景所在。
技術(shù)實(shí)現(xiàn)要素:
本專利正是基于現(xiàn)有技術(shù)的上述情況而提出的,本專利要解決的技術(shù)問(wèn)題是提供一種基于社交網(wǎng)絡(luò)的互聯(lián)網(wǎng)班車路線優(yōu)化方法,以便于準(zhǔn)確發(fā)現(xiàn)和定位互聯(lián)網(wǎng)班車潛在的用戶需求。
為了解決上述問(wèn)題,本專利提供了:
一種互聯(lián)網(wǎng)班車路線優(yōu)化方法,所述方法包括:
步驟一,社交軟件數(shù)據(jù)采集步驟,所述社交軟件數(shù)據(jù)采集包括獲取社交軟件的信息數(shù)據(jù),并從中采集到與班車線路有關(guān)的信息。在本步驟中,通過(guò)設(shè)置抓取條件的方式從獲取所述社交軟件提供的開放接口,抓取發(fā)布的微博中的相關(guān)信息數(shù)據(jù);所述條件包括地理位置信息、時(shí)間信息、朋友關(guān)聯(lián)關(guān)系。比如,在地理位置信息中,可以設(shè)置北京;抓取的數(shù)據(jù)的時(shí)間信息中,抓取的數(shù)據(jù)量至少為一個(gè)月,并可以不斷地實(shí)時(shí)抓取并更新。
步驟二、對(duì)所述數(shù)據(jù)采集步驟采集到的數(shù)據(jù)進(jìn)行挖掘,得到用戶不同出行時(shí)段的OD點(diǎn)(起終點(diǎn))。在本步驟中,利用K-means聚類算法對(duì)所述采集到的所述相關(guān)信息數(shù)據(jù)進(jìn)行挖掘;在本步驟中將采集到所述數(shù)據(jù)中的的第i個(gè)數(shù)據(jù)定義為向量:xi=(xi1,xi2,xi3),其中xi表示向量,xi1表示第i個(gè)點(diǎn)的經(jīng)度,xi2表示第i個(gè)點(diǎn)的緯度,xi3表示第i個(gè)點(diǎn)的時(shí)間;在計(jì)算地點(diǎn)聚類中心之前先利用時(shí)間進(jìn)行分類,根據(jù)所述社交軟件的發(fā)布時(shí)間xi3將數(shù)據(jù)集分割為上班集與下班集;當(dāng)xi3∈(5,9)時(shí),將xi點(diǎn)放進(jìn)上班集進(jìn)行地點(diǎn)聚類,當(dāng)xi3∈(16,20)時(shí),將xi點(diǎn)放進(jìn)下班集中進(jìn)行地點(diǎn)聚類,其余數(shù)據(jù)點(diǎn)視為無(wú)效點(diǎn)被過(guò)濾掉;這一步實(shí)現(xiàn)了初步的數(shù)據(jù)過(guò)濾與分類,有利于后續(xù)步驟的聚類;然后進(jìn)行第一次地點(diǎn)聚類,分別在上班集和下班集中各選出3個(gè)點(diǎn)作為備選點(diǎn),即確定聚類中心數(shù)k=3;先定義上班集的第k個(gè)地點(diǎn)聚類中心為:
其中,分配系數(shù)該公式的意義是將參與了第k個(gè)上班集地點(diǎn)聚類的點(diǎn)的經(jīng)緯度計(jì)算平均值,計(jì)算出的經(jīng)緯度作為第k個(gè)上班集的聚類中心的坐標(biāo);所述n為所采集的有效數(shù)據(jù)點(diǎn)的個(gè)數(shù);
定義第i個(gè)點(diǎn)xi與第k個(gè)聚類中心μk之間的距離為:
Dik=(xi-μk)T(xi-μk)
則所述第一次地點(diǎn)聚類的計(jì)算步驟包括上班集聚類和下班集聚類,所述上上班集聚類包括:(1)先隨機(jī)初始化聚類均值μ1、μ2、μ3;(2)對(duì)每個(gè)點(diǎn)xi都找到使Dik最小的k,將i點(diǎn)聚到該中心,并設(shè)置該分配系數(shù)zik=1:(3)如果所有的zik與上一次迭代沒(méi)有變化,則停止聚類,輸出μ1、μ2、μ3;(4)否則按照①式更新μ1、μ2、μ3;用與所述上班集聚類同樣的辦法可以得到下班集的三個(gè)聚類中心ρ1、ρ2、ρ3;
步驟三、目標(biāo)用戶關(guān)系挖掘,在找到目標(biāo)用戶之后,根據(jù)其微博的朋友關(guān)系,尋找與其出行規(guī)律相似的用戶,從而進(jìn)一步擴(kuò)大目標(biāo)用戶的范圍。遍歷目標(biāo)用戶的朋友圈關(guān)系,找出滿足預(yù)定條件的所有重點(diǎn)朋友,然后計(jì)算出每一個(gè)朋友s的上班集聚類中心μs=(μ1、μ2、μ3)和下班集聚類中心ρs=(ρ1、ρ2、ρ3);然后余弦相似度可以定義上班集線路相似度計(jì)算每一個(gè)重點(diǎn)朋友s與目標(biāo)用戶d(μd、ρd)的線路相似度:
所述cosθ為閾值,如果cosθ大于預(yù)定的數(shù)值,則認(rèn)為朋友s和目標(biāo)用戶d的線路相似,將所有相似的朋友放進(jìn)一個(gè)新的集合中,進(jìn)行第四步的二次聚類;
步驟四、對(duì)目標(biāo)用戶群體進(jìn)行聚類,得到用戶群最終的聚類中心(μk,ρk),此值即可作為互聯(lián)網(wǎng)班車線路的OD點(diǎn)。在本步驟中,利用K-means聚類算法對(duì)所述采集到的所述相關(guān)信息數(shù)據(jù)進(jìn)行挖掘;將步驟三得到的用戶群的(μ、ρ)按照上班集與下班集分為兩個(gè)集合,分別計(jì)算兩個(gè)聚類點(diǎn);由于經(jīng)過(guò)步驟三的相似度判斷,所以在本步驟中設(shè)定聚類中心數(shù)為1,設(shè)μ=(μ1,μ2,...,μ3n),當(dāng)k=1時(shí),根據(jù)步驟二的公式可以推出最終的上班集聚類中心為:
同理可以算出下班集聚類中心為:
最終得到第k個(gè)用戶群的OD點(diǎn)為(μk,ρk),以根據(jù)這個(gè)點(diǎn)來(lái)增設(shè)互聯(lián)網(wǎng)班車線路。
本發(fā)明的優(yōu)點(diǎn)在于:
1、本發(fā)明基于社交網(wǎng)絡(luò),利用社交網(wǎng)絡(luò)中的海量數(shù)據(jù)挖掘潛在的目標(biāo)用戶,尋找符合用戶需求的班車路線并推送給用戶,這種主動(dòng)貼近用戶的行為,比單純依靠乘客報(bào)名的被動(dòng)方法,能夠更有效地挖掘潛在用戶以及解決用戶乘車痛點(diǎn),同時(shí)用戶體驗(yàn)更好。
2、社交網(wǎng)絡(luò)可以提供豐富的用戶背景信息:如用戶工作、生活的地點(diǎn),上下班的時(shí)間,甚至包括用戶的喜好等等。根據(jù)這些信息,我們可以幫助用戶訂制更符合用戶實(shí)際需求的個(gè)性化出行方案,易于被用戶接受。
附圖說(shuō)明
圖1為本發(fā)明具體實(shí)施方式中一種基于社交網(wǎng)絡(luò)的互聯(lián)網(wǎng)班車線路優(yōu)化方法的原理圖;
圖2為本發(fā)明所述的基于社交網(wǎng)絡(luò)的互聯(lián)網(wǎng)班車線路優(yōu)選方法的流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本專利的具體實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。需要指出的是,該具體實(shí)施方式僅僅是對(duì)本專利優(yōu)選技術(shù)方案的舉例。并不能理解為對(duì)本專利保護(hù)范圍的限制。其目的在于對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說(shuō)明,以令本領(lǐng)域技術(shù)人員參照說(shuō)明書能夠據(jù)以實(shí)施。
如圖1、圖2所示。本具體實(shí)施方式提供了一種基于社交網(wǎng)絡(luò)的互聯(lián)網(wǎng)班車線路優(yōu)化方法,所述方法包括如下步驟:
步驟一,社交軟件數(shù)據(jù)采集步驟,所述社交軟件數(shù)據(jù)采集包括獲取社交軟件的信息數(shù)據(jù),并從中采集到與班車線路有關(guān)的信息。
在本步驟中,以微博數(shù)據(jù)為例,可以利用微博提供的開放接口抓取發(fā)布的微博中的相關(guān)信息數(shù)據(jù)??梢酝ㄟ^(guò)設(shè)置抓取條件的方式來(lái)獲取上述數(shù)據(jù),所述條件包括地理位置信息、時(shí)間信息、朋友關(guān)聯(lián)關(guān)系等。
比如,在地理位置信息中,可以設(shè)置北京;抓取的數(shù)據(jù)的時(shí)間信息中,抓取的數(shù)據(jù)量至少為一個(gè)月,并可以不斷地實(shí)時(shí)抓取并更新。
步驟二、對(duì)所述數(shù)據(jù)采集步驟采集到的數(shù)據(jù)進(jìn)行挖掘,得到用戶不同出行時(shí)段的OD點(diǎn)(起終點(diǎn))。
在本步驟中,利用K-means聚類算法對(duì)所述采集到的數(shù)據(jù)進(jìn)行挖掘。所述K-means聚類算法包括:K-means算法是很典型的基于距離的聚類算法,采用距離作為相似性的評(píng)價(jià)指標(biāo),即認(rèn)為兩個(gè)對(duì)象的距離越近,其相似度就越大。該算法認(rèn)為簇是由距離靠近的對(duì)象組成的,因此把得到緊湊且獨(dú)立的簇作為最終目標(biāo)。
k個(gè)初始類聚類中心點(diǎn)的選取對(duì)聚類結(jié)果具有較大的影響,因?yàn)樵谠撍惴ǖ谝徊街惺请S機(jī)的選取任意k個(gè)對(duì)象作為初始聚類的中心,初始地代表一個(gè)簇。該算法在每次迭代中對(duì)數(shù)據(jù)集中剩余的每個(gè)對(duì)象,根據(jù)其與各個(gè)簇中心的距離將每個(gè)對(duì)象重新賦給最近的簇。當(dāng)考察完所有數(shù)據(jù)對(duì)象后,一次迭代運(yùn)算完成,新的聚類中心被計(jì)算出來(lái)。如果在一次迭代前后,距離的值沒(méi)有發(fā)生變化,說(shuō)明算法已經(jīng)收斂。
在本例中,采集到的第i個(gè)數(shù)據(jù)可以定義為向量:xi=(xi1,xi2,xi3)(粗體字母代表向量,下同),其中xi1表示第i個(gè)點(diǎn)的經(jīng)度,xi2表示第i個(gè)點(diǎn)的緯度,xi3表示第i個(gè)點(diǎn)的時(shí)間。在計(jì)算地點(diǎn)聚類中心之前可以先利用時(shí)間進(jìn)行分類,根據(jù)xi3即微博的發(fā)布時(shí)間將數(shù)據(jù)集分割為上班集與下班集??紤]到大部分人的上班時(shí)間集中在5:00~9:00,下班時(shí)間集中在16:00~20:00,所以當(dāng)xi3∈(5,9)時(shí),將xi點(diǎn)放進(jìn)上班集進(jìn)行地點(diǎn)聚類,當(dāng)xi3∈(16,20)時(shí),將xi點(diǎn)放進(jìn)下班集中進(jìn)行地點(diǎn)聚類,其余數(shù)據(jù)點(diǎn)視為無(wú)效點(diǎn)被過(guò)濾掉。這一步實(shí)現(xiàn)了初步的數(shù)據(jù)過(guò)濾與分類,有利于后續(xù)步驟的聚類。
接下來(lái)進(jìn)行第一次地點(diǎn)聚類,分別在上班集和下班集中各選出3個(gè)點(diǎn)作為備選點(diǎn),即確定聚類中心數(shù)k=3。先定義上班集的第k個(gè)地點(diǎn)聚類中心為:
其中,分配系數(shù)該公式的意義是將參與了第k個(gè)上班集地點(diǎn)聚類的點(diǎn)的經(jīng)緯度計(jì)算平均值,計(jì)算出的經(jīng)緯度作為第k個(gè)上班集的聚類中心的坐標(biāo)。
然后定義第i個(gè)點(diǎn)xi與第k個(gè)聚類中心μk之間的距離為:
Dik=(xi-μk)T(xi-μk)
計(jì)算步驟:
(1)先隨機(jī)初始化聚類均值μ1、μ2、μ3;
(2)對(duì)每個(gè)點(diǎn)xi都找到使Dik最小的k,將i點(diǎn)聚到該中心,并設(shè)置該分配系數(shù)zik=1;
(3)如果所有的zik與上一次迭代沒(méi)有變化,則停止聚類,輸出μ1、μ2、μ3;
(4)否則按照①式更新μ1、μ2、μ3;
用同樣的辦法可以得到下班集的三個(gè)聚類中心ρ1、ρ2、ρ3。
用上述k-means聚類算法既可以實(shí)現(xiàn)數(shù)據(jù)篩選的功能,也可以實(shí)現(xiàn)數(shù)據(jù)聚類的功能,將聚類中心數(shù)k設(shè)置為3可以避免離散點(diǎn)對(duì)聚類中心的影響,例如,由于手機(jī)定位精度限制或者如果用戶在逛街時(shí)也發(fā)了幾個(gè)微博,這時(shí)坐標(biāo)就有可能會(huì)極大偏離居住地,所以有必要將聚類中心數(shù)設(shè)置為大于1,而如果k設(shè)置過(guò)大則會(huì)產(chǎn)生過(guò)多的聚類中心,不利于下一步的二次聚類。經(jīng)過(guò)多次試驗(yàn)發(fā)現(xiàn)k取3時(shí)在本專利中比較有效,基于上述第一次聚類的方法有利于挖掘出用戶真正的居住地點(diǎn)與工作地點(diǎn),為下一步的第二次聚類做好了數(shù)據(jù)準(zhǔn)備。
步驟三、目標(biāo)用戶關(guān)系挖掘,在找到目標(biāo)用戶之后,根據(jù)其微博的朋友關(guān)系,尋找與其出行規(guī)律相似的用戶,從而進(jìn)一步擴(kuò)大目標(biāo)用戶的范圍。
由于社交軟件是一個(gè)大的社交媒體,例如微博,本實(shí)施例目標(biāo)用戶在其微博上的朋友,很可能就是他在現(xiàn)實(shí)生活中的親人、朋友、同事,很可能和目標(biāo)用戶具有相似的出行規(guī)律,有條件成為新的目標(biāo)用戶。通過(guò)挖掘目標(biāo)用戶的方式能夠較為快速地確定多個(gè)目標(biāo)用戶,這樣相對(duì)于進(jìn)行海量的計(jì)算來(lái)說(shuō)能夠節(jié)省效率和提高識(shí)別的準(zhǔn)確性。
進(jìn)一步地,由于本實(shí)施例中的目標(biāo)用戶在微博中可能有很多朋友,如果針對(duì)其朋友逐個(gè)分析其出行規(guī)律,同樣會(huì)帶來(lái)大量計(jì)算。因此所以在遍歷其朋友圈時(shí),本實(shí)施例中優(yōu)選地,重點(diǎn)選擇符合如下條件的“重點(diǎn)朋友用戶”的社交軟件數(shù)據(jù)進(jìn)行分析,以提高找到其他目標(biāo)用戶的運(yùn)算效率:條件1,和目標(biāo)用戶是互相關(guān)注關(guān)系;條件2,和目標(biāo)用戶在微博中頻繁互動(dòng);條件3,和目標(biāo)用戶有共同的朋友。以上條件1、條件2、條件3之間可以是和的關(guān)系,也可以是或的關(guān)系,也可以在三個(gè)條件中選擇部分或全部進(jìn)行組合。
遍歷目標(biāo)用戶的朋友圈關(guān)系,找出滿足上述條件的所有重點(diǎn)朋友,然后計(jì)算出每一個(gè)朋友s的上班集聚類中心μs=(μ1、μ2、μ3)和下班集聚類中心ρs=(ρ1、ρ2、ρ3)。然后計(jì)算每一個(gè)重點(diǎn)朋友s與目標(biāo)用戶d(μd、ρd)的線路相似度。由于余弦相似度在分類算法具有運(yùn)算方便、效果明顯的特點(diǎn),所以根據(jù)余弦相似度可以定義上班集線路相似度:
如果cosθ大于某個(gè)閾值(此值可由實(shí)驗(yàn)得到),則認(rèn)為朋友s和目標(biāo)用戶d的線路相似,將所有相似的朋友放進(jìn)一個(gè)新的集合中,進(jìn)行第四步的二次聚類。
步驟四、對(duì)目標(biāo)用戶群體進(jìn)行聚類,得到用戶群最終的聚類中心(μk,ρk),此值即可作為互聯(lián)網(wǎng)班車線路的OD點(diǎn)。
將步驟三得到的用戶群的(μ、ρ)按照上班集與下班集分為兩個(gè)集合,分別計(jì)算兩個(gè)聚類點(diǎn)。由于經(jīng)過(guò)步驟三的相似度判斷,所以該步驟中的數(shù)據(jù)會(huì)較為集中,異常點(diǎn)較少,所以可以降低聚類中心數(shù)為1,從而降低企業(yè)的決策成本。設(shè)μ=(μ1,μ2,...,μ3n),當(dāng)k=1時(shí),根據(jù)步驟二的公式可以推出最終的上班集聚類中心為:
同理可以算出下班集聚類中心為:
最終得到第k個(gè)用戶群的OD點(diǎn)為(μk,ρk),企業(yè)可以根據(jù)這個(gè)點(diǎn)來(lái)增設(shè)互聯(lián)網(wǎng)班車線路。