蔡 佳,王向東,唐李真,崔曉娟,劉 宏,錢躍良
(1.中國科學院 計算技術(shù)研究所 移動計算與新型終端北京市重點實驗室,北京 100190;2.中國科學院大學,北京 100049;3.中國盲文出版社,北京 100142)
盲文是盲人閱讀和獲取信息的重要方式。它是一種觸覺符號系統(tǒng),印刷在紙張或顯示在點顯器上,通過觸摸進行閱讀。盲文的基本單位稱作“方”,一方包含6個點位,通過設置每個點位是否有點共可形成64種組合,這些組合構(gòu)成了最基本的盲文符號。圖1(a)給出了一個盲文符號的示例。
為了生成盲文內(nèi)容,需將普通人使用的文字內(nèi)容轉(zhuǎn)換為盲文。不同語言對應的盲文是不同的。對于字母文字,其對應的盲文往往直接定義了從字母到盲文符號的唯一映射,因此轉(zhuǎn)換相對簡單。當前,英語、葡萄牙語、丹麥語、西班牙語、印地語等語言的文本到其相應的盲文文本的自動轉(zhuǎn)換,都已有可用的計算機系統(tǒng)[1-5]。而在漢語中,由于不可能將漢字唯一映射到盲文符號,漢語盲文被定義為一種拼音文字,并且還定義了分詞連寫和標調(diào)等規(guī)則。漢語盲文的這些特點為漢盲轉(zhuǎn)換,即漢字到盲文的轉(zhuǎn)換帶來了很大困難?,F(xiàn)有的漢盲自動轉(zhuǎn)換系統(tǒng)準確率較低,難以實用。在盲文出版、盲人教育等行業(yè)中,目前仍主要采用人工進行漢盲轉(zhuǎn)換,效率低、成本高,導致盲文讀物匱乏、盲人獲取信息困難,嚴重限制了盲人在信息社會的發(fā)展。
漢語盲文有3種相近的方案,分別稱為現(xiàn)行盲文、雙拼盲文[6-7]和通用盲文[8],其中現(xiàn)行盲文使用最廣,當前占據(jù)主導地位,雙拼盲文使用較少,通用盲文是對現(xiàn)行盲文的改進和規(guī)范,目前正在進行推廣。漢語盲文一般用2~3方表示一個漢字,其中一方表示聲母,一方表示韻母,現(xiàn)行盲文和通用盲文中有些情況需要再增加一方表示聲調(diào)。圖1(b)給出了一個盲文詞(“中國”)的現(xiàn)行盲文表示。漢語盲文與漢字文本最大的區(qū)別在于盲文的“分詞連寫”規(guī)則,即要求詞與詞之間用空方分隔。但盲文分詞與常用的漢語分詞不同,為減少單音節(jié)詞可能帶來的歧義,許多漢語中的短語在盲文中需要連寫,例如,“王老師”“大紅花”“不能”等都需要連寫。針對分詞連寫,中國盲文標準中給出了100多條基于詞法、語法和語義的細則,如“‘不’與動詞、能愿動詞、形容詞、介詞、單音節(jié)程度副詞均應連寫”[6]。另一方面,為減少同音字造成的歧義,盲文還制定了標調(diào)規(guī)則。雙拼盲文和通用盲文中幾乎每個字都可確定聲調(diào)。而在現(xiàn)行盲文中,為節(jié)省閱讀時間和印刷成本,規(guī)定只對易混淆的詞語、生疏詞語、古漢語實詞、非常用的單音節(jié)詞等標調(diào)。一般認為現(xiàn)行盲文的標調(diào)率大約在5%。
可以看出,漢盲轉(zhuǎn)換的關(guān)鍵在于分詞和標調(diào)。當前研究大多集中在分詞方面,主要遵循兩種思路。一是按照盲文分詞連寫本身的邏輯,首先對文本進行漢語分詞,然后使用預定義的規(guī)則對漢語分詞結(jié)果進行調(diào)整,將漢語詞串轉(zhuǎn)換為盲文詞串[9-13]。當前大多數(shù)研究都基于這一思路,例如,黃河燕等[9]最先提出和采用了基于SC文法的規(guī)則;李宏喬等[13]定義了183條形式化連寫規(guī)則,其中包含41條準短語性規(guī)則;朱小燕團隊[10-12]嘗試融合語義知識和語言模型以進一步提高盲文分詞的準確率。但是,盲文分詞連寫涉及主觀性很強的語法和語義規(guī)則,計算機定義和處理都很困難,導致這種方法的性能存在瓶頸,難以進一步提升。第二種思路是從盲文語料中提取出現(xiàn)過的連寫組合,建立分詞連寫庫,然后基于分詞連寫庫進行文本分詞[14]或?qū)h語分詞結(jié)果進行后處理。但是,盲文將漢語中的許多短語連寫,所形成的連寫組合是無限的,無法通過分詞連寫庫窮舉。因此這一方法性能有限,目前主要和第一種方法結(jié)合,作為一種補充式的后處理操作使用[14-15]。
圖1 盲文示例注:(a)為一個盲文符號示例,對應英語盲文中的字母D或漢語盲文中的聲母d;(b)為“中國”的現(xiàn)行盲文表示。
最近幾年,中科院計算所的Wang等[16]提出了基于機器學習的盲文直接分詞框架,不再基于漢語分詞結(jié)果進行后處理,而是利用訓練好的盲文分詞模型直接對盲文串進行分詞。這種方法采用機器學習模型隱含地刻畫盲文分詞連寫規(guī)范,避免了計算機直接處理復雜的語法和語義規(guī)則,實驗結(jié)果表明,此方法可大大提升漢盲轉(zhuǎn)換的準確率。但這一方法也存在不足: 一方面,該方法基于感知機模型,而近年來,深度學習技術(shù)在很多領(lǐng)域已逐步替代感知機和統(tǒng)計機器學習等傳統(tǒng)方法;另一方面,模型訓練基于盲文語料,而盲文只表示漢字的讀音(且大多數(shù)不加聲調(diào)),導致可能因同音產(chǎn)生歧義,進而影響最終的分詞結(jié)果。如果采用按照盲文規(guī)則分詞的漢字文本作為訓練語料,則可以避免上述問題。
要得到按照盲文規(guī)則分詞的漢字文本語料,相當于將漢字文本及與其對應的盲文文本進行詞語級對齊,即需要建設一個詞語級對照的漢盲語料庫。目前尚無可用的此類語料庫。2014年,國家社科基金啟動了重大項目“漢語盲文語料庫建設研究”,計劃建成約1 000萬方的漢語盲文語料庫,保持“盲文—拼音—漢字”的對照形式。該項目在語料庫構(gòu)建中采用信息技術(shù)進行處理,但人工校對工作量仍然極大,語料庫目前仍在建設中[17]。
在盲文自動標調(diào)方面,由于現(xiàn)行盲文的標調(diào)規(guī)則極為主觀,計算機難以有效判定生僻詞和易混淆詞,因此已有系統(tǒng)大多只支持全標調(diào)或不標調(diào)等簡單模式。Wang等[16]提出了一種基于n-gram語法的標調(diào)方法,采用機器學習模型從盲文語料中自動學習標調(diào)規(guī)律,取得了較好的效果。
本文提出了一種基于漢盲對照語料庫和深度學習的漢盲自動轉(zhuǎn)換方法,首次將深度學習技術(shù)引入該領(lǐng)域,采用按照盲文規(guī)則分詞的漢字文本訓練雙向LSTM模型,從而實現(xiàn)高準確度的盲文分詞。為支持模型訓練,本文提出了從不精確對照的漢字和盲文文本中自動匹配抽取語料的方法,利用126種盲文書籍構(gòu)建了規(guī)模為27萬句、234萬字、448萬方的篇章、句子、詞語多級對照的漢盲語料庫。實驗結(jié)果表明,本文提出的基于漢盲對照語料庫和深度學習的漢盲轉(zhuǎn)換方法準確率,明顯優(yōu)于基于純盲文語料庫和傳統(tǒng)機器學習模型的方法。
在進行語料庫設計時,首先根據(jù)當前已有的盲文語料的問題及漢盲轉(zhuǎn)換系統(tǒng)的應用特點,明確了語料庫需要滿足的若干需求,具體包括規(guī)模、內(nèi)容、形式三個方面。
① 規(guī)模: 為支持機器學習算法,特別是當前主流的基于深度神經(jīng)網(wǎng)絡的模型,語料庫應具有較大規(guī)模,預期首期建成20萬句以上。
② 內(nèi)容: 針對當前漢盲轉(zhuǎn)換系統(tǒng)的需求,語料內(nèi)容涉及的領(lǐng)域應兼顧通用性與若干重點領(lǐng)域。為保證通用性,內(nèi)容應覆蓋多個領(lǐng)域,文本來自多個作者的多種書籍;另一方面,對于盲文出版較為集中的特定領(lǐng)域,如中醫(yī)推拿按摩等,應給予重點關(guān)注。語料庫應盡可能地按領(lǐng)域劃分為子語料庫。
③ 形式: 為生成按照盲文規(guī)則分詞的漢字文本,語料庫應在漢字和盲文文本之間實現(xiàn)篇章、句子、詞語等的多級對照。語料應采用計算機方便讀取的編碼和存儲格式。
根據(jù)上述需求,在內(nèi)容方面,選用了中國盲文出版社編輯的126種書籍,劃分為通用與文學、科學、醫(yī)學三個子類,具體情況如表1所示。之所以將通用與文學并列為一類,一是由于兩類別的內(nèi)容較為相似,二是因為兩類別的書籍種數(shù)較少,作為兩類略嫌不足。
表1 語料庫領(lǐng)域子類劃分
在編碼方面,盲文領(lǐng)域一直存在多種計算機內(nèi)編碼,常用的有Unicode盲文編碼、ASCII編碼及使用Unicode擴展域的自定義編碼等。本文構(gòu)建的語料庫中盲文符號采用ASCII編碼,這是由于ASCII編碼更為簡單,相對于Unicode等多字節(jié)編碼更節(jié)省存儲空間,且無需安裝任何插件或字體即具備一定的可讀性。另一方面,由于只需簡單的字節(jié)映射,ASCII編碼可方便地轉(zhuǎn)換為其他編碼。
在存儲格式方面,為了簡單、方便,語料庫設計為直接采用txt文件存儲。為每個類別構(gòu)建兩個文件夾,每個文件夾中分別是每一篇文章對應的漢字和盲文txt文件,文件中每個句子占一行,漢字和盲文句子都按盲文規(guī)則分詞。同名的漢字和盲文txt文件對應相同的篇章,對應篇章中相同行的文本對應同一句子,對應句子中相同位置的詞對應同一詞語(或含按盲文分詞連寫規(guī)則連寫的詞串)。這樣,就以最簡單的方式實現(xiàn)了漢字和盲文文本之間的篇章、句子和詞語級對照。文件夾目錄參見圖2,txt文件中的內(nèi)容如圖3所示。
圖2 漢盲語料庫存儲目錄示意圖
圖3 對應的漢字與盲文txt文件內(nèi)容示例
本文中,語料庫構(gòu)建主要采用自動方式,從內(nèi)容相同的漢字和盲文書籍文件中自動對齊并抽取文本從而形成語料庫。每本盲文書籍存儲為一個陽光盲文編輯軟件所用的bdo文件,每本漢字書籍存儲為一個Microsoft Word文件。
語料庫構(gòu)建的主要難點在于實現(xiàn)漢字和盲文文本的句子級和詞語級對應,原因有以下幾點: 第一,漢字和盲文的內(nèi)容并不完全對應。為了便于盲人理解,盲文編輯會對內(nèi)容進行適當?shù)男薷?,比如文本增刪、段落拆分和合并等。第二,盲文會增加目錄、頁碼等內(nèi)容,且都作為文本,不能通過特定的格式標記去除。第三,bdo文件中合并了一些非標準的格式標記,有可能和文本內(nèi)容混淆。因此,很難通過計算機自動化處理實現(xiàn)所有句子和詞語的完全對應,只能抽取能夠?qū)晒Φ牟糠?、丟棄匹配失敗的部分。由于本文目標是構(gòu)建訓練機器學習模型所需的語料庫,所以這種處理是可以接受的。
語料庫構(gòu)建的主要流程如圖4所示。從漢字文件和盲文文件中分別抽取文本,將盲文文本轉(zhuǎn)換為ASCII編碼,在各自進行句子切分等預處理后,利用匹配算法進行漢字和盲文的字符對齊,根據(jù)對齊結(jié)果輸出多級對照的漢盲對照語料,形成漢盲對照語料庫。
圖4 語料庫構(gòu)建流程圖
1.2.1 預處理
在進行匹配和對齊之前,需要將漢字和盲文文本切分為句子。本文采用的方法為檢測標點符號。采用的標點集如表2所示。
表2 漢語-盲文ASCII碼標點符號對照表
漢語……()·———‘’;——盲文”””;’,2,’,-^^^^;,”-
漢字文本中標點的檢測相對簡單,直接搜索相應字符即可。盲文ASCII文件中的標點符號的形式相對復雜,標點符號之間存在包含關(guān)系,所以在預處理時需要添加規(guī)則判定以確認標點符號。首先使用KMP算法獲得盲文標點的位置列表,然后對比具有包含關(guān)系的標點符號的位置信息,如果存在相同的位置信息,則刪掉被包含的短字符串的位置信息。
1.2.2 字符對齊
在預處理階段,對于同一篇章,漢字和盲文文本都已被切分為句子,形成兩個句子集合。但是由于上文所述原因,兩個句子集合并不能精確對應;更為重要的是,漢字文本中的句子(以下稱為“漢字句子”)是不分詞的,無法與盲文形成詞語級別的對照。因此,字符對齊的任務就是: 第一,匹配并且保留內(nèi)容精確對應的漢字和盲文句子,丟棄無法建立對應關(guān)系的句子。第二,在句子中,將每個漢字與盲文建立對應關(guān)系,從而把漢字句子也按盲文的分詞形式分詞,形成如圖3所示的對照。
設預處理后得到的漢字句子集合為{A,B,C,…},盲文句子集合為{A′,B′,C′, …}。首先,將每個漢語句子通過漢盲字典轉(zhuǎn)換為對應的盲文句子集合。漢盲字典中列出了每個漢字對應的盲文符號串。由于漢字句子不分詞,因此此時生成的盲文句子也并不分詞。之所以是盲文句子集合,是因為漢語句子中的多音字可以對應多個不同的盲文符號串,因此根據(jù)句中多音字的所有讀音進行全部組合,得到所有可能的盲文句子的集合。此時,漢語句子集合{A,B,C, …}被轉(zhuǎn)化為盲文句子集合的集合{{a1,a2, …}, {b1,b2, …}, {c1,c2, ..}, …},其中{a1,a2, …}為漢語句子A對應的盲文句子的集合,其他依此類推。
對于每一個由漢語句子生成的盲文句子集合{a1,a2, …},檢查其中的每個句子,判斷是否與{A′,B′,C′, …}中的句子匹配。所謂匹配,是指兩個盲文句子在不考慮分詞(即忽略空方)和不考慮標調(diào)(即忽略聲調(diào)符號)的情況下完全相同。
若找到A′與ai匹配,則將ai按照A′分詞,并進一步將ai對應的漢字句子A按相同的方式分詞,得到按照盲文規(guī)則分詞的漢字句子A″。這樣就得到了詞語級對照的漢語句子A″和盲文句子A′。保存A″和A′。如果沒有找到{A′,B′,C′, …}中的盲文句子能夠與{a1,a2, …}中的任意一個句子匹配,則丟棄{a1,a2, …}及其對應的漢語句子A,繼續(xù)處理下一個漢語句子及其生成的盲文句子集合。整個流程如圖5所示。
圖5 字符對齊算法流程圖
經(jīng)過上文所述的語料庫構(gòu)建步驟,我們利用126種書籍,成功構(gòu)建了WLCBC(Word Level Chinese-Braille Corpus)語料庫。其規(guī)模如表3所示。
語料庫的漢字部分編碼為UTF-8,盲文編碼為ASCII,語料庫設計為直接采用txt文件存儲。為每個類別構(gòu)建兩個文件夾,每個文件夾中分別是每一篇文章的中文和盲文的txt文件,每個句子占一行,漢字和盲文句子都按盲文規(guī)則分詞,如圖2、圖3所示。
基于本文構(gòu)建的漢盲對照語料庫,本文提出了一種基于深度學習的漢盲轉(zhuǎn)換方法。該方法的核心是利用與盲文分詞連寫對應的漢字文本語料,訓練符合盲文分詞規(guī)范的深度神經(jīng)網(wǎng)絡分詞模型。這種方法通過機器學習模型一次性地將漢字文本按盲文分詞規(guī)范進行切分,相對于傳統(tǒng)的先按漢語分詞規(guī)范分詞再利用盲文規(guī)則進行合并的方法更為簡單、直接,避免了計算機處理人工定義的語義和語法規(guī)則時存在的困難。相對于利用純盲文語料庫訓練盲文分詞模型的方法[16],本文方法充分利用了漢盲對照語料庫的優(yōu)勢,直接訓練面向漢字文本的分詞模型,可避免盲文因同音字詞帶來的歧義性。
表3 漢盲對照語料庫統(tǒng)計結(jié)果
本文提出的基于深度學習的漢盲轉(zhuǎn)換方法的主要流程如圖6所示。首先將漢字文本按照盲文的規(guī)則分詞,其中分詞部分使用基于深度學習的雙向LSTM模型。然后使用n-gram模型對分詞后的漢字標調(diào)。最后將已經(jīng)分詞和標調(diào)的漢字文本轉(zhuǎn)換為盲文,生成盲文文本。
圖6 基于深度學習的漢盲轉(zhuǎn)換方法流程
如上文所述,本文方法的核心在于直接將漢字文本按盲文規(guī)則分詞,這是通過直接采用按盲文規(guī)則分詞的漢字文本訓練分詞模型實現(xiàn)的。本文所構(gòu)建的WLCBC語料庫,通過在漢字和盲文文本間進行句子和字符匹配,實現(xiàn)了漢字和盲文在詞語級的對照,獲取了按照盲文規(guī)則分詞的漢字文本語料(圖3)。利用這一語料訓練的分詞模型,即可用于將漢字文本直接按盲文規(guī)則分詞。在分詞模型方面,本文嘗試采用深度學習模型,該模型近年來在漢語分詞等許多領(lǐng)域均得到了廣泛應用,被證實效果優(yōu)于傳統(tǒng)的神經(jīng)網(wǎng)絡及統(tǒng)計機器學習模型。
通過深度學習進行分詞屬于分類問題: 將每個字的位置分為4種,即B、E、M、S,其中B代表詞的開頭,M代表詞的中間,E代表詞的末位,S代表單獨成詞,分詞的目的就是通過模型得到每個字的位置類別,然后合并成詞。
本文選取了最近分詞領(lǐng)域普遍采用的LSTM神經(jīng)網(wǎng)絡模型[18],嘗試將其用于基于盲文規(guī)則的漢字文本分詞。本文采用的網(wǎng)絡結(jié)構(gòu)如圖7所示。該模型共有6層網(wǎng)絡,第1層是Word embeddings層,基于詞向量模型,將訓練語料中的字由one-hot編碼映射為低維稠密的字向量。第2和第5層是Bi-LSTM網(wǎng)絡層,共有兩層Bi-LSTM層,為了防止過擬合,Bi-LSTM網(wǎng)絡層之后添加Dropout層,每次隨機丟棄一定比例的神經(jīng)網(wǎng)絡節(jié)點。第6層輸出層是一個全連接層,因為是多分類問題。設置全連接層的激活函數(shù)為Softmax,它將多個神經(jīng)元的輸出映射到0到1之間的數(shù)值,選擇概率最大的類別作為該字的類別。
圖7 本文采用的深度神經(jīng)網(wǎng)絡結(jié)構(gòu)示意圖
模型訓練前,需要將語料句子中的每個詞以字為單位進行標記。另外,由于分詞模型的輸入是向量形式,因此需要訓練訓詞向量模型,將語料轉(zhuǎn)為向量表示。經(jīng)過多輪訓練,可生成所需的分詞模型。分詞模型的訓練流程如圖8所示。
圖8 分詞模型的訓練流程
對一句話進行分詞時,將文本轉(zhuǎn)換為詞向量,輸入分詞模型,通過模型計算得到每個字(向量)屬于四種狀態(tài)的概率,選擇概率最大的作為該字的狀態(tài),最后合并得到分詞結(jié)果。
本文基于構(gòu)建的漢盲對照語料庫,采用統(tǒng)計機器學習方法訓練標調(diào)模型,從語料中學習隱含的標調(diào)模式,從而實現(xiàn)自動標調(diào)。本文采用的方法與文獻[16]相似,區(qū)別在于文獻[16]中的方法采用純盲文語料庫,其n-gram模型構(gòu)建的對象為盲文詞(含連寫的詞串),而本文方法采用漢盲對照語料庫,n-gram 模型構(gòu)建的對象為漢字詞(含連寫的詞串)。由于多個同音的漢字詞可對應同一個盲文詞,因此本文方法更為精確。
對于構(gòu)建的漢盲語料庫,將其中所有的盲文詞對應的漢字詞的集合作為使用的詞表。將語料中出現(xiàn)的同一詞的不同標調(diào)形式(如不標調(diào),首字標調(diào),第二字標調(diào)……)作為不同詞添加至詞表。采用此詞表和語料庫訓練一個n-gram語言模型。本文中,采用簡單的bi-gram模型,訓練時采用了Kneser-Ney平滑策略。
標調(diào)時,對于每一個待標調(diào)的詞,根據(jù)其前n-1個詞的語言模型概率確定該采用哪種標調(diào)形式。例如,若某個兩字詞存在不標調(diào)形式w0及兩種標調(diào)形式w1(首字標調(diào))和w2(第二字標調(diào)),此時,比較P(w0|w),P(w1|w),P(w2|w1)的大小(其中,w為該詞之前的一個詞),取概率最大的標調(diào)形式為最終選擇。
在詞語級對照的漢盲對照語料庫的支持下,上文中的分詞和標調(diào)兩個步驟都是針對漢字文本進行的,相對于針對盲文文本進行分詞和標調(diào)的方法[16],避免了因盲文只表示讀音而導致的信息丟失和歧義增加。本文方法中,在進行分詞和標調(diào)之后,利用發(fā)音詞典和發(fā)音-盲文映射表將分詞和標調(diào)的漢字文本轉(zhuǎn)換為盲文,轉(zhuǎn)換過程中保留并復制其中的標調(diào)信息。
在文本轉(zhuǎn)換時,會遇到一些特殊情況,如漢語文本中有時會夾雜阿拉伯數(shù)字、英文字母及一些特殊符號,盲文在“數(shù)字+量詞”和采用數(shù)字形式的年月日時會需要特殊處理(在數(shù)字后增加一個連接符)。針對這些情況,本文采用文獻[16]中的方法進行必要的處理。
基于第2節(jié)所述方法,本文搭建了一個用于實驗的原型系統(tǒng),其代碼框架基于Python的Keras庫。
為測試系統(tǒng)性能,將WLCBC語料庫隨機分為訓練集和測試集,訓練集規(guī)模約為21萬句,測試集規(guī)模約為6萬句。訓練集和測試集的數(shù)據(jù)不重合,且不源于相同的書籍。訓練集和測試集保留了通用文學、科學、醫(yī)學的分類。具體情況如表4所示。
表4 實驗數(shù)據(jù)情況
實驗的任務為漢字文本到盲文文本的轉(zhuǎn)換。在訓練時,使用句子、詞語級對照的漢字和盲文文本按第2節(jié)介紹的方法訓練分詞模型和標調(diào)模型。在測試時,將測試集中的漢字文本去除分詞(即刪除詞與詞之間的空格字符)后得到的文本作為輸入,系統(tǒng)輸出轉(zhuǎn)換后的盲文結(jié)果。將語料庫中測試數(shù)據(jù)的盲文文本作為標準答案,與輸出結(jié)果進行比較,計算轉(zhuǎn)換準確率。準確率的計算方法為將輸出結(jié)果與標準答案以詞為單位進行編輯距離對齊,然后統(tǒng)計正確的詞的個數(shù),將正確的詞的個數(shù)與標準答案總詞數(shù)的比值作為準確率。實驗同時統(tǒng)計了考慮標調(diào)和不考慮標調(diào)的準確率,前者代表最終的漢盲轉(zhuǎn)換性能,后者可基本代表分詞性能。
實驗中,訓練了用于分詞的LSTM模型和用于標調(diào)的bi-gram模型。LSTM為兩層雙向網(wǎng)絡,維度為512。bi-gram模型采用SRILM工具包訓練而成。為進行比較,獲取了文獻[16]中基于盲文語料庫和感知機模型的系統(tǒng)進行對比實驗。同時,為驗證深度學習方法的優(yōu)越性,還訓練了一個多層感知機(MLP)模型,其結(jié)構(gòu)為兩層Dense網(wǎng)絡,7×100個神經(jīng)元為輸入層,隱藏層單元數(shù)為100,輸出層單元數(shù)為4。詞向量模型的訓練語料為Sogou語料庫,向量維度為200,迭代50次,使用Python的Gensim庫訓練模型。實驗時,采用本文構(gòu)建的漢盲對照語料庫訓練MLP模型,然后采用該模型實現(xiàn)按照盲文分詞連寫規(guī)則的漢字文本分詞,后續(xù)的標調(diào)等處理與上文所述相同。
漢盲轉(zhuǎn)換的實驗結(jié)果如表5和表6所示??梢钥闯?,無論是考慮標調(diào)還是不考慮標調(diào),對于所有領(lǐng)域,基于漢盲對照語料庫的MLP模型和LSTM模型效果均優(yōu)于采用純盲文語料庫的方法(文獻[16]系統(tǒng)),LSTM模型的結(jié)果優(yōu)于MLP模型,由此可以看出采用漢盲對照語料庫和更復雜的機器學習模型的重要性。在不考慮標調(diào)時,本文提出的基于漢盲對照語料庫和深度學習的分詞算法可達到94.42%的準確率,已經(jīng)達到實用水平。從各領(lǐng)域來看,科學科普的準確率最高,但這可能是由于訓練語料和測試語料來自同一套叢書相似性較高造成的。而醫(yī)學領(lǐng)域性能相對較低,這可能是因為其中與中醫(yī)相關(guān)的測試語料包含一定的古文內(nèi)容和中醫(yī)專用詞匯,而訓練語料主要為現(xiàn)代漢語,只有一部分為醫(yī)學領(lǐng)域語料,總量規(guī)模不是很大,導致訓練尚不充分。
表5 漢盲轉(zhuǎn)換準確率(不考慮標調(diào))(%)
表6 漢盲轉(zhuǎn)換準確率(考慮標調(diào))(%)
本文提出了一種基于漢盲對照語料庫和深度學習的漢盲自動轉(zhuǎn)換方法,首次將深度學習技術(shù)引入該領(lǐng)域,采用按照盲文規(guī)則分詞的漢字文本訓練雙向LSTM模型,從而實現(xiàn)高準確的盲文分詞。為支持模型訓練,采用從漢字和盲文文本中自動匹配抽取語料的方法構(gòu)建了篇章、句子、詞語多級對照的漢盲對照語料庫,其規(guī)模為27萬句、234萬字、448萬方盲文。實驗結(jié)果表明,本文提出的基于漢盲對照語料庫和深度學習的漢盲轉(zhuǎn)換方法準確率明顯優(yōu)于基于純盲文語料庫和傳統(tǒng)機器學習的方法,也優(yōu)于基于漢盲對照語料庫和多層感知器模型的方法。