徐 惠,蘇 同,俞鵬飛,江全勝,朱咸軍2,,4*
(1.南京航空航天大學(xué),江蘇 南京 210016;2.金陵科技學(xué)院,江蘇 南京 211169;3.東部戰(zhàn)區(qū)總醫(yī)院,江蘇 南京 210002;4.江蘇省信息分析工程研究中心,江蘇 南京 211169)
當(dāng)前“互聯(lián)網(wǎng)+法律”的模式中,法律相關(guān)信息種類繁多,信息量大,加大了相關(guān)從業(yè)人員法律文書寫作的難度。法律文書是日常生活中一切涉及法律內(nèi)容的文書,如:訴訟法律文書、合同、協(xié)議等。由一個(gè)案件到一個(gè)法律文書的生成,拋去法律文書本身固定的模板以外,文書內(nèi)容信息主要表達(dá)的是案件信息。非從業(yè)人員撰寫的法律文書一般具有自然性、口語性,缺乏了法律化、規(guī)范化。因此,可以將自然語言轉(zhuǎn)化成規(guī)范法律文書的過程認(rèn)為是一種“翻譯”的過程,是一個(gè)序列到另一個(gè)序列的問題,即序列模型(Seq2Seq)[1]。
LSTM(Long Short-Term Memory)[2]是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[2],它在訓(xùn)練中會(huì)隨著訓(xùn)練時(shí)間加長(zhǎng)以及網(wǎng)絡(luò)層數(shù)增多,很容易出現(xiàn)梯度爆炸或者梯度消失的問題,導(dǎo)致無法處理較長(zhǎng)序列數(shù)據(jù),從而無法獲取長(zhǎng)距離數(shù)據(jù)的信息,而LSTM能夠較好地解決長(zhǎng)序列依賴問題;Encoder-Decoder[3]模型,即“編碼-解碼”模型,是一個(gè)主要解決Seq2Seq問題的框架;Attention模型[4]是Encoder-Decoder模型的優(yōu)化模型,打破在編解碼時(shí)都依賴于內(nèi)部一個(gè)固定長(zhǎng)度向量的限制,能夠更加準(zhǔn)確地獲得模型的輸出。
本文將LSTM的Encoder-Decoder模型和Attention模型進(jìn)行了綜合,實(shí)現(xiàn)了法律文書的自動(dòng)生成。
在處理自然語言的任務(wù)中,一個(gè)案件中案情信息轉(zhuǎn)化成法律文書的處理過程分為兩個(gè)步驟:
第一,識(shí)別篩選出案件中的案情信息(如案件的原被告信息、過程、內(nèi)容、訴求等)。
第二,案情信息規(guī)范化。法律文書的書寫具有嚴(yán)格的規(guī)范性,可以預(yù)先準(zhǔn)備好對(duì)應(yīng)法律文書類別的模板。
對(duì)一個(gè)普通案件性的描述語言進(jìn)行特征提取、特征組合和規(guī)范化,并填充至法律文書的模板中。對(duì)于不同類型的案件描述,可能存在多個(gè)實(shí)體類別,產(chǎn)生的法律文書種類亦有所不同。
本文以婚姻類法律文書作為研究數(shù)據(jù)集,提出一種基于Encoder-Decoder模型和Attention模型的法律文書自動(dòng)生成方法,并以婚姻糾紛類法律文書生成為例。
在自然語言敘述的一個(gè)法律案件中,不同人描述的習(xí)慣、方法、順序都是不唯一的,具有多樣性。這也就導(dǎo)致一個(gè)案件描述的機(jī)器可讀性很差,需要對(duì)其進(jìn)行一些預(yù)處理操作,進(jìn)一步精簡(jiǎn)案件描述,便于找出其中的關(guān)鍵信息。
數(shù)據(jù)樣本中不可避免地會(huì)有一些停用詞(如:“的”“啊”等)。這些詞的存在,會(huì)使接下來的模型訓(xùn)練和預(yù)測(cè)效果不佳,可以使用一個(gè)停用詞集來去除文本中的停用詞。
對(duì)于去除停用詞后的文本,重要信息之間的關(guān)系十分明顯。接下來要對(duì)其進(jìn)行分詞操作,本文采用的是中文分詞組件“Jieba”庫。該組件有3種分詞模式:精確模式、全模式和搜索引擎模式。如:“結(jié)婚以后我花的錢裝修了房子”。停詞處理和分詞后“結(jié)婚”“以后”“我”“花錢”“裝修”“房子”。
詞性分析結(jié)果:[pair('結(jié)婚', 'v'), pair('以后', 'f'), pair('我', 'r'), pair('花錢', 'n'), pair('裝修', 'v'), pair('房子', 'n')]。全文本采用TF-IDF算法得到關(guān)鍵詞抽取結(jié)果['裝修', '花錢', '結(jié)婚', '房子']
分詞結(jié)束后,使用詞向量工具Word2vec[5]將詞語向量化,并將詞語、詞性及詞向量構(gòu)成字典形成語料庫。
構(gòu)建一個(gè)動(dòng)態(tài)語料庫[6],在讀取新的文本數(shù)據(jù)時(shí),重復(fù)以上分詞向量化以及詞性分析等操作;與原語料庫形成多個(gè)文本語料庫,并通過關(guān)鍵詞抽取各文本的詞匯特征向量,使用K-means算法對(duì)各文本的詞匯特征向量進(jìn)行聚類處理[7],獲得多個(gè)文本的集合語料庫,使得語料庫可以不斷學(xué)習(xí)新的詞語,使文本生成效果更佳。
長(zhǎng)短期記憶模型(LSTM)是一種特殊的遞歸神經(jīng)網(wǎng)絡(luò)模型(RNN),可以較好地解決梯度彌散的問題。在學(xué)習(xí)序列數(shù)據(jù)的長(zhǎng)期規(guī)律時(shí),能很好地處理序列內(nèi)部的長(zhǎng)期依賴關(guān)系。在自然語言處理方面,用LSTM模型提取文本的語義語法信息,完成各種(如文本分類、序列標(biāo)注、文本匹配、翻譯等)具體的任務(wù)。
Seq2Seq模型問題的特征是其輸入的是一個(gè)序列,輸出的也是一個(gè)序列,如:機(jī)器翻譯、自動(dòng)問答系統(tǒng)等。法律文書的生成實(shí)際上也是一種序列到序列生成的Seq2Seq問題。本文探究的過程以上述數(shù)據(jù)預(yù)處理中的例子——“結(jié)婚 以后 我 花錢 裝修 房子”為例。
使用Encoder-Decoder(編碼-解碼)風(fēng)格的神經(jīng)網(wǎng)絡(luò)模型以及注意力(Attention)模型來解決該問題并比較生成效果。
在Encoder中將一個(gè)長(zhǎng)度模糊的數(shù)據(jù)序列轉(zhuǎn)化成一個(gè)固定長(zhǎng)度的數(shù)據(jù)向量,表達(dá)為原數(shù)據(jù)序列的語義向量;Decoder將這個(gè)語義向量解碼,產(chǎn)生一個(gè)長(zhǎng)度可變的目標(biāo)序列向量。而Encoder、Decoder的過程本質(zhì)都是基于LSTM模型的,故整個(gè)模型的結(jié)構(gòu)如圖1所示。
圖1 LSTM模型結(jié)構(gòu)
參數(shù)含義如下:
{n1,n2,n3,n4,n5,n6}:分詞結(jié)果的案件信息詞向量輸入ni。
{h1,h2,h3,h4,h5,h6}:Encoder階段神經(jīng)元在每個(gè)詞向量輸入后的隱藏層狀態(tài)向量hi。
{t1,t2,t3,t4,t5,t6}:Decoder階段神經(jīng)元在每個(gè)預(yù)測(cè)詞向量輸出后的隱藏層狀態(tài)向量ti。
{m1,m2,m3,m4,m5,m6}:詞向量預(yù)測(cè)輸入mi。
S:Encoder階段結(jié)束后輸出的句子的語義向量,包含了句子的語義信息。
Go:Decoder階段的起始符號(hào),表示開始執(zhí)行解碼操作。
Eos:Decoder階段的結(jié)束符號(hào),表示已完成解碼。
算法過程如下:
如圖1所示的模型實(shí)現(xiàn)過程,首先把經(jīng)過預(yù)處理的案件信息向量化得到的Word Embedding[8](詞嵌入)矩陣ni,作為輸入,依次傳入模型。在Encoder階段,每個(gè)狀態(tài)節(jié)點(diǎn)(圖中雖然有多個(gè)節(jié)點(diǎn),其實(shí)只是同一個(gè)神經(jīng)元每個(gè)時(shí)間點(diǎn)下的狀態(tài))中要經(jīng)歷3個(gè)門操作來控制語義信息。
(1)遺忘門。該門決定放棄當(dāng)前狀態(tài)節(jié)點(diǎn)中一些信息,讀取狀態(tài)節(jié)點(diǎn)的前一個(gè)狀態(tài)向量hi-1和ni,經(jīng)過權(quán)重wf、偏移量bf以及sigmoid()函數(shù),輸出一個(gè)數(shù)值在0到1之間的向量矩陣fi,即:
fi=sigmoid(wf·[hi-1,ni]+bf)
(2)輸入門。經(jīng)過遺忘門,已經(jīng)丟棄掉一些多余語義信息,此時(shí)通過輸入門需要經(jīng)歷3步。
①?zèng)Q定狀態(tài)節(jié)點(diǎn)中的更新信息,通過權(quán)重Wg,偏移量bg以及sigmoid()函數(shù)來得到更新向量矩陣gi;
gi=sigmoid(wg·[hi-1,ni]+bg)
(3)輸出門。最后先要設(shè)置一個(gè)初始輸出,同樣用一個(gè)sigmoid()函數(shù)來獲取初始輸出向量矩陣oi;然后用一個(gè)tanh()函數(shù)縮放遺忘門和輸入門的信息向量ci,并與oi結(jié)合生成下一個(gè)狀態(tài)節(jié)點(diǎn)的初始狀態(tài)向量hi,同時(shí)也該狀態(tài)節(jié)點(diǎn)的輸出,即:
oi=sigmoid(wo·[hi-1,ni]+bo)
hi=oi*tanh(ci)
當(dāng)Encoder階段所有詞向量的編碼完成后,可以設(shè)置一個(gè)全連接層把每個(gè)狀態(tài)的輸出壓縮成一個(gè)固定維度的語義向量S,也可以直接將最后一個(gè)狀態(tài)的輸出作為語義向量S。
將語義向量S輸入Decoder階段,即圖1中的右半部分。由于Encoder階 段和Decoder階段都是基于LSTM模型的,其主要算法過程是一致的;不同的是在Decoder階段,當(dāng)語義向量S輸入時(shí),需要一個(gè)觸發(fā)向量Go,即開始解碼的標(biāo)志;在解碼結(jié)束時(shí),需要一個(gè)終止向量Eos,即停止解碼的標(biāo)志。
在解碼過程中的輸出向量mj,可以先用一個(gè)SoftMax()函數(shù)產(chǎn)生一個(gè)關(guān)于法律語料庫中的N個(gè)詞向量的概率分布p(mk|m p(mk|m mk=arg max[p(mk|m 最后輸出的{m1,m2,m3,m4,m5,m6}序列,根據(jù)語料庫轉(zhuǎn)化成{“婚后”,“原告”,“出資”,“裝修”,“房屋”}為本例的生成結(jié)果,即實(shí)現(xiàn)了由“結(jié)婚以后我花錢裝修房子”到“婚后原告出資裝修房屋”的法律文本轉(zhuǎn)化。 Attention模型實(shí)際上模擬的是人類的注意力行為,即人在觀察一件事物時(shí)的關(guān)注點(diǎn)是不同的。在自然語言處理中,每句話中信息的重要程度并不是均衡的,是有一定的權(quán)重區(qū)分的;通過對(duì)不同重要程度的詞附上不同的權(quán)重,可以表達(dá)出更加合理的語義向量。 Attention模型的結(jié)構(gòu)如圖2所示。參數(shù)含義如下。 圖2 Attention模型 {x1,x2,x3,x4,x5,x6}:經(jīng)過attention層處理后存在“注意力”的非固定長(zhǎng)度的語義向量,在Decoder階段,可選擇性地挑選其子集進(jìn)行解碼輸出; aij:Encoder階段中每一個(gè)隱藏層狀態(tài)向量hi的權(quán)重值。由于Attention模型是以Encoder-Decoder模型為基礎(chǔ)的,其編碼解碼的過程類似,主要添加了一個(gè)attention層,來分散注意力。 其attention層的算法過程如下。 在Encoder的基礎(chǔ)上,對(duì)于隱藏層輸出的每一個(gè)狀態(tài)向量hi乘一個(gè)權(quán)重aij,求其加權(quán)平均,作為新的一個(gè)語義編碼向量,即一個(gè)attention層的輸出向量xi: 其中權(quán)重aij的計(jì)算需要Decoder階段的隱藏層向量tj反饋,先用一個(gè)評(píng)分函數(shù)score(),來評(píng)價(jià)Encoder階段hi和Decoder階段tj的效果,記為eij,然后計(jì)算該評(píng)分與總評(píng)分中的比率就是該hi的權(quán)重,即: eij=score(hi,tj) SoftMax()函數(shù)可以產(chǎn)生一個(gè)關(guān)于之前制作的法律語料庫中N個(gè)詞的概率分布,其概率之和為1,即可在Decoder階段每個(gè)狀態(tài)向量輸出時(shí),預(yù)測(cè)出概率較高的轉(zhuǎn)義詞向量{mk},接下來輸出預(yù)測(cè)詞向量的過程參照Encoder-Decoder模型,最后同樣能夠產(chǎn)生語義類似的結(jié)果。 本文采用來自某法律案例網(wǎng)站的10 000條真實(shí)案件數(shù)據(jù)集,將數(shù)據(jù)集分為4個(gè)類別,即交通糾紛、債務(wù)糾紛、財(cái)產(chǎn)糾紛和婚姻糾紛。對(duì)數(shù)據(jù)進(jìn)行清洗得到數(shù)據(jù)內(nèi)容包括案件類型、原被告信息、案件描述和申訴請(qǐng)求。然后,對(duì)數(shù)據(jù)進(jìn)一步去停用詞、分詞、人工標(biāo)注等預(yù)處理工作。 本文實(shí)驗(yàn)的訓(xùn)練過程和預(yù)測(cè)過程的Encoder-Decoder模型(表格中簡(jiǎn)寫為ED)和Attention模型,是使用基于Python語言的TensorFlow庫構(gòu)建的。在模型的訓(xùn)練過程中,進(jìn)行了實(shí)驗(yàn)1:比較兩種模型的訓(xùn)練效果(誤差函數(shù)LOSS);LOSS函數(shù)是通過將目標(biāo)序列(target)作為輸入傳給Decoder端LSTM的每個(gè)階段,做前一階段預(yù)測(cè)輸出和目標(biāo)傳入的差值產(chǎn)生的;通過調(diào)整設(shè)置的超參以獲得近似的最優(yōu)解,超參分別為:模型訓(xùn)練的學(xué)習(xí)率(LR_RATE)、向量元素的保留率(KEEP_PROB),實(shí)驗(yàn)結(jié)果數(shù)據(jù)如表1所示。 表1 2類模型下的訓(xùn)練效果 根據(jù)實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),學(xué)習(xí)率(LR_RATE)過大,在算法優(yōu)化的前期會(huì)加速學(xué)習(xí),使得模型更容易接近局部或全局最優(yōu)解。但是在后期會(huì)有較大波動(dòng),甚至出現(xiàn)損失函數(shù)的值圍繞最小值徘徊,波動(dòng)很大,始終難以達(dá)到最優(yōu)解;甚至在訓(xùn)練“世代”(EPOCHS),即訓(xùn)練的迭代次數(shù)比較大的時(shí)候,會(huì)產(chǎn)生梯度爆炸或者彌散;兩種模型分別在相同保留率以及學(xué)習(xí)率為1e-2,1e-3及1e-4下的誤差函數(shù)LOSS的變化曲線如圖3所示。 圖3 實(shí)驗(yàn)對(duì)比 圖中的變化曲線顯示,可以引入學(xué)習(xí)率隨迭代次數(shù)的增加隨衰減的機(jī)制,即在模型訓(xùn)練初期,會(huì)使用較大的學(xué)習(xí)率進(jìn)行模型優(yōu)化,隨著迭代次數(shù)增加,學(xué)習(xí)率會(huì)逐漸進(jìn)行減小,保證模型在訓(xùn)練后期不會(huì)有太大的波動(dòng),從而更加接近最優(yōu)解。向量元素的保留率(KEEP_PROB),是各層向量元素的一個(gè)保留概率,當(dāng)KEEP_PROB為0時(shí),就意味著讓所有的神經(jīng)元都失活,而KEEP_PROB為1時(shí),就是全部保留。在語義豐富的一個(gè)案件的描述語句中,其隱藏層的數(shù)量較多,為了更大程度地使語義向量S保留更多信息以及解碼時(shí)減少語義缺少,同時(shí)由于數(shù)據(jù)集較大,防止過擬合,故可以將KEEP_PROB設(shè)置為一個(gè)0~1的小數(shù),實(shí)驗(yàn)1中分別設(shè)置了0.4,0.5,0.6的保留率,除在學(xué)習(xí)率為1e-2的情況下,Attention發(fā)生了誤差彌散直指梯度消失;其他情況下兩種模型均可以收斂于一個(gè)的LOSS值,該保留率對(duì)變化效果不明顯;但明顯可看出ttention模型的訓(xùn)練效果要優(yōu)于Encoder-Decoder模型,誤差loss能夠更貼近最小值。 實(shí)驗(yàn)2:比較兩種模型算法的生成效果;主要評(píng)價(jià)的是模型的預(yù)測(cè)效果。實(shí)驗(yàn)2為生成效果設(shè)置了以下幾個(gè)指標(biāo): (1)實(shí)驗(yàn)室測(cè)試效果。選取100份新的樣本數(shù)據(jù)作為測(cè)試用例,以模型預(yù)測(cè)輸出的結(jié)果和人工標(biāo)注的結(jié)果對(duì)比,做一個(gè)相似度分析(包含語義是否完全表達(dá)、語句連貫性、規(guī)范性),最后得出一個(gè)加權(quán)平均值作為生成效果,評(píng)估結(jié)果如表2所示。 表2 實(shí)驗(yàn)室測(cè)試效果 (2)實(shí)際用戶測(cè)試效果。用戶分為兩類,普通大學(xué)生和職業(yè)律師,獲取他們的采納率,后臺(tái)隨機(jī)抽樣調(diào)查,取平均結(jié)果作為生成效果。評(píng)估結(jié)果如表3所示。 表3 實(shí)際用戶測(cè)試效果 從實(shí)驗(yàn)1—2結(jié)果數(shù)據(jù)來看,本文所提及的兩種模型Encoder-Decoder模型和Attention模型,在法律文書生成訓(xùn)練過程的實(shí)驗(yàn)1中,Attention模型在整體上的收斂效果是優(yōu)于Encoder-Decoder模型的,對(duì)于長(zhǎng)文本的法律文書信息的處理具有更佳優(yōu)越的效果;在預(yù)測(cè)生成法律文書評(píng)估的實(shí)驗(yàn)2中,不論是從實(shí)驗(yàn)室測(cè)試結(jié)果還是用戶測(cè)試結(jié)果來看,對(duì)于法律文書的規(guī)范合理性,Attention模型的預(yù)測(cè)效果也是較好于Encoder-Decoder模型的。故Attention模型,在本實(shí)驗(yàn)中法律文書的生成準(zhǔn)確性更佳,更加符合原法律案件,初步滿足了一般用戶對(duì)法律文書的需求。 本文提出的數(shù)據(jù)預(yù)處理方法和基于LSTM的兩種模型來解決由案件信息到法律文書信息的過程問題,實(shí)現(xiàn)案件信息處理以高效獲取有用信息,代替人對(duì)信息進(jìn)行分析和綜合。在實(shí)驗(yàn)過程中,案件信息根據(jù)用戶描述的案件生成對(duì)應(yīng)的案件詞向量序列,將案情要素,輸入模型進(jìn)行學(xué)習(xí),輸出為生成對(duì)應(yīng)案情描述的法律文書。同時(shí), 對(duì)信息源的理解和文書生成需要一定的背景知識(shí),可從語料庫的學(xué)習(xí)中得到,并在實(shí)際應(yīng)用中不斷地自學(xué)習(xí)新的知識(shí)。從實(shí)驗(yàn)結(jié)果來看,Attention模型在訓(xùn)練過程以及生成效果方面的部分指標(biāo),都較優(yōu)于普通的Encoder-Decoder模型,可以根據(jù)不同的案件完成對(duì)應(yīng)法律文書的自動(dòng)生成,且效果能使較大部分用戶滿意,可以使初步制作法律文書節(jié)省很多的時(shí)間和人力。3.3 Attention模型
4 實(shí)驗(yàn)分析
4.1 數(shù)據(jù)來源
4.2 算法效率分析
4.3 算法生成效果評(píng)估分析
5 結(jié)語