亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于雙向LSTM神經網絡的語句識別方法及裝置與流程

文檔序號:11864648閱讀:629來源:國知局
基于雙向LSTM神經網絡的語句識別方法及裝置與流程

本發(fā)明涉及模式識別與自然語言理解技術領域,特別涉及基于雙向LSTM神經網絡的語句識別方法及裝置。



背景技術:

隨著互聯(lián)網信息的爆炸式增長,社區(qū)問答(CQA)門戶網站,如雅虎問答、Quora的和百度知道,正在快速發(fā)展。作為一個分享知識和經驗的平臺,CQA門戶網站已經積累了多個領域的形式多樣的數據,并以問題和候選答案的形式組織著。用戶通過CQA網站獲得答案知識主要包括兩個步驟。首先,檢索已發(fā)布的相似的問題,收集類似問題的候選答案。然后,根據對候選答案進行質量評估,獲得與用戶查詢相比最相關的答案。在用戶和CQA網站的交互過程中,句子相似度計算,具體地說是問題相似度計算起著關鍵性的作用。文本檢索會議TREC下的實時問答比賽正是為該研究而發(fā)起的一項國際性賽事。

TREC全稱Text REtrieval Conference,即文本檢索會議。它由一系列有關信息檢索的研討會構成,并包含多個子任務。例如,實時問答比賽針對推送的問題流,要求參賽系統(tǒng)實時地給出相應的答案。我們參賽的基本流程包括以下三個部分:用戶意圖理解、相似問題檢索以及答案質量評估和排序。由于強制的實時性和問題的開放性,相似度計算起著舉足輕重的作用。然而,由于詞的多義性和句子結構的多樣性,評估兩個句子之間的語義關聯(lián)度是一個非常復雜的任務。



技術實現要素:

鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的基于雙向LSTM神經網絡的語句識別方法及裝置。

本發(fā)明提供一種基于雙向LSTM神經網絡的語句識別方法,所述方法包括:

獲取第一輸入系統(tǒng)和第二輸入系統(tǒng)中語句的第一切詞序列

x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m};

建立兩個雙向LSTM神經網絡模型;

將所述第一切詞序列和所述第二切詞序列分別作為所述兩個雙向LSTM神經網絡模型的第一輸入序列和第二輸入序列;

通過所述雙向LSTM神經網絡模型的參數對所述第一輸入序列和所述第二輸入序列進行標準化,以獲得標準化后的第一輸出y1和第二輸出y2;

比較所述第一輸出y1和第二輸出y2,以實現語義識別;

其中,n為所述第一切詞序列的元素數量,m為所述第二切詞序列的元素數量。

優(yōu)選的,所述建立兩個雙向LSTM神經網絡模型,其中,每個雙向LSTM神經網絡模型包括:輸入、輸入門、遺忘門、記憶細胞、tanh函數、隱藏層、反饋部、輸出門;其中,在輸入的序列為t時,參數的計算公式如下:

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)xmt-1+Gdisremember(t)xmt+1+Ginput(t)xtanh(WmfGfeedback(t)+Wmh1ht-1+Wmh2ht+1+em);

Goutput(t)=sigmoid(WofGfeedback(t)+Woh1ht-1+Wom1mt-1+Woh2ht+1+Wom2mt+1+eo);

ht=Goutput(t)xmt;

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)函數為

tanh(x)函數為

softmaxk(x)函數為其中,xk為第k個softmax函數的輸入,k大于1,且小于K;

xt為序列為t時的輸入;

yt為序列為t時的輸出;

ht為序列為t時隱藏層的輸入;

mt為序列為t時記憶細胞的輸出;

ef為序列為t時反饋門的偏差值;

ei為序列為t時輸入門的偏差值;

ed為序列為t時遺忘門的偏差值;

em為序列為t時記憶細胞的偏差值;

eo為序列為t時輸出門的偏差值;

ey為序列為t時輸出的偏差值。

優(yōu)選的,

當t為1時,參數的計算公式如下:

Gfeedback(t)=sigmoid(Wfxxt+Wfh2ht+1+Wfm2mt+1+ef);

Ginput(t)=sigmoid(Wif Gfeedback(t)+Wih2ht+1+Wim2mt+1+ei);

Gdisremember(t)=sigmoid(Wdf Gfeedback(t)+Wdh2ht+1+Wdm2mt+1+ed);

mt=Gdisremember(t)x mt+1+Ginput(t)x tanh(Wmf Gfeedback(t)+Wmh2ht+1+em);

Goutput(t)=sigmoid(Wof Gfeedback(t)+Woh2ht+1+Wom2mt+1+eo);

ht=Goutput(t)x mt;

yt=softmaxk(Wyhht+ey);

當t為輸入x中的最后一個序列時,上述參數的計算公式如下:

Gfeedback(t)=sigmoid(Wfxxt+Wfh1ht-1+Wfm1mt-1+ef);

Ginput(t)=sigmoid(Wih1ht-1+Wim1mt-1+Wif Gfeedback(t)+ei);

Gdisremember(t)=sigmoid(Wdh1ht-1+Wdm1mt-1+Wdf Gfeedback(t)+ed);

mt=Gdisremember(t)x mt-1+Ginput(t)x tanh(Wmf Gfeedback(t)+Wmh1ht-1+em);

Goutput(t)=sigmoid(Wof Gfeedback(t)+Woh1ht-1+Wom1mt-1+eo);

ht=Goutput(t)x mt;

yt=softmaxk(Wyhht+ey)。

優(yōu)選的,

計算輸入的第一切詞序列中最后一個序列x1n時,參數的計算公式如下:

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+Wif Gfeedback(1_n)+Wih2h2_1+Wim2m2_1+ei);

Gdisremember(1_n)=sigmoid(Wdh1h1_n-1+Wdm1m1_n-1+Wdf Gfeedback(1_n)+Wdh2h2_1+Wdm2m2_1+ed);

m1_n=Gdisremember(1_n)xm1_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(Wof Gfeedback(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時,參數的計算公式如下:

Gfeedback(2_1)=sigmoid(Wfxx2_1+Wfh1h1_n+Wfm1m1_n+Wfh2h2_2+Wfm2m2_2+ef);

Ginput(2_1)=sigmoid(Wih1h1_n+Wim1m1_n+Wif Gfeedback(2_1)+Wih2h2_2+Wim2m2_2+ei);

Gdisremember(2_1)=sigmoid(Wdh1h1_n+Wdm1m1_n+Wdf Gfeedback(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(Wmf Gfeedback(2_1)+Wmh1h1_n+Wmh2h2_2+em);

Goutput(2_1)=sigmoid(Wof Gfeedback(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

優(yōu)選的,所述比較所述第一輸出y1和所述第二輸出y2是通過計算所述第一輸出y1和所述第二輸出y2的相似性。

優(yōu)選的,所述比較所述第一輸出y1和所述第二輸出y2是通過余弦相似性來計算相似性,計算公式為cose余弦值的范圍在[-1,1]之間,值越趨近于1,第一輸出y1和第二輸出y2相應的相似度也越高。

基于同樣的發(fā)明構思,本發(fā)明還提供一種基于LSTM神經網絡的語句識別裝置,所述裝置包括:

切詞獲取單元,用于獲取語句的切詞序列,獲取第一輸入系統(tǒng)和第二輸入系統(tǒng)中語句的第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m};

網絡模型建立單元,用于建立雙向LSTM神經網絡模型,建立兩個雙向LSTM神經網絡模型;

輸入選取單元,用于將所述切詞獲取單元獲取的切詞序列選擇作為所述網絡模型建立單元的輸入,將所述第一切詞序列和所述第二切詞序列分別作為所述兩個雙向LSTM神經網絡模型的第一輸入序列和第二輸入序列;

計算單元,用于將輸入選取單元選取的輸入引入所述網絡模型建立單元建立的雙向LSTM神經網絡模型的參數計算中計算,使得所述切詞序列標準化,以獲得標準化后的輸出,通過所述雙向LSTM神經網絡模型的參數對所述第一輸入序列和所述第二輸入序列進行標準化,以獲得標準化后的第一輸出y1和第二輸出y2;

比較單元,用于比較所述計算單元的輸出,比較所述第一輸出y1和第二輸出y2,以實現語義識別;

優(yōu)選的,所述網絡模型建立單元中的每個雙向LSTM神經網絡模型包括:輸入、輸入門、遺忘門、記憶細胞、tanh函數、隱藏層、反饋部、輸出門;其中,在輸入的序列為t時,參數的計算公式如下:

Gfeedback(t)=sigmoid(Wfxxt+Wfh1ht-1+Wfm1mt-1+Wfh2ht+1+Wfm2mt+1+ef);

Ginput(t)=sigmoid(Wih1ht-1+Wim1mt-1+Wif Gfeedback(t)+Wih2ht+1+Wim2mt+1+ei);

Gdisremember(t)=sigmoid(Wdh1ht-1+Wdm1mt-1+Wdf Gfeedback(t)+Wdh2ht+1+Wdm2mt+1+ed);

mt=Gdisremember(t)x mt-1+Gdisremember(t)x mt+1+Ginput(t)xtanh(Wmf Gfeedback(t)+Wmh1ht-1+Wmh2ht+1+em);

Goutput(t)=sigmoid(Wof Gfeedback(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)函數為

tanh(x)函數為

softmaxk(x)函數為其中,xk為第k個softmax函數的輸入,k大于1,且小于K;

xt為序列為t時的輸入;

yt為序列為t時的輸出;

ht為序列為t時隱藏層的輸入;

mt為序列為t時記憶細胞的輸出;

ef為序列為t時反饋門的偏差值;

ei為序列為t時輸入門的偏差值;

ed為序列為t時遺忘門的偏差值;

em為序列為t時記憶細胞的偏差值;

eo為序列為t時輸出門的偏差值;

ey為序列為t時輸出的偏差值。

優(yōu)選的,所述網絡模型建立單元中參數計算時,

當t為1時,參數的計算公式如下:

Gfeedback(t)=sigmoid(Wfxxt+Wfh2ht+1+Wfm2mt+1+ef);

Ginput(t)=sigmoid(Wif Gfeedback(t)+Wih2ht+1+Wim2mt+1+ei);

Gdisremember(t)=sigmoid(Wdf Gfeedback(t)+Wdh2ht+1+Wdm2mt+1+ed);

mt=Gdisremember(t)x mt+1+Ginput(t)x tanh(Wmf Gfeedback(t)+Wmh2ht+1+em);

Goutput(t)=sigmoid(Wof Gfeedback(t)+Woh2ht+1+Wom2mt+1+eo);

ht=Goutput(t)x mt

yt=softmaxk(Wyhht+ey);

當t為輸入x中的最后一個序列時,上述參數的計算公式如下:

Gfeedback(t)=sigmoid(Wfxxt+Wfh1ht-1+Wfm1mt-1+ef);

Ginput(t)=sigmoid(Wih1ht-1+Wim1mt-1+Wif Gfeedback(t)+ei);

Gdisremember(t)=sigmoid(Wdh1ht-1+Wdm1mt-1+Wdf Gfeedback(t)+ed);

mt=Gdisremember(t)x mt-1+Ginput(t)x tanh(Wmf Gfeedback(t)+Wmh1ht-1+em);

Goutput(t)=sigmoid(Wof Gfeedback(t)+Woh1ht-1+Wom1mt-1+eo);

ht=Goutput(t)x mt;

yt=softmaxk(Wyhht+ey)。

優(yōu)選的,所述網絡模型建立單元中參數計算時,

計算輸入的第一切詞序列中最后一個序列x1n時,參數的計算公式如下:

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時,參數的計算公式如下:

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(Wof Gfeedback(2_1)+Woh1h1_n+Wom1m1_n+Woh2h2_2+Wom2m2_2+eo);

h2_1=Goutput(2_1)xm2_1;

y2_1=softmaxk(Wyhh2_1+ey);

其中,1_n表示的是第一切詞序列x1中最后一個序列x1n;2_1表示的是第二切詞序列x2中第一序列x21,2_2表示的是第二切詞序列x2中第二序列x22。

優(yōu)選的,所述比較單元中比較所述第一輸出y1和所述第二輸出y2是通過計算所述第一輸出y1和所述第二輸出y2的相似性。

優(yōu)選的,所述比較單元中比較所述第一輸出y1和所述第二輸出y2是通過余弦相似性來計算相似性,計算公式為cosθ余弦值的范圍在[-1,1]之間,值越趨近于1,第一輸出y1和第二輸出y2相應的相似度也越高。

上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。

附圖說明

通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:

圖1示出了本發(fā)明一較佳實施方式的基于雙向LSTM神經網絡的語句識別方法的流程圖;

圖2示出了本發(fā)明一個實施例的雙向LSTM神經網絡的模型結構示意圖;

圖3示出了圖2中雙向LSTM神經網絡的模型的流程圖;

圖4示出了圖2中一實施例的結構圖;

圖5示出了圖2中又一實施例的結構圖;

圖6示出了本發(fā)明又一較佳實施方式的基于雙向LSTM神經網絡的語句識別裝置的流程圖。

具體實施方式

本申請?zhí)峁┗陔p向LSTM神經網絡的語句識別方法及裝置,解決了現有技術中的技術問題。

本申請實施例中的技術方案為解決上述的技術問題,總體思路如下:

實施例一

本申請?zhí)峁┑幕陔p向LSTM神經網絡的語句識別方法,請參閱圖1,具體包括如下步驟:

步驟100,獲取第一輸入系統(tǒng)和第二輸入系統(tǒng)中語句的第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m};n≥1且n為整數,m≥1且m為整數。

其中,所述步驟100中獲取第一輸入系統(tǒng)和第二輸入系統(tǒng)中語句的第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m},即為對第一輸入系統(tǒng)和第二輸入系統(tǒng)中的語句進行切詞后,獲得第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m}。

所述對第一輸入系統(tǒng)和第二輸入系統(tǒng)中的語句進行切詞,主要是以詞語為一個單位進行切詞,例如“語言的識別”切詞包括“語/言/的/識/別”、“語言/的/識別”、“語言的/識別”等,本申請中切詞主要是以詞語為單位,同時對詞語的詞性(例如動詞、介詞、名詞等)及位置作標記。

步驟200,建立兩個雙向LSTM神經網絡模型;

其中,所述步驟200中所述兩個雙向LSTM神經網絡模型包括輸入、輸出、向前迭代層、向后迭代層。請參閱圖2,所述兩個雙向LSTM神經網絡模型中向前迭代層與向后迭代層共同得到的結果為輸出結果。具體的,請參閱圖3,從輸入到隱藏層定義為一個雙向LSTM神經網絡,在每個雙向LSTM神經網絡中定義xt-1為輸入的第t-1個序列,xt為輸入的第t個序列,xt+1為輸入的第t+1個序列,……;第t個序列的雙向LSTM神經網絡包括反饋門、輸入門、輸出門、遺忘門、記憶細胞、tanh函數、隱藏層、乘法器。定義隱藏層輸出yt-1為輸出的第t-1個序列,yt為輸出的第t個序列,yt+1為輸出的第t+1個序列,……。

在輸入的序列為t時,參數的計算公式如下;

Gfeedback(t)=sigmoid(Wfxxt+Wfh1ht-1+Wfm1mt-1+Wfh2ht+1+Wfm2mt+1+ef);

Ginput(t)=sigmoid(Wih1ht-1+Wim1mt-1+Wif Gfeedback(t)+Wih2ht+1+Wim2mt+1+ei);

Gdisremember(t)=sigmoid(Wdh1ht-1+Wdm1mt-1+Wdf Gfeedback(t)+Wdh2ht+1+Wdm2mt+1+ed);

mt=Gdisremember(t)x mt-1+Gdisremember(t)x mt+1+Ginput(t)x tanh(Wmf Gfeedback(t)+Wmh1ht-1+Wmh2ht+1+em);

Goutput(t)=sigmoid(Wof Gfeedback(t)+Woh1ht-1+Wom1mt-1+Woh2ht+1+Wom2mt+1+eo);

ht=Goutput(t)x mt;

yt=softmaxk(Wyhht+ey);

其中,

Gfeedback(t)為序列為t時反饋門102的輸出;

Wfx1為序列為t時反饋門102與序列為t時輸入xt的權值;

Wfh1為序列為t時反饋門102與序列為t-1時隱藏層輸入ht-1之間的權值;

Wfh2為序列為t時反饋門102與序列為t+1時隱藏層輸入ht+1之間的權值;

Wfm1為序列為t時反饋門102與序列為t-1時記憶細胞輸入mt-1之間的權值;

Wfm2為序列為t時反饋門102與序列為t+1時記憶細胞輸入mt+1之間的權值;

Ginput(t)為序列為t時輸入門110的輸出;

Wih1為序列為t時輸入門110與序列為t-1時隱藏層輸入ht-1之間的權值;

Wih2為序列為t時輸入門110與序列為t+1時隱藏層輸入ht+1之間的權值;

Wim1為序列為t時輸入門110與序列為t-1時記憶細胞輸入mt-1之間的權值;

Wim2為序列為t時輸入門110與序列為t+1時記憶細胞輸入mt+1之間的權值;

Wif為序列為t時輸入門110與序列為t時反饋門102之間的權值;

Gdisremember(t)為序列為t時遺忘門109的輸出;

Wdh1為序列為t時遺忘門109與序列為t-1時隱藏層輸入ht-1之間的權值;

Wdh2為序列為t時遺忘門109與序列為t+1時隱藏層輸入ht+1之間的權值;

Wdm1為序列為t時遺忘門109與序列為t-1時記憶細胞輸入mt-1之間的權值;

Wdm2為序列為t時遺忘門109與序列為t+1時記憶細胞輸入mt+1之間的權值;

Wmf為序列為t時記憶細胞104與序列為t時反饋門102之間的權值;

Wmh1為序列為t時記憶細胞104與序列為t-1時隱藏層輸入ht-1之間的權值;

Wmh2為序列為t時記憶細胞104與序列為t+1時隱藏層輸入ht+1之間的權值;

Wof為序列為t時輸出門108與序列為t時反饋門102之間的權值;

Woh1為序列為t時輸出門108與序列為t-1時隱藏層輸入ht-1之間的權值;

Woh2為序列為t時輸出門108與序列為t+1時隱藏層輸入ht+1之間的權值;

Wom1為序列為t時輸出門108與序列為t-1時記憶細胞輸入mt-1之間的權值;

Wom2為序列為t時輸出門108與序列為t+1時記憶細胞輸入mt+1之間的權值;

Wyh為序列為t時輸出與序列為t時隱藏層106輸入ht之間的權值;

sigmoid(x)函數為

tanh(x)函數為

softmaxk(x)函數為其中,xk為第k個softmax函數的輸入,k大于1,且小于K;

xt為序列為t時的輸入101;

yt為序列為t時的輸出107;

ht為序列為t時隱藏層106的輸入;

mt為序列為t時記憶細胞104的輸出;

ef為序列為t時反饋門102的偏差值;

ei為序列為t時輸入門110的偏差值;

ed為序列為t時遺忘門109的偏差值;

em為序列為t時記憶細胞104的偏差值;

eo為序列為t時輸出門108的偏差值;

ey為序列為t時輸出107的偏差值。

另外,當t為1時,上述參數的計算公式如下:

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中的最后一個序列時,上述參數的計算公式如下:

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)。

步驟300,將所述第一切詞序列和所述第二切詞序列分別作為所述兩個雙向LSTM神經網絡模型的第一輸入序列和第二輸入序列;

其中,所述步驟300中將第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m}輸入步驟100中建立的兩個雙向LSTM神經網絡模型,作為雙向LSTM神經網絡模型中的輸入。

步驟400,通過所述雙向LSTM神經網絡模型的參數對所述第一輸入序列和所述第二輸入序列進行標準化,以獲得標準化后的第一輸出y1和第二輸出y2;

其中,所述步驟400中通過所述雙向LSTM神經網絡模型的參數對所述第一輸入序列和所述第二輸入序列進行標準化,具體為通過雙向LSTM神經網絡模型中的參數計算得出輸出y1和y2。

步驟500,比較所述第一輸出y1和第二輸出y2,以實現語義識別;

其中,所述步驟500中所述比較所述第一輸出y1和第二輸出y2通過計算所述第一輸出y1和所述第二輸出y2的相似性,具體為通過余弦相似性來計算,

計算其中cosθ余弦值的范圍在[-1,1]之間,值越趨近于1,代表兩個向量的方向越趨近于0,即第一輸出y1和第二輸出y2相應的相似度也越高,表示第一輸入系統(tǒng)中輸入的語句和第二輸入系統(tǒng)中輸入的語句語義相似度高。

所述比較所述第一輸出y1和第二輸出y2可以通過設置閥值來判斷第一輸入系統(tǒng)中語句與第二輸入系統(tǒng)中語句的語義等同程度。

本申請采用的余弦相似性來比較第一輸出y1和第二輸出y2,在其他實施方式中,也可以采用其他標準的相似性度量公式來計算。

實施例二

基于同樣的發(fā)明構思,本申請還提供一種基于雙向LSTM神經網絡的語句識別方法,請參閱圖4和圖5,本實施例與實施例一不同的是,實施例一是將第一輸入系統(tǒng)中的語句和第二輸入系統(tǒng)中的語句輸入雙向LSTM神經網絡模型中后是隔離開的,見圖4;而本實施例中將第一輸入系統(tǒng)中的語句和第二輸入系統(tǒng)中的語句輸入雙向LSTM神經網絡模型中后聯(lián)接起來,見圖5。

本申請?zhí)峁┑幕陔p向LSTM神經網絡的語句識別方法,請參閱圖1,具體包括如下步驟:

步驟100,獲取第一輸入系統(tǒng)和第二輸入系統(tǒng)中語句的第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m};n≥1且n為整數,m≥1且m為整數。

其中,所述步驟100中獲取第一輸入系統(tǒng)和第二輸入系統(tǒng)中語句的第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m},即為對第一輸入系統(tǒng)和第二輸入系統(tǒng)中的語句進行切詞后,獲得第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m}。

所述對第一輸入系統(tǒng)和第二輸入系統(tǒng)中的語句進行切詞,主要是以詞語為一個單位進行切詞,例如“語言的識別”切詞包括“語/言/的/識/別”、“語言/的/識別”、“語言的/識別”等,本申請中切詞主要是以詞語為單位,同時對詞語的詞性(例如動詞、介詞、名詞等)及位置作標記。

步驟200,建立兩個雙向LSTM神經網絡模型;

其中,所述步驟100中所述兩個雙向LSTM神經網絡模型包括輸入、輸出、向前迭代層、向后迭代層。請參閱圖2,所述兩個雙向LSTM神經網絡模型中向前迭代層與向后迭代層共同得到的結果為輸出結果。具體的,請參閱圖3,從輸入到隱藏層定義為一個雙向LSTM神經網絡,在每個雙向LSTM神經網絡中定義xt-1為輸入的第t-1個序列,xt為輸入的第t個序列,xt+1為輸入的第t+1個序列,……;第t個序列的雙向LSTM神經網絡包括反饋門、輸入門、輸出門、遺忘門、記憶細胞、tanh函數、隱藏層、乘法器。定義隱藏層輸出yt-1為輸出的第t-1個序列,yt為輸出的第t個序列,yt+1為輸出的第t+1個序列,……。

在輸入的序列為t時,參數的計算公式如下:

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時反饋門102的輸出;

Wfx1為序列為t時反饋門102與序列為t時輸入xt的權值;

Wfh1為序列為t時反饋門102與序列為t-1時隱藏層輸入ht-1之間的權值;

Wfh2為序列為t時反饋門102與序列為t+1時隱藏層輸入ht+1之間的權值;

Wfm1為序列為t時反饋門102與序列為t-1時記憶細胞輸入mt-1之間的權值;

Wfm2為序列為t時反饋門102與序列為t+1時記憶細胞輸入mt+1之間的權值;

Ginput(t)為序列為t時輸入門110的輸出;

Wih1為序列為t時輸入門110與序列為t-1時隱藏層輸入ht-1之間的權值;

Wih2為序列為t時輸入門110與序列為t+1時隱藏層輸入ht+1之間的權值;

Wim1為序列為t時輸入門110與序列為t-1時記憶細胞輸入mt-1之間的權值;

Wim2為序列為t時輸入門110與序列為t+1時記憶細胞輸入mt+1之間的權值;

Wif為序列為t時輸入門110與序列為t時反饋門102之間的權值;

Gdisremember(t)為序列為t時遺忘門109的輸出;

Wdh1為序列為t時遺忘門109與序列為t-1時隱藏層輸入ht-1之間的權值;

Wdh2為序列為t時遺忘門109與序列為t+1時隱藏層輸入ht+1之間的權值;

Wdm1為序列為t時遺忘門109與序列為t-1時記憶細胞輸入mt-1之間的權值;

Wdm2為序列為t時遺忘門109與序列為t+1時記憶細胞輸入mt+1之間的權值;

Wmf為序列為t時記憶細胞104與序列為t時反饋門102之間的權值;

Wmh1為序列為t時記憶細胞104與序列為t-1時隱藏層輸入ht-1之間的權值;

Wmh2為序列為t時記憶細胞104與序列為t+1時隱藏層輸入ht+1之間的權值;

Wof為序列為t時輸出門108與序列為t時反饋門102之間的權值;

Woh1為序列為t時輸出門108與序列為t-1時隱藏層輸入ht-1之間的權值;

Woh2為序列為t時輸出門108與序列為t+1時隱藏層輸入ht+1之間的權值;

Wom1為序列為t時輸出門108與序列為t-1時記憶細胞輸入mt-1之間的權值;

Wom2為序列為t時輸出門108與序列為t+1時記憶細胞輸入mt+1之間的權值;

Wyh為序列為t時輸出與序列為t時隱藏層106輸入ht之間的權值;

sigmoid(x)函數為

tanh(x)函數為

softmaxk(x)函數為其中,xk為第k個softmax函數的輸入,k大于1,且小于K;

xt為序列為t時的輸入101;

yt為序列為t時的輸出107;

ht為序列為t時隱藏層106的輸入;

mt為序列為t時記憶細胞104的輸出;

ef為序列為t時反饋門102的偏差值;

ei為序列為t時輸入門110的偏差值;

ed為序列為t時遺忘門109的偏差值;

em為序列為t時記憶細胞104的偏差值;

eo為序列為t時輸出門108的偏差值;

ey為序列為t時輸出107的偏差值。

當t為1時,上述參數的計算公式如下:

Gfeedback(t)=sigmoid(Wfxxt+Wfh2ht+1+Wfm2mt+1+ef);

Ginput(t)=sigmoid(Wif Gfeedback(t)+Wih2ht+1+Wim2mt+1+ei);

Gdisremember(t)=sigmoid(Wdf Gfeedback(t)+Wdh2ht+1+Wdm2mt+1+ed);

mt=Gdisremember(t)x mt+1+Ginput(t)x tanh(Wmf Gfeedback(t)+Wmh2ht+1+em);

Goutput(t)=sigmoid(Wof Gfeedback(t)+Woh2ht+1+Wom2mt+1+eo);

ht=Goutput(t)x mt

yt=softmaxk(Wyhht+ey)o

當t為輸入x中的最后一個序列時,上述參數的計算公式如下:

Gfeedback(t)=sigmoid(Wfxxt+Wfh1ht-1+Wfm1mt-1+ef);

Ginput(t)=sigmoid(Wih1ht-1+Wim1mt-1+Wif Gfeedback(t)+ei);

Gdisremember(t)=sigmoid(Wdh1ht-1+Wdm1mt-1+Wdf Gfeedback(t)+ed);

mt=Gdisremember(t)x mt-1+Ginput(t)x tanh(Wmf Gfeedback(t)+Wmh1ht-1+em);

Goutput(t)=sigmoid(Wof Gfeedback(t)+Woh1ht-1+Wom1mt-1+eo);

ht=Goutput(t)x mt

yt=softmaxk(Wyhht+ey)。

步驟300,將所述第一切詞序列和所述第二切詞序列分別作為所述兩個雙向LSTM神經網絡模型的第一輸入序列和第二輸入序列;

其中,所述步驟300中將第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m}輸入步驟100中建立的兩個雙向LSTM神經網絡模型,作為雙向LSTM神經網絡模型中的輸入。

步驟400,通過所述雙向LSTM神經網絡模型的參數對所述第一輸入序列和所述第二輸入序列進行標準化,以獲得標準化后的第一輸出y1和第二輸出y2;

其中,所述步驟400中通過所述雙向LSTM神經網絡模型的參數對所述第一輸入序列和所述第二輸入序列進行標準化,具體為通過雙向LSTM神經網絡模型中的參數對輸入的第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m}計算得出輸出y1和y2。

本實施例中通過雙向LSTM神經網絡模型中的參數計算得出輸出y1和y2時,與實施例一中不同的是計算輸入的第一切詞序列中最后一個序列x1n和計算輸入的第二切詞序列中第一個序列x21時,具體如下:

計算輸入的第一切詞序列中最后一個序列x1n時,

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+Wif Gfeedback(1_n)+Wih2h2_1+Wim2m2_1+ei);

Gdisremember(1_n)=sigmoid(Wdh1h1_n-1+Wdm1m1_n-1+Wdf Gfeedback(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(Wof Gfeedback(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時,

Gfeedback(2_1)=sigmoid(Wfxx2_1+Wfh1h1_n+Wfm1m1_n+Wfh2h2_2+Wfm2m2_2+ef);

Ginput(2_1)=sigmoid(Wih1h1_n+Wim1m1_n+Wif Gfeedback(2_1)+Wih2h2_2+Wim2m2_2+ei);

Gdisremember(2_1)=sigmoid(Wdh1h1_n+Wdm1m1_n+Wdf Gfeedback(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(Wmf Gfeedback(2_1)+Wmh1h1_n+Wmh2h2_2+em);

Goutput(2_1)=sigmoid(Wof Gfeedback(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。

步驟500,比較所述第一輸出y1和第二輸出y2,以實現語義識別;

其中,所述步驟500中所述比較所述第一輸出y1和第二輸出y2通過計算所述第一輸出y1和所述第二輸出y2的相似性,具體為通過余弦相似性來計算,

計算其中cosθ余弦值的范圍在[-1,1]之間,值越趨近于1,代表兩個向量的方向越趨近于0,即第一輸出y1和第二輸出y2相應的相似度也越高,表示第一輸入系統(tǒng)中輸入的語句和第二輸入系統(tǒng)中輸入的語句語義相似度高。

所述比較所述第一輸出y1和第二輸出y2可以通過設置閥值來判斷第一輸入系統(tǒng)中語句與第二輸入系統(tǒng)中語句的語義等同程度。

實施例二中將第一輸入系統(tǒng)和第二輸入系統(tǒng)中的兩個語句聯(lián)接起來,提高了對所述兩個語句相關性判斷的準確性。

基于同樣的發(fā)明構思,本申請還提供一種基于LSTM神經網絡的語句識別裝置,請參閱圖6,所述裝置包括:

切詞獲取單元601,用于獲取語句的切詞序列,獲取第一輸入系統(tǒng)和第二輸入系統(tǒng)中語句的第一切詞序列x1={x11,x12,……,x1n}和第二切詞序列x2={x21,x22,……,x2m};

網絡模型建立單元602,用于建立雙向LSTM神經網絡模型,建立兩個雙向LSTM神經網絡模型;

所述網絡模型建立單元中的每個雙向LSTM神經網絡模型包括:輸入、輸入門、遺忘門、記憶細胞、tanh函數、隱藏層、反饋部、輸出門;其中,在輸入的序列為t時,參數的計算公式如下:

Gfeedback(t)=sigmoid(Wfxxt+Wfh1ht-1+Wfm1mt-1+Wfh2ht+1+Wfm2mt+1+ef);

Ginput(t)=sigmoid(Wih1ht-1+Wim1mt-1+Wif Gfeedback(t)+Wih2ht+1+Wim2mt+1+ei);

Gdisremember(t)=sigmoid(Wdh1ht-1+Wdm1mt-1+Wdf Gfeedback(t)+Wdh2ht+1+Wdm2mt+1+ed);

mt=Gdisremember(t)x mt-1+Gdisremember(t)x mt+1+Ginput(t)x tanh(Wmf Gfeedback(t)+Wmh1ht-1+Wmh2ht+1+em);

Goutput(t)=sigmoid(Wof Gfeedback(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)函數為

tanh(x)函數為

softmaxk(x)函數為其中,xk為第k個softmax函數的輸入,k大于1,且小于K;

xt為序列為t時的輸入;

yt為序列為t時的輸出;

ht為序列為t時隱藏層的輸入;

mt為序列為t時記憶細胞的輸出;

ef為序列為t時反饋門的偏差值;

ei為序列為t時輸入門的偏差值;

ed為序列為t時遺忘門的偏差值;

em為序列為t時記憶細胞的偏差值;

eo為序列為t時輸出門的偏差值;

ey為序列為t時輸出的偏差值。

作為一方面,請參閱圖4,所述網絡模型建立單元的兩個模型相互不聯(lián)接時,所述網絡模型建立單元中參數計算時,

當t為1時,參數的計算公式如下:

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中的最后一個序列時,上述參數的計算公式如下:

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)。

作為另一方面,請參閱圖5,所述網絡模型建立單元的兩個模型相互聯(lián)接時,所述網絡模型建立單元中參數計算時,計算輸入的第一切詞序列中最后一個序列x1n時,參數的計算公式如下:

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)xtanh(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時,參數的計算公式如下:

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)xm1_n+Gdisremember(2_1)xm2_2+Ginput(2_1)xtanh(Wmf Gfeedback(2_1)+Wmh1h1_n+Wmh2h2_2+em);

Goutput(2_1)=sigmoid(Wof Gfeedback(2_1)+Woh1h1_n+Wom1m1_n+Woh2h2_2+Wom2m2_2+eo);

h2_1=Goutput(2_1)xm2_1;

y2_1=softmaxk(Wyhh2_1+ey);

其中,1_n表示的是第一切詞序列x1中最后一個序列x1n;2_1表示的是第二切詞序列x2中第一序列x21,2_2表示的是第二切詞序列x2中第二序列x22

輸入選取單元603,用于將所述切詞獲取單元獲取的切詞序列選擇作為所述網絡模型建立單元的輸入,將所述第一切詞序列和所述第二切詞序列分別作為所述兩個雙向LSTM神經網絡模型的第一輸入序列和第二輸入序列;

計算單元604,用于將輸入選取單元選取的輸入引入所述網絡模型建立單元建立的雙向LSTM神經網絡模型的參數計算中計算,使得所述切詞序列標準化,以獲得標準化后的輸出,通過所述雙向LSTM神經網絡模型的參數對所述第一輸入序列和所述第二輸入序列進行標準化,以獲得標準化后的第一輸出y1和第二輸出y2;

比較單元605,用于比較所述計算單元的輸出,比較所述第一輸出y1和第二輸出y2,以實現語義識別;

所述比較單元中比較所述第一輸出y1和所述第二輸出y2是通過計算所述第一輸出y1和所述第二輸出y2的相似性。所述比較單元中比較所述第一輸出y1和所述第二輸出y2是通過余弦相似性來計算相似性,計算公式為cosθ余弦值的范圍在[-1,1]之間,值越趨近于1,第一輸出y1和第二輸出y2相應的相似度也越高。

最后所應說明的是,以上具體實施方式僅用以說明本發(fā)明的技術方案而非限制,盡管參照實例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發(fā)明的技術方案進行修改或者等同替換,而不脫離本發(fā)明技術方案的精神和范圍,其均應涵蓋在本發(fā)明的權利要求范圍當中。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1