張 磊,王 喆
(1.中國(guó)鐵路廣州局集團(tuán)有限公司,廣州 510088;2.中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 鐵路大數(shù)據(jù)研究與應(yīng)用創(chuàng)新中心,北京 100081)
近年來(lái),中國(guó)鐵路快速發(fā)展,鐵路運(yùn)營(yíng)里程不斷增加,行車速度大幅提高,為整個(gè)社會(huì)的快速發(fā)展以及國(guó)民經(jīng)濟(jì)的高速增長(zhǎng)做出了巨大貢獻(xiàn)[1]。為確保鐵路運(yùn)輸生產(chǎn)安全持續(xù)穩(wěn)定,鐵路運(yùn)輸部門不斷創(chuàng)新安全管理思路及方法,如將風(fēng)險(xiǎn)管控與干部履職考核掛鉤,促進(jìn)風(fēng)險(xiǎn)管控措施落實(shí)[2]。但此過(guò)程中產(chǎn)生了大量安全管理信息報(bào)告,這些信息對(duì)于開展鐵路安全大數(shù)據(jù)研究、查找事故發(fā)生規(guī)律有著重要的價(jià)值。
高速鐵路運(yùn)營(yíng)和科研單位已經(jīng)就鐵路文檔報(bào)告數(shù)據(jù)開展了很多探索和分析。如文獻(xiàn)[3]采用主題模型對(duì)高鐵車載設(shè)備故障追蹤表進(jìn)行分析和特征提取,并根據(jù)車載設(shè)備的特點(diǎn)與領(lǐng)域?qū)<抑R(shí)對(duì)車載設(shè)備故障進(jìn)行診斷。文獻(xiàn)[4]對(duì)地鐵施工事故報(bào)告進(jìn)行分詞處理、特征項(xiàng)選擇、規(guī)律識(shí)別,并利用詞云和網(wǎng)絡(luò)結(jié)構(gòu)圖等方法可視化文本挖掘結(jié)果。文獻(xiàn)[5]采用TF-IDF模型實(shí)現(xiàn)鐵路信號(hào)設(shè)備故障文本的特征提取,并基于Voting的方式實(shí)現(xiàn)故障的智能分類。文獻(xiàn)[6]采用基于層疊隱馬爾科夫的分詞算法對(duì)鐵路基礎(chǔ)設(shè)施設(shè)備質(zhì)量問(wèn)題數(shù)據(jù)進(jìn)行分詞處理并統(tǒng)計(jì)詞頻,利用詞云圖展示結(jié)果?,F(xiàn)階段的各項(xiàng)研究中,對(duì)鐵路安全管理報(bào)告型文檔的分析挖掘研究尚不成熟,尤其是對(duì)安全風(fēng)險(xiǎn)庫(kù)、干部履職、安監(jiān)報(bào)和鐵路交通事故故障等信息的特征詞提取研究不多,導(dǎo)致難以查找各安全管理信息報(bào)告之間的相關(guān)性。因此,如何分析和利用此類報(bào)告文檔豐富安全管理專業(yè)詞庫(kù),并結(jié)合事故致因論查找事故發(fā)生規(guī)律有著重要意義。
文章采用卡方檢驗(yàn)提取文本特征詞,并用樸素貝葉斯算法對(duì)文本進(jìn)行分類,提取鐵路安全管理信息報(bào)告文檔的特征詞,為豐富鐵路安全專業(yè)分詞庫(kù)提供一種思路。
文本挖掘技術(shù)本身涉及統(tǒng)計(jì)學(xué)、自然語(yǔ)言學(xué)、機(jī)器學(xué)習(xí)等多個(gè)領(lǐng)域的知識(shí),為研究各類事物及現(xiàn)象提供了新的可能。具體的文本挖掘任務(wù)則包括將文本集分成幾個(gè)主題領(lǐng)域(分類或有監(jiān)督學(xué)習(xí)),依據(jù)樣本間相似度將文本集分成幾組(聚類或無(wú)監(jiān)督學(xué)習(xí)),依照一些搜索準(zhǔn)則搜索合適的文本(文本檢索)[7]。
文本挖掘步驟:(1)從文本集中提取特征,以便研究人員使用統(tǒng)計(jì)方法來(lái)計(jì)算文本。(2)構(gòu)建公式化度量文本間的距離以便顯示文本間的相似度。(3)可使用分類、聚類及多公式化等方法降低編碼特征的維數(shù)。在低維數(shù)空間中可重新考慮聚類等問(wèn)題。
卡方檢驗(yàn)的最基本思想是通過(guò)觀察實(shí)際值與理論值之間的偏差來(lái)確定理論的正確與否[8]。通常假設(shè)這兩個(gè)變量確實(shí)是獨(dú)立的,觀察實(shí)際值A(chǔ)與理論值E之間的偏差程度X2(理論值是“假如兩者獨(dú)立”時(shí)應(yīng)有的值)。若偏差X2足夠小,則認(rèn)為誤差是自然的樣本誤差,此時(shí)就接受原假設(shè);如果偏差足夠大,則認(rèn)為這兩者實(shí)際上是相關(guān)的,此時(shí)就接受備擇假設(shè)??ǚ綑z驗(yàn)的基本公式為:
在文本分類的特征選擇階段,主要關(guān)注單詞t(隨機(jī)變量)和類別c(另一個(gè)隨機(jī)變量)是否相互獨(dú)立。公式中A表示單詞t屬于類別c的文檔頻數(shù),E表示假設(shè)單詞t與類別c無(wú)關(guān)情況下的文檔頻數(shù)。用該方法可以得出單詞同文檔之間的相關(guān)性排序,計(jì)算值越大相關(guān)性越高。
樸素貝葉斯分類屬于一種簡(jiǎn)單的分類算法,其思路是對(duì)于給出的待分類項(xiàng),求解在此項(xiàng)出現(xiàn)的條件下各個(gè)類別出現(xiàn)的概率,概率最大的就認(rèn)為此待分類屬于哪個(gè)類別[9]。正式定義如下:
(1)設(shè)x={a1, a2,…,am}為一個(gè)待分類項(xiàng),而每個(gè)a為x的一個(gè)特征屬性;有類別集合C={y1, y2,…,yn}。
(2)計(jì)算 P(y1|x),P(y2|x)…, P(yn|x)。
(3)如果 P(yk|x) =max{P(y1|x), P(y2|x),…, P(yn|x)},則 x∈ yk。
條件概率計(jì)算可以按照如下步驟進(jìn)行:
(1)找到一個(gè)已知分類的待分類項(xiàng)集合,即訓(xùn)練樣本集。
(2)統(tǒng)計(jì)獲得在各類別下各個(gè)特征屬性的條件概率估計(jì),即:
P(a1|y1), P(a2|y1),…, P(am|y1), P(a1|y2), P(a2|y2),…,P(am|y2),…, P(a1|yn), P(a2|yn),…, P(am|yn),…。
(3)如果每個(gè)特征屬性都是條件獨(dú)立的,則貝葉斯定理具有以下推導(dǎo):
由于分母對(duì)于所有類別都是不變的,因此只需要最大化分子。 又因?yàn)楦魈卣鲗傩允仟?dú)立的,所以有:
樸素貝葉斯可以分為形成訓(xùn)練樣本集合、生成分類器和使用分類器3個(gè)階段。在處理文本分類問(wèn)題時(shí),x是待分類文檔,ai是文檔的特征詞,C是文檔類別集合。樸素貝葉斯通過(guò)計(jì)算文檔中每個(gè)特征詞屬于不同分類的概率,從而得到整篇文檔的分類結(jié)果。
目前,安全管理信息報(bào)告多以Word、Excel格式存儲(chǔ),Word格式文檔又具體分為doc后綴和docx后綴兩種,Excel格式文檔又具體分為xls后綴和xlsx后綴。為便于后續(xù)分詞操作,需要先將兩種文檔轉(zhuǎn)換成TXT文本,字符集編碼采用UTF-8格式。另外,還需要對(duì)轉(zhuǎn)換后的文本進(jìn)行無(wú)效詞去除,比如特殊字符、原文檔中頁(yè)眉頁(yè)腳等內(nèi)容。
對(duì)鐵路專業(yè)的文檔分詞關(guān)鍵是構(gòu)建能夠理解鐵路專業(yè)術(shù)語(yǔ)的鐵路專業(yè)分詞庫(kù)。目前,社會(huì)上公開發(fā)布的專業(yè)分詞庫(kù)多為通用領(lǐng)域的,鐵路行業(yè)本身并沒有發(fā)布滿足鐵路文本挖掘需求的分詞庫(kù)。基于現(xiàn)狀,本文采用基于搜狗提供的交通專業(yè)詞庫(kù)結(jié)合鐵路領(lǐng)域?qū)<掖_認(rèn)后得到的鐵路專業(yè)詞庫(kù),綜合常用詞庫(kù)作為分詞的依據(jù)。
文章采用分詞工具ICTCLAS對(duì)文檔進(jìn)行預(yù)處理,獲得文本資料。分詞后得到的詞組中包含了許多對(duì)分析挖掘無(wú)效的詞匯,比如標(biāo)點(diǎn)符號(hào)、“但是”、“可以”等。本研究選取了較常見的1 893個(gè)詞匯和符號(hào)構(gòu)成的停用詞表作為去除無(wú)效詞的依據(jù)。
分詞結(jié)束后的文檔集形成了M ? N矩陣,其中,M表示文檔集合中文檔的數(shù)量,N表示文檔中包含的詞匯數(shù)量。另外,算法還生成了詞匯編號(hào)表(對(duì)文檔中所有出現(xiàn)的詞匯進(jìn)行順序編號(hào),矩陣中記錄編號(hào)值)、詞匯文檔頻次表(記錄某一詞匯出現(xiàn)在文檔集中多少個(gè)文檔中)以及文檔分類信息表等。生成的矩陣以及信息表是后續(xù)的特征選擇算法和分類算法操作的基礎(chǔ)。本文使用python語(yǔ)言實(shí)現(xiàn)了卡方檢驗(yàn)和樸素貝葉斯算法,采用卡方檢驗(yàn)作為文本特征詞提取的算法,文本分類算法選用的是樸素貝葉斯算法。
某鐵路局集團(tuán)公司積累了2 480份鐵路交通安全事故故障報(bào)告以及安監(jiān)報(bào)信息。我們對(duì)上述報(bào)告文檔進(jìn)行了特征詞提取,并去除“構(gòu)成”、“故障”、“司機(jī)”、“調(diào)度員”等卡方檢驗(yàn)值較高但對(duì)安全管理信息報(bào)告文檔分析無(wú)意義的特征詞,得到了對(duì)應(yīng)該文檔的特征詞及卡方檢驗(yàn)結(jié)果值,示例如表1所示。
卡方檢驗(yàn)值越大則表明該詞匯對(duì)當(dāng)前文檔分類的效果越明顯。在此示例中,我們選取了卡方檢驗(yàn)值最大的前20個(gè)詞匯作為本文檔的特征詞。
安全管理信息報(bào)告主要分為安監(jiān)報(bào)、設(shè)備故障調(diào)查報(bào)告和鐵路交通事故調(diào)查報(bào)告等3類,本文選取了上述文檔中安監(jiān)報(bào)信息報(bào)告70份、設(shè)備故障調(diào)查報(bào)告50份、鐵路交通事故調(diào)查報(bào)告30份,共計(jì)150份文檔進(jìn)行了人工分類,可以計(jì)算得出統(tǒng)計(jì)表1中特征詞在各分類中出現(xiàn)的頻率,如表2所示。
表1 卡方檢驗(yàn)結(jié)果值
表2 文檔分類及詞頻統(tǒng)計(jì)
基于上述特征詞在分類中出現(xiàn)的詞頻及概率,可以通過(guò)樸素貝葉斯算法對(duì)剩余文檔進(jìn)行分類計(jì)算。經(jīng)過(guò)驗(yàn)證,2 330份文檔分類正確為2 003份,準(zhǔn)確率達(dá)到了86%。
本文采用卡方檢驗(yàn)和樸素貝葉斯算法對(duì)鐵路安全管理信息報(bào)告文檔的特征提取,可以較為準(zhǔn)確地獲取文檔的關(guān)鍵詞。但由于訓(xùn)練樣本不足,同時(shí)文本錄入者對(duì)關(guān)鍵詞的習(xí)慣用法略有差別,準(zhǔn)確率有待進(jìn)一步提升。下一步將繼續(xù)優(yōu)化鐵路安全管理信息文檔的挖掘、檢索和應(yīng)用,最大限度地提取非結(jié)構(gòu)化文檔中的重要信息,并充分利用系統(tǒng)工程、事故致因等理論開展安全大數(shù)據(jù)應(yīng)用研究。