康云云,彭敦陸,陳 章,劉 叢
(上海理工大學(xué) 光電信息與計算機(jī)工程學(xué)院,上海 200093)
當(dāng)前“互聯(lián)網(wǎng)+法律”的模式有效緩解了法律服務(wù)行業(yè)中人力資源不足的問題,讓人們足不出戶就可方便享受到法律咨詢服務(wù).研究出適用于法律文書的自動文本生成技術(shù),在減輕法律工作者文書工作上具有重要的現(xiàn)實意義.例如,在作為司法領(lǐng)域最為重要的法律文本——法律判決書中,案情描述是其重要組成部分,是否可以采用自動或半自動化方式生成呢?比如,讓用戶根據(jù)提示填寫案件要素.在收集完案件要素后,按要求自動生成與案情要素對應(yīng)的案情描述文本,并將其置入法律判決書的相應(yīng)部分.
文本自動生成是自然語言處理NLP(Nature Language Process)領(lǐng)域的主要研究方向,而深度學(xué)習(xí)算法在自然語言處理領(lǐng)域也越來越被重視.例如,采用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs)生成時間預(yù)測序列[1].但由于RNN易出現(xiàn)梯度消失或梯度爆炸的問題,所以實際應(yīng)用中,難以處理文本序列中的長期依賴關(guān)系[2].文獻(xiàn)[3]提出的長短期記憶網(wǎng)絡(luò)單元(LSTMs)就是為了解決文本序列中的長期依賴問題.近年來,研究者們,還針對序列到序列的生成如機(jī)器翻譯提出了編碼-解碼(Encoder-Decoder)框架[4],文獻(xiàn)[5]提出了基于LSTMs網(wǎng)絡(luò)的Encoder-Decoder模型進(jìn)一步提高了序列到序列的生成效果.然而這些網(wǎng)絡(luò)在訓(xùn)練時需要對隱變量做推斷,參數(shù)的更新都直接來自樣本,參數(shù)訓(xùn)練很繁瑣.起初用于圖像生成的GAN也應(yīng)用到了文本生成中[6],GAN由生成器G和辨別器D構(gòu)成,生成器G需擬合相應(yīng)生成,辨別器是具有分類作用的函數(shù),可以采用機(jī)器學(xué)習(xí)的SVM算法[7],更可以采用深度學(xué)習(xí)分類算法.GAN的特點是不斷訓(xùn)練辨別器D來提高鑒別真實數(shù)據(jù)和生成數(shù)據(jù)的能力,生成器G不斷訓(xùn)練提高迷惑D的能力.G的參數(shù)更新不是直接來自數(shù)據(jù)樣本,而是使用來自D的反向傳播,很好的解決了參數(shù)訓(xùn)練繁瑣的問題.針對需要解決的問題:1) 文本序列生成中的長期依賴關(guān)系; 2) 參數(shù)訓(xùn)練繁瑣.在前人研究成果的基礎(chǔ)上,本文對GAN網(wǎng)絡(luò)做出改進(jìn)并應(yīng)用于法律文本的自動生成,生成器為基于LSTMs的Encoder-Decoder模型,判別器采用基于CNN的二分類模型.
深度生成模型已經(jīng)受到越來越多的關(guān)注,它對大量未標(biāo)注的數(shù)據(jù)表現(xiàn)出靈活的學(xué)習(xí)能力.由Geoffrey Hinton提出的深度信念網(wǎng)絡(luò)(DBN)通過訓(xùn)練神經(jīng)元間的權(quán)重,讓整個神經(jīng)網(wǎng)絡(luò)按照最大概率來生成訓(xùn)練數(shù)據(jù)[8].這種方法建立在先驗分布的基礎(chǔ)上,因此生成效果較好但是存在棘手的概率近似計算問題.
Ian Goodfellow于2014年針對生成模型提出了新的訓(xùn)練模型,對抗式生成模型(GANs),它啟發(fā)自博弈論中的二人零和博弈,GAN模型中的兩位博弈方分別由生成式模型(generative model)和判別式模型(discriminative model)充當(dāng),它跳過了極大似然估計中棘手的計算難題.文獻(xiàn)[6]將GAN應(yīng)用到了文本生成上,提出了TextGAN模型,使得文本生成效果的評測任務(wù)轉(zhuǎn)到了判別器上,通過對抗自動進(jìn)行參數(shù)優(yōu)化,直至生成文本與真實文本無法分辨.
另一方面,前人們在生成結(jié)構(gòu)式序列方面也做了大量研究.文獻(xiàn)[9]第一次提出了序列到序列(sequence to sequence)生成模型,其輸入是一個序列(比如一個英文句子),輸出也是一個序列(比如該英文句子所對應(yīng)的法文翻譯).編碼-解碼框架就是對這個實際問題的很適用的模型.這種結(jié)構(gòu)最重要的特征在于輸入序列和輸出序列的長度是可變的.編碼(Encoder) 部分就是一個RNNCell 結(jié)構(gòu).每個時間步長(timestep)向Encoder中輸入一個詞向量直到一個句子的最后一個詞,然后輸出描述整個句子的語義向量.然而RNN在長序列任務(wù)上易出現(xiàn)信息損失問題,LSTM對解決長序列依賴問題非常有效.文獻(xiàn)[10]提出將每行古詩關(guān)鍵詞和前面已經(jīng)生成的序列輸入到生成模型中經(jīng)過編碼解碼可以使得生成古詩的效果優(yōu)化.
在前人工作的基礎(chǔ)上,本文將GAN網(wǎng)絡(luò)用于法律案情描述的生成.GAN的生成器采用基于LSTM網(wǎng)絡(luò)的Encoder-Decoder模型,輸入為案情要素文本;辨別器是基于CNN的二分類模型,計算生成器生成的案情描述和真實的案情描述的相似度.
論文余下部分的結(jié)構(gòu)為:第3節(jié),問題描述以及文中領(lǐng)域?qū)I(yè)名詞及字母的解釋;第4節(jié),介紹將案情要素輸入到生成器的編碼(Encoder)的過程和生成案情描述的解碼(Decoder)過程.第5節(jié)描述CNN網(wǎng)絡(luò)作為辨別器模型原理;第6節(jié)介紹論文的數(shù)據(jù)集及實驗分析;第7節(jié),論文總結(jié).
根據(jù)法律案情要素生成對應(yīng)的案情描述文本,將案情要素S,輸入到模型進(jìn)行學(xué)習(xí),輸出為生成的對應(yīng)案情描述文本Y.本節(jié)主要介紹對原始法律文本進(jìn)行預(yù)處理,包括對案件要素和案情描述文本的分詞及向量化,以適合所提算法的計算要求,表1給出了下文相關(guān)名詞術(shù)語以及參數(shù)的解釋.
法律案情要素:表明案件的一個或多個要素信息:何事、何時、何地、何情、何故、何物、何人.
例如,離婚案件中描述原被告雙方何時以及如何認(rèn)識的一條案情要素:2006年經(jīng)朋友介紹認(rèn)識.
何時認(rèn)識:2006年.
如何認(rèn)識:朋友介紹.
法律案情描述:包含了法律案情要素的七大要素內(nèi)容,對案件進(jìn)行詳細(xì)的敘述.
例如,與上文的案情要素“2006年經(jīng)朋友介紹認(rèn)識”對應(yīng)的案情描述為:原、被告于2006年經(jīng)朋友介紹認(rèn)識.
表1 字母參數(shù)及其含義
Table 1 Meaning of Alphabetic parameters
名 稱含 義S案情要素SiS的第i個詞t時間步EOS案情要素結(jié)束標(biāo)識符r={r1:rSi}將案情要素輸入編碼層得到的隱藏層向量h=[h0:hT]輸入生成的前文序列和編碼得到的案情要素語義向量到解碼層得到的隱藏層向量{y1,y2,…,ySi}解碼得到的輸出序列C案情描述詞典{ptO1,ptO2,…,ptOV}時刻t關(guān)于案情描述的詞典中C中每個字符的概率值,V為C中詞數(shù)ωc解碼LSTM從隱藏層到輸出序列的權(quán)重
法律文本數(shù)據(jù)中實體之間的關(guān)系比較明顯,因此在對數(shù)據(jù)做分詞、向量化等操作時,保留實體間的關(guān)系顯得很重要.這里的實體包括時間,地點等詞.本文采用條件隨機(jī)場(CRF)分詞,CRF把分詞當(dāng)作字的詞位分類問題.通常定義字的詞位信息:詞首,常用B表示;詞中,常用M表示;詞尾,常用E表示;單字詞,常用S表示.詞位標(biāo)注后,將B和E之間的字,以及S單字構(gòu)成分詞.
例句:婚后育有一個女兒.
CRF標(biāo)注后:婚/B 后/E 育/S 有/S 一/B 女/B 兒/B.
分詞結(jié)果:婚后/育/有/一個/女兒.
分詞結(jié)束后,使用word2vec向量化詞語,將分得的詞和其向量組合得到法律案情描述的詞典C.
本節(jié)詳細(xì)介紹基于LSTMs的編碼-解碼(Encoder-Decoder)框架的生成模型G.模型的目的是學(xué)習(xí)生成器在樣本數(shù)據(jù)(真實案情描述文書)上的分布函數(shù)pg,真實案情描述文書的分布函數(shù)為pdata.首先向Encoder階段的LSTM(命名為EnLSTM)中輸入案情要素S,其中包含了一個或多個詞,編碼后得到固定維數(shù)的隱藏層向量.然后,將這個隱藏層向量輸入到Decoder階段的LSTM(命名為DeLSTM)中,并結(jié)合t-1時刻的輸出生成時刻t的隱藏層向量,最后解碼得到生成序列y即對應(yīng)的案情描述文本,映射過程表示為G(S,θ),θ為LSTMs的參數(shù).生成模型結(jié)構(gòu)如圖1所示,說明了由案情要素“1992年、自由戀愛”生成對應(yīng)得案情描述“原被告于1992年自由戀愛”的原理.下面,詳細(xì)的介紹了生成器的編碼(Encoder)過程以及解碼(Decoder)過程.
如圖1所示,虛線左邊部分是編碼(Encoder)過程.案情要素S中第i個詞記為si,案情要素詞序列S={s1,s2,…,st},定義為EnSen.然后,順序輸入到EnLSTM中,每個時間步t輸入一個詞向量.當(dāng)前時刻t的隱藏層向量rt是由t-1時刻的隱藏層向量rt-1和當(dāng)前時刻的輸入st決定的.LSTM有通過精心設(shè)計的稱作為“門”的結(jié)構(gòu),具有去除或者增加信息到隱藏狀態(tài)的能力[3].LSTM包含了三種門結(jié)構(gòu),分別為遺忘門,輸入門以及輸出門.首先,遺忘門層決定丟棄一些信息:
ft=σ(Wf·[rt-1,st]+bf
(1)
圖1 生成器模型結(jié)構(gòu)圖Fig.1 Builder model structure
其中Wf是決定忘記信息的權(quán)重,bf為偏置值.
it=σ(Wi·[rt-1,st]+bi)
(2)
(3)
Wi,WC分別為sigmoid 層,tanh層選擇信息的權(quán)重,bi,bC為偏置值.在上面的計算基礎(chǔ)上,更新的狀態(tài)信息,即:
(4)
最后,通過輸出門決定輸出信息,進(jìn)而得到輸出信息的向量表示,如公式(5)和公式(6):
ot=σ(Wo·[rt-1,St]+bo)
(5)
rt=ot·tanh(Ct)
(6)
Wo是決定輸出信息的權(quán)重,bo是偏置值.
經(jīng)過以上編碼得到一個隱藏層向量序列r={r1:rt}.當(dāng)輸入到結(jié)束標(biāo)志(EOS)時,生成最后的語義向量rc.rc作為初始向量輸入到解碼階段.
(7)
其中ωc是解碼LSTM從隱藏層到輸出序列的權(quán)重矩陣,這些概率值可進(jìn)一步通過一個Argmax函數(shù)得到輸出序列{y1,y2,…,yt},定義為DeSen,θ是生成模型中LSTMs的參數(shù).這個過程根據(jù)給定的語義向量rc和之前已經(jīng)生成的輸出序列y1,y2,…,yt-1預(yù)測下一個輸出的單詞yt,即:
yt=argmaxP(yt|y1,y2,…,yt-1,rc,ht)
(8)
式(8)可簡寫成:
yt=g(yt-1,ht,rc)
(9)
其中,ht是DeLSTM的隱藏層向量,yt-1是上一時間刻的輸出,作為這一時刻的輸入,g是一個非線性的多層感知機(jī),產(chǎn)生詞典C中各詞語屬于yt的概率.基于Encoder-Decoder框架的生成器模型偽代碼如算法1所示.
算法1.基于LSTMs的encoder-decoder框架的序列生成
Encoder:
輸入:案情要素詞序列EnSen:{S1,…,St}.
輸出:rc
BEGIN:
1.fort in 1: len (EnSen)
2.ft=σ(Wf·[rt-1,st]+bf);//忘記門選擇丟棄一些信息
3.it=σ(Wi·[rt-1,st]+bi);//sigmoid 層稱“輸入門層”決定什么值我們將要更新
6.ot=σ(Wo·[rt-1,st]+bo);//輸出門決定輸出信息
7.rt=ot·tanh(Ct);//輸出信息的向量表示
8.rc=q(r1:rt);
9.rc=q(r1:ri)=ri;//將最后的隱藏層作為輸入的關(guān)鍵詞序列的語義向量
10.end for
END
Decoder:
輸入:rc,前面生成的輸出詞向量序列DeSen:{y1,y2,…,yt-1}
輸出:解碼生成的詞向量序列DeSen:{y1,y2,…,yt}
BEGIN:
11.fort in 1: len (DeSen)
18.
19.yt=argmaxP(yt|y1,y2,…,yt-1,rc,ht)=g(yt-1,rc,ht);//g是一個非線性的多層感知機(jī),產(chǎn)生詞典C中各個詞語屬于yt的概率
20.end for
END
GAN網(wǎng)絡(luò)的優(yōu)勢是不需要設(shè)計專門的算法來評估生成的文本效果.GAN網(wǎng)絡(luò)的判別器D是一個二分類器,其輸入為G生成的案情描述及樣本案情描述,經(jīng)過D輸出值為一個0到1之間的數(shù),用于表示輸入文本數(shù)據(jù)為真實的案情描述的概率.由于CNN在文本分類中的高效性,這里采用了CNN網(wǎng)絡(luò)作為辨別器,結(jié)構(gòu)如圖2所示.
圖2 辨別器模型結(jié)構(gòu)圖Fig.2 Discriminative model
D的輸入序列ξ1=y1⊕y2⊕…⊕yT,即生成模型生成的案情描述,xt∈Rk是k維的向量,⊕是將輸入序列向量轉(zhuǎn)化為矩陣的運算,得到ξ1:T∈RT×k.D采取了窗口大小為l個詞的卷積核v∈Rl×k(卷積核是由輸入樣本案情描述轉(zhuǎn)化的矩陣向量訓(xùn)練得到),通過和輸入的文本矩陣卷積運算得到特征映射:
cj=δ(v?ξj:j+l-1+b)
(10)
?是卷積核和文本矩陣數(shù)乘運算,b是偏置量,δ是非線性激活運算,可以采用不同大小的卷積核進(jìn)行文本特征抽取,對特征矩陣進(jìn)行最大池化后得到:
(11)
再經(jīng)過基于sigmode函數(shù)的全連接層輸出得到輸入文本來自真實文本的概率.基于CNN的辨別器D(x,φ),x是真實樣本數(shù)據(jù),φ是參數(shù).D輸出一個標(biāo)量,這個標(biāo)量表示x來自于真實已有的案情描述pdata的概率.訓(xùn)練D最大化其正確區(qū)分真實案情描述和生成的案情描述的能力,同時訓(xùn)練生成器G以最小化log (1-D(G(S))),S代表案情要素詞序列.G的訓(xùn)練是關(guān)于值函數(shù)V(G,D)的極小化極大的二人博弈問題:
minGmaxDV(D,G)=
Ex~pdata(x)[logDx]+ES~pS(s)[log(1-D(G(S)))]
(12)
在訓(xùn)練生成器G和辨別器D過程中,固定一方,更新另一方的網(wǎng)絡(luò)權(quán)重,交替迭代,偽代碼如算法2.在這個過程中,雙方都極力優(yōu)化自己的網(wǎng)絡(luò):生成器不斷優(yōu)化自身生成逼真
文本的能力,辨別器不斷提高區(qū)分生成的文本與真實文本的能力,從而形成競爭對抗,直到雙方達(dá)到一個動態(tài)的平衡.此時生成模型G恢復(fù)了訓(xùn)練數(shù)據(jù)的分布(造出了和真實數(shù)據(jù)一模一樣的樣本)即有:
pg=pdata
(13)
算法2.生成對抗網(wǎng)絡(luò)的小批量隨機(jī)梯度下降訓(xùn)練
判別器訓(xùn)練步數(shù)k,為一個超參數(shù),本實驗設(shè)置k=2,考慮到消耗和訓(xùn)練速度;交替迭代訓(xùn)練 次達(dá)到收斂狀態(tài):
Pg=Pdata
BEGIN:
1. for i in 1: N
for j in 1: k
2. 輸入:含有m條案情要素關(guān)鍵詞序列{S(1),…,S(m)}
3. 輸入:由真實的文本生成模型Pdata生成的m段對應(yīng)的案情描
述文本序列
{x(1),…,x(m)}
4. 根據(jù)下式,通過隨機(jī)梯度上升更新訓(xùn)練生成器模型
5.end for
6.輸入:含有m條案情要素關(guān)鍵詞的序列{S(1),…,S(m)}
別器模型
8.end for
END
實驗部分的數(shù)據(jù)集采集于2016年某省離婚案件的法律文書[注]China Judgements Online.http://wenshu.court.gov.cn,2016.共25000份案情描述文本以及其對應(yīng)的案件要素表,內(nèi)容包含:當(dāng)事人信息、開庭判決總過程(以時間為序)、復(fù)核事實、證據(jù)陳述和判決結(jié)果.實驗前對數(shù)據(jù)集進(jìn)行了分詞、去除噪聲和去重復(fù)數(shù)據(jù)等預(yù)處理.
生成器G和辨別器D共享一組參數(shù),采用隨機(jī)梯度下降法交替更新這組參數(shù),達(dá)到“對抗”訓(xùn)練的效果.在訓(xùn)練的內(nèi)部循環(huán)中完成最優(yōu)化D從計算方面來講是過于高難度的,在有限的數(shù)據(jù)集上做這件事會導(dǎo)致過擬合.相反,我們在k步優(yōu)化D和1步優(yōu)化G交替進(jìn)行.只要G改變的足夠慢,D的結(jié)果就能維持其最近的最優(yōu)解.超參k的選取影響參數(shù)趨于收斂所花費的時間,以及參數(shù)趨于平衡后G生成文本的效果.
本節(jié)設(shè)計實驗1探究了在法律文本數(shù)據(jù)集上G對訓(xùn)練趨于收斂所需的時間以及收斂后生成器生成文本效果的影響;實驗2比較了本文所提模型與傳統(tǒng)模型在不同規(guī)模數(shù)據(jù)集下的文本生成效果;實驗3人為設(shè)定四種指標(biāo):法律性,流利性,連貫性,意義性來分析生成法律案情描述文本的質(zhì)量,進(jìn)而分析論文模型算法的有效性.
實驗1.比較k取值對于生成器G的收斂效果的影響.
實驗采用每訓(xùn)練k次D,訓(xùn)練一次G的策略.為分析整個模型生成文本效果,采用綜合收斂值與收斂速度來反映k對G收斂效果的影響.評價G收斂效果一種比較好的方法是從生成的文本取樣,表示為q,再讓充分了解真實文本數(shù)據(jù)特征的專業(yè)人員來評價G生成的文本正確性.假設(shè)專業(yè)人員學(xué)習(xí)了準(zhǔn)確的真實文本數(shù)據(jù)分布模型,表示為phuman(x).要使生成的文本與真實文本難以區(qū)分,就要最小化負(fù)對數(shù)似然值:
-Ex~qlogphuman(x)
(14)
為了模擬真實世界的結(jié)構(gòu)序列即真實的案情描述文本,實驗中使用一種語言模型來捕捉真實文本中的詞與詞之間的依賴關(guān)系.這里,隨機(jī)初始化一個LSTM網(wǎng)絡(luò)作為真實模型(命名為oracle,記為Goracle),用于生成真實案情描述文本數(shù)據(jù)分布p(xt|x1,…,xt-1).采用這一模型生成了10000份文本序列作為G的訓(xùn)練集,以此評估G生成文本的效果[11].在實驗數(shù)據(jù)集下,通過oracle模型評估G,得出評估函數(shù):
(15)
實驗中,從G生成的文本中采樣10000份,在不同的k值對采樣的每個文本計算其NLLoracle的平均值,k依次取1,2,3,5.圖3描述了本文所提模型ED-GAN在不同k值實驗下評估函數(shù)結(jié)果.
分析圖3得出,k=1時,D過擬合,k=5,收斂速度快,但生成效果不好.k=2,3時,收斂值和收斂速度得到平衡.
圖3 損失平均值Fig.3 Average of NLLoracle
實驗2.利用BLEU評分算法,來比較所提模型和傳統(tǒng)模型在不同規(guī)模數(shù)據(jù)集下的文本生成效果.
圖4 BLEU評分值 Fig.4 Score of BLEU
在生成文本效果差距很小的情況下,k=3時,模型訓(xùn)練的時間效率較高,因此實驗2設(shè)置k=3并采用BLEU評分算法計算了生成的案情描述文本與真實的案情描述文本之間的相似度,進(jìn)而評估模型生成文本的效果.實驗2將論文模型ED-GAN和前人提出的RNN(LSTM)序列模型和seqGAN序列生成模型作對比,三種計算模型的BLEU得分如圖4所示.
從圖4的柱狀圖可以得到模型ED-GAN生成的案情描述文本與傳統(tǒng)算法生成的案情描述文本相比有更高的BLEU得分,因此ED-GAN算法在案情描述生成上有更好的效果.
實驗3.比較ED-GAN和傳統(tǒng)模型的文本生成效果.
實驗為專業(yè)評價人設(shè)置了4個評價指標(biāo):法律專業(yè)性,流利性,連貫性和意義性,每個指標(biāo)的分值為1到5,分值越高代表生成的案情描述文本相應(yīng)指標(biāo)的效果越好.表2給出了這4個指標(biāo)的具體解釋.
表2 4個評價指標(biāo)及其解釋
Table 2 Meaning of four evaluation indexes
法律性文章滿足法律判決書的格式,相關(guān)術(shù)語滿足法律性表達(dá)流利性文章讀起來順口流利連貫性文章前后銜接正確,具有邏輯性,不矛盾意義性文章能讓人讀懂其要表達(dá)的意思,相關(guān)概念意思清楚
實驗仍然將論文模型ED-GAN與RNN(LSTM)型和SeqGAN模型對比,每種模型會分別生成20篇15字符的案情描述和20篇25個字符的案情描述.有四位專業(yè)人員分別針對四個指標(biāo)對各種模型生成的文本進(jìn)行評分,模型最終得分為四個指標(biāo)得分的平均值,結(jié)果如表3.
表3 4指標(biāo)及其平均分值
Table 3 Score of four indexes
指標(biāo)生成的文本長度ModelsRNNSeqGANED-GAN法律性15-char2.674.344.1025-char2.554.044.13流利性15-char3.134.614.5925-char3.424.454.56連貫性15-char3.214.054.2925-char3.444.014.49意義性15-char2.904.094.4625-char3.084.044.51平均分15-char2.894.274.3625-char3.124.144.42
從實驗結(jié)果數(shù)據(jù)可見,本論文所提出的模型ED-GAN相比較其他模型在4個評價指標(biāo)上的得分都有提高,對提高生成更準(zhǔn)確,更貼合真實案情文本的案情描述具有重要的意義,相對傳統(tǒng)地模型算法,特別在較長的案情描述文本生成上的效果更加準(zhǔn)確.
法律文本的自動生成可緩解法律服務(wù)行業(yè)中的人員不足現(xiàn)狀,根據(jù)用戶給出的案情要素自動生成案情描述文本,可以減少法律服務(wù)人員的文書工作,提高民眾對法律服務(wù)的獲取效率.本文結(jié)合Encoder-Decoder框架對GAN做了改進(jìn),構(gòu)建了適用于法律文本自動生成的深度學(xué)習(xí)網(wǎng)絡(luò)模型——ED-GAN,并將模型應(yīng)用于法律案情描述的生成中.實驗結(jié)果表明,ED-GAN模型在生成案情描述文本時具有較好的生成效果.在生成案情描述文本的基礎(chǔ)上,可以針對案情描述文本匹配相應(yīng)的法律判決,對于案件預(yù)測具有重要意義.