劉 奕,何成艷,劉陵軼,鄒 福,歐進永,楊 洪
(貴州電網有限責任公司輸電運行檢修分公司, 貴州 貴陽 550002)
在企業實際安監工作中, 新進安監員工的安監工作經驗較少, 處理新發現的安全生產風險問題時往往需要從歷史問題數據中尋找類似問題, 并借鑒其處理方法。 由于安監人員的工作經驗與職業素養的差異性, 不同安監人員對于同一安全生產風險問題的問題描述并不一致, 導致對安全生產風險問題類似問題的查詢、 匹配困難。 因此, 研究一種準確、 快速的企業安全生產風險問題匹配算法, 對推動企業安監數據有效管控與利用, 及時、 妥善地處理安全生產風險問題, 維護和保障企業安全生產具有重要意義。
在現有問題描述匹配算法中, 傳統方法采用字節模糊匹配技術, 該技術通過比對各問題描述中的單詞字節重復情況來實現問題匹配。 該方法在相似度計算中并未考慮詞性特征, 在進行同義詞、 近義詞的相似度計算時將發生嚴重偏差。 近年來, 隨著機器學習技術的進一步發展, 自然語義處理技術中出現了分布式詞向量來表達單詞詞義, 為考慮詞義的問題匹配算法提供實現可能。 在基于分布式詞向量的問題匹配算法中, 利用機器學習技術處理大樣本文本數據, 獲取含有對應語義的分布式詞向量,在詞向量的基礎上進行相似度計算。 這種方法在相似度計算中考慮了單詞詞義, 但并未對企業安全風險問題描述進行關鍵詞提取, 在相似度計算中受到具體詳細問題描述的噪聲影響, 導致匹配結果的穩定性失真。
本文在基于分布式詞向量問題匹配算法的基礎上, 針對企業安全生產風險問題描述中含有的具體部門、 具體人員以及其他描述等噪聲, 建立特征詞庫與過濾詞庫, 分別對企業歷史安監問題描述、 新發現安監問題描述進行噪聲過濾, 結合分布式詞向量進行基于詞義的相似度計算, 實現企業安全生產風險問題的精確匹配。
分詞是指將安監問題描述由句子分為獨立單詞的集合, 是基于自然語義處理問題匹配算法的運算基礎。 由于中文與英文分詞方法的不同, 中文沒有明顯的分割符號作為分詞依據, 其分詞算法難度與復雜度更高。 現有的中文分詞方法主要有基于匹配、 基于概率以及基于語義的3 種分詞方法, 本文主要對基于最大匹配的中文分詞方法原理[1-2]進行分析研究。
第2 頁圖1 為基于最大匹配的中文分詞算法示意圖。 由圖1 可知, 其示意分詞語句為“ 企業安監問題的智能匹配算法”、 分詞最大長度設置為4。 首先, 按照分詞最大長度從分詞輸入語句中從左至右截取子語義。 其次, 在詞典中查找子語義是否存在, 若存在, 則子語句作為分詞結果中的一個獨立單詞; 若不存在, 則子語句長度減1, 構造新的子語句在詞典中查找, 重復上述過程直至查找成功。子語句在詞典中存在作為獨立分詞后, 以子語句后1位字符為起點, 重新按照分詞最大長度從分詞輸入語句截取子語義進行迭代分詞, 直至分詞輸入語句循環介紹, 即可得到輸入語句的分詞結果。

圖1 基于最大匹配的中文分詞算法示意圖
詞典是各種中文分詞方法的基礎, 詞典的完善程度是分詞結果質量的決定性因素。 當詞典中存在缺失時, 基于最大匹配的中文分詞方法中, 子語句長度為1 時仍未在詞典中找到對應單詞, 將會在分詞結果中出現大量未定義詞。 因此, 分詞詞典往往采用互聯網中較為完善的中文詞典, 本文采用的是jieba 中文詞典進行中文分詞。
詞頻是指各單詞在數據集文本中出現的次數,一定程度上可表征單詞對其所在句子的特征貢獻程度。 通常來說, 高詞頻單詞對句子的特征貢獻度較小, 可將該單詞視為通用單詞。 當企業安全生產風險問題描述較為具體時, 對應的描述語句中可能存在較大的通用單詞, 在句子相識度計算中, 大量的通用單詞相似將會降低句子特征詞在相識度計算中的貢獻權重, 這樣會導致相識度計算結果失真。 因此, 本文在相似度計算前基于詞頻統計與人工判別結合的方式, 建立特征詞庫與過濾詞庫對安全生產風險問題描述進行特征提取以及噪聲過濾, 具體算法流程如下。
1) 通過中文分詞模型或現有分詞工具, 將歷史安監問題數據集由句子拆分為獨立單詞, 并統計各單詞的出現次數。
2) 按出現次數將單詞從大到小進行排序, 將詞序中前40%的單詞視為通用詞匯, 后5%的單詞視為罕見詞匯, 其余單詞視為混合詞集。
3) 由于混合詞集中含有部分問題部門、 問題人員以及其他描述詞頻不高的噪聲單詞, 無法單獨通過詞評進行判斷, 可采用具有豐富工作經驗的安監專家進行人工干預, 將混合詞集進一步分為特征詞與通用詞。
4) 特征詞構建特征詞庫, 通用詞與罕見詞構建過濾詞庫。
上文中特征詞庫用于歷史安全生產風險問題描述特征詞提取, 過濾詞庫用于新的安全生產風險問題描述噪聲過濾, 保證在相似度計算過程中僅特征詞、 關鍵詞參與計算, 實現相似度計算結果的穩定性提高。
在自然語義處理中, 計算機并不能直接識別和運用中文詞匯或英文單詞, 需要將中文詞匯或英文單詞轉換為詞向量供計算機計算使用。 目前, 詞向量表示方式大致分為獨熱表示(one hot representation)和分布式表示(distributional representation)2 種,其中one hot 詞向量是一種維數和詞典單詞個數相同的二進制向量, 向量中單詞在詞典中對應位置取1, 其余位置取0。 因此, one hot 詞向量并不能表示單詞的詞義, 在計算同義詞、 近義詞的相似度時并不符合預期。
隨著深度學習技術的發展, 分布式詞向量得到了更為廣泛的應用, 分布式詞向量本質上是希望通過更少維度去表示單詞的連續型向量。 大樣本文本進行神經網絡技術學習后, 得到的分布式詞向量存在在多維空間內同義詞、 近義詞聚集, 反義詞、 無關詞遠離的特點, 一定程度上可以表征單詞詞義[3-4]。因此, 本文采用分布式詞向量作為相似度計算的基礎數據, 以余弦相似度作為相似度計算方法[5], 余弦相似度計算公式如下
式中: β1、 β2為相似度檢測兩語句對應的詞向量累加和。 基于余弦相似度算法, 依次計算企業新發現安監問題分布式詞向量之和與歷史問題描述句向量數據庫中各詞向量之和的相似度, 將相似度最高的句向量對應的歷史問題作為匹配問題。
為驗證本文算法的實際應用效果, 以某企業2016—2021 年的安全生產風險問題數據進行實驗。以2016—2020 年共計850 條問題描述作為歷史數據, 以2021 年共計163 條數據作為新發現的安全生產風險問題進行匹配。 先通過具有豐富工作經驗的安監專家人工判別最相識問題作為正確匹配值,再分別對字節模糊匹配法、 分布式詞向量匹配法以及本文方法進行對比實驗。 表1 為3 種匹配方法匹配結果對比。

表1 3 種匹配方法匹配結果對比
表1 統計了3 種匹配方法匹配正確和相似度前五含有正確匹配的個數。 由表1 可知, 本文方法在匹配正確率上對于字節模糊匹配法、 分布式詞向量匹配法具有較大提升。
本文針對現有安全生產風險問題匹配技術計算相似度時, 無法考慮詞義或避免描述噪聲影響的問題, 通過詞頻統計和人工判斷相結合的方式, 建立特征詞庫與過濾詞庫, 并基于詞庫對安全生產風險問題描述進行特征提取以及噪聲過濾, 結合分布式詞向量進行基于詞義的相似度計算, 實現企業安全生產風險問題的精確匹配。 實驗證明, 本文方法在匹配正確率較傳統方法有極大提升, 具有較強的應用價值。