1.一種基于雙向LSTM神經網絡的語句識別方法,其特征在于,所述方法包括:
獲取第一輸入系統(tǒng)和第二輸入系統(tǒng)中語句的第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m};
建立兩個雙向LSTM神經網絡模型;
將所述第一切詞序列和所述第二切詞序列分別作為所述兩個雙向LSTM神經網絡模型的第一輸入序列和第二輸入序列;
通過所述雙向LSTM神經網絡模型的參數(shù)對所述第一輸入序列和所述第二輸入序列進行標準化,以獲得標準化后的第一輸出y1和第二輸出y2;
比較所述第一輸出y1和第二輸出y2,以實現(xiàn)語義識別;
其中,n為所述第一切詞序列的元素數(shù)量,m為所述第二切詞序列的元素數(shù)量。
2.如權利要求1所述的語句識別方法,其特征在于,所述建立兩個雙向LSTM神經網絡模型,其中,每個雙向LSTM神經網絡模型包括:輸入、輸入門、遺忘門、記憶細胞、tanh函數(shù)、隱藏層、反饋部、輸出門;其中,在輸入的序列為t時,參數(shù)的計算公式如下:
Gfeedback(t)=sigmoid(Wfxxt+Wfh1ht-1+Wfm1mt-1+Wfh2ht+1+Wfm2mt+1+ef);
Ginput(t)=sigmoid(Wih1ht-1+Wim1mt-1+WifGfeedback(t)+Wih2ht+1+Wim2mt+1+ei);
Gdisremember(t)=sigmoid(Wdh1ht-1+Wdm1mt-1+WdfGfeedback(t)+Wdh2ht+1+Wdm2mt+1+ed);
mt=Gdisremember(t)x mt-1+Gdisremember(t)x mt+1+Ginput(t)x tanh(WmfGfeedback(t)+Wmh1ht-1+Wmh2ht+1+em);
Goutput(t)=sigmoid(WofGfeedback(t)+Woh1ht-1+Wom1mt-1+Woh2ht+1+Wom2mt+1+eo);
ht=Goutput(t)x mt;
yt=softmaxk(Wyhht+ey);
其中,
Gfeedback(t)為序列為t時反饋門的輸出;
Wfx1為序列為t時反饋門與序列為t時輸入xt的權值;
Wfh1為序列為t時反饋門與序列為t-1時隱藏層輸入ht-1之間的權值;
Wfh2為序列為t時反饋門與序列為t+1時隱藏層輸入ht+1之間的權值;
Wfm1為序列為t時反饋門與序列為t-1時記憶細胞輸入mt-1之間的權值;
Wfm2為序列為t時反饋門與序列為t+1時記憶細胞輸入mt+1之間的權值;
Ginput(t)為序列為t時輸入門的輸出;
Wih1為序列為t時輸入門與序列為t-1時隱藏層輸入ht-1之間的權值;
Wih2為序列為t時輸入門與序列為t+1時隱藏層輸入ht+1之間的權值;
Wim1為序列為t時輸入門與序列為t-1時記憶細胞輸入mt-1之間的權值;
Wim2為序列為t時輸入門與序列為t+1時記憶細胞輸入mt+1之間的權值;
Wif為序列為t時輸入門與序列為t時反饋門之間的權值;
Gdisremember(t)為序列為t時遺忘門的輸出;
Wdh1為序列為t時遺忘門與序列為t-1時隱藏層輸入ht-1之間的權值;
Wdh2為序列為t時遺忘門與序列為t+1時隱藏層輸入ht+1之間的權值;
Wdm1為序列為t時遺忘門與序列為t-1時記憶細胞輸入mt-1之間的權值;
Wdm2為序列為t時遺忘門與序列為t+1時記憶細胞輸入mt+1之間的權值;
Wmf為序列為t時記憶細胞與序列為t時反饋門之間的權值;
Wmh1為序列為t時記憶細胞與序列為t-1時隱藏層輸入ht-1之間的權值;
Wmh2為序列為t時記憶細胞與序列為t+1時隱藏層輸入ht+1之間的權值;
Wof為序列為t時輸出門與序列為t時反饋門之間的權值;
Woh1為序列為t時輸出門與序列為t-1時隱藏層輸入ht-1之間的權值;
Woh2為序列為t時輸出門與序列為t+1時隱藏層輸入ht+1之間的權值;
Wom1為序列為t時輸出門與序列為t-1時記憶細胞輸入mt-1之間的權值;
Wom2為序列為t時輸出門與序列為t+1時記憶細胞輸入mt+1之間的權值;
Wyh為序列為t時輸出與序列為t時隱藏層輸入ht之間的權值;
sigmoid(x)函數(shù)為
tanh(x)函數(shù)為
softmaxk(x)函數(shù)為其中,xk為第k個softmax函數(shù)的輸入,k大于1,且小于K;
xt為序列為t時的輸入;
yt為序列為t時的輸出;
ht為序列為t時隱藏層的輸入;
mt為序列為t時記憶細胞的輸出;
ef為序列為t時反饋門的偏差值;
ei為序列為t時輸入門的偏差值;
ed為序列為t時遺忘門的偏差值;
em為序列為t時記憶細胞的偏差值;
eo為序列為t時輸出門的偏差值;
ey為序列為t時輸出的偏差值。
3.如權利要求2所述的語句識別方法,其特征在于,
當t為1時,參數(shù)的計算公式如下:
Gfeedback(t)=sigmoid(Wfxxt+Wfh2ht+1+Wfm2mt+1+ef);
Ginput(t)=sigmoid(WifGfeedback(t)+Wih2ht+1+Wim2mt+1+ei);
Gdisremember(t)=sigmoid(WdfGfeedback(t)+Wdh2ht+1+Wdm2mt+1+ed);
mt=Gdisremember(t)x mt+1+Ginput(t)x tanh(WmfGfeedback(t)+Wmh2ht+1+em);
Goutput(t)=sigmoid(WofGfeedback(t)+Woh2ht+1+Wom2mt+1+eo);
ht=Goutput(t)x mt;
yt=softmaxk(Wyhht+ey);
當t為輸入x中的最后一個序列時,上述參數(shù)的計算公式如下:
Gfeedback(t)=sigmoid(Wfxxt+Wfh1ht-1+Wfm1mt-1+ef);
Ginput(t)=sigmoid(Wih1ht-1+Wim1mt-1+WifGfeedback(t)+ei);
Gdisremember(t)=sigmoid(Wdh1ht-1+Wdm1mt-1+WdfGfeedback(t)+ed);
mt=Gdisremember(t)x mt-1+Ginput(t)x tanh(WmfGfeedback(t)+Wmh1ht-1+em);
Goutput(t)=sigmoid(WofGfeedback(t)+Woh1ht-1+Wom1mt-1+eo);
ht=Goutput(t)x mt;
yt=softmaxk(Wyhht+ey)。
4.如權利要求2所述的語句識別方法,其特征在于,
計算輸入的第一切詞序列中最后一個序列x1n時,參數(shù)的計算公式如下:
Gfeedback(1_n)=sigmoid(Wfxx1_n+Wfh1h1_n-1+Wfm1m1_n-1+Wfh2h2_1+Wfm2m2_1+ef);
Ginput(1_n)=sigmoid(Wih1h1_n-1+Wim1m1_n-1+WifGfeedback(1_n)+Wih2h2_1+Wim2m2_1+ei);
Gdisremember(1_n)=sigmoid(Wdh1h1_n-1+Wdm1m1_n-1+WdfGfeedback(1_n)+Wdh2h2_1+Wdm2m2_1+ed);
m1_n=Gdisremember(1_n)x m1_n-1+Gdisremember(1_n)x m2_1+Ginput(1_n)x tanh(WmfGfeedback(1_n)+Wmh1h1_n-1+Wmh2h2_1+em);
Goutput(1_n)=sigmoid(WofGfeedback(1_n)+Woh1h1_n-1+Wom1m1_n-1+Woh2h2_1+Wom2m2_1+eo);
h1_n=Goutput(1_n)x m1_n;
y1_n=softmaxk(Wyhh1_n+ey);
其中,1_n表示的是第一切詞序列x1中最后一個序列x1n;2_1表示的是第二切詞序列x2中第一序列x21;
計算輸入的第二切詞序列中第一個序列x21時,參數(shù)的計算公式如下:
Gfeedback(2_1)=sigmoid(Wfxx2_1+Wfh1h1_n+Wfm1m1_n+Wfh2h2_2+Wfm2m2_2+ef);
Ginput(2_1)=sigmoid(Wih1h1_n+Wim1m1_n+WifGfeedback(2_1)+Wih2h2_2+Wim2m2_2+ei);
Gdisremember(2_1)=sigmoid(Wdh1h1_n+Wdm1m1_n+WdfGfeedback(2_1)+Wdh2h2_2+Wdm2m2_2+ed);
mt=Gdisremember(2_1)x m1_n+Gdisremember(2_1)x m2_2+Ginput(2_1)x tanh(WmfGfeedback(2_1)+Wmh1h1_n+Wmh2h2_2+em);
Goutput(2_1)=sigmoid(WofGfeedback(2_1)+Woh1h1_n+Wom1m1_n+Woh2h2_2+Wom2m2_2+eo);
h2_1=Goutput(2_1)x m2_1;
y2_1=softmaxk(Wyhh2_1+ey);
其中,1_n表示的是第一切詞序列x1中最后一個序列x1n;2_1表示的是第二切詞序列x2中第一序列x21,2_2表示的是第二切詞序列x2中第二序列x22。
5.如權利要求1至4任一所述的語句識別方法,其特征在于,所述比較所述第一輸出y1和所述第二輸出y2是通過計算所述第一輸出y1和所述第二輸出y2的相似性;
作為優(yōu)選,所述比較所述第一輸出y1和所述第二輸出y2是通過余弦相似性來計算相似性,計算公式為cosθ余弦值的范圍在[-1,1]之間,值越趨近于1,第一輸出y1和第二輸出y2相應的相似度也越高。
6.一種基于LSTM神經網絡的語句識別裝置,其特征在于,所述裝置包括:
切詞獲取單元,用于獲取語句的切詞序列,獲取第一輸入系統(tǒng)和第二輸入系統(tǒng)中語句的第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2=[x21,x22,……,x2m};
網絡模型建立單元,用于建立雙向LSTM神經網絡模型,建立兩個雙向LSTM神經網絡模型;
輸入選取單元,用于將所述切詞獲取單元獲取的切詞序列選擇作為所述網絡模型建立單元的輸入,將所述第一切詞序列和所述第二切詞序列分別作為所述兩個雙向LSTM神經網絡模型的第一輸入序列和第二輸入序列;
計算單元,用于將輸入選取單元選取的輸入引入所述網絡模型建立單元建立的雙向LSTM神經網絡模型的參數(shù)計算中計算,使得所述切詞序列標準化,以獲得標準化后的輸出,通過所述雙向LSTM神經網絡模型的參數(shù)對所述第一輸入序列和所述第二輸入序列進行標準化,以獲得標準化后的第一輸出y1和第二輸出y2;
比較單元,用于比較所述計算單元的輸出,比較所述第一輸出y1和第二輸出y2,以實現(xiàn)語義識別。
7.如權利要求6所述的語句識別裝置,其特征在于,所述網絡模型建立單元中的每個雙向LSTM神經網絡模型包括:輸入、輸入門、遺忘門、記憶細胞、tanh函數(shù)、隱藏層、反饋部、輸出門;其中,在輸入的序列為t時,參數(shù)的計算公式如下:
Gfeedback(t)=sigmoid(Wfxxt+Wfh1ht-1+Wfm1mt-1+Wfh2ht+1+Wfm2mt+1+ef);
Ginput(t)=sigmoid(Wih1ht-1+Wim1mt-1+WifGfeedback(t)+Wih2ht+1+Wim2mt+1+ei);
Gdisremember(t)=sigmoid(Wdh1ht-1+Wdm1mt-1+WdfGfeedback(t)+Wdh2ht+1+Wdm2mt+1+ed);
mt=Gdisremember(t)x mt-1+Gdisremember(t)x mt+1+Ginput(t)x tanh(WmfGfeedback(t)+Wmh1ht-1+Wmh2ht+1+em);
Goutput(t)=sigmoid(WofGfeedback(t)+Woh1ht-1+Wom1mt-1+Woh2ht+1+Wom2mt+1+eo);
ht=Goutput(t)x mt;
yt=softmaxk(Wyhht+ey);
其中,
Gfeedback(t)為序列為t時反饋門的輸出;
Wfx1為序列為t時反饋門與序列為t時輸入xt的權值;
Wfh1為序列為t時反饋門與序列為t-1時隱藏層輸入ht-1之間的權值;
Wfh2為序列為t時反饋門與序列為t+1時隱藏層輸入ht+1之間的權值;
Wfm1為序列為t時反饋門與序列為t-1時記憶細胞輸入mt-1之間的權值;
Wfm2為序列為t時反饋門與序列為t+1時記憶細胞輸入mt+1之間的權值;
Ginput(t)為序列為t時輸入門的輸出;
Wih1為序列為t時輸入門與序列為t-1時隱藏層輸入ht-1之間的權值;
Wih2為序列為t時輸入門與序列為t+1時隱藏層輸入ht+1之間的權值;
Wim1為序列為t時輸入門與序列為t-1時記憶細胞輸入mt-1之間的權值;
Wim2為序列為t時輸入門與序列為t+1時記憶細胞輸入mt+1之間的權值;
Wif為序列為t時輸入門與序列為t時反饋門之間的權值;
Gdisremember(t)為序列為t時遺忘門的輸出;
Wdh1為序列為t時遺忘門與序列為t-1時隱藏層輸入ht-1之間的權值;
Wdh2為序列為t時遺忘門與序列為t+1時隱藏層輸入ht+1之間的權值;
Wdm1為序列為t時遺忘門與序列為t-1時記憶細胞輸入mt-1之間的權值;
Wdm2為序列為t時遺忘門與序列為t+1時記憶細胞輸入mt+1之間的權值;
Wmf為序列為t時記憶細胞與序列為t時反饋門之間的權值;
Wmh1為序列為t時記憶細胞與序列為t-1時隱藏層輸入ht-1之間的權值;
Wmh2為序列為t時記憶細胞與序列為t+1時隱藏層輸入ht+1之間的權值;
Wof為序列為t時輸出門與序列為t時反饋門之間的權值;
Woh1為序列為t時輸出門與序列為t-1時隱藏層輸入ht-1之間的權值;
Woh2為序列為t時輸出門與序列為t+1時隱藏層輸入ht+1之間的權值;
Wom1為序列為t時輸出門與序列為t-1時記憶細胞輸入mt-1之間的權值;
Wom2為序列為t時輸出門與序列為t+1時記憶細胞輸入mt+1之間的權值;
Wyh為序列為t時輸出與序列為t時隱藏層輸入ht之間的權值;
sigmoid(x)函數(shù)為
tanh(x)函數(shù)為
softmaxk(x)函數(shù)為其中,xk為第k個softmax函數(shù)的輸入,k大于1,且小于K;
xt為序列為t時的輸入;
yt為序列為t時的輸出;
ht為序列為t時隱藏層的輸入;
mt為序列為t時記憶細胞的輸出;
ef為序列為t時反饋門的偏差值;
ei為序列為t時輸入門的偏差值;
ed為序列為t時遺忘門的偏差值;
em為序列為t時記憶細胞的偏差值;
eo為序列為t時輸出門的偏差值;
ey為序列為t時輸出的偏差值。
8.如權利要求7所述的語句識別裝置,其特征在于,所述網絡模型建立單元中參數(shù)計算時,
當t為1時,參數(shù)的計算公式如下:
Gfeedback(t)=sigmoid(Wfxxt4Wfh2ht+1+Wfm2mt+1+ef);
Ginput(t)=sigmoid(WifGfeedback(t)+Wih2ht+1+Wim2mt+1+ei);
Gdisremember(t)=sigmoid(WdfGfeedback(t)+Wdh2ht+1+Wdm2mt+1+ed);
mt=Gdisremember(t)x mt+1+Ginput(t)x tanh(WmfGfeedback(t)+Wmh2ht+1+em);
Goutput(t)=sigmoid(WofGfeedback(t)+Woh2ht+1+Wom2mt+1+eo);
ht=Goutput(t)x mt;
yt=softmaxk(Wyhht+ey);
當t為輸入x中的最后一個序列時,上述參數(shù)的計算公式如下:
Gfeedback(t)=sigmoid(Wfxxt+Wfh1ht-1+Wfm1mt-1+ef);
Ginput(t)=sigmoid(Wih1ht-1+Wim1mt-1+WifGfeedback(t)+ei);
Gdisremember(t)=sigmoid(Wdh1ht-1+Wdm1mt-1+WdfGfeedback(t)+ed);
mt=Gdisremember(t)x mt-1+Ginput(t)x tanh(WmfGfeedback(t)+Wmh1ht-1+em);
Goutput(t)=sigmoid(WofGfeedback(t)+Woh1ht-1+Wom1mt-1+eo);
ht=Goutput(t)x mt;
yt=softmaxk(Wyhht+ey)。
9.如權利要求7所述的語句識別裝置,其特征在于,所述網絡模型建立單元中參數(shù)計算時,
計算輸入的第一切詞序列中最后一個序列x1n時,參數(shù)的計算公式如下:
Gfeedback(1_n)=sigmoid(Wfxx1_n+Wfh1h1_n-1+Wfm1m1_n-1+Wfh2h2_1+Wfm2m2_1+ef);
Ginput(1_n)=sigmoid(Wih1h1_n-1+Wim1m1_n-1+WifGfeedback(1_n)+Wih2h2_1+Wim2m2_1+ei);
Gdisremember(1_n)=sigmoid(Wdh1h1_n-1+Wdm1m1_n-1+WdfGfeedback(1_n)+Wdh2h2_1+Wdm2m2_1+ed);
m1_n=Gdisremember(1_n)x m1_n-1+Gdisremember(1_n)x m2_1+Ginput(1_n)x tanh(WmfGfeedback(1_n)+Wmh1h1_n-1+Wmh2h2_1+em);
Goutput(1_n)=sigmoid(WofGfeedback(1_n)+Woh1h1_n-1+Wom1m1_n-1+Woh2h2_1+Wom2m2_1+eo);
h1_n=Goutput(1_n)x m1_n;
y1_n=softmaxk(Wyhh1_n+ey);
其中,1_n表示的是第一切詞序列x1中最后一個序列x1n;2_1表示的是第二切詞序列x2中第一序列x21;
計算輸入的第二切詞序列中第一個序列x21時,參數(shù)的計算公式如下:
Gfeedback(2_1)=sigmoid(Wfxx2_1+Wfh1h1_n+Wfm1m1_n+Wfh2h2_2+Wfm2m2_2+ef);
Ginput(2_1)=sigmoid(Wih1h1_n+Wim1m1_n+WifGfeedback(2_1)+Wih2h2_2+Wim2m2_2+ei);
Gdisremember(2_1)=sigmoid(Wdh1h1_n+Wdm1m1_n+WdfGfeedback(2_1)+Wdh2h2_2+Wdm2m2_2+ed);
mt=Gdisremember(2_1)x m1_n+Gdisremember(2_1)x m2_2+Ginput(2_1)x tanh(WmfGfeedback(2_1)+Wmh1h1_n+Wmh2h2_2+em);
Goutput(2_1)=sigmoid(WofGfeedback(2_1)+Woh1h1_n+Wom1m1_n+Woh2h2_2+Wom2m2_2+eo);
h2_1=Goutput(2_1)x m2_1;
y2_1=softmaxk(Wyhh2_1+ey);
其中,1_n表示的是第一切詞序列x1中最后一個序列x1n;2_1表示的是第二切詞序列x2中第一序列x21,2_2表示的是第二切詞序列x2中第二序列x22。
10.如權利要求6至9任一所述的的語句識別裝置,其特征在于,所述比較單元中比較所述第一輸出y1和所述第二輸出y2是通過計算所述第一輸出y1和所述第二輸出y2的相似性;
作為優(yōu)選,所述比較單元中比較所述第一輸出y1和所述第二輸出y2是通過余弦相似性來計算相似性,計算公式為cosθ余弦值的范圍在[-1,1]之間,值越趨近于1,第一輸出y1和第二輸出y2相應的相似度也越高。