丁建立,李 洋,王懷超
(中國民航大學 計算機科學與技術學院,天津 300300)
隨著民航領域的快速發展,民航客流量的不斷攀升,不文明旅客的數量也不斷增加,不文明旅客數據庫逐漸形成規模。如何對民航不文明旅客行為進行有效的監控與分析;如何建立一套可量化、可測量的指標體系;通過社會不文明人員與民航不文明旅客進行相似性分析,來預測從事民航活動的社會人員發生不文明行為的潛在程度,對不文明旅客進行有效的監控,便于輔助航空公司對旅客的管理決策和服務政策制定已經成為民航業亟待解決的問題。
目前國內外使用文本挖掘技術對于民航不文明旅客的研究較少,但在犯罪偵查項目中有所應用。亞利桑那州大學和警察機構建立的犯罪偵查項目Coplink和Recap,采用命名實體抽取方法對犯罪敘述報告的實體進行識別。此外運用文本挖掘工程結合犯罪規范詞匯,從犯罪記錄和目擊者的敘述中提取相關實體,通過聚類方法和短文本相似性分析來匹配犯罪過程。目前對于犯罪或者不文明行為的分析主要是通過文本相似性度來進行研究。
為了達到對旅客有效監控的目的,實現對從事民航活動旅客發生不文明行為潛在程度的預測,本文采用相似度匹配算法對不文明人員的民航行為和社會行為進行度量,并將不文明旅客的處罰規則特征引入了計算模型,針對不同行為間的隱式關系進行了挖掘,刻畫不文明人員特征,實現旅客潛在不文明水平的預測,維護航空安全。
目前國內外對文本相似度的研究主要集中在對文本特征題提取和對比分析方面,通過統計文本中的TF-IDF(term frequency-inverse)值構成文本特征向量,并運用卷積神經網絡,和深度學習等方法對文本進行訓練,計算出文本的相似度值。
為了提高文本相似度計算的性能,Tian等[1]提出了具有多種文本特征的句子對匹模型,使用對齊特征(alignment feature)計算句子的語義相似性,但該方法僅考慮了兩個句子間同詞的共現,忽略了文本上下文的聯系產生的影響。武永亮等[2]提出了文本關鍵詞尋優算法,考慮了關鍵詞比例增加的臨界點問題,該算法通過更新類別關鍵詞和控制相似度閾值降低了噪聲文本加入的概率,但在使用TF-IDF值進行關鍵詞提取時,對于非關鍵詞語料的去除,忽略其潛在的語義聯系。Tang 等[3]提出了在文本中加入同義詞林的多粒度計算模型,將同義詞林加入文本共同訓練,但同義詞林的加入會導致計算復雜度的提高,降低效率。Mikolov等[4]在Word2vec的啟發下提出了Paragraph Vector,借助于詞向量方法的成功,對于句子和段落的向量表示工作正嘗試展開,從單詞向量的簡單附加組成到復雜的加權結構[5-10]。通過疊加詞語的詞向量來獲得句子向量對整個句子的語義表達不夠準確。Wieting等[11]用單詞向量平均來學習句子向量,通過監督句子釋義組來更新標準詞向量用于句子訓練,但需要重新訓練大量有標記的數據集。Neculoiu 等[12]通過循環神經網絡結合Siamese模型學習變長文本序列的相似性度量,但仍需大量標注數據。Mrabet 等[13]受DNA序列啟發提出了考慮連續單詞順序性的獨立相似性度量算法,但忽略了共現詞帶來的影響。Alnajran 等[14]提出了一種啟發式驅動預處理方法來增強上下文相似性度量性能。Arora等[15]總結前人經驗提出的一種簡單有效的句子向量表示新方法SIF(smooth inverse frequency)該方法非常適合于域適應設置,即在各種語料庫上訓練的單詞向量可用于計算不同測試平臺中的句子向量。
上述算法的訓練與測試往往是在同源數據中,但面對非同源數據的相似性匹配并不能起到很好的效果。本文對于民航不文明旅客行為分析和研究中需要面臨來自于社會和民航兩部分的非同源數據,兩者數據在構詞結構和語義表達上有一定的不同,并不能直接使用上述算法;其次,對于民航不文明旅客的分析和研究中不能只考慮行為信息。不文明旅客之間存在造成相同結果的顯式關系和不同行為的隱式關系,且不同行為的隱式關系更具有挖掘價值,要考慮不文明旅客的處罰規則和結果在行為匹配中的相互影響,其行為嚴重程度取決于行為信息又受處罰結果的影響。
為了解決上述問題,本文在SIF算法的基礎上提出了對行為特征和處罰特征融合度量的民航不文明旅客聯合相似度匹配(incivilized passenger behavior similar-smooth inverse frequency,IPBS-SIF)算法,面對非同源數據,創新性的將不文明旅客的處罰規則特征引入了計算模型,為處罰規則制定統一量化標準,針對不同行為間的隱式關系進行了挖掘,實現不文明旅客的多粒度聯合相似度分析,并對旅客在發生不文明行為之前的潛在程度進行合理預測。對比實驗數據表明,改進的IPBS-SIF算法在面對非同源數據時有很好的效果,預測準確度有一定提升。實現航空公司對旅客發生不文明行為之前進行有效監控。
SIF算法是一種簡單有效的句子向量表示的新方法:該方法引入了“平滑”概念來計算句子中單詞向量的加權平均值,然后刪除第一個主成分上的平均向量的投影(公共成分去除)。該方法在各種文本相似性任務上表現出比未加權平均值明顯更好的性能,并且在大多數任務中甚至超過了一些經測試的監督方法,包括一些RNN和LSTM模型。該方法非常適合于域適應設置,即在各種語料庫上訓練的單詞向量可用于計算不同測試平臺中的句子向量。生成的句子向量還聯系了語料庫上下文語義,使句子表示更為準確。
核心算法如下
(1)
X←{vs∶s∈S}
(2)
vs←vs-uuTvs
(3)
式中:w代表一個詞,V代表整個語料庫生成的詞的全集,vw代表詞向量,即 {vw∶w∈V};s代表一個句子或段落,S代表數據中所有句子的全集,vs是句子向量,即 {vs∶s∈S}。 其中a為平滑反頻率參數,p(w) 為單詞在整個語料庫中的頻率。為了句子向量和語義空間上下文建立聯系,將所有的句子向量組成矩陣X, 得到X的第一奇異向量u, 對式(1)中的vs進行更新。
SIF算法算法對于文本的向量的表示有著很好的效果,但對不文明旅客的分析研究中,面對非同源數據以及旅客造成相同處罰結果的顯式關系和不同行為的隱式關系時并不能發揮很好的效果,對社會不文明人員和民航不文明旅客的相似度匹配時準確度不夠;其次,不文明旅客行為記錄和處罰結果的數據格式與結構不同,不能直接運用到不文明旅客的匹配與預測中去。因此本文做了如下改進。
在民航不文明旅客的懲處規則中根據其情節嚴重程度分有不同類型的不文明水平,在不文明旅客的分布規律中,旅客數量所占比隨著嚴重程度的提高而下降;在處罰結果中,也有拘留天數,罰款數額的區別,因此需要對處罰規則進行標準化度量。
(1)不同類型的不文明旅客所占比例不同,因此為保證度量的合理性,引入處罰規則概率P
(4)

(2)不同旅客的處罰結果不同,因此引入不文明旅客行為嚴重程度歸標準化矩陣L
(5)
在不文明旅客的處罰結果中,也有拘留天數,罰款數額的區別,因此需要對處罰規則進行標準化度量。其中:Cij為第i種處罰類型j處罰結果,Max(Cij) 為i類型中j處罰結果中的最大值,Max(Cij)+1 保證了Lij的值域屬于 (0,1)。
(3)引入不文明旅客處罰規則的標準化度量矩陣PL
(6)
其中,將處罰規則的概率模型與標準化模型結合起來,形成對不文明旅客處罰規則的標準化度量矩陣PL。PL矩陣的構建使得不同懲處類型與不同懲處結果的不文明旅客有了統一的度量標準,PL值代表著當前不文明行為在懲處規則庫中的行為嚴重程度的衡量。
民航不文明旅客依據其情節嚴重程度劃分共有4個類別:A、B、C、D這4類。旅客的不文明程度隨類別梯度的上升(A→D)而上升。將不文明旅客的處罰數據帶入到式(6)中運算,并得到每一類不文明旅客的平均PL值,結果見表1。

表1 不同不文明水平的平均PL值對比
不文明旅客的average(PL)值見表1,代表著對不同類型的不文明旅客處罰特征統一標準量化后的PL值對比情況,而對于不文明旅客的分布情況如圖1所示,代表著不同類型之間所占比例。由兩圖對比可以看出由于所占比例的大小不同使得不文明旅客的PL值并未跟隨處罰類型梯度上升(A→D)而增加,在實際應用中,為了達到理想預期效果,因此對PL的頻率模型進行更細致的參數尋優。優化后的標準化度量矩陣如式(8)所示。

圖1 不文明旅客類型分布
(4)引入概率模型尋優參數β
(7)
(8)
其中,λ為處罰規則的平滑反頻率,β為反頻率參數,β∈(10-4,100)。β的引入使得每一類的PL值隨處罰梯度上升而增加。本文以ω=2e-5作為步長使β在 (10-4,100) 上尋優,并記錄隨β值的變化各類average(PL)值的變化情況,實驗結果如圖2所示。

圖2 β尋優分布
由圖2可知各類值PL隨著β的增加而上升,且β在(0.025,0.15)之間符合我們的標準,即各類PL值隨處罰梯度的上升(A→D)而上升,本文取β=0.1, 做實驗得到圖3結果,可以看出優化前和優化后的各類PL值對比情況,優化后的PL值隨處罰梯度的上升而增加。

圖3 優化前后平均PL值對比
對于社會不文明人員和民航不文明旅客的行為記錄是文本格式,為將不文明行為記錄進行聯合相似度匹配,本文使用word2vec對文本進行特征提取轉化為文本詞嵌入表示,再通過伴隨平滑反頻率詞向量加權平均獲得文本的句子級向量表示;其次,為減少不文明旅客之間存在造成相同結果的顯式關系和不同行為的隱式關系對預測準確度的影響,本文將標準化度量的處罰特征融入進相似度計算。該多粒度度量算法融合了不文明人員的不文明行為特征和懲處結果的處罰特征,豐富不文明旅客與社會不文明人員的特征表示,使得對不文明人員的定量刻畫更加充分。多粒度度量算法詳細如下所示。
算法1: 多粒度度量算法
輸入:
語料庫詞向量{vw∶w∈V}
不文明行為描述文本庫S{s∈S}
行為處罰規則庫{Ci,Cij∶i,j∈C}
輸出:
行為描述文本向量vs
處罰規則歸一化標準度量PLij
(1)for all s in S do

(3)end for
(4)Form matrixX←{vs∶s∈S},
(5)u=First_singular_vec(X)
(6)for all s in S do
(7)vs←uuTvs
(8)end for
(9)for all i,j in C do

(11)end for
具體步驟為:遍歷不文明行為描述文本庫,通過神經網絡skip-gram模型將語料庫進行特征提取訓練獲得詞向量vw, 通過SIF算法對詞向量加權求和生成句子向量vs, 將所有文本的向量表示組成矩陣X并計算其奇異向量u對vs進行更新;遍歷行為處罰規則庫將不文明人員的懲處結果通過算法生成懲處特征標準度量值PLij, 算法結束。
面對非同源數據,我們以文本特征相似性為主,處罰特征相似性為輔,進行聯合相似度匹配。使用余弦相似度來比較兩個文本向量的相似性。使用改進的反正切函數來比較兩個處罰特征統一度量值的相似性,并為聯合相似度匹配算法設置加權參數α。 聯合相似度算法如下所示
(9)
(10)
sims=α·cos(vi,vj)+(1-α)sim(PLi,PLj)
(11)
約束條件
α>(1-α),α∈(0,1)

聯合相似度匹配算法詳細如下所示。
算法2: 匹配預測算法
輸入:
不文明社會人員信息庫s_courps
不文明旅客信息庫a_courps
輸出:
不文社會人員預測結果
(1)for all s in s_courps do
(2) for all a in a_courps do
(3)sims_list=α·cos(vs,va)+(1-α)sim(PLs,PLa)
(4) end for
(5)sort_select(sims_list,top=1)
(6)end for
具體步驟:遍歷民航數據列表,使得社會數據列表中的每一條數據通過sims()函數與之做聯合相似度計算;通過sort_list()函數排序選擇出最相似的一條,并歸屬到這一類中。該類的不文明等級即為社會不文明人員在民航中的潛在不文明等級。算法結束。
本文實驗是采用中國航空運輸協會公布的2016年-2018年16批民航不文明旅客行為記錄數據;來自于信用中國的民航旅客特定失信人數據2330條;來自于中國裁判文書網、人民檢察院信息公開網、法律圖書館、法律家的裁判文書數據:包括危害國家安全,危害公共安全,侵犯財產,妨害社會管理秩序4大類共12 043條數據。我們把所有數據的80%作為訓練集,20%作為測試集。來源于社會的數據依據其相似性已人工做好標注。民航不文明旅客依據其情節嚴重程度劃分共有4個類別:行政處罰、行政拘留、行政處罰+拘留、刑事拘留,本文將其定義為A、B、C、D這4類。旅客的不文明嚴重程度隨類別梯度的上升 (A→D) 而上升。民航不文明旅客信息樣例見表2,社會不文明人員信息樣例見表3。行為記錄數據多為30-60字符的短文本。

表2 民航不文明旅客行為信息樣例

表3 社會不文明人員信息樣例
正如表2和表3所示的數據樣例,在社會和民航這兩個非同源的領域,對于不文明人員和不文明旅客的行為記錄中,存在著構詞結構和語義上的差別,如民航記錄中中出現的‘航空’、‘航班’、‘乘機’等詞,社會記錄中出現的‘民警’、‘消防’、‘機動車’等詞。這會對兩個非同源數據相似性匹配的準確率產生影響。
本文采用Word2vec的深度神經網絡模型Skip-gram生成詞向量,維數為200,單詞向量的維數較小不能完全表達單詞的語義信息,維數過大導致計算復雜度越大,計算越慢。窗口大小為5,迭代次數選擇50。在IPBS-SIF算法中參數a=10-3,β=0.1,α=0.8。
為了對本文匹配算法進行衡量,通過計算查準率P、召回率R、F1值、準確率A對實驗結果進行度量。在實際的匹配和預測行為中,查準率,召回率,F1值和準確率的定義如下

實驗過程中,使用社會不文明人員數據對民航不文明旅客相似度匹配,并預測其在民航發生不文明行為的潛在程度,通過本文改進的IPBS-SIF聯合相似度匹配算法與Doc2vec算法、詞向量平均算法AverVector、和SIF算法進行實驗,分析算法效率。
4.4.1 算法的查準率、查全率和F1值比較
圖4為4種算法的查準率比較圖,圖5為4種算法的查全率比較圖,圖6為4種算法的F1值比較圖。

圖4 不同算法的查準率比較

圖5 不同算法的查全率比較

圖6 不同算法的F1值比較
圖4,圖5可以看出不同算法之間在查準率和查全率之間的對比曲線。從圖中可以看出無論是查準率還是查全率IPBS-SIF算法都要優于其它算法。在不文明水平A的實驗結果上,Doc2vec算法面對短文本并未發揮出優勢,AverVec、SIF、IPBS-SIF這3種算法的查準率查全率相差不大,查準率和查全率都保持在80%以上,但隨著不文明水平梯度的上升,AverVec、SIF算法性能下降,本文改進的IPBS-SIF算法的效果高出其它算法10%-20%。面對語義差別較大的C類不文明水平的實驗結果,所有算法性能都有下降,但本文設計的IPBS-SIF算法仍能保持查準率在70%以上,查全率在80%以上;綜合兩者的數據觀察圖6中F1值可以看出Doc2vec算法在面對非同源數據,語義相差較大的短文本時未能發揮其優勢,SIF算法和AverVec水平相差不大,但面對非同源數據,效果有時并不理想,隨著不文明水平梯度的上升性能有所下降,本文改進的IPBS-SIF算法將處罰特征納入考慮,彌補了這一缺點,使整體的準確性表現良好,相比其它算法有一定提高。驗證了改進后的算法是可以接受的。
4.4.2 算法準確率和耗時比較
在同一實驗平臺下對相同數據進行實驗,各算法的平均準確率和耗時情況見表4(實驗中采用的平臺為python 3.5集成開發環境,CPU為i5-4200m,內存8 G)。
本文將(A→D)4類的準確率求取平均值來衡量算法的性能。由表4可以看出在4種匹配算法中,在平均準確率上,本文設計的IPBS-SIF算法在準確率上都要高于其它算法,IPBS-SIF算法相比改進之前的SIF算法平均準確率高出約0.136,相比AverVec算法平均準確率高出0.138;在時間性能比較上,Doc2Vec算法的耗時最小,AverVec算法和SIF算法的耗時相當相差不足1 s,IPBS-SIF算法的耗時處于平均水平,是可以被接受的。

表4 不同算法的平均準確率和耗時比較
4.4.3 不同算法相似度匹配結果
在數據中抽取的實驗數據樣例見表5,各算法對社會人員在民航中發生不文明行為潛在程度預測結果見表6。

表5 社會與民航實驗樣例

表6 不同算法的相似度和預測結果比較
表5是在實驗數據中抽取的社會與民航中的實驗樣例,表6為使用不同算法對表5中的數據進行相似度計算以及得到在民航中不文明等級的預測結果。由表5知,面對來自民航和社會的兩非同源數據。具有相同的顯式處罰結果拘留7天罰款1500元,但是對應其不同行為記錄,因非同源數據造成的構詞差別如:民航中的“候機區”、“航空運輸”;社會中的“包房”、“公共安全”等造成不同行為之間的語義差別較大,影響預測準確度。本文設計的聯合相似度匹配算法引入懲處特征彌補了行為記錄語義差別的不足,使算法面對相同結果不同行為的顯隱式關系時仍有良好效果。從表6可以看出IPBS-SIF算法的聯合相似度比其它算法的語義相似度高出0.1-0.2,在預測結果中只有IPBS-SIF預測準確。本文設計的IPBS-SIF算法將處罰特征納入考慮,挖掘了相同結果與不同行為間的隱式關系,彌補了非同源數據構詞不同、語義差別的缺點,使整體的準確性表現良好。
本文通過研究民航不文明旅客的行為信息和懲處規則提出了IPBS-SIF匹配算法,針對不文明旅客之間存在造成相同結果的顯式關系和不同行為的隱式關系,對不文明旅客行為特征分析的同時把處罰規則產生的影響納入考慮。對不文明旅客進行多粒度融合度量。并對社會不文明人員和民航不文明旅客進行聯合相似度匹配,預測其在從事民航活動中發生不文明行為的潛在程度。結果表明IPBS-SIF算法克服了因非同源數據構詞結構不同、語義差別問題所帶來的影響,提高了預測的準確度。為今后民航旅客不文明行為分析與監控提供了新的解決思路。