李新琴,馬小寧,王 喆,鄒 丹,楊連報
(1.中國鐵道科學研究院 研究生部, 北京 100081;2.中國鐵道科學研究院集團有限公司 鐵路大數(shù)據(jù)研究與應用創(chuàng)新中心, 北京 100081)
鐵路安監(jiān)人員履職系統(tǒng)中主要包括2部分內(nèi)容。(1)履職項目及計劃。管理人員根據(jù)《管理人員月度安全履職考評表》,在系統(tǒng)中錄入崗位履職項目,根據(jù)履職項目維護每月工作計劃和量化指標。(2)履職寫實。管理人員下現(xiàn)場檢查或者發(fā)現(xiàn)問題時,在系統(tǒng)中選擇對應的工作計劃錄入寫實信息。系統(tǒng)在長期上述工作中積累了大量的人員履職文本數(shù)據(jù),該類數(shù)據(jù)包含了人員實際工作情況,但這些數(shù)據(jù)長期靠人工進行分析,通常由于數(shù)據(jù)量大和人為原因等因素造成數(shù)據(jù)分析不及時、不可靠等問題。使用基于文本挖掘的文本相似度計算技術,自動計算計劃和寫實是否匹配,在以非結(jié)構(gòu)化數(shù)據(jù)為主體的大數(shù)據(jù)時代[1-2]具有重要的研究和實踐意義。
文本相似度計算[3-4]即計算兩個文本之間的相似性,在信息檢索、數(shù)據(jù)挖掘、機器翻譯等領域有廣泛的應用。國內(nèi)外學者對文本相似度計算方法的研究取得了很多成果。主要方法有:基于詞匹配的方法、基于詞向量的方法[5]以及基于神經(jīng)網(wǎng)絡的計算方法[6]。但這些方法都是用于處理通用的自然語言,其數(shù)據(jù)格式及記錄的關鍵要素都不確定。
鐵路安監(jiān)人員履職計劃與寫實數(shù)據(jù)具有相同的關鍵要素,都包括時間、地點、任務等關鍵信息。根據(jù)安監(jiān)人員履職數(shù)據(jù)的特點,本文提出分階段實現(xiàn)人員履職文本相似度的計算方法。首先利用命名實體識別技術抽取數(shù)據(jù)中的命名實體,然后利用概念相似度算法,計算對應實體之間的相似度,根據(jù)計算結(jié)果判斷兩個文本是否相似。
人員履職計劃與寫實相似度計算過程主要包括文本預處理、命名實體識別過程、概念相似度計算過程以及最后的綜合分析過程。整體流程如圖 1 所示。
圖1 文本相似度計算流程圖
將原始人員履職計劃和履職寫實分別按換行和句號分為多個任務,每個任務加清晰的編號。根據(jù)任務記錄的內(nèi)容特點,將提取的命名實體定義為:時間、地點、任務。采用B(開始)、I(內(nèi)部)、O(其他)、E(結(jié)束)、S(單個)的方式標注命名實體。
命名實體識別過程分為模型訓練和模型應用2個步驟。模型訓練采用基于深度學習的雙向長短時記憶(BiLSTM)算法和條件隨機場(CRF)相結(jié)合的BiLSTM-CRF模型,將標注好的語料應用在該模型中,訓練模型,使其達到較高的準確度。模型應用將原始的履職計劃和履職寫實內(nèi)容分別放入訓練好的模型中,模型自動抽取時間、地點、任務關鍵要素,以備概念相似度計算過程中使用。
圖2 概念相似度計算過程示意圖
如圖2所示,概念相似度計算過程主要分為以下3部分。(1)分別計算履職計劃的實體與履職寫實對應實體之間的相似度,得出兩個文本之間的實體相似度。(2)根據(jù)實體的重要程度設置實體相應的權(quán)重。例如,在時間、地點、任務這3個實體中,時間是較為不重要的實體,因為工作計劃通常是月計劃,而工作寫實需要填報每天的工作,所以時間就較不重要;相反,任務和地點是較為重要的概念,所以任務和地點之間匹配相似度高,就基本能認定是相同任務,可以認定該條計劃和寫實相匹配。(3)設定相似度閾值,本文選定閾值為0.8,文本之間的相似度高于0.8就認為是這兩個文本是相似的。
按照上述流程得出兩個文本內(nèi)容是否相似后,就可以對人員履職數(shù)據(jù)進行綜合分析,主要分析人員工作計劃的實際執(zhí)行情況。
命名實體識別是指識別特定意義的文本實體,通常包括名字的人、地方、機構(gòu)等[7]。
有監(jiān)督的深度學習算法一般需要大量的標注數(shù)據(jù)。所以在模型訓練之前,需要標注大量的文本數(shù)據(jù)。數(shù)據(jù)標注的具體流程如下。
(1)根據(jù)分析需求、人員計劃和寫實記錄的文本特征,定義3個命名實體,實體類別如表1所示。
(2) 為區(qū)分一個完整的實體,使用BIOES標記與命名實體定義相結(jié)合來標注數(shù)據(jù)。B、I、E分別代表一個多字符實體的開始、中間部分和結(jié)束;S表示只有一個字符實體;O表示其他字符,而不是定義的實體。例如,一個時間實體第一個字符被標注為B-TIM,其余字符被標記為I-TIM,因為最后一個字符會被程序自動標記為E-TIM。樣本句子的平均長度約為30個字符。
表1 命名實體類別列表
命名實體識別模型由字符嵌入(Word Embedding)層、BiLSTM層以及CRF層組成。整個模型的神經(jīng)網(wǎng)絡框架如圖3所示。模型通過字符嵌入層來構(gòu)建每個句子中中文的特征表示,并將特征表示向量放入到BiLSTM層;在BiLSTM層得到一個字符特征向量的隱藏狀態(tài);在CRF層,對輸入的句子進行最后的預測標簽解碼。整個神經(jīng)網(wǎng)絡利用tensorflow深度學習框架來實現(xiàn)。
圖3 命名實體識別模型框架圖
2.2.1 字符嵌入層
在字符嵌入層中對詞匯進行高維表示,本模型使用了2種方式來表示字符。
(1)利用基于中文wiki語料庫的genism開源庫來表示字符,每個字符用100維的向量表示。
(2)基于結(jié)巴分詞的字典表示字符,經(jīng)過分詞之后的每個字符,如果是由單個字符組成的用0表示,兩個字符組成的用1和3表示,3個字符用1、2、3表示。每個字符用20維向量表示。
將這2種方式的表示結(jié)果都輸入到BiLSTM層。
2.2.2BiLSTM層
長短時記憶網(wǎng)絡(LSTM)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(RNN),可以學習長期的依賴信息,特別是信息間的關聯(lián)。由遺忘門、輸入門和輸出門保護和控制神經(jīng)元。遺忘門控制哪些信息可以摒棄;輸入門控制新的信息哪些需要存儲;輸出門控制哪些信息應該輸出。LSTM網(wǎng)絡部分流程如圖4所示。LSTM單元的具體工作流程如式(1)~(5)所示。
其中:it、ft、ot分別表示t時刻輸入門、遺忘門和輸出門的單元狀態(tài);Ct表示t時刻的神經(jīng)元;xt和ht表示輸入向量和隱藏層在t時刻的向量;σ指sigmoid激活函數(shù);Wi和bi是權(quán)重向量和偏置向量。
BiLSTM即由兩個LSTM組成的網(wǎng)絡,一個LSTM從左往右處理序列,包含了數(shù)據(jù)的過去信息,稱之為前向隱藏層;另一個LSTM從右往左處理數(shù)據(jù),包含數(shù)據(jù)的將來信息,稱之為后向隱藏層。所以BiLSTM的最終隱藏狀態(tài)是前后隱藏層的連接,如式(6)~(8)所示。
2.2.3 CRF層
在最后的預測序列中,考慮標簽之間的相關性是十分必要的,比如在輸入的序列中,I-TIM不可能在I-LOC后面,這些限制信息可以被CRF層在訓練過程中自動學習到。所以,需要在模型中加入CRF層。如果采用識別模型中常用的softmax層來預測最后的標簽,這些約束可能會被破壞。
圖4 長短時記憶網(wǎng)絡部分流程圖
本文使用基于知網(wǎng)的概念相似度方法計算兩個對應命名實體之間的相似度。知網(wǎng)是一個以漢語和英語的詞語所代表的概念為描述對象,以揭示概念與概念之間以及概念所具有的屬性之間的關系為基本內(nèi)容的常識知識庫[8-10]。義原是描述一個概念的最小單位。知網(wǎng)中由義原組成概念,其相似度計算方法是一種基于世界知識的計算方法,是用一系列義原來對每一個概念進行描述。知網(wǎng)采用1500多個義原,將其分為 10 個類別,包括:事件(Event)、實體(entity)、屬性(attribute)、屬性值(aValue)、數(shù)量(quantity)、數(shù)量值(qValue)、次要特征(SecondaryFeature)、語法(syntax)、動態(tài)角色(EventRole)、動態(tài)屬性(EventFeatures),并將這些義原分為4組,包括:基本義原,用來描述單個概念的語義特征;語法義原,用來描述語法特征;關系義原,用于描述概念與概念之間的關系;以及其他義原。
經(jīng)過對文本的命名實體的抽取,抽取到的時間、地點詞語都屬于實詞,但是有些任務實體是短語,所以在知網(wǎng)原始語料中存在不包含該短語或詞語的問題,需要對未登錄詞進行處理,流程如圖5所示。
當計算的詞語或短語不包含在知網(wǎng)的語料庫中,則將未登錄詞進行概念切分,形成多個概念的線性鏈表,并倒排組織,如“信號機”切分完畢后存放成[機]→[信號],通常取最后3個概念,然后將概念列表中的概念按順序合并,兩個概念之間,如果第2個概念是虛詞,則直接取第1個概念,否則兩個概念相加。經(jīng)過未登錄詞處理后的實體都屬于實詞,所以在這只考慮實詞之間的相似度。
計算實詞之間相似度的基本思想是:整體相似要建立在部分相似的基礎上。把一個復雜的整體分解成幾部分,通過計算部分之間的相似度得到整體的相似度。
圖5 未登錄詞處理流程圖
實詞概念的語義表達式分為4個部分:獨立義原描述、關系義原描述、符號義原描述以及其他獨立義原描述,4部分相似度計算方法不同。
獨立義原相似度計算方法如式(9)所示。
其中:Sim1表示獨立義原相似度;S11、S12表示兩個獨立義原;l表示兩個獨立義原在概念層次體系中相等的距離;d1、d2是義原在概念層次體系中的路徑長度。
關系義原、符號義原以及其他獨立義原的相似度計算采用均值計算方法,如式(10)所示。
其中 :n=2,3,4 ;Sim2(S21,S22)、Sim3(S31,S32)、Sim3(S31,S32)分別表示兩個關系義原、符號義原和其他獨立義原的相似度;L2、L3、L4分別表示兩個關系義原、符號義原和其他獨立義原在概念層次體系中的最大長度;i=0,1,…,Ln;j=0,1,…Ln;Simi,j表示第i層的S11和第j層的S12之間的相似度。
其中:n=1,…,4;βn為各義原對應的權(quán)值,由于Sim1到Sim4對概念的重要程度不同,其中獨立義原Sim1反應了一個概念最主要的特征,所以權(quán)值應設置為最大,一般在0.5以上,且有β1+β2+β3+β4=1,β1≥β2≥β3≥β4,本文取β1=0.5,β2=0.2,β3=0.17,β4=0.13。
以某鐵路局2017年7月到2018年1月期間的6萬多條人員履職數(shù)據(jù)作為實驗數(shù)據(jù),對本文的相似度計算方法進行驗證。其中,80%的數(shù)據(jù)作為訓練樣本,20%作為測試樣本。以TensorFlow1.2和Python3.6為開發(fā)工具,采用準確度(Precision)和召回率(Recall)作為算法評價和對比的指標。
其中,Precision計算公式為:
其中:C為樣本的總數(shù);c為類別總數(shù);TPi為被正確分到此類的樣本個數(shù),TNi為被正確識別不在此類的樣本個數(shù),F(xiàn)Pi為被誤分到此類的樣本個數(shù),F(xiàn)Ni為屬于此類但被誤分到其它類的樣本個數(shù)。
采用LSTM-CRF算法抽取人員履職計劃與寫實命名實體,試驗結(jié)果如表2所示,時間、地點、任務3類實體識別準確率都在90%以上。利用概念相似度計算實體之間相似性,判斷人員履職計劃與寫實是否匹配,其結(jié)果如表3所示,匹配結(jié)果準確度為83.45%。
表2 命名實體抽取結(jié)果
表3 人員履職計劃與寫實匹配結(jié)果
本文采用文本挖掘領域經(jīng)典應用場景及技術,分步進行文本相似度計算,實現(xiàn)了對鐵路人員履職行為的初步分析?;诿麑嶓w識別技術將非結(jié)構(gòu)化文本數(shù)據(jù)轉(zhuǎn)為結(jié)構(gòu)化數(shù)據(jù),轉(zhuǎn)化后的結(jié)構(gòu)化數(shù)據(jù)可為該類問題的研究人員提供更多維度的信息。