• TensorFlow练习2: 对评论进行分类


    本帖是前一贴的补充:

    1. 使用大数据,了解怎么处理数据不能一次全部加载到内存的情况。如果你内存充足,当我没说
    2. 训练好的模型的保存和使用
    3. 使用的模型没变,还是简单的feedforward神经网络(update:添加CNN模型)
    4. 如果你要运行本帖代码,推荐使用GPU版本或强大的VPS,我使用小笔记本差点等吐血
    5. 后续有关于中文的练习《TensorFlow练习13: 制作一个简单的聊天机器人》《TensorFlow练习7: 基于RNN生成古诗词》《TensorFlow练习18: 根据姓名判断性别

    在正文开始之前,我画了一个机器学习模型的基本开发流程图:

    TensorFlow练习2: 对评论进行分类

    使用的数据集

    使用的数据集:http://help.sentiment140.com/for-students/ (情绪分析)

    数据集包含1百60万条推特,包含消极、中性和积极tweet。不知道有没有现成的微博数据集。

    数据格式:移除表情符号的CSV文件,字段如下:

    • 0 – the polarity of the tweet (0 = negative, 2 = neutral, 4 = positive)
    • 1 – the id of the tweet (2087)
    • 2 – the date of the tweet (Sat May 16 23:58:44 UTC 2009)
    • 3 – the query (lyx). If there is no query, then this value is NO_QUERY.
    • 4 – the user that tweeted (robotickilldozr)
    • 5 – the text of the tweet (Lyx is cool)

    training.1600000.processed.noemoticon.csv(238M)
    testdata.manual.2009.06.14.csv(74K)

    数据预处理

    上面代码把原始数据转为training.csv、和tesing.csv,里面只包含label和tweet。lexcion.pickle文件保存了词汇表。

    如果数据文件太大,不能一次加载到内存,可以把数据导入数据库
    Dask可处理大csv文件

    开始漫长的训练

    上面程序占用内存600M,峰值1G。

    运行:

    TensorFlow练习2: 对评论进行分类

    训练模型保存为model.ckpt。

    使用训练好的模型

    上面使用简单的feedfroward模型,下面使用CNN模型

    使用了CNN模型之后,准确率有了显著提升。

    http://blog.topspeedsnail.com/archives/10420

  • 相关阅读:
    Mysql常用语句
    Java基础知识总结
    ExtJS4.2学习(三)——入门基础
    ExtJS4.2学习(二)——入门基础
    ExtJS 4.2学习(一)——环境搭建
    大三下半学期“饭店餐饮系统”项目笔记
    GUI练习——列出指定目录内容
    Collections之sort的两个方法(自然排序和自定义比较器排序)
    Java集合总结
    访问数据库
  • 原文地址:https://www.cnblogs.com/softidea/p/8244248.html
Copyright © 2020-2023  润新知