• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的中文語(yǔ)法糾錯(cuò)

      2022-06-18 01:58:54李嘉誠(chéng)沈嘉鈺李正華
      中文信息學(xué)報(bào) 2022年4期
      關(guān)鍵詞:指針字符基準(zhǔn)

      李嘉誠(chéng),沈嘉鈺,龔 晨,李正華,張 民

      (蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)

      0 引言

      中文文本糾錯(cuò)任務(wù)可分為兩類: 拼寫(xiě)糾錯(cuò)和語(yǔ)法糾錯(cuò)。對(duì)于拼寫(xiě)糾錯(cuò),錯(cuò)誤句子只存在替換類錯(cuò)誤;而對(duì)于語(yǔ)法糾錯(cuò),除了替換類錯(cuò)誤,錯(cuò)誤句子還存在冗余、缺失以及亂序等錯(cuò)誤類型。本文聚焦于中文語(yǔ)法糾錯(cuò)(Chinese Grammatical Error Correction,CGEC)任務(wù),該任務(wù)旨在通過(guò)自然語(yǔ)言處理技術(shù),自動(dòng)糾正包含語(yǔ)法錯(cuò)誤的中文句子。中文語(yǔ)法糾錯(cuò)任務(wù)的示例如表1所示,其中,X是一個(gè)可能包含語(yǔ)法錯(cuò)誤的句子,Y是糾正錯(cuò)誤后的句子。

      表1 中文語(yǔ)法糾錯(cuò)任務(wù)的示例

      不像之前的很多研究[1-2]把語(yǔ)法糾錯(cuò)看作自回歸的翻譯任務(wù),本文以Seq2Eidt語(yǔ)法糾錯(cuò)模型[3-4]為基準(zhǔn)模型,該模型把語(yǔ)法糾錯(cuò)看作非自回歸的序列標(biāo)注任務(wù),從而大幅提升了解碼速度。Seq2Edit語(yǔ)法糾錯(cuò)模型以BERT[5]為上下文特征提取器,糾錯(cuò)過(guò)程如表1所示。首先,它為輸入句子X(jué)預(yù)測(cè)一組字級(jí)別的編輯序列Z;進(jìn)而把編輯序列Z作用于輸入句子得到目標(biāo)句子Y。在訓(xùn)練前,該模型需要把訓(xùn)練集中平行句對(duì)的正確句子預(yù)處理成一組與錯(cuò)誤句子對(duì)應(yīng)的編輯序列。

      如表2所示,本文列出了不同錯(cuò)誤類型在NLPCC 2018 GEC任務(wù)測(cè)試集中的數(shù)量[6],可以看出替換類錯(cuò)誤在所有錯(cuò)誤類型中的占比最多,大約占了50%。同時(shí),Liu等[7]的工作表明,中文中超過(guò)90%的替換類錯(cuò)誤由音近或形近字之間的誤用導(dǎo)致。因此,字符之間的音近、形近知識(shí)對(duì)解決替換類錯(cuò)誤非常重要。

      表2 不同錯(cuò)誤類型在NLPCC 2018 GEC任務(wù)測(cè)試集中的數(shù)量

      在中文拼寫(xiě)糾錯(cuò)研究中,很多研究者嘗試以混淆集(Confusion set)的形式,將字符之間的音近、形近知識(shí)融入到模型中[8-9],取得了不錯(cuò)的效果?;煜梢恍h字以及每個(gè)漢字對(duì)應(yīng)的一組音近和形近字組成。例如,“乞”對(duì)應(yīng)的音近字混淆集為“起杞啟豈稽……”;“乞”對(duì)應(yīng)的形近字混淆集為“疙吃屹迄乙……”。而對(duì)于中文語(yǔ)法糾錯(cuò),雖然替換類錯(cuò)誤在中文語(yǔ)法糾錯(cuò)數(shù)據(jù)集中占比最多,但還沒(méi)有研究者嘗試過(guò)將混淆集知識(shí)融入基于神經(jīng)網(wǎng)絡(luò)的語(yǔ)法糾錯(cuò)模型中。

      為了更好地解決語(yǔ)法糾錯(cuò)中的替換類錯(cuò)誤,本文嘗試在模型和預(yù)處理兩部分融入混淆集知識(shí)。在模型部分,本文提出一個(gè)基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的語(yǔ)法糾錯(cuò)模型。該模型在Seq2Eidt語(yǔ)法糾錯(cuò)模型基礎(chǔ)上,利用指針網(wǎng)絡(luò)[10]融入漢字之間的音近和形近知識(shí)。具體來(lái)說(shuō),模型分別計(jì)算兩部分的概率分布,第一部分是Seq2Edit語(yǔ)法糾錯(cuò)模型輸出當(dāng)前字符在固定的編輯操作表中生成編輯的概率分布,第二部分是通過(guò)指針網(wǎng)絡(luò)去計(jì)算當(dāng)前字符替換為它對(duì)應(yīng)混淆集中字符的替換編輯的概率分布,然后通過(guò)一個(gè)可學(xué)習(xí)的門(mén)控機(jī)制加權(quán)求和兩部分的概率分布得到最終的概率分布。通過(guò)這種方法,模型可以充分考慮符號(hào)空間(混淆集中音近和形近知識(shí))和語(yǔ)義空間(BERT的語(yǔ)義知識(shí)),從而更好地糾正替換類錯(cuò)誤。

      在預(yù)處理部分,即從錯(cuò)誤-正確句對(duì)抽取編輯序列的過(guò)程中,本文發(fā)現(xiàn)普通的編輯距離算法不能很好地對(duì)齊中文語(yǔ)法糾錯(cuò)數(shù)據(jù)集中平行句對(duì)出現(xiàn)連續(xù)錯(cuò)誤時(shí)的音近和形近字。因此,本文也提出了一種混淆集的編輯距離算法。利用該算法在預(yù)處理階段抽取編輯,可以使得模型在訓(xùn)練過(guò)程中增加更多音近和形近字的替換類編輯,從而更好地糾正替換類錯(cuò)誤。

      實(shí)驗(yàn)結(jié)果表明,本文的基準(zhǔn)Seq2Edit語(yǔ)法糾錯(cuò)模型已經(jīng)在NLPCC 2018評(píng)測(cè)數(shù)據(jù)集上達(dá)到了目前最優(yōu)性能。而本文提出的兩點(diǎn)改進(jìn)均能在此基礎(chǔ)上提高性能,且作用互補(bǔ)。最終,本文所提出的模型在NLPCC 2018評(píng)測(cè)數(shù)據(jù)集上的F0.5值比之前的最優(yōu)性能提高了2.1。本文用中文ERRANT[11]工具對(duì)提出的模型和基準(zhǔn)模型不同錯(cuò)誤類型的得分進(jìn)行了分析,證明了本文模型的性能提升大部分來(lái)自于替換類錯(cuò)誤的糾正。

      本文主要的貢獻(xiàn)總結(jié)如下:

      (1) 本文提出一個(gè)基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的語(yǔ)法糾錯(cuò)模型,該模型可以有效融入音近、形近信息,更好地解決語(yǔ)法糾錯(cuò)中的替換類錯(cuò)誤。據(jù)我們所知,這是首次將混淆集知識(shí)融入基于神經(jīng)網(wǎng)絡(luò)的語(yǔ)法糾錯(cuò)模型中的工作。

      (2) 本文提出一種混淆集指導(dǎo)的編輯距離算法,該算法可以融入音近、形近知識(shí)去更好地對(duì)齊訓(xùn)練集中音近、形近字的替換類編輯,從而幫助模型更好地糾正替換類錯(cuò)誤。

      (3) 實(shí)驗(yàn)結(jié)果表明,本文提出的模型在NLPCC 2018評(píng)測(cè)數(shù)據(jù)集上達(dá)到目前最優(yōu)性能。實(shí)驗(yàn)分析表明,和基準(zhǔn)Seq2Edit語(yǔ)法糾錯(cuò)模型相比,本文模型的性能提升大部分來(lái)自于替換類錯(cuò)誤的糾正。

      1 相關(guān)工作

      1.1 中文語(yǔ)法糾錯(cuò)

      2018年,CCF國(guó)際自然語(yǔ)言處理與中文計(jì)算會(huì)議(NLPCC)舉辦了中文語(yǔ)法糾錯(cuò)競(jìng)賽[12]。該競(jìng)賽發(fā)布了一個(gè)中文語(yǔ)法糾錯(cuò)任務(wù)的標(biāo)準(zhǔn)數(shù)據(jù)集。下面介紹研究者們?cè)谠摂?shù)據(jù)集上的最新工作,王等[1]采用基于多頭注意力機(jī)制的Transformer模型作為基準(zhǔn)模型,提出一種動(dòng)態(tài)殘差結(jié)構(gòu)來(lái)增強(qiáng)Transformer挖掘文本語(yǔ)義信息的能力,從而更好地糾正中文語(yǔ)法錯(cuò)誤。Zhao和Wang[2]在訓(xùn)練過(guò)程中采用動(dòng)態(tài)的詞頻、同音等替換策略作用于錯(cuò)誤句子,從而得到更多的錯(cuò)誤-正確句對(duì)來(lái)提高模型的泛化能力,該方法在NLPCC 2018評(píng)測(cè)數(shù)據(jù)集上達(dá)到了目前的最優(yōu)性能。Hinson等[13]結(jié)合了三個(gè)模型循環(huán)糾正包含語(yǔ)法錯(cuò)誤的句子,三個(gè)模型分別為: 基于Transformer的Seq2Seq模型,基于LaserTagger[14]的Seq2Edit模型和拼寫(xiě)糾正模型。同時(shí),他們還開(kāi)發(fā)出中文的ERRANT[11]工具,該工具可以給出模型在不同錯(cuò)誤類型的得分。在后續(xù)的實(shí)驗(yàn)部分,把本文提出的模型與上述工作進(jìn)行了性能上的對(duì)比。

      在中文語(yǔ)法糾錯(cuò)研究中,語(yǔ)法糾錯(cuò)模型主要分為兩種,序列到序列(Seq2Seq)模型和序列到編輯(Seq2Edit)模型。由于Seq2Seq模型存在解碼速度慢、需要大量的訓(xùn)練數(shù)據(jù)等問(wèn)題,本文采用Seq2Edit模型來(lái)完成中文語(yǔ)法糾錯(cuò)任務(wù)。最近,研究者們嘗試引入英文中的Seq2Edit模型到中文語(yǔ)法糾錯(cuò)任務(wù)中。例如,Hinson等[13]將英文中的Seq2Edit模型LaserTagger[14]引入中文,該模型結(jié)合BERT編碼器與一個(gè)自回歸的Transformer解碼器來(lái)預(yù)測(cè)編輯。Liang等[4]在中文語(yǔ)法錯(cuò)誤診斷(Chinese Grammatical Error Diagnosis, CGED)[15]競(jìng)賽中首次將英文中的Seq2Edit模型GECToR[3]引入到中文。該模型結(jié)合BERT編碼器與非自回歸的線性變化層去預(yù)測(cè)編輯。因?yàn)镚ECToR模型簡(jiǎn)單并且效果好,本文采用它作為本文的基準(zhǔn)模型。

      1.2 文本糾錯(cuò)中使用混淆集的方法

      在中文拼寫(xiě)糾錯(cuò)研究中,為了解決音近和形近字的誤用,很多研究者嘗試去融入混淆集知識(shí)到模型中。Wang等[8]提出一個(gè)帶有指針網(wǎng)絡(luò)的Seq2Seq模型來(lái)解決拼寫(xiě)糾錯(cuò)問(wèn)題,該模型要么通過(guò)指針網(wǎng)絡(luò)從輸入句子中復(fù)制一個(gè)字,要么從當(dāng)前字符對(duì)應(yīng)的混淆集中選擇一個(gè)字,這種方法是利用混淆集去限制解碼空間。Cheng等[9]提出了SpellGCN模型,利用圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)去注入字符之間的音近和形近知識(shí)到語(yǔ)言模型(BERT)中進(jìn)行拼寫(xiě)糾錯(cuò)任務(wù)。

      在語(yǔ)法糾錯(cuò)研究中,研究者們也探索了將混淆集融入基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的語(yǔ)法糾錯(cuò)模型的方法。在基于語(yǔ)言模型的語(yǔ)法糾錯(cuò)模型中,Bryant和Briscoe[16]在生成候選答案時(shí),針對(duì)時(shí)態(tài)、冠詞、介詞等錯(cuò)誤,使用混淆集來(lái)生成候選答案。再用統(tǒng)計(jì)語(yǔ)言模型來(lái)評(píng)估糾正是否合理。在基于分類的語(yǔ)法糾錯(cuò)模型[17]中,給定一個(gè)存在語(yǔ)法錯(cuò)誤的句子,對(duì)于句子中每一個(gè)存在于混淆集中的詞,分類器根據(jù)當(dāng)前位置的上下文特征,選擇在混淆集中且概率最大的候選單詞。以上將混淆集融入語(yǔ)法糾錯(cuò)模型的方法,都只針對(duì)特定的錯(cuò)誤類型,并且采用的都是基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的模型。

      目前還沒(méi)有研究者嘗試過(guò)融入混淆集知識(shí)到基于神經(jīng)網(wǎng)絡(luò)的語(yǔ)法糾錯(cuò)模型中來(lái)解決語(yǔ)法糾錯(cuò)數(shù)據(jù)集中占比最多的替換類錯(cuò)誤。因此,本文提出一個(gè)基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的語(yǔ)法糾錯(cuò)模型。該模型在Seq2Eidt語(yǔ)法糾錯(cuò)模型基礎(chǔ)上,利用指針網(wǎng)絡(luò)融入漢字之間的音近和形近知識(shí)。

      1.3 指針網(wǎng)絡(luò)

      指針網(wǎng)絡(luò)[10]被廣泛應(yīng)用在采用Seq2Seq模型的文本摘要任務(wù)[18]中。因?yàn)檎Z(yǔ)法糾錯(cuò)任務(wù)中大部分的字符都是正確的,Zhao等[19]首次將指針網(wǎng)絡(luò)應(yīng)用到基于Seq2Seq的語(yǔ)法糾錯(cuò)中,使得模型可以直接從輸入的句子中復(fù)制正確的字到輸出,取得了不錯(cuò)的效果。本文將指針網(wǎng)絡(luò)引入到Seq2Edit語(yǔ)法糾錯(cuò)模型中,利用指針網(wǎng)絡(luò)從當(dāng)前字符的混淆集中選擇字來(lái)進(jìn)行替換,使得模型可以更好地糾正替換類錯(cuò)誤。

      2 方法

      2.1 問(wèn)題定義

      中文語(yǔ)法糾錯(cuò)的目的是糾正中文句子中存在的語(yǔ)法錯(cuò)誤。給定一個(gè)可能包含語(yǔ)法錯(cuò)誤的中文句子X(jué)=(x1,x2,…,xm),xi指句子X(jué)的第i個(gè)字,語(yǔ)法糾錯(cuò)模型輸出一個(gè)句子Y=(y1,y2,…,yn),yi指句子Y中的第i個(gè)字。X和Y的長(zhǎng)度可以相等,也可以不相等。本文采用非自回歸的Seq2Edit語(yǔ)法糾錯(cuò)模型來(lái)解決中文語(yǔ)法糾錯(cuò)問(wèn)題。

      2.2 基準(zhǔn)Seq2Edit語(yǔ)法糾錯(cuò)模型

      在Seq2Edit語(yǔ)法糾錯(cuò)模型中,輸入句子X(jué)=(x1,x2,…,xm),模型輸出一組與X對(duì)應(yīng)的編輯Z=(z1,z2,…,zm),zi∈Φ,是xi對(duì)應(yīng)的編輯。Φ是編輯操作表,所有編輯操作表的統(tǒng)計(jì)信息如表3所示。

      表3 Seq2Edit語(yǔ)法糾錯(cuò)模型編輯操作表

      該模型采用BERT作為上下文特征提取器,輸入是可能包含語(yǔ)法錯(cuò)誤的句子X(jué)=(x1,x2,…,xm),用BERT編碼句子X(jué)后,把BERT最后一層的輸出作為整個(gè)句子上下文相關(guān)的字表示向量H={h1,h2,…,hm},再把xi對(duì)應(yīng)的字表示向量hi經(jīng)過(guò)一個(gè)線性變換層和softmax操作去預(yù)測(cè)當(dāng)前第i個(gè)字的編輯為z的概率p(z|X,i),如式(1)、式(2)所示。

      其中,hi∈db。Ws∈db×|Φ|,bs∈|Φ|分別是線性變化層的權(quán)重矩陣和偏置向量。si,z是第i個(gè)字的編輯預(yù)測(cè)為z的得分。Φ是所有可能的編輯操作集合,z′是Φ中的編輯。db是BERT的隱藏層維度。如式(3)所示,損失函數(shù)選擇交叉熵,是正確編輯序列中的第i個(gè)編輯。

      (3)

      如圖1所示,該模型解碼時(shí)采用迭代式糾正[20]: 把模型預(yù)測(cè)的編輯序列Z作用于輸入句子X(jué)得到輸出句子Y,再把Y當(dāng)作輸入重新送入模型,重復(fù)這個(gè)過(guò)程直到達(dá)到最大迭代次數(shù)或者模型輸出的句子與輸入句子一致時(shí)。

      圖1 基準(zhǔn)Seq2Edit語(yǔ)法糾錯(cuò)模型

      2.3 基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的語(yǔ)法糾錯(cuò)模型

      混淆集由一些漢字以及每個(gè)漢字對(duì)應(yīng)的一組音近和形近字組成。本文定義C(xi)是xi對(duì)應(yīng)的一組混淆集字符。

      指針網(wǎng)絡(luò)被廣泛應(yīng)用在采用Seq2Seq模型的文本摘要任務(wù)和語(yǔ)法糾錯(cuò)任務(wù)中。因?yàn)槠淠軓目勺冮L(zhǎng)度的候選集合中去選擇一個(gè)候選項(xiàng),本文通過(guò)指針網(wǎng)絡(luò)去計(jì)算當(dāng)前字符替換為它對(duì)應(yīng)混淆集中字符的替換編輯的概率分布。

      如圖2所示,基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的語(yǔ)法糾錯(cuò)模型在基準(zhǔn)Seq2Eidt語(yǔ)法糾錯(cuò)模型基礎(chǔ)上,利用指針網(wǎng)絡(luò)融入漢字之間的音近和形近知識(shí)。該模型除了從固定的編輯操作表中生成編輯外,還允許指針網(wǎng)絡(luò)從當(dāng)前字符的混淆集中選擇字進(jìn)行替換。如式(4)所示,最終編輯的概率分布p(z|X,i)是生成編輯的概率分布pgen(z|X,i) 和當(dāng)前字符替換為它對(duì)應(yīng)混淆集中字符的替換編輯的概率分布pcon(z|X,i)的加權(quán)求和,平衡因子αi∈[0,1]由一個(gè)可學(xué)習(xí)的門(mén)控機(jī)制來(lái)得到。

      (4)

      從固定編輯操作表中生成編輯的概率分布pgen(z|X,i)的計(jì)算公式和2.2節(jié)基準(zhǔn)Seq2Edit語(yǔ)法糾錯(cuò)模型相同。本文通過(guò)指針網(wǎng)絡(luò)來(lái)計(jì)算當(dāng)前字符替換為它對(duì)應(yīng)混淆集中的字符的替換編輯的概率分布pcon(z|X,i)。首先,如式(5)所示,將C(xi)中的字符通過(guò)字嵌入層得到向量表示Ei,Ei中的每一行是C(xi)中一個(gè)字符的字向量表示。其次,通過(guò)式(6)~式(8)來(lái)計(jì)算pcon(z|X,i)。

      圖2 基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的語(yǔ)法糾錯(cuò)模型

      其中,hi∈db,是BERT編碼X得到的第i個(gè)字的上下文相關(guān)的字表示向量。Ei∈dl×dc,是第i個(gè)字的混淆集中字符的字向量表示。dl是當(dāng)前字符對(duì)應(yīng)混淆集中字符C(xi)的個(gè)數(shù),dc是字嵌入層的維度。qi是hi經(jīng)過(guò)線性變化層得到的查詢向量(Query),Ki和Vi是Ei經(jīng)過(guò)不同的線性變化層得到的鍵值向量(Key)和實(shí)值向量(Value)。qi和Ki點(diǎn)乘得到注意力分值si∈dl,再通過(guò)一個(gè)Softmax操作得到歸一化后的概率pcon(z|X,i),這里的z∈Φc(xi),Φc(xi)是將字符xi替換為xi的混淆集C(xi)中的字符的替換編輯集合,z′是Φc(xi)中的編輯。Wq∈db×dc,Wk、Wv∈dc×dc是線性變化層的權(quán)重矩陣。平衡因子αi的計(jì)算如式(9)所示。

      αi=sigmoid(softmax(si)Viwα+bα)

      (9)

      其中,wα∈dc,bα∈1分別是線性變化層的權(quán)重矩陣和偏置向量。損失函數(shù)選擇交叉熵,其公式與式(3)相同,不過(guò)式(3)中的概率需要替換為式(4)得到的最終編輯概率。

      2.4 混淆集指導(dǎo)的編輯距離算法

      本文使用訓(xùn)練集中的一個(gè)真實(shí)例子來(lái)描述混淆集指導(dǎo)的編輯距離算法抽取的編輯與普通的編輯距離算法抽取的編輯的差異,如表4所示。

      例1X: 每天漫漫得進(jìn)步。

      Y: 每天都在慢慢地進(jìn)步。

      表4展示了兩者抽取編輯的不同,其中如果一個(gè)字對(duì)應(yīng)多個(gè)編輯操作,則用“&”連接。對(duì)照X和Y,可以看出X存在兩個(gè)語(yǔ)法錯(cuò)誤,一個(gè)是缺失類錯(cuò)誤,缺少了“都在”,一個(gè)是音近導(dǎo)致的替換類錯(cuò)誤,“漫漫得”應(yīng)該被替換為“慢慢地”。自然而然我們希望編輯距離算法抽取的編輯可以很好地對(duì)齊兩類錯(cuò)誤。然而如表4上半部分所示,普通的編輯距離算法從X和Y抽取的編輯并沒(méi)有得到理想的對(duì)齊效果,究其原因,這是由于普通的對(duì)齊算法把“漫”和“慢”看作是兩個(gè)完全不一樣的字,導(dǎo)致“漫”和“都”與“漫”和“慢”在編輯距離算法中替換操作的代價(jià)一樣。

      表4 不同編輯距離算法抽取編輯的差異

      本文利用混淆集知識(shí)來(lái)指導(dǎo)編輯距離算法的抽取編輯過(guò)程,本文把混淆集中音近和形近字之間的替換操作代價(jià)設(shè)為0.5。(在普通的編輯距離算法中,兩個(gè)一樣的字的替換操作代價(jià)為0,而兩個(gè)不一樣的字的替換操作代價(jià)為1)。在混淆集指導(dǎo)的編輯距離算法下,表4上半部分的對(duì)齊方式X和Y的編輯距離為5,而表4下半部分的對(duì)齊方式X和Y的編輯距離為3.5,因此,混淆集指導(dǎo)的編輯距離算法選擇了下面更好的對(duì)齊方式。下面詳細(xì)描述抽取編輯的過(guò)程。

      Step1: 首先,本文使用混淆集指導(dǎo)的編輯距離算法來(lái)對(duì)齊源句子與目標(biāo)句子,為源句子的每個(gè)字找到目標(biāo)句子中的一個(gè)子序列與其對(duì)應(yīng)。[每→每],[天→天],[漫→都,在,慢],[漫→慢],[得→地],[進(jìn)→進(jìn)],[步→步]。

      Step2: 從源句子中的每個(gè)字對(duì)應(yīng)目標(biāo)句子的子序列中得到編輯。如果一個(gè)字對(duì)應(yīng)目標(biāo)句子的子序列有多個(gè)字,那么也會(huì)考慮源句子中的字與目標(biāo)句子的子序列每個(gè)字的編輯距離。[每→每]: KEEP,[天→天]: KEEP、A_都、A_在,[漫→都,在,慢]: R_慢,[漫→ 慢]: R_慢,[得→地]: R_地,[進(jìn)→進(jìn)]: KEEP,[步→步]: KEEP。

      Step3: 在訓(xùn)練時(shí),本文為源句子中的每個(gè)字只留下一個(gè)編輯,有多個(gè)編輯的,本文只留第一個(gè)非KEEP類的編輯,這樣本文得到每個(gè)字對(duì)應(yīng)的唯一的編輯操作。每: KEEP,天: A_都,漫: R_慢,漫: R_慢,得: R_地,進(jìn): KEEP,步: KEEP。

      3 實(shí)驗(yàn)

      3.1 數(shù)據(jù)集

      所有數(shù)據(jù)的統(tǒng)計(jì)信息如表5所示。

      表5 數(shù)據(jù)集統(tǒng)計(jì)信息

      3.1.1 訓(xùn)練集

      本文使用的訓(xùn)練集包括NLPCC 2018 GEC任務(wù)官方提供的Lang-8數(shù)據(jù)集以及HSK數(shù)據(jù)集,其中Lang-8數(shù)據(jù)集采集自Lang-8網(wǎng)站。Lang-8網(wǎng)站是一個(gè)多語(yǔ)言學(xué)習(xí)者平臺(tái),不同國(guó)家的學(xué)習(xí)者在該平臺(tái)練習(xí)寫(xiě)作,然后由母語(yǔ)者對(duì)他們的寫(xiě)作進(jìn)行修改。因?yàn)橐粋€(gè)句子可以由多個(gè)人修改,所以錯(cuò)誤句子可能對(duì)應(yīng)多個(gè)糾正答案。HSK數(shù)據(jù)集收集自北京語(yǔ)言大學(xué)構(gòu)建的動(dòng)態(tài)作文語(yǔ)料庫(kù)[21]。兩個(gè)數(shù)據(jù)集的平行語(yǔ)料共有1 377 776對(duì),本文去除數(shù)據(jù)集中錯(cuò)誤和正確句子一樣的句對(duì),剩余數(shù)據(jù)集包含1 186 934對(duì)。其中包括Lang-8數(shù)據(jù)1 095 835對(duì),HSK數(shù)據(jù)91 099對(duì)。本文從剩余語(yǔ)料中隨機(jī)選擇百分之一的數(shù)據(jù)共11 869對(duì)作為開(kāi)發(fā)集,其余的數(shù)據(jù)共1 175 065對(duì)作為本文的訓(xùn)練集。

      3.1.2 測(cè)試集

      本文選用NLPCC 2018 GEC任務(wù)的評(píng)測(cè)數(shù)據(jù)集來(lái)評(píng)測(cè)本文的模型,該數(shù)據(jù)集收集自PKU中文學(xué)習(xí)者語(yǔ)料庫(kù)。兩個(gè)標(biāo)注者遵循最小編輯距離的修改原則對(duì)其進(jìn)行了標(biāo)注,官方數(shù)據(jù)集包含錯(cuò)誤句子和M2格式的官方參考(Gold)編輯。

      3.1.3 混淆集

      本文采用SIGHAN 2013年比賽[22]提供的混淆集。主要有兩類: 音近字混淆集和形近字混淆集。本文將兩類混淆集合并、去重后作為一個(gè)混淆集來(lái)使用。

      3.2 評(píng)價(jià)指標(biāo)

      本文使用官方的MaxMatch[23]工具包去評(píng)測(cè)不同模型的性能,給出精確率、召回率和F0.5指標(biāo)。

      3.3 模型訓(xùn)練細(xì)節(jié)

      本文使用中文預(yù)訓(xùn)練模型BERT-wwm-ext[24]來(lái)初始化本文的編碼器,使用Adam優(yōu)化器來(lái)訓(xùn)練模型,共訓(xùn)練12個(gè)輪次,并應(yīng)用早停機(jī)制,當(dāng)開(kāi)發(fā)集的編輯預(yù)測(cè)精確率兩輪沒(méi)有提升就結(jié)束訓(xùn)練。在前兩輪,本文設(shè)置學(xué)習(xí)率為1e-3,并凍結(jié)BERT的參數(shù),只訓(xùn)練其余模塊的參數(shù)。在后面的輪次,本文設(shè)置學(xué)習(xí)率為1e-5,訓(xùn)練整個(gè)模型的參數(shù)。Batch size設(shè)置為128。對(duì)于所有的實(shí)驗(yàn),本文都更換隨機(jī)數(shù)種子進(jìn)行了4次實(shí)驗(yàn),并匯報(bào)平均結(jié)果。本文從訓(xùn)練集中統(tǒng)計(jì)出現(xiàn)頻率大于10次的編輯作為編輯操作表,共包含5 498個(gè)編輯。在預(yù)測(cè)時(shí),默認(rèn)的迭代次數(shù)為5。

      對(duì)于基于指針網(wǎng)絡(luò)融入混淆集的語(yǔ)法糾錯(cuò)模型,本文使用隨機(jī)初始化參數(shù)的200維字嵌入層作為混淆集中字符的字向量表示,并在訓(xùn)練過(guò)程進(jìn)行更新。其他訓(xùn)練細(xì)節(jié)和基準(zhǔn)Seq2Edit模型一致。

      3.4 基準(zhǔn)模型

      MaskGEC[2]: 該方法在訓(xùn)練過(guò)程中采用動(dòng)態(tài)的詞頻、同音等替換策略作用于錯(cuò)誤的句子上,從而得到更多的錯(cuò)誤-正確句對(duì)來(lái)訓(xùn)練模型。

      異構(gòu)循環(huán)預(yù)測(cè)模型[13]: 該方法使用基于Transformer的Seq2Seq模型,基于LaserTagger[14]的Seq2Edit模型和拼寫(xiě)糾正模型循環(huán)糾正錯(cuò)誤句子。

      Transformer增強(qiáng)架構(gòu)[1]: 該方法通過(guò)動(dòng)態(tài)殘差結(jié)構(gòu)來(lái)增強(qiáng)Transformer挖掘文本語(yǔ)義信息的能力。

      Seq2Edit模型[3]: 該方法采用非自回歸的Seq2Edit模型GECToR[3]來(lái)解決中文語(yǔ)法糾錯(cuò)任務(wù)。

      3.5 實(shí)驗(yàn)結(jié)果

      表6展示了本文提出的模型與其他先進(jìn)的模型在NLPCC 2018評(píng)測(cè)數(shù)據(jù)集上的得分。與其他模型相比,本文的基準(zhǔn)Seq2Edit模型已經(jīng)優(yōu)于上述所有工作,達(dá)到了目前的最優(yōu)性能。而本文的應(yīng)用了混淆集指導(dǎo)的編輯距離算法和基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的模型的F0.5值比基準(zhǔn)Seq2Edit模型又高了0.73。MaskGEC[2]利用了Lang-8訓(xùn)練集,但在訓(xùn)練過(guò)程中動(dòng)態(tài)地采用詞頻、同音等替換策略應(yīng)用到錯(cuò)誤的句子上產(chǎn)生新的錯(cuò)誤-正確句對(duì)來(lái)訓(xùn)練模型,可以看作一種數(shù)據(jù)增強(qiáng)的手段。異構(gòu)循環(huán)預(yù)測(cè)模型[13]利用了Lang-8訓(xùn)練集,采用了基于Transformer的Seq2Seq模型,基于LaserTagger[14]的Seq2Edit模型和拼寫(xiě)糾正模型來(lái)循環(huán)糾正錯(cuò)誤句子。Transformer增強(qiáng)架構(gòu)[1]通過(guò)動(dòng)態(tài)殘差結(jié)構(gòu)來(lái)增強(qiáng)Transformer挖掘文本語(yǔ)義信息的能力,它們除了使用Lang-8和HSK的數(shù)據(jù),還使用了742萬(wàn)人造數(shù)據(jù),F(xiàn)0.5值達(dá)到了34.41,而本文沒(méi)有使用任何的人造數(shù)據(jù),性能就優(yōu)于它們。

      表6 不同糾錯(cuò)模型在NLPCC 2018 評(píng)測(cè)數(shù)據(jù)集上的結(jié)果比較

      3.6 不同改進(jìn)對(duì)模型性能的影響

      我們做了四組實(shí)驗(yàn)來(lái)驗(yàn)證本文方法的有效性。表7展示了不同改進(jìn)在NLPCC 2018評(píng)測(cè)數(shù)據(jù)集上的結(jié)果??梢钥闯龌鶞?zhǔn)Seq2Edit模型的F0.5值已經(jīng)達(dá)到了38.33,而本文提出的兩種改進(jìn)在此基礎(chǔ)上又有了一定的提升。

      第1組和第2組實(shí)驗(yàn)比較預(yù)處理階段采用普通的編輯距離算法和混淆集指導(dǎo)的編輯距離算法抽取編輯對(duì)性能的影響。使用不同的編輯距離算法抽取編輯,訓(xùn)練集中有39 003個(gè)句子抽取的編輯發(fā)生了改變,開(kāi)發(fā)集中有400個(gè)句子抽取的編輯發(fā)生了改變,大約占總數(shù)據(jù)的3.6%。如表7所示,相比采用普通的編輯距離算法抽取編輯的基準(zhǔn)Seq2Edit模型,本文使用混淆集指導(dǎo)的編輯距離算法預(yù)處理數(shù)據(jù)集后,基準(zhǔn)Seq2Edit模型的F0.5值有0.21的提升。

      表7 不同改進(jìn)對(duì)模型性能的影響

      第1組和第3組實(shí)驗(yàn)比較基準(zhǔn)Seq2Edit模型和基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的模型對(duì)性能的影響。由表7可以看出,基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的模型比基準(zhǔn)Seq2Edit模型的F0.5值提高了0.44。

      最后,第4組實(shí)驗(yàn)在預(yù)處理階段采用混淆集指導(dǎo)的編輯距離算法抽取編輯,模型采用基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的模型。其F0.5值達(dá)到了39.06,比基準(zhǔn)Seq2Edit模型提高了0.73。混淆集指導(dǎo)的編輯距離算法更好地對(duì)齊了音近和形近字的替換類編輯,使得基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的模型得到了更充分的訓(xùn)練,從而超過(guò)了兩者單獨(dú)相加提高的性能。

      3.7 對(duì)不同錯(cuò)誤類型的影響

      為了證明本文提出的模型可以比基準(zhǔn)Seq2Edit模型更好地解決語(yǔ)法糾錯(cuò)任務(wù)中的替換類錯(cuò)誤。本文采用Hinson等[13]開(kāi)發(fā)的中文ERRANT工具對(duì)本文提出的模型和基準(zhǔn)Seq2Edit模型不同錯(cuò)誤類型的糾錯(cuò)能力進(jìn)行了分析。圖3展示了本文的模型和基準(zhǔn)Seq2Edit模型在不同錯(cuò)誤類型的TP和FP值,其中TP表示模型預(yù)測(cè)正確的編輯數(shù)量,F(xiàn)P表示模型預(yù)測(cè)錯(cuò)誤的編輯數(shù)量。從圖3(a)可以看出,整體來(lái)看,本文的模型比基準(zhǔn)Seq2Edit模型多了32個(gè)預(yù)測(cè)正確的編輯。具體到替換類錯(cuò)誤,本文的模型比基準(zhǔn)Seq2Edit模型多了26個(gè)預(yù)測(cè)正確的編輯,占了整體的81.25%。從圖3(b)可以看出,整體來(lái)看,本文的模型比基準(zhǔn)Seq2Edit模型少了62個(gè)預(yù)測(cè)錯(cuò)誤的編輯。具體到替換類錯(cuò)誤,本文的模型比基準(zhǔn)Seq2Edit模型少了29個(gè)預(yù)測(cè)錯(cuò)誤的編輯,占了整體的46.77%。因此,本文模型的性能提升大部分都來(lái)自于替換類錯(cuò)誤的糾正。

      圖3 本文的模型與基準(zhǔn)Seq2Edit模型在不同錯(cuò)誤類型的TP和FP值

      4 總結(jié)

      為了更好地解決語(yǔ)法糾錯(cuò)中占比最多的替換類錯(cuò)誤,本文嘗試在模型和預(yù)處理兩部分融入混淆集知識(shí)。在模型部分,本文提出了基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的語(yǔ)法糾錯(cuò)模型。在預(yù)處理部分,本文提出了混淆集指導(dǎo)的編輯距離算法來(lái)更好地抽取音近和形近字的替換類編輯。實(shí)驗(yàn)證明,本文的模型在NLPCC 2018評(píng)測(cè)數(shù)據(jù)集上達(dá)到了目前最優(yōu)性能。進(jìn)一步的分析證明了本文的性能提升主要來(lái)自于替換類錯(cuò)誤的糾正。在未來(lái),本文計(jì)劃將基于指針網(wǎng)絡(luò)融入混淆集知識(shí)的模型遷移到拼寫(xiě)糾錯(cuò)任務(wù)。

      猜你喜歡
      指針字符基準(zhǔn)
      尋找更強(qiáng)的字符映射管理器
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計(jì)
      電子制作(2019年19期)2019-11-23 08:41:50
      偷指針的人
      消失的殖民村莊和神秘字符
      為什么表的指針都按照順時(shí)針?lè)较蜣D(zhuǎn)動(dòng)
      明基準(zhǔn)講方法保看齊
      滑落還是攀爬
      基于改進(jìn)Hough變換和BP網(wǎng)絡(luò)的指針儀表識(shí)別
      ARM Cortex—MO/MO+單片機(jī)的指針變量替換方法
      荆门市| 德清县| 吴桥县| 德保县| 包头市| 桃江县| 五峰| 博野县| 建水县| 故城县| 泰宁县| 淮阳县| 商洛市| 阿拉善右旗| 昆明市| 台北市| 闻喜县| 阳东县| 砚山县| 饶阳县| 钟祥市| 于田县| 板桥市| 佳木斯市| 惠安县| 福鼎市| 鹰潭市| 瓮安县| 巴彦县| 卓资县| 九江县| 化德县| 济南市| 曲麻莱县| 类乌齐县| 剑阁县| 洮南市| 陈巴尔虎旗| 喀喇沁旗| 乌拉特中旗| 迁安市|