衡宇峰,李 俊,彭望龍,黃元穩,房冬麗
(1.中國電子科技網絡信息安全有限公司,四川 成都 610000;2.中國電子科技集團公司第三十研究所,四川 成都 610000)
隨著計算機技術應用領域的不斷增大,人們對其要求越來越高,不僅要求處理的準確性,而且要求處理的速度。現今最熱門的計算機技術莫過于人工智能領域技術,其中自然語言處理(Natural Language Processing,NLP)及機器學習技術處于發展浪潮的最前沿,近年來在各個領域呈現爆發式進展,其研究成果應用也涉及各行各業。當然,無論是機器自動翻譯、機器對話、文本智能檢索還是查重系統等應用,最基礎、最核心的思想是通過充足的語料數據對文本進行語義分析。
文本語義分析包括對文本相似度、不一致及沖突內容分析,現今對文本相似度算法的研究已經具備初步成果。徐浩廣、王寧等人在語義信息層面和統計信息層面相似度算法基礎上,提出一種綜合相似度計算算法[1];晉耀紅在語境框架基礎上,設計實現文本相似度算法[2];Mahmood 通過歸納總結大量相關研究算法發現,字符串匹配算法是相似度算法中的一種底層實現算法[3];黃文彬、車尚錕將文本相似度算法分為基于無語義信息、基于淺層語義信息、基于深層語義信息3 個大類,以此區分不同的計算需求與應用場景的差異[4];賈惠娟提出了一種結合編輯距離、改進的空間向量模型、特征詞庫的文本相似度算法模型,提高了相似政務文本檢測的效果和性能[5]。
目前,對于文本語義分析中不一致、沖突內容識別的研究仍然處于萌芽發展階段,一直是當今學者研究的熱點與難點。由于中文表述復雜,同一個詞在不同語境下會表達出不同的語義,不同的語義之間差別巨大,且具有否定詞的存在,導致文本語義不一致、沖突對比難度巨大。目前,主要是利用規則制定、知識推理的方式判斷。本文基于文本語義分析,針對政策法規提出一種文本智能審核方法,并通過實驗證明了此方法的正確性和有效性。
政策法規文本智能審核包括對法規相似度、不一致以及沖突內容的審核。由于法規內容描述一般用語規范、具有一定規律,且組成是結構化或半結構化,當出現法規語義不一致或者沖突描述時,兩個法規往往具有較高的相似度。因此,本次研究所采用的智能審核算法是在法規語義相似度較高的基礎上進行政策法規規則庫的匹配,以此來判斷政策法規的相似項、沖突項和不一致項。
語義相似度指的是文本在中文語境下語義之間的相似或者匹配程度的參數,其計算結果一般位于[0,1]區間。值越接近于1,兩個文本越相似;反之,越不相似。在自然語言處理技術應用領域廣泛的21世紀,相似度算法常被用于機器翻譯、智能查詢、機器自動問答等方面,其計算的準確性直接影響機器處理的結果。目前,對于文本相似度算法,國內外學者已有諸多研究,如表1 所示。

表1 文本相似度算法
本次研究首先選擇目前計算文本相似度的常用算法,即基于向量空間模型的算法。詞向量是將語言中的詞語轉換為數學化的一種方式[8],可以用來表征一個詞語,并且經過多次試驗表明,將詞語轉化到多維向量空間后,兩個向量之間的余弦距離可以表示兩個詞語之間的語義相似度,公式化表達如下:

式中,A 和B 表示對比的兩個詞的向量,SimScore(A,B)表示兩個詞的相似度,Ai表示向量A的分量,Bi表示向量B 的分量,n 表示詞向量的維度,一般取200 維。
前人訓練的詞向量模型所用語料大多來源于百度百科、維基百科、人民日報等互聯網詞庫,涵蓋各個領域,但并不適用于政策法規單一領域,故本次研究選用Word2Vec 模型訓練工具針對政策法規領域文檔進行訓練。
根據得到的詞向量模型進行文本相似度的計算。首先,利用Ansj 中文分詞工具對法條進行分詞,并且對每個詞語進行權重標記。其次,處理法條中的重點詞匯,排除無關停用詞,如“你”“我”“的”等詞匯。根據處理結果,最終相似度值計算步驟如下。
(1)輸入分詞后的法條A 與法條B,計算A句中第1 個詞在B 句中最大的相似值(利用詞向量余弦距離計算),再依次計算第2 個,第3 個,……,累加取算術平均值作為A →B 的單向匹配;
(2)反向依次計算B 句中詞在A 句中最大的相似值,累加取算術平均值作為B →A 的單向匹配;
(3)最后取雙向匹配的算術平均值作為法條A 與法條B 的法條相似度,相似度位于[0,1],具體計算公式為:

式中,SimScorevec(A,B)表示語句A、B 之間的相似度,n 表示語句A 的詞語數量,m 表示語句B的詞語數量,MaxSim(Ai,B)表示語句A 中第i 個詞語在B 句中最大的相似值,MaxSim(Bj,A)表示語句B 中第j 個詞語在A 句中最大的相似值。
經過實驗證明,以上基于詞向量的文本相似度計算不足之處在于并沒有考慮句子中詞與詞的關系,而在中文語法中,句子的句法結構信息對最終的含義影響巨大,所以僅僅選用詞向量的計算方式并不能有效表征文本的相似度值。因此,本次研究在Word2Vec 模型計算詞語的相似度基礎上,使用句法分析工具(HanLp 工具)對語句組成元素進行依存關系分析(Dependency Parsing)[9],進而確定語句的核心關鍵詞語,將句子結構信息添加到計算中。
利用依存結構對中文語句進行相似度計算,步驟如下:
(1)對語句A、B 進行句法結構分析,分析結果parA、parB;
(2)取parA、parB 中的關系對,保存為三元組depA、depB,dep[0]、dep[2]為依存詞語,dep[1]為依存關系;
(3)將語句A、B 依存結構集合SetA、SetB,具有相同依存關系的依存對詞語分別計算詞向量相似度,取算術平均值,最終把相似度最大的一組作為依存對的相似度;
(4)將符合條件的依存對進行相似度計算,并乘以依存關系權重,累加得出兩個語句相似度值,具體計算公式為:

式中,NA表示語句A 中依存對數,NB表示語句B 中依存對數,α 表示依存關系權重,β 表示放大系數,SimScorepar(A,B)表示語句A、B 之間的相似度。
當然,單純使用句子中出現詞語的向量和句法分析進行文本相似度計算雖然簡單,但缺點也比較明顯,如詞序考慮不全、詞向量的區別不明確,因此本次研究繼續使用長短期記憶人工神經網絡(Long Short Term Memory networks,LSTM)模型訓練對句子進行重新表示,并計算相似度。
LSTM 神經單元可以長期保存輸入,可以用來解決傳統的RNN 神經網絡訓練中經常出現的梯度消失問題,其構造的神經網絡模型也被證明比傳統的RNN 模型更加有效[10]。LSTM 模型是通過擴展時間維深度來達到保存時序信息的目的,即可以將中文語句中詞語出現的先后順序信息反映到模型計算中。本次研究參考文獻[11]方法并加之改進,在進行一定量的數據標注后,構造垂直領域政策法規的LSTM 文本相似度計算模型,如圖1 所示。它的訓練語料是經過人工標注過相似標簽,相似度在[0,1]之間的訓練集對(xa,xb,y),訓練得到可以計算相似度得分的神經網絡模型。其中xa、xb為語句的分詞結果向量表示,y 為相似度值。
綜上所述,單一的文本相似度的算法都只能表現文本的某一部分特征,并不能真實反映文本語義相似度。因此,本次研究綜合上述實驗的詞向量、依存句法分析和LSTM 模型相似度算法,最終確定本文結合多特征融合的相似度算法公式為:

圖1 LSTM 語句相似度模型

其中:δ1+δ2+δ3=1,δ1、δ2、δ3位于(0,1)區間。
對政策法規語料進行人工標注后,總結歸納沖突項、不一致項規則,形成政策法規規則庫。大致可以分為數值沖突(日期、年齡大小等)、專有名稱沖突、符號(書名號、頓號等)內容描述不一致等(表2),匹配規則檢測步驟如下:
(1)當兩個法條相似度大于閾值時(根據多次試驗,閾值取0.85)進行沖突項計算,否則計算下一組法條相似度;
(2)匹配規則,利用正則表達式截取沖突關鍵詞語,判斷截取的關鍵詞是否一致或相似度很大,當兩個法條關鍵詞不一致時疑似沖突項,反之不是沖突項;
(3)對檢測出來的沖突項分類保存。

表2 政策法規規則示例
根據訓練得出的詞向量模型、LSTM 模型結合規則庫對政策法規文本進行智能審核。對政策法規進行法條劃分,對劃分好的法條分詞后分別進行詞向量相似度計算、依存句法相似度計算、LSTM 模型相似度計算,綜合得出法條之間的相似度值。當大于閾值時進行規則庫的規則匹配,判斷法條語義是否沖突,將符合要求的結果保存,整體流程如圖2 所示。

圖2 政策法規智能審核程序流程
本次研究所用于訓練的政策法規語料56 347篇,涉及國防、民政、軍事、外交等多個領域,利用人工標注方式構建相似語句對15 646 條,作為神經網絡LSTM 模型訓練語料,沖突、不一致語句對12 528 條,作為規則庫制定語料,對結果測試語料共計35 289 條。
本次研究首先根據語料進行相似度模型的訓練,詞向量訓練使用Word2Vec 工具,LSTM 模型訓練使用TensorFlow 平臺,隨后根據人工標注方式總結歸納不一致、沖突法條規則形成規則庫。
對試驗結果采取兩個評價指標:
(1)準確率:對比正確數與樣本總數比值;
(2)召回率:對比正確數與樣本總正確數比值。
實驗中,取相似度閾值為0.85,放大系數取值為1.5,通過調整相似度算法參數δ1、δ2、δ3的值,不斷優化比對效果,實驗結果如表3 所示。

表3 不同參數設置的實驗結果
從表3 可知,當δ1=0.4,δ2=0.2,δ3=0.4 時,效果表現最好,所以選定δ1=0.4,δ2=0.2,δ3=0.4 作為本文相似度算法的最終參數,應用到本系統中進行政策法規的智能審核。
采用真實政策法規文本進行測試,效果如圖3 ~圖5 所示。可見,應用此方法對政策法規進行智能審核準確度較高。

圖3 法條年齡數值描述沖突

圖4 法條專有名稱描述沖突

圖5 法條符號內容描述不一致
本文分析了現有文本相似度計算方法,最終選擇綜合詞向量、依存句法分析、深度神經網絡LSTM 模型3 種算法的多特征融合算法,并結合政策法規規則庫進行政策法規智能審核對比。通過實驗測試結果證明,本文利用相似度算法結合規則庫的方式進行文本語義對比是一種行之有效的方法,基本可以滿足特定領域文本語義對比檢測的工程化實施。
目前,總結的政策法規規則并不能囊括全部領域,但是所采用的原理不僅僅局限于政策法規,還可以擴展到其他領域,如經濟、文學領域等。隨著人工智能技術的不斷發展,后續結合知識圖譜技術構建知識體系進行知識推理,可以不斷完善文本語義對比的設計與實施。