胡升澤 蔡偉柯 何春輝*
(1、國防科技大學(xué)信息系統(tǒng)工程重點實驗室,湖南 長沙410073 2、國防科技大學(xué)教研保障中心,湖南 長沙410073)
隨著搜索引擎和智能技術(shù)的快速發(fā)展,很多系統(tǒng)都集成了中文首字母快速檢索功能。較常見的有KTV 點歌系統(tǒng)中歌曲名稱的搜索以及智能電視中電視劇或電影名稱的搜索等。它不同于傳統(tǒng)的搜索引擎,為了提升用戶的體驗效果,它通常會簡化用戶的輸入操作,只需用戶按順序輸入檢索內(nèi)容的首字母,無需輸入檢索條件的全部內(nèi)容,這樣可以降低用戶的輸入難度,從而提升用戶的檢索體驗。
這種基于首字母構(gòu)建的快速檢索系統(tǒng)雖然可以大大提升用戶的體驗效果。但它也面臨著一個亟待解決的核心問題,即如何高效、準確的完成中文至拼音首字母的自動轉(zhuǎn)換。眾所周知,中文是一種很特殊的語言,它除了常見的單音字之外,還包含很多的多音字。對于單音字而言,漢字至拼音首字母的自動轉(zhuǎn)換比較簡單,但是對于多音字的漢字至拼音首字母的自動轉(zhuǎn)換是一個較復(fù)雜的任務(wù),它需要依賴上下文語義信息才能正確的完成自動轉(zhuǎn)換。華逢兆采用漢字的分級結(jié)構(gòu)實現(xiàn)了漢字轉(zhuǎn)化為拼音首字母的功能[1]。這種方法雖然可以在大部分情況下完成漢字至拼音首字母的轉(zhuǎn)換任務(wù),但是它的轉(zhuǎn)換準確率還有待進一步提升,尤其是面臨多音字的正確轉(zhuǎn)換顯得捉襟見肘。
近來,隨著硬件水平的提升使得深度學(xué)習(xí)算法在文本挖掘領(lǐng)域得到了廣泛的應(yīng)用[2]。因此,文章引入了深度學(xué)習(xí)算法來提升中文至拼音首字母的自動轉(zhuǎn)換性能。在數(shù)據(jù)標(biāo)注階段,將需要轉(zhuǎn)化的中文和它所對應(yīng)的拼音首字母進行編碼形成序列映射。最后用這些標(biāo)注過的數(shù)據(jù)來完成深度學(xué)習(xí)模型的訓(xùn)練。
由類型來分,中文至拼音首字母的自動轉(zhuǎn)換可以歸為自然語言處理[3]中的序列標(biāo)注任務(wù)??紤]到Bi-LSTM-CRF(雙向長短時記憶條件隨機場)[4]序列標(biāo)注模型在很多任務(wù)上都取得了優(yōu)秀的表現(xiàn)。因此,文章采用了這種深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)來構(gòu)建中文至拼音首字母的自動轉(zhuǎn)換算法。其結(jié)構(gòu)如圖所示.
由圖可知,自動轉(zhuǎn)換算法一共包含了8 個層次。首先是輸入序列層,實現(xiàn)中文字符串的輸入。接下來是字符向量嵌入層,用來完成中文字符的向量化表示。核心部分是雙向長短時記憶網(wǎng)絡(luò)層,它利用前向-LSTM層和反向-LSTM層來獲取上下文的特征。其次通過隱藏層來實現(xiàn)數(shù)據(jù)轉(zhuǎn)換。再次再利用條件隨機場層給出最佳的序列預(yù)測結(jié)果。最后再結(jié)合單音字首字母映射表對預(yù)測結(jié)果中的單音字首字母進行微調(diào)并輸出最終的首字母序列標(biāo)注結(jié)果。
為了驗證算法的性能,利用開源的網(wǎng)絡(luò)爬蟲工具WebMagic①從豆瓣電影②網(wǎng)站中爬取到5 萬部中文電視劇或電影名稱。此外,還融合了搜狗實驗室對外公開的精簡版③新聞數(shù)據(jù)集包含的全部中文新聞標(biāo)題共同作為模型訓(xùn)練和測試的原始語料。
Bi-LSTM-CRF 中文至拼音首字母自動轉(zhuǎn)換算法的結(jié)構(gòu)圖
漢字至拼音首字母標(biāo)注需要將輸入的中文漢字字符序列對應(yīng)的轉(zhuǎn)換為這些字符所對應(yīng)的拼音首字母序列的形式。根據(jù)中文的相關(guān)拼音發(fā)音標(biāo)準,約定整個標(biāo)注數(shù)據(jù)中只包含24 類不同的字符標(biāo)簽。這些標(biāo)簽分別為3 個單韻母和20 個聲母以及1 個非中文的統(tǒng)一映射符。像電視劇名稱“《快樂成長》”,就將它對應(yīng)的字符序列標(biāo)注為“-KLCZ-”。因為整個數(shù)據(jù)集較大,其中將80%作為訓(xùn)練數(shù)據(jù)集,15%作為驗證數(shù)據(jù)集,5%作為獨立測試集。在數(shù)據(jù)標(biāo)注階段,文章借助了中文到拼音開源的自動轉(zhuǎn)換工具HanLP 并結(jié)合人工校正的方式來完成數(shù)據(jù)的標(biāo)注。最后,使用上述標(biāo)注方式得到的標(biāo)注數(shù)據(jù)來完成深度學(xué)習(xí)模型的訓(xùn)練、驗證和測試。
在文章的實驗評測環(huán)節(jié),采用平均準確率來評估模型的性能。準確率的定義如下:對于一個輸入的中文序列,如果拼音首字母自動轉(zhuǎn)換方法能將它映射成一個完全正確的首字母序列,意味轉(zhuǎn)換成功,只要轉(zhuǎn)換結(jié)果中包含一個錯誤首字母意味轉(zhuǎn)換失敗。對于平均準確率的計算,需要統(tǒng)計所有參與評測的樣本總數(shù)中轉(zhuǎn)換成功的數(shù)量,并用它除去參與評測的樣本總數(shù)。它的計算公式如下:
為了充分的驗證模型性能,采用獨立測試數(shù)據(jù)集對條件隨機場、Bi-LSTM-CRF 以及結(jié)合單音字首字母映射表進行微調(diào)的Bi-LSTM-CRF 這3 種不同的模型進行了實驗對比,并結(jié)合平均準確率指標(biāo)對不同模型的性能進行評估。相關(guān)的實驗結(jié)果如表所示。
不同模型在獨立測試數(shù)據(jù)集上的實驗結(jié)果
根據(jù)表的實驗結(jié)果可知,不同模型之間存在一定的差距。CRF 的平均準確率為94.1%,Bi-LSTM-CRF 模型取得了99.3%的平均準確率,但是在結(jié)合單音字首字母映射表進行微調(diào)后,微調(diào)的Bi-LSTM-CRF 模型的平均準確率高達99.7%。
在中文至拼音首字母自動轉(zhuǎn)換任務(wù)上,文章提出了基于深度學(xué)習(xí)的中文至拼音首字母自動轉(zhuǎn)換方法,實驗結(jié)果表明這種方法可以有效的提升多音字的轉(zhuǎn)換準確率,且在融入單音字首字母映射表后可以有效提升中文至拼音首字母轉(zhuǎn)換模型的性能。
注釋
①https://www.oschina.net/p/webmagic.
②https://movie.douban.com/.
③https://www.sogou.com/labs/resource/cs.php.