如何用深度學習做好長文本分類與法律文書智能化處理

姓名:劉成龍 ?學號:16020199016

轉載自:https://www.jiqizhixin.com/articles/2018-10-10-18掉丽,有刪節(jié)跌榔。

【嵌牛導讀】:用深度學習做好長文本分類與法律文書智能化處理

【嵌牛鼻子】:深度學習? 長文本分類

【嵌牛提問】:如何用深度學習做好長文本分類與法律文書智能化處理?

【嵌牛正文】:


在NLP領域中捶障,文本分類輿情分析等任務相較于文本抽取僧须,和摘要等任務更容易獲得大量標注數(shù)據(jù)。因此在文本分類領域中深度學習相較于傳統(tǒng)方法更容易獲得比較好的效果项炼。正是有了文本分類模型的快速演進担平,海量的法律文書可以通過智能化處理來極大地提高效率。我們今天就來分析一下當前state of art的文本分類模型以及他們在法律文書智能化中的應用锭部。

文本分類領域走過路過不可錯過的深度學習模型主要有FastText暂论,TextCNN,HAN拌禾,DPCNN取胎。本文試圖在實踐之后總結一下這些這些分類模型的理論框架,把這些模型相互聯(lián)系起來湃窍,讓大家在選擇模型與調參的時候能有一些直覺與靈感闻蛀。在深度學習這個實踐為王的領域常有人質疑理論理論無用,我個人的感受是理論首先在根據(jù)數(shù)據(jù)特征篩選模型的時候非常有用您市,其次在調參的過程中也能大幅提升效率循榆,更重要的是調不出結果的時候,往往腦海里的那一句“這個模型不應該是這樣的結果”墨坚,以及“這不科學”提供了堅持方向信心秧饮。

一、文本分類模型詳解

1. FastText

其中FastText結構特別簡單,對于速度要求特別高場合適用泽篮,他把一篇文章中所有的詞向量(還可以加上N-gram向量)直接相加求均值盗尸,然后過一個單層神經(jīng)網(wǎng)絡來得出最后的分類結果。很顯然帽撑,這樣的做法對于復雜的文本分類任務來說丟失了太多的信息泼各。FastText的一種簡單的增強模型是DAN,改變在于在詞向量平均完成后多疊了幾層全連接神經(jīng)網(wǎng)絡亏拉。對應地扣蜻,F(xiàn)astText也可以看成是DAN全連接神經(jīng)網(wǎng)絡層數(shù)為1的的一種特例逆巍。

圖1 2層DAN網(wǎng)絡

需要特別注意的是,對于不加n-gram向量的FastText模型莽使,他不可能去分辨否定詞的位置锐极,看下面的兩句話:

我不喜歡這類電影,但是喜歡這一個芳肌。

我喜歡這類電影灵再,但是不喜歡這一個。

這樣的兩句句子經(jīng)過詞向量平均以后已經(jīng)送入單層神經(jīng)網(wǎng)絡的時候已經(jīng)完全一模一樣了亿笤,分類器不可能分辨出這兩句話的區(qū)別翎迁,只有添加n-gram特征以后才可能有區(qū)別。因此净薛,在實際應用的時候需要對你的數(shù)據(jù)有足夠的了解汪榔。

2. TextCNN

TextCNN相較于fastText模型的結構會復雜一些,在2014年提出肃拜,他使用了卷積 + 最大池化這兩個在圖像領域非常成功的好基友組合揍异。我們先看一下他的結構。如下圖所示爆班,示意圖中第一層輸入為7*5的詞向量矩陣衷掷,其中詞向量維度為5,句子長度為7柿菩,然后第二層使用了3組寬度分別為2戚嗅、3、4的卷積核枢舶,圖中每種寬度的卷積核使用了兩個懦胞。

其中每個卷積核在整個句子長度上滑動,得到n個激活值凉泄,圖中卷積核滑動的過程中沒有使用padding躏尉,因此寬度為4的卷積核在長度為7的句子上滑動得到4個特征值。然后出場的就是卷積的好基友全局池化了后众,每一個卷積核輸出的特征值列向量通過在整個句子長度上取最大值得到了6個特征值組成的feature map來供后級分類器作為分類的依據(jù)胀糜。

圖2 TextCNN結構

我們知道圖像處理中卷積的作用是在整幅圖像中計算各個局部區(qū)域與卷積核的相似度,一般前幾層的卷積核是可以很方便地做可視化的蒂誉,可視化的結果是前幾層的卷積核是在原始輸入圖像中尋找一些簡單的線條教藻。NLP中的卷積核沒法做可視化,那么是不是就不能理解他在做什么了呢右锨,其實可以通過模型的結構來來推斷他的作用括堤。因為TextCNN中卷積過后直接就是全局max pooling,那么它只能是在卷積的過程中計算與某些關鍵詞的相似度,然后通過max pooling層來得出模型關注那些關鍵詞是否在整個輸入文本中出現(xiàn)悄窃,以及最相似的關鍵詞與卷積核的相似度最大有多大讥电。我們假設中文輸出為字向量,理想情況下一個卷積核代表一個關鍵詞轧抗,如下圖所示:

圖3 TextCNN卷積核的意義示意圖

比如說一個2分類輿情分析任務中恩敌,如果把整個模型當成一個黑箱,那么去檢測他的輸出結果鸦致,會發(fā)現(xiàn)這個模型對于輸入文本中是否含有“喜歡”潮剪,“熱愛”這樣的詞特別敏感涣楷,那么他是怎么做到的呢分唾?整個模型中能夠做到遍歷整個句子去計算關鍵詞相似度的只有卷積的部分,因為后面直接是對整個句子長度的max pooling狮斗。但是因為模型面對的是字向量绽乔,并不是字,所以他一個卷積核可能是只學了半個關鍵詞詞向量碳褒,然后還有另外的卷積核學了另外半個關鍵詞詞向量折砸,最后在分類器的地方這些特征值被累加得到了最終的結果。

TextCNN模型最大的問題也是這個全局的max pooling丟失了結構信息沙峻,因此很難去發(fā)現(xiàn)文本中的轉折關系等復雜模式睦授,TextCNN只能知道哪些關鍵詞是否在文本中出現(xiàn)了,以及相似度強度分布摔寨,而不可能知道哪些關鍵詞出現(xiàn)了幾次以及出現(xiàn)這些關鍵詞出現(xiàn)順序去枷。假想一下如果把這個中間結果給人來判斷,人類也很難得到對于復雜文本的分類結果是复,所以機器顯然也做不到删顶。針對這個問題,可以嘗試k-max pooling做一些優(yōu)化淑廊,k-max pooling針對每個卷積核都不只保留最大的值逗余,他保留前k個最大值,并且保留這些值出現(xiàn)的順序季惩,也即按照文本中的位置順序來排列這k個最大值录粱。在某些比較復雜的文本上相對于1-max pooling會有提升。

3. HAN(Hierarchy Attention Network)

相較于TextCNN画拾,HAN最大的進步在于完全保留了文章的結構信息关摇,并且特別難能可貴的是,基于attention結構有很強的解釋性碾阁。

他的結構如下圖所示:

圖4 HAN結構

輸入詞向量序列后输虱,通過詞級別的Bi-GRU后,每個詞都會有一個對應的Bi-GRU輸出的隱向量h脂凶,再通過uw向量與每個時間步的h向量點積得到attention權重宪睹,然后把h序列做一個根據(jù)attention權重的加權和亭病,得到句子summary向量s2,每個句子再通過同樣的Bi-GRU結構再加attention得到最終輸出的文檔特征向量v向量,然后v向量通過后級dense層再加分類器得到最終的文本分類結果。模型結構非常符合人的從詞->句子->再到篇章的理解過程。

最重要的是該模型在提供了更好的分類精度的情況下,可視化效果非常好拟枚。同時在調參過程中暴匠,我們發(fā)現(xiàn)attention部分對于模型的表達能力影響非常大弦悉,整個模型在所有位置調整L2-Loss對模型表達能力帶來的影響遠不如在兩處attention的地方大,這同時也能解釋為什么可視化效果比較好,因為attention對于模型的輸出貢獻很大常侦,而attention又恰恰是可以可視化的肘习。

下面我們來看一下他在法律領域罪名預測任務上的可視化效果器赞。下面的可視化的結果并不是找了極少數(shù)效果好的综看,而是大部分情況下模型的可視化能夠解釋他的輸出虚汛。需要注意的是螃诅,此處為了讓不太重要句子中相對重要的詞并不完全不可見锭汛,詞的亮度=sqrt(句子權重)*詞權重拄养。

在非常長的文本中岗憋,HAN覺得中間那些完全是廢話皱埠,不如那句“公訴機關認為”有用熏版,就放棄了畔柔。

圖5 HAN attention可視化1

如下圖所示氯夷,模型雖然在文本第二行中看到了竊取的字樣,但是他認為這個案件中主要的事件是搶劫靶擦,這就是保留文本結構的好處腮考。

圖6 HAN attention可視化2

可以看到并不是所有的深度學習模型都是不可以理解的,這種可解釋性也會給實際應用帶來很多幫助玄捕。

4 DPCNN

上面的幾個模型踩蔚,論神經(jīng)網(wǎng)絡的層數(shù),都不深枚粘,大致就只有2~3層左右馅闽。大家都知道何凱明大神的ResNet是CV中的里程碑,15年參加ImageNet的時候top-5誤差率相較于上一年的冠軍GoogleNet直接降低了將近一半,證明了網(wǎng)絡的深度是非常重要的福也。

圖7?ImageNet歷年冠軍

那么問題來了孝冒,在文本分類領域網(wǎng)絡深度提升會帶來分類精度的大幅提升嗎?我們在一些比較復雜的任務中拟杉,以及數(shù)據(jù)量比較大(百萬級)的情況下有提升庄涡,但不是ResNet那種決定性的提升。

DPCNN的主要結構如下圖所示:

圖8 DPCNN結構

從詞向量開始(本文的重點在于模型的大結構搬设,因此不去詳解文中的region embedding部分穴店,直接將整個部分認為是一種詞向量的輸出。)先做了兩次寬度為3拿穴,filter數(shù)量為250個的卷積泣洞,然后開始做兩兩相鄰的max-pooling,假設輸入句子長度padding到1024個詞默色,那么在頭兩個卷積完成以后句子長度仍然為1024。在block 1的pooling位置腿宰,max pooling的width=3呕诉,stride=2,也即序列中相鄰的3個時間步中每一維feature map取這三個位置中最大的一個留下吃度,也即位置0甩挫,1,2中取一個最大值椿每,然后伊者,移動2個時間步,在2间护,3亦渗,4時間步中取一次max,那么pooling輸出的序列長度就是511汁尺。

后面以此類推法精,序列長度是呈指數(shù)級下降的,這也是文章名字Deep Pyramid的由來均函。然后通過兩個卷積的非線性變換亿虽,提取更深層次的特征,再在輸出的地方疊加上未經(jīng)過兩次卷積的quick connection通路(ResNet中使得深層網(wǎng)絡更容易訓練的關鍵)苞也。因為每個block中的max pooling只是相鄰的兩個位置做max-pooling洛勉,所以每次丟失的結構信息很少,后面的卷積層又能提取更加抽象的特征出來如迟。所以最終模型可以在不丟失太多結構信息的情況下收毫,同時又做了比較深層的非線性變換攻走。

我們實際測試中在非線性度要求比較高的分類任務中DPCNN會比HAN精度高,并且由于他是基于CNN的此再,訓練速度比基于GRU的HAN也要快很多昔搂。

二、法律文書智能化應用

達觀數(shù)據(jù)在法律文書智能化處理中也應用了上面的幾個模型输拇,并在此基礎上做法律行業(yè)針對性的優(yōu)化摘符。在剛剛結束的“法研杯”法律人工智能大賽中達觀數(shù)據(jù)代表隊取得了單項三等獎的成績。

以裁判文書智能化處理為例策吠,達觀數(shù)據(jù)可以通過上述的文本分類器根據(jù)一段犯罪事實來向法律工作者推薦與描述的犯罪事實相關的罪名逛裤,法律條文,甚至是刑期的預測等猴抹。

下面以裁判文書網(wǎng)的一篇裁判文書為例带族,我們截取其中的犯罪事實部分文字,輸入模型蟀给。模型會根據(jù)輸入的文字判斷此段分類事實對應的罪名蝙砌,并且高亮出犯罪事實中的關鍵內容。

截取裁判文書網(wǎng)中的犯罪事實部分:

圖9 裁判文書樣例

輸入模型:

“公訴機關指控:2017年6月30日22時左右跋理,被告人耿艷峰醉酒駕駛冀T×××××號比亞迪小型轎車沿東孫莊村東水泥路由西向東行駛择克,行至事發(fā)處,與對向被告人孫漢斌無證醉酒駕駛無牌二輪摩托車發(fā)生碰撞薪介。造成兩車不同程度損壞祠饺,孫漢斌受傷的道路交通事故越驻。經(jīng)衡水市公安局物證鑒定所檢驗:耿艷峰血液酒精含量為283.11mg/lOOmL汁政;孫漢斌血液酒精含量為95.75mg/mL。經(jīng)武強縣交通警察大隊認定:耿艷峰缀旁、孫漢斌均負此事故的同等責任记劈。”

得到結果:

圖10 模型輸出結果

模型會輸出預測的罪名以及相關法條的推薦結果并巍,能夠極大地提高律師的效率目木。并且模型還能將關鍵的句子以及詞高亮出來給律師進一步仔細審閱提供方便。

目前在刑法相關的大量樣本上罪名預測與相關法條推薦的準確率在90%左右懊渡。刑期由于存在不同年代不同地區(qū)存在一些差異刽射,目前模型的輸出結果還不能特別直觀地給出評估。

三剃执、總結

目前state of the art的深度學習文本發(fā)分類模型在十萬~百萬級以上的數(shù)據(jù)上已經(jīng)能取得相當不錯的效果誓禁,并且也有一些可解釋性非常強的模型可用。要在實際業(yè)務中把文本分類模型用好肾档,除了像文中深入分析理論以外摹恰,在大量的業(yè)務實踐中總結經(jīng)驗也是必不可少的辫继。達觀在裁判文書處理等實際任務上實測輸出結果也非常不錯,并且達觀的深度學習文本分類技術也會在各個業(yè)務應用中不斷優(yōu)化升級俗慈,希望能為法律行業(yè)的智能化以及效率優(yōu)化作出一些貢獻姑宽。

參考文獻:

1.Joulin, Armand, et al. "Bag of Tricks forEfficient Text?Classification." Proceedings of the 15th Conferenceof the European Chapter of the Association for Computational Linguistics:Volume 2, Short Papers. Vol. 2. 2017.

2.Iyyer, Mohit, et al. "Deep unorderedcomposition rivals syntactic methods for?text classification." Proceedingsof the 53rd Annual Meeting of the Association for Computational Linguistics andthe 7th International Joint Conference on Natural Language Processing (Volume1: Long Papers). Vol. 1. 2015.

3.Kim, Yoon. "Convolutional?Neural Networksfor Sentence?Classification." Proceedings of the 2014 Conferenceon Empirical Methods in Natural Language Processing (EMNLP). 2014.

4.Yang, Zichao, et al. "Hierarchicalattention networks for document classification." Proceedings of the2016 Conference of the North American Chapter of the Association forComputational Linguistics: Human Language Technologies. 2016.

5.Johnson, Rie, and Tong Zhang. "Deeppyramid convolutional neural networks for text categorization." Proceedingsof the 55th Annual Meeting of the Association for Computational Linguistics(Volume 1: Long Papers). Vol. 1. 2017.

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市闺阱,隨后出現(xiàn)的幾起案子炮车,更是在濱河造成了極大的恐慌,老刑警劉巖酣溃,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件示血,死亡現(xiàn)場離奇詭異,居然都是意外死亡救拉,警方通過查閱死者的電腦和手機难审,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來亿絮,“玉大人告喊,你說我怎么就攤上這事∨擅粒” “怎么了黔姜?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蒂萎。 經(jīng)常有香客問我秆吵,道長,這世上最難降的妖魔是什么五慈? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任纳寂,我火速辦了婚禮,結果婚禮上泻拦,老公的妹妹穿的比我還像新娘毙芜。我一直安慰自己,他們只是感情好争拐,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布腋粥。 她就那樣靜靜地躺著,像睡著了一般架曹。 火紅的嫁衣襯著肌膚如雪隘冲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天绑雄,我揣著相機與錄音展辞,去河邊找鬼。 笑死绳慎,一個胖子當著我的面吹牛纵竖,可吹牛的內容都是我干的漠烧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼靡砌,長吁一口氣:“原來是場噩夢啊……” “哼已脓!你這毒婦竟也來了?” 一聲冷哼從身側響起通殃,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤度液,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后画舌,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體堕担,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年曲聂,在試婚紗的時候發(fā)現(xiàn)自己被綠了霹购。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡朋腋,死狀恐怖齐疙,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情旭咽,我是刑警寧澤贞奋,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站穷绵,受9級特大地震影響轿塔,放射性物質發(fā)生泄漏。R本人自食惡果不足惜仲墨,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一勾缭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宗收,春花似錦漫拭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽审胚。三九已至匈勋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間膳叨,已是汗流浹背洽洁。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留菲嘴,地道東北人饿自。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓汰翠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親昭雌。 傳聞我的和親對象是個殘疾皇子复唤,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內容