<kbd id='r4q5i6au'></kbd><address id='r4q5i6au'><style id='r4q5i6au'></style></address><button id='r4q5i6au'></button>

              <kbd id='r3enucdv'></kbd><address id='r3enucdv'><style id='r3enucdv'></style></address><button id='r3enucdv'></button>

                      <kbd id='26s9qjsz'></kbd><address id='26s9qjsz'><style id='26s9qjsz'></style></address><button id='26s9qjsz'></button>

                              <kbd id='tqs5iqkz'></kbd><address id='tqs5iqkz'><style id='tqs5iqkz'></style></address><button id='tqs5iqkz'></button>

                                      <kbd id='7or00i5v'></kbd><address id='7or00i5v'><style id='7or00i5v'></style></address><button id='7or00i5v'></button>

                                              <kbd id='ut6o9ygc'></kbd><address id='ut6o9ygc'><style id='ut6o9ygc'></style></address><button id='ut6o9ygc'></button>

                                                      <kbd id='b1fqwmq2'></kbd><address id='b1fqwmq2'><style id='b1fqwmq2'></style></address><button id='b1fqwmq2'></button>

                                                              <kbd id='p7mn7rc3'></kbd><address id='p7mn7rc3'><style id='p7mn7rc3'></style></address><button id='p7mn7rc3'></button>

                                                                      <kbd id='cjkdqbyn'></kbd><address id='cjkdqbyn'><style id='cjkdqbyn'></style></address><button id='cjkdqbyn'></button>

                                                                          威尼斯官网

                                                                          使用深度双向LSTM模型构造威尼斯官网

                                                                          日期: 2018-11-12 09:25:16 / 人气: 438

                                                                          关于社区威尼斯官网问题背景aaaa,我们在之前的“利用卷积神经网络构造威尼斯官网”一文里已经说明得很清楚aaa,本文就不再赘述aaaa,不清楚背景的读者可自行参照上文aaaa,我们这些相关的研发工作主要是为了开发畅捷通“会计家园”交流社区的相关功能aaaaa。为了保持行文完整aaaa,简明叙述形式化描述的问题如下:

                                                                          假设我们已知问答库如下:


                                                                          其中aaaa,Qi是问答社区中的历史问题aaaa,Ai是Qi问题的精华答案aaa;

                                                                          现有社区用户提出的新问题:Qnew

                                                                          我们需要学习映射函数:



                                                                          意即对于新问题Qnewaaaa,我们希望通过学习系统找到社区中已经出现过的语义相同问题Qiaaaaa,然后将对应的答案Ai推荐给用户aaaaa。这样就达到了社区信息复用的目的aaaaa。这个问题其实对于问答社区比如百度知道、知乎等都是存在的aaaa,解决问题的思路也完全可以复用到此类问答社区中aaa。
                                                                          除了上篇文章讲述的利用CNN来构造ML系统外aaaaa,我们还尝试了使用RNN及其改进模型LSTMaaa,本文主体内容即为使用深度双向LSTM构造社区威尼斯官网思路及效果aaaa。

                                                                          |深度双向LSTM模型



                                                                          图1 深度双向LSTM

                                                                          深度双向LSTM模型的结构如图1所示aaaa。首先强调一下aaaa,这个结构也是一个解决对比两个句子相似性的通用RNN解决方案aaaaa,不仅仅能够使用在问答社区aaaaa,凡是涉及到对比两个句子或者实体关系的场合完全可以套用这个模型来解决aaa,这点希望读者注意aaaa。

                                                                          首先aaaa,因为我们面临的问题是对比两个问题Qi和Qj是否语义相同aaaa,那么对于RNN来说存在一个神经网络的输入层如何构造的难题aaaa。CNN解决这类问题就比较直观aaaaa,一般一个输入套上一个CNN来抽取出句子特征aaa,然后再套上MLP神经网络来表达两者之间的关系即可aaaa。RNN表达单个输入句子是非常直观的aaaa,但是直接表达两个句子之间的关系相对而言就没那么直观aaa。一般可以如图1这么做aaa,就是把两个问题Qi和Qj拼接起来aaa,中间用一个特殊分隔符EOS分割aaaa,这里EOS不代表一个句子的结束aaaaa,而是代表两个句子的分隔符号aaaaa,这个也请读者注意aaa。如此就构造出了RNN的输入层aaaa。

                                                                          有了输入层aaaaa,上面就好处理了aaa。首先我们在输入层之上aaaaa,套上一层双向LSTM层aaa,LSTM是RNN的改进模型aaaa,相比RNNaaaaa,能够更有效地处理句子中单词间的长距离影响aaaaa;而双向LSTM就是在隐层同时有一个正向LSTM和反向LSTMaaaaa,正向LSTM捕获了上文的特征信息aaaa,而反向LSTM捕获了下文的特征信息aaaa,这样相对单向LSTM来说能够捕获更多的特征信息aaa,所以通常情况下双向LSTM表现比单向LSTM或者单向RNN要好aaaa。图1中输入层之上的那个BLSTM层就是这个第一层双向LSTM层神经网络aaaaa。

                                                                          我们可以把神经网络的深度不断拓展aaa,就是在第一层BLSTM基础上aaa,再叠加一层BLSTMaaaa,叠加方法就是把每个输入对应的BLSTM层的输出作为下一层BLSTM神经网络层相应节点的输入aaa,因为两者完全是一一对应的aaaa,所以很好叠加这两层神经网络aaaa。如果你觉得有必要aaaaa,完全可以如此不断叠加更深一层的BLSTM来构造多层深度的BLSTM神经网络aaa。

                                                                          在最后一层BLSTM神经网络之上aaa,可以使用Mean Pooling机制来融合BLSTM各个节点的结果信息aaaa。所谓Mean Poolingaaaaa,具体做法就是把BLSTM各个节点的输出结果求等权平均aaaa,首先把BLSTM各个输出内容叠加aaa,这是pooling的含义aaa,然后除以输入节点个数aaaa,这是mean的含义aaa,Mean Pooling就是这个意思aaa。

                                                                          如何从物理意义上来理解Mean Pooling呢aaa?这其实可以理解为在这一层aaaaa,两个句子中每个单词都对最终分类结果进行投票aaaa,因为每个BLSTM的输出可以理解为这个输入单词看到了所有上文和所有下文(包含两个句子)后作出的两者是否语义相同的判断aaa,而通过Mean Pooling层投出自己宝贵的一票aaaaa。所以RNN场景下的Mean Pooling可以看作一种深度学习里的“民主党”投票机制aaaaa。

                                                                          在Mean Pooling之上aaaa,我们还可以套上一层SoftMax层aaaaa,这样就可以实现最终的分类目的aaaaa。

                                                                          通过以上方式aaaa,我们就通过输入层、多层BLSTM层、Mean Pooling层和输出层构造出一个通用的判断两个句子语义是否相同的深度学习系统aaa。其实这个结构是非常通用的aaaa,除了判断两个句子关系aaa,对于单句子分类明显也是可以套用这个结构的aaa。

                                                                          模型结构已经讲完aaa,后面我们将进入实验部分aaa,因为希望和CNN结果进行效果对比aaaaa,我们先简单说明下两个同样可以用来解决社区问答问题的CNN结构aaaaa,这两个结构在之前的“利用卷积神经网络构造威尼斯官网”文中都有详细描述aaa,这里不展开讲aaaa,只是列出结构图aaaa,以方便理解和对比模型aaaaa。

                                                                          |两个CNN模型结构

                                                                          两个CNN模型结构参考图2和图3aaa,图2这种结构是利用CNN判断多个输入句子关系的简单直接的结构aaaaa,含义是先各自抽取每个句子的特征然后比较两者的关系aaaaa。而图3这种结构的含义是先把两个句子之间的关系明确表达出来作为输入aaaaa,然后再套上一个CNN模型来进行分类预测aaaaa。


                                                                          图2 CNN模型1



                                                                          图3 CNN模型2

                                                                          |实验结果及与两个CNN模型对比

                                                                          在之前的文章“利用卷积神经网络构造威尼斯官网”中我们使用自己构造的实验数据验证了CNN模型2的效果aaaa。之后aaaaa,我们增加了训练数据的数量aaaaa,以及加大了负例的难度aaaaa,其实在这个社区问答问题中aaaaa,负例的难度对于实验效果指标影响是比较大的aaa。所谓难度aaa,是指负例中两个句子间语义相关程度到底有多强aaaa,如果负例中两个句子语义相关程度越强aaa,则分类难度越高aaaa。

                                                                          至于模型aaa,我们补充了CNN模型1aaaa,在新数据集合下测试了CNN模型2的效果aaa,对于BLSTM来说aaaa,则做了双层BLSTM和单层BLSTM的实验aaa,所以可以认为有四个模型参与效果对比aaaa。

                                                                          经过参数调优aaa,这四个模型在这个新的训练集和测试集下aaa,具体实验结果如下:


                                                                          CNN模型1             分类精度:89.47%

                                                                          CNN模型2             分类精度:80.08%

                                                                          双层BLSTM模型   分类精度:84.96%

                                                                          单层BLSTM模型   分类精度:89.10%

                                                                          可以看出aaa,在这个问答社区问题里aaaaa,CNN模型1和单层BLSTM效果接近aaaa,而双层BLSTM模型效果有下降aaa,这也许跟实验数据规模不够大有一定关系aaaa,所以复杂模型的优势发挥不出来aaaa,而CNN模型2则效果相对差些aaaaa,这也许说明了CNN模型2没有将两个句子的原始信息输入到模型里aaaaa,而是直接将其关系作为输入aaaa,这种情况下存在信息损失的可能aaaaa。

                                                                          致谢:感谢畅捷通智能平台的沈磊、薛会萍、黄通文、桑海岩等同事在模型训练及训练数据的收集整理方面的工作aaaa。
                                                                          ---------------------
                                                                          作者:张俊林博客
                                                                          来源:CSDN
                                                                          原文:blog.csdn.net/malefactor/article/details/50669741


                                                                          现在致电 0755-88820392 OR 查看更多联系方式 →