都市激情亚洲视频欧美-日韩一级精品视频在线观看视频-国产在线精品一区二区三区在线观看-亚洲日韩国产精品推荐

交通知識圖譜應用 —— 公交出行場景挖掘

引言
 

知識圖譜(Knowledge Graph)以結構化的形式描述客觀世界中概念、實體及其關系,將海量復雜的信息表達成更接近人類認知世界的形式,提供了一種更好地組織、管理和理解互聯網海量信息的能力。知識圖譜以圖(Graph)的方式來展現實體、事件及其之間的關系。知識圖譜存儲和查詢研究如何設計有效的存儲模式支持對大規模圖數據的有效管理,實現對知識圖譜中知識高效查詢。

 

交通作為海量個體在時間與空間維度上的移動現象,本質上是復雜的知識圖譜,深度交叉挖掘每個交通個體在城市空間下的完整出行鏈路與人車路環境及事件建的交叉關系,是精細化開展城市交通治理的前提。人-車-路-空間單元之的關系從一階向多階轉變,關系規模超過百萬億級別,檢索、計算的時空復雜度超過關系數據庫的應對極限。以建立大規模城市交通知識圖譜為例,針對城市人口規模在千萬級別的城市,人與人之間、人與車之間、人與空間單元之間、車與路之間的將超過百萬億級別。

 

 
圖1 交通知識圖譜示意

 

 

當前階段知識圖譜技術已經在社交網絡、人力資源與招聘、金融、保險、零售、廣告、物流、通信、IT、制造業、傳媒、醫療、電子商務和物流等各領域廣泛應用。知識圖譜在交通領域的應用也在同步開展,本文利用圖數據庫Neo4j對深圳市約1000條公交線路,一天工作日的公交刷卡數據進行建模分析,建模規模達到500萬節點,1000萬條邊。研究了交通知識圖譜的建立、挖掘分析、性能參數對比等多方面應用,分析了同乘人員、站點最大客流提取、關聯查詢識別、站點群公交出行量識別等公交出行行為。并在不同的公交出行行為場景分析中對比分析了ORACLE數據庫與Neo4j的查詢分析性能,探索交通知識圖譜的應用。

 

 

01 知識圖譜概述

 
1.1 知識圖譜載體圖數據庫概述
 

知識圖譜是以圖數據庫為載體進行數據模型建立與提取分析,圖數據庫是基于圖形理論實現的一種非關系型數據庫,它的底層數據存儲和與查詢方式都是以圖論為基礎,其中圖論中的基礎元素為節點和節點之間的邊,在圖數據庫中對應的就是節點和關系。圖形數據庫作為一種非關系型數據庫,將結構化數據存儲在網絡(圖)上而不是關系型數據庫中的表,常見的有Neo4j、FlockDB、AllegroGraph、GraphDB、InfiniteGraph、TigerGraph、騰訊星圖等。Neo4j是由Java實現的開源圖數據庫,實現了專業數據庫界別的圖數據模型存儲,并提供完整的數據庫特性,是目前是生產環境中主流的圖數據庫引擎。Neo4j作為高性能的圖引擎,該引擎具有成熟和健壯的數據庫的所有特性。由于開源特性及其豐富的文檔,本文將使用Neo4j構建公交出行圖數據庫場景。

 

 

圖2 Neo4j圖數據庫

 

 
1.2 圖數據庫與關系型數據庫

 

關系型數據庫通過外鍵記錄兩個表或者多個表之間的引用關系,在進行關聯查詢時通過外鍵在主表中尋找對應的主鍵記錄進行數據搜索與匹配計算操作,關聯查詢時將會耗費大量系統計算資源,尤其是在多表關聯查詢場景下查詢效率極低。關系型數據庫中多對多關系需要使用中間表,查詢效率進一步下降。圖數據庫使用圖論存儲節點和節點之間的關系,而每個節點的都包含對應的關系列表,用于存放該節點與其他節點的關系,節點之間的關聯挖掘分析直接基于圖論進行搜索分析,在復雜數據挖掘分析效率上遠高于關系型數據庫。

 

 
圖3 關系型數據庫與Neo4j建庫示意

 

知識圖譜的構建過程就是從不同來源、不同結構的數據中進行知識提取,形成知識存入到知識圖譜,主要針對純文本、結構化數據和半結構化數據進行信息抽取。

 

 
圖4 知識圖譜信息抽取

 

 

02 公交出行場景知識圖譜建立

 
2.1 基礎數據
 

基礎數據為公交線路信息表和公交刷卡記錄表,其中公交線路信息表包含了深圳市約1000條公交線路對應站點數據,字段包括了線路編號、線路方向、線路名稱和站點序號等信息,公交刷卡記錄表記錄了深圳市某個工作日約300萬條刷卡記錄,其中刷卡記錄已經匹配下車站點信息。詳細字段包括了IC卡編號、車輛編號、公交線路編號、上車站點序號、上車站點序號等信息。

 

2.2 建??蚣?/span>

 

根據公交人、車、站點之間的關聯關系,建立如下的公交知識圖譜的框架。

 

 
圖5 公交出行行為場景建??蚣?/h6>

 

其中實體包含:公交車輛、公交站點、公交線路、IC卡(公交出行者)、刷卡記錄;關系包含:公交車輛—公交線路(屬于)、公交線路-公交站點(經過)、IC卡-刷卡出行(出行)、公交站點-刷卡出行(上車)、公交站點-公交站點(相鄰)、刷卡出行-公交站點(下車),場景建模規模達到500萬節點,1000萬條邊。

 

2.3 節點建模

 

將原始數據兩張表轉為圖數據庫對應的節點,其中數據表中的一條記錄對應圖數據庫中的一個節點,整個數據表對應圖數據庫中某一節點集合(標簽)。

 

公交車輛實體:從刷卡記錄表中提取vehicle標簽(去重),單個節點僅包含車輛編號屬性。

 

公交線路實體:從公交線路信息表中提取車輛線路標簽,單個節點包含線路編號、線路名稱、線路方向等屬性。

 

公交站點實體:從公交線路信息表中提取站點標簽,單個節點包含站點編號、站點名稱、站點經緯度等屬性。

 

刷卡記錄實體:從刷卡記錄表中提取刷卡標簽,單個節點包含:刷卡記錄編號、公交IC卡編號兩個屬性。

 

IC卡標簽實體:從公交刷卡記錄表中提取IC卡標簽(去重),單個節點僅包含IC卡編號屬性。

 

2.4 關系建模

 

根據基礎數據中的兩張表處理節點之間的對應關系。

 

公交車輛—>公交線路(屬于關系):從刷卡記錄表中提取公交車輛與公交線路的屬于關系(去重),關系匹配字段為車輛編號—>線路。

 

公交線路—>公交站點(經過關系):從公交線路信息表中描述了每條公交線路經過公交站點的關系,關系匹配字段為線路編號—>站點編號,關系屬性包含站點序號。

 

公交站點—>刷卡記錄(上車關系):從刷卡記錄表中提取公交站點與刷卡記錄的上車關系,匹配字段為站點編號—>乘車記錄編號,關系屬性包含線路編號,上車站點編號,上車時間。

 

刷卡記錄—>公交站點(下車關系):從刷卡記錄表中提取刷卡記錄與公交站點的下車關系,匹配字段為乘車記錄編號—> 站點編號,關系屬性包含線路編號、下車站點序號、下車站點時間。

 

IC卡—>刷卡記錄(出行關系):從刷卡記錄表中提取IC卡與刷卡記錄出行關系,匹配字段為IC卡編號—>IC卡編號。

 

公交站點-公交站點(相鄰):從公交線路信息表中根據經緯度坐標記錄公交站點的之間的相鄰關系,匹配字段為公交站點編號—公交站點編號。

 

 

圖6 公交出行場景知識圖譜搭建

 

 

03 公交出行場景挖掘

 

公交出行場景挖掘涵蓋了同乘人員識別提取、最大公交客流提取識別、線路站點上下車客流提取、公交站點群公交運力挖掘、公交站點群客流挖掘。其中同乘人員識別提取、最大公交客流提取識別、線路站點上下車客流提取為基礎統計挖掘分析,介紹Neo4j圖數據庫在一維數據挖掘分析。公交站點群公交運力挖掘、公交站點群客流挖掘為多維關聯挖掘。

 

 
圖7 公交出行場景挖掘

 

 

3.1 同乘人員識別提取
 

高峰期間的長距離同乘人員識別是常規公交線路優化、定制公交線路開通的重要參考依據。在Neo4j中提取早高峰(7:30-9:00)、長距離(大于10個站)的同乘人員(同一站點上車、同一站點下車)情況,挖掘分析結果如下:

 

 
圖8 同乘人員識別分析結果

 

分析結果表明早高峰乘坐公交長距離出行到科技園站的人較多,同乘達到科技園公交站的公交客流來自西鄉步行街、同仁婦科醫院、龍輝花園、五和中路等公交站點。圖數據庫與傳統關系型數據庫最大差別在于,在同乘識別分析的出行量基礎上可快速定位到每個IC卡出行鏈。

 

3.2 站點間最大公交客流提取

 

站點間最大公交客流提取識別對于挖掘全市公交站點與站點之間的公交客流,對于識別全市公交出行走廊,最大公交站點出行OD挖掘。在Neo4j查詢分析如下。

 

 

 

表1 最大站點客流提取

 

分析結果表明全天大的公交站點間客流主要有上水徑至茵悅之生公交站、東邊至沙元埔公交站、福保派出所至益田村公交站、沙元埔至東邊公交站。

 

3.3 線路站點上下車客流提取

 

線路站點上下車客流提取用于提取分析單條公交線路在途徑各公交站點處的上下車客流,可快速挖挖掘提取公交線路的斷面客流與滿載率識別。在Neo4j中統計單條公交線路沿線公交站點上下車客流分析結果如下。

 

 
圖9 公交線路站點上下車客流提取
 

 

3.4 站點群出行量挖掘

 

面向公交優化分析,公交站點群之間的公交出行量是支撐預約巴士開通與線路優化的重要分析依據。其中公交站點群是指500米范圍內的公交站點間的出行量,其中公交站點群A與B之間的公交線路關聯示意如下,分析站點A與B互相鄰近站點之間的公交出行量是片區公交優化的關鍵。

 

 
圖10 公交站點群出行量分析

 

根據站點之間的鄰近關系,識別提取公交站點群之間的公交出行量,在Neo4j中可直觀快速得到分析結果,以最大公交站點間客流科技園公交站至同仁婦科醫院公交站點分析為例,相互鄰近站點間的公交出行量識別結果如下。

 

 
圖11 公交站點群之間的出行量識別結論

 

3.5 站點群運力挖掘

公交站點群運力挖掘用于統計公交站周邊鄰近站點經過的各條公交線路擁有的車輛數。其中公交站的鄰近是指500米范圍內的公交站點,通過統計公交站點群經過的公交車輛,對于評估以目標公交站點為中心的500米范圍公交站群的運力評估,是片區級公交運力匹配計算的核心。

 

 
圖12 公交站點群公交運力挖掘框架

 

查詢科技園公交站群的公交車輛運力如下。

 

 
圖13 公交站點群公交運力挖掘

 

 

04 圖數據庫查詢性能對比

 

在同樣的計算機硬件環境下對Neo4j和ORACLE數據庫對同樣的數據查詢性能進行對比分析。其中針對簡單一維的數據統計分析,ORACLE查詢性能明顯高于Neo4j圖數據庫,如最大公交站點客流查詢,ORACLE查詢時間為3.21秒,Neo4j查詢時間為25.64秒。針對二維關聯的數據查詢場景中,如站點群運力挖掘場景,其中ORACLE查詢時間為2.41秒,Neo4j查詢時間為0.14 秒,多維關聯查詢中Neo4j性能為ORACLE數據庫的20倍。對Neo4j和ORACLE數據庫在不同關聯維度挖掘查詢性能對比分析如下:

 

 
表2 Neo4j和ORACLE查詢性能對比
 

 

05 結  語

 

本文利用Neo4j圖數據庫建立了公交出行場景的知識圖譜,場景建模規模達到500萬節點,1000萬條邊。在搭建的知識圖譜上挖掘分析了公交典型出行場景中同乘人員識別提取、公交站點群出行量挖掘、公交站點運力挖掘等分析場景。橫向對比了ORACLE數據庫和Neo4j查詢性能,表明Neo4j在多維關聯查詢中的性能要顯著高于ORACLE。本文通過知識圖譜的建立、場景挖掘、查詢性能對比3個角度探索了知識圖譜在交通數據挖掘應用,后續我們將建立更為復雜維度的交通場景,持續開展知識圖譜分析應用。

 

 

撰寫:劉雨婷、屈新明

審核:屈新明

審定:丘建棟

返回列表