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