CN106126492A - 基于双向lstm神经网络的语句识别方法及装置 - Google Patents
基于双向lstm神经网络的语句识别方法及装置 Download PDFInfo
- Publication number
- CN106126492A CN106126492A CN201610394281.2A CN201610394281A CN106126492A CN 106126492 A CN106126492 A CN 106126492A CN 201610394281 A CN201610394281 A CN 201610394281A CN 106126492 A CN106126492 A CN 106126492A
- Authority
- CN
- China
- Prior art keywords
- sequence
- input
- feedback
- output
- weights
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- X-Ray Techniques (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种基于双向LSTM神经网络的语句识别方法及装置,属于模式识别与自然语言理解技术领域。该方法包括:获取第一输入***和第二输入***中语句的第一切词序列x1={x11,x12,……,x1n}和第二切词序列x2={x21,x22,……,x2m};建立两个双向LSTM神经网络模型;将第一切词序列和第二切词序列分别作为两个双向LSTM神经网络模型的第一输入序列和第二输入序列;通过双向LSTM神经网络模型的参数对第一输入序列和第二输入序列进行标准化,以获得标准化后的第一输出和第二输出;比较第一输出y1和第二输出y2,以实现语义识别。该装置通过切词获取单元获取语句切词序列,网络模型建立单元建立模型,并输入选取单元、计算单元、比较单元以实现语义理解。
Description
技术领域
本发明涉及模式识别与自然语言理解技术领域,特别涉及基于双向LSTM神经网络的语句识别方法及装置。
背景技术
随着互联网信息的***式增长,社区问答(CQA)门户网站,如雅虎问答、Quora的和百度知道,正在快速发展。作为一个分享知识和经验的平台,CQA门户网站已经积累了多个领域的形式多样的数据,并以问题和候选答案的形式组织着。用户通过CQA网站获得答案知识主要包括两个步骤。首先,检索已发布的相似的问题,收集类似问题的候选答案。然后,根据对候选答案进行质量评估,获得与用户查询相比最相关的答案。在用户和CQA网站的交互过程中,句子相似度计算,具体地说是问题相似度计算起着关键性的作用。文本检索会议TREC下的实时问答比赛正是为该研究而发起的一项国际性赛事。
TREC全称Text REtrieval Conference,即文本检索会议。它由一系列有关信息检索的研讨会构成,并包含多个子任务。例如,实时问答比赛针对推送的问题流,要求参赛***实时地给出相应的答案。我们参赛的基本流程包括以下三个部分:用户意图理解、相似问题检索以及答案质量评估和排序。由于强制的实时性和问题的开放性,相似度计算起着举足轻重的作用。然而,由于词的多义性和句子结构的多样性,评估两个句子之间的语义关联度是一个非常复杂的任务。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于双向LSTM神经网络的语句识别方法及装置。
本发明提供一种基于双向LSTM神经网络的语句识别方法,所述方法包括:
获取第一输入***和第二输入***中语句的第一切词序列
x1={x11,x12,……,x1n}和第二切词序列x2={x21,x22,……,x2m};
建立两个双向LSTM神经网络模型;
将所述第一切词序列和所述第二切词序列分别作为所述两个双向LSTM神经网络模型的第一输入序列和第二输入序列;
通过所述双向LSTM神经网络模型的参数对所述第一输入序列和所述第二输入序列进行标准化,以获得标准化后的第一输出y1和第二输出y2;
比较所述第一输出y1和第二输出y2,以实现语义识别;
其中,n为所述第一切词序列的元素数量,m为所述第二切词序列的元素数量。
优选的,所述建立两个双向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时输出的偏差值。
优选的,
当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)。
优选的,
计算输入的第一切词序列中最后一个序列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。
优选的,所述比较所述第一输出y1和所述第二输出y2是通过计算所述第一输出y1和所述第二输出y2的相似性。
优选的,所述比较所述第一输出y1和所述第二输出y2是通过余弦相似性来计算相似性,计算公式为cose余弦值的范围在[-1,1]之间,值越趋近于1,第一输出y1和第二输出y2相应的相似度也越高。
基于同样的发明构思,本发明还提供一种基于LSTM神经网络的语句识别装置,所述装置包括:
切词获取单元,用于获取语句的切词序列,获取第一输入***和第二输入***中语句的第一切词序列x1={x11,x12,……,x1n}和第二切词序列x2={x21,x22,……,x2m};
网络模型建立单元,用于建立双向LSTM神经网络模型,建立两个双向LSTM神经网络模型;
输入选取单元,用于将所述切词获取单元获取的切词序列选择作为所述网络模型建立单元的输入,将所述第一切词序列和所述第二切词序列分别作为所述两个双向LSTM神经网络模型的第一输入序列和第二输入序列;
计算单元,用于将输入选取单元选取的输入引入所述网络模型建立单元建立的双向LSTM神经网络模型的参数计算中计算,使得所述切词序列标准化,以获得标准化后的输出,通过所述双向LSTM神经网络模型的参数对所述第一输入序列和所述第二输入序列进行标准化,以获得标准化后的第一输出y1和第二输出y2;
比较单元,用于比较所述计算单元的输出,比较所述第一输出y1和第二输出y2,以实现语义识别;
优选的,所述网络模型建立单元中的每个双向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时输出的偏差值。
优选的,所述网络模型建立单元中参数计算时,
当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)。
优选的,所述网络模型建立单元中参数计算时,
计算输入的第一切词序列中最后一个序列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。
优选的,所述比较单元中比较所述第一输出y1和所述第二输出y2是通过计算所述第一输出y1和所述第二输出y2的相似性。
优选的,所述比较单元中比较所述第一输出y1和所述第二输出y2是通过余弦相似性来计算相似性,计算公式为cosθ余弦值的范围在[-1,1]之间,值越趋近于1,第一输出y1和第二输出y2相应的相似度也越高。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明一较佳实施方式的基于双向LSTM神经网络的语句识别方法的流程图;
图2示出了本发明一个实施例的双向LSTM神经网络的模型结构示意图;
图3示出了图2中双向LSTM神经网络的模型的流程图;
图4示出了图2中一实施例的结构图;
图5示出了图2中又一实施例的结构图;
图6示出了本发明又一较佳实施方式的基于双向LSTM神经网络的语句识别装置的流程图。
具体实施方式
本申请提供基于双向LSTM神经网络的语句识别方法及装置,解决了现有技术中的技术问题。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
实施例一
本申请提供的基于双向LSTM神经网络的语句识别方法,请参阅图1,具体包括如下步骤:
步骤100,获取第一输入***和第二输入***中语句的第一切词序列x1={x11,x12,……,x1n}和第二切词序列x2={x21,x22,……,x2m};n≥1且n为整数,m≥1且m为整数。
其中,所述步骤100中获取第一输入***和第二输入***中语句的第一切词序列x1={x11,x12,……,x1n}和第二切词序列x2={x21,x22,……,x2m},即为对第一输入***和第二输入***中的语句进行切词后,获得第一切词序列x1={x11,x12,……,x1n}和第二切词序列x2={x21,x22,……,x2m}。
所述对第一输入***和第二输入***中的语句进行切词,主要是以词语为一个单位进行切词,例如“语言的识别”切词包括“语/言/的/识/别”、“语言/的/识别”、“语言的/识别”等,本申请中切词主要是以词语为单位,同时对词语的词性(例如动词、介词、名词等)及位置作标记。
步骤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相应的相似度也越高,表示第一输入***中输入的语句和第二输入***中输入的语句语义相似度高。
所述比较所述第一输出y1和第二输出y2可以通过设置阀值来判断第一输入***中语句与第二输入***中语句的语义等同程度。
本申请采用的余弦相似性来比较第一输出y1和第二输出y2,在其他实施方式中,也可以采用其他标准的相似性度量公式来计算。
实施例二
基于同样的发明构思,本申请还提供一种基于双向LSTM神经网络的语句识别方法,请参阅图4和图5,本实施例与实施例一不同的是,实施例一是将第一输入***中的语句和第二输入***中的语句输入双向LSTM神经网络模型中后是隔离开的,见图4;而本实施例中将第一输入***中的语句和第二输入***中的语句输入双向LSTM神经网络模型中后联接起来,见图5。
本申请提供的基于双向LSTM神经网络的语句识别方法,请参阅图1,具体包括如下步骤:
步骤100,获取第一输入***和第二输入***中语句的第一切词序列x1={x11,x12,……,x1n}和第二切词序列x2={x21,x22,……,x2m};n≥1且n为整数,m≥1且m为整数。
其中,所述步骤100中获取第一输入***和第二输入***中语句的第一切词序列x1={x11,x12,……,x1n}和第二切词序列x2={x21,x22,……,x2m},即为对第一输入***和第二输入***中的语句进行切词后,获得第一切词序列x1={x11,x12,……,x1n}和第二切词序列x2={x21,x22,……,x2m}。
所述对第一输入***和第二输入***中的语句进行切词,主要是以词语为一个单位进行切词,例如“语言的识别”切词包括“语/言/的/识/别”、“语言/的/识别”、“语言的/识别”等,本申请中切词主要是以词语为单位,同时对词语的词性(例如动词、介词、名词等)及位置作标记。
步骤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相应的相似度也越高,表示第一输入***中输入的语句和第二输入***中输入的语句语义相似度高。
所述比较所述第一输出y1和第二输出y2可以通过设置阀值来判断第一输入***中语句与第二输入***中语句的语义等同程度。
实施例二中将第一输入***和第二输入***中的两个语句联接起来,提高了对所述两个语句相关性判断的准确性。
基于同样的发明构思,本申请还提供一种基于LSTM神经网络的语句识别装置,请参阅图6,所述装置包括:
切词获取单元601,用于获取语句的切词序列,获取第一输入***和第二输入***中语句的第一切词序列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,所述网络模型建立单元的两个模型相互不联接时,所述网络模型建立单元中参数计算时,
当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,所述网络模型建立单元的两个模型相互联接时,所述网络模型建立单元中参数计算时,计算输入的第一切词序列中最后一个序列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相应的相似度也越高。
最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种基于双向LSTM神经网络的语句识别方法,其特征在于,所述方法包括:
获取第一输入***和第二输入***中语句的第一切词序列x1={x11,x12,……,x1n}和第二切词序列x2={x21,x22,……,x2m};
建立两个双向LSTM神经网络模型;
将所述第一切词序列和所述第二切词序列分别作为所述两个双向LSTM神经网络模型的第一输入序列和第二输入序列;
通过所述双向LSTM神经网络模型的参数对所述第一输入序列和所述第二输入序列进行标准化,以获得标准化后的第一输出y1和第二输出y2;
比较所述第一输出y1和第二输出y2,以实现语义识别;
其中,n为所述第一切词序列的元素数量,m为所述第二切词序列的元素数量。
2.如权利要求1所述的语句识别方法,其特征在于,所述建立两个双向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)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)函数为
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时输出的偏差值。
3.如权利要求2所述的语句识别方法,其特征在于,
当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)。
4.如权利要求2所述的语句识别方法,其特征在于,
计算输入的第一切词序列中最后一个序列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(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的相似性;
作为优选,所述比较所述第一输出y1和所述第二输出y2是通过余弦相似性来计算相似性,计算公式为cosθ余弦值的范围在[-1,1]之间,值越趋近于1,第一输出y1和第二输出y2相应的相似度也越高。
6.一种基于LSTM神经网络的语句识别装置,其特征在于,所述装置包括:
切词获取单元,用于获取语句的切词序列,获取第一输入***和第二输入***中语句的第一切词序列x1={x11,x12,……,x1n}和第二切词序列x2=[x21,x22,……,x2m};
网络模型建立单元,用于建立双向LSTM神经网络模型,建立两个双向LSTM神经网络模型;
输入选取单元,用于将所述切词获取单元获取的切词序列选择作为所述网络模型建立单元的输入,将所述第一切词序列和所述第二切词序列分别作为所述两个双向LSTM神经网络模型的第一输入序列和第二输入序列;
计算单元,用于将输入选取单元选取的输入引入所述网络模型建立单元建立的双向LSTM神经网络模型的参数计算中计算,使得所述切词序列标准化,以获得标准化后的输出,通过所述双向LSTM神经网络模型的参数对所述第一输入序列和所述第二输入序列进行标准化,以获得标准化后的第一输出y1和第二输出y2;
比较单元,用于比较所述计算单元的输出,比较所述第一输出y1和第二输出y2,以实现语义识别。
7.如权利要求6所述的语句识别装置,其特征在于,所述网络模型建立单元中的每个双向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)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)函数为
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时输出的偏差值。
8.如权利要求7所述的语句识别装置,其特征在于,所述网络模型建立单元中参数计算时,
当t为1时,参数的计算公式如下:
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中的最后一个序列时,上述参数的计算公式如下:
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所述的语句识别装置,其特征在于,所述网络模型建立单元中参数计算时,
计算输入的第一切词序列中最后一个序列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(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的相似性;
作为优选,所述比较单元中比较所述第一输出y1和所述第二输出y2是通过余弦相似性来计算相似性,计算公式为cosθ余弦值的范围在[-1,1]之间,值越趋近于1,第一输出y1和第二输出y2相应的相似度也越高。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610394281.2A CN106126492B (zh) | 2016-06-07 | 2016-06-07 | 基于双向lstm神经网络的语句识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610394281.2A CN106126492B (zh) | 2016-06-07 | 2016-06-07 | 基于双向lstm神经网络的语句识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106126492A true CN106126492A (zh) | 2016-11-16 |
CN106126492B CN106126492B (zh) | 2019-02-05 |
Family
ID=57269873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610394281.2A Active CN106126492B (zh) | 2016-06-07 | 2016-06-07 | 基于双向lstm神经网络的语句识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126492B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598921A (zh) * | 2016-12-12 | 2017-04-26 | 清华大学 | 基于lstm模型的现代文到古诗的转换方法及装置 |
CN107031617A (zh) * | 2017-02-22 | 2017-08-11 | 湖北文理学院 | 一种汽车智能驾驶的方法及装置 |
CN107193865A (zh) * | 2017-04-06 | 2017-09-22 | 上海奔影网络科技有限公司 | 人机交互中自然语言意图理解方法及装置 |
CN107239859A (zh) * | 2017-06-05 | 2017-10-10 | 国网山东省电力公司电力科学研究院 | 基于串联长短期记忆循环神经网络的供热负荷预测方法 |
CN107784303A (zh) * | 2016-12-15 | 2018-03-09 | 平安科技(深圳)有限公司 | 车牌识别方法及装置 |
CN108280057A (zh) * | 2017-12-26 | 2018-07-13 | 厦门大学 | 一种基于blstm的微博谣言检测方法 |
CN108320740A (zh) * | 2017-12-29 | 2018-07-24 | 深圳和而泰数据资源与云技术有限公司 | 一种语音识别方法、装置、电子设备及存储介质 |
CN108596334A (zh) * | 2018-03-23 | 2018-09-28 | 大国创新智能科技(东莞)有限公司 | 基于双向深度学习的数据对应关系判断、生成方法和*** |
CN108681574A (zh) * | 2018-05-07 | 2018-10-19 | 中国科学院合肥物质科学研究院 | 一种基于文本摘要的非事实类问答答案选择方法及*** |
CN108932342A (zh) * | 2018-07-18 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 一种语义匹配的方法、模型的学习方法及服务器 |
CN109933661A (zh) * | 2019-04-03 | 2019-06-25 | 上海乐言信息科技有限公司 | 一种基于深度生成模型的半监督问答对归纳方法和*** |
CN110175996A (zh) * | 2019-05-29 | 2019-08-27 | 中国人民解放军陆军军医大学第二附属医院 | 一种基于cmr双向循环网络的心衰自动分级方法 |
CN110188342A (zh) * | 2019-04-19 | 2019-08-30 | 杭州电子科技大学 | 一种基于知识图谱与语义图技术的口语理解方法 |
CN111175852A (zh) * | 2019-12-27 | 2020-05-19 | 中国电子科技集团公司第十四研究所 | 一种基于长短时记忆算法的机场大雾预报预警方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104538028A (zh) * | 2014-12-25 | 2015-04-22 | 清华大学 | 一种基于深度长短期记忆循环神经网络的连续语音识别方法 |
CN104834747A (zh) * | 2015-05-25 | 2015-08-12 | 中国科学院自动化研究所 | 基于卷积神经网络的短文本分类方法 |
US20150356075A1 (en) * | 2014-06-06 | 2015-12-10 | Google Inc. | Generating representations of input sequences using neural networks |
CN105279495A (zh) * | 2015-10-23 | 2016-01-27 | 天津大学 | 一种基于深度学习和文本总结的视频描述方法 |
CN105389772A (zh) * | 2015-12-02 | 2016-03-09 | 百度在线网络技术(北京)有限公司 | 基于图形处理器的数据处理方法和装置 |
-
2016
- 2016-06-07 CN CN201610394281.2A patent/CN106126492B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150356075A1 (en) * | 2014-06-06 | 2015-12-10 | Google Inc. | Generating representations of input sequences using neural networks |
CN104538028A (zh) * | 2014-12-25 | 2015-04-22 | 清华大学 | 一种基于深度长短期记忆循环神经网络的连续语音识别方法 |
CN104834747A (zh) * | 2015-05-25 | 2015-08-12 | 中国科学院自动化研究所 | 基于卷积神经网络的短文本分类方法 |
CN105279495A (zh) * | 2015-10-23 | 2016-01-27 | 天津大学 | 一种基于深度学习和文本总结的视频描述方法 |
CN105389772A (zh) * | 2015-12-02 | 2016-03-09 | 百度在线网络技术(北京)有限公司 | 基于图形处理器的数据处理方法和装置 |
Non-Patent Citations (3)
Title |
---|
JONAS MUELLER, ADITYA THYAGARAJAN: "Siamese Recurrent Architectures for Learning Sentence Similarity", 《PROCEEDINGS OF THE THIRTIETH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE 》 * |
MING TAN, CICERO DOS SANTOS, BING XIANG, BOWEN ZHOU: "LSTM-based Deep Learning Models for Non-factoid Answer Selection", 《ICLR 2016》 * |
庄毅: "《面向互联网的多媒体大数据信息高效查询处理》", 1 June 2015 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598921A (zh) * | 2016-12-12 | 2017-04-26 | 清华大学 | 基于lstm模型的现代文到古诗的转换方法及装置 |
CN107784303A (zh) * | 2016-12-15 | 2018-03-09 | 平安科技(深圳)有限公司 | 车牌识别方法及装置 |
CN107031617A (zh) * | 2017-02-22 | 2017-08-11 | 湖北文理学院 | 一种汽车智能驾驶的方法及装置 |
CN107193865B (zh) * | 2017-04-06 | 2020-03-10 | 上海奔影网络科技有限公司 | 人机交互中自然语言意图理解方法及装置 |
CN107193865A (zh) * | 2017-04-06 | 2017-09-22 | 上海奔影网络科技有限公司 | 人机交互中自然语言意图理解方法及装置 |
CN107239859A (zh) * | 2017-06-05 | 2017-10-10 | 国网山东省电力公司电力科学研究院 | 基于串联长短期记忆循环神经网络的供热负荷预测方法 |
CN107239859B (zh) * | 2017-06-05 | 2018-05-08 | 国网山东省电力公司电力科学研究院 | 基于串联长短期记忆循环神经网络的供热负荷预测方法 |
CN108280057A (zh) * | 2017-12-26 | 2018-07-13 | 厦门大学 | 一种基于blstm的微博谣言检测方法 |
CN108320740A (zh) * | 2017-12-29 | 2018-07-24 | 深圳和而泰数据资源与云技术有限公司 | 一种语音识别方法、装置、电子设备及存储介质 |
CN108596334A (zh) * | 2018-03-23 | 2018-09-28 | 大国创新智能科技(东莞)有限公司 | 基于双向深度学习的数据对应关系判断、生成方法和*** |
CN108596334B (zh) * | 2018-03-23 | 2021-01-01 | 大国创新智能科技(东莞)有限公司 | 基于双向深度学习的数据对应关系判断、生成方法和*** |
CN108681574A (zh) * | 2018-05-07 | 2018-10-19 | 中国科学院合肥物质科学研究院 | 一种基于文本摘要的非事实类问答答案选择方法及*** |
CN108681574B (zh) * | 2018-05-07 | 2021-11-05 | 中国科学院合肥物质科学研究院 | 一种基于文本摘要的非事实类问答答案选择方法及*** |
CN108932342A (zh) * | 2018-07-18 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 一种语义匹配的方法、模型的学习方法及服务器 |
CN109933661A (zh) * | 2019-04-03 | 2019-06-25 | 上海乐言信息科技有限公司 | 一种基于深度生成模型的半监督问答对归纳方法和*** |
CN109933661B (zh) * | 2019-04-03 | 2020-12-18 | 上海乐言信息科技有限公司 | 一种基于深度生成模型的半监督问答对归纳方法和*** |
CN110188342A (zh) * | 2019-04-19 | 2019-08-30 | 杭州电子科技大学 | 一种基于知识图谱与语义图技术的口语理解方法 |
CN110175996A (zh) * | 2019-05-29 | 2019-08-27 | 中国人民解放军陆军军医大学第二附属医院 | 一种基于cmr双向循环网络的心衰自动分级方法 |
CN111175852A (zh) * | 2019-12-27 | 2020-05-19 | 中国电子科技集团公司第十四研究所 | 一种基于长短时记忆算法的机场大雾预报预警方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106126492B (zh) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106126492A (zh) | 基于双向lstm神经网络的语句识别方法及装置 | |
CN108052588B (zh) | 一种基于卷积神经网络的文档自动问答***的构建方法 | |
CN108549658B (zh) | 一种基于语法分析树上注意力机制的深度学习视频问答方法及*** | |
CN107766324B (zh) | 一种基于深度神经网络的文本一致性分析方法 | |
CN107818164A (zh) | 一种智能问答方法及其*** | |
CN107423284B (zh) | 融合中文单词内部结构信息的句子表示的构建方法及*** | |
CN107870964B (zh) | 一种应用于答案融合***的语句排序方法及*** | |
CN108229582A (zh) | 一种面向医学领域的多任务命名实体识别对抗训练方法 | |
CN106855853A (zh) | 基于深度神经网络的实体关系抽取*** | |
CN106484664A (zh) | 一种短文本间相似度计算方法 | |
CN106295796A (zh) | 基于深度学习的实体链接方法 | |
CN105279495A (zh) | 一种基于深度学习和文本总结的视频描述方法 | |
CN110910283A (zh) | 生成法律文书的方法、装置、设备和存储介质 | |
DE112013004082T5 (de) | Suchsystem der Emotionsentität für das Microblog | |
CN109933668B (zh) | 简体汉语文本可读性的分级评估建模方法 | |
CN107491784A (zh) | 基于深度学习算法的烟叶近红外光谱定量建模方法及应用 | |
CN110321563A (zh) | 基于混合监督模型的文本情感分析方法 | |
CN112686056B (zh) | 一种情感分类方法 | |
CN109522545A (zh) | 一种对多轮对话连贯性质量的评估方法 | |
CN108257052A (zh) | 一种在线学生知识评估方法及其*** | |
CN102662931A (zh) | 一种基于协同神经网络的语义角色标注方法 | |
CN107688583A (zh) | 创建用于自然语言处理装置的训练数据的方法和设备 | |
CN108170675A (zh) | 一种面向医疗领域基于深度学习的命名实体识别方法 | |
CN111460145A (zh) | 一种学习资源推荐方法、设备及存储介质 | |
CN108388944A (zh) | Lstm神经网络芯片及其使用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200729 Address after: 410000 room 1301, building 8, Xincheng science and Technology Park, 588 yueluxi West Avenue, Changsha high tech Development Zone, Changsha City, Hunan Province Patentee after: Hunan Sifang Tianjian Information Technology Co., Ltd Address before: 100055, room 1, building 248, 1401 Guang'an Avenue, Xicheng District, Beijing Patentee before: BEIJING GAODIG INFORMATION TECHNOLOGY Co.,Ltd. |