TWI765437B - 中文文字轉譯成台文或台語拼音之系統、方法及電腦可讀媒介 - Google Patents
中文文字轉譯成台文或台語拼音之系統、方法及電腦可讀媒介 Download PDFInfo
- Publication number
- TWI765437B TWI765437B TW109142056A TW109142056A TWI765437B TW I765437 B TWI765437 B TW I765437B TW 109142056 A TW109142056 A TW 109142056A TW 109142056 A TW109142056 A TW 109142056A TW I765437 B TWI765437 B TW I765437B
- Authority
- TW
- Taiwan
- Prior art keywords
- taiwanese
- chinese
- module
- sequence
- pinyin
- Prior art date
Links
Images
Abstract
本發明揭露一種中文文字轉譯成台文或台語拼音之系統及其方法,係由中文編碼模組編碼或處理中文文字之輸入序列,以由注意力模組將中文文字之輸入序列之訊息轉換為上下文向量,再由台文解譯模組解譯上下文向量而產生台文或台語拼音之輸出序列。同時,中文編碼模組、注意力模組與台文解譯模組係共同建立以深度學習為基礎之序列對序列轉譯模型,俾透過序列對序列轉譯模型將中文文字之輸入序列轉譯成台文或台語拼音之輸出序列。本發明另提供一種中文文字轉譯成台文或台語拼音之方法的電腦可讀媒介。
Description
本發明係關於一種中文轉譯技術,特別是指一種中文文字轉譯成台文或台語拼音之系統、方法及電腦可讀媒介。
雖然台語普遍使用於台灣社會,但主流媒體一般是以中文與華語為主,鮮少使用台文或台語,故造成一般人漸漸無法使用台文或台語,尤其是年輕一代大多缺乏台文閱讀與台語發音的能力。
以中文文句「清早起床要向爺爺說“早安”」為例,其對應之台文可以寫成「透早起床愛佮阿公講“敖早”」,其中可能因為有非常用字“敖”而改用拼音“gau”,或是覺得台文之用字並不合適而全句都採用台語拼音之寫法。
又,依據語言分類學判斷一種語言是否為另一種語言的「方言」,所採取的標準通常為「相互理解程度」。以華語與台語為例,不會華語的台語母語語者與不會台語的華語母語語者並無法了解對方的語言;
也就是說台語並非華語的方言,而應視為不同語言,包括文法、用語與發音等都不同。所以,依照傳統先做中文斷詞再查詢華台詞典的轉譯方式,並無法達到「信」、「達」、「雅」的翻譯需求。
因此,亟需一種可以將中文文字轉譯成台文或台語拼音之技術,尤其是可以避開一般人不熟悉的台文輸入,而可直接接受中文文字之輸入以產生台文或台語拼音,俾促進台文或台語之使用。
本發明提供一種創新之中文文字轉譯成台文或台語拼音之系統、方法及電腦可讀媒介,例如能藉由序列對序列轉譯模型以學習中文文字與台文(台語拼音)之序列對序列的關係,或者能將中文文字轉譯成道地又可理解之台文或台語拼音,又或者能結合台華平行語料庫之訓練語料以提升中文文字轉譯成台文或台語拼音之正確率,抑或者能加入注意力模組之注意力機制作為序列對序列轉譯模型之中介處理。
本發明之中文文字轉譯成台文或台語拼音之系統至少包括:中文編碼模組,係用以編碼或處理中文文字之輸入序列;注意力模組,係將中文編碼模組所編碼或處理之中文文字之輸入序列之訊息轉換為上下文向量;以及台文解譯模組,係解譯注意力模組中將中文文字之輸入序列之訊息轉換而成之上下文向量以產生台文或台語拼音之輸出序列,其中,中文編碼模組、注意力模組與台文解譯模組共同建立以深度學習為基礎之序列對序列轉譯模型,俾透過序列對序列轉譯模型將中文文字之輸入序列轉譯成台文或台語拼音之輸出序列。
本發明之中文文字轉譯成台文或台語拼音之方法至少包括:由中文編碼模組編碼或處理中文文字之輸入序列;由注意力模組將中文編碼模組所編碼或處理之中文文字之輸入序列之訊息轉換為上下文向量;以及由台文解譯模組解譯注意力模組中將中文文字之輸入序列之訊息轉換而成之上下文向量以產生台文或台語拼音之輸出序列,其中,中文編碼模組、注意力模組與台文解譯模組共同建立以深度學習為基礎之序列對序列轉譯模型,俾透過序列對序列轉譯模型將中文文字之輸入序列轉譯成台文或台語拼音之輸出序列。
本發明復提供一種電腦可讀媒介,應用於計算裝置或電腦中,係儲存有指令,以執行前述之中文文字轉譯成台文或台語拼音之方法。
為讓本發明之上述特徵與優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明。在以下描述內容中將部分闡述本發明之額外特徵及優點,且此等特徵及優點將部分自所述描述內容可得而知,或可藉由對本發明之實踐習得。應理解,前文一般描述與以下詳細描述二者均為例示性及解釋性,且不欲約束本發明所欲主張之範圍。
1:中文文字轉譯成台文或台語拼音之系統
10:台華平行語料庫
20:中文編碼模組
21、31、41:類神經網路
22、42:節點
30:注意力模組
40:台文解譯模組
50:損失函數計算模組
60:系統最佳化模組
M:序列對序列轉譯模型
S401至S406:步驟
S501至S505:步驟
X:(中文文字)輸入序列
Y:(台文或台語拼音)輸出序列
圖1為本發明之中文文字轉譯成台文或台語拼音之系統中,關於以深度學習為基礎之序列對序列轉譯模型之訓練方式的架構示意圖;
圖2為本發明之中文文字轉譯成台文或台語拼音之系統中,關於序列對序列轉譯模型之應用方式的架構示意圖;
圖3為本發明之中文文字轉譯成台文或台語拼音之系統中,關於類神
經網路的架構示意圖;
圖4為本發明之中文文字轉譯成台文或台語拼音之方法中,關於以深度學習為基礎之序列對序列轉譯模型之訓練方式的流程示意圖;以及
圖5為本發明之中文文字轉譯成台文或台語拼音之方法中,關於序列對序列轉譯模型之應用方式的流程示意圖。
以下藉由特定的具體實施形態說明本發明之實施方式,熟悉此技術之人士可由本說明書所揭示之內容了解本發明之其它優點與功效,亦可因而藉由其它不同的具體等同實施形態加以施行或運用。
如同上述,以中文文句「清早起床要向爺爺說“早安”」為例,其對應之台文可以寫成「透早起床愛佮阿公講“敖早”」,其中可能因為有非常用字“敖”而改用拼音“gau”,或是覺得台文之用字並不合適而全句都採用台語拼音之寫法。因此,相關處理必須藉由華台詞典(如台語詞典)提供基本資訊以進行分析處理,華台詞典之基本資訊可為中文文字(中文字詞)對應之台文或台語拼音,且台語拼音可為台語台羅(Tâi-lô)拼音等。
又,依據語言分類學判斷一種語言是否為另一種語言的「方言」,所採取的標準通常為「相互理解程度」。以華語與台語為例,不會華語的台語母語語者與不會台語的華語母語語者並無法了解對方的語言;也就是說台語並非華語的方言,而應視為不同語言,包括文法、用語與發音等都不同。所以,依照傳統先做中文斷詞再查詢華台詞典(如台語詞典)的轉譯方式,並無法達到「信」、「達」、「雅」的翻譯需求。
例如,下列例句(1)至(4)為不適合直譯處理之中文文字轉譯成台文或台語拼音的例句。(1)中文文字「我不這麼認為。」台文或台語拼音「gua2 bo5 jin7 ui5 an3 ne1」。(2)中文文字「這個東西能用嗎?」台文或台語拼音「tsit4 e5 mih4 a2 kam2 e7 ing7?」(3)中文文字「只看外表,會準嗎?」台文或台語拼音「kan1 na1 khuann3 gua7 piau2,kam2 e7 tsun2?」(4)中文文字「他太太是出身於有錢人家。」台文或台語拼音「in1 thai3 thai3 si7 ho2 giah8 lang5 tshut4 sin1 e5」。因此,本發明係藉由序列對序列(sequence-to-sequence)轉譯模型,以(自動)學習中文文字與台文(台語拼音)之序列對序列的關係,能快速且精確地將中文文字轉譯成道地又可理解之台文或台語拼音。
圖1為本發明之中文文字轉譯成台文或台語拼音之系統1中,關於以深度學習為基礎之序列對序列轉譯模型M之訓練方式的架構示意圖;以及圖2為本發明之中文文字轉譯成台文或台語拼音之系統1中,關於序列對序列轉譯模型M之應用方式的架構示意圖。
如圖所示,本發明之中文文字轉譯成台文或台語拼音之系統1將區分成兩個部份進行說明,第一個部份為如圖1所示以深度學習為基礎之序列對序列轉譯模型M之訓練方式,第二個部份為如圖2所示序列對序列轉譯模型M之應用方式。以下僅說明本發明之技術內容,但不包括習知技術而非本發明之重點部份,例如基本詞類之標示、變調處理等。
如圖1所示,以深度學習為基礎之序列對序列轉譯模型M之訓練方式之處理程序中,中文文字轉譯成台文或台語拼音之系統1至少包括(提供或建置)互相連接或通訊之台華平行語料庫10、中文編碼
(encoder)模組20、注意力(attention)模組30、台文解譯(decoder)模組40、損失函數(loss function)計算模組50、系統最佳化(optimizer)模組60,且此一個語料庫(10)之建置與五個模組(20/30/40/50/60)之處理工作為序列對序列轉譯模型M之訓練方式的核心處理程序。
例如,中文編碼模組20可為中文編碼器、中文編碼晶片、中文編碼電路、中文編碼軟體(程式)等,注意力模組30可為注意力軟體(程式)等,台文解譯模組40可為台文解譯器、台文解譯晶片、台文解譯電路、台文解譯軟體(程式)等,損失函數計算模組50可為損失函數計算器、損失函數計算晶片、損失函數計算電路、損失函數計算軟體(程式)等,系統最佳化模組60可為系統最佳化軟體(程式)等。但是,本發明並不以此為限。
本發明採用中文編碼模組20(如中文編碼器)與台文解譯模組40(如台文解譯器)之架構以分別進行中文編碼與台文解譯,其運作方式為:先由中文編碼模組20(如中文編碼器)編碼或處理中文文字之輸入序列X,再由注意力模組30將中文編碼模組20所編碼或處理之中文文字之輸入序列X之訊息轉換為上下文向量(context vector),進而由台文解譯模組40(如台文解譯器)解譯注意力模組30將中文文字之輸入序列X之訊息轉換而成之上下文向量以產生台文或台語拼音之輸出序列Y(目標序列輸出)。同時,台華平行語料庫10、中文編碼模組20、注意力模組30、台文解譯模組40、損失函數計算模組50及/或系統最佳化模組60係共同建立以深度學習為基礎之序列對序列轉譯模型M,俾透過序列對序列轉譯模型M將中文文字之輸入序列X轉譯成台文或台語拼音之輸出序列Y。
在一實施例中,中文編碼模組20、注意力模組30或台文解譯模組40均可使用卷積式神經網路(Convolutional Neural Network;CNN)、循環神經網路(Recurrent neural network;RNN)、或長短期記憶網路(Long Short Term Memory Network;LSTM)等類神經網路21/31/41之架構或機制進行建置。長短期記憶網路(LSTM)可為一種時間循環神經網路(RNN),卷積式神經網路(CNN)之作法是以階層架構有效地處理中文文字之輸入序列X之間不同層次的訊息;而循環神經網路(RNN)之作法是持續地將前一時刻之輸出作為當前時刻之輸入,以循環解碼直到輸出停止符號(如<end>)為止。又,中文編碼模組20之類神經網路21之多個節點22可依序連接台文解譯模組40之類神經網路41之多個節點42。注意力模組30之作用即為建置中文編碼模組20與台文解譯模組40之節點間之連接,且連接之作法可為全域注意力或局部注意力,甚至於更複雜的階層式注意力機制。
台華平行語料庫10之建置:可建置足夠規模之台華平行語料庫10以作為序列對序列轉譯模型M之訓練語料庫,台華平行語料庫10之格式為一對一之中文文字對台文或台語拼音,且台華平行語料庫10之內容包括新聞、故事、俗諺等各項資料。由於各項資料所採用之拼音系統並不相同,例如拼音系統有教育部台灣閩南語羅馬字拼音系統、教會羅馬字拼音系統、或白話字等,故需依照選定之拼音系統,針對拼音系統之所有資料進行轉換處理,以利中文文字轉譯成台文或台語拼音之系統1學習如何將中文文字轉譯成台文或台語拼音。如下列表1所示,台華平行語料庫10之範例可包括中文文字與台文(台語拼音)間之字、詞、句等內容之一對一對應(即一對一之對應關係)。
中文編碼模組20之處理:包括兩項處理,第一項處理為中文編碼模組20具有至少一或多個轉譯處理模式(如第一/第二/第三轉譯處理模式),以依據至少一或多個轉譯處理模式之設計確定轉譯處理模式(如
被選擇之轉譯處理模式)為處理或涵蓋字、詞、詞類其中一者或多者,俾利用被選擇之轉譯處理模式依據中文文字之輸入序列X產生或組成文脈向量。亦即,台華平行語料庫10所提供之中文文字之輸入序列X(例如:大家好,我是講台語的機器人)可經由中文編碼模組20進行分析,以由中文編碼模組20自中文文字之輸入序列X中萃取出文脈特徵,文脈特徵的組成方式包括分別以中文文字之輸入序列X之字、詞、片語為單位而擷取此字、詞、片語之前後相鄰字詞或詞類等特徵,所擷取之範圍也可以視需要再擴大。第二項處理則是中文編碼模組20利用類神經網路21將第一項處理所產生或組成之文脈向量進行編碼之處理,再將文脈向量之編碼結果(編碼後之輸出)輸入至注意力模組30。
注意力模組30之處理:針對以中文編碼模組20(如中文編碼器)與台文解譯模組40(如台文解譯器)之架構為基礎的序列對序列轉譯模型M而言,上下文向量為影響序列對序列轉譯模型M之效能的重要關鍵。為有效利用上下文向量所提供之資訊,注意力模組30可在中文編碼模組20與台文解譯模組40之間加入注意力機制作為序列對序列轉譯模型M之中介處理,以使中文文字之輸入序列X通過中文編碼模組20(如中文編碼器)之處理與注意力模組30(類神經網路31)之處理而產生或組成上下文向量。引入注意力模組30之注意力機制之目標是將翻譯處理與對齊處理進行聯合學習,能在解譯中文文字之輸入序列X之不同字詞時,考量中文文字之輸入序列X中的不同字詞應會有不同的貢獻度。為進行翻譯處理與對齊處理之聯合學習,注意力模組30可將來自中文編碼模組20之文脈向量
之編碼結果與來自台華平行語料庫10之目標台文或台語拼音之輸出進行對應處理,以由注意力模組30依據對應處理之結果(自動)學習出中文文脈與台語文脈兩者之單元間的對應權重(alignment weights)。
台文解譯模組40之處理:中文編碼模組20對中文文字之輸入序列X之處理結果經過注意力模組30之處理以給予適當的權重,再由注意力模組30將所產生或組成之上下文向量將透過台文解譯模組40(類神經網路41)解譯成台文或台語拼音之輸出序列Y(例如:Tak8 ke ho2,goa2 si7 kong2 tai5 gi2 e5 ki khi3 lang5)。
損失函數計算模組50之處理:在中文編碼模組20、注意力模組30與台文解譯模組40三者之處理過程中,損失函數計算模組50將中文編碼模組20、注意力模組30或台文解譯模組40(類神經網路21/31/41)所解譯出之台文或台語拼音比對台華平行語料庫10所提供之台文或台語拼音的標準答案,且損失函數計算模組50能於比對過程中計算出中文編碼模組20、注意力模組30或台文解譯模組40(類神經網路21/31/41)所解譯之台文或台語拼音相較於台華平行語料庫10所提供之台文或台語拼音的標準答案的損失函數,以利損失函數計算模組50依據損失函數評估中文文字轉譯成台文或台語拼音之效能,亦能提供系統最佳化模組60對中文文字轉譯成台文或台語拼音之系統1之中文編碼模組20、注意力模組30、台文解譯模組40進行最佳化處理所需之參考資料。
系統最佳化模組60之處理:系統最佳化模組60係依據損失函數計算模組50計算所得之損失函數,採用梯度下降(gradient descent)演算法與反向傳播(back propagation)演算法且以迭代(iteration)方式反覆調
整中文編碼模組20、注意力模組30或台文解譯模組40之類神經網路21/31/41之各項權重參數,以利於最小化損失函數,亦利於最佳化中文文字轉譯成台文或台語拼音之系統1之中文編碼模組20、注意力模組30、台文解譯模組40。梯度下降演算法是指序列對序列轉譯模型M之訓練過程中,針對損失函數進行微分運算且以迭代方式調整相關權重參數之處理。反向傳播演算法可為誤差反向傳播(error back propagation)演算法,並可與梯度下降演算法之最佳化方法結合使用,且反向傳播演算法是通過類神經網路21/31/41由後向前傳播誤差,針對類神經網路21/31/41中所有的權重參數計算損失函數之梯度與進行優化。
如圖2所示,第二個部份為有關序列對序列轉譯模型M之應用方式,利用第一個部份之序列對序列轉譯模型M之訓練方式所完成建置之中文編碼模組20、注意力模組30與台文解譯模組40,即可進行中文文字轉譯成台文或台語拼音之處理。亦即,中文文字之輸入序列X(例如:大家好,我是講台語的機器人)依序經過中文編碼模組20、注意力模組30與台文解譯模組40三者之處理,即可產生台文或台語拼音之輸出序列Y。
因此,本發明係提供自動將中文文字轉譯成台文或台語拼音的自然語言分析處理方式,利用序列對序列轉譯模型M分析台華平行語料庫10,快速且精確地學習如何將中文文字轉譯成相對應的台文或台語拼音,包括由中文文字產生台語發音、台語斷詞、台語文法詞類、台語專有名詞等資訊。
同時,本發明係解決下列[1]與[2]兩個層次之難度。[1]由於台文使用不便的問題,以致於所使用之華台詞典(如台語詞典)會有一個中
文詞對應多個台語拼音(台語講法)之現象,此為中文與台文之用語的差異問題。因此,決定待處理之中文文句中所有中文文字(中文字詞)的台語發音,就必須依靠鄰近字詞乃至整個句子的資訊。[2]有關中文文字之輸入序列X轉譯成台文或台語拼音之輸出序列Y之處理,就自然語言領域而言,中文文字之輸入序列X與台文或台語拼音之輸出序列Y兩者可以是句子、段落或篇章,兩者之長度可以不同,兩者之相關字詞的順序也可以不同,此為中文與台文在文法上的差異問題。本發明藉由序列對序列轉譯模型M並結合台華平行語料庫10(見圖1)所提供之充分的訓練語料,可以解決上述用語差異與文法差異之問題,以有效提升中文文字轉譯成台文或台語拼音之正確率。
圖3為本發明圖1至圖2之中文文字轉譯成台文或台語拼音之系統1中,關於類神經網路21/31/41的架構示意圖;以及圖4為本發明之中文文字轉譯成台文或台語拼音之方法中,關於以深度學習為基礎之序列對序列轉譯模型M之訓練方式的流程示意圖。而且,此中文文字轉譯成台文或台語拼音之方法之主要技術內容如下,其餘內容相同於上述圖1至圖2之說明,於此不再重覆敘述。
以下將就序列對序列轉譯模型M之訓練方式進行實施例之說明,且序列對序列轉譯模型M可使用卷積式神經網路(CNN)、循環神經網路(RNN)或長短期記憶網路(LSTM)等類神經網路21/31/41進行建置,本發明之實施例將以循環神經網路(RNN)為基礎進行說明,但不以此為限。在序列對序列轉譯模型M之訓練方式的實施例中,至少包括圖4之步驟S401至步驟S406所示台華平行語料庫10之建置、中文編碼模組20之處
理、注意力模組30之處理、台文解譯模組40之處理、損失函數計算模組50之處理、系統最佳化模組60之處理。
圖4之步驟S401與圖1所示係台華平行語料庫10之建置。可建置足夠規模之台華平行語料庫10以作為序列對序列轉譯模型M之訓練語料庫,台華平行語料庫10之格式為一對一之中文文字對台文或台語拼音,且台華平行語料庫10之內容包括新聞、故事、俗諺等各項資料。由於各項資料所採用之拼音系統並不相同,故需依照選定之拼音系統,針對拼音系統之所有資料進行轉換處理,以利中文文字轉譯成台文或台語拼音之系統1學習如何將中文文字轉譯成台文或台語拼音。
另外,為確保台華平行語料庫10之正確性,台華平行語料庫10之相關資料必須經過人工校正,以檢查台華平行語料庫10之中文文字(中文字詞)與對應之台文(台語拼音)是否正確,且剔除多餘的解釋說明敘述與符號。此台華平行語料庫10之建置工作可視為序列對序列轉譯模型M之訓練語料(訓練語料庫)之基本處理,後續將會依據不同的轉譯處理模式之設計或選擇,針對訓練語料加以處理以決定文脈向量之組成。另外,可利用台華平行語料庫10以批次(batch)方式進行序列對序列轉譯模型M之建置。
圖4之步驟S402與圖1(圖3)所示係中文編碼模組20之處理。中文編碼模組20之處理包括兩項處理,且中文編碼模組20之第一項處理與下方表2、表3、表4所示之三種不同的轉譯處理模式有關。中文編碼模組20之第二項處理、注意力模組30之處理與台文解譯模組40之處理可使用類神經網路21/31/41之架構予以建置,以下將參照圖3所示之類
神經網路21/31/41的架構示意圖說明中文編碼模組20、注意力模組30與台文解譯模組40三者之處理。
申言之,中文編碼模組20之第一項處理為依據不同的轉譯處理模式之設計或選擇,以確定被選擇之轉譯處理模式是否處理或涵蓋字、詞、詞類等不同層面之資訊,俾利用被選擇之轉譯處理模式依據中文文字之輸入序列X產生或組成文脈向量。亦即,台華平行語料庫10所提供之中文文字之輸入序列X如[X1、X2、X3、......、XT])可經由中文編碼模組20進行分析,以由中文編碼模組20自中文文字之輸入序列X中萃取出文脈特徵,文脈特徵的組成方式包括分別以中文文字之輸入序列X之字、詞、片語為單位而擷取此字、詞、片語之前後相鄰字詞或詞類等特徵,所擷取之範圍也可以視需要再擴大。以下為中文編碼模組20所採用的幾種轉譯處理模式,例如第一轉譯處理模式、第二轉譯處理模式、第三轉譯處理模式。
中文編碼模組20之第一轉譯處理模式:包括中文轉台語之斷詞、發音與詞類,其訓練資料如下列表2所述之一對一的中文詞串(中文文字)與台語拼音序列(台文或台語拼音)。
中文編碼模組20在第一轉譯處理模式中,將利用中文自然語言剖析器(圖未示)進行中文斷詞與詞類標記,以產生對應之台文斷詞、詞類與台語發音之資訊。此第一轉譯處理模式之輸入格式或輸出格式如下,其中拼音符號後之數字表示台語聲調值,「^」符號後之B、I、E、S分別表示詞首、詞中、詞尾與單字詞等斷詞資訊,而「/」符號之後則為詞類資訊。例如,第一轉譯處理模式之輸入格式為「傅達仁今將執行安樂死,卻突然爆出自己20年前遭緯來體育台封殺,他不懂自己哪裡得罪到電視台。」,
且第一轉譯處理模式之輸出格式為「poo3^B/Nb tat8^I/Nb jin5^E/Nb kim1^S/Nd tsiong3^S/D tsip4^B/VC hing5^E/VC an^B/Na lok8^I/Na si2^E/Na,khiok^S/D tut8^B/D jian5^E/D pok8^B/VJ chhut^E/VJ ka^B/Nh ki7^E/Nh ji7^B/Neu tsap8^E/Neu ni5^S/Nf tsing5^S/Ng cho^S/P hu7i^B/Nb la5i^E/Nb the2^B/Na iok8^I/Na tai5^E/Na hong^B/VC sat^E/VC,i^S/Nh m7^S/D bat1^S/VK ka^B/Nh ki7^E/Nh to2^B/Ncd ui7^E/Ncd tik1^B/VJ tsue7^I/VJ tioh8^E/VJ tian7^B/Nc si7^I/Nc tai5^E/Nc.」。
中文編碼模組20之第二轉譯處理模式:包括中文轉台語發音,其訓練資料如下列表3所述之一對一的中文字元串(中文文字)與台語拼音序列(台文或台語拼音)。
中文編碼模組20在第二轉譯處理模式中,並不利用中文自然語言剖析器進行中文斷詞與詞類標記,而是直接利用中文字元串,台語發音之部份也不保留斷詞資訊。例如,此第二轉譯處理模式之輸入格式為「中央流行疫情指揮中心,今日表示,國內無新增確診個案。」,且第二轉譯處理模式之輸出格式為「Tiong iang liu5 heng5 ek8 cheng5 chi2 hui tiong sim,kin a2 jit8 piau2 si7,kok lai7 bo5 sin cheng khak tsin2 ko3 an3.」。
中文編碼模組20之第三轉譯處理模式:包括中文轉台語之斷詞與台語發音,其訓練資料格式如下列表4所述之一對一的中文字元串(中文文字)與台語詞序列(台文或台語拼音)。
中文編碼模組20在第三轉譯處理模式中,並不利用中文自然語言剖析器進行中文斷詞與詞類標記,而是直接利用中文字元串,台語發音之部份則保留斷詞資訊。例如,此第三轉譯處理模式之輸入格式為「里長的言論在PTT引發熱議許多網友紛紛留言。」,且第三轉譯處理模式之輸出格式為「li2-tiunn2-e5 gian5-lun7 ti7 PTT in2-huat4 jiat8-gi7 tsiann5-tse7 bang7-iu2 hun1-hun1-liu5-gian5.」。
中文編碼模組20對以上第一轉譯處理模式、第二轉譯處理模式、第三轉譯處理模式等三種不同轉譯處理模式之選擇,將會影響文脈向量之組成。第二轉譯處理模式僅考量字資訊(字層面之資訊),第三轉譯處理模式考量字資訊與詞資訊(詞層面之資訊),第一轉譯處理模式則考量字資訊、詞資訊與詞類資訊(詞類層面之資訊)。中文編碼模組20之轉譯處理
模式並不僅限於以上三種,仍可考量加入詞頻或更高階之語法特徵以設計更複雜的轉譯處理模式,並評估不同轉譯處理模式對轉譯系統之效能影響,依上述方式所組成之中文文句的文脈向量可為圖3所示之中文文字之輸入序列X如[X1、X2、X3、......、XT],其中T表示最後時間點。
中文編碼模組20之第二項處理是利用類神經網路21將第一項處理所產生或組成之文脈向量進行編碼之處理,再將文脈向量之編碼結果(編碼後之輸出)輸入至注意力模組30。中文編碼模組20之類神經網路21可採用如圖3所示之循環神經網路(如雙向循環神經網路;bi-direction RNN)之架構,其正向與反向之隱藏層之輸出再以串連方式組合作為中文編碼模組20之輸出,其中h1、h2、h3、...、hT表示循環神經網路(如雙向循環神經網路)之隱藏層狀態,T表示最後時間點。
圖4之步驟S403與圖1(圖3)所示係注意力模組30之處理。注意力模組30可對翻譯處理與對齊處理進行聯合學習,即針對中文編碼模組20(如中文編碼器)之輸出(文脈向量之編碼結果)與台華平行語料庫10之目標台文或台語拼音之輸出進行對應處理,以由注意力模組30依據對應處理之結果(自動)學習出中文文脈與台語文脈兩者之單元間的對應權重,再提供後續之台文解譯模組40(如台文解譯器)進行最佳解碼。
注意力模組30可以前饋式神經網路(feedforward neural network)為主,並可包括選擇性的條件規則。例如,注意力模組30可採用前饋式神經網路之類的類神經網路31予以建置,並採取全域注意力(global attention)之機制,也就是說注意力模組30解碼任一詞時均與中文文字之輸入序列X之所有詞有關。而且,依照此全域注意力之機制計算所得之權
重值或權重大小即可區別中文文字之輸入序列X中各詞之貢獻度,但若考量執行速度,仍可加入適當的條件以限制注意力模組30之考量範圍,亦即能將作法由全域注意力之機制調整為局部注意力(local attention)之機制以依據所得之權重值或權重大小區別中文文字之輸入序列X中各詞之貢獻度。
以下參照圖1之例句進一步說明圖3所示注意力模組30之注意力機制,假設輸入字串為「我是講台語的機器人」與目標字串為「goa si kong tai gi e ki khi lang」,若以詞為單位進行解碼,注意力模組30在解碼目標字串中之「tai gi」時,輸入字串中之「台語」提供的權重相較其它詞的權重應該更大些,故各詞及其對應權重經正規化後可能為(我,0.15)、(是,0.05)、(講,0.2)、(台語,0.4)、(的,0.05)、(機器人,0.15)。而注意力模組30在解碼目標字串中之「ki khi lang」時,輸入字串中之「機器人」提供的權重相較其它詞的權重應該更大些,故各詞及其對應權重經正規化後可能為(我,0.1)、(是,0.05)、(講,0.1)、(台語,0.2)、(的,0.05)、(機器人,0.5)。
因此,透過上述圖4之步驟S402所示之中文編碼模組20之處理與步驟S403所示之注意力模組30之處理後,即能依據中文文字之輸入序列X產生上下文向量,且此上下文向量所對應之權重向量並非固定,也就是此上下文向量所對應之權重向量會與當前所解碼之詞的位置有關,而經由此種位置相關的注意力機制(location sensitive attention)所產生的上下文向量即稱為動態上下文向量(dynamic context vector)。在圖3所示之注意力模組30之類神經網路31中,a表示權重參數(如整體對齊之權重參數),t表示變動時間點,T表示最後時間點。
圖4之步驟S404與圖3所示係台文解譯模組40之處理。台文解譯模組40之類神經網路41可採用循環神經網路(如單向循環神經網路RNN)之架構,在進行任一詞之解碼時所需之輸入為前一詞之隱藏層之輸出與當前所解碼之詞之上下文向量,台文解譯模組40之輸出結果為台文或台語拼音之輸出序列Y,如[...、Yt-2、Yt-1、Yt、...]。在圖3所示之台文解譯模組40之類神經網路41與台文或台語拼音之輸出序列Y中,s表示循環神經網路(如單向循環神經網路RNN)之隱藏層狀態,t表示變動時間點。
圖4之步驟S405與圖1所示係損失函數計算模組50之處理。在上述步驟S402至步驟S404之中文編碼模組20、注意力模組30與台文解譯模組40三者之處理過程中,損失函數計算模組50可將中文編碼模組20、注意力模組30、台文解譯模組40(類神經網路21/31/41)所解譯出之台文或台語拼音比對台華平行語料庫10所提供之台文或台語拼音的標準答案,且損失函數計算模組50可於比對過程中計算中文編碼模組20、注意力模組30、台文解譯模組40(類神經網路21/31/41)所解譯出之台文或台語拼音相較於台華平行語料庫10所提供之台文或台語拼音的標準答案的損失函數,以利損失函數計算模組50依據損失函數評估中文文字轉譯成台文或台語拼音之效能,並提供系統最佳化模組60依據損失函數對中文文字轉譯成台文或台語拼音之系統1之中文編碼模組20、注意力模組30、台文解譯模組40進行最佳化處理所需之參考資料。
損失函數計算模組50所計算之損失函數可以有多種選擇,例如字錯誤率(character error rate;CER)、詞錯誤率(word error rate;WER)
等。以詞錯誤率(WER)為例,應包括(1)被其它台文所取代、(2)插入多餘台文、(3)遺失或缺漏台文等三項錯誤,透過統計此三項錯誤之數量所計算出的詞錯誤率(WER),即可作為損失函數。
圖4之步驟S406與圖1所示係系統最佳化模組60之處理。系統最佳化模組60能依據損失函數計算模組50計算所得之損失函數,採用梯度下降(gradient descent)與反向傳播(back propagation)演算法且以迭代(iteration)方式反覆調整中文編碼模組20、注意力模組30或台文解譯模組40(類神經網路21/31/41)之各項參數與權重,以利於最小化損失函數,亦利於最佳化中文文字轉譯成台文或台語拼音之系統1之中文編碼模組20、注意力模組30、台文解譯模組40。
圖5為本發明之中文文字轉譯成台文或台語拼音之方法中,關於序列對序列轉譯模型M之應用方式的流程示意圖,並參閱圖1至圖4予以說明。
如圖5所示,可利用上述圖1(圖4)所示第一個部份之序列對序列轉譯模型M之訓練方式所完成建置之中文編碼模組20、注意力模組30與台文解譯模組40,以進行中文文字轉譯成台文或台語拼音之處理。亦即,可將中文文字之輸入序列X(見步驟S501)依序經過中文編碼模組20之處理(見步驟S502)、注意力模組30(見步驟S503)之處理與台文解譯模組40之處理(見步驟S504),即可產生台文或台語拼音之輸出序列Y(見步驟S505)。
另外,本發明還提供一種中文文字轉譯成台文或台語拼音之方法的電腦可讀媒介,係應用於具有處理器(例如,CPU、GPU等)及/或記憶體
的計算裝置或電腦中,且儲存有指令,並可利用此計算裝置或電腦透過處理器及/或記憶體執行此電腦可讀媒介,以於執行此電腦可讀媒介時執行上述內容。
綜上,本發明之中文文字轉譯成台文或台語拼音之系統、方法及電腦可讀媒介係至少具有下列特色、優點或技術功效。
一、本發明係藉由序列對序列轉譯模型,以(自動)學習中文文字與台文(台語拼音)之序列對序列的關係,能快速且精確地將中文文字轉譯成道地又可理解之台文或台語拼音。
二、本發明藉由序列對序列轉譯模型並結合台華平行語料庫所提供之充分的訓練語料,以有效提升中文文字轉譯成台文或台語拼音之正確率。
三、本發明為有效利用上下文向量所提供之資訊,在中文編碼模組與台文解譯模組之間加入注意力模組之注意力機制作為序列對序列轉譯模型之中介處理,以利注意力模組將翻譯處理與對齊處理進行聯合學習,亦能在解譯中文文字之輸入序列之不同字詞時,考量中文文字之輸入序列中的不同字詞的不同貢獻度。
四、本發明之注意力模組係將中文編碼模組之文脈向量之編碼結果與台華平行語料庫之目標台文或台語拼音之輸出進行對應處理,以利注意力模組依據對應處理之結果(自動)學習出中文文脈與台語文脈兩者之單元間的對應權重。
五、本發明之損失函數計算模組係於比對過程中計算中文編碼模組、注意力模組、台文解譯模組(類神經網路)所解譯出之台文或台語拼音相較於台華平行語料庫所提供之台文或台語拼音的標準答案的損失函數,
以利損失函數計算模組依據損失函數評估中文文字轉譯成台文或台語拼音之效能,亦利系統最佳化模組依據損失函數對中文文字轉譯成台文或台語拼音之系統之中文編碼模組、注意力模組、台文解譯模組進行最佳化處理所需之參考資料。
六、本發明之系統最佳化模組係依據損失函數計算模組計算所得之損失函數,並採用梯度下降演算法與反向傳播演算法且以迭代式反覆調整中文編碼模組、注意力模組或台文解譯模組之類神經網路的各項權重參數,有利於最小化損失函數,亦利於最佳化中文文字轉譯成台文或台語拼音之系統之中文編碼模組、注意力模組、台文解譯模組。
七、本發明隨著智慧互動TTS(Text-to-Speech;文字轉語音)之服務應用需求日益增加,使用台語TTS(文字轉語音)之機會增多及時間增長,以建立高品質之語音合成技術,亦提升中文文字轉譯成台文或台語拼音之正確率。
八、本發明應用之產業係例如為客服IVR(Interactive Voice Response;互動式語音應答)、Call Out(撥出)服務中的動態語音輸出、行動多媒體互動加值服務等,如新聞朗讀、住址查詢回應、天氣預報播報、生活資訊簡報等。而且,本發明應用之產品係例如雲端TTS(文字轉語音)服務等,如客服或UMS(Unified Message System;整合訊息系統)之IVR(互動式語音應答)、新聞、語意雲等。同時,本發明之相關應用可包括台語語音播報、長青族服務、母語學習等,亦能進一步應用於台語自然語言分析、語音合成等。但是,本發明並不以此為限。
上述實施形態僅例示性說明本發明之原理、特點及其功效,並非用以限制本發明之可實施範疇,任何熟習此項技藝之人士均能在不違背本發明之精神及範疇下,對上述實施形態進行修飾與改變。任何使用本發明所揭示內容而完成之等效改變及修飾,均仍應為申請專利範圍所涵蓋。因此,本發明之權利保護範圍應如申請專利範圍所列。
1:中文文字轉譯成台文或台語拼音之系統
10:台華平行語料庫
20:中文編碼模組
21、31、41:類神經網路
22、42:節點
30:注意力模組
40:台文解譯模組
50:損失函數計算模組
60:系統最佳化模組
M:序列對序列轉譯模型
X:(中文文字)輸入序列
Y:(台文或台語拼音)輸出序列
Claims (21)
- 一種中文文字轉譯成台文或台語拼音之系統,包括:中文編碼模組,係用以編碼或處理中文文字之輸入序列;注意力模組,係將該中文編碼模組所編碼或處理之該中文文字之輸入序列之訊息轉換為上下文向量;以及台文解譯模組,係解譯該注意力模組中將該中文文字之輸入序列之訊息轉換而成之該上下文向量以產生台文或台語拼音之輸出序列,其中,該中文編碼模組、注意力模組與台文解譯模組共同建立以深度學習為基礎之序列對序列轉譯模型,俾透過該序列對序列轉譯模型將該中文文字之輸入序列轉譯成該台文或台語拼音之輸出序列。
- 如請求項1所述之系統,其中,該中文編碼模組、注意力模組或台文解譯模組係使用卷積式神經網路、循環神經網路或長短期記憶網路,建立該序列對序列轉譯模型。
- 如請求項1所述之系統,其中,該中文編碼模組係具有至少一轉譯處理模式,以依據該轉譯處理模式之設計確定該轉譯處理模式為處理字、詞與詞類其中一者或多者,俾利用該轉譯處理模式依據該中文文字之輸入序列產生或組成文脈向量。
- 如請求項1所述之系統,其中,該注意力模組更在該中文編碼模組與該台文解譯模組之間加入注意力機制作為該序列對序列轉譯模型之中介處理,以使該中文文字之輸入序列通過該中文編碼模組之處理與該注意力模組之處理而產生或組成該上下文向量。
- 如請求項1所述之系統,其中,該注意力模組更將來自該中文編碼模組之文脈向量之編碼結果與來自台華平行語料庫之目標台文或 台語拼音之輸出進行對應處理,以由該注意力模組依據對應處理之結果學習出中文文脈與台語文脈兩者之單元間的對應權重。
- 如請求項1所述之系統,其中,該注意力模組係採用前饋式神經網路予以建置,且採取全域注意力或局部注意力之機制以依據該機制所得之權重值區別該中文文字之輸入序列中各詞之貢獻度。
- 如請求項1所述之系統,其中,該中文編碼模組對該中文文字之輸入序列之處理結果經過該注意力模組之處理以給予權重,再由該注意力模組將所產生或組成之該上下文向量透過該台文解譯模組解譯成該台文或台語拼音之輸出序列。
- 如請求項1所述之系統,更包括台華平行語料庫,係作為該序列對序列轉譯模型之訓練語料庫,且該台華平行語料庫之格式為一對一之中文文字對台文或台語拼音。
- 如請求項1所述之系統,更包括損失函數計算模組,係將該中文編碼模組、注意力模組或台文解譯模組所解譯出之台文或台語拼音比對台華平行語料庫所提供之台文或台語拼音的標準答案,以由該損失函數計算模組計算出該中文編碼模組、注意力模組或台文解譯模組所解譯之台文或台語拼音相較於該台華平行語料庫所提供之台文或台語拼音的標準答案的損失函數。
- 如請求項9所述之系統,更包括系統最佳化模組,係依據該損失函數計算模組計算所得之該損失函數,採用梯度下降演算法與反向傳播演算法且以迭代方式反覆調整該中文編碼模組、注意力模組或台文解譯模組之類神經網路之權重參數。
- 一種中文文字轉譯成台文或台語拼音之方法,包括:由中文編碼模組編碼或處理中文文字之輸入序列;由注意力模組將該中文編碼模組所編碼或處理之該中文文字之輸入序列之訊息轉換為上下文向量;以及由台文解譯模組解譯該注意力模組中將該中文文字之輸入序列之訊息轉換而成之該上下文向量以產生台文或台語拼音之輸出序列,其中,該中文編碼模組、注意力模組與台文解譯模組共同建立以深度學習為基礎之序列對序列轉譯模型,俾透過該序列對序列轉譯模型將該中文文字之輸入序列轉譯成該台文或台語拼音之輸出序列。
- 如請求項11所述之方法,其中,該中文編碼模組、注意力模組或台文解譯模組係使用卷積式神經網路、循環神經網路或長短期記憶網路,建立該序列對序列轉譯模型。
- 如請求項11所述之方法,更包括由該中文編碼模組依據至少一轉譯處理模式之設計確定該轉譯處理模式為處理字、詞與詞類其中一者或多者,以利用該轉譯處理模式依據該中文文字之輸入序列產生或組成文脈向量。
- 如請求項11所述之方法,更包括由該注意力模組在該中文編碼模組與該台文解譯模組之間加入注意力機制作為該序列對序列轉譯模型之中介處理,以使該中文文字之輸入序列通過該中文編碼模組之處理與該注意力模組之處理而產生或組成該上下文向量。
- 如請求項11所述之方法,更包括由該注意力模組將來自該中文編碼模組之文脈向量之編碼結果與來自台華平行語料庫之目標台文或台語拼音之輸出進行對應處理,以由該注意力模組依據對應處理之結果學習出中文文脈與台語文脈兩者之單元間的對應權重。
- 如請求項11所述之方法,更包括採用前饋式神經網路建置該注意力模組,且該注意力模組採取全域注意力或局部注意力之機制以依據該機制所得之權重值區別該中文文字之輸入序列中各詞之貢獻度。
- 如請求項11所述之方法,更包括由該中文編碼模組對該中文文字之輸入序列之處理結果經過該注意力模組之處理以給予權重,再由該注意力模組將所產生或組成之該上下文向量透過該台文解譯模組解譯成該台文或台語拼音之輸出序列。
- 如請求項11所述之方法,更包括將台華平行語料庫作為該序列對序列轉譯模型之訓練語料庫,且該台華平行語料庫之格式為一對一之中文文字對台文或台語拼音。
- 如請求項11所述之方法,更包括由損失函數計算模組將該中文編碼模組、注意力模組或台文解譯模組所解譯出之台文或台語拼音比對台華平行語料庫所提供之台文或台語拼音的標準答案,以由該損失函數計算模組計算出該中文編碼模組、注意力模組或台文解譯模組所解譯之台文或台語拼音相較於該台華平行語料庫所提供之台文或台語拼音的標準答案的損失函數。
- 如請求項19所述之方法,更包括由系統最佳化模組依據該損失函數計算模組計算所得之該損失函數,採用梯度下降演算法與反向傳播演算法且以迭代方式反覆調整該中文編碼模組、注意力模組或台文解譯模組之類神經網路之權重參數。
- 一種電腦可讀媒介,應用於計算裝置或電腦中,係儲存有指令,以執行如請求項11至20項任一項所述之中文文字轉譯成台文或台語拼音之方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109142056A TWI765437B (zh) | 2020-11-30 | 2020-11-30 | 中文文字轉譯成台文或台語拼音之系統、方法及電腦可讀媒介 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109142056A TWI765437B (zh) | 2020-11-30 | 2020-11-30 | 中文文字轉譯成台文或台語拼音之系統、方法及電腦可讀媒介 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI765437B true TWI765437B (zh) | 2022-05-21 |
TW202223727A TW202223727A (zh) | 2022-06-16 |
Family
ID=82594482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109142056A TWI765437B (zh) | 2020-11-30 | 2020-11-30 | 中文文字轉譯成台文或台語拼音之系統、方法及電腦可讀媒介 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI765437B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201224793A (en) * | 2010-12-01 | 2012-06-16 | Inventec Corp | System and method for dialect translation |
US9899020B2 (en) * | 2015-02-13 | 2018-02-20 | Facebook, Inc. | Machine learning dialect identification |
CN109271643A (zh) * | 2018-08-08 | 2019-01-25 | 北京捷通华声科技股份有限公司 | 一种翻译模型的训练方法、翻译方法和装置 |
CN111028824A (zh) * | 2019-12-13 | 2020-04-17 | 厦门大学 | 一种用于闽南语的合成方法及其装置 |
-
2020
- 2020-11-30 TW TW109142056A patent/TWI765437B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201224793A (en) * | 2010-12-01 | 2012-06-16 | Inventec Corp | System and method for dialect translation |
US9899020B2 (en) * | 2015-02-13 | 2018-02-20 | Facebook, Inc. | Machine learning dialect identification |
CN109271643A (zh) * | 2018-08-08 | 2019-01-25 | 北京捷通华声科技股份有限公司 | 一种翻译模型的训练方法、翻译方法和装置 |
CN111028824A (zh) * | 2019-12-13 | 2020-04-17 | 厦门大学 | 一种用于闽南语的合成方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
TW202223727A (zh) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11915692B2 (en) | Facilitating end-to-end communications with automated assistants in multiple languages | |
US11354521B2 (en) | Facilitating communications with automated assistants in multiple languages | |
CN107705787A (zh) | 一种语音识别方法及装置 | |
KR20180001889A (ko) | 언어 처리 방법 및 장치 | |
KR20180017622A (ko) | 병렬 처리에 기초한 번역 방법 및 장치 | |
CN108932226A (zh) | 一种对无标点文本添加标点符号的方法 | |
CN110070855B (zh) | 一种基于迁移神经网络声学模型的语音识别系统及方法 | |
KR101627428B1 (ko) | 딥 러닝을 이용하는 구문 분석 모델 구축 방법 및 이를 수행하는 장치 | |
CN112364658A (zh) | 翻译以及语音识别方法、装置、设备 | |
Păiş et al. | Capitalization and punctuation restoration: a survey | |
Sakti et al. | A-STAR: Toward translating Asian spoken languages | |
KR20240006688A (ko) | 다국어 문법 오류 정정 | |
CN112395892B (zh) | 基于指针生成网络实现占位符消歧的蒙汉机器翻译方法 | |
TWI765437B (zh) | 中文文字轉譯成台文或台語拼音之系統、方法及電腦可讀媒介 | |
KR20230158107A (ko) | 효율적인 스트리밍 비-순환 온-디바이스 엔드-투-엔드 모델 | |
US7831549B2 (en) | Optimization of text-based training set selection for language processing modules | |
Mounika et al. | Automatic Correction of Speech Recognized Mathematical Equations using Encoder-Decoder Attention Model | |
KR100784730B1 (ko) | 태깅된 도메인 코퍼스 없이 새로운 도메인에 적용 가능한통계적 hmm 품사 태깅 장치 및 방법 | |
CN115374784A (zh) | 一种多模态信息选择性融合的中文命名实体识别方法 | |
Ma et al. | Similar word model for unfrequent word enhancement in speech recognition | |
Kulkarni et al. | Trends and advances in neural machine translation | |
US20230298566A1 (en) | End-to-end streaming speech translation with neural transducer | |
CN115862630A (zh) | 语音翻译的方法、装置、电子设备和介质 | |
CN117010367A (zh) | 一种中文文本的规范性检测方法及装置 | |
Lee et al. | Hands-free messaging application (iSay-SMS): A proposed framework |