劉 新,呂 峰,孫玉明,李福順
(1.中國鐵道科學(xué)研究院集團有限公司 運輸及經(jīng)濟研究所,北京 100081;2.中國國家鐵路集團有限公司 安全監(jiān)督管理局,北京 100844;3.中國國家鐵路集團有限公司 科技與信息化部,北京 100844;4.中國鐵路北京局集團有限公司 豐臺機務(wù)段,北京 100070)
安全是鐵路的生命線,但是鐵路作為一個復(fù)雜的巨型系統(tǒng),在某種程度上,鐵路交通事故是鐵路運輸生產(chǎn)的必然附帶品。因此,當事故發(fā)生時,及時、準確地對事故進行分析和判斷,明確事故原因和責任,以便為事故預(yù)防提供決策支持,是一項重要的安全管理工作。其中,對于違章導(dǎo)致的事故,明確其違反的具體規(guī)章和條款是鐵路交通事故分析中的重要一環(huán),目前,這項工作主要由人工完成。由于技術(shù)規(guī)章繁多,并且涉及眾多不同的專業(yè),對事故調(diào)查人員及時、準確地進行分析判斷提出了不小的挑戰(zhàn)。
近年來,大數(shù)據(jù)、自然語言處理等技術(shù)在鐵路安全領(lǐng)域的研究和應(yīng)用越來越得到重視,王同軍[1]認為安全大數(shù)據(jù)是鐵路大數(shù)據(jù)應(yīng)用的一個重要方面;鄒丹等人[2]、宋修德等人[3]探討了大數(shù)據(jù)平臺的設(shè)計和應(yīng)用;寧勇[4]研究了基于大數(shù)據(jù)的安全預(yù)警方法;楊連報等人[5]研究了利用文本大數(shù)據(jù)分析技術(shù)對事故報告進行文本挖掘,并分析了幾個典型的應(yīng)用場景,但僅限于對事故報告文本所提取信息的分析。
經(jīng)過多年的信息化建設(shè),我國已建成了相對比較完善的鐵路安全監(jiān)督管理信息系統(tǒng)和鐵路技術(shù)規(guī)章管理系統(tǒng),實現(xiàn)了全路交通事故和技術(shù)規(guī)章的電子化管理。因此,將鐵路安全信息與鐵路技術(shù)規(guī)章數(shù)據(jù)進行融合應(yīng)用,借助于大數(shù)據(jù)、自然語言處理等先進技術(shù),對事故概況等安全信息進行智能化的自動分析判斷,在人工輔助下提取相關(guān)技術(shù)規(guī)章條款,實現(xiàn)鐵路安全監(jiān)督管理信息系統(tǒng)與鐵路技術(shù)規(guī)章管理系統(tǒng)的有機融合,有助于提高事故分析的準確性,推動事故調(diào)查手段的智能化。
根據(jù)鐵路交通事故調(diào)查流程,有事故發(fā)生時,列車調(diào)度員要在第一時間填寫《鐵路交通事故(設(shè)備故障)概況表》(安監(jiān)報1)并提報事故發(fā)生地安全監(jiān)察值班人員;安全監(jiān)察值班人員接到安監(jiān)報1或現(xiàn)場事故報告后,要立即填寫《鐵路交通事故基本情況表》(安監(jiān)報3),并向中國國家鐵路集團有限公司(簡稱:國鐵集團)安監(jiān)局值班人員報告[6]。根據(jù)事故等級,由相應(yīng)部門或授權(quán)的相應(yīng)部門組織有關(guān)人員進行事故調(diào)查,厘清事故原因,認定事故責任,總結(jié)事故教訓(xùn);國鐵集團安監(jiān)局和鐵路局集團公司(簡稱:鐵路局)安監(jiān)室需要定期對鐵路交通事故情況進行統(tǒng)計分析。事故報告信息流程如圖1所示。
在事故調(diào)查分析初期,事故概況是分析該事故違反的具體技術(shù)規(guī)章條款的主要依據(jù);但由于事故概況大多只是對事故現(xiàn)象的簡單概括性描述,單從事故概況入手去分析和確定違反的規(guī)章條款,可能性微乎其微。通過對歷史事故報告的數(shù)據(jù)挖掘,可以獲取事故概況與違反的技術(shù)規(guī)章及條款之間的某種關(guān)聯(lián),借助于建立在大數(shù)據(jù)基礎(chǔ)上的這種關(guān)聯(lián)性,根據(jù)事故概況的文本描述,大概率能夠檢索到相關(guān)的規(guī)章條款,輔之以人工分析和確認,實現(xiàn)對鐵路交通事故進行智能化分析的目標[7]。
在業(yè)務(wù)需求分析的基礎(chǔ)上,設(shè)計開發(fā)鐵路安全信息與技術(shù)規(guī)章協(xié)同分析系統(tǒng),系統(tǒng)功能主要包括事故分析、智能檢索、統(tǒng)計分析及系統(tǒng)管理等。
1.2.1 事故分析
根據(jù)事故概況、基于大數(shù)據(jù)和自然語言處理技術(shù)構(gòu)建的鐵路專業(yè)關(guān)鍵詞庫可自動提取事故特征,智能推薦事故可能違反的技術(shù)規(guī)章條款。同時,用戶可以根據(jù)推薦結(jié)果進行關(guān)鍵詞調(diào)整,或者縮小規(guī)章推薦范圍,以提高推薦準確率。
1.2.2 智能檢索
用戶可輸入任意關(guān)鍵詞或詞組,對技術(shù)規(guī)章庫進行全文檢索,并按與關(guān)鍵詞的關(guān)聯(lián)度對檢索結(jié)果進行排序。系統(tǒng)支持在第一次檢索結(jié)果中進行二次檢索,并可通過設(shè)置特定條件進行高級檢索,提高規(guī)章檢索的準確率。為提高檢索召回率,系統(tǒng)可利用中文分詞算法對用戶輸入的詞組進行分詞處理后再進行全文檢索。
1.2.3 統(tǒng)計分析
包括事故統(tǒng)計和關(guān)聯(lián)分析。事故統(tǒng)計以表格和圖形相結(jié)合的形式,從多個維度對事故發(fā)生情況進行分類展示;關(guān)聯(lián)分析功能則對違反某一規(guī)章或條款的事故數(shù)量進行統(tǒng)計,建立技術(shù)規(guī)章與事故之間的關(guān)聯(lián)關(guān)系,輔助技術(shù)規(guī)章管理人員對技術(shù)規(guī)章的應(yīng)用和適用情況進行分析,以便為技術(shù)規(guī)章的編修、培訓(xùn)等工作提供決策支持。
1.2.4 系統(tǒng)管理
主要包括角色管理、用戶管理和操作日志等功能。系統(tǒng)將所有的功能模塊分解為相對獨立的子功能模塊,可根據(jù)用戶類別的不同設(shè)定不同的角色,并可根據(jù)需要為每個角色賦予不同的權(quán)限(子功能模塊組合);而用戶則與角色綁定,系統(tǒng)管理員可以隨時根據(jù)需要對用戶的角色進行調(diào)整[8]。
(1)采用自然語言處理領(lǐng)域中前沿的機器學(xué)習(xí)模型對海量事故報告進行智能分析,搭建機器學(xué)習(xí)模型,抽取能夠表征事故特征的關(guān)鍵詞并訓(xùn)練機器學(xué)習(xí)模型,以滿足系統(tǒng)自動分析的要求。
(2)搭建事故智能檢索平臺,使用自然語言領(lǐng)域領(lǐng)先的智能語義分析和全文檢索技術(shù),從海量技術(shù)規(guī)章庫中根據(jù)關(guān)鍵詞,智能、快速、準確、高效地檢索出目標規(guī)章及條款。
鐵路安全信息與技術(shù)規(guī)章協(xié)同分析系統(tǒng)的總體架構(gòu)由數(shù)據(jù)接入、數(shù)據(jù)存儲、數(shù)據(jù)分析、數(shù)據(jù)資源管理和接入服務(wù)5層結(jié)構(gòu)組成,如圖2所示。
(1)數(shù)據(jù)接入:系統(tǒng)接入的數(shù)據(jù)主要包括2部分,鐵路安全監(jiān)督管理信息系統(tǒng)的事故信息和鐵路技術(shù)規(guī)章管理系統(tǒng)的技術(shù)規(guī)章數(shù)據(jù)。
(2)數(shù)據(jù)存儲:根據(jù)數(shù)據(jù)量的大小、應(yīng)用方向的不同,將收集來的數(shù)據(jù)以不同的方式進行存儲。例如,大量的離線計算數(shù)據(jù)存儲在HDFS里,緩存數(shù)據(jù)存儲在Redis里,關(guān)系型數(shù)據(jù)存儲在Oracle數(shù)據(jù)庫中[9]。
(3)數(shù)據(jù)分析:對各種數(shù)據(jù)進行預(yù)處理、清洗、加工、學(xué)習(xí)、計算、建模,輸出系統(tǒng)需要的數(shù)據(jù)類型,以及各種模型和接口。
(4)數(shù)據(jù)資源管理:對各種類型的數(shù)據(jù)、計算模型和相應(yīng)的接口進行管理,并生成相應(yīng)的平臺供最外層調(diào)用,包括各種資源的管理、應(yīng)用開發(fā)、開放平臺等。
(5)接入服務(wù):提供相應(yīng)的接口和平臺,供展示和第三方調(diào)用。
(1)標準的鐵路交通事故報告通常包含事故概況、調(diào)查情況、原因分析、定性定責、整改措施等多個部分,根據(jù)對歷史事故報告文本的語義分析和數(shù)據(jù)挖掘,可以提取事故特征及事故違反的具體規(guī)章條款的特征,從而在事故特征與規(guī)章條款特征之間建立關(guān)聯(lián)關(guān)系。對全部歷史事故報告分析完成后,即可初步建立事故特征與規(guī)章條款特征關(guān)聯(lián)庫(簡稱:事故-規(guī)章關(guān)聯(lián)庫),事故特征與規(guī)章條款特征
通常是多對多的關(guān)系。
(2)對于需要分析的事故,系統(tǒng)根據(jù)安監(jiān)報3中的事故概況自動提取事故特征,并根據(jù)事故特征檢索事故-規(guī)章關(guān)聯(lián)庫。如果事故-規(guī)章關(guān)聯(lián)庫中存在與該事故特征相關(guān)聯(lián)的規(guī)章特征,則取回規(guī)章特征,在規(guī)章庫中進行檢索,然后由用戶在檢索返回的規(guī)章條款中確定作為事故原因的1個或多個條款;如果事故-規(guī)章關(guān)聯(lián)庫中沒有與該事故特征相關(guān)聯(lián)的規(guī)章特征,則由用戶根據(jù)經(jīng)驗和專業(yè)知識將事故特征轉(zhuǎn)換為規(guī)章特征并進行規(guī)章檢索。用戶確認后的規(guī)章特征將自動添加到事故-規(guī)章庫中,通過這種方式不斷豐富事故-規(guī)章庫,提高根據(jù)事故概況檢索規(guī)章條款的準確性,事故智能分析流程如圖3所示。
技術(shù)規(guī)章全文檢索采用開源的Elasticsearch搜索引擎。Elasticsearch是一個分布式、高擴展、高實時的搜索與數(shù)據(jù)分析引擎,能夠?qū)崿F(xiàn)接近實時地存儲、搜索和分析海量數(shù)據(jù),對結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)都有著很好的支持,同時,它還有良好的可擴展性,既能夠在筆記本電腦上運行,也可以在承載了 PB 級數(shù)據(jù)的成百上千臺服務(wù)器上運行,能夠根據(jù)業(yè)務(wù)需要進行靈活的部署[10]。技術(shù)規(guī)章的全文檢索可以分為分詞處理和全文檢索2個過程。
(1)分詞處理:系統(tǒng)支持根據(jù)任意關(guān)鍵詞或短語進行規(guī)章檢索,由于對用戶輸入內(nèi)容沒有嚴格的限制,因此輸入的關(guān)鍵詞或短語具有一定的隨意性,未必能夠在技術(shù)規(guī)章中檢索到匹配的條款。為提高檢索的召回率,在檢索開始之前,先對用戶輸入的關(guān)鍵詞或短語進行分詞處理[11-12],分詞的依據(jù)是開源分詞工具附帶的通用中文詞庫和根據(jù)鐵路行業(yè)特點自定義的鐵路專業(yè)詞庫。經(jīng)過多年積累,通用中文詞庫已經(jīng)漸趨完善,提升空間有限;鐵路專業(yè)詞庫則對分詞結(jié)果是否理想起著更大的作用,而它的完善有賴于對大量專業(yè)語料的占有和長期的機器學(xué)習(xí)。
(2)全文檢索:Elasticsearch是面向文檔的(Document Oriented),Elasticsearch中的一條數(shù)據(jù)就是一個文檔,用JSON作為文檔序列化的格式,形式簡潔、清晰易讀,系統(tǒng)默認為其中的每個字段都建立一個倒排索引,因而能夠?qū)崿F(xiàn)對全文的快速檢索[13]。對于檢索結(jié)果,主要依據(jù)詞頻-逆向文檔頻率(TF-IDF)值、關(guān)鍵詞權(quán)重等因素綜合計算文檔與關(guān)鍵詞的相關(guān)性,并按其從高至低顯示。
本文從業(yè)務(wù)需求入手,按照優(yōu)化的業(yè)務(wù)流程進行系統(tǒng)功能設(shè)計,系統(tǒng)架構(gòu)采用分層設(shè)計,開發(fā)語言采用Java,全文檢索功能基于Elasticsearch實現(xiàn)。根據(jù)模擬數(shù)據(jù)測試,鐵路安全信息與技術(shù)規(guī)章協(xié)同分析系統(tǒng)能夠基于事故概況,快速、準確地推薦事故違反的技術(shù)規(guī)章條款,輔助安監(jiān)人員進行事故分析,具有較好的應(yīng)用前景。但要進一步提高事故分析和規(guī)章檢索的精確度,則需要在搜集和積累大量相關(guān)語料及用戶使用行為的基礎(chǔ)上,對模型進行深度優(yōu)化。