【學術論文】基於Transformer模型的中文文本自動校對研究

2021-03-02 電子技術應用ChinaAET

提出將Transformer模型應用於中文文本自動校對領域。Transformer模型與傳統的基於概率、統計、規則或引入BiLSTM的Seq2Seq模型不同,該深度學習模型通過對Seq2Seq模型進行整體結構改進,從而實現中文文本自動校對。通過使用公開數據集對不同模型進行對比實驗,採用準確率、召回率與F1值作為評價指標,實驗結果表明,Transformer模型相比較於其他模型,在中文文本自動校對的性能上有了大幅提升。

中文引用格式: 龔永罡,裴晨晨,廉小親,等. 基於Transformer模型的中文文本自動校對研究[J].電子技術應用,2020,46(1):30-33,38.
英文引用格式: Gong Yonggang,Pei Chenchen,Lian Xiaoqin,et al. Research on automatic proofreading of Chinese text based on Transformer model[J]. Application of Electronic Technique,2020,46(1):30-33,38.


在如今信息量與日俱增的大數據時代,每天都會產生大量的文本信息,隨之而來的文本校對任務也越來越繁重,傳統的人工校對不僅校對周期長、勞動強度大,而且效率低,研究快速高效的自動校對方法是十分必要的。基於概率統計的中文文本校對方法通過構建混淆集,分析目標詞語與其上下文詞語的同現特徵及搭配特徵,判斷哪些錯誤需要校對,並在混淆集中選取概率值最高的詞語替換目標詞語,從而進行文本校對[1]。然而,對於長距離的文本錯誤及語義錯誤,此類方法往往效果不佳。近年來,隨著深度學習技術的快速發展,將深度學習技術應用於中文文本自動校對任務成為了一種新的發展方向。深度學習技術中的Transformer模型在Google於2017年6月發布在arXiv上的一篇文章《Attention is all you need》中提出[2],使用完全基於Self-Attention即「自注意力機制」的網絡結構,拋棄了傳統Encoder-Decoder即「編碼器-解碼器」模型必須使用RNN或CNN的固有模式[3]。本文首次將其應用於中文文本自動校對任務,實驗結果表明該模型可以較好地解決中文文本自動校對中的遠距離信息丟失問題,進一步提升校對性能。

1.1 中文文本自動校對的國內外研究現狀

國外最早於20世紀60年代開始展開英文文本自動校對研究,發展至今,已取得突破性進展,擁有高準確率和高召回率的校對方法也已經應用到實際產品當中[4]。而國內關於中文文本自動校對的研究起步較晚,於20世紀90年代開始在國外對英文文本自動校對研究的基礎上,進行中文文本自動校對技術研究[5]。目前,國內對於中文文本自動校對技術的研究方法主要有以下3種:(1)基於規則或語言學知識的方法[6];(2)基於統計、概率的方法,如N-gram模型[7];(3)基於特徵和Winnow學習模型,通過構造混淆集進行校對[8]。以上3種方法均為傳統的中文文本校對方法[9],本文則是通過深度學習技術進行中文文本自動校對,而傳統的深度學習技術通常採用RNN或CNN進行中文文本自動校對[10]。

1.2 RNN與CNN在中文文本自動校對的局限性

使用RNN進行中文文本自動校對任務時,通常採用雙向RNN結構[11]。即通過一個RNN進行從左往右的壓縮表示,另一個RNN進行從右往左的壓縮表示,將兩種壓縮表示結合起來,作為最終序列的分布式表示。因為對序列中的元素按順序處理,所以兩個詞之間的交互距離即相對距離。因此,RNN在長距離序列中存在信息丟失問題,即使是加入了門控機制的LSTM[12]和GRU,依然無法解決該問題。使用CNN進行中文文本自動校對任務時,一般使用多層結構來實現序列從局部表示到全局表示[13]。一個詞首先會在底層CNN單元上與其距離較近的詞產生交互,然後在稍高層次的CNN單元上與更遠一些的詞產生交互。詞之間的交互距離,與它們的相對距離成正比,因此使用CNN進行中文文本自動校對任務同樣會導致遠距離信息丟失問題。Transformer模型是一種對序列信息建模的新方法,該模型依然沿用了經典的Encoder-Decoder結構,不同的是Transformer模型不再使用RNN或CNN,而是使用Self-Attention機制。該機制的優勢就是可以獲取文本語義信息而不受詞語之間的相對距離影響,從而解決遠距離信息丟失問題,提高校對性能。

2.1 Self-Attention

Self-Attention機製作為Transformer模型最核心的特點,其可以建立當前位置詞語與其上下文相關詞語之間的聯繫。實現方式為:首先,將輸入向量分別與3個隨機初始化的權值矩陣WQ、WK和WV相乘,計算得出3個新的向量,分別為查詢向量q、鍵向量k和值向量v。其中q向量表示為了編碼當前詞語,需要去注意文本中的其他詞;k向量是當前詞的可以被用於檢索的信息;v向量則表示當前詞語的實際內容。接下來計算Self-Attention的分數值,其決定了在對輸入句子中的某個詞語進行編碼時,對句子中其他部分的關注程度。

    如圖1所示,針對「生度」這個詞,通過查詢向量與鍵向量點乘,計算出其他詞對於該詞的一個分數值。首先針對於本身即q1×k1,然後針對於第二個詞即q1×k2;為了減少乘積值過大對之後歸一化的影響,將點乘得到的結果分別除以向量維度的開方;之後再做歸一化處理,得到的結果即每個詞與當前位置詞語的相關性大小;最後將值向量v與歸一化後的結果相乘再相加,得到的結果即Self-Attetion在當前節點的值。計算方式如圖1所示。

為了提高計算速度,本文採用矩陣的方式進行計算,計算方法如式(1)所示。

    

其中,Q、K、V分別表示對應的3個向量矩陣,即查詢矩陣、鍵矩陣和值矩陣;dkey表示向量維度,本文取64維。

2.2 Multi-Headed Attention

為了提升模型性能,加入了 Multi-Headed Attention機制[14],即「多頭注意力」機制,通過初始化多組權值矩陣進行計算,本文選取8組。將計算得到8個矩陣拼接為一個矩陣,再將一個隨機初始化的矩陣與拼接好的矩陣相乘,得到最終矩陣。該機制的結構如圖2所示。

「多頭注意力」機制有多個「注意力頭」,因此可以並行計算,提高模型訓練速度。並且每個「注意力頭」都有對應的權值矩陣,實現不同的線性變換,因此擴展了模型關注序列不同位置的信息的能力,可以對文本的語義信息有更完整的理解,從而進一步提高校對性能。

3.1 數據預處理

在Transformer模型構造之前,需要對輸入的數據進行預處理[15],包括:數據加載、數據清洗、分詞、語料轉換、分析統計。其中,數據加載是將數據集中的數據導入模型;數據清洗是去除語料中的特殊字符;分詞使用中文分詞工具「jieba分詞」,對語料進行分詞[16];語料轉換是將中文詞語轉換成對應的數字編碼,以及對應的數字編碼轉換為中文詞語;分析統計是對語料進行分析,了解語料特徵。

3.2 Transformer模型結構

本文中的Transformer模型由6個編碼器層和6個解碼器層堆疊組成。待校對文本在編碼器端輸入,正確文本在解碼器端輸入,通過監督學習來訓練模型。即訓練階段將訓練集中的輸入語料作為編碼器輸入,將對應的正確語料作為解碼器的輸入;在測試階段將測試集的待校對語料作為編碼器的輸入,解碼器端無輸入,僅依賴前一時刻的解碼器輸出信息進行校對。其整體結構如圖3所示。

編碼器層內部包含兩個子層,即一個Self-Attention層和一個全連接的前饋神經網絡層。Self-Attention層中的查詢向量、鍵向量和值向量均來自於前一個編碼器層,因此編碼器層的每個位置都能去關注前一層輸出的所有信息,使得當前節點不僅關注當前信息,還能獲得上下文的語義信息。前饋神經網絡層應用於Self-Attention層的輸出,由兩個線性變換和一個ReLU激活函數組成。計算方法如式(2)所示。

    

其中,W1和W2為模型中神經元的權值,b1和b2為偏置值,x為輸入向量。

解碼器層不僅包含編碼器層中的兩個子層,還添加了一個注意力子層對編碼器的輸出執行多頭注意,其查詢向量來自於前一個解碼器層,鍵向量和值向量來自於編碼器的輸出,因此解碼器的每個位置都可以關注到編碼器輸入序列的全部信息,幫助當前解碼器節點獲取到需要關注的重點內容。此外,解碼器的Self-Attention子層加入了masked部分,其可以對某些值進行掩蓋,從而防止模型注意到後續位置信息。這種屏蔽確保了當前的預測只能依賴於之前的已知輸出。

3.3 Transformer模型實現過程

3.3.1 Embedding

首先,模型對輸入數據進行Embedding,即詞嵌入,將輸入詞語轉變成向量[17]。將向量輸入到編碼器和解碼器的第一層,經過多頭注意力機制處理後傳入前饋神經網絡,得到的輸出信息作為下一層編碼器和解碼器的輸入[18]。

3.3.2 Positional Encoding

因為Transformer模型缺少對輸入序列中詞語順序的表示,所以需要在編碼器層和解碼器層的輸入添加一個Positional Encoding向量,即位置編碼向量,維度與輸入向量的維度相同,本文取512維。該向量決定當前詞在序列中的位置,計算方法如式(3)、式(4)所示:

    

其中,pos是指當前詞語在句子中的位置;i表示pos對應的向量值,取值範圍為0~255;dmodel表示向量維度。在偶數位置,使用正弦編碼;在奇數位置,使用餘弦編碼。最後將位置編碼向量與輸入向量相加,作為輸入傳入模型。

3.3.3 殘差連接和歸一化

編碼器層和解碼器層中每個子層都加入了殘差連接和歸一化[19]。子層先進行殘差連接,避免誤差反向傳播時的梯度消失,接著對輸出進行歸一化,避免梯度消失或梯度爆炸。剩餘連接和歸一化後的輸出表示如式(5)所示:

    

其中,x為前一層前饋神經網絡或多頭注意力層的輸出向量,SubLayer為注意力機制函數,LayerNorm為歸一化函數。

3.3.4 輸出層

當解碼器層全部執行完畢後,為了將得到的向量映射為本文需要的詞語,需要在最後一個解碼器層後添加一個全連接層和Softmax層。全連接層輸出logits向量,作為Softmax層的輸入。假設詞典包括n個詞語,那最終Softmax層會輸出n個詞語分別對應的概率值,概率值最大的對應詞語就是最終的輸出結果。針對上述模型,本文設計了以下的實驗。本實驗運行環境作業系統為Windows 10,CPU為Intel CoreTMi5-8265,GPU為GTX 1070Ti,運行內存8 GB。一共進行4組實驗,分別為傳統的Seq2Seq、加入BiLSTM的Seq2Seq、基於注意力機制的BiLSTM Seq2Seq與Transformer共4種模型。實驗使用的數據集來自於2018 NLPCC共享的訓練數據集Task 2,其中提供了717 206條中文文本語句對,將其中的700 000條作訓練集,17 206條作測試集,劃分過程隨機。Src代表待校對語料,Trg表示原句所對應的正確語料。數據集的統計數據如表1所示,分為訓練集和測試集,統計了正確語料和錯誤語料,以及分詞後的詞語總數。

為了對不同模型的校對效果進行評價,本次實驗採用準確率、召回率和F1值作為指標,對實驗結果進行評估,實驗結果如表2所示。

實驗結果表明,BiLSTM和注意力機制均可以在傳統Seq2Seq模型的基礎上提升中文文本校對效果,然而,Transformer模型的表現更好。並且,深度學習模型的校對效果受到訓練次數和訓練數據集大小的影響,如果增加Transformer模型的訓練次數和增大訓練數據集,模型將擁有更好的校對效果。本文將Transformer模型應用於中文文本自動校對領域,通過公開數據集對該模型的校對性能進行驗證,得出該模型的校對效果相比較於其他的模型在準確率和召回率方面均有很大提升。本次實驗由於數據集的局限性[20],導致並未展現出Transformer模型的全部能力,但是該模型在中文文本自動校對中的表現依然優異,也為Transformer模型應用於其他自然語言處理任務提供了可能性。



參考文獻

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

[2] VASWANI A,SHAZEER N,PARMAR N,et al.Attention is all you need[J].Comouting Research Respository,2017,arXiv:1706:87-90.

[3] ZHANG C,WANG X,YU S,et al.Research on keyword extraction of Word2vec model in Chinese corpus[C].IEEE/ACIS 17th International Conference on Computer and Information Science(ICIS).IEEE,2018:339-343.

[4] 張濤.中文文本自動校對系統設計與實現[D].成都:西南交通大學,2017.

[5] 劉亮亮,王石,王東升,等.領域問答系統中的文本錯誤自動發現方法[J].中文信息學報,2013,27(3):77-83.

[6] 劉亮亮,曹存根.中文「非多字詞錯誤」自動校對方法研究[J].計算機科學,2016,43(10):200-205.

[7] 張仰森,曹大元,俞士汶.基於規則與統計相結合的中文文本自動查錯模型與算法[J].中文信息學報,2005,20(4):1-8.

[8] 張仰森,唐安傑,張澤偉.面向政治新聞領域的中文文本校對方法研究[J].中文信息學報,2014,28(6):79-84.

[9] 張仰森,鄭佳.中文文本語義錯誤偵測方法研究[J].計算機學報,2017,40(4):911-924.

[10] Wu Yonghui,SCHUSTER M,Chen Zhifeng,et al.Google′s neural machine translation system bridging the gap between human and machine translation[J].Computing Research Repository,2016,arXiv:1609:56-59.

[11] Chung Junyoung,GULCEHRE C,CHO K,et al.Empirical evaluation of gated recurrent neural networks on sequence modeling[J].CoRR,2014,abs/1412:78-81.

[12] Cheng Jianpeng,LAPATA M.Long short-term memory-networks for machine reading[J].arXiv Preprint 2016,arXiv:1601:127-130.

[13] GEHRING J,AULI M,GRANGIER D,et al.Convolutional sequence to sequence learning[J].arXiv Preprint 2017,arXiv:1705:68-71.

[14] LUONG M T,LE Q V,SUTSKEVER I,et al.Multi-task sequence to sequence learning[J].arXiv Preprint 2015,arXiv:1511:114-117.

[15] 王潔,喬藝璇,彭巖,等.基於深度學習的美國媒體「一帶一路」輿情的情感分析[J].電子技術應用,2018,44(11):102-106.

[16] 孫鐵利,劉延吉.中文分詞技術的研究現狀與困難[J].2012(1):187-192.

[17] Lin Zhouhan,Feng Minwei,NOGUEIRA C,et al. A struc-tured self-attentive sentence embedding[J].arXiv Preprint 2017,arXiv:1703:116-119.

[18] PRESS O,WOLF L.Using the output embedding to improve language models[J].arXiv Preprint 2016,arXiv:1608:67-70.

[19] BA J L,KIROS J R,HINTON G E.Layer normalization[J].arXiv Preprint 2016,arXiv:1607:45-49.

[20] 字雲飛,李業麗,孫華豔.基於深度神經網絡的個性化推薦系統研究[J].電子技術應用,2019,45(1):14-18.

作者信息:

龔永罡,裴晨晨,廉小親,王嘉欣

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

原創聲明:此內容為AET網站原創,未經授權禁止轉載。

相關焦點

  • 超越SOTA Transformer模型,哈佛、FAIR提出基於殘差能量模型的文本...
    機器之心報導機器之心編輯部在本文中,來自哈佛大學、Facebook AI 研究院的研究者提出了一種基於殘差能量模型的文本生成方法,效果超過 state-of-the-art 的 transformer 語言模型。
  • 阿里達摩院語音實驗室:聯合CTC和Transformer的自動中文糾錯模型
    機器之心專欄論文作者:Shiliang Zhang、Lei Ming、Zhijie Yan語音領域頂級學術會議 Interspeech 2019 將於 9 月 15-19 日在奧地利格拉茨開幕。本文介紹了阿里巴巴達摩院機器智能-語音實驗室被此大會接收的一篇論文,作者們提出了一種自動糾錯模型,該模型採用 Transformer 作為糾錯器,將前端基於 CTC 的語音識別系統的識別結果作為輸入,可以自動糾正大量的識別錯誤,特別是識別結果中的替換錯誤。INTERSPEECH 是語音科學和技術領域最大、最全面的國際學術會議, 今年的大會將在奧地利第二大城市格拉茨舉辦。
  • MissCut智能中文校對系統試上線運行
    MissCut是清華大學人機互動實驗室研發的基於大數據和自然語言處理技術的智能中文文本自動校對系統,會檢出「大數據」認為不正確和不規範的表達。
  • AI攢論文指日可待?Transformer生成論文摘要方法已出
    特別是摘要、引言、結論,需要不斷重複說明論文的主要研究、觀點和貢獻。現在,這樣的工作可以依賴 AI 完成了。Element AI 的研究者們提出了一種新的模型,使用 Transformer 架構,自動地生成論文的摘要。AI 攢論文的進程又往前走了一步。
  • 基於transformer的中文文本分類
    另一種        # 就是按照論文中的方法實現,這樣的效果反而更差,可能是增大了模型的複雜度,在小數據集上表現不佳。            numUnits = queries.get_shape().as_list()[-1]        # tf.layers.dense可以做多維tensor數據的非線性映射,在計算self-Attention時,一定要對這三個值進行非線性映射,        # 其實這一步就是論文中Multi-Head Attention中的對分割後的數據進行權重映射的步驟
  • 基於層次過濾的文本生成
    目前文本生成最常用的算法基於 fully autoregressive 模型,比如 RNN 和 transformer。在 fully autoregressive 模型中,生成下一個詞的概率取決於之前所有的詞。給定一個 fully autoregressive 模型,文本生成通常使用 beam search 從左到右搜索概率最大的句子。但由於 beam search 是一個順序的過程,我們無法在 GPU 上進行並行加速。
  • 模型壓縮95%,MIT韓松等人提出新型Lite Transformer
    該研究是由 MIT 電氣工程和計算機科學系助理教授韓松領導的。韓松的研究廣泛涉足深度學習和計算機體系結構,他提出的 Deep Compression 模型壓縮技術曾獲得 ICLR2016 最佳論文,論文 ESE 稀疏神經網絡推理引擎 2017 年曾獲得晶片領域頂級會議——FPGA 最佳論文獎,引領了世界深度學習加速研究,對業界影響深遠。
  • 基於Transformer增強架構的中文語法糾錯
    論文名稱:基於Transformer增強架構的中文語法糾錯論文作者:王辰成,楊麟兒,王瑩瑩,杜永萍,楊爾弘發表於:第十八屆中國計算語言學大會(CCL 2019)語法糾錯(Grammatical Error Correction, GEC)任務,旨在利用自然語言處理技術,自動識別並糾正非中文母語學習者書寫的文本中所包含的語法錯誤,拼寫錯誤,語序錯誤
  • 基於Text-CNN模型的中文文本分類實戰
    本文介紹NLP中文本分類任務中核心流程進行了系統的介紹,文末給出一個基於Text-CNN模型在搜狗新聞數據集上二分類的Demo。文本分類是自然語言處理領域最活躍的研究方向之一,從樣本數據的分類標籤是否互斥上來說,可以分為文本多分類與文本多標籤分類。
  • 視覺Transformer最新綜述
    Revisiting Transformers for NLPTransformers 出現後,克服了RNN訓練速度慢的缺陷,使得大規模預訓練模型成為可能。BETR 及其變種(SpanBERT,RoBERTa)等都是基於 transformer 的模型。
  • 基於關鍵詞的文本內容過濾算法的研究與應用
    摘要:本文對目前文本過濾技術進行了調研,並在此基礎上利用空間向量模型作為用戶需求模板,使用餘弦距離計算文本相似度,採用K-means算法進行文本聚類分析效果優化,提出了基於關鍵詞的文本內容過濾模型,能夠為人民網用戶個性化推薦新聞、廣告、文章等信息,縮簡訊息檢索時間,最大程度為用戶提供其感興趣的內容
  • 如何校對論文?
    你必須為你的文本創建一個索引,所以你可以利用索引進行校對。從第一頁開始,校對前十頁,或者其他適合你的一小部分工作。在這時,你要注意文本和組織結構上的錯誤。了解要尋找什麼當校對論文或學位論文時,你已經知道尋找拼寫、語法和標點等錯誤。但是,你必須檢查你的論文的組織結構。
  • ICML 2020 | 基於類別描述的文本分類模型
    論文標題:Description
  • 圖解OpenAI的秘密武器GPT-2:可視化Transformer語言模型
    其中OpenAI訓練的GPT-2模型就展示出了驚豔的能力,它能夠撰寫出連貫而富有激情的論文,比當下其他所有的語言模型寫的都好。GPT-2其實並不是一種特別新穎的架構,它的架構非常類似於Transformer模型的Decoder結構。然而,GPT2是一個非常大的基於Transformer的語言模型,需要基於大量數據集進行訓練。
  • 學術論文摘要的規範表達示例
    中文編輯校對[2](QQ群):236902340,編輯校對的家園。文末有二維碼。 作者丨高建群教授《河海大學學報(自然科學版)》編輯部主任文章針對目前眾多學者在論文摘要中有待完善的問題 ,站在學術論文作者的角度,去探討寫作高質量學術論文摘要的方法。探討並總結了各種類型論文摘要的寫作格式及內容,給出了相應的示例;最後,論述了規範化撰寫摘要的要求。
  • 帶你一文了解GPT-2模型(transformer語言模型可視化)
    其中OpenAI GPT-2能夠創作出邏輯清晰且激情盎然的文章,遠遠超出了人們對當前語言模型創造力的預期,給公眾留下了深刻的印象。GPT-2並不是專門寫小說的語言架構——結構與僅含解碼器的transformer相似,但它實則是基於transformer的語言模型,規模巨大,在海量的數據集上進行訓練。
  • 基於seq2seq模型的中文糾錯任務
    關鍵詞 語義識別;大數據;深度學習;中文糾錯;sequence to sequence learning;多任務學習 一、問題定義 用戶輸入一個中文句子,模型自動發現並改正句子中存在的問題。如「實現 供應與發展」句子中的「供應」改為「共贏」。
  • 思必馳在中文文本相似度計算任務上的探索與進展
    文本相似度計算旨在識別兩段文本在語義上是否相似,是自然語言處理領域的一個重要研究方向,其在智能問答、信息檢索等領域都發揮重要作用,具有很高的商業價值。近期,思必馳知識服務團隊在中文文本相似度計算方向投入研究,並取得階段性成果:1)在第十四屆全國知識圖譜與語義計算大會(CCKS: China Conference on Knowledge Graph and Semantic Computing)[1]上發表相關論文一篇《Neural Fusion Model for Chinese Semantic Matching》
  • 視覺+Transformer最新論文出爐,華為聯合北大、雪梨大學發表
    已有研究表明,Transformer 在計算機視覺領域不僅適用於高級任務如圖像分類、目標檢測、車道線檢測等,在低級任務如圖像增強中也取得了突破性進展,毫無疑問,Transformer 是目前計算機視覺領域最值得關注的方向之一。一時間,在各種視覺任務 + Transformer 的論文正如雨後春筍般湧出。
  • 基於文本挖掘的學習分析應用研究
    文本挖掘一般指從非結構化的文本數據中(例如:文檔、聊天信息和郵件)發現和提取有用的模式、模型、方向、趨勢或者規則[43][44],最終形成用戶可理解的信息與知識的過程。它是語言學、統計學、機器學習、數據挖掘及自動文本處理如信息抽取、信息檢索、文本分類等理論和技術相結合的產物,更多地被用在生命科學研究、政府智能、商業等應用領域。