LSTM_CNN在问答系统中的应用

作者: lirainbow0 | 来源:发表于2017-03-11 22:43 被阅读1537次

    前面的随笔中,已经分别介绍了CNN算法和LSTM算法在问答系统中的应用。其中LSTM算法在抽取特征之后,针对不同时序产生的特征状态,做max-pooling或者avg-pooling获得最终的特征。无论是max-pooling或者avg-pooling只是对不同的特征做出最后的选择,因此这里我们可以采用一些其他的技巧对特征进行选择。本次实验即时对这里的特征选择进行改造,采用CNN算法的结构对所有的时序特征做出最后的选择,即LSTM_CNN算法。整个算法的流程图如下:

    LSTM_CNN算法

    实验步骤

    1:本次实验采用insuranceQA数据,你可以在这里获得。实验之前首先对问题和答案按字切词,然后采用word2vec对问题和答案进行预训练(这里采用按字切词的方式避免的切词的麻烦,并且同样能获得较高的准确率)。

    2:由于本次实验采用固定长度的LSTM,因此需要对问题和答案进行截断(过长)或补充(过短)。

    3:实验建模Input。本次实验采用问答对的形式进行建模(q,a+,a-),q代表问题,a+代表正向答案,a-代表负向答案。insuranceQA里的训练数据已经包含了问题和正向答案,因此需要对负向答案进行选择,实验时我们采用随机的方式对负向答案进行选择,组合成(q,a+,a-)的形式。

    4:将问题和答案进行Embedding(batch_size, sequence_len, embedding_size)表示。

    5:对问题和答案采用相同的LSTM模型计算特征(sequence_len, batch_size, rnn_size)。

    6:对时序的LSTM特征进行选择,这里采用CNN算法(卷积+最大池)。

    7:采用问题和答案最终计算的特征,计算目标函数(cosine_similary)。

    目标函数

    参数设置

    1:、这里优化函数采用论文中使用的SGD。

    2、学习速率为0.05。

    3:、训练300轮。

    4、margin这里采用0.05,其它参数也试过0.1、0.2效果一般。

    5、这里训练没有采用dropout和l2约束,之前试过dropout和l2对实验效果没有提升,这里就没有采用了。

    6、batch_size这里采用128。

    7、rnn_size为200。

    8、filter_size为1、2、3(相比1、2的组合效果稍好),num_filter为500.

    9、目标函数采用cosine_similary,实验时也试过欧几里德距离,但是效果不佳。

    实验效果对比

    QA_CNN:0.62左右

    QA_LSTM:0.66左右

    QA_LSTM_CNN:0.67左右

    :这里只做了单向的LSTM_CNN,和单向的LSTM算法相比,效果提升大概为1%左右。

    如果有任何问题欢迎发送邮件到lirainbow0@163.com。

    相关文章

      网友评论

      • aad62759e8e7:你好,可以问下你的GitHub地址吗?另外可以加下您的微信吗
        aad62759e8e7:找到了。谢谢。可以加您的微信吗
      • 71450103221e:你好,请问一下vectors.nobin这个文件在哪里呢
        lirainbow0:有一个insuranceqa的仓库
        71450103221e:找了一下没找到,同时请问一下../insuranceQA-cnn-lstm/insuranceQA/train和../insuranceQA-cnn-lstm/insuranceQA/test1这两个文件也没找到
        lirainbow0:我的github应该有,你找找,不行就自己训练一个
      • 5b8ce1ede475:您这些代码没有使用学习率吗?
        5b8ce1ede475:但是在LSTM-CNN的代码中没有看到学习率啊
        lirainbow0:有学习率
      • 5b8ce1ede475:请问我换了一个数据集,为什么正确率只有30%多,存在什么问题吗?
        aad62759e8e7:你怎么跑通的啊?可以请教吗
      • 837e567fc974:苍老师你辛苦了!:smile:
        lirainbow0:?你是?

      本文标题:LSTM_CNN在问答系统中的应用

      本文链接:https://www.haomeiwen.com/subject/rtwzgttx.html