白鳳波,常 林,王世凡,李 彬,王穎潔,周 紅,劉 耀
1.中國政法大學 證據科學研究院,北京 100088
2.浙江迪安鑒定科學研究院,杭州 310000
3.中國科學技術大學 軟件學院,江蘇 蘇州 215000
4.大連大學 信息工程學院,遼寧 大連 116622
5.公安部物證鑒定中心,北京 100038
關鍵詞是反映文章中心或主旨思想的一組詞或短語[1],關鍵詞提取作為文本聚類或自然語言處理的關鍵步驟之一,是指采用自動化的技術在文本中提取關鍵詞的過程。關鍵詞提取可以分為有監督提取、半監督提取和無監督提取三類[2],目前普遍采用的是適應性較強的無監督的關鍵詞抽取算法。近年來,研究者們對關鍵詞提取算法開展了大量的研究工作[3]。其中,TF-IDF[4]算法作為一種基于統計學的提取方法,主要通過詞頻計算提取文章中的關鍵詞,但由于對詞頻的過度依賴往往會降低提取的效果。有些研究者在傳統的TF-IDF算法上加入語義、詞頻、詞長、位置等多方面的信息對其進行改進[5-7]。針對TF-IDF算法沒有考慮特征詞在文本集上的分布特征,文獻[8-10]將信息熵、互信息、信息增益等與TF-IDF 進行結合。為彌補數據集偏斜帶來的問題,文獻[11]提出用 Category Term Descriptor(CTD)來改進TF-IDF。還有研究者用特征選擇函數來代替IDF,將傳統的TF-IDF 算法改進成TF 乘以特征選擇函數的形式[12]。基于傳統算法的復雜中文的專業短語抽取的準確程度問題,本文提出一種改進的加權算法(IAKEF)。在我國加強依法治國的方針指引下,人工智能研究特別是自然語言處理與法治社會的結合必將進一步加深。然而,通過對作為最終法庭審判結論的裁判文書進行關鍵詞提取,為審判人員、司法鑒定、律師等司法服務工作者提供正確、全面的參考案例,有效提高工作效率顯得尤為關鍵。
判決文書雖然在詞頻與逆文檔頻率方面與其他文本處理差異很小,其關鍵詞抽取與日常用語中的關鍵詞有所不同。其一,停用詞有所不同。例如,像“本院認為”“裁定”“一審”等在文書中頻繁出現但又無法表達文書主旨內容的詞語,將會成為關鍵詞提取的干擾項。其二,關鍵詞的詞長較長。裁判文書中詞長為四個字以上的詞匯超過四成比例。如圖1 所示,見Word2Vec 抽取的關鍵詞列舉。其三,文本內容分類較細。由于裁判文書的類型有七大類,各類型的文書主題的側重不同,關鍵詞傾向也不同。

圖1 裁判文書的Word2Vec關鍵詞抽取舉例
詞頻(Term Frequency,TF)是指詞語在整個文本中出現的頻率,計算方法是用該詞語在文本中總共出現的次數除以文本中的單詞總數;逆文檔頻率(Inverse Document Frequency,IDF)是用來衡量詞語是否具有文章代表性的評價方法,計算方法為用語料庫中文檔的總數除以出現詞語的文檔數目并取對數。倘若一個詞在某一類中出現的頻率較高,而在其他類中出現的頻率較低,則說明該詞語在此類中具有很強的代表性,其IDF值就高;相反,若一個詞在每個文檔中均有出現,則其文章代表性較低,IDF 值也就低。IDF 因子在一定程度上避免了文章中常用非關鍵詞語成為關鍵詞的可能。
TF-IDF 的主要思想是,用TF 相乘IDF 的結果作為計算詞語的權重,詞語在文章中出現的頻率越高,而包含該詞語的文檔數越少,則認為該詞語的重要性越高。
計算公式如式(1)~式(3)所示:

TF-IDF是一種基于統計特征的傳統的關鍵詞提取算法,算法的性能較好,運算速度快,提取的結果比較符合實際。但是該算法僅僅考慮詞頻方面的因素,沒有考慮詞語出現的位置、詞性、詞長等信息,具有一定的局限性。
針對TF-IDF 算法的缺陷,目前已有一些學者提出了改進的算法,例如 TF-IDF′[7]算法、CTD[11]算法、TFIDF-IGD[10]算法以及融合多特征的TF-IDF-MTF[13]算法,這些算法都在一定程度上提高了權重計算的準確率,但對于裁判文書專業性較強的數據文本來說提取效果不是太好。本文根據裁判文書的特點,結合已改進的TF-IDF算法,提出了一套新的改進方法,對裁判文書的關鍵詞提取收到了良好的效果。
2.2.1 改進的文本預處理
通過Jieba[14]分詞和Ltp[15]分詞技術對文書的文本進行分詞,兩種分詞工具的結合可以進行互補,克服各自的缺點,從而提高了分詞的準確率。同時考慮到本文所用到的數據為判決文書,具有一定的法律專業性。所以,又以“搜狗”這一在線工具為例對其細胞詞庫中關于文書、法律和專有名詞方面的詞庫進行解析,作為自定義字典,加入到Jieba 和Ltp 分詞工具中,進一步提高了分詞的專業性。停用詞字典在第一輪分詞的基礎上進行更新,將出現頻率較高的無效詞逐一加入停用詞詞典,以提高提取關鍵詞的有效率。文本中的同義詞在一定程度上也會影響關鍵詞提取的準確率,例如“審判”和“審訊”作為近義詞,若在提取時單獨對待,可能因為兩者的權重均較低而被忽略,若作為同一個詞進行處理,則能避免這種情況的出現。在預處理階段進行同義詞處理,根據同義詞庫合并文本相似度高的詞語成為了預處理階段重要的一步。改進的文本預處理階段流程,見圖2。

圖2 預處理階段流程
2.2.2 基于語義的改進
傳統的TF-IDF 算法僅僅統計詞頻信息,傾向于頻率較高的詞語,沒有考慮詞語的語義、位置、詞長、詞性等方面的信息,而這些因素都會影響詞語在文章中的表示意義,使得提取了一些頻率較高但與主題無關的關鍵詞。裁判文書作為一種特殊的法律文本,文書的標題在一定程度上可以很好地概述全文的內容,這也說明了不同位置的詞語代表文本內容的重要性程度不同。
針對以上提起的幾方面因素,楊凱艷在文獻[16]中已有探索,本文在其研究的基礎上加以改進,使其在語義上更能符合裁判文書的特點。本文提出將多個影響因素進行特征融合,把得到的融合特征MTF(Multi-Term-Feature)作為乘數因子加入權重計算公式中去,以改善傳統算法在語義方面的不足。融合特征MTF的計算公式如式(4)所示:

(1)詞性因子POS(Part of Speech)
在一個句子中,不同詞性的詞語對句子修飾性不同,所蘊含的信息量不同,也會導致句子的語義不同。本文通過對人工標注的1 000 條判決文書的5 000 個關鍵詞詞性進行分析,結果如圖3所示。

圖3 關鍵詞詞性分布
通過圖2 可知關鍵詞中大約70%的詞語詞性為名詞、動詞、動名詞,詞性為形容詞、副詞的所占比例約為20%,其他詞性所占比例為10%。所以根據詞性的分布不同,應給予詞語不同的權重。本文的詞性因子計算公式如式(5)所示:

(2)詞長因子TL(Term Length)
針對詞長因子,目前常用的兩種評價方法,分別為詞長比例權重法和設置常數法。前者是將詞語的長度與全文中最長詞語長度的比值作為詞長因子,后者則是通過對特定長度的詞語進行人工設置系數來為詞長因子賦值。考慮到裁判文書中詞長作為一項重要因子,對文檔主題的貢獻度較大,本文評價方法采用后者。通過對人工標注的5 000 個關鍵詞詞長進行分析,其分布如圖4所示。
根據實驗數據的百分比,得出的詞長權重系數計算公式如式(6)所示:

圖4 關鍵詞詞長分布

其中li為詞語長度。
(3)詞位置因子WL(Word Location)
判決文書中標題與內容的基本符合率為95%,在文書的首段和結尾位置也往往富含大量有效信息,這些特定的位置關鍵詞出現的概率比較大。通過對詞語的位置信息進行有效標識可以提高關鍵詞的提取效果。本文通過將詞語第一次和最后一次出現位置作為特征對提取算法進行改進。
①預先的標題處理
根據標題與文章內容的長度,通過增加標題在總文本中出現的次數加以改進。計算公式如式(7)所示:

其中,Count(title)為標題重復次數,ceil代表向下取整。
②詞位置因子的處理
能夠總結全文的詞語往往出現在文章的末尾,對整篇文章進行概括;而能夠開門見山、指明文意的詞語出現在開頭的概率更大,起到統領全文的作用;因此詞位置因子的計算公式如式(8)~(10)所示:

其中,FP(T,d)代表詞語的首位置,LP(T,d)代表詞語的末位置,FirstPos(T)是詞語T在文本d中首次出現時已出現的詞語數,LastPos(T)代表詞語T最后一次出現時文章還未出現的詞語數,SumWords(d)是文本d的詞語總數。
(4)詞跨度因子WS(Word Span)
詞跨度代表詞在文本中首次出現的位置與最后一次出現的位置之間的距離,反映了詞在文中的出現范圍。通常來講,詞在文章中出現的范圍越廣,即詞跨度越大,說明該詞越能反映文章的主題[17];相反,詞跨度越小,說明詞語集中在局部出現,不能概括全文的主旨。倘若某詞在局部出現的頻率很大,則會一定程度上影響全文關鍵詞的提取,所以引入詞跨度因子可以較好地避免這一問題。
詞跨度因子主要是過濾某個局部范圍內頻率較高的詞語,計算方法如式(11)所示:

其中,las(T)為詞T在文本d中最后一次出現的序號,fir(T)為詞T在文本d中首次出現的序號,SumWords(d)為文本d分詞后的總詞數。
2.2.3 基于分類內分布的改進
由于裁判文書的類型有刑事判決、民事裁定、行政判決、行政賠償、執行裁定、民事判決、其他類七大類,文書類型的不同會導致文書主題的側重不同,即各種類型文書之間的關鍵詞傾向不同。本文區分了裁判文書的分類,假設文本集合C中共有N種分類,C={C1,C,…,C},類C的文本數為為詞語t在C2niki這一分類出現的頻率[18]。計算公式如式(12)和式(13)所示:

此時分類內離散度Dic如式(13)所示:

其中Dii為詞語tk在類Ci中無偏估計的樣本的方差,如式(14)所示:

對于兩個詞語T1、T2,假設計算時得出的IDF值相等,說明包含兩詞的文檔數是一樣的。而在同一類Ci中,假設詞語T1 普遍出現在類Ci的各項文檔中,而詞語T2 僅出現在類Ci的某幾篇文檔中,此時說明詞語T1 對類Ci更顯著,其成為類Ci文檔中關鍵詞的可能性較大;計算它們的離散度,得到T1 的類內離散度值比T2 的類內離散度值要小,說明類內離散度越低,詞語對應的權重就會越高[5]。
詞語T在各個類中分布不均勻,其在各個類中代表文檔主題的影響力就不同。考慮裁判文書有民事、刑事等七大類,且各類別的裁判文書特點鮮明,本文引入類內離散度,將詞語最能代表那個類別的類內離散度作為該詞語的調整因子,解決類內分布差異問題。離散度D計算方法如式(15)所示:

2.2.4 基于分類間分布的改進
本文中引入信息增益來解決文書分類間的詞語分布的問題。信息增益是一種基于信息論的特征選擇方法[19-20]。信息熵是由美國數學家克勞德·艾爾伍德·香農(Claude Elwood Shannon)提出的對信息的一種度量單位,表示所蘊含信息量的多少;在信息論中,信息熵用于描述信息空間的突發性和不確定性。熵的值越小,表示信息空間概率分布越均勻;條件熵的定義是在給定X的條件下,Y的條件概率分布的熵對X的數學期望,它描述的是觀測某個變量之后信息空間的不確定性程度;信息量被用來度量不確定性的減少程度,因此信息增益代表了所觀測的變量攜帶的信息量。其量化思想為:當詞語在各個類中分布越均勻,說明它對類別的區分能力越弱,即所含的信息量越少,應給予較低的權重,反之亦然。通過把信息增益公式引入到文本集合的類別間,依靠數據集合中類別信息熵和文本類別中詞語條件熵之間信息量的增益關系,來確定該詞語在文本分類中所能提供的信息量,并把這個信息量反映到詞語的權重中[20]。
信息增益計算公式如式(16)所示:

假設文檔結合共有n種類別,E(C)為文檔集合類別C的信息熵,E(C|T)為詞語T對文本集類別的條件熵;P(ci)表示類別ci的概率,P(t)表示詞語T在文檔集合中出現的概率,P(ˉt)表示詞語T不出現的概率,P(ˉt)=1-P(t);每個樣本子集的熵,可以轉化為子集與文本集合類別ci的條件熵,E(C|t)表示詞語T出現時類別集合的條件熵,E(C|ˉt)表示詞條T不出現時類別集合的條件熵;P(ci|t)表示ci類中含有詞語T的文檔數,表示ci類中不含詞語T的文檔數。信息熵、條件熵的計算公式如式(17)~式(20)所示:

2.2.5 基于TextRank的改進
TextRank 算法是利用局部詞匯之間關系(共現窗口)對后續關鍵詞進行排序,用到了詞之間的關聯性,這是其優于TF-IDF的地方,可以彌補傳統的TD-IDF算法僅考慮詞頻的問題,因此本文提出的改進的計算公式如式(21)所示:

本文中?為加權因子。
基于改進的關鍵詞抽取算法,其流程見圖5。

圖5 改進的關鍵詞抽取算法流程圖
步驟1文本預處理,數據清洗、格式標記的去除、中文分詞技術、詞性標注、以及停用詞過濾。
步驟2統計詞語信息,主要包括詞語的詞頻、詞性、長度、出現的文檔數和位置。
步驟3結合信息熵、離散度、融合特征以及TextRank,根據改進的公式計算候選詞的權重。
步驟4將候選詞權重由大到小的順序排序,取前一個詞語作為關鍵詞。
4.1.1 軟件環境
基于Windows 10 操作系統,采用Python 3.5 編譯環境對上述實驗進行驗證實現。主要采用Python 語言中第三方工具對系統數據結構進行設計,以實現大數據存儲和各種操作。其中,第三方工具包含Pyltp0.2.1、Ltp3.4.0、Pandas0.24.2、Jieba0.39、Gensim 3.7.2等。
4.1.2 硬件環境
計算機型號:神舟戰神Z7-i78172S2。
處理器:Intel?Core? i7-4720HQ CPU @ 2.60 GHz。
安裝內存:32.00 GB。
本文實驗數據集是采用由網絡獲取的裁判文書文本數據。數據集共包含1 000 條訓練集,已經人工標注關鍵詞;包含240 000 條記錄作為測試集進行關鍵詞提取。語料集中主要包括刑事判決、民事裁定、行政判決、行政賠償、執行裁定、民事判決、其他類七大類。本文選取已有人工標注的1 000 條文件數據,每個文書選取5個詞語作為關鍵詞(其中包含不少于5 000個的關鍵詞)用于實驗仿真。因為人力和時間有限,盡量較好地保證質量,由專業司法工作專家依照案件的緣由和類別完成少量標注數據。
實驗所用測試集是用來進行關鍵詞提取的驗證與評價。因為測試集包含文本數量較大沒有全部人工標注和評價,實驗抽樣選取其中大約1 000 條文本進行人工標注對比評價和分析,驗證這部分數據的準確率。實驗設計驗證關鍵詞提取準確程度,主要是基于人工標注的1 000 條文書進行的,每篇文書人工標注5 個關鍵詞,算法提取10 個關鍵詞,用F1-Measure 作為評價標準。
為衡量關鍵詞的有效性,本文將算法提取的關鍵詞與人工標注作比較,來判斷提取算法效果的優劣。
4.3.1 實驗數據處理
本文選取人工標注的1 000 條數據作為實驗數據集,其中刑事判決類200 條、民事裁定類200 條、行政判決類200條、行政賠償類50條、執行裁定類200條、民事判決類50條、其他類100條。每條數據已經有人工標注出5個關鍵詞作為實驗結果比較。
4.3.2 實驗步驟
第一步進行文本的預處理:通過對數據進行標題內容合并、分詞、停用詞和同義詞過濾處理,構建候選詞集合。
第二步關鍵詞提取:分別采用傳統TF-IDF 算法、TextRank[21]算法、Word2Vec[22]及改進的算法進行關鍵詞提取,每篇文章標準10 個關鍵詞用于與人工標準的關鍵詞對比。
4.3.3 實驗評價指標
實驗選用準確率P、召回率R、F1-Measure(F1)作為評價指標;準確率P是人工標注的關鍵詞與計算機提取關鍵詞的交集和計算機提取關鍵詞的比率,是用于評價查找準確程度的指標;召回率是用人工標注的關鍵詞與計算機提取關鍵詞的交集和人工標注的關鍵詞的比率,是用于評價查找完全程度的指標;F1 因子是兩者的綜合指標,當F1 因子較高時,則能說明實驗方法比較有效。設算法提取關鍵詞集合為T,人工標注關鍵詞集合為H。P、R、F1 的計算公式如式(22)~(24)所示:

4.3.4 實驗結果分析
按照以上步驟進行關鍵詞提取,將不同算法的各項指標存入表1 中。為了分析單一改進策略對算法評價結果的影響,將逐一排除改進策略的生成的評價指標記入表2 中。不同算法準確率P、召回率R、F1-Measure(F1)評價指標比較如圖6,加權因子與P、R、F1 值對應圖如圖7。

表1 不同算法在判決文書中評價指標

表2 各改進策略單獨排除的評價指標

圖6 不同算法評價指標比較

圖7 加權因子?與P、R、F1 值對應圖
通過圖6 可知,不同算法對各類判決文書的F1 評測進行比較,TextRank 算法相比其他算法來說,在各類文書中關鍵詞提取的效果穩定性較高,但其準確率要低于傳統的TF-IDF 算法和改進的算法。Word2Vec 提取效果最差,不適用于裁判文書關鍵詞的提取。
通過圖7 可知,改進的算法與傳統的TF-IDF、Text-Rank、Word2Vec相比,在準確率P、召回率R、F1-Measure上都有了很大的提高,F1 值分別提高了0.088 00、0.150 14、0.437 07;實驗結果表明該方法可以很好地提高對裁判文書進行關鍵詞提取的準確率;并進一步對加權因子?研究比較,當?=0.5 時,改進的TF-IDF算法關鍵詞準確率達到最高。

圖8 TF-IDF算法的裁判文書關鍵字抽取樣本

圖9 TextRank算法的裁判文書關鍵字抽取樣本

圖10 Word2Vec算法的裁判文書關鍵字抽取樣本

圖11 IAKEF(0.5)算法的裁判文書關鍵字抽取樣本
通過圖8~11 可見(其中title 字段較長,故只截取了前三個字),雖然改進的算法比傳統的TF-IDF、Text-Rank、Word2Vec評估值較好,與真正的司法常用關鍵詞仍有較大差距。例如,文中“國土資源局”“土地資源”“勞動合同”“危險駕駛罪”“民事訴訟法”,這些詞匯并沒有符合專家標注意圖。因此,司法相關命名實體庫的缺失可能是導致這一結果的原因。
傳統的TF-IDF關鍵詞提取算法僅考慮詞語出現的詞頻及逆詞頻,具有一定的局限性。本文將融合特征、信息熵、離散度、TextRank引入詞語的權重計算公式中,考慮詞語的詞性、詞長、詞位置和詞跨度等多重因素,提出了一種改進的關鍵詞提取算法,解決了傳統算法在語義、類內外分布上的存在的不足的問題。最后通過實驗證明本文提出算法的有效性。分別對TF-IDF、TextRank、Word2Vec 和改進的關鍵詞提取算法進行實驗,對實驗結果進行對比分析,實驗結果表明改進的關鍵詞抽取算法(IAKEF)實驗效果要優于傳統的算法,且當加權因子?=0.5 時準確率達到最高。提出的算法分別在語義、類內外分布上的改進策略獨立影響雖不顯著,但每項影響對計算結果都有積極效果。
本文還有很多不夠完善的地方,在以后的學習研究中有以下方面可以加以改進。首先,同義詞處理可以加強。由于裁判文書中涉及一些專業性較強的詞匯,本文所用的同義詞詞庫來源于網絡,對裁判文書中進行同義詞識別時效果不是很好。采用專業性更為適當的司法相關命名實體詞庫和同義詞詞庫是下一步的研究內容。其次,增加處理命名實體識別過程以解決未登錄詞問題。使用現有的工具詞典不能識別的某些司法領域專有詞語等未登錄詞,下一步將通過大規模語料標注和訓練以減少未登錄詞的影響。另外,詞語權重計算問題可以通過增強特征采集方法改善。在特征設計上,通過結合更多的特征性提高關鍵詞提取效果,是下一步的研究內容。
致謝感謝迪安鑒定科學研究院院長常林教授的支持及其實驗室的同仁們的幫助。