王心儀,程劍鋒,劉育君
(1.中國鐵道科學研究院 研究生部,北京 100081;2.中國鐵道科學研究院集團有限公司 通信信號研究所,北京 100081)
列車超速防護(ATP,Automatic Train Protection)系統是保障高速鐵路運輸安全的關鍵設備,其安全性和功能性是高速鐵路信號系統列車控制的核心。ATP 車載設備在研發過程中,要進行大量的仿真測試,須先將測試案例按照測試場景進行分類,便于測試人員編寫測試序列,利于后續問題的查找和分析。目前,ATP 車載設備測試案例采用人工分類方式,依靠測試人員的經驗及對案例的理解,使得案例分類具有較大差異。因此,亟需設計一種方法,實現測試案例自動分類,便于測試的流程化作業。
實現測試案例文本分類的核心,在于對文本特征詞的篩選及分類器的選擇。在研究分類的過程中,莊媛等人[1]利用詞頻—逆文檔頻率(TF-IDF,Term Frequency-Inverse Document Frequency)算法計算Web 服務質量受位置、時間等環境因素影響的權重,結合樸素貝葉斯分類器算法,與基于經典假設檢驗的SPRT (Sequential Probability Ratio)方法進行對比,實現了Web 服務質量的有效監控;周小燕[2]考慮了特征受到類內和類間分布的影響,引入集中度和分散度,對TF-IDF 算法進行優化,結合LDA (Latent Dirichlet Allocation)主題模型得到的主題個數及隨機森林函數確定的屬性子集,實現用戶影評的分類;李新琴等人[3]采用ADASYN (Adaptive Synthetic Sampling)數據合成法對鐵路信號道岔設備故障樣本進行處理,選擇TF-IDF 算法實現特征詞提取,集成BiGRU 和BiLSTM 兩個神經網絡,得到故障診斷模型,實現信號設備的故障分類;許麗等人[4]采用向量空間模型對網絡熱點新聞信息進行處理,利用TFIDF 算法,結合樸素貝葉斯分類器,實現根據提案內容推薦熱點信息,但隨著測試樣本的增多,穩定性和準確性都有所降低;王麗等人[5]研究了TF-IDF 和Word2vec 算法提取新聞文本關鍵詞的優缺點,利用KNN (K-Nearest Neighbor)算法,實現新聞數據分類,但不同類別的分類效果差異較大;景麗等人[6]針對特征詞提取不全面等問題,對TF-IDF 算法的特征項分布和位置因素進行了優化,結合帶有注意力機制的LSTM 卷積網絡分類模型,實現了更精確的數據分類,但存在時間復雜度較大的問題。
本文針對鐵路ATP 車載設備測試案例,選擇TFIDF 算法對測試案例文本描述進行預處理和特征詞提取,依據選取的特征詞權重結合樸素貝葉斯算法作為測試案例的分類方法,提高分類效率及準確性。
目前,CTCS-3 (Chinese Train Control System Level 3)級列車運行控制(簡稱:列控)車載系統采用 C2/C3 一體化設計,設備的子系統間為分布式結構[7]。ATP 車載設備主要結構如圖1所示,包括車載安全計算機、人機交互界面(DMI,Driver Machine Interface)、應答器信息傳輸模塊(BTM,Balise Transmission Module)、司法紀錄單元(JRU,Juridical Recording Unit)、軌道電路讀取器(TCR,Track Circuit Reader)等,圖中箭頭表示信息的傳遞方向。ATP 作為CTCS-3 級列控系統的車載關鍵設備及列車自動控制系統的核心[8],能夠將地面軌道電路、應答器、無線閉塞中心 (RBC,Radio Block Center)等傳送來的聯鎖設備信息、線路信息、距離位置信息等轉換為控車數據,生成控車曲線,在列車運行時監控列車運行速度,保障列車的安全間隔,并與車輛系統接口實現信息交互,JRU 通過以太網向動態監測系統(DMS,Dynamic Monitoring System)提供相關車載數據。

圖1 ATP 車載設備主要結構
ATP 車載設備在投入使用前若存在設計問題,極易引發重大事故,造成不可挽回的損失。因此,設備的研發需經歷多場景、多輪次的測試,才能保障其安全性,降低在現場使用時發生故障的概率,確保行車安全。車載設備的測試不僅包括各項設計功能實現程度的檢測,還包括運用過程中出現故障的分析處理。常規的仿真測試主要分為功能性測試和特殊場景下的故障測試。為保障測試的全面性及系統性,需要測試人員根據系統測試需求,規范編寫測試案例。
在遇到系統變更、故障分析等情況時,測試人員可查找現有的測試案例進行驗證和分析。ATP 車載設備功能復雜,測試案例數目較多,依據ATP 的運營場景和功能需求等進行測試案例分類,便于后續分析工作的開展。通常將ATP 車載設備CTCS-3級測試案例按照中國國家鐵路集團有限公司(簡稱:國鐵集團)發布的《CTCS-3 級列控系統測試案例》進行分類,包括制動測試、通信會話管理、控車曲線、應答器鏈接信息處理、無線消息接收、自動過分相、版本檢查、前方軌道空閑(TAF,Track Ahead Free)信息接收和使用、DMI 顯示、緊急停車消息、故障處理等。
在進行測試案例分類前,需要對案例文本進行分詞處理,具體測試案例文本如表1所示。利用Python 中現有的jieba 分詞庫對測試案例文本進行分詞(分詞方法見文獻[4]所述)。將文本進行精確分詞,便于計算機準確獲取文本中的詞語。

表1 測試案例文本示例
在利用TF-IDF 算法獲取特征詞在全部特征詞中的權重值之前,要將利用jieba 分詞處理后的測試案例語句與停用詞庫進行比較,過濾無意義的詞。去掉停用詞后,可在一定程度上降低特征詞的維度,增強分類的確定性。
TF-IDF 算法是篩選文章特征詞的一種方法,該方法可評估前文選取的詞在文檔中是否具有代表性。如果一個詞在本篇文章中出現的頻率很高,在其他文章中出現頻率相對較低,則該詞即為本文的特征詞。上述關系可用公式(1)表示[5]。

其中,TF為進行歸一化后的詞頻,公式為

逆文件頻率IDF表示在詞頻的基礎上,賦予每個特征詞的權重,公式為

貝葉斯算法適用于目標變量個數較多的情況,是表達不確定問題的有效模型之一。樸素貝葉斯算法在給定屬性相互獨立的情況下,簡化了貝葉斯算法的復雜度[9]。本文選擇該算法實現測試案例的分類,即依據算法得到特征詞與預測分類間存在關系概率的大小,選擇測試案例適合的分類。
假設文檔集H中有 |C|個類別,其中,第k個類別表示為Ck(1 ≤k≤|C|);n為特征詞總數;p(ωm|Ck)表示在類別Ck文檔中出現特征詞ωm(1 ≤m≤n)的概率;q為文檔總數;Hi(1 ≤i≤q)表示文檔集H中第i個文檔;ωim表示第i個文檔中第m個特征詞;結合文獻[10]得到樸素貝葉斯算法分類公式為

傳統的樸素貝葉斯分類方法沒有考慮不同類別的特征詞權重不同的情況,本文利用TF-IDF 算法得到的權重對其改進。
為簡化表達式,設變量l=im,對于Hi中的特征詞 ωl,其特征權重計算公式為

根據公式(2)和公式(3)可得到

其中,N(Hi,ωl)表示特征詞 ωl在文檔Hi中出現的次數;t表示全部特征詞在文檔中出現的次數總和;M(Hi,ωl)是Hi中含有該特征詞的文檔數目。因此,文本Hi中的特征詞 ωl的特征權重W(Hi,ωl)為

將公式(7)引入公式(4)可得到加權的樸素貝葉斯算法分類公式為

將篩選出的特征詞及權重帶入公式(8),結合已有的訓練數據,得到優化后的分類結果。
本實驗在Windows 操作平臺下運行,采用 Python編程語言編寫。本文選取了20 個測試案例類型的2001條測試案例,對TF-IDF 加權樸素貝葉斯的分類方法進行驗證,部分測試案例如表2所示。隨機選取1500 條案例作為訓練數據,501 條案例作為驗證數據,訓練樣本與驗證樣本的比例大致為3∶1。

表2 案例類型與文本詳情節選
具體實驗參數設置如下:jieba 分詞處理后文檔選定的特征詞數量topK=300,返回特征詞權重with-Weight=True,特征詞數目選取max_features=300,測試案例比例test_size=0.25。
本文利用jieba 分詞得到的訓練詞庫示例如圖2所示,利用TF-IDF 算法得到的特征詞及其對應的權值示例如圖3所示,選取權值較大的前300 個詞進行貝葉斯分類,得到測試案例的分類結果,測試案例分類流程如圖4所示。

圖2 利用jieba 分詞得到的訓練詞庫示例

圖3 利用TF-IDF 算法得到的特征詞及其對應權值示例

圖4 測試案例分類流程
4.2.1 分類結果分析
本文采用文獻[11]提到的準確率、召回率及F1值作為判斷分類有效性的指標。利用傳統樸素貝葉斯分類方法和TF-TDF 加權的樸素貝葉斯分類方法實現測試分類,其各自結果對應的指標變化如圖5、圖6、圖7所示。
從圖5、圖6、圖7可看出,相比于傳統算法,利用加權后的樸素貝葉斯算法得到的分類效果較好,對應的評價指標總體水平呈現提升的趨勢。如果用人工方式實現上述測試案例的分類,需要近3 天的時間,利用本算法僅需幾秒,從工作時間的對比可看出本算法顯著提高了工作效率。

圖5 準確率指標變化情況

圖6 召回率指標變化情況

圖7 F1 值變化情況
4.2.2 分類指標對比
依據文獻[12]提及的準確度、宏平均及加權平均指標,結合表3得到的結果可發現,在測試案例數目相同的情況下,利用TF-IDF 加權的樸素貝葉斯算法的加權平均值與傳統的樸素貝葉斯算法的加權平均值相比,準確率指標有6%的提升,召回率指標有2%的提升,F1 值有3%的提升。實驗證明了基于TF-IDF 加權的樸素貝葉斯算法分類的有效性與準確性。

表3 分類報告對比
本文以實驗室現有列控車載設備CTCS-3 實際生產數據為測試案例,選擇了基于文本挖掘的測試案例分類方法,利用TF-IDF 算法實現了高速鐵路列控車載設備CTCS-3 級案例中的特征詞及對應權重的篩選,將得到的權重結合樸素貝葉斯算法實現了測試案例自動分類,相比于傳統的人工分類法顯著提高了分類效率及準確性。
實驗結果表明,本文方法可為高速鐵路ATP 車載設備測試人員分類測試案例提供有力支撐,具有很強的實用性。后續將針對樸素貝葉斯分類器性能受屬性關系影響的問題開展進一步的研究。