鄭少婉,陸培民
(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350002)
現(xiàn)如今,各大法律數(shù)據(jù)庫內(nèi)文書都達到了千萬份的數(shù)量級別,通過統(tǒng)計發(fā)現(xiàn)平均達到1 200萬余份。不管是制作文書還是文書的判決方面,每一篇文書至少需要一名律師進行代理以及一名法官參與制作。因此,這龐大的裁判文書庫中就蘊含著千萬人次的律師與法官的參與。
立法存有一定的滯后性,不同的法院、法官對案件裁判的準則、尺度都存在差異,因此人們對案件的檢索、案件分析和利用都變得困難。然而,對于剛?cè)胄械脑V訟律師而言,通過搜索查找相似案例的方法,對案件進行分析以及對自身新案件進行策略制定、案件預(yù)判,都是至關(guān)重要的。對于不是訴訟律師的人來說,通過對案例的分析來了解當(dāng)下的法律條文,可以避免公司運營、合同合約條款中存在的法律風(fēng)險點。因此,對于法律案件的查找、分析、利用,不僅僅是法律人所需求的,也是當(dāng)今很多人的需求。
通過以上需求,本文試圖在法律專業(yè)垂直領(lǐng)域構(gòu)建面向自然語義處理的裁判文書分割系統(tǒng),對裁判文書按字段進行分析。針對案件的分析,首先利用SVM分詞之后,通過同義詞分析等技術(shù)實現(xiàn)語句的含義分析,將文書分割為判決書信息、原告信息、被告信息、案由信息、案件事實、原告訴求、被告辯稱、證據(jù)信息、法院認定證據(jù)、法院觀點、法律依據(jù)、判決結(jié)果等字段,進而提升裁判文書的查找速度以及案例分析的效率。
圖1 系統(tǒng)框架
系統(tǒng)主要由后臺的Java端和前臺的Android端構(gòu)成,兩端通過Socket進行通信。設(shè)計框圖如圖1所示,Android端輸入裁判文書,然后傳輸給Java服務(wù)端,Java服務(wù)端對收到的裁判文書首先按模型進行分詞、詞性標志等操作,再將分詞等處理之后的文書進行語義基礎(chǔ)上的分割。最后把處理得到的裁判文書結(jié)果傳輸給Android客戶端,客戶端將其顯示到文本框界面。
將裁判文書分割系統(tǒng)設(shè)計成兩個部分,一部分為線下語料庫的分詞、詞性標志等訓(xùn)練;另外一部分為線上的分析預(yù)測,即對分詞等預(yù)處理后的文書進行分割處理。如圖2所示,線下的語料庫訓(xùn)練:通過爬蟲技術(shù)從裁判文書網(wǎng)上采集到裁判文書存于MySQL數(shù)據(jù)庫中,接著利用SVM、CRF等模型對文書進行中文分詞、詞性標志、依存句法分析等訓(xùn)練;線上分析預(yù)測部分,將分詞、詞性標志、依存句法分析之后的裁判文書進行語義方面的處理,包括語句處理、關(guān)鍵詞提取、關(guān)鍵詞相似度計算等,最后將裁判文書進行斷句分割以及多個斷句多次分割,其分割信息存于MySQL中,或顯示在Android界面。
圖2 語料庫訓(xùn)練模塊
上述系統(tǒng)中主要研究的是裁判文書通過自然語義理解的方法自動識別語句中的關(guān)鍵詞,如“被告”、“原告”、“原告訴求”、“原告依法提起訴訟”等。其中最為關(guān)鍵的是系統(tǒng)能在語義基礎(chǔ)上將“原告訴求”、“原告依法提起訴訟”等類似詞,在分割字段信息中進行同等處理,將其劃分為原告訴求字段。
裁判文書線下模塊包含語料庫采集模塊和裁判文書訓(xùn)練模塊。裁判文書語料庫模塊包括采集模塊和裁判文書語料抽取模塊[1]。其中采集模塊主要是從裁判文書網(wǎng)采集到盡可能多并且全面的中文裁判文書。裁判文書線下訓(xùn)練模塊包括利用機器學(xué)習(xí)算法對裁判文書的句法成分進行分析以及結(jié)合傳統(tǒng)的匹配法則進行語義關(guān)鍵信息提取。
語義理解是一種建立在詞向量基礎(chǔ)之上的相似度計算方法。它可以自動獲取一些特定領(lǐng)域的未登錄名詞的對應(yīng)語義模式,通過相似度計算方法,解決在一些特定領(lǐng)域的未登錄詞的相似問題。 然而相似度計算最大的關(guān)鍵點正是詞向量的構(gòu)建。因此,系統(tǒng)在法律專業(yè)領(lǐng)域上,首先利用Word2vec對裁判文書進行詞向量構(gòu)建,接著再利用余弦方法進行相似度計算,最后得到相似度值。
Word2vec的思想也如神經(jīng)網(wǎng)絡(luò),它的結(jié)構(gòu)為輸入層-隱層-輸出層的形式。Word2vec的關(guān)鍵部分是由Huffman編碼構(gòu)成詞頻。在其作用下,一些詞頻相似的詞語的隱藏層激活的內(nèi)容基本一致。當(dāng)一些詞語出現(xiàn)的頻率越高時,它們激活的隱藏層數(shù)目會越少。因此通過Huffman編碼可以有效地降低計算的復(fù)雜度。Word2vec不僅對語言模型進行建模,也可將詞轉(zhuǎn)化成向量。對于普通詞語,如“過錯”和“過失”在詞語本身就只有一點點的差異,毋庸置疑將其定義為相似詞。而對于“飛單”和“銀行工作人員私自理財”這兩詞,單單按普通的匹配方式,它們差別很大,完全得不到相關(guān)性。而利用Word2vec的方法,從詞頻和詞向量的方式計算可知兩詞具有很高的相關(guān)性。因此,對于這種將單詞轉(zhuǎn)化成向量的數(shù)值計算方法,可以得到意想不到的結(jié)果。
Word2vec構(gòu)建詞向量的方法包括“CBOW”和“Skip-gram”兩種語言模型[2]。單純地使用這兩個模型中的一個模型來說,它們利用了Softmax函數(shù),將會使時間復(fù)雜度變大,計算代價變大,而且對于大批量的文書訓(xùn)練,訓(xùn)練時間較長。
系統(tǒng)結(jié)合Skip-gram模型和 Hierarchical Softmax來降低時間復(fù)雜度。具體其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 Skip-gram 模型的結(jié)構(gòu)示意圖
Skip-gram模型處理的是在已知當(dāng)前詞W的基礎(chǔ)上,預(yù)測其上下文Context(w)的詞,則其語言模型的概率函數(shù)為:
(1)
其中,u表示w的上下文中的一個詞語。
(2)
(3)
裁判文書的分詞、詞性標注、依存句法分析的準確率是關(guān)鍵詞提取以及文書分割準確率的前提。因此本系統(tǒng)在分詞上采用了層疊HMM-viterbi模型對語料庫進行了命名實體分詞、未登錄名詞的訓(xùn)練[3],詞性標志上采用了CRF模型進行訓(xùn)練以及利用SVM模型進行依存句法分析訓(xùn)練等操作。系統(tǒng)結(jié)合了這三者的訓(xùn)練,對裁判文書進行結(jié)構(gòu)以及語句上的分析訓(xùn)練。此系統(tǒng)的分詞效果可由以下例子進行分析,例如:“北京莊勝房地產(chǎn)開發(fā)有限公司”通過此方法進行分詞時,結(jié)果如下:北京/ns, 莊勝/nz, 房地產(chǎn)/n, 開發(fā)/vn, 有限公司/nis,從這個分詞結(jié)果中可看到,嵌套的機構(gòu)名中,對人名、地名都可識別出來。最后將系統(tǒng)的分詞、詞性標志以及依存句法分析的結(jié)果與哈工大的LTP進行對比,準確率比較如表1~表3所示。
表1 中文分詞準確率
表2 詞性標注準確率
表3 依存關(guān)系準確率
其中準確率計算由如下方法得出:
準確率=正確分詞(標志正確、依存關(guān)系分析正確)數(shù)目/實際進行分詞(詞性標志、依存關(guān)系)數(shù)目
Android端輸入裁判文書如圖4所示。最初始輸入完整的裁判文書,經(jīng)模型分詞、詞性標志等處理之后,再送由Word2vec將各分詞結(jié)果轉(zhuǎn)化成詞向量形式,進行各字段的信息的前后匹配、計算,得到分割結(jié)果。圖5展示了分割之后的法院判決的觀點和判決結(jié)果信息。
圖4 Android端輸入 圖5 分割效果
本文使用了自然語義處理技術(shù)來提取裁判文書的關(guān)鍵信息,從而對案例的查找、分析及使用起到關(guān)鍵的輔導(dǎo)作用。
在本系統(tǒng)中,核心問題在于裁判文書關(guān)鍵信息的提取部分,采用了基于Word2vec基礎(chǔ)上的自然語義處理技術(shù)來實現(xiàn)。利用Word2vec提取各字段中關(guān)鍵詞并進行邊界詞識別、各字段內(nèi)容分割。訓(xùn)練語料庫時,對47 000余條的裁判文書進行了封閉式的訓(xùn)練,其訓(xùn)練結(jié)果使分詞、詞性標志、依存關(guān)系的準確率都達到了98%以上。外部輸入文書的開放性測試,均達到了97%以上的準確率。
[1] 向李興.基于自然語義處理的裁判文書推薦系統(tǒng)設(shè)計與實現(xiàn)[D].南京:南京大學(xué),2015.
[2] 李躍鵬,金翠,及俊川.基于word2vec的關(guān)鍵詞提取算法[J].科研信息化技術(shù)與應(yīng)用,2015(4):54-59.
[3] 劉群,張華平,俞鴻魁,等.基于層疊隱馬模型的漢語詞法分析[J].計算機研究與發(fā)展,2004,41(8):1421-1429.