《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于Seq2Seq與Bi-LSTM的中文文本自動校對模型
基于Seq2Seq與Bi-LSTM的中文文本自動校對模型
2020年電子技術(shù)應(yīng)用第3期
龔永罡,,吳 萌,,廉小親,裴晨晨
北京工商大學(xué) 計算機(jī)與信息工程學(xué)院 食品安全大數(shù)據(jù)技術(shù)北京市重點實驗室,北京100048
摘要: 針對中文文本自動校對提出了一種新的基于Seq2Seq和Bi-LSTM結(jié)合的深度學(xué)習(xí)模型,。與傳統(tǒng)的基于規(guī)則和概率統(tǒng)計的方法不同,基于Seq2Seq基礎(chǔ)結(jié)構(gòu)改進(jìn),加入了Bi-LSTM單元和注意力機(jī)制,實現(xiàn)了一個中文文本自動校對模型,。采用F0.5與GLEU指標(biāo)評價,通過公開的數(shù)據(jù)集進(jìn)行不同模型的對比實驗,。實驗結(jié)果表明,,新模型能有效地處理長距離的文本錯誤以及語義錯誤,Bi-RNN以及注意力機(jī)制的加入對中文文本校對模型的性能有顯著提升,。
中圖分類號: TN06,;TP312
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190221
中文引用格式: 龔永罡,吳萌,,廉小親,,等. 基于Seq2Seq與Bi-LSTM的中文文本自動校對模型[J].電子技術(shù)應(yīng)用,2020,,46(3):42-46.
英文引用格式: Gong Yonggang,Wu Meng,,Lian Xiaoqin,,et al. Chinese text automatic proofreading model based on Seq2Seq and Bi-LSTM[J]. Application of Electronic Technique,2020,,46(3):42-46.
Chinese text automatic proofreading model based on Seq2Seq and Bi-LSTM
Gong Yonggang,,Wu Meng,Lian Xiaoqin,,Pei Chenchen
Beijing Key Laboratory of Food Safety Big Data Technology,,College of Computer and Information Engineering, Beijing Technology and Business University,Beijing 100048,,China
Abstract: A new deep learning model based on Seq2Seq and Bi-LSTM is proposed for Chinese text automatic proofreading. Different from the traditional rule-based and probabilistic statistical methods, a Chinese text automatic proofreading model is implemented by adding Bi-LSTM unit and attention mechanism based on Seq2Seq infrastructure improvement. Comparative experiments of different models were carried out through the open data sets. Experimental results show that the new model can effectively deal with long-distance text errors and semantic errors. The addition of Bi-RNN and attention mechanism can improve the performance of Chinese text proofreading model.
Key words : Chinese text proofreading,;recurrent neural network;Seq2Seq,;natural language proceessing

0 引言

    隨著出版行業(yè)電子化的不斷發(fā)展,,其中中文文本校對環(huán)節(jié)的任務(wù)越來越重,使用傳統(tǒng)的人工校對顯然無法滿足需求,。因此,,中文文本自動校對技術(shù)的發(fā)展就顯得尤其重要。

    本文采用深度學(xué)習(xí)中的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks)進(jìn)行文本自動校對,。其特點是能處理任意長度的輸入和輸出序列,,因此被廣泛應(yīng)用在自然語言處理(Natural Language Processing)任務(wù)中。在機(jī)器翻譯任務(wù)上,,CHO K等在2014年發(fā)表的論文[1]中首次提出基于循環(huán)神經(jīng)網(wǎng)絡(luò)設(shè)計的Seq2Seq模型,,并且在多個自然語言處理問題上取得突破。因此,,Seq2Seq模型的提出為文本校對領(lǐng)域的研究提供了一種新的思路與方法,。

    目前,基于深度學(xué)習(xí)的中文文本自動校對技術(shù)的研究仍處于起步階段,,本文著重研究了基于Seq2Seq模型與BiRNN網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)的網(wǎng)絡(luò)模型,,使其適用于中文文本校對問題,為中文文本校對領(lǐng)域提供了一種新的方法,。

1 背景

1.1 中文文本校對的研究現(xiàn)狀

    目前,,國內(nèi)在中文文本校對方面的研究主要采用以下3種方法:(1)基于拼音的中文文本校對[2];(2)基于字的中文文本校對[3],;(3)基于上下文的中文文本校對[4],。這三種方法采用的校對規(guī)則又分為3類:(1)利用文本的特征,如字形特征,、詞性特征或上下文特征,;(2)利用概率統(tǒng)計特性進(jìn)行上下文接續(xù)關(guān)系的分析[5];(3)利用語言學(xué)知識,,如語法規(guī)則,、詞搭配規(guī)則等[6]

1.2 Seq2Seq模型

    基礎(chǔ)的Seq2Seq模型包含三部分,,即Encoder端,、Decoder端以及連接兩者的中間狀態(tài)向量[7]。Encoder編碼器將輸入序列X=(x1,,…,,xT)編碼成一個固定大小的狀態(tài)向量S傳給Decoder解碼器,,解碼器通過對S的學(xué)習(xí)生成輸出序列Y=(y1,…,,yK)[8],。解碼器主要基于中間狀態(tài)向量S以及前一時刻的輸出y(t-1)解碼得到該時刻t的輸出y(t)[9]。其結(jié)構(gòu)如圖1所示,。

rgzn1-t1.gif

1.3 Bidirectional-LSTM

    LSTM(Long Short-Term Memory)是門控制循環(huán)神經(jīng)網(wǎng)絡(luò)的一種,。標(biāo)準(zhǔn)的RNN網(wǎng)絡(luò)能夠存儲的信息很有限,并且輸入對于輸出的影響隨著網(wǎng)絡(luò)環(huán)路的不斷遞增而衰退[10],;而LSTM在面對較長的序列時,,依然能夠記住序列的全部信息。LSTM是一種擁有輸入門,、遺忘門,、輸出門3個門結(jié)構(gòu)的特殊網(wǎng)絡(luò)結(jié)構(gòu)[11]。LSTM通過這些門的結(jié)構(gòu)讓信息有選擇性地影響網(wǎng)絡(luò)中每個時刻的狀態(tài)[12],。LSTM的結(jié)構(gòu)如圖2所示,。

rgzn1-t2.gif

rgzn1-gs1-8.gif

    Bi-RNN克服了單向RNN當(dāng)前時刻的輸出與之后時刻的輸出無關(guān)的問題[14]。在Bi-RNN中,,將一個RNN網(wǎng)絡(luò)拆成了兩個方向,,不僅有從左向右的前向連接層,還存在一個從右向左的反向連接層,,這兩個連接層連接同一個輸出層,,從而在保證網(wǎng)絡(luò)可以處理較長序列不發(fā)生遺忘的同時,又保證了能夠提供給輸出層輸入序列的完整上下文信息[15],。其結(jié)構(gòu)如圖3所示,。

rgzn1-t3.gif

2 模型的實現(xiàn)

2.1 數(shù)據(jù)預(yù)處理

    模型的基本架構(gòu)是Seq2Seq模型。在構(gòu)造模型之前,,需要先對語料進(jìn)行預(yù)處理,,包括以下5個部分:加載數(shù)據(jù);清洗數(shù)據(jù),;切詞編碼,;分析統(tǒng)計;語料轉(zhuǎn)換,。加載數(shù)據(jù)的時候需要對語料文本進(jìn)行切分,,以句子為單位,即每一行代表一個完整的句子,,以此讀入訓(xùn)練數(shù)據(jù)。切詞部分可以借助一些成熟的中文分詞工具,,如 jieba分詞,。完成分詞再加載的過程中,,要注意同時清洗數(shù)據(jù),去掉數(shù)字,、特殊字符等[16],,再以詞為單位對其進(jìn)行編碼錄入詞庫。

    完成詞庫到數(shù)字的映射之后,,需再根據(jù)這種映射關(guān)系完成數(shù)字到詞庫的反映射,。分析數(shù)據(jù)是針對訓(xùn)練語料進(jìn)行統(tǒng)計性的描述,了解訓(xùn)練數(shù)據(jù)的一些信息,,例如:訓(xùn)練語句的個數(shù),、最長與最短句含有的單詞數(shù)、訓(xùn)練語料構(gòu)成的詞庫中非重復(fù)詞的個數(shù)等,。最后可按照句子從少到多進(jìn)行排列,,優(yōu)化訓(xùn)練過程[17]

2.2 Bi-LSTM的Seq2Seq網(wǎng)絡(luò)模型

2.2.1 基本Seq2Seq結(jié)構(gòu)的局限性

    在機(jī)器翻譯,、文摘生成等問題上,,基礎(chǔ)的Seq2Seq模型一直都有不錯的表現(xiàn),但是針對文本校對這類問題,,其結(jié)構(gòu)并不能直接被使用,。Encoder將輸入編碼為固定大小狀態(tài)向量的過程首先是一個“信息有損壓縮”的過程,如果信息量越大,,那么這個轉(zhuǎn)化向量的過程對信息的損失就越大,,同時,隨著sequence length的增加,,意味著時間維度上的序列很長,,RNN模型也會出現(xiàn)梯度彌散[18]。其次,,基礎(chǔ)的模型連接Encoder和Decoder模塊的組件僅僅是一個固定大小的狀態(tài)向量,,這使得Decoder無法直接去關(guān)注到輸入信息的更多細(xì)節(jié)[10]。最后,,由于RNN網(wǎng)絡(luò)的特性,,當(dāng)前時刻的輸出只與當(dāng)前時刻的輸入和之前的輸入有關(guān)[19],因此模型對于信息的捕獲不夠完整,。

2.2.2 模型的構(gòu)建

    校對模型由編碼端,、解碼端組成,編碼端是由LSTM單元組成的Bi-RNN網(wǎng)絡(luò),。在中文文本自動校對中,,輸入序列是標(biāo)記為rgzn1-2.2.2-x1.gif的完成分詞的中文語句文本,其中上角標(biāo)j代表句子在語料庫中的位置,,下角標(biāo)代表該詞在第i句中的位置,。文本中的每一個詞在輸入到LSTM網(wǎng)絡(luò)前要轉(zhuǎn)化成機(jī)器可識別的數(shù)字編碼,。由于LSTM只能處理定長的數(shù)據(jù),因此需要保證輸入語料的長度Tx保持固定,。通過預(yù)處理部分可以得到最長句子的詞數(shù),,假設(shè)詞數(shù)Tx=20,則應(yīng)對不足20個詞長的句子進(jìn)行<PAD>補(bǔ)全,。編碼端接收每一個中文詞語的數(shù)字形式和其上一個時間點的隱層狀態(tài),,由于采用Bi-RNN網(wǎng)絡(luò),輸出的是當(dāng)前時間點的隱層狀態(tài),,結(jié)構(gòu)如圖4所示,,其展示了兩個雙向的LSTM單元。

rgzn1-t4.gif

rgzn1-gs9-12.gif

    解碼端是一個帶注意力機(jī)制的RNN網(wǎng)絡(luò),,其在t時刻生成一個詞時可以利用到此前的全部上文信息,。解碼端接收目標(biāo)句子中上一個時間點的中文詞語和上一個時間點的隱層狀態(tài)與注意力機(jī)制產(chǎn)生的語義向量,如圖5所示,。

rgzn1-t5.gif

     rgzn1-gs13-14.gif

    由于注意力機(jī)制的存在,,每個時刻生成詞時對輸入序列各個詞的關(guān)注程度是不一樣的,因此編碼端在每個時刻給出的Ci是不一樣的,。其計算公式如式(15)所示,。其中,hj表示編碼端的第j個詞的隱層狀態(tài),,αij表示編碼端的第j個詞與解碼端的第i個詞之間的權(quán)值,,其計算公式如式(16)所示。在式(16)中,,eij是一個softmax模型輸出,,概率值的和為1。eij表示一個對齊模型,,用于衡量編碼端的第j個詞相對于解碼端的第i個詞的對齊程度(影響程度),。對齊模型eij的計算方式如式(17)所示。

     rgzn1-gs15-17.gif

    eij的計算方法有很多種,,不同的計算方式,,代表不同的Attention模型,本文使用的是Soft Attention模型,,它可以被嵌入到模型中去,,直接訓(xùn)練。Soft Attention模型在求注意力分配概率的時候,,對于輸入句子X中任意一個詞都給出概率,。結(jié)構(gòu)如圖6所示。

rgzn1-t6.gif

    圖6展示了在預(yù)測第t個時間段的輸出yt時的結(jié)構(gòu),。通過對Encoder層狀態(tài)的加權(quán),,從而掌握輸入語句中的所有細(xì)節(jié)信息,,最后將語義向量和解碼端的隱層狀態(tài)合拼起來,計算最后的輸出概率,。

    以“我愛機(jī)器學(xué)習(xí)”為例,假設(shè)當(dāng)前時刻正準(zhǔn)備校對“機(jī)器”這個詞,,此時需要計算語義向量,,如圖7所示。

rgzn1-t7.gif

    圖7中,,St-1代表解碼端前一輪的隱層狀態(tài),,即代表了校對“機(jī)器上一個詞”階段的輸出隱層狀態(tài);a1~a4分別代表了編碼端每個詞輸入到Bi-RNN后的隱層狀態(tài),。Attention根據(jù)每個Encoder輸出和Decoder的上一次隱層給出每個邊的得分,,然后和上一次訓(xùn)練的預(yù)測值拼合到一起,和Decoder端上一時刻的隱層作為輸入進(jìn)入當(dāng)前時刻的RNN,。

2.2.3 模型的訓(xùn)練與優(yōu)化

    在完成了模型的構(gòu)建后,,還需要構(gòu)造解碼端的訓(xùn)練與預(yù)測函數(shù),并將訓(xùn)練與預(yù)測分開,。因為解碼器會將前一時刻的輸出作為當(dāng)前時刻的輸入,,如果前一時刻的輸入不夠準(zhǔn)確,那么就會影響后續(xù)的預(yù)測,。所以在訓(xùn)練過程中,,需要知道每一個輸入到網(wǎng)絡(luò)中的句子的正確形式,進(jìn)而采用強(qiáng)制正確輸入來進(jìn)行訓(xùn)練,,這種方式叫做Teacher Forcing,,如圖8所示。

rgzn1-t8.gif

    前面已經(jīng)介紹過解碼端某一時刻的概率分布,,所以對于全部的訓(xùn)練樣本,,需要做的就是在整個訓(xùn)練樣本下,所有樣本的P(y1,,…,,yT|x1,…,,xT)概率之和最大,,最大化條件似然函數(shù),得到最佳的校對結(jié)果,。模型使用grid search設(shè)計,,以便找到最佳架構(gòu)和超參數(shù)值。

3 結(jié)果與分析

    實驗使用阿里云服務(wù)器GN2作為訓(xùn)練服務(wù)器,,使用TensorFlow框架,,共進(jìn)行了4組實驗,,分別用來測試Seq2Seq、BiRNNSeq2Seq,、帶注意力機(jī)制的Seq2Seq以及與這兩者結(jié)合在一起的4種模型在中文文本校對中的性能,。實驗所使用的數(shù)據(jù)集來源于2018 NLPCC共享的訓(xùn)練數(shù)據(jù)Task 2以及一部分搜狗實驗室提供的開源中文語料庫,全部的數(shù)據(jù)集包含了1 327 608個句子對,,分別用Src和Trg表示,,Src代表原句,既可能為正確的句子也可能為包含用詞錯誤的句子,;Trg表示目標(biāo)輸出,,其均為對應(yīng)Src的正確句子,其中不包含驗證集,。將全部數(shù)據(jù)集按比例(99.5:0.5)隨機(jī)分成兩部分:一個驗證集,,其中包含5 310個句子對,源句與目標(biāo)句子之間存在不一致,;另一個訓(xùn)練集包含所有剩余的1 322 298個句子對,。測試數(shù)據(jù)包含2 000個句子對。數(shù)據(jù)集的統(tǒng)計數(shù)據(jù)如表1所示,。

rgzn1-b1.gif

    表1展示了訓(xùn)練驗證和測試數(shù)據(jù)的統(tǒng)計,。.Src是指源錯誤的句子,.Trg是指目標(biāo)正確的句子,。

    為了合理客觀地評價模型,,實驗采用廣泛使用的MaxMatch Scorer工具包進(jìn)行評估。中文文本校對實驗結(jié)果如表2所示,,其中F0.5,、F1、BLEU為評價分?jǐn)?shù),。

rgzn1-b2.gif

    實驗結(jié)果表明,,Bi-RNN以及注意力機(jī)制均有助于提升中文文本校對模型的性能,并且二者結(jié)合起來可以進(jìn)一步改善系統(tǒng)的性能,。由于模型的實驗結(jié)果受數(shù)據(jù)量以及迭代次數(shù)的影響,,因此在此基礎(chǔ)上引入更多的數(shù)據(jù)做訓(xùn)練,并且通過改善訓(xùn)練方法,,如引入流暢度學(xué)習(xí),、推斷機(jī)制等進(jìn)一步提升模型校對的準(zhǔn)確率。

4 結(jié)論

    本文給出了基于Seq2Seq和Bi-LSTM設(shè)計的中文文本校對模型并且通過公開的數(shù)據(jù)集全面驗證了模型的性能,。模型的核心內(nèi)容是在引入Bi-LSTM單元和注意力機(jī)制的同時,,用Seq2Seq結(jié)構(gòu)網(wǎng)絡(luò)對中文語料庫進(jìn)行學(xué)習(xí),挖掘詞與詞之間的關(guān)系,并以此作為中文文本校對的依據(jù),。雖然由于訓(xùn)練量的原因,,在結(jié)果上并未達(dá)到最好的效果,但是可以看出該模型在中文文本校對領(lǐng)域里具備了很大的潛力,,并可以擴(kuò)展應(yīng)用在多個中文自然語言處理領(lǐng)域,。

參考文獻(xiàn)

[1] CHO K,MERRIENBOER B,,GULCEHRE C.Learning phrase representations using RNN encoder–decoder for statistical machine translation[J].Computer Science,,2014(v1):52-55.

[2] 張仰森,俞士汶.文本自動校對技術(shù)研究綜述[J].計算機(jī)應(yīng)用研究,,2006(6):8-12.

[3] 洛衛(wèi)華,羅振聲.中文文本自動校對技術(shù)的研究[J].計算機(jī)研究展,,2004,,33(1):60-64.

[4] 劉亮亮,曹存根.中文“非多字錯誤”自動校對方法研究[J].計算機(jī)科學(xué),,2016(10):34-39.

[5] 謝剛.知識圖譜精化研究綜述[J].電子技術(shù)應(yīng)用,,2018,44(9):29-38.

[6] DE FELICE R,,PULMAN S G.A classifier-based approach to preposition and determiner error correction in L2 English[C].Proceeding of the 22nd International Conference on Computational Linguistics.COLING 2008 22nd International Conference,,2008:167-176.

[7] 吳巖,李秀坤,,劉挺,,等.中文自動校對系統(tǒng)的研究與實現(xiàn)[J].哈爾濱工業(yè)大學(xué)學(xué)報,2001(2):60-64.

[8] Chen Yongzhi,,WU S H,,Yang Pingche,et al.Improve the detection of improperly used Chinese characters in students essays with error model[J].International Journal of Continuing Engineering Education and Lifelong Learning,,2012(v1):93-97.

[9] 吳林,,張仰森.基于知識庫的多層級中文文本查錯推理模型[J].計算機(jī)工程,2012,,38(20):21-25.

[10] 劉亮亮,,王石,王東升,,等.領(lǐng)域問答系統(tǒng)中的文本錯誤自動發(fā)現(xiàn)方法[J].中文信息學(xué)報,,2013,27(3):77-83.

[11] 張仰森,,唐安杰.面向政治新聞領(lǐng)域的中文文本校對方法研究[J].中文信息學(xué)報,,2014,28(6):44-49.

[12] 字云飛,李業(yè)麗,,孫華艷.基于深度神經(jīng)網(wǎng)絡(luò)的個性化推薦系統(tǒng)研究[J].電子技術(shù)應(yīng)用,,2019,45(1):14-18.

[13] TAN Y,,YAO T,,CHEA Q,et al.Applying conditional random fields to Chinese shallow parsing[C].Proceedings of Clcling-2005,,Mexico City,,2005:167-176.

[14] KUDO T,YAMAMOTO K,,MATSUMOTO Y.Applying conditional random fields to japanese morphological analysis[C].Natural Language Processing(Emnlp-2004),,Barcelona,2004:230-237.

[15] 王潔,,喬藝璇,,彭巖,等.基于深度學(xué)習(xí)的美國媒體“一帶一路”輿情的情感分析[J].電子技術(shù)應(yīng)用,,2018,,44(11):102-106.

[16] 潘吳,顏車.基于中文分詞的文本自動校對算法[J].武漢理工大學(xué)學(xué)報,,2009,,31(3):18-20,28.

[17] PINTO D,,MCCALLUM A,,WEI X.Table extraction using conditional random fields[C].26th ACM SIGIR,Canada,,2003:235-242.

[18] 張仰森,,鄭佳.中文文本語義錯誤偵測方法研究[J].計算機(jī)學(xué)報,2017(3):63-68.

[19] ZHOU G D,,SU J.Named entity recognition using an HMM-based chunk tagger[C].Proceedings of the 40th Annual Meeting of the ACL′2002,,Philadelphia,2002:473-480.



作者信息:

龔永罡,,吳  萌,,廉小親,裴晨晨

(北京工商大學(xué) 計算機(jī)與信息工程學(xué)院 食品安全大數(shù)據(jù)技術(shù)北京市重點實驗室,,北京100048)

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。