国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于相碼模型的漢字表征

2021-05-07 01:52:58范曉明王斌君
科學(xué)技術(shù)與工程 2021年5期
關(guān)鍵詞:單字字符音節(jié)

范曉明, 王斌君

(1.中國(guó)人民公安大學(xué)信息技術(shù)與網(wǎng)絡(luò)安全學(xué)院, 北京 100038; 2.北京警察學(xué)院網(wǎng)絡(luò)安全保衛(wèi)系, 北京 102202)

漢字表征(characterization of Chinese characters),可理解為通過(guò)某些特定的字符或符號(hào)集表示漢字的過(guò)程,而表征技術(shù)則可看作一種變換函數(shù),將漢字映射到某一特殊的向量空間,這一向量空間由一組給定的字符集表示。對(duì)漢字表征技術(shù)的研究,可追溯到中文信息技術(shù)發(fā)展初期,當(dāng)時(shí)主要圍繞如何高效實(shí)現(xiàn)漢字錄入的問(wèn)題進(jìn)行研究,以五筆為代表的形碼表征方式和以拼音為代表的音碼表征方式分別借助漢字字形特征和漢語(yǔ)拼音方案實(shí)現(xiàn)了漢字集向小字符集(鍵盤(pán)對(duì)應(yīng)的字符)映射,后期出現(xiàn)的手寫(xiě)漢字識(shí)別[1]、語(yǔ)音識(shí)別[2]等技術(shù),則是將漢字視為筆畫(huà)、音節(jié)的空域或時(shí)域序列信號(hào),利用隱馬爾可夫模型(hidden Markov model,HMM)[3]等統(tǒng)計(jì)模型進(jìn)行漢字相關(guān)特征的識(shí)別。目前,利用越來(lái)越成熟的中文分詞[4]以及詞嵌入(word embedding)[5]技術(shù),基本可將適用英文的自然語(yǔ)言處理(natural language processing,NLP)深度學(xué)習(xí)模型遷移到中文處理中,但在解決未登錄詞(out of vocabulary,OOV)和低頻詞(low frequency words)問(wèn)題時(shí),由于漢字的復(fù)雜性,中國(guó)學(xué)者無(wú)法直接將英文場(chǎng)景中的字符級(jí)(character-level)語(yǔ)言模型進(jìn)行同級(jí)別遷移,需要借助筆畫(huà)、部件、拼音等轉(zhuǎn)碼方式進(jìn)行中文文本的細(xì)粒度表達(dá),圍繞這一需求,現(xiàn)嘗試構(gòu)建一種新的編碼模型,期望能得到拉丁字母序列碼與漢字的最佳映射關(guān)系,能以類(lèi)似英文單詞(word)的編碼融合漢字的多種字符級(jí)特征,并用于NLP相關(guān)模型中。

1 相關(guān)研究

傳統(tǒng)方法中,文本主要以獨(dú)熱(One-Hot)編碼、詞頻-逆文件頻率(TF-IDF)、詞袋(BOW)等方式表示。Bengio等[6]使用神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(nerual network language model,NNLM)將文本從One-Hot輸入成功轉(zhuǎn)為詞向量,Mikolov等[7]提出詞嵌入方法,其提出的word2vec模型將詞向量維數(shù)降低到100~300,之后,Pennington等[8]利用共現(xiàn)矩陣實(shí)現(xiàn)了GloVe模型,后來(lái)出現(xiàn)的ELMo[9]、BERT[10]等模型則通過(guò)注意力機(jī)制具備了動(dòng)態(tài)向量表征的能力。

為解決OOV問(wèn)題,字符級(jí)的文本表征方式開(kāi)始受到重視,并取得了一定的進(jìn)展。Zhang等[13]在Kim等[11-12]提出的TextCNN基礎(chǔ)上,將文本視為一種字符級(jí)別的原始信號(hào),利用一維卷積實(shí)現(xiàn)了字符級(jí)文本分類(lèi)模型CharCNN。在相關(guān)模型遷移到中文時(shí),部分研究者嘗試將漢字作為基本字符進(jìn)行模型的改造,王麗亞等[14]將字符級(jí)詞向量用于情感分析,李偉康等[15]探索了神經(jīng)網(wǎng)絡(luò)框架下漢語(yǔ)字向量和詞向量的結(jié)合問(wèn)題,并在基于文檔的問(wèn)答系統(tǒng)中進(jìn)行了驗(yàn)證。更多研究者則是關(guān)注到與漢字相關(guān)的拼音、筆畫(huà)、部件等低層級(jí)要素,將漢字特征進(jìn)行細(xì)粒度拆分。一種思路是基于形碼的漢字表征,主要將漢字視作筆畫(huà)、部件等基本元素的組合,Li等[16]構(gòu)造了以部首為主的部件信息向量,Sun等[17]通過(guò)部首來(lái)增強(qiáng)word embedding,構(gòu)造了RECWE模型,Su等[18]通過(guò)圖形字符來(lái)增強(qiáng)詞的表示,Cao等[19]通過(guò)筆畫(huà)的n-gram(n元模型)特征構(gòu)建了cw2vec模型,趙浩新等[20]提出了筆畫(huà)字向量模型,Yang等[21]將五筆編碼作為描述漢字的字符級(jí)編碼用于命名實(shí)體識(shí)別(NER)任務(wù)中。第二種思路是基于拼音實(shí)現(xiàn)漢字特征替換或補(bǔ)充,劉敬學(xué)等[22]通過(guò)拼音序列對(duì)原始漢字序列進(jìn)行語(yǔ)義拓展,在字級(jí)別卷積神經(jīng)網(wǎng)絡(luò)上,得到了比詞級(jí)別更好的短文本分類(lèi)效果;張曼等[23]通過(guò)小字符集映射嵌入的方式,構(gòu)造了全卷積的字符級(jí)神經(jīng)網(wǎng)絡(luò) LRN-CharFCN,并在文本分類(lèi)任務(wù)中取得良好表現(xiàn);還有一種思路是結(jié)合漢字音形特征進(jìn)行嘗試,胡浩等[24]結(jié)合漢字5種基本筆畫(huà)和拼音,將漢字映射為32維的向量,提高了短文本相似性比較的性能。

一般來(lái)說(shuō),文字均可看成具有某種層級(jí)結(jié)構(gòu)[25]關(guān)系R的元素(基本筆畫(huà)、基本字母等)集合,如英文可以看作是26個(gè)基本字母集并擁有字母、單詞二級(jí)層級(jí)結(jié)構(gòu)關(guān)系的字母集合,中文可視為由基本筆畫(huà)集按某種層級(jí)結(jié)構(gòu)關(guān)系R構(gòu)成的集合,也可視為由拼音字母按層級(jí)結(jié)構(gòu)關(guān)系R構(gòu)成的字母集合,但這種層級(jí)關(guān)系遠(yuǎn)比英文復(fù)雜。一方面,中文的基本字符集遠(yuǎn)大于英文的基本字符集,英文的26個(gè)字母基本不能作為基本語(yǔ)義單位,其最小語(yǔ)義單位是單詞(word),對(duì)應(yīng)中文的詞,現(xiàn)代漢語(yǔ)雖然主要以詞作為表達(dá)單位,但很多漢字本身也充當(dāng)語(yǔ)義單位的角色;另一方面,漢字比英文字母表現(xiàn)出更明顯的二維特征,音形分離程度相對(duì)較大,并且漢字還可進(jìn)一步拆分為筆畫(huà)、部件,所以中文文本在細(xì)粒度區(qū)分和表達(dá)上比英文更復(fù)雜。

從向量表征粒度看,英文中的word對(duì)應(yīng)中文的“詞”,包括單字詞(uni-word)、二字詞(bi-word)、三字詞(tri-word)、多字詞(n-word)等,而由于漢字的復(fù)雜性,英文中的character并不能與中文的“字”有效對(duì)應(yīng),這也是當(dāng)前中文字符級(jí)(character-level)表征存在多種處理方法的原因。2016年,Sennrich等[26]提出subword的概念,對(duì)word實(shí)現(xiàn)子詞級(jí)別(subword-level)的拆解,有效緩解神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯(neural machine tranlation, NMT)任務(wù)中的OOV問(wèn)題;2017年,Bojanowski等[27]也采用了subword-level的word描述策略,得到增強(qiáng)型詞向量,以提高訓(xùn)練及預(yù)測(cè)效率。同時(shí)發(fā)現(xiàn),漢字構(gòu)詞作用與subword極其相似,所以,認(rèn)為漢字恰好處于subword層面,向上可組成word,向下可繼續(xù)細(xì)分為character,并恰好與英文形成如表1所示的層級(jí)對(duì)照結(jié)構(gòu)。

表1 中英文字詞層級(jí)對(duì)照

此外,參考心理學(xué)領(lǐng)域的相關(guān)文獻(xiàn)[28]表明,漢字表征需適當(dāng)考慮用戶(hù)交互的需求,這樣找出的小字符集可同時(shí)作為一種助記符號(hào)體系使用,方便研究人員對(duì)比分析。借助統(tǒng)計(jì)規(guī)律和大量實(shí)驗(yàn),對(duì)漢字進(jìn)行了character-level層面的拆解,得到了一種人工干預(yù)下的預(yù)編碼,充分考慮了漢字的音形特征以及字頻等信息,初步實(shí)現(xiàn)漢字和拉丁字母的可逆映射,并在新聞文本分類(lèi)任務(wù)中取得了較好的效果。

2 對(duì)漢字主要屬性的統(tǒng)計(jì)與劃分

2.1 對(duì)中文字(詞)頻規(guī)律的統(tǒng)計(jì)

從公開(kāi)統(tǒng)計(jì)數(shù)據(jù)[29]看,如圖1所示,單字形式下,《信息交換用漢字編碼字符集 基本集》(GB 2312—1980)中規(guī)定的3 000個(gè)漢字可覆蓋日常所用漢字的99%以上,若將詞作為基本表征單元,漢語(yǔ)中單字詞、二字詞使用頻度最高,詞頻靠前的8 000詞可覆蓋常用詞的85%以上,其中單字詞占18.5%,二字詞占60%。

圖1 漢語(yǔ)字(詞)頻統(tǒng)計(jì)結(jié)果Fig.1 Statistical results of Chinese characters (words) frequency

2.2 對(duì)形、音、義特征的統(tǒng)計(jì)與改進(jìn)

2.2.1 基本筆畫(huà)

漢字筆畫(huà)可劃分為“點(diǎn)、橫、叉、撇、豎、折”六類(lèi),其中“點(diǎn)、橫、撇、豎、折”為基本筆畫(huà),依據(jù)《現(xiàn)代漢語(yǔ)通用字筆順規(guī)范》劃分;“叉”類(lèi)筆畫(huà)包含“扌”“艸”“廴”“乂”“九”“又”“豐”“毋”等,其主要特征是有兩個(gè)或兩個(gè)以上的基本筆畫(huà)相交。

2.2.2 偏旁歸類(lèi)

參考《漢字部首表》[30],選取161個(gè)部首作為偏旁,并根據(jù)偏旁組字能力強(qiáng)弱(含有該部首的漢字多少)排序,并結(jié)合音、形、義特征,可將排序靠前的55個(gè)偏旁歸類(lèi)為如表2所示的20個(gè)固定子集,用20個(gè)字母表示。

對(duì)組字能力偏弱的其余106個(gè)偏旁,可依據(jù)起筆、聲調(diào)特征動(dòng)態(tài)歸類(lèi),并用B、G、W、F 4個(gè)字母表示,如表3所示。

2.2.3 音節(jié)的主備韻規(guī)律及雙拼方案的改進(jìn)

根據(jù)漢語(yǔ)拼音方案,為壓縮碼長(zhǎng),可采用圖2所示的雙拼方案,將聲母zh、ch、sh分別用e、v、u表示,韻母自成音節(jié)的,將字母“o”作為其雙拼聲母,同時(shí),將韻母壓縮到26個(gè)字母鍵位上。

表2 偏旁固定歸類(lèi)表

表3 偏旁動(dòng)態(tài)歸類(lèi)表

圖2 相碼雙拼鍵位圖Fig.2 Key map of XQMA double spelling scheme

經(jīng)統(tǒng)計(jì),漢字音節(jié)對(duì)應(yīng)的漢字分布極其失衡,以i、u為韻母的同音字最為明顯,《信息技術(shù) 中文編碼字符集》(GB 18030—2005)中yi音節(jié)對(duì)應(yīng)的同音字多達(dá)480個(gè),而zei、zen等音節(jié)對(duì)應(yīng)的同音字不足10個(gè)。在詞組中,重碼率較高的也多為以i、u為韻母的漢字。故需要考慮改進(jìn)現(xiàn)有的雙拼方案。

(1)定義一。成音碼對(duì):兩個(gè)字母拼讀時(shí)存在對(duì)應(yīng)的漢字音節(jié),則兩個(gè)字母稱(chēng)為成音碼對(duì)。非音碼對(duì):兩個(gè)字母拼讀時(shí)不存在對(duì)應(yīng)的漢字音節(jié),則兩個(gè)字母稱(chēng)為非音碼對(duì)。

統(tǒng)計(jì)表明,使用雙拼方案時(shí),同聲母的成音碼對(duì)與某些非音碼對(duì)之間存在互補(bǔ)性,且具有一定規(guī)律,可用來(lái)提高編碼密度。

(2)定義二。主備韻關(guān)系:某些存在互補(bǔ)性且成對(duì)出現(xiàn)的韻母(如d與f、h與n),其互補(bǔ)性對(duì)很多聲母均適用,如表4所示,這些韻母,若其處于成音碼對(duì),稱(chēng)為主韻,對(duì)應(yīng)的音節(jié)為主韻音節(jié),若其處于非音碼對(duì),稱(chēng)為備韻,對(duì)應(yīng)的音節(jié)為備韻音節(jié)。主韻音節(jié)和備韻音節(jié)之間的關(guān)系,稱(chēng)為主備韻關(guān)系。雙拼方案下,對(duì)具有主備韻關(guān)系的漢字,可用主韻音節(jié)和備韻音節(jié)對(duì)同音字進(jìn)行二分類(lèi),有效解決編碼稀疏問(wèn)題。

表4 雙拼方案下的主備韻關(guān)系表

2.3 利用統(tǒng)計(jì)規(guī)律劃分漢字子集

結(jié)合起筆的統(tǒng)計(jì)規(guī)律,漢字可相對(duì)均衡地歸為兩類(lèi),其中一類(lèi)以點(diǎn)橫叉起筆,另一類(lèi)以撇豎折起筆。結(jié)合形旁特征,漢字可劃分為基本字、衍生字。當(dāng)某一漢字無(wú)偏旁或該漢字加偏旁后能構(gòu)成三個(gè)以上其他漢字時(shí),可判定其為基本字,否則為衍生字;基本字主要通過(guò)讀音區(qū)分,衍生字則需在讀音的基礎(chǔ)上增加偏旁歸類(lèi)碼區(qū)分。其數(shù)量比例關(guān)系如圖3所示。

圖3 常用漢字統(tǒng)計(jì)規(guī)律Fig.3 Statistical results of common Chinese characters

對(duì)基本字,可根據(jù)漢字使用頻率以及漢字的表音、表形、表義等屬性,進(jìn)一步劃分為聲調(diào)字、偏旁字、特高頻字、普通字,進(jìn)一步提高編碼的可讀性。

3 XQMA模型

模型全稱(chēng)為跨象限助記符映射模型,英文名稱(chēng)為cross-quadrant mnemonic mapping model,用X代替cross,并取其余關(guān)鍵字縮寫(xiě)為XQMA。模型可按照特定的規(guī)則,交叉利用詞組和單字的各項(xiàng)特征,自動(dòng)將漢字映射到碼元(26個(gè)拉丁字母)序列構(gòu)成的空間中,可實(shí)現(xiàn)拼讀、拼寫(xiě)、鍵盤(pán)錄入的一致性。典型的單字表征碼如圖4所示,典型的詞組表征碼如圖5所示,利用字母、數(shù)字的可變長(zhǎng)序列表示跨象限助記符,稱(chēng)為相碼,為模型描述而構(gòu)造的象限圖,稱(chēng)為相位圖。

圖4 典型單字編碼相位圖Fig.4 Coding phase diagram of typical Chinese characters

圖5 典型詞組編碼相位圖Fig.5 Coding phase diagram of typical Chinese words

3.1 模型基本設(shè)定

3.1.1 子集劃分

根據(jù)第2節(jié)的統(tǒng)計(jì)結(jié)論,可依據(jù)起筆和形旁特征將漢字劃分出如表5所示的4個(gè)子集。

同時(shí),根據(jù)音節(jié)的主備韻規(guī)律,可將起筆特征與漢字發(fā)音的主備韻關(guān)系相匹配,以主韻表示點(diǎn)橫叉起筆的漢字,備韻表示撇豎折起筆的漢字,得到如表6所示的結(jié)果。

3.1.2 筆畫(huà)識(shí)別碼

利用漢字本身的筆畫(huà)特征作為單字的筆畫(huà)識(shí)別碼;主要方法是將組成該漢字的所有筆畫(huà)中“點(diǎn)”“橫”“叉”的數(shù)量值“模5”(即除以5的倍數(shù),保證余數(shù)在01234的范圍內(nèi))后,所得余數(shù)值對(duì)應(yīng)的字母作為識(shí)別碼,如表7所示。

3.1.3 主備韻規(guī)則

對(duì)存在主備韻關(guān)系的漢字,當(dāng)漢字屬于JD或YD,其讀音編碼為其主韻音節(jié)的編碼,稱(chēng)作主韻碼;當(dāng)漢字屬于JP或YP,其讀音編碼為其備韻音節(jié)的編碼,稱(chēng)作備韻碼。如圖6所示,采用主備韻規(guī)則后,極大提高了編碼密度,編碼空間的利用率可由59.2%提高至83.4%。

表5 漢字子集劃分

表6 漢字編碼的子集劃分

表7 筆畫(huà)識(shí)別碼

圖6 采用主備韻規(guī)則后的音節(jié)分布Fig.6 Syllable distribution after adopting the active-standby switch rules

3.1.4 偏旁歸類(lèi)碼

對(duì)衍生字區(qū)分時(shí)以發(fā)音和偏旁碼為主,參照表2、表3,由24個(gè)字母代表20類(lèi)確定性偏旁和4類(lèi)非確定性偏旁。采用偏旁歸類(lèi)碼后,5 000個(gè)常用漢字可在3碼長(zhǎng)度內(nèi)表示,若將編碼所用的26個(gè)拉丁字母按字母表排序映射為1~26的整數(shù),則5 000常用漢字單字在編碼空間的三維分布如圖7所示,為方便分析,將第3碼元對(duì)應(yīng)的坐標(biāo)值進(jìn)行了著色。

3.1.5 聲調(diào)識(shí)別碼

對(duì)單字,分別用“XYZD”表示該字發(fā)音為1、2、3、4聲。對(duì)二字詞,引入如表8所示的聲調(diào)識(shí)別碼,表示前后字分別為1、2、3、4聲所形成的16種聲調(diào)組合,字母“TEMP”分別表示前字發(fā)音為1、2、3、4聲且后字為輕聲時(shí)形成的4種情況。對(duì)三字詞,前兩字的聲調(diào)識(shí)別碼參照二字詞處理,第三字的聲調(diào)識(shí)別碼分為由字母“TEMPO”表示該字發(fā)音為1、2、3、4聲及輕聲的情況。四字詞以?xún)勺譃橐唤M,聲調(diào)識(shí)別碼參照二字詞處理。

3.1.6 補(bǔ)充排序碼

為保證模型的可擴(kuò)展性,在對(duì)大字庫(kù)編碼和二字詞編碼時(shí),當(dāng)重碼過(guò)多,可在末位引入補(bǔ)充排序碼,單字在第5碼位、二字詞在第6碼位,依次用“oincsvlqbjuxyzdwtempghkrfa”表示0~25個(gè)候選位序,其中“o”備用。

圖7 常用漢字在3碼長(zhǎng)編碼空間的分布Fig.7 Distribution of common uni-word in 3-coding space

表8 聲調(diào)識(shí)別碼

3.2 漢字的區(qū)分策略

3.2.1 根據(jù)頻率和聲調(diào)規(guī)律區(qū)分基本字

基本字在編碼時(shí)用讀音區(qū)分,按字頻由高到低,用形如aC1C2、C1C2、C1C2a、C1C2o和C1C2ox、C1C2oy、C1C2oz、C1C2od兩組編碼表示聲調(diào)字,分別代表聲調(diào)為1、2、3、4聲的相應(yīng)漢字。用形如C1、aC1、oC1的形式表示特高頻字、偏旁字、特殊字。

普通字為以上方式無(wú)法覆蓋到的基本字,用形如C1C2oC3(當(dāng)該字聲調(diào)為1聲或2聲)或形如C1C2iC3(當(dāng)該字聲調(diào)為3聲或4聲)的編碼表示,C3位置為筆畫(huà)識(shí)別碼。

3.2.2 根據(jù)偏旁和筆畫(huà)規(guī)律區(qū)分衍生字

衍生字需在讀音的基礎(chǔ)上增加偏旁歸類(lèi)碼區(qū)分,典型表示方式為C1C2C3,C3位置為偏旁歸類(lèi)碼。如“wum”表示漢字“梧”。若有重碼,用形如C1C2C3C4的編碼表示,C4位置為筆畫(huà)識(shí)別碼。對(duì)大字符集單字編碼時(shí),對(duì)以上方式無(wú)法覆蓋到的衍生字,需用形如C1C2C3C4C5的編碼表示,其中C5位置為補(bǔ)充排序碼,依次用“incsvlqbjuxyzdwtempghkrfa”表示1至25個(gè)候選值。

3.2.3 單字無(wú)歧義表示

采取改進(jìn)的雙拼方案表示漢字發(fā)音,在保留音節(jié)信息的同時(shí),引入主備韻規(guī)律、高頻字優(yōu)先策略和偏旁動(dòng)態(tài)歸類(lèi)、筆畫(huà)識(shí)別機(jī)制,提高編碼密度,4碼范圍內(nèi)實(shí)現(xiàn)7 000個(gè)常用單字的獨(dú)立無(wú)歧義表示。

3.2.4 字詞獨(dú)立無(wú)重編碼

實(shí)行顯式的字詞分離。當(dāng)編碼的前四碼無(wú)法用雙拼的方式拼讀時(shí),該編碼代表單字。

對(duì)核心字庫(kù)中的漢字單字的編碼長(zhǎng)度壓縮在4碼以?xún)?nèi),最長(zhǎng)碼表示為C1C2C3C4的形式,對(duì)擴(kuò)展字庫(kù),編碼長(zhǎng)度壓縮在5碼以?xún)?nèi),用形如C1C2C3C4C5的形式表示。

將常用二字詞作為核心詞,碼長(zhǎng)為4,取兩字的雙拼讀音,其余詞為普通詞,二、三、四字詞的碼長(zhǎng)分別為5、9、11,在雙拼讀音的基礎(chǔ)上增加了聲調(diào)識(shí)別碼,以降低同音詞的識(shí)別難度。

3.2.5 拼讀、拼寫(xiě)及助記

為提高助記符的易用性,選取25個(gè)特征字,對(duì)26個(gè)字母構(gòu)造如圖8所示的特征鍵位圖。整個(gè)編碼規(guī)則充分考慮了手寫(xiě)需求,可直接將模型規(guī)則用于手動(dòng)拼寫(xiě)、盲文替代、速記、變量命名等場(chǎng)景。

圖8 助記字特征鍵位圖Fig.8 Mnemonic feature key map

4 實(shí)驗(yàn)及分析

4.1 數(shù)據(jù)準(zhǔn)備及評(píng)估指標(biāo)

4.1.1 模型編碼所用數(shù)據(jù)準(zhǔn)備

下載漢字編碼字符集,分別符合《信息交換用漢字編碼字符集 基本集》(GB 2312—1980)和《信息技術(shù) 中文編碼字符集》(GB 18030—2005)標(biāo)準(zhǔn)。收集整理公開(kāi)語(yǔ)料庫(kù),構(gòu)建漢語(yǔ)字、詞的頻率特征庫(kù)。同時(shí),利用pypinyin,標(biāo)注相應(yīng)漢字、詞組的聲調(diào)及拼音。參考文獻(xiàn)[31-32]中的模型,結(jié)合人工校驗(yàn),構(gòu)建漢字單字偏旁庫(kù)以及相應(yīng)偏旁的漢字單字拆分庫(kù)、基于6種基本筆畫(huà)的筆畫(huà)筆順庫(kù)。

4.1.2 模型驗(yàn)證數(shù)據(jù)準(zhǔn)備

驗(yàn)證實(shí)驗(yàn)基于Windows 10環(huán)境,搭建TensorFlow 1.13平臺(tái),采用Python3語(yǔ)言,數(shù)據(jù)集為清華NLP組提供的THUCNews新聞文本分類(lèi)數(shù)據(jù)集的一個(gè)子集,如表9所示,包含10個(gè)分類(lèi),每個(gè)分類(lèi)6 500條數(shù)據(jù)。

表9 測(cè)試所用數(shù)據(jù)集分布

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

在自動(dòng)標(biāo)注場(chǎng)景中,主要通過(guò)實(shí)際效果進(jìn)行可行性驗(yàn)證;在中文字符級(jí)向量表示場(chǎng)景中,引入以下指標(biāo)對(duì)分類(lèi)效果進(jìn)行評(píng)價(jià)。

圖9 二分類(lèi)情況下混淆矩陣示意圖Fig.9 Confusion matrix diagram in binary classification

(1)混淆矩陣(confusion matrix)。也稱(chēng)誤差矩陣,經(jīng)常用來(lái)對(duì)機(jī)器學(xué)習(xí)算法的可視化評(píng)估,以大小為n×n的方陣形式對(duì)分類(lèi)結(jié)果進(jìn)行展現(xiàn),其中n表示類(lèi)的數(shù)量。矩陣的每一行代表實(shí)際類(lèi)中的實(shí)例,而每列代表預(yù)測(cè)類(lèi)中的實(shí)例(行列也可互換)。如圖9所示,在二分類(lèi)情況下,綠色代表模型預(yù)測(cè)為正例的情況,黃色代表模型預(yù)測(cè)為負(fù)例的情況。TP表示預(yù)測(cè)為正例,實(shí)際也為正例,F(xiàn)P表示預(yù)測(cè)為正例而實(shí)際為負(fù)例,F(xiàn)N表示預(yù)測(cè)為負(fù)例而實(shí)際為正例,TN表示預(yù)測(cè)為負(fù)例而實(shí)際也為負(fù)例。

(2)召回率(R)。也稱(chēng)查全率,指所有實(shí)際是正例的有多少被正確預(yù)測(cè)為正例,其公式為

R=TP/(TP+FN)

(1)

(3)精準(zhǔn)率(P)。也稱(chēng)查準(zhǔn)率,即預(yù)測(cè)對(duì)的正例數(shù)占預(yù)測(cè)為正例總數(shù)的比率,其公式為

P=TP/(TP+FP)

(2)

(4)準(zhǔn)確率(Acc)。反映分類(lèi)器對(duì)整個(gè)樣本的預(yù)測(cè)能力,能將正的預(yù)測(cè)為正,負(fù)的預(yù)測(cè)為負(fù),計(jì)算公式為

Acc=(TP+TN)/(TP+FP+TN+FN)

(3)

(5)F1值。精準(zhǔn)率與召回率的加權(quán)調(diào)和平均數(shù),公式為

F1=2PR/(P+R)

(4)

4.2 XQMA模型的實(shí)現(xiàn)

4.2.1 主體框架

模型主體功能框架如圖10所示。

圖10 相碼模型主體功能框架Fig.10 The main function framework of XQMA model

4.2.2 單字表征關(guān)鍵代碼

對(duì)《信息技術(shù)中文編碼字符集》(GB18030—2005)中規(guī)定的7 000個(gè)常用漢字,可按基本字、衍生字分別處理,算法可用偽代碼描述如下。

(1) if 漢字 ∈ 基本字:

(2) 若 為 特高頻字or 特殊字 or 偏旁字:

(3) 分別用C1、oC1、aC1的形式表示

(4) 若 適用主備韻原則:

(5) 依起筆確定音節(jié)使用主韻或備韻

(6) 分別用aC1C2、C1C2、C1C2a、C1C2o表示1234聲

(7) 若 有重碼:

(8) C1C2ox、C1C2oy、C1C2oz、C1C2od表示1234聲

(9) 若 仍有重碼: //在第4碼位使用筆畫(huà)識(shí)別碼

(10) 若 聲調(diào)為1、2聲: 用C1C2oC3表示

(11) 否則 用C1C2iC3表示

(12)else: //漢字 ∈ 衍生字

(13) 用形如C1C2C3的編碼表示 //C3為偏旁歸類(lèi)碼

(14) 依起筆確定音節(jié)C1C2使用主韻或備韻

(15) 若 有重碼: //在第4碼位使用筆畫(huà)識(shí)別碼

(16) 用形如C1C2C3C4的編碼表示

4.2.3 詞表征關(guān)鍵代碼

對(duì)4字詞以上的漢字詞,需先進(jìn)行拆分;4字詞以下的詞,可按長(zhǎng)度分別處理,其過(guò)程可用偽代碼描述如下。

(1) if 詞∈二字詞:

(2) 若 為 核心二字詞:

(3) 用C1C2C3C4的形式表示

(4) 否則 在第5碼位引入聲調(diào)識(shí)別碼

(5) 用C1C2C3C4C5的形式表示

(6) 若 仍有重碼://在第6碼位引入補(bǔ)充排序碼

(7) 用C1C2C3C4C5C6的形式表示

(8) elif詞∈三字詞://在8,9碼位引入聲調(diào)識(shí)別碼

(9) 用形如C1C2C3C4C5C6aC7C8的編碼表示

(10)elif詞∈四字詞://在10,11碼位引入聲調(diào)識(shí)別碼

(11) 用形如C1C2C3C4C5C6C7C8aC9C10的編碼表示

(12)else //詞不在既有詞庫(kù)中

(13) 拆分為單字組合或字詞組合,分別處理

(14) 將編碼用5連接,用形如C1C2C35C1C2C3的形式表示

4.2.4 基于相碼的中文文本轉(zhuǎn)換

利用XQMA模型得到的編碼具有唯一性,所以可對(duì)中文文本自動(dòng)完成可逆變換。在深度學(xué)習(xí)中,可將中文文本轉(zhuǎn)換為一種類(lèi)似英文的字母序列,減少或降低學(xué)習(xí)模型的轉(zhuǎn)換成本。這種可逆轉(zhuǎn)換有兩種形式,一種為單字直接映射,可通過(guò)查找碼表的方式直接轉(zhuǎn)換,對(duì)碼表中未能覆蓋的單字,將其Unicode編碼值逐字節(jié)映射為相應(yīng)的補(bǔ)充排序碼,并以所生成的編碼代替該字;另一種為字詞混合映射,需要先借助jieba等分詞工具對(duì)文本進(jìn)行分詞,然后利用查表方式進(jìn)行轉(zhuǎn)換,對(duì)既有詞庫(kù)未能覆蓋的分詞,拆分為單字處理。其過(guò)程可用偽代碼描述如下。

(1) 讀入需轉(zhuǎn)換的文本

(2) if 以單字直接轉(zhuǎn)換:

(3) 若 單字 in 單字碼表: 直接轉(zhuǎn)換為相應(yīng)相碼

(4) 否則 得到該字的Unicode編碼uc

(5) 將uc逐字節(jié)映射為相應(yīng)的補(bǔ)充排序碼得到xc

(6) 將字母a與xc拼接得到最終編碼

(7) 循環(huán)執(zhí)行(3)~(6),直至轉(zhuǎn)換完成

(8) else: //字詞混合轉(zhuǎn)換

(9) 將文本分詞,得到詞序列

(10) 若詞 in 字詞碼表:

(11) 直接轉(zhuǎn)換為相應(yīng)相碼

(12) 否則 拆分為單字

(13) 按單字編碼

(14) 循環(huán)執(zhí)行(10)~(13),直至轉(zhuǎn)換完成

4.3 模型驗(yàn)證及結(jié)果分析

4.3.1 同音單字的獨(dú)立無(wú)歧義表示

這里引用著名語(yǔ)言學(xué)家趙元任先生寫(xiě)的同音字奇文《施氏食獅史》《季姬擊雞記》來(lái)測(cè)試模型的同音字區(qū)分效果。結(jié)果表明,XQMA模型能兼顧可讀性與單字無(wú)歧義表達(dá)兩個(gè)需求。圖11為模型對(duì)《施氏食獅史》自動(dòng)標(biāo)注后的效果截圖。

按照?qǐng)D7的構(gòu)造思路,并將第四碼元的位序值大小與三維圖中代表漢字的小球體積相對(duì)應(yīng),則與“獅”“季”相對(duì)應(yīng)的同音字在編碼空間中的分布可用圖12表示。

圖11 同音字區(qū)分及自動(dòng)標(biāo)注效果圖Fig.11 Result of homophone distinction and automatic annotation

圖12 獅、季所在音節(jié)同音字在編碼空間的分布Fig.12 Distribution of homophones of ui and ji in codes space

4.3.2 同音字、詞的編碼性能分析

單字編碼時(shí),對(duì)《信息交換用漢字編碼字符集 基本集》(GB 2312—1980)中規(guī)定的漢字,模型能在4碼范圍內(nèi)實(shí)現(xiàn)單字的唯一編碼,以上字符集未能覆蓋的漢字,模型可在5碼范圍內(nèi)實(shí)現(xiàn)唯一編碼,詞組編碼時(shí),利用jieba分詞對(duì)“新聞?wù)Z料(news2016zh)”和“維基百科(wiki2019zh)”兩個(gè)語(yǔ)料庫(kù)統(tǒng)計(jì)得到的詞條,可得到如表10所示的結(jié)果,實(shí)驗(yàn)表明,相對(duì)傳統(tǒng)拼音方案,模型的無(wú)歧義表征優(yōu)勢(shì)較為明顯。

按照?qǐng)D12的構(gòu)造思路,《信息交換用漢字編碼字符集 基本集》(GB 2312—1980)中6 763個(gè)漢字的分布規(guī)律可用圖13表示,結(jié)果表明,模型能在4碼空間內(nèi)實(shí)現(xiàn)常用漢字單字(uni-word)的唯一描述,編碼分布相對(duì)均衡。

表10 相碼模型編碼性能分析

圖13 常用漢字在4碼長(zhǎng)編碼空間的分布Fig.13 Distribution of common uni-words in 4-code space

參照?qǐng)D12的構(gòu)造思路,若分別以前后單字音節(jié)、聲調(diào)識(shí)別碼為坐標(biāo),將補(bǔ)充排序碼的值與表示詞的小球體積相對(duì)應(yīng),則表10中所列二字詞(bi-word)在6碼長(zhǎng)編碼空間的分布如圖14所示。

圖14 常用二字詞在編碼空間的分布Fig.14 Distribution of common bi-words in coding space

圖15 對(duì)法律文本的自動(dòng)標(biāo)注效果圖Fig.15 Result of automatic annotation of legal text

4.3.3 法律類(lèi)文本以詞為最小單元的自動(dòng)標(biāo)注

現(xiàn)代漢語(yǔ)中,法律文本對(duì)編碼的無(wú)歧義表示需求更明顯,為進(jìn)一步檢驗(yàn)?zāi)P偷挠行?,特選取“刑法修正案(九)”進(jìn)行測(cè)試,其標(biāo)注效果如圖15所示。

考慮到現(xiàn)代漢語(yǔ)以詞為最小表示單元,并以二字詞占比最大,單字詞和三、四字詞次之,而模型只針對(duì)詞頻居前的二、三、四字詞構(gòu)建基本詞庫(kù),進(jìn)行了固定編碼,對(duì)基本詞庫(kù)未覆蓋的詞,可將其進(jìn)行拆分后分別編碼,然后將各編碼用數(shù)字“5”進(jìn)行連接,連接后得到的編碼即為該詞的編碼,其標(biāo)注效果如圖15所示。

從標(biāo)注效果看,XQMA模型生成的表征碼長(zhǎng)度合理,比拼音攜帶更多的音形信息,符合用戶(hù)的日常識(shí)記習(xí)慣,可為中文自動(dòng)標(biāo)注、盲文漢字表示、程序代碼中實(shí)現(xiàn)類(lèi)漢字標(biāo)識(shí)符提供一種新途徑。

4.3.4 相碼用于中文字符級(jí)向量表示

在自然語(yǔ)言處理場(chǎng)景中,相碼可提供一種類(lèi)似于英文的中文轉(zhuǎn)換碼,為檢驗(yàn)其轉(zhuǎn)換后的實(shí)用價(jià)值,參照文獻(xiàn)[33]的方法,利用改造后的字符級(jí)TextCNN模型進(jìn)行新聞文本分類(lèi)測(cè)試,采用一維卷積、一個(gè)卷積層、一個(gè)全連接層的主體結(jié)構(gòu),模型參數(shù)設(shè)置如表11所示。

與原作中的方法不同,本文模型不直接將漢字作字符級(jí)embedding,而是首先將數(shù)據(jù)集按不同編碼方式轉(zhuǎn)換為相應(yīng)的字符序列碼形成新數(shù)據(jù)集,此時(shí)可得到較小的詞匯表,之后按新詞匯表對(duì)每一字符作字符級(jí)embedding,然后輸入TextCNN進(jìn)行分類(lèi)訓(xùn)練。實(shí)驗(yàn)分別測(cè)試了采用相碼、拼音、五筆、unicode編碼直接視為字符串等轉(zhuǎn)換方式下的分類(lèi)效果,并在轉(zhuǎn)換時(shí)細(xì)分為按單字逐字編碼(單字編碼)和先分詞再編碼(字詞混合編碼)兩種場(chǎng)景。實(shí)驗(yàn)結(jié)果如表12所示。

從實(shí)驗(yàn)結(jié)果看,unicode轉(zhuǎn)換方式分類(lèi)效果不如其他方式,反映出該轉(zhuǎn)換方式丟失的信息較多。拼音編碼方式分類(lèi)效果弱于五筆編碼方式,這與拼音方式下同音字、同音詞重碼較多有關(guān)。相碼編碼方式在實(shí)驗(yàn)中表現(xiàn)較好,準(zhǔn)確率分別達(dá)到了96.76%和96.78%,其他評(píng)估指標(biāo)也表現(xiàn)良好,在精準(zhǔn)率、召回率、F1值上與原作中結(jié)果基本相當(dāng),個(gè)別結(jié)果略好。圖16和圖17分別展示了采用相碼單字編碼時(shí)的訓(xùn)練過(guò)程和測(cè)試結(jié)果。

表12 不同編碼方式下文本分類(lèi)結(jié)果對(duì)比

圖16 采用相碼單字編碼的訓(xùn)練過(guò)程Fig.16 The training process when using xqma uni-word coding

圖17 采用相碼單字編碼時(shí)的混淆矩陣Fig.17 Confusion matrix when using xqma uni-word encoding

從驗(yàn)證效果看,XQMA模型得到的漢字編碼確實(shí)能提供一種新的字符級(jí)中文向量表示方式,可有效解決OOV問(wèn)題,具有一定的實(shí)用價(jià)值。在本例中,考慮到新聞文本中存在不少標(biāo)點(diǎn)、數(shù)字等非漢字字符,所以卷積模型中的詞匯表由系統(tǒng)自動(dòng)按統(tǒng)計(jì)頻率取前128個(gè)字符形成,未人為指定。若測(cè)試對(duì)象為純漢字文本,則可直接將詞匯表限定為26個(gè)字母。

5 結(jié)論

針對(duì)字符級(jí)語(yǔ)言模型的細(xì)粒度漢字表征需求,提出了跨象限助記符映射(XQMA)模型。模型有效融合了漢字的多種特征,可實(shí)現(xiàn)中文文本的預(yù)編碼,為漢字細(xì)粒度表征提供了一種新方法,實(shí)驗(yàn)結(jié)果表明,該模型在TextCNN文本分類(lèi)任務(wù)上表現(xiàn)良好,同時(shí),模型可實(shí)現(xiàn)中文語(yǔ)料的批量可逆轉(zhuǎn)碼和唯一標(biāo)注,存在較為廣闊的應(yīng)用前景。

雖然初步驗(yàn)證了相碼編碼在中文文本字符級(jí)向量的有效性,但并未在機(jī)器翻譯、命名實(shí)體識(shí)別等相關(guān)模型上進(jìn)行測(cè)試,后續(xù)研究中還需逐步進(jìn)行驗(yàn)證,同時(shí),可考慮將相碼模型與其他中文字符級(jí)語(yǔ)言模型相融合,使模型有更好表現(xiàn)。

猜你喜歡
單字字符音節(jié)
尋找更強(qiáng)的字符映射管理器
河北大名話(huà)單元音韻母、單字調(diào)及雙音節(jié)非輕聲詞連調(diào)的實(shí)驗(yàn)語(yǔ)音學(xué)初探
字符代表幾
一種USB接口字符液晶控制器設(shè)計(jì)
電子制作(2019年19期)2019-11-23 08:41:50
拼拼 讀讀 寫(xiě)寫(xiě)
消失的殖民村莊和神秘字符
藏文音節(jié)字的頻次統(tǒng)計(jì)
“對(duì)仗不宜分解到單字”毋庸置疑——答顧紳先生“四點(diǎn)質(zhì)疑”
鹽城方言單字調(diào)聲學(xué)實(shí)驗(yàn)研究
快樂(lè)拼音
巩留县| 三穗县| 怀来县| 漳州市| 和田市| 柘荣县| 石河子市| 梧州市| 奉贤区| 百色市| 连江县| 九龙县| 准格尔旗| 五莲县| 喀什市| 永和县| 广水市| 盈江县| 石林| 平罗县| 专栏| 靖边县| 扎赉特旗| 巩留县| 封开县| 扶沟县| 封丘县| 原阳县| 安达市| 永州市| 政和县| 华亭县| 高安市| 宁河县| 贵定县| 梅河口市| 微博| 北安市| 阜阳市| 铁岭市| 乌拉特前旗|