宋 程,謝振平,2
1.江南大學(xué) 人工智能與計(jì)算機(jī)學(xué)院,江蘇 無(wú)錫 214000
2.江南大學(xué) 江蘇省媒體設(shè)計(jì)與軟件技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇 無(wú)錫 214000
近年來(lái),隨著互聯(lián)網(wǎng)相關(guān)技術(shù)的快速發(fā)展,多種多樣的數(shù)據(jù)正在大量的產(chǎn)生。與此同時(shí),大量先進(jìn)的機(jī)器學(xué)習(xí)相關(guān)研究對(duì)數(shù)據(jù)的要求也越發(fā)增大,并且數(shù)據(jù)質(zhì)量對(duì)訓(xùn)練模型的準(zhǔn)確性和泛化能力有著重要影響,因此獲取高標(biāo)準(zhǔn)的數(shù)據(jù)質(zhì)量的重要性已得到從業(yè)者和研究人員的廣泛認(rèn)可。其次,要獲取與任務(wù)相關(guān)并且可靠的訓(xùn)練數(shù)據(jù)主要依靠專家或雇傭工人。但是使用這種方法存在一些問(wèn)題,因?yàn)樵较冗M(jìn)的系統(tǒng)對(duì)訓(xùn)練數(shù)據(jù)規(guī)模的要求也越大,而大規(guī)模的數(shù)據(jù)往往伴隨著高昂的人工成本。所以對(duì)于如何生成與任務(wù)相關(guān)并能夠有效提升模型效果的數(shù)據(jù)集,數(shù)據(jù)增強(qiáng)被認(rèn)為是一種有效的方法[1]。但是通過(guò)數(shù)據(jù)增強(qiáng)方法構(gòu)建有效提升模型性能的增強(qiáng)數(shù)據(jù)集,現(xiàn)有的方法主要還是通過(guò)模型訓(xùn)練進(jìn)行篩選,使用這種方法存在一定的局限性,比如多次訓(xùn)練模型的時(shí)間成本過(guò)大、模型性能對(duì)測(cè)試集數(shù)據(jù)分布的偏向性等問(wèn)題。因此,評(píng)估增強(qiáng)數(shù)據(jù)集質(zhì)量對(duì)于訓(xùn)練出高質(zhì)量的機(jī)器學(xué)習(xí)模型有著重要研究意義。
早期數(shù)據(jù)質(zhì)量的評(píng)估主要通過(guò)領(lǐng)域?qū)<乙远ㄐ缘姆绞綖椴煌瑘?chǎng)景下的數(shù)據(jù)定義多維度的指標(biāo)。Alizamini等人[2]將數(shù)據(jù)質(zhì)量評(píng)估結(jié)果和使用者的需求相關(guān)聯(lián)起來(lái),在滿足所提出的指標(biāo)的情況下的高質(zhì)量數(shù)據(jù)能夠在使用時(shí)發(fā)揮更高的價(jià)值。Wang 等人[3]將信息在系統(tǒng)設(shè)計(jì)中預(yù)期用途作為分析數(shù)據(jù)質(zhì)量的方法,由于系統(tǒng)的設(shè)計(jì)服務(wù)于用戶,因此將用戶的觀點(diǎn)定義為數(shù)據(jù)質(zhì)量的標(biāo)準(zhǔn),進(jìn)而總結(jié)出了最常引用的26個(gè)質(zhì)量維度,而對(duì)于這些指標(biāo)并沒有進(jìn)一步提供具體量化的方法。
隨著人工智能的快速發(fā)展,通過(guò)深度學(xué)習(xí)模型提取數(shù)據(jù)的特征來(lái)進(jìn)行質(zhì)量評(píng)估逐漸變成一種主流的方式。Wu等人[4]提出了兩種多樣性的優(yōu)化算法用于眾包場(chǎng)景下的數(shù)據(jù)收集,分別是相似度和任務(wù)驅(qū)動(dòng)模型,但這兩種模型并未考慮內(nèi)在質(zhì)量對(duì)數(shù)據(jù)集的影響。李安然等人[5]提出了一個(gè)面向特定任務(wù)的針對(duì)大規(guī)模數(shù)據(jù)集的具有高效可解釋性的質(zhì)量評(píng)估系統(tǒng),該系統(tǒng)可以通過(guò)對(duì)數(shù)據(jù)集內(nèi)在質(zhì)量和上下文質(zhì)量評(píng)估來(lái)為特定的機(jī)器學(xué)習(xí)任務(wù)挑選多個(gè)高質(zhì)量數(shù)據(jù)集,但這種方法卻沒有考慮數(shù)據(jù)集對(duì)整個(gè)高維空間的覆蓋程度。Kang 等人[6]針對(duì)對(duì)話系統(tǒng)中眾包數(shù)據(jù)收集過(guò)程中無(wú)法確定數(shù)據(jù)內(nèi)在質(zhì)量提供了明確的建議,提出了多樣性和覆蓋度兩種指標(biāo)用于評(píng)估數(shù)據(jù)的質(zhì)量,但對(duì)于評(píng)價(jià)指標(biāo)沒有給出一個(gè)合適的計(jì)算方法。Chen 等人[7]提出了一個(gè)包含質(zhì)量標(biāo)準(zhǔn)及其相應(yīng)的評(píng)價(jià)方法的數(shù)據(jù)質(zhì)量評(píng)估框架,通過(guò)所提出的三個(gè)指標(biāo)全面性、正確性和多樣性來(lái)量化分析醫(yī)學(xué)概念規(guī)范化的數(shù)據(jù)集,但是并未考慮結(jié)合不同維度的結(jié)果進(jìn)行解釋分析。Taleb 等人[8]提出一種處理非結(jié)構(gòu)化大數(shù)據(jù)質(zhì)量評(píng)價(jià)的模型,該模型主要是使用文本挖掘技術(shù)來(lái)獲取有用的信息進(jìn)行評(píng)估其質(zhì)量,最后對(duì)樣本數(shù)據(jù)運(yùn)行評(píng)估算法,構(gòu)建質(zhì)量報(bào)告,但該模型并沒有給出具體的案例分析。Xiao等人[9]提出一種以多樣性為驅(qū)動(dòng)的不確定數(shù)據(jù)收集框架,通過(guò)數(shù)據(jù)空間中數(shù)據(jù)噪聲的分布來(lái)構(gòu)建出一個(gè)綜合模型用于完成數(shù)據(jù)的收集,但考慮的因素單一,并不能獲取有效的高質(zhì)量數(shù)據(jù)集。
綜上所述,目前的工作對(duì)于數(shù)據(jù)集質(zhì)量評(píng)估還存在所設(shè)計(jì)的評(píng)價(jià)指標(biāo)考慮的因素不完善、不能綜合多個(gè)維度結(jié)果進(jìn)行解釋分析。因此,本文提出了一種以中文糾錯(cuò)任務(wù)為例的數(shù)據(jù)集增強(qiáng)質(zhì)量評(píng)價(jià)方法來(lái)更加全面地量化增強(qiáng)數(shù)據(jù)集的質(zhì)量。首先通過(guò)將原始語(yǔ)句轉(zhuǎn)換到高維空間,其次結(jié)合文獻(xiàn)[10]中所給出的內(nèi)在質(zhì)量和上下文質(zhì)量來(lái)考慮增強(qiáng)數(shù)據(jù)集與特定任務(wù)的關(guān)聯(lián)性、數(shù)據(jù)點(diǎn)之間的關(guān)系和對(duì)整體高維空間的覆蓋程度等三個(gè)方面來(lái)進(jìn)行評(píng)價(jià),最后對(duì)多個(gè)維度指標(biāo)進(jìn)行融合來(lái)完成增強(qiáng)數(shù)據(jù)集的評(píng)價(jià)結(jié)果排序,進(jìn)而篩選出最適合當(dāng)前任務(wù)的增強(qiáng)數(shù)據(jù)集。總而言之,本文的主要貢獻(xiàn)如下:
(1)設(shè)計(jì)并實(shí)現(xiàn)了一種以中文糾錯(cuò)任務(wù)為例的數(shù)據(jù)集增強(qiáng)質(zhì)量評(píng)價(jià)方法,可以獨(dú)立于測(cè)試集性能檢驗(yàn)方法來(lái)為不同數(shù)據(jù)增強(qiáng)方法生成的訓(xùn)練集選用提供依據(jù)。
(2)本文在四種數(shù)據(jù)增強(qiáng)方法、兩個(gè)中文糾錯(cuò)數(shù)據(jù)集和三個(gè)中文糾錯(cuò)模型進(jìn)行了廣泛的評(píng)估,通過(guò)聯(lián)系模型精度和評(píng)價(jià)結(jié)果排名的方式來(lái)驗(yàn)證該設(shè)計(jì)的合理性。實(shí)驗(yàn)結(jié)果表明,在面向中文糾錯(cuò)任務(wù)上質(zhì)量越高的增強(qiáng)數(shù)據(jù)集在模型性能的提升上會(huì)有更好的表現(xiàn)。
數(shù)據(jù)集增強(qiáng)質(zhì)量評(píng)價(jià)方法通過(guò)給定一組增強(qiáng)數(shù)據(jù)集D、面向中文糾錯(cuò)任務(wù)的測(cè)試集T和由標(biāo)準(zhǔn)正態(tài)分布生成的模擬數(shù)據(jù)集S來(lái)進(jìn)行評(píng)估,其衡量過(guò)程首先對(duì)增強(qiáng)數(shù)據(jù)集進(jìn)行特征提取,再把增強(qiáng)數(shù)據(jù)集多個(gè)維度的指標(biāo)進(jìn)行量化,最后通過(guò)融合不同維度的評(píng)價(jià)結(jié)果來(lái)對(duì)增強(qiáng)數(shù)據(jù)集進(jìn)行質(zhì)量排序,具體過(guò)程如圖1所示。
圖1 質(zhì)量評(píng)價(jià)方法Fig.1 Quality evaluation method
對(duì)于數(shù)據(jù)集增強(qiáng)質(zhì)量的評(píng)價(jià)方法,一種有效的特征提取方式是非常重要的環(huán)節(jié)之一。因此為了獲得更加有效的句子表征,本文使用自變壓器雙向編碼器(bidirectional encoder representations from transformers,BERT)來(lái)生成句向量。同時(shí)為了能夠獲取更加準(zhǔn)確的向量表示,收集了常用的與中文糾錯(cuò)相關(guān)的數(shù)據(jù)集,然后將整理后的數(shù)據(jù)集用于無(wú)監(jiān)督語(yǔ)義相似度任務(wù),但是直接用BERT 輸出的句向量做無(wú)監(jiān)督語(yǔ)義相似度計(jì)算效果會(huì)很差,文獻(xiàn)[11]驗(yàn)證了原因在于BERT 輸出向量分布的非線性和奇異性,任意兩個(gè)句子的句向量的余弦相似度都非常高。為了解決這一問(wèn)題,使用文獻(xiàn)[12]中提出的方法,在計(jì)算句向量的過(guò)程中引入對(duì)比學(xué)習(xí)的方法來(lái)提升表示空間的質(zhì)量,使用對(duì)比學(xué)習(xí)可以讓空間中的向量分布更加均勻,進(jìn)而達(dá)到優(yōu)化句向量的效果。
互覆蓋度旨在模擬增強(qiáng)數(shù)據(jù)集覆蓋相應(yīng)任務(wù)表達(dá)式空間的程度??紤]到不同任務(wù)都有常用的測(cè)試數(shù)據(jù)集來(lái)驗(yàn)證模型在該任務(wù)上的表現(xiàn),因此,本文使用測(cè)試集作為中文糾錯(cuò)任務(wù)的表達(dá)式空間的近似表示。而對(duì)于中文語(yǔ)法和拼寫糾錯(cuò)這兩類任務(wù),分別使用了NLPCC2018和SIGHAN Bake-off 2015中的測(cè)試集。
為了測(cè)量給定測(cè)試集的訓(xùn)練集的覆蓋程度,首先將預(yù)訓(xùn)練模型輸出的錯(cuò)誤和正確句子的向量進(jìn)行拼接,其次通過(guò)余弦相似度來(lái)為每一個(gè)測(cè)試集中的句子對(duì)在訓(xùn)練集中識(shí)別出最相似的句子對(duì)。然后,通過(guò)對(duì)測(cè)試集中所有句子對(duì)的最大相似度求平均來(lái)導(dǎo)出互覆蓋度。對(duì)于給定的測(cè)試集,希望訓(xùn)練集具有盡可能高的覆蓋率。具體地,對(duì)于測(cè)試集T和訓(xùn)練集D,其計(jì)算公式如式(1)所示:
其中,Ti和Di分別表示測(cè)試集T和訓(xùn)練集D中的句子對(duì),cos(a,b)表示測(cè)試集和訓(xùn)練集中句子對(duì)的余弦相似度。
總分散度旨在評(píng)估增強(qiáng)數(shù)據(jù)集本身在空間中的分散程度。其背后的思想是,訓(xùn)練數(shù)據(jù)集越分散,下游模型越不可能過(guò)擬合,因此它將更好地推廣到測(cè)試集中。
為了測(cè)量給定訓(xùn)練集的分散程度,首先對(duì)每一個(gè)訓(xùn)練集中的句子去識(shí)別出另一個(gè)相似度最低的句子。然后,通過(guò)對(duì)訓(xùn)練集中所有句子的最不相似度求平均來(lái)導(dǎo)出總分散度。最后為了讓不同維度指標(biāo)趨勢(shì)一致,增加了一個(gè)負(fù)號(hào)來(lái)保證該值越接近1,訓(xùn)練集的分散程度也越好。具體地,對(duì)于訓(xùn)練集D,其計(jì)算公式如式(2)所示:
自支撐度旨在模擬增強(qiáng)數(shù)據(jù)集對(duì)完整向量空間的覆蓋程度。其基本思路是句子的向量表示可以代表其周邊的小范圍的空間,那么當(dāng)這些小范圍空間覆蓋到完整空間的時(shí)候,這些組成小范圍空間的句子向量表示的數(shù)量被認(rèn)為是對(duì)完整空間的近似表示。
那么為了實(shí)現(xiàn)上述思路,需要解決兩個(gè)問(wèn)題,第一個(gè)是如何確定一個(gè)句子向量表示可以覆蓋到的范圍,第二個(gè)是如何計(jì)算出組成完整空間的句子向量表示的數(shù)量。
為了解決第一個(gè)問(wèn)題,本文將相似句子之間的距離作為句子向量表示能夠覆蓋到的范圍,對(duì)于每一對(duì)相似句子可以看成是對(duì)原始句子進(jìn)行的編輯操作,那么將相似句子之間的編輯距離和句向量之間的余弦距離聯(lián)系在一起,就可以將真實(shí)世界和高維空間中相似的句子關(guān)聯(lián)起來(lái),進(jìn)而推測(cè)出相似句子所能覆蓋到的范圍。因此,首先將隨機(jī)插入、刪除、替換和交換作為基本編輯操作,然后在不同大小的編輯距離中隨機(jī)挑選句子對(duì)計(jì)算余弦距離,進(jìn)而得到余弦距離分布密度圖,最后觀察在不同編輯距離的情況下余弦距離的變化趨勢(shì)。如圖2所示,可以發(fā)現(xiàn)隨著編輯距離的增加余弦距離的大小會(huì)以更高的概率變大,因此選擇余弦距離等于0.1 作為單個(gè)句子向量表示的最大覆蓋范圍。
圖2 余弦距離在不同編輯距離下的變化曲線Fig.2 Change curve of cosine distance at different edit distances
針對(duì)第二個(gè)問(wèn)題,為了能夠使用有限的數(shù)據(jù)來(lái)覆蓋到完整向量空間,本文首先使用標(biāo)準(zhǔn)正態(tài)分布生成5維向量的數(shù)據(jù),其次對(duì)于如何計(jì)算出組成完整空間的向量表示的數(shù)量,可以把它看成一個(gè)集合覆蓋問(wèn)題,由所有句向量組成全集,而每一個(gè)向量都對(duì)應(yīng)一個(gè)集合,該集合中包含的向量與當(dāng)前向量的余弦距離都小于所設(shè)定的覆蓋范圍。然后用最少的集合來(lái)覆蓋全集,這些最少集合的數(shù)量可以作為組成完整空間的最少覆蓋數(shù)量。最后為了減少誤差,本文模擬了100 萬(wàn)到500 萬(wàn)的5 維向量,并且讓余弦距離從0到0.11以0.004作為間隔,分別計(jì)算在不同覆蓋范圍下完整空間的最少覆蓋數(shù)量。如圖3 所示,隨著覆蓋范圍的不斷增大,完整空間的最少覆蓋數(shù)量也隨之減少,并且隨著數(shù)據(jù)量規(guī)模的增大,曲線變化也越接近,因此當(dāng)數(shù)據(jù)量規(guī)模為500 萬(wàn)的時(shí)候,余弦距離從0.004到0.1之間的曲線下方面積可以被認(rèn)為是完整空間的近似表示。
圖3 不同數(shù)量下的最少覆蓋數(shù)量變化曲線Fig.3 Change curves of minimum coverage quantity under different quantities
為了測(cè)量給定訓(xùn)練集的自支撐度,首先需要將預(yù)訓(xùn)練模型輸出的向量進(jìn)行降維和聚類來(lái)減小數(shù)據(jù)規(guī)模,之后通過(guò)貪心算法對(duì)每一類計(jì)算出最少覆蓋數(shù)量,最后整合所有類別結(jié)果畫出完整空間最少覆蓋數(shù)量變化曲線。對(duì)于給定的訓(xùn)練集,通過(guò)訓(xùn)練集所構(gòu)造的曲線越接近模擬曲線越好。具體地,對(duì)于訓(xùn)練集D和模擬數(shù)據(jù)集S,其計(jì)算公式如式(3)所示:
其中,area(D)和area(S)分別表示真實(shí)曲線和模擬曲線面積。
給定任意數(shù)量的通過(guò)數(shù)據(jù)增強(qiáng)方法構(gòu)造的數(shù)據(jù)集,可以通過(guò)之前介紹的方法來(lái)完成各維度的質(zhì)量評(píng)價(jià)。但是對(duì)于不同維度的質(zhì)量評(píng)價(jià)結(jié)果并沒有一種可以比較的方式,因此將三種維度的質(zhì)量值進(jìn)行融合。
考慮到三個(gè)維度的評(píng)價(jià)結(jié)果的取值范圍都在0 到1,并且不同維度的理想趨勢(shì)是一致的,都是越接近于1越好,那么如果存在一個(gè)增強(qiáng)數(shù)據(jù)集其各質(zhì)量維度都能夠達(dá)到最優(yōu)值,那么這個(gè)增強(qiáng)數(shù)據(jù)集就可以被認(rèn)為是理想上最好的。因此,采用了文獻(xiàn)[13]中給出的乘法合成法來(lái)作為不同維度指標(biāo)綜合的方法,可以對(duì)增強(qiáng)數(shù)據(jù)集給出一個(gè)整體評(píng)價(jià)的結(jié)果。因此,對(duì)于任意一個(gè)增強(qiáng)數(shù)據(jù)集D、測(cè)試數(shù)據(jù)集T和模擬數(shù)據(jù)集S,其質(zhì)量融合的計(jì)算公式如式(4)所示:
其中,coverage(T,D)代表互覆蓋度,dispersity(D)表示總分散度,support(D,S)表示自支撐度。其中,對(duì)于互覆蓋度的結(jié)果,本文設(shè)置了一個(gè)因子γ,因?yàn)樵跀?shù)據(jù)規(guī)模上升的情況下,總分散度和自支撐度可以進(jìn)行穩(wěn)定的提升,而互覆蓋度由于測(cè)試集的局限性,其增長(zhǎng)速率會(huì)隨著數(shù)據(jù)量的上升而逐漸減緩,所以在數(shù)據(jù)量較小的時(shí)候因子γ應(yīng)該設(shè)置的較大來(lái)增大互覆蓋度對(duì)整體評(píng)價(jià)的影響,而在數(shù)據(jù)量足夠大的時(shí)候可以將因子γ設(shè)置為1來(lái)保證三個(gè)維度對(duì)整體評(píng)價(jià)有相同的影響。因此,在不到1萬(wàn)條SIGHAN Bake-off 2015訓(xùn)練集的拼寫糾錯(cuò)任務(wù)上本文將因子γ設(shè)置為5,而在10 萬(wàn)條NLPCC2018訓(xùn)練集的語(yǔ)法糾錯(cuò)任務(wù)上將因子γ設(shè)置為2。
本文提出了一種以中文糾錯(cuò)任務(wù)為例的數(shù)據(jù)集增強(qiáng)質(zhì)量評(píng)價(jià)方法,可用于篩選出高質(zhì)量的增強(qiáng)數(shù)據(jù)集。為了驗(yàn)證不同方法生成的數(shù)據(jù)集對(duì)模型性能的影響,采用文獻(xiàn)[14]中使用的方法,首先使用增強(qiáng)數(shù)據(jù)集對(duì)模型進(jìn)行預(yù)訓(xùn)練,然后用人工生成的訓(xùn)練集來(lái)對(duì)模型進(jìn)行微調(diào)。其次,將不同數(shù)據(jù)增強(qiáng)方法生成的數(shù)據(jù)集進(jìn)行質(zhì)量評(píng)估并與糾錯(cuò)模型訓(xùn)練結(jié)果進(jìn)行關(guān)聯(lián)起來(lái),嘗試使用不同數(shù)據(jù)增強(qiáng)策略、同一種數(shù)據(jù)增強(qiáng)策略下設(shè)置不同參數(shù)和數(shù)據(jù)量規(guī)模增大的情況下來(lái)驗(yàn)證質(zhì)量評(píng)價(jià)的合理性。
為了衡量增強(qiáng)數(shù)據(jù)集的質(zhì)量,首先需要通過(guò)預(yù)訓(xùn)練模型來(lái)提取文本的數(shù)據(jù)特征,因此將NLPCC2018 數(shù)據(jù)集一共120 萬(wàn)和SIGHAN Bake-off 2013—2015 年比賽提供的訓(xùn)練數(shù)據(jù)集6 476條數(shù)據(jù)通過(guò)對(duì)比學(xué)習(xí)的方式來(lái)優(yōu)化預(yù)訓(xùn)練模型輸出的句向量。
對(duì)于互覆蓋度的計(jì)算,為測(cè)試集中每一個(gè)句子對(duì)在增強(qiáng)數(shù)據(jù)集中找到相似度最高的句子對(duì),但是通過(guò)BERT 輸出的句向量是768 維,將正確句子和錯(cuò)誤句子拼接后達(dá)到1 536 維,如果采用傳統(tǒng)的方法兩兩計(jì)算余弦相似度值,再獲取最小值,由公式(1)可知時(shí)間復(fù)雜度為O(n×m),n為增強(qiáng)數(shù)據(jù)集的大小,m為測(cè)試集的大小。因此,為了能夠減少在高維向量之間的余弦相似度計(jì)算時(shí)間,本文使用文獻(xiàn)[15]中的方法,使用分層的可導(dǎo)航小世界(hierarchical navigable small world,HNSW)進(jìn)行高維向量檢索,通過(guò)HNSW 對(duì)由增強(qiáng)數(shù)據(jù)集生成的句向量進(jìn)行分層構(gòu)圖,然后對(duì)測(cè)試集中的所有句子對(duì)生成的向量,都可以快速在分層圖中查找到最相似的增強(qiáng)數(shù)據(jù)集中的句子對(duì),其時(shí)間復(fù)雜度為O(m)。
針對(duì)總分散度的計(jì)算,對(duì)增強(qiáng)數(shù)據(jù)集中每一個(gè)句向量都需要進(jìn)行計(jì)算再求平均,那么當(dāng)數(shù)據(jù)規(guī)模和維度都很大的時(shí)候,其計(jì)算開銷和時(shí)間成本都會(huì)很大,由公式(2)可知時(shí)間復(fù)雜度為O(n2),n為增強(qiáng)數(shù)據(jù)集的大小。因此,為了減少運(yùn)行時(shí)間,在計(jì)算過(guò)程中首先將數(shù)據(jù)集劃分成k個(gè)部分,每一部分包含1 萬(wàn)條向量,然后將每?jī)蓚€(gè)部分構(gòu)建成的向量矩陣計(jì)算出余弦相似度矩陣,最后比較所有相似度矩陣得出總分散度結(jié)果,其時(shí)間復(fù)雜度為O(k2)。
為了計(jì)算自支撐度,由于增強(qiáng)數(shù)據(jù)集通過(guò)基于BERT 的預(yù)訓(xùn)練模型輸出的句向量為768 維,而通過(guò)標(biāo)準(zhǔn)正態(tài)分布模擬的數(shù)據(jù)只有5維,所以本文首先使用等距離映射(isometric feature mapping,Isomap)來(lái)對(duì)高維向量進(jìn)行降維。然后使用基于層次結(jié)構(gòu)的平衡迭代聚類方法(balanced iterative reducing and clustering using hierarchies,BIRCH)來(lái)對(duì)高維向量進(jìn)行聚類。最后,通過(guò)貪心算法對(duì)每一個(gè)類別計(jì)算自支撐度,再綜合所有類別結(jié)果就可以畫出增強(qiáng)數(shù)據(jù)集對(duì)完整空間的最少覆蓋數(shù)量變化曲線,其時(shí)間復(fù)雜度為O(l×d×m),l為聚類的簇?cái)?shù),d為類別中向量的平均個(gè)數(shù),m為每一個(gè)向量對(duì)應(yīng)的子集。
對(duì)于上述實(shí)驗(yàn),本文將原始方法與所提出的優(yōu)化算法的運(yùn)行時(shí)間在NLPCC2018數(shù)據(jù)集上進(jìn)行了對(duì)比。其中,原始方法指直接計(jì)算數(shù)據(jù)集中向量之間的余弦距離,不考慮使用HNSW 和數(shù)據(jù)集劃分的方法來(lái)減少計(jì)算開銷。而對(duì)于自支撐度只給出了優(yōu)化方法的運(yùn)行時(shí)間,原因在于不通過(guò)聚類方法來(lái)減小數(shù)據(jù)規(guī)模的情況下直接用貪心算法來(lái)計(jì)算最少覆蓋數(shù)量會(huì)花費(fèi)較大的時(shí)間成本,其時(shí)間復(fù)雜度為O(n×m),n為增強(qiáng)數(shù)據(jù)集中向量個(gè)數(shù),m為每一個(gè)向量對(duì)應(yīng)的子集。如圖4(a)和圖4(b)所示,隨著數(shù)據(jù)量的不斷上升,本文的優(yōu)化方法與原始方法相比大大減少了運(yùn)行時(shí)間。在同等數(shù)據(jù)規(guī)模下,自支撐度的運(yùn)行時(shí)間結(jié)果如圖4(c)所示。
圖4 數(shù)據(jù)集增強(qiáng)質(zhì)量評(píng)價(jià)結(jié)果及運(yùn)行時(shí)間Fig.4 Dataset enhancement quality evaluation results and running time
為了驗(yàn)證本文方法的有效性,本文分別在用于語(yǔ)法糾錯(cuò)上的NLPCC2018 數(shù)據(jù)集上隨機(jī)抽取10 萬(wàn)條數(shù)據(jù)和拼寫糾錯(cuò)上的SIGHAN Bake-off 2013—2015年比賽CSC 任務(wù)中提供的訓(xùn)練數(shù)據(jù)集6 476 條數(shù)據(jù)進(jìn)行微調(diào)模型,然后使用四種數(shù)據(jù)增強(qiáng)方案來(lái)生成同等規(guī)模下的訓(xùn)練數(shù)據(jù)用于對(duì)模型的預(yù)訓(xùn)練。測(cè)試集分別使用NLPCC2018 公開評(píng)測(cè)比賽的測(cè)試集一共2 000 條句子對(duì)和SIGHAN Bake-off 2015年比賽提供的測(cè)試集一共1 100條句子對(duì)。
針對(duì)中文糾錯(cuò)任務(wù)的應(yīng)用場(chǎng)景,需要使用數(shù)據(jù)增強(qiáng)方法對(duì)原始數(shù)據(jù)增加噪聲來(lái)模擬中文錯(cuò)誤,從而構(gòu)建出句子對(duì)用于模型的訓(xùn)練。為了能夠更好地衡量不同方法對(duì)模型性能的提升,本文主要通過(guò)兩類方法,分別是無(wú)監(jiān)督和有監(jiān)督的方法,無(wú)監(jiān)督方法主要是通過(guò)對(duì)原始句子修改的方式來(lái)構(gòu)造樣本,有監(jiān)督方法是通過(guò)生成模型來(lái)實(shí)現(xiàn)由正確文本生成錯(cuò)誤樣本。具體的數(shù)據(jù)增強(qiáng)方法如下所示:
(1)基于腐化語(yǔ)料的單語(yǔ)數(shù)據(jù)增強(qiáng)[16]。首先通過(guò)jieba分詞工具對(duì)原始語(yǔ)句進(jìn)行分詞,然后通過(guò)腐化算法按30%的概率對(duì)每個(gè)詞進(jìn)行隨機(jī)添加、替換或刪除,其中設(shè)置隨機(jī)操作的比例為1∶1∶1。
(2)EDA[17]。同樣使用jieba分詞工具對(duì)原始語(yǔ)句進(jìn)行分詞,然后按10%的概率隨機(jī)選擇位置進(jìn)行隨機(jī)刪除、插入、交換或同義詞替換。
(3)反向翻譯[18]。使用NLPCC2018和SIGHAN Bakeoff 2013—2015的數(shù)據(jù)集,通過(guò)正確樣本到錯(cuò)誤樣本來(lái)訓(xùn)練一個(gè)Transformer 模型來(lái)模擬中文錯(cuò)誤方式,生成錯(cuò)誤語(yǔ)句。
(4)OCR+ASR[19]。通過(guò)文本轉(zhuǎn)語(yǔ)音或圖片,再對(duì)語(yǔ)音或圖片添加噪聲后再轉(zhuǎn)換為文本來(lái)模擬中文音似和形似錯(cuò)誤類型。
對(duì)于上述增強(qiáng)方法,除了反向翻譯需要先訓(xùn)練一個(gè)模型所以需要花費(fèi)較大的時(shí)間成本,其余方法都可以直接實(shí)現(xiàn),并且在實(shí)驗(yàn)過(guò)程中都使用NLPCC2018 和SIGHAN Bake-off 2013—2015訓(xùn)練集中的正確語(yǔ)句生成相同大小的增強(qiáng)數(shù)據(jù)來(lái)保證數(shù)據(jù)量的一致性。
本文在數(shù)據(jù)集增強(qiáng)質(zhì)量評(píng)價(jià)過(guò)程中選擇Pytorch為深度學(xué)習(xí)的框架,在PyCharm 2021,CPU 為i7-10700k,GPU 為RTX2060,16 GB 內(nèi)存,Python 3.8,Win10 64 位操作系統(tǒng)下進(jìn)行實(shí)驗(yàn)。
為了分析不同數(shù)據(jù)集在中文糾錯(cuò)模型上表現(xiàn)如何,本文使用了三個(gè)中文糾錯(cuò)模型,分別是GECToR、基于中文BART 的seq2seq 模型和基于RNN 的seq2seq 模型。GECToR 和基于中文BART 的seq2seq 模型是使用文獻(xiàn)[20]提供的代碼及默認(rèn)參數(shù)設(shè)置,但是將中文BART 的預(yù)訓(xùn)練權(quán)重修改為BART-base?;赗NN 的seq2seq模型使用的是文獻(xiàn)[21]中的默認(rèn)參數(shù)設(shè)置。
2.4.1 中文語(yǔ)法糾錯(cuò)評(píng)價(jià)指標(biāo)
本文實(shí)驗(yàn)采用公開的標(biāo)準(zhǔn)評(píng)價(jià)指標(biāo)最大匹配分?jǐn)?shù)(M2-Scorer[22])對(duì)中文語(yǔ)法糾錯(cuò)模型在NLPCC2018測(cè)試集上的結(jié)果進(jìn)行評(píng)估。對(duì)于糾錯(cuò)模型輸出的改正結(jié)果,M2-Scorer 在所有標(biāo)準(zhǔn)編輯集合中計(jì)算出與改正結(jié)果重疊程度最高的編輯序列。其計(jì)算結(jié)果包括精確率(Precision,P)、召回率(Recall,R)和F0.5值。具體的計(jì)算公式如式(5)~(8)所示:
其中,{e1,e2,…,en} 是由糾錯(cuò)模型輸出的改正的集合,{g1,g2,…,gn} 是M2-Scorer 工具包中給出的標(biāo)準(zhǔn)改正集合。
2.4.2 中文拼寫糾錯(cuò)評(píng)價(jià)指標(biāo)
對(duì)于中文拼寫糾錯(cuò)任務(wù)的評(píng)價(jià)指標(biāo),本文采用SIGHAN Bake-off 2013—2015年比賽中CSC任務(wù)提供的計(jì)算方法。評(píng)價(jià)指標(biāo)的混淆矩陣如表1所示,其中TP(True Positive)表示糾錯(cuò)模型能夠正確識(shí)別出有拼寫錯(cuò)誤的句子數(shù);FP(False Positive)表示將沒有拼寫錯(cuò)誤但被識(shí)別為錯(cuò)誤的句子數(shù);TN(True Negative)表示沒有拼寫錯(cuò)誤的句子被標(biāo)記為沒有出錯(cuò)的句子數(shù);FN(False Positive)表示存在拼寫錯(cuò)誤卻被識(shí)別為沒有錯(cuò)誤的句子數(shù)。
表1 混淆矩陣表Table 1 Confusion matrix table
在混淆矩陣的幫助下,本文采用的評(píng)價(jià)指標(biāo)包含包括精確率(Precision,P)、召回率(Recall,R)和F0.5值。具體的計(jì)算公式如式(9)~(11)所示:
其中,TP+FP表示被糾錯(cuò)模型識(shí)別為錯(cuò)誤的句子數(shù),TP+FN表示真實(shí)存在錯(cuò)誤的句子數(shù)。
在這一節(jié),本文分別做了三組實(shí)驗(yàn),來(lái)驗(yàn)證所提出的質(zhì)量評(píng)價(jià)方法的有效性。第一組實(shí)驗(yàn)通過(guò)對(duì)不同數(shù)據(jù)增強(qiáng)方法生成的數(shù)據(jù)集在模型上進(jìn)行預(yù)訓(xùn)練,用相同的人工數(shù)據(jù)集進(jìn)行微調(diào),然后觀察模型在測(cè)試集上F值和數(shù)據(jù)集增強(qiáng)的質(zhì)量評(píng)價(jià)結(jié)果的關(guān)聯(lián)性;第二組是在同一種數(shù)據(jù)增強(qiáng)方法下設(shè)置不同的錯(cuò)誤類型的實(shí)驗(yàn);第三組是在數(shù)據(jù)量規(guī)模增大的情況下進(jìn)行的實(shí)驗(yàn)。
圖5 是使用不同數(shù)據(jù)增強(qiáng)方法生成相同數(shù)量大小的訓(xùn)練集分別在NLPCC2018和SIGHAN2015測(cè)試集上的模型精度和增強(qiáng)數(shù)據(jù)集質(zhì)量評(píng)估結(jié)果。由圖5(a)可知,四種數(shù)據(jù)增強(qiáng)方法生成的數(shù)據(jù)集質(zhì)量融合結(jié)果是依次上升的,在三個(gè)糾錯(cuò)模型上,前三種方法生成數(shù)據(jù)集的F 值也是依次上升的,但是對(duì)于OCR+ASR 的方法有不同的結(jié)果。因?yàn)樵谥形恼Z(yǔ)法糾錯(cuò)任務(wù)上,錯(cuò)誤類型包含多字、少字、錯(cuò)字和排序錯(cuò)誤,但是使用OCR+ASR生成錯(cuò)誤樣本只有錯(cuò)字,所以不同模型在該方法上的表現(xiàn)會(huì)有所差異。其次,在三個(gè)模型中只有RNN 的模型沒有使用通過(guò)大規(guī)模數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練增強(qiáng),所以它在使用OCR+ASR這種方法下的效果會(huì)最差。在表2中總結(jié)了NLPCC2018上不同增強(qiáng)數(shù)據(jù)集的質(zhì)量評(píng)價(jià)結(jié)果。實(shí)驗(yàn)結(jié)果表明在NLPCC2018測(cè)試集中使用反向翻譯生成的增強(qiáng)數(shù)據(jù)集可以更有效地提升模型的性能。
表2 NLPCC2018上增強(qiáng)數(shù)據(jù)集質(zhì)量評(píng)價(jià)結(jié)果Table 2 Enhanced dataset quality evaluation results on NLPCC2018
圖5 不同數(shù)據(jù)增強(qiáng)方法下的評(píng)估結(jié)果Fig.5 Evaluation results under different data augmentation methods
由圖5(b)可知,增強(qiáng)數(shù)據(jù)集質(zhì)量融合指標(biāo)結(jié)果是依次上升的,在所有糾錯(cuò)模型中使用OCR+ASR的方法達(dá)到最優(yōu),腐化語(yǔ)料的效果最差,對(duì)于另外兩種增強(qiáng)方法的結(jié)果有不同的結(jié)果。因?yàn)樵谥形钠磳懠m錯(cuò)任務(wù)上,錯(cuò)誤類型只包含錯(cuò)字,而除了OCR+ASR這種方法,另外的方法都包含其他錯(cuò)誤,對(duì)于這些錯(cuò)誤并不能保證模型能夠?qū)W習(xí)到有用的部分。在表3中總結(jié)了SIGHAN2013—2015 上不同增強(qiáng)數(shù)據(jù)集的質(zhì)量評(píng)價(jià)結(jié)果。實(shí)驗(yàn)結(jié)果表明在SIGHAN2015 的測(cè)試集中使用OCR+ASR 的方法生成的增強(qiáng)數(shù)據(jù)集可以達(dá)到最優(yōu)的效果。
表3 SIGHAN2013—2015上增強(qiáng)數(shù)據(jù)集質(zhì)量評(píng)價(jià)結(jié)果Table 3 Enhanced dataset quality evaluation results on SIGHAN2013—2015
圖6 是對(duì)基于腐化語(yǔ)料的單語(yǔ)數(shù)據(jù)增強(qiáng)方法中的錯(cuò)誤類型進(jìn)行修改后在兩個(gè)測(cè)試集上運(yùn)行的模型精度和增強(qiáng)數(shù)據(jù)集質(zhì)量評(píng)估結(jié)果。由圖6(a)可知,對(duì)于生成增強(qiáng)數(shù)據(jù)集的方式,使用了單一的錯(cuò)誤類型。實(shí)驗(yàn)結(jié)果表明,質(zhì)量融合和模型精度結(jié)果保持一致,刪除方式效果最好,其次是添加方式,最差的是對(duì)句子中詞的替換。因此,只使用單一的錯(cuò)誤類型對(duì)模型最終結(jié)果都會(huì)有一定的影響。相對(duì)而言,在NLPCC2018 測(cè)試集上使用替換方式對(duì)模型性能增強(qiáng)的效果最差,而刪除和添加方式對(duì)模型性能增強(qiáng)的效果會(huì)較高一點(diǎn)。
由于中文拼寫糾錯(cuò)任務(wù)只包含錯(cuò)字的錯(cuò)誤類型,所以在單一錯(cuò)誤類型上,只驗(yàn)證了刪除和替換錯(cuò)誤方式。因此由圖6(b)可知,質(zhì)量融合結(jié)果和GECToR模型精度保持一致,但是在RNN和BART模型上運(yùn)行結(jié)果相反,原因可能在于當(dāng)前測(cè)試集只有錯(cuò)字的錯(cuò)誤類型,并且這兩個(gè)模型都是將中文糾錯(cuò)看作是一個(gè)錯(cuò)誤句子翻譯為正確句子的過(guò)程,所以能夠從替換的錯(cuò)誤方式中學(xué)到更多有用的錯(cuò)誤。因此,通過(guò)實(shí)驗(yàn)結(jié)果表明在SIGHAN2015測(cè)試集上使用替換方式對(duì)RNN和BART模型的增強(qiáng)效果最好,刪除方式對(duì)GECToR模型的增強(qiáng)效果最好。
圖7和圖8是在數(shù)據(jù)量規(guī)模增大的情況下對(duì)模型召回率和增強(qiáng)數(shù)據(jù)集質(zhì)量評(píng)估的結(jié)果,分別對(duì)基于腐化語(yǔ)料的單語(yǔ)數(shù)據(jù)增強(qiáng)和EDA方法生成的數(shù)據(jù)集依次擴(kuò)充到5倍,可以發(fā)現(xiàn)質(zhì)量融合結(jié)果上升的速度是逐漸減緩的,而對(duì)于BART 和GECToR 模型來(lái)說(shuō),隨著數(shù)據(jù)量的增加,模型的召回率會(huì)有所增加,但當(dāng)數(shù)據(jù)量增加到一定規(guī)模的時(shí)候,召回率就有下降的趨勢(shì),說(shuō)明此時(shí)通過(guò)重復(fù)數(shù)據(jù)增強(qiáng)生成的句子對(duì)會(huì)對(duì)模型的性能有一定的影響,并不是數(shù)據(jù)量越多越好。
但是RNN 模型的召回率并沒有此規(guī)律,該模型之前沒有經(jīng)過(guò)大規(guī)模的數(shù)據(jù)預(yù)訓(xùn)練過(guò),因此對(duì)于不同數(shù)據(jù)規(guī)模的數(shù)據(jù)集可以學(xué)習(xí)到不同的錯(cuò)誤。
在表4 和表5 中分別給出NLPCC2018 測(cè)試集和SIGHAN2015 測(cè)試集上使用基于腐化語(yǔ)料的單語(yǔ)數(shù)據(jù)增強(qiáng)方法生成的不同數(shù)據(jù)規(guī)模的增強(qiáng)數(shù)據(jù)集在GECToR模型上的訓(xùn)練結(jié)果。實(shí)驗(yàn)結(jié)果表明,在NLPCC2018 測(cè)試集上,使用相同的訓(xùn)練數(shù)據(jù),通過(guò)數(shù)據(jù)增強(qiáng)方法進(jìn)行規(guī)模增長(zhǎng)的方式并不能獲取有效的模型性能增益。而在SIGHAN2015測(cè)試集上,通過(guò)數(shù)據(jù)規(guī)模的增長(zhǎng)可以明顯看到性能的有效提升,但是并不能保證數(shù)據(jù)規(guī)模的增大的同時(shí)模型性能也保持穩(wěn)定的上升。對(duì)于這一問(wèn)題,原因在于拼寫糾錯(cuò)數(shù)據(jù)集規(guī)模較小,所以在數(shù)據(jù)量規(guī)模增大的情況下對(duì)模型性能有明顯的提升,而NLPCC2018數(shù)據(jù)集規(guī)模較大,所以使用數(shù)據(jù)增強(qiáng)方法進(jìn)行規(guī)模增長(zhǎng)的方式并不能有效提升模型性能。
表4 NLPCC2018上模型訓(xùn)練結(jié)果Table 4 Model training results on NLPCC2018
本文提出了一種以中文糾錯(cuò)任務(wù)為例的數(shù)據(jù)集增強(qiáng)質(zhì)量評(píng)價(jià)方法,以此緩解在不同應(yīng)用任務(wù)中缺乏有效的方法來(lái)評(píng)估增強(qiáng)數(shù)據(jù)集質(zhì)量的影響。該方法根據(jù)增強(qiáng)數(shù)據(jù)集的多維質(zhì)量進(jìn)行評(píng)估并通過(guò)質(zhì)量融合的方式來(lái)進(jìn)行排序,本文通過(guò)訓(xùn)練已知算法的模型并將質(zhì)量融合指標(biāo)與模型精度相關(guān)聯(lián)來(lái)驗(yàn)證質(zhì)量評(píng)價(jià)的有效性。實(shí)驗(yàn)結(jié)果表明,具有更高的整體質(zhì)量的數(shù)據(jù)集可以在中文糾錯(cuò)任務(wù)上實(shí)現(xiàn)更好的性能。未來(lái)的工作將通過(guò)質(zhì)量評(píng)價(jià)來(lái)探索更適合特定任務(wù)的數(shù)據(jù)集構(gòu)建方法,從而獲得具有更高質(zhì)量、更高效的與任務(wù)相關(guān)的增強(qiáng)數(shù)據(jù)集。