本發(fā)明涉及一種基于連寫字向量融合的transformer-gru的漢盲轉(zhuǎn)換方法,屬于自然語言處理。
背景技術(shù):
1、盲人作為殘障人群的一大群體,他們的生活健康是推動“健康中國”急需解決的問題。有效進行盲文數(shù)字化工作將極大地方便盲人的生活,提升他們在社會中的參與感,因此,盲文數(shù)字化工作刻不容緩。要解決這一問題,首先需要提高盲文的推廣度和社會認可度,使其成為盲人學(xué)習(xí)的有力工具。通過數(shù)字化盲文,我們可以為盲人提供更便捷、高效的學(xué)習(xí)手段,幫助他們更好地完成教育。數(shù)字技術(shù)還可以幫助盲人更好地融入社會,通過互聯(lián)網(wǎng)等渠道參與各類社交和文化活動。總體而言,致力于盲文數(shù)字化工作是促進盲人全面融入社會、提升其生活品質(zhì)的重要一步。
2、盲文數(shù)字化,最重要的工作就是高性能的漢盲轉(zhuǎn)換方法。當前漢盲轉(zhuǎn)換存在的問題主要有:分詞連寫錯誤率高、通用盲文轉(zhuǎn)換準確率低;我國近幾年正在大力推行通用盲文,相比于現(xiàn)行盲文,通用盲文完全解決了音調(diào)歧義的問題,能夠幫助盲人實現(xiàn)更好的閱讀體驗。實用的漢盲轉(zhuǎn)換方法,能夠極大地促進我國推行通用盲文的工作。
技術(shù)實現(xiàn)思路
1、本發(fā)明基于上述內(nèi)容的各項不足,提出一種基于連寫字向量融合的transformer-gru的漢盲轉(zhuǎn)換方法,提高了漢盲轉(zhuǎn)換的準確率。
2、為達到以上目的,本發(fā)明采用以下技術(shù)方案。
3、一種基于連寫向量融合的transformer-gru的漢盲轉(zhuǎn)換方法,包括:
4、步驟1:構(gòu)建基于滑動窗口的掩碼注意力盲文連寫規(guī)則字向量嵌入網(wǎng)絡(luò),包括:基于符號表的掩碼注意力機制、基于分組線性變換的判斷模塊、負指數(shù)二維倒數(shù)交叉熵損失模塊;
5、步驟1.1:設(shè)計基于對照表的掩碼注意力機制,從漢盲分詞對照語料庫中收集經(jīng)過通用盲文分詞連寫作用后的漢語句子,以及僅僅采用了分詞卻未經(jīng)過連寫的對應(yīng)句子。以skip_window=2的窗口依次在句子中截取連續(xù)五個字,不足部分用padding補齊并進行one-hot編碼。所述輸入為x=[xi-2,xi-1,xi,xi+1,xi+2],標簽為yi。設(shè)計隨機掩碼自注意力機制模塊,將x通過此處掩碼是為了屏蔽padding部分與標點符號對注意力分數(shù)的影響,標點符號在盲文中均與其它部分進行連寫,若不屏蔽其影響,則極易造成盲文詞稀疏問題。設(shè)計掩碼矩陣注意力分數(shù)計算如下:
6、
7、其中,○為哈達瑪乘積,q、k、v為所述輸入的查詢矩陣、鍵值矩陣、權(quán)重矩陣。掩碼矩陣mj如下:
8、mj=[aij],i,j∈z[0,5]
9、
10、其中,punlist為標點符號表。本設(shè)計能夠讓網(wǎng)絡(luò)進一步建模輸入漢語語料的詞間關(guān)系,并且通過掩碼矩陣屏蔽掉無用信息的干擾,從而學(xué)習(xí)到盲文連寫規(guī)則。
11、步驟1.3:設(shè)計分組線性變換將每個詞向量映射到低維空間,并通過relu函數(shù)增加非線性能力,從而增大每一維度盲文連寫信息密度。
12、
13、其中,split代表拆分操作,w1與w2分別代表全連接網(wǎng)絡(luò),即將xj按維度拆分成了xj1與xj2兩部分分別通過全連接網(wǎng)絡(luò),這能夠極大提高運算效率。本層網(wǎng)絡(luò)能夠全局考慮含有連寫信息的輸入向量[ui-2,ui-1,ui,ui+1,ui+2],通過訓(xùn)練迭代,賦予該層輸出蘊含高維盲文連寫信息。
14、步驟1.4:將步驟1.3所得結(jié)果進行拼接,并采用全連接層將求和結(jié)果映射到一維空間,后通過sigmoid函數(shù)將結(jié)果映射到[0,1]之間。
15、
16、其中,σ表示sigmoid函數(shù)。為最終輸出概率,此概率表示中心字符附近是否存在需要連寫的詞匯。
17、步驟1.5:設(shè)計負指數(shù)二維倒數(shù)交叉熵損失函數(shù),假設(shè)一個batch數(shù)量為n,則損失函數(shù)如下所示。
18、
19、其中,為上述所得概率輸出,p為標簽真實值。
20、步驟2:將上述步驟1.2至1.3訓(xùn)練所得的網(wǎng)絡(luò)參數(shù)凍結(jié)作為連寫特征提取器,并單獨取出接入后續(xù)漢盲轉(zhuǎn)換網(wǎng)絡(luò)中。設(shè)計編碼器-解碼器框架的基于連寫向量融合的transformer-gru模型實現(xiàn)漢盲翻譯。其中,編碼器部分采用兩層掩碼局部自注意力及一層全局高斯自注意力機制堆疊而成。
21、步驟2.1:首先設(shè)計高斯歸一化的馬爾科夫模型進行分詞。輸入字符的隱藏狀態(tài)空間描述為:
22、ss={b,m,e,s}
23、其中,b為起始字,m為中間字,e為末端字,s為單獨成詞的字。
24、設(shè)計詞塊打分模型:
25、
26、其中,n表示語料庫中統(tǒng)計字數(shù)總量,v表示屬于xi-1的狀態(tài)類的字數(shù)。分母的σ為語料庫詞匯字數(shù)方差,μ為詞匯字數(shù)均值。p(xi|xi-1,xi-2,...,xi-j)為共現(xiàn)概率,假設(shè)輸入漢字向量序列為x={x1,x2,x3,...,xn},從第二個字符開始,依次計算某一字與之前模塊的共現(xiàn)概率。即:
27、
28、當且僅當:scores(i)≥scores(i-1),i=2,3,...
29、將xi納入詞塊作為整體,將詞塊對應(yīng)字向量加權(quán)融合得到蘊含連寫信息的詞向量,即:
30、
31、所得輸出為其中,m≤n。即將輸入漢字進行分詞。
32、步驟2.2:設(shè)計基于語序一致性的對角掩碼局部注意力機制模型以屏蔽遠距離信息,使網(wǎng)絡(luò)在訓(xùn)練過程中能夠?qū)⒆⒁饬χ匦姆旁卩徑斎霛h語詞匯。注意力分數(shù)計算方式如下。
33、
34、其中,mask為所設(shè)計掩碼矩陣,用于屏蔽與中心漢字距離高于2—4的漢字,掩碼矩陣mask如下。
35、
36、
37、其中,w1與w2為線性網(wǎng)絡(luò),通過分組線性變換能夠防止網(wǎng)絡(luò)學(xué)習(xí)到過多復(fù)雜語義關(guān)系,而將注意力放到標調(diào)省略與連寫建模學(xué)習(xí)上。
38、步驟2.3:在局部注意力層之后,接入分組前饋連接網(wǎng)絡(luò)對注意力分數(shù)進行編碼與整合,局部注意力與分組前饋網(wǎng)絡(luò)共同構(gòu)成一層擴展層,淺層網(wǎng)絡(luò)包含擴展層數(shù)可在具體實施方式中由用戶自定義設(shè)計。將矩陣的第k行命名為表示新的token,將每行進行如下變換。
39、
40、其中,χk為經(jīng)過分組前饋連接網(wǎng)絡(luò)的輸出矩陣第k行。本層能夠整合盲文規(guī)則編碼表示。
41、步驟2.4:為了平衡網(wǎng)絡(luò)對于分詞連寫規(guī)則及標調(diào)省略的學(xué)習(xí)權(quán)重,同時為防止過擬合,設(shè)計基于上下界的可學(xué)習(xí)權(quán)重參數(shù)殘差連接模型為:
42、
43、
44、其中,φ(input)表示第一層擴展層代表的廣義函數(shù),ψ(γk')表示第二層擴展層代表的廣義函數(shù)。γ1與γ2分別為可學(xué)習(xí)參數(shù),u與s為用戶自定義超參數(shù),u為上界,s為下界,通過調(diào)節(jié)上下界參數(shù)以保護預(yù)訓(xùn)練所得的盲文連寫規(guī)則建模,保證連寫詞嵌入向量所蘊含的規(guī)則占有一定比重。
45、步驟2.5:設(shè)計了基于全局序列信息的高斯掩碼自注意力機制。本發(fā)明注意力計算方案如下。
46、
47、其中,○為哈達瑪乘積,υ為高斯距離掩碼矩陣。
48、
49、本掩碼矩陣在注意力機制中融入了序列信息,這是因為漢字與盲文具有相同的語序,通過高斯距離掩碼矩陣,網(wǎng)絡(luò)能將編碼表示與解碼表示進行對應(yīng)整合,學(xué)習(xí)標調(diào)及連寫規(guī)則。
50、步驟2.6:將的每一行ηi取出作為新的token,將該token通過分組線性變換網(wǎng)絡(luò)并殘差鏈接。
51、
52、進一步將得到的tokenγi進行拼接。
53、
54、步驟3:解碼器的淺層網(wǎng)絡(luò)需要對輸入盲文編碼整合,設(shè)計掩碼分組自注意力機制屏蔽未來信息以及距離過遠信息保證網(wǎng)絡(luò)注意力局限在5-gram范圍內(nèi),使網(wǎng)絡(luò)將注意力權(quán)重更多分配于來自同一盲文連寫單元的token中,同時設(shè)計分組線性變換殘差連接保護淺層語義中的位置編碼信息。
55、步驟3.1:在訓(xùn)練階段,解碼器的外部輸入為經(jīng)過掩碼處理的盲文文本。假設(shè)解碼器外部輸入嵌入為y=[y1…ym],則注意力分數(shù)矩陣計算方式如下:
56、
57、其中,矩陣用于屏蔽未來信息,矩陣用于分配注意力權(quán)重,設(shè)計規(guī)則如下:
58、
59、
60、
61、將矩陣的每一行記為κi。將該矩陣通過分組線性變換機制以及殘差連接以提取深度信息:
62、
63、步驟4:本發(fā)明設(shè)計了雙向互注意力門控融合gru單元對編碼端輸出γi與解碼端輸入進行處理。互注意力門用于建模漢文與盲文抽象語義間的深層對應(yīng)信息,通過gru單元可賦予網(wǎng)絡(luò)推理能力,避免過擬合。
64、雙向互注意力門控融合gru單元在當前時間步的記憶輸出為假設(shè)第t步,上述編碼端對應(yīng)的輸出為γt=γt∈[γ1…γn],而解碼端對應(yīng)的輸出為則最終輸出計算公式如下:
65、
66、其中,zt為t時刻更新門,rt為t時刻重置門。
67、則更新門模型如下:
68、
69、重置門設(shè)置如下:
70、
71、有益效果
72、設(shè)計基于可變滑動窗口的掩碼注意力字嵌入網(wǎng)絡(luò)作為預(yù)訓(xùn)練模塊。該模塊解決了以往字向量用于漢盲轉(zhuǎn)換任務(wù)時幾乎不蘊含連寫信息的問題,驅(qū)使后續(xù)網(wǎng)絡(luò)在訓(xùn)練過程中將注意力集中于如何進行連寫之上,針對性地克服了漢盲轉(zhuǎn)換任務(wù)的最大特色難點。其中的掩碼注意力機制,不同于傳統(tǒng)字向量直接將輸入接入全連接層的方案。本設(shè)計能夠使注意力模塊輸出向量蘊含上下文信息,從而迫使后續(xù)分組連接層將注意力集中于詞間關(guān)系上,加速連寫關(guān)系的學(xué)習(xí)。采用的二維負指數(shù)交叉熵相比原始交叉熵損失,具有更快的收斂速度。
73、本發(fā)明設(shè)計的高斯歸一化的馬爾科夫分詞方案,通過計算詞塊分數(shù),更有效地判斷是否應(yīng)該將新字符納入詞塊作為分割整體。編碼器部分采用兩層掩碼局部自注意力及一層全局高斯自注意力機制堆疊而成。掩碼局部自注意力模塊利用了漢文與其對應(yīng)盲文存在相同語序的先驗信息,同時通過punclist掩碼矩陣能夠有效識別標點符號,避免盲文標點符號連寫導(dǎo)致的稀疏性問題,迫使網(wǎng)絡(luò)在該部分聚焦于詞間關(guān)系的建模,從而更容易學(xué)習(xí)到標調(diào)省略規(guī)則。對于極少數(shù)情況,如歇后語、古詩詞等等,網(wǎng)絡(luò)需要整句話的信息才能判斷是否需要省略音節(jié)或連寫,但是仍然遵循著權(quán)重隨中心詞距離增大而遞減的原則。因此,相比一般的掩碼矩陣,高斯掩碼矩陣網(wǎng)絡(luò)更有效地分散注意力。不同于傳統(tǒng)殘差連接,基于上下界的可學(xué)習(xí)參數(shù)殘差連接可由用戶自定義超參數(shù)避免無窮大問題,同時可由網(wǎng)絡(luò)動態(tài)平衡殘差權(quán)重以保護淺層或深層信息。全局高斯自注意力模塊設(shè)計于網(wǎng)絡(luò)更深處,以充分利用深層特征。
74、本發(fā)明的解碼器設(shè)計了自注意力機制下的分組線性變換及雙向互注意力門控融合gru。相比于傳統(tǒng)全連接層,分組線性變換層能夠有效降低參數(shù)量,與自注意力結(jié)合可在一定程度上緩解“維度災(zāi)難”問題,起到多頭注意力的作用,并極大增加訓(xùn)練速度。注意力門控機制能夠深度提取漢文與盲文之間的權(quán)重對應(yīng)關(guān)系,并通過權(quán)重門與更新門動態(tài)判斷其應(yīng)用方法,最終參與到gru單元建模輸出中,提高網(wǎng)絡(luò)推理能力,避免過擬合。