美文网首页Machine Learning & Recommendation & NLP & DLPyTorchNLP
pytorch自然语言处理之Pooling层的句子分类

pytorch自然语言处理之Pooling层的句子分类

作者: zenRRan | 来源:发表于2017-12-29 00:31 被阅读48次

     概括

            Pooling作为最简单的层可以作为句子分类任务。

    流程图

    第一步搭建网络

    这里除了划线的和类的名字外,其他都是pytorch固定模板。__init__就是搭建网络的函数,forward是数据怎么在你刚搭建的网络中流动的写出来就行,注意数据矩阵的维数,要前后对上。该维度可以用view(),t(),transport()。

    这里的Embeding层就是把现实客观特征转成电脑识别的特征,也就是特征向量化。

    第二步读入数据并将数据数字化

    数据是这个样子:

    前面文本后面类别

    读取文本的类

    清洗英文文本的函数,这个写过一次后,下次清洗文本直接复制直接用。

    文本读取完后,建立词典,为只有数字序列化做准备。函数如下:

    字典为:

    然后通过函数调用就能生成数字序列:

    第三步开始训练

    因为用SGD很多时候不能够收敛。。。特别悲催

    这是计算精确度的函数,在一遍跑好的模型上走一遍Dev数据,得出开发集准确率。torch和numpy交换就用  .numpy()。

    最后得出结果:

    这个贼耗时间

    精确度慢慢增长。。。


    之后还会再添加CNN,RNN,LSTM,GAN神经网络。可以添加我的微信公众号,实时会有自然语言处理理论与实践。关注可以获得语料和源代码呦!

    DeepLearningForNLP

    相关文章

      网友评论

        本文标题:pytorch自然语言处理之Pooling层的句子分类

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