TWI828086B - 利用遞歸神經網路之對話回應語句生成系統、方法及電腦可讀媒介 - Google Patents
利用遞歸神經網路之對話回應語句生成系統、方法及電腦可讀媒介 Download PDFInfo
- Publication number
- TWI828086B TWI828086B TW111110138A TW111110138A TWI828086B TW I828086 B TWI828086 B TW I828086B TW 111110138 A TW111110138 A TW 111110138A TW 111110138 A TW111110138 A TW 111110138A TW I828086 B TWI828086 B TW I828086B
- Authority
- TW
- Taiwan
- Prior art keywords
- neural network
- sequence
- recurrent neural
- sentence
- dialogue response
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 248
- 230000000306 recurrent effect Effects 0.000 title claims abstract description 200
- 230000004044 response Effects 0.000 title claims abstract description 121
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000012549 training Methods 0.000 claims abstract description 106
- 238000003062 neural network model Methods 0.000 claims abstract description 97
- 238000007781 pre-processing Methods 0.000 claims abstract description 70
- 230000008569 process Effects 0.000 claims abstract description 30
- 239000013598 vector Substances 0.000 claims description 97
- 230000006403 short-term memory Effects 0.000 claims description 30
- 238000003058 natural language processing Methods 0.000 claims description 29
- 238000005516 engineering process Methods 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 16
- 230000002457 bidirectional effect Effects 0.000 claims description 10
- 230000004913 activation Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000015654 memory Effects 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Machine Translation (AREA)
Abstract
本發明揭露一種利用遞歸神經網路之對話回應語句生成系統、方法及電腦可讀媒介,係將第一與第二遞歸神經網路互相連接以組成序列至序列之遞歸神經網路或遞歸神經網路模型,並由訓練語料前處理模組將輸入語句與對話回應語句進行匹配,以由遞歸神經網路或遞歸神經網路模型於訓練過程中學習給定輸入語句即生成對應之對話回應語句。再者,第一遞歸神經網路以一個時間區間讀取一個字元之方式序列式地讀取輸入語句之序列,俾由第二遞歸神經網路將第一遞歸神經網路中之最後一個隱藏層進行解碼以產生對應於輸入語句之對話回應語句。
Description
本發明係關於一種對話回應語句生成技術,特別是指一種利用遞歸神經網路(Recurrent Neural Network;RNN)之對話回應語句生成系統、方法及電腦可讀媒介。
一般而言,例如語意雲語意理解系統中語意理解之部分主要基於規則式進行語意解析,而規則式之語意理解架構之缺點即為不一定所有規則皆能處理使用者之輸入語句,自然語言語意之組織與排列組合亦千變萬化,後端需要一個基於模型之語句生成系統來處理沒有被規則所攔截之輸入語句,尤其是閒聊型之生活用語類型之輸入語句經常不為規則所處理。
在一現有技術中,提出一種將結構化流程模型自動生成自然語言文本之方法,先利用標籤文本之解析技術來獲取與解析BPMN(業務流
程模型與標記法;Business Process Model and Notation)流程模型中之標籤文本資訊,以使用流程模型結構轉換技術將BPMN流程模型之結構轉換成流程結構樹,再使用自然語言生成技術生成自然語言文本。所以,此現有技術能夠生成語法正確且語義完整之自然語言文本,使非專業人士能夠通過閱讀自然語言文本之方式理解BPMN流程模型。
惟,此現有技術並無法提供訓練語料前處理模組以配對輸入語句與對話回應語句,亦無法提供具有編碼器與解碼器之遞歸神經網路以訓練遞歸神經網路模型,也無法加入注意力機制於遞歸神經網路或遞歸神經網路模型中,更無法使用字元等級之遞歸神經網路模型以避免遭遇例如超出詞彙範圍與斷詞語意錯誤等問題。
因此,如何提供一種創新之對話回應語句生成技術,以解決上述之任一問題或提供相關之功能(服務),已成為本領域技術人員之一大研究課題。
本發明提供一種利用遞歸神經網路之對話回應語句生成系統、方法及電腦可讀媒介,係能提供訓練語料前處理模組以配對輸入語句與對話回應語句,或者提供具有編碼器與解碼器之遞歸神經網路以訓練遞歸神經網路模型,抑或者加入注意力機制於具有編碼器與解碼器之遞歸神經網路或遞歸神經網路模型中以提升解碼器於解碼時之準確性,又或者使用字元等級之遞歸神經網路模型以避免遭遇例如超出詞彙範圍與斷詞語意錯誤等問題。
本發明所述利用遞歸神經網路之對話回應語句生成系統包括:訓練語料前處理模組,係將對應之輸入語句與對話回應語句進行匹配,以供序列至序列之遞歸神經網路或遞歸神經網路模型於訓練過程中運用相匹配之輸入語句與對話回應語句;以及第一遞歸神經網路與第二遞歸神經網路,係互相連接以組成序列至序列之遞歸神經網路或遞歸神經網路模型,且序列至序列之遞歸神經網路或遞歸神經網路模型於訓練過程中學習給定輸入語句即生成出對應之對話回應語句,其中,該第一遞歸神經網路係一個時間區間讀取一個字元以序列式地讀取輸入語句之序列,再由該第二遞歸神經網路將該第一遞歸神經網路中之最後一個隱藏層進行解碼以產生對應於輸入語句之對話回應語句。
本發明所述利用遞歸神經網路之對話回應語句生成方法包括:提供訓練語料前處理模組、第一遞歸神經網路與第二遞歸神經網路,且將該第一遞歸神經網路與該第二遞歸神經網路互相連接以組成序列至序列之遞歸神經網路或遞歸神經網路模型;由訓練語料前處理模組將對應之輸入語句與對話回應語句進行匹配,以供序列至序列之遞歸神經網路或遞歸神經網路模型於訓練過程中運用相匹配之輸入語句與對話回應語句;以及由序列至序列之遞歸神經網路或遞歸神經網路模型於訓練過程中學習給定輸入語句即生成出對應之對話回應語句,其中,該第一遞歸神經網路係一個時間區間讀取一個字元以序列式地讀取輸入語句之序列,再由該第二遞歸神經網路將該第一遞歸神經網路中之最後一個隱藏層進行解碼以產生對應於輸入語句之對話回應語句。
本發明之電腦可讀媒介應用於計算裝置或電腦中,係儲存有
指令,以執行上述利用遞歸神經網路之對話回應語句生成方法。
為讓本發明之上述特徵與優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明。在以下描述內容中將部分闡述本發明之額外特徵及優點,且此等特徵及優點將部分自所述描述內容可得而知,或可藉由對本發明之實踐習得。應理解,前文一般描述與以下詳細描述二者均為例示性及解釋性的,且不欲約束本發明所欲主張之範圍。
1:對話回應語句生成系統
11:語意雲語意理解子系統
12:自然語言處理語料庫
20:訓練語料前處理模組
3:遞歸神經網路
30:序列至序列之遞歸神經網路
30':遞歸神經網路模型
31:第一遞歸神經網路
310:編碼器
32:第二遞歸神經網路
320:解碼器
33:注意力模組
330:注意力機制
34:嵌入層
S1至S3:步驟
圖1為本發明所述利用遞歸神經網路之對話回應語句生成系統之架構示意圖。
圖2為本發明所述利用遞歸神經網路之對話回應語句生成方法之流程示意圖。
圖3為本發明所述利用遞歸神經網路之對話回應語句生成系統及其方法中,有關一遞歸神經網路之示意圖。
圖4為本發明所述利用遞歸神經網路之對話回應語句生成系統及其方法中,有關序列至序列之遞歸神經網路之一示意圖。
圖5為本發明所述利用遞歸神經網路之對話回應語句生成系統及其方法中,有關序列至序列之遞歸神經網路之另一示意圖。
圖6為本發明所述利用遞歸神經網路之對話回應語句生成系統及其方法中,有關訓練語料前處理模組對於訓練語料前處理之實施例示意圖。
以下藉由特定的具體實施形態說明本發明之實施方式,熟悉此技術之人士可由本說明書所揭示之內容了解本發明之其它優點與功效,亦可因而藉由其它不同具體等同實施形態加以施行或運用。
圖1為本發明所述利用遞歸神經網路之對話回應語句生成系統1之架構示意圖,圖2為本發明所述利用遞歸神經網路之對話回應語句生成方法之流程示意圖,圖3為本發明所述利用遞歸神經網路之對話回應語句生成系統1及其方法中有關一遞歸神經網路之示意圖,圖4為本發明所述利用遞歸神經網路之對話回應語句生成系統1及其方法中有關序列至序列之遞歸神經網路30之一示意圖,圖5為本發明所述利用遞歸神經網路之對話回應語句生成系統1及其方法中有關序列至序列之遞歸神經網路30之另一示意圖。
如圖1所示,利用遞歸神經網路之對話回應語句生成系統1主要包括互相連接或通訊之一語意雲語意理解子系統11、一自然語言處理語料庫12、一訓練語料前處理模組20以及一序列至序列之遞歸神經網路30(遞歸神經網路模型30')。序列至序列之遞歸神經網路30或遞歸神經網路模型30'可由互相連接之一作為編碼器310之第一遞歸神經網路31與一作為解碼器320之第二遞歸神經網路32所組成,亦可進一步包括一具有注意力機制330之注意力模組33等。
在一實施例中,自然語言處理語料庫12可為自然語言處理語料資料庫、自然語言處理語料伺服器、自然語言處理語料儲存器等,訓練語料前處理模組20可為訓練語料前處理器(晶片/電路)、訓練語料前處理
軟體(程式)等,注意力模組33可為注意力軟體(程式)等。同時,本發明所述「連接或通訊」代表有線或無線連接或通訊,「至少一」代表一個以上(如一、二或三個以上),「複數」代表二個以上(如二、三、四、五、十或百個以上)。但是,本發明並不以此為限。
如圖1與圖2之步驟S1至S3所示,先提供訓練語料前處理模組20、作為編碼器310之第一遞歸神經網路31與作為解碼器320之第二遞歸神經網路32,且將作為編碼器310之第一遞歸神經網路31與作為解碼器320之第二遞歸神經網路32互相連接以組成序列至序列之遞歸神經網路30或遞歸神經網路模型30'。繼之,由訓練語料前處理模組20將對應之輸入語句與對話回應語句進行匹配,以供序列至序列之遞歸神經網路30或遞歸神經網路模型30'於訓練過程中運用相匹配之輸入語句與對話回應語句。然後,由序列至序列之遞歸神經網路30或遞歸神經網路模型30'於訓練過程中學習給定輸入語句即生成出對應之對話回應語句,其中,作為編碼器310之第一遞歸神經網路31以一個時間區間讀取一個字元之方式序列式地讀取輸入語句之序列,再由作為解碼器320之第二遞歸神經網路32將作為編碼器310之第一遞歸神經網路31中之最後一個隱藏層進行解碼以產生對應於輸入語句之對話回應語句。以下將進一步說明:
一、訓練語料前處理模組20之說明:包括[1]語料來源(如原生語料)之描述,[2]訓練語料前處理模組20之概述,[3]訓練語料前處理模組20之工作流程。
[1]語料來源(如原生語料)之描述:訓練語料前處理模組20可使用二種語料來源作為序列至序列之遞歸神經網路30或遞歸神經網路模
型30'之訓練語料。第一種語料來源可為語意雲語意理解子系統11之輸入語句(如對話輸入語句)。又,第二種語料來源為例如自然語言處理語料庫12之大規模或複數自然語言處理語料(如中文自然語言處理語料),自然語言處理語料可包括例如百科問答、社區問答等問答類型語料,且自然語言處理語料之內容可為例如一問一答之語料配對等。
[2]訓練語料前處理模組20之概述:訓練語料前處理之目的為將例如語意雲語意理解子系統11之輸入語句(如對話輸入語句)作為訓練語料前處理模組20之輸入,並將輸入語句(如對話輸入語句)所對應之合適之對話回應語句作為訓練語料前處理模組20之輸出,且訓練語料前處理模組20可透過向量相似度(similarity)演算法從自然語言處理語料庫12之大規模或複數自然語言處理語料(如中文自然語言處理語料)中挑出合適之對話回應語句。
[3]訓練語料前處理模組20之工作流程:訓練語料前處理模組20可將語意雲語意理解子系統11之各輸入語句(如對話輸入語句)逐一轉換為語句向量。亦即,訓練語料前處理模組20可使用斷詞軟體工具將各輸入語句(如對話輸入語句)進行斷詞,以由訓練語料前處理模組20利用預訓練之詞向量模型(如Word2Vec模型或GLoVe模型)將各輸入語句之斷詞轉換為詞向量。
接著,訓練語料前處理模組20可透過向量平均演算法計算出輸入語句(如對話輸入語句)之所有詞向量之平均向量,以由將平均向量作為代表輸入語句(如對話輸入語句)之句向量,且句向量具有輸入語句(如對話輸入語句)之語意之特徵值。
訓練語料前處理模組20亦可將自然語言處理語料庫12之大規模或複數自然語言處理語料(如中文自然語言處理語料)之輸入語句(如問答配對語句中之問題語句)進行斷詞,以由訓練語料前處理模組20將各輸入語句(如對話輸入語句)中之所有斷詞進行向量化以得到各輸入語句之詞向量,再由訓練語料前處理模組20透過向量平均演算法計算出輸入語句(如對話輸入語句)之所有詞向量之平均向量,俾將平均向量作為代表輸入語句(如對話輸入語句)之句向量。
訓練語料前處理模組20可對各輸入語句(如對話輸入語句)挑選出合適之對話回應語句(如輸出語句)。例如,訓練語料前處理模組20可尋找與輸入語句(如對話輸入語句)之相似度(如餘弦相似度(cosine similarity))最高之最前面數個(Top N)對話回應語句,且訓練語料前處理模組20可從相似度最高之對話回應語句開始挑選,以不重複挑選為原則,俾為語意雲語意理解子系統11之各輸入語句(如對話輸入語句)挑選出對應之合適之對話回應語句作為訓練語料。
二、序列至序列之遞歸神經網路30或遞歸神經網路模型30'之說明:包括[1]一遞歸神經網路3之描述,[2]利用序列至序列之遞歸神經網路30或遞歸神經網路模型30'進行序列至序列之學習,[3]用於對話回應語句生成之序列至序列之遞歸神經網路30或遞歸神經網路模型30'之架構。
[1]一遞歸神經網路3之描述:如圖3所示一遞歸神經網路3之架構,在遞歸神經網路3之訓練過程中,遞歸神經網路(RNN)3在每個時間區間接收一個詞(word-based RNN)或一個字元(character-based RNN),
以由遞歸神經網路3將此詞或字等詞彙(見符號x)經過一個矩陣U之參數組轉換為向量h,再將向量h經過遞歸神經網路3之softmax層之參數選出機率最大之輸出詞。針對所有矩陣U、矩陣V與矩陣W之參數組,遞歸神經網路3可透過梯度下降法將softmax所定義之損失函數(loss function)之輸出值降到最小,透過如此一次一次迭代之方式學習參數,以使遞歸神經網路3之每個時間區間之輸出詞最接近真實答案。由於遞歸神經網路3在每個時間區間輸出一個詞之特性,故遞歸神經網路3或遞歸神經網路模型30'最常用於處理序列類型之資料,例如自然語言處理領域之自然語句即為一種序列。
遞歸神經網路3或遞歸神經網路模型30'之每個時間區間之輸入向量可從預訓練之詞向量模型(如Word2Vec模型或GLoVe模型)中取得,亦可使用彈性之一嵌入層(embedding layer)34(見圖5)之參數以完成轉換字詞為詞向量,且遞歸神經網路模型30'或其嵌入層34之所有參數都是於訓練過程中一起學習而得的(jointly learned)。
[2]利用序列至序列之遞歸神經網路30或遞歸神經網路模型30'進行序列至序列之學習:如圖3所示一遞歸神經網路3,可透過迭代之方式,最終由softmax函數輸出之結果作為邏輯回歸之結果,故一遞歸神經網路3可用於分類等任務,且遞歸神經網路3中之最後一個時間區間之中間層向量hlast也可視為輸入語句之句向量(特徵向量),再利用此句向量進行其它應用。
如圖1與圖4所示,若欲進行序列至序列之學習(即輸入是語句,且輸出也需要是語句),則需對圖3中一遞歸神經網路3之架構進行調
整。例如,可將一遞歸神經網路3作為第一遞歸神經網路31,以在第一遞歸神經網路31之後連接第二遞歸神經網路32,且第二遞歸神經網路32透過第一遞歸神經網路31所學習而得之特徵向量(即最後一個時間區間之中間層向量hlast)作為輸入。第二遞歸神經網路32可在每個時間區間都輸出一個字詞,再將每個時間區間所輸出之字詞作為下一個時間區間之輸入,如此遞歸地進行,直到第二遞歸神經網路32輸出句尾符號(end of sentence token)為止。
第一遞歸神經網路31與第二遞歸神經網路32所組成之架構即可進行序列至序列之學習,第一遞歸神經網路31可被視為特徵之編碼器(encoder)31,用以將輸入語句之特徵(如所有特徵)編碼為一組特徵向量;而第二遞歸神經網路32可視為特徵之解碼器(decoder)32,用以將輸入語句(如對話輸入語句)之特徵解碼為另一個語句。
在下列[3]中,本發明將闡述如何設計序列至序列之遞歸神經網路30或遞歸神經網路模型30',以利取得最佳之語句生成結果。
[3]用於對話回應語句生成之序列至序列之遞歸神經網路30或遞歸神經網路模型30'之架構:包括[3-1]序列至序列之遞歸神經網路30或遞歸神經網路模型30'之概述,[3-2]作為編碼器310之第一遞歸神經網路31,[3-3]作為解碼器320之第二遞歸神經網路32,[3-4]注意力模組33之注意力機制330,[3-5]將注意力機制330加入作為編碼器310之第一遞歸神經網路31與作為解碼器320之第二遞歸神經網路32所組成之序列至序列之遞歸神經網路30或遞歸神經網路模型30'。
[3-1]序列至序列之遞歸神經網路30或遞歸神經網路模型30'
之概述:如圖1與圖4所示序列至序列之遞歸神經網路30或遞歸神經網路模型30'之示意圖,作為編碼器310之第一遞歸神經網路31可在每個時間區間輸入語意雲語意理解子系統11之輸入語句(如歷史輸入語句)之一個字元(character),而作為解碼器320之第二遞歸神經網路32則在每個時間區間輸出一個字元直到輸出句尾符號(end of sentence token)為止。
如圖4所示,作為編碼器310之第一遞歸神經網路31與作為解碼器320之第二遞歸神經網路32所組成之序列至序列之遞歸神經網路30或遞歸神經網路模型30'中,各虛線圓圈代表作為編碼器310之第一遞歸神經網路31在一個時間區間所輸入之一個字元,且各實線圓圈代表作為解碼器320之第二遞歸神經網路32在一個時間區間所輸出之一個字元。
從機率之角度而言,作為編碼器310之第一遞歸神經網路31與作為解碼器320之第二遞歸神經網路32所組成之序列至序列之遞歸神經網路30或遞歸神經網路模型30'於訓練過程中,能學習給定一輸入語句(如對話輸入語句)即生成出對應之一對話回應語句,且輸入語句與對應之對話回應語句兩者之條件機率分布P如下列公式(1)所示。
P(o1,...,ot' |x1,...,xt)...(1)
上列公式(1)中,P代表條件機率分布,(x1,...,xt)代表長度為時間區間t之對話回應語句,(o1,...,ot' )代表長度為時間區間t'之輸入語句(如對話輸入語句)。值得注意的是,時間區間t之長度與時間區間t'之長度可以相同或不同,也就是輸入語句(如對話輸入語句)之長度與對話回應語句(如輸出語句之長度可以相同或不同。
序列至序列之遞歸神經網路30或遞歸神經網路模型30'可將
輸入語句(如對話輸入語句)之複數字元轉換為複數獨熱(One-Hot或稱1-of-N)編碼之向量,以將這些獨熱編碼之向量組成輸入語句之序列X,如下列公式(2)所示。
再者,序列至序列之遞歸神經網路30或遞歸神經網路模型30'可利用專門將輸入語句之字進行嵌入(embedding)之參數,以生成一個獨熱(One-Hot或1-of-N)編碼之字向量序列O,如下列公式(3)所示。
上列公式(3)中,O代表獨熱編碼之字向量序列O,(o1,...,ot ')代表長度為時間區間t'之輸入語句,i代表1至t',oi RV代表oi為V維向量。V代表「字之總數」,例如序列至序列之遞歸神經網路30或遞歸神經網路模型30'之輸入層與輸出層可使用相同大小的字之總數。
[3-2]作為編碼器310之第一遞歸神經網路31:如圖1與圖5所示,作為編碼器310之第一遞歸神經網路31之任務為將輸入語句(如語意雲語意理解子系統11之歷史語句或歷史輸入語句)編碼成一個固定維度之向量。例如,作為編碼器310之第一遞歸神經網路31可使用雙向(bi-directional)長短期記憶(Long Short-Term Memory;LSTM)網路,以一個時間區間讀取一個字元之方式序列式地讀取輸入語句之序列X=(x1,...,xt)。
當作為編碼器310之第一遞歸神經網路31為雙向長短期記憶(LSTM)網路時,雙向長短期記憶(LSTM)網路中之順向(forward)長短期
記憶網路可在每個時間區間t中,依據如下列公式(4)所示之更新演算法更新順向長短期記憶網路之隱藏層參數h(t)。
上列公式(4)中,可進一步衍生出下列公式(4a)至公式(4e)。
c(t)=f(t)c(t-1)+i(t)g(t)...(4a)
o(t)=σ(UoEx(t)+Voh(t-1)+bo)...(4b)
g(t)=tanh(UgEx(t)+Vgh(t-1)+bg)...(4c)
i(t)=σ(UiEx(t)+Vih(t-1)+bi)...(4d)
f(t)=σ(UfEx(t)+Vfh(t-1)+bf)...(4e)
上列公式(4)與公式(4a)至公式(4e)中,h(t)或h(t-1)代表隱藏層參數,t代表時間區間,i(t)、o(t)與f(t)分別代表長短期記憶(LSTM)網路中之輸入閘(input gate)、輸出閘(output gate)與遺忘閘(forget gate)。g(t)代表可能存入記憶層之資訊(memory state),c(t)代表時間區間t之記憶層。E Rm×V代表一組字元編碼矩陣,用以將一個V維之獨熱(One-Hot或1-of-N)編碼之字向量轉換為一個較低維度之特徵表示向量。Uo,Ug,Ui,Uf Rn×m與Vo,Vg,Vi,Vf Rn×n均代表參數矩陣(如權重參數矩陣),bo,bg,bi,bf Rn×1代表偏移項(bias),其中m代表嵌入向量之維度(字嵌入維度),n代表隱藏層向量之維度(隱藏項之數量)。σ代表常用之邏輯回歸sigmoid函數。值得注意的是,遞歸神經網路模型30'或其嵌入層34之所有參數都是於訓練過程中一起學習而得的。
當作為編碼器310之第一遞歸神經網路31為雙向長短期記
憶(LSTM)網路時,雙向長短期記憶(LSTM)網路中之反向(backward)長短期記憶(LSTM)網路與上述順向(forward)長短期記憶(LSTM)網路之做法類似,亦可在順向長短期記憶(LSTM)網路與反向長短期記憶(LSTM)網路中使用相同的嵌入層34(如字嵌入層)之參數進行字嵌入。因此,本發明可合併順向長短期記憶(LSTM)網路與反向長短期記憶(LSTM)網路為,以取得一個與輸入序列相同長度之隱藏層向量之序列(h1,...,)。
若作為編碼器310之第一遞歸神經網路31為雙向長短期記憶(LSTM)網路,當雙向長短期記憶(LSTM)網路中之順向長短期記憶(LSTM)網路於接收到輸入序列之句尾符號(end of sentence token)時,此時間區間之隱藏層向量即可視為輸入序列之特徵表示向量,且輸入序列之特徵表示向量可包括輸入序列中之所有資訊。
[3-3]作為解碼器320之第二遞歸神經網路32:如圖1與圖5所示,作為解碼器320之第二遞歸神經網路32之任務為將作為編碼器310之第一遞歸神經網路31中之最後一個隱藏層(如摘要向量s)進行解碼以產生對應於輸入語句之對話回應語句,且作為解碼器320之第二遞歸神經網路32可為單向(uni-directional)長短期記憶(LSTM)網路。本發明沿用類似於上述公式(4a)至公式(4e)中所使用之代號,且解碼器320中之每個時間區間之隱藏層向量之計算演算法可為下列公式(5)所示。
上列公式(5)中,可進一步衍生出下列公式(5a)至公式(5e)。
c' (t)=f'(t)c' (t-1)+i' (t)g' (t)...(5a)
y' (t)=σ(Uy' Eo(t-1)+Vy' d(t-1)' +by' )...(5b)
g' (t)=tanh(Ug' Eo(t-1)+Vi' d(t-1)' +bg' )...(5c)
i' (t)=σ(Ui' Eo(t-1)+Vi' h(t-1)' +bi' )...(5d)
f' (t)=σ(Uf' Eo(t-1)+Vf' h(t-1)' +bf' )...(5e)
上列公式(5)與公式(5a)至公式(5e)中,或d(t-1)' 代表隱藏層向量,h(t-1)' 代表隱藏層參數。t代表時間區間,i' (t)、o' (t)與f' (t)分別代表長短期記憶(LSTM)網路中之輸入閘(input gate)、輸出閘(output gate)與遺忘閘(forget gate)。g' (t)代表可能存入記憶層之資訊(memory state),c' (t)代表時間區間t之記憶層,E代表作為編碼器310之第一遞歸神經網路31與作為解碼器320之第二遞歸神經網路32所共用之嵌入層34之參數矩陣。g' (t)代表輸出閘,o(t-1)代表上一個時間區間之輸出字元。沿用類似於上述公式(4a)至公式(4e)之代號,Uy' ,Ug' ,Ui' ,Uf' Rn×m、Vy' ,Vg' ,Vi' ,Vf' Rn×n均代表參數矩陣,by' ,bg' ,bi' ,bf' Rn×1代表偏移項(bias),其中m代表嵌入向量之維度(字嵌入維度),n代表隱藏層向量之維度。作為解碼器320之第二遞歸神經網路32之第一個隱藏層向量d(o)為上面所提及之摘要向量s。作為解碼器320之第二遞歸神經網路32可在解碼之過程中將上一個時間區間之輸出字元o(t-1)作為當前時間區間之輸入字元,有利於作為解碼器320之第二遞歸神經網路32知悉自身在上一個時間區間之輸出字元以生成更準確之結果。
作為解碼器320之第二遞歸神經網路32可在每個時間區間輸出一個維度為V之獨熱(One-Hot或1-of-N)編碼之向量,且此獨熱編碼之向量可藉由softmax激活函數計算對話回應語句(如輸出語句)之條件機率
分布P而取得,如下列公式(6)所示。
上列公式(6)中,P代表條件機率分布,t代表時間區間,i代表第i個候選字元。ot-1,ot-2,...,o1代表對話回應語句(如輸出語句)。k代表1至V,V代表字彙量。wi代表權重矩陣w之第i行,h(t)代表隱藏層參數。
作為解碼器320之第二遞歸神經網路32可在輸出序列之句尾符號被生成時,結束解碼之工作。同時,作為解碼器320之第二遞歸神經網路32可透過計算每個時間區間之字元輸出之機率總和以得到能生成出合適之對話回應語句之條件機率分布p(O),如下列公式(7)所示。
p(O)=Π p(ot|ot-1,...,o1)...(7)
上列公式(7)中,p(O)代表對話回應語句之條件機率分布,ot-1,ot-2,...,o1代表對話回應語句(如輸出語句)。
作為編碼器310之第一遞歸神經網路31與作為解碼器320之第二遞歸神經網路32可同時以最大化對數可能性(log-likelihood)之方式進行訓練,如下列公式(8)所示。
上列公式(8)中,max代表最大化,θ代表整個遞歸神經網路模型30'中之所有參數之集合,n代表1至N,N代表解碼器320之候選解碼字元之數量。每個(Xn,On)代表訓練集中一組輸入序列與輸出序列之配對。同時,解碼器320可使用隨機梯度下降法(stochastic gradient decent)以更新第二遞歸神經網路32中之參數。
[3-4]注意力模組33之注意力機制330:如圖1所示,可在具
有作為編碼器310之第一遞歸神經網路31與作為解碼器320之第二遞歸神經網路32之序列至序列之遞歸神經網路30或遞歸神經網路模型30'之架構中加入注意力機制330,以藉由注意力機制330進一步提升作為解碼器320之第二遞歸神經網路32於解碼時之準確性。
例如,本發明可增加一組為向量c之參數,此向量c連結作為編碼器310之第一遞歸神經網路31與作為解碼器320之第二遞歸神經網路32兩者之隱藏層。當加入注意力機制330之序列至序列之遞歸神經網路30或遞歸神經網路模型30'在每個時間區間進行輸出時,將會參考輸入序列之每一個字元資訊,並試圖輸出更準確之結果。將注意力機制330加入作為編碼器310之第一遞歸神經網路31與作為解碼器320之第二遞歸神經網路32所組成之序列至序列之遞歸神經網路30或遞歸神經網路模型30'後,序列至序列之遞歸神經網路30或遞歸神經網路模型30'不再單純依賴一個固定維度之向量所包括之資訊進行解碼,而是在每個時間區間之輸出過程中,從作為編碼器310之第一遞歸神經網路31之複數隱藏層向量所組成之序列中選出包括最重要資訊之隱藏層向量,以幫助提升作為解碼器320之第二遞歸神經網路32於解碼時之準確性。
[3-5]將注意力機制330加入於作為編碼器310之第一遞歸神經網路31與作為解碼器320之第二遞歸神經網路32所組成之序列至序列之遞歸神經網路30或遞歸神經網路模型30':此方式可以額外學習一組上下文(context)向量ci,且編碼器310可將每個(如第j個)時間區間之隱藏層向量h(j)進行加權平均以獲得上下文向量ci,如下列公式(9)所示。
上列公式(9)中,ci代表上下文向量,i代表第i個時間區間且i為大於或等於1之正整數,j代表第j維度且j為大於或等於1之正整數,X代表語句之長度。αij代表隱藏層hj之權重,hj代表隱藏層。同時,隱藏層hj之權重計算演算法可如下列公式(10)所示。
上列公式(10)中,αij代表隱藏層hj之權重,aij代表參數組。aij=score(di-1,hj),且score代表匹配分數,di-1代表最後一個隱藏層,hj代表隱藏層。
在第i個時間區間時,解碼器320試圖解碼第i個字,此時透過隱藏層hj之權重αij計算出解碼器320中之最後一個隱藏層di-1與編碼器310之各個時間區間之隱藏層參數hj間之匹配分數,且匹配分數之演算法可以複雜如額外一層神經網路參數,也可簡單如上述隱藏層hj之權重計算演算法而得。匹配分數代表解碼器320於此時間區間所要輸出之字元與編碼器310中之某些字元之相關程度,且參數組aij會經過一個softmax函數進行正規化以產生一個機率分布。
[6]字元等級之遞歸神經網路模型30':本發明之遞歸神經網路模型30'可使用字元等級之遞歸神經網路模型30'(簡稱字元等級模型),使用字元等級(character-level)模型而非字詞等級(word-level)模型之原因在於中文(中文語言)之特性,但不代表或限制本發明僅能用於中文(中文語言)。例如,中文有別於英文、法文、西班牙文等其它語言,中文之字元彼此之間並沒有空白符號進行區隔,使得字詞等級模型在斷詞之議題上存在困難,雖然已有許多斷詞軟體工具(如中文斷詞軟體工具)有非常好的表現,
但並不存在一個完美的中文斷詞方式。因此,本發明使用字元等級之遞歸神經網路模型30',以在一個時間區間生成一個字元之方式,有利於生成出文法正確且具有意義之對話回應語句。
本發明使用字元等級之遞歸神經網路模型30'(字元等級模型)以避免在使用字詞等級模型時可能遭遇之問題(困難),例如字詞等級模型可能遭遇超出詞彙範圍(out-of-vocabulary)與斷詞語意錯誤等問題。超出詞彙範圍之問題在中文斷詞中非常常見,它可以因為人名、地名或網路用語等原因導致,但本發明使用字元等級之遞歸神經網路模型30'(字元等級模型)以將所有中文字元納入詞彙範圍,且因中文之字元數量比字詞數量多得多,故在透過softmax函數計算序列至序列之遞歸神經網路30或遞歸神經網路模型30'之損失時並不會造成太多的運算成本。又,在斷詞語意錯誤之問題上,例如「我/在野/生動/物/園」與「我/在/野生/動物園」二個斷詞結果可能造成語意上之巨大差異,其可能進而導致序列至序列之遞歸神經網路30或遞歸神經網路模型30'於訓練上之困難。
圖6為本發明所述利用遞歸神經網路之對話回應語句生成系統1中,有關訓練語料前處理模組20對於訓練語料前處理之實施方式例圖,並參閱圖1予以說明。
如圖6所示,於訓練語料前處理模組20對於訓練語料前處理之實施方式上,訓練語料前處理之目的為將例如語意雲語意理解子系統11之輸入語句(如對話輸入語句或歷史回應語句)與對應之合適之對話回應語句進行匹配,以供後續之序列至序列之遞歸神經網路30或遞歸神經網路模型30'於訓練過程中運用輸入語句與相匹配之對話回應語句。
訓練語料前處理模組20可將相關之語句進行向量化,且向量化之方式可將語句進行斷詞,接著將斷詞後之字詞序列中之每個字詞透過預訓練完成之詞向量模型(如Word2Vec模型或GLoVe模型)將每個字詞轉換為詞向量,再將所有詞向量進行向量算術平均(例如:)以計算出平均向量作為此語句之向量表示式,而此平均向量也一定程度包括了此語句之所有資訊。前述vn代表此語句中第n個斷詞,且n同時代表此語句之斷詞數量。
本發明可利用此語句之向量表示式技術,將語意雲語意理解子系統11之輸入語句(如對話輸入語句或歷史回應語句)、自然語言處理語料庫12之自然語言處理語料(如中文自然語言處理語料)之問答配對語句中之問句,分別進行向量化之處理。
訓練語料前處理模組20於準備好所有語句向量之後,可將輸入語句(如對話輸入語句)與對話回應語句(如輸出語句)進行配對。為輸入語句(如對話輸入語句)找出合適之對話回應語句(如輸出語句)之方式,訓練語料前處理模組20可以判斷輸入語句與對話回應語句在語意與語句架構上有多接近,而判斷接近程度之具體計算演算法為計算二個語句向量間之相似度(如餘弦相似度(cosine similarity))。例如,給定語句向量A與語句向量B,則訓練語料前處理模組20對於語句向量A與語句向量B之向量相似度演算法為:。前述Ai與Bi分別為語句向量A與語句向量B之第i項。
為了訓練語料之多樣性,訓練語料前處理模組20以不重複挑
選為原則進行輸入語句(如對話輸入語句)與對話回應語句(如輸出語句)之配對。例如,若一個語意雲語意理解子系統11之輸入語句(如歷史回應語句)中之一個語句甲,在與自然語言處理語料庫12之大規模或複數自然語言處理語料(如中文自然語言處理語料)中之所有語句計算相似度後,由訓練語料前處理模組20挑選出相似度最高之語句為語句C;接著,下一個輸入語句乙,若訓練語料前處理模組20所挑選之最相似最高之對話回應語句(如輸出語句)也是語句C的話,則以不重複挑選為原則,直接選擇語句C作為其配對之對話回應語句(如輸出語句)。
另一方面,在序列至序列之遞歸神經網路30或遞歸神經網路模型30'之訓練方式上,本發明雖可使用字元等級(character-level)之遞歸神經網路模型30'(字元等級模型),以有效降低字詞等級模型超出詞彙範圍(out-of-vocabulary)之議題,但還是有可能出現字典中沒有出過之字元。同時,訓練語料前處理模組20也需要將出現頻率低於頻率門檻值(如出現頻率太少)之字元進行特殊處理,因為出現頻率低於頻率門檻值之字元不僅對序列至序列之遞歸神經網路30或遞歸神經網路模型30'之訓練可能沒有幫助,還有可能有對於序列至序列之遞歸神經網路30或遞歸神經網路模型30'而言屬於雜訊之效果。所以在一實施例中,訓練語料前處理模組20可將出現頻率低於頻率門檻值(如10次)之字元在前處理階段轉換為未知字元符號例如<UNK>。
序列至序列之遞歸神經網路30或遞歸神經網路模型30'可使用雙層之雙向長短期記憶(LSTM)網路作為第一遞歸神經網路31之編碼器310,雙層之單向長短期記憶(LSTM)網路作為第二遞歸神經網路32之解
碼器320,編碼器310或解碼器320之隱藏層之維度皆設定為多維(如128維),編碼器310或解碼器320之所有偏移項(bias)皆初始化為零(0)。同時,編碼器310或解碼器320之嵌入層34之參數的部分,可使用一個權重矩陣將獨熱(One-Hot或1-of-N)編碼之字元向量轉換為多維(如較低維度或128維)之字元向量。
序列至序列之遞歸神經網路30(遞歸神經網路模型30')可使用長短期記憶(LSTM)網路以有效避免梯度消失(gradient vanishing)之問題,亦可使用梯度剪裁(gradient clipping)技術以將序列至序列之遞歸神經網路30或遞歸神經網路模型30'之最大梯度限制為一梯度門檻值(如1.5),以避免梯度***而造成序列至序列之遞歸神經網路30或遞歸神經網路模型30'之損失浮動過大之問題。
訓練語料前處理模組20可將輸入字元序列之長度限制為第一長度門檻值(如100個字元),且將輸出字元序列之長度限制為第二長度門檻值(如30個字元),以避免訓練語料有過長之語句。訓練語料前處理模組20亦可在對話回應語句(如輸出語句)之末端(最後面)加上句尾符號(end of sentence token)如<EOS>,以利於撰寫或執行序列至序列之遞歸神經網路30或遞歸神經網路模型30'之程式時,能判斷出遇到此句尾符號如<EOS>即為字元序列之結尾。
訓練語料前處理模組20於訓練語料前處理之過程中,可將所有數字轉換為數字符號(如:#),以避免所有不同的數字被識別為不同之語意單元。本發明可使用sampled softmax函數以計算出序列至序列之遞歸神經網路30或遞歸神經網路模型30'之損失(loss)並取代full softmax函數
之損失計算方式,因以full softmax函數計算所有候選字元之完整機率分布與交叉燏(cross entropy)之過程將會產生極大之計算成本,而sampled softmax函數則不會產生極大之計算成本。本發明使用sampled softmax函數以計算序列至序列之遞歸神經網路30或遞歸神經網路模型30'之損失時,可以僅將一個訓練批次中所有字元之子集合作為候選字元,且將候選字元之數量限制在數量門檻值(如200字元)以減少序列至序列之遞歸神經網路30或遞歸神經網路模型30'之訓練過程之計算成本。
另外,本發明還提供一種利用遞歸神經網路之對話回應語句生成方法之電腦可讀媒介,係應用於具有處理器及/或記憶體的計算裝置或電腦中,且電腦可讀媒介儲存有指令,並可利用計算裝置或電腦透過處理器及/或記憶體執行電腦可讀媒介,以於執行電腦可讀媒介時執行上述內容。例如,處理器可為微處理器、中央處理器(CPU)、圖形處理器(GPU)等,記憶體可為隨機存取記憶體(RAM)、記憶卡、硬碟(如雲端/網路硬碟)、資料庫等,但不以此為限。
綜上,本發明所述利用遞歸神經網路之對話回應語句生成系統、方法及電腦可讀媒介至少具有下列特色、優點或技術功效。
一、本發明之訓練語料前處理模組能提供獨創之訓練語料前處理模組,以利將輸入語句(如對話輸入語句)與對話回應語句(如輸出語句)進行配對,亦能利用具有編碼器與解碼器之遞歸神經網路以訓練出可生成合適之對話回應語句之遞歸神經網路模型。
二、本發明之訓練語料前處理模組能尋找與輸入語句之相似度最高之最前面數個對話回應語句,亦能從相似度最高之對話回應語句開
始挑選,以不重複挑選為原則,俾為各輸入語句挑選出對應之合適之對話回應語句作為訓練語料。
三、本發明能使用序列至序列之遞歸神經網路或遞歸神經網路模型,以利生成語意完整且與輸入語句相匹配之對話回應語句。
四、本發明能加入注意力機制於具有編碼器與解碼器之遞歸神經網路或遞歸神經網路模型中,以利藉由注意力機制提升解碼器於解碼時之準確性。
五、本發明能提供有關遞歸神經網路模型之損失計算方式,遞歸神經網路模型之參數更新方式,以及一些協助遞歸神經網路模型之訓練技巧。
六、本發明能提供具有編碼器與解碼器之遞歸神經網路(遞歸神經網路模型)之架構、參數訓練、損失函數之設計或定義。
七、本發明能使用字元等級之遞歸神經網路模型在一個時間區間生成一個字元之方式,以利生成出文法正確且具有意義之對話回應語句。
八、本發明能使用字元等級之遞歸神經網路模型,以避免在使用字詞等級模型時可能遭遇超出詞彙範圍與斷詞語意錯誤等問題。
九、本發明之序列至序列之遞歸神經網路或遞歸神經網路模型能使用長短期記憶(LSTM)網路以有效避免梯度消失之問題,亦能使用梯度剪裁技術以避免梯度***而造成遞歸神經網路模型之損失浮動過大之問題。
十、本發明之序列至序列之遞歸神經網路或遞歸神經網路模
型可在對話回應語句之末端加上句尾符號,以利於撰寫或執行遞歸神經網路模型之程式時,能判斷出遇到此句尾符號即為字元序列之結尾。
十一、本發明實施遞歸神經網路模型之訓練與參數更新時,有助於提升遞歸神經網路模型之訓練技巧,亦能提升解碼器之解碼精準度,也能有效降低遞歸神經網路模型之損失,還能降低遞歸神經網路模型於訓練時所需之計算成本。
十二、本發明係應用於例如客服、智慧助理、聊天機器人等相關產業,亦能應用於例如智慧音箱、文字客服系統等產品,但不以此為限。
上述實施形態僅例示性說明本發明之原理、特點及其功效,並非用以限制本發明之可實施範疇,任何熟習此項技藝之人士均能在不違背本發明之精神及範疇下,對上述實施形態進行修飾與改變。任何使用本發明所揭示內容而完成之等效改變及修飾,均仍應為申請專利範圍所涵蓋。因此,本發明之權利保護範圍應如申請專利範圍所列。
1:對話回應語句生成系統
11:語意雲語意理解子系統
12:自然語言處理語料庫
20:訓練語料前處理模組
30:序列至序列之遞歸神經網路
30':遞歸神經網路模型
31:第一遞歸神經網路
310:編碼器
32:第二遞歸神經網路
320:解碼器
33:注意力模組
330:注意力機制
Claims (18)
- 一種利用遞歸神經網路之對話回應語句生成系統,包括:訓練語料前處理模組,係將對應之輸入語句與對話回應語句進行匹配,以供序列至序列之遞歸神經網路或遞歸神經網路模型於訓練過程中運用相匹配之該輸入語句與該對話回應語句,其中,該序列至序列之遞歸神經網路或遞歸神經網路模型能使用梯度剪裁技術以限制該序列至序列之遞歸神經網路或遞歸神經網路模型之最大梯度為一梯度門檻值;以及第一遞歸神經網路與第二遞歸神經網路,係互相連接以組成能使用該梯度剪裁技術限制該最大梯度為該梯度門檻值之該序列至序列之遞歸神經網路或遞歸神經網路模型,且該第一遞歸神經網路與該第二遞歸神經網路互相連接所組成之能使用該梯度剪裁技術限制該最大梯度為該梯度門檻值之該序列至序列之遞歸神經網路或遞歸神經網路模型於該訓練過程中學習給定該輸入語句即生成出對應之該對話回應語句,其中,能使用該梯度剪裁技術限制該最大梯度為該梯度門檻值之該序列至序列之遞歸神經網路或遞歸神經網路模型之該第二遞歸神經網路所連接之該第一遞歸神經網路係一個時間區間讀取一個字元以序列式地讀取該輸入語句之序列,再由能使用該梯度剪裁技術限制該最大梯度為該梯度門檻值之該序列至序列之遞歸神經網路或遞歸神經網路模型之該第二遞歸神經網路將所連接之該第一遞歸神經網路中之最後一個隱藏層進行解碼以產生對應於該輸入語句之該對話回應語句。
- 如請求項1所述之對話回應語句生成系統,更包括語意雲語意理解子系統與自然語言處理語料庫,以由該語意雲語意理解子系統提供該輸入語句作為該訓練語料前處理模組之輸入,且將該輸入語句所對應之合適之該對話回應語句作為該訓練語料前處理模組之輸出,俾供該訓練 語料前處理模組從該自然語言處理語料庫之複數自然語言處理語料中選擇該合適之該對話回應語句。
- 如請求項1所述之對話回應語句生成系統,其中,該訓練語料前處理模組係進一步將各該輸入語句進行斷詞,以由該訓練語料前處理模組利用預訓練之詞向量模型將各該輸入語句之斷詞轉換為詞向量。
- 如請求項1所述之對話回應語句生成系統,其中,該訓練語料前處理模組係進一步計算出該輸入語句之所有詞向量之平均向量,以將該平均向量作為代表該輸入語句之句向量,且該句向量具有該輸入語句之語意之特徵值。
- 如請求項1所述之對話回應語句生成系統,其中,該訓練語料前處理模組更尋找與該輸入語句之相似度最高之最前面數個對話回應語句,且該訓練語料前處理模組從相似度最高之對話回應語句開始挑選,俾為各該輸入語句挑選出對應之合適之該對話回應語句作為訓練語料。
- 如請求項1所述之對話回應語句生成系統,其中,該第一遞歸神經網路係使用雙向長短期記憶網路,以由該雙向長短期記憶網路於一個時間區間讀取一個字元以序列式地讀取該輸入語句之序列,且在每個時間區間更新該雙向長短期記憶網路中之順向長短期記憶網路之隱藏層參數。
- 如請求項1所述之對話回應語句生成系統,其中,該第二遞歸神經網路更在每個時間區間輸出一個獨熱編碼之向量,且該獨熱編碼之向量係藉由softmax激活函數計算該對話回應語句之條件機率分布而取得。
- 如請求項1所述之對話回應語句生成系統,其中,該第一遞歸神經網路與該第二遞歸神經網路係同時利用最大化對數可能性進行訓練。
- 如請求項1所述之對話回應語句生成系統,更包括具有注意力機制之注意力模組,以將該注意力機制加入該第一遞歸神經網路與該第二遞歸神經網路所組成之該序列至序列之遞歸神經網路或遞歸神經網路模型中,且從該第一遞歸神經網路之複數隱藏層向量所組成之序列中選出包括最重要資訊之隱藏層向量。
- 一種利用遞歸神經網路之對話回應語句生成方法,包括:提供訓練語料前處理模組、第一遞歸神經網路與第二遞歸神經網路,且將該第一遞歸神經網路與該第二遞歸神經網路互相連接以組成序列至序列之遞歸神經網路或遞歸神經網路模型,其中,該序列至序列之遞歸神經網路或遞歸神經網路模型能使用梯度剪裁技術以限制該序列至序列之遞歸神經網路或遞歸神經網路模型之最大梯度為一梯度門檻值;由該訓練語料前處理模組將對應之輸入語句與對話回應語句進行匹配,以供能使用該梯度剪裁技術限制該最大梯度為該梯度門檻值之該序列至序列之遞歸神經網路或遞歸神經網路模型於訓練過程中運用相匹配之該輸入語句與該對話回應語句;以及由該第一遞歸神經網路與該第二遞歸神經網路互相連接所組成之能使用該梯度剪裁技術限制該最大梯度為該梯度門檻值之該序列至序列之遞歸神經網路或遞歸神經網路模型於該訓練過程中學習給定該輸入語句即生成出對應之該對話回應語句,其中,能使用該梯度剪裁技術限制該最大梯度為該梯度門檻值之該序列至序列之遞歸神經網路或遞歸神經網路模型之該第二遞歸神經網路所連接之該第一遞歸神經網路係一個時間區間讀取一個 字元以序列式地讀取該輸入語句之序列,再由能使用該梯度剪裁技術限制該最大梯度為該梯度門檻值之該序列至序列之遞歸神經網路或遞歸神經網路模型之該第二遞歸神經網路將所連接之該第一遞歸神經網路中之最後一個隱藏層進行解碼以產生對應於該輸入語句之該對話回應語句。
- 如請求項10所述之對話回應語句生成方法,更包括將來自語意雲語意理解子系統之該輸入語句作為該訓練語料前處理模組之輸入,且將該輸入語句所對應之合適之該對話回應語句作為該訓練語料前處理模組之輸出,俾供該訓練語料前處理模組從自然語言處理語料庫之複數自然語言處理語料中選擇該合適之該對話回應語句。
- 如請求項10所述之對話回應語句生成方法,更包括由該訓練語料前處理模組計算出該輸入語句之所有詞向量之平均向量,以將該平均向量作為代表該輸入語句之句向量,且該句向量具有該輸入語句之語意之特徵值。
- 如請求項10所述之對話回應語句生成方法,更包括由該訓練語料前處理模組尋找與該輸入語句之相似度最高之最前面數個對話回應語句,且由該訓練語料前處理模組從相似度最高之對話回應語句開始挑選,俾為各該輸入語句挑選出對應之合適之該對話回應語句作為訓練語料。
- 如請求項10所述之對話回應語句生成方法,更包括由該第二遞歸神經網路在每個時間區間輸出一個獨熱編碼之向量,其中,該獨熱編碼之向量係藉由softmax激活函數計算該對話回應語句之條件機率分布而取得。
- 如請求項10所述之對話回應語句生成方法,更包括將該第一遞歸神經網路與該第二遞歸神經網路同時利用最大化對數可能性進行訓練。
- 如請求項10所述之對話回應語句生成方法,更包括將注意力機制加入該第一遞歸神經網路與該第二遞歸神經網路所組成之該序列至序列之遞歸神經網路或遞歸神經網路模型中,且從該第一遞歸神經網路之複數隱藏層向量所組成之序列中選出包括最重要資訊之隱藏層向量。
- 如請求項10所述之對話回應語句生成方法,更包括使用長短期記憶網路作為該序列至序列之遞歸神經網路。
- 一種電腦可讀媒介,應用於計算裝置或電腦中,係儲存有指令,以執行如請求項10至17之任一者中利用遞歸神經網路之對話回應語句生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111110138A TWI828086B (zh) | 2022-03-18 | 2022-03-18 | 利用遞歸神經網路之對話回應語句生成系統、方法及電腦可讀媒介 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111110138A TWI828086B (zh) | 2022-03-18 | 2022-03-18 | 利用遞歸神經網路之對話回應語句生成系統、方法及電腦可讀媒介 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202338661A TW202338661A (zh) | 2023-10-01 |
TWI828086B true TWI828086B (zh) | 2024-01-01 |
Family
ID=89856251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111110138A TWI828086B (zh) | 2022-03-18 | 2022-03-18 | 利用遞歸神經網路之對話回應語句生成系統、方法及電腦可讀媒介 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI828086B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363690A (zh) * | 2018-02-08 | 2018-08-03 | 北京十三科技有限公司 | 基于神经网络的对话语义意图预测方法及学习训练方法 |
TW201935270A (zh) * | 2018-01-31 | 2019-09-01 | 中華電信股份有限公司 | 使用聊天機器人來分析對話內容的方法與系統 |
CN111414462A (zh) * | 2020-02-21 | 2020-07-14 | 网易(杭州)网络有限公司 | 一种对话语句确定方法、装置、计算机设备和介质 |
TWM615272U (zh) * | 2021-05-04 | 2021-08-01 | 翊盛國際有限公司 | 智慧型語音客服系統 |
TWI737965B (zh) * | 2018-03-26 | 2021-09-01 | 美商蘋果公司 | 用於藉由虛擬助理來提供自然語言互動之方法、電子裝置及非暫時性電腦可讀儲存媒體 |
-
2022
- 2022-03-18 TW TW111110138A patent/TWI828086B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201935270A (zh) * | 2018-01-31 | 2019-09-01 | 中華電信股份有限公司 | 使用聊天機器人來分析對話內容的方法與系統 |
CN108363690A (zh) * | 2018-02-08 | 2018-08-03 | 北京十三科技有限公司 | 基于神经网络的对话语义意图预测方法及学习训练方法 |
TWI737965B (zh) * | 2018-03-26 | 2021-09-01 | 美商蘋果公司 | 用於藉由虛擬助理來提供自然語言互動之方法、電子裝置及非暫時性電腦可讀儲存媒體 |
CN111414462A (zh) * | 2020-02-21 | 2020-07-14 | 网易(杭州)网络有限公司 | 一种对话语句确定方法、装置、计算机设备和介质 |
TWM615272U (zh) * | 2021-05-04 | 2021-08-01 | 翊盛國際有限公司 | 智慧型語音客服系統 |
Also Published As
Publication number | Publication date |
---|---|
TW202338661A (zh) | 2023-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111783462B (zh) | 基于双神经网络融合的中文命名实体识别模型及方法 | |
CN110083831B (zh) | 一种基于BERT-BiGRU-CRF的中文命名实体识别方法 | |
CN108628823B (zh) | 结合注意力机制和多任务协同训练的命名实体识别方法 | |
CN111985239B (zh) | 实体识别方法、装置、电子设备及存储介质 | |
US9830315B1 (en) | Sequence-based structured prediction for semantic parsing | |
CN110737758A (zh) | 用于生成模型的方法和装置 | |
CN114003698B (zh) | 一种文本检索方法、***、设备及存储介质 | |
CN112487820B (zh) | 一种中文医疗命名实体识别方法 | |
CN111767718B (zh) | 一种基于弱化语法错误特征表示的中文语法错误更正方法 | |
CN111599340A (zh) | 一种多音字读音预测方法、装置及计算机可读存储介质 | |
CN113268576B (zh) | 一种基于深度学习的部门语义信息抽取的方法及装置 | |
CN114912450B (zh) | 信息生成方法与装置、训练方法、电子设备和存储介质 | |
CN114548101A (zh) | 基于可回溯序列生成方法的事件检测方法和*** | |
CN111611791A (zh) | 一种文本处理的方法及相关装置 | |
CN114781380A (zh) | 一种融合多粒度信息的中文命名实体识别方法、设备和介质 | |
CN114492661B (zh) | 文本数据分类方法和装置、计算机设备、存储介质 | |
CN115600597A (zh) | 基于注意力机制和词内语义融合的命名实体识别方法、装置、***及存储介质 | |
CN114036950A (zh) | 一种医疗文本命名实体识别方法及*** | |
CN111708870A (zh) | 基于深度神经网络的问答方法、装置及存储介质 | |
CN115169349A (zh) | 基于albert的中文电子简历命名实体识别方法 | |
CN115017890A (zh) | 基于字音字形相似的文本纠错方法和装置 | |
US11966700B2 (en) | Neural tagger with deep multi-level model | |
Göker et al. | Neural text normalization for turkish social media | |
WO2023159759A1 (zh) | 模型的训练方法、情感消息生成方法和装置、设备、介质 | |
TWI828086B (zh) | 利用遞歸神經網路之對話回應語句生成系統、方法及電腦可讀媒介 |