从机器学习到深度学习----多类别文本分类实践

wwwwwk

2019/08/01 发布于 编程 分类

文字内容
1. Project Report 多类别文本分类—从TF-IDF到深度学习 王宇 2019.7.31 CMB
2. CONTENTS 01 02 03 04 项目背景 实验数据 实验方法 反思与总结
3. 01 项目背景
4. 多类别文本分类 • 网页分类、Web文档自动分类、文本过滤 应用领域 • 微博情感分析、用户评论挖掘、信息检索 • 数字图书馆、自动文摘、单词语义辨析 文本分类 • 监督学习/分类问题 • 二分类(binary classification) • ML(XGBoost,SVM等) • 多类别分类(multi-class) • DL(FastText,TextCNN等) 实验 主要思路 分类方向 • 多标签分类(multi-label) • ML:分词、去停用词、TF-IDF特征提取、分类建模 • DL:字符级特征提取、TensorFlow + CNN • 比较机器学习与深度学习在进行文本分类时的不同
5. 02 实验数据
6. 实验数据 类别标签 文本描述 2,公司专注于证券投资咨询服务,主要为客户提供证券投资 资讯类产品,通过市场分析、信息整合、投资标的推荐、 模拟操盘、在线微博交流等方式为投资方提供全面实时实 用的投资咨讯,具体产品主要包括:1.投资顾问产品:金沙 宝理财计划千足金和金沙宝理财计划万足金;2.中金在线网 络平台专栏服务。近年来,公司不断拓展业务,依托其行 业丰富经验、专业的投顾团队、深刻的市场需求把握,与 移动互联网相结合,将市场从高净值的个人投资者向证券 公司以及私募基金平台拓展,打造成为国内专业、优秀和 全面的证券投资咨询方案提供商。 1房地产; 2金融券商; 3计算机软件; 4机械行业; 5医药化学; 6材料行业; 7农牧渔林; 8医疗行业; 9汽车行业; 10文化传媒; 11物流运输 类 别 训练集:4774条 测试集:2381条
7. 实验数据各类分布:
8. 03 实验方法 • ML • XGBoost • DL
9. ML文本分类 数据预处理 文本数据 Jieba 分词 TF-IDF构 建VSM 去停 用词 特征工程 Chisquare IG 分类算法 Naiva-Beyes 决策树 SVC 特征匹配分类
10. 词袋模型
11. XGBoost文本分类 树的生成 XGBoost: • Extreme Gradient Boosting • 很多CART回归树集成 • 建立K个回归树,使得树群的预测 值尽量接近真实值(准确率)且有尽 量大的泛化能力 分裂点的选择实现并行化,加快 并行化 运算效率 boosting集成学习 由多个相关联的决策树联合决策 集成 下棵决策树输入样本与前面决策 树的训练和预测相关 防止过拟合 损失函数正则化,支持列抽样 正则
12. TensorFlow是什么 4 最初由Google大脑小组开发 机器学习和深度神经网络 3 张量(tensor)是计算图的基本数据结构,可 理解为多维数据 2 计算图中每个节点表一次数学计算 每条边表计算之间的依赖关系 流(Flow)表张量之间通过计算互相转化的过程 1 采用计算图的形式表述数值计算的编程系统 开源软件库
13. DL文本分类 • Embedding:语义空间->向量空间 • 卷积+池化+全连接: CNN经典模型 • Concatenate: 将两要素图层收纳到一 个vector • Convolution: 通过滑动卷积窗口强化 提取特征 • ReLU: 克服梯度消失,加快训练速度 • Pooling:降维操作,减小张量大小, 便于计算 • Dropout layer:防止CNN 过拟合。深度网 络训练过程中,按一定概率将神经网络单元 暂时从网络中丢弃。 • Softmax layer: 返回每一类的概率值;概率 最大的作为其类别
14. 04 结果与总结
15. 实验精度评估指标 多类别文本分类 • Macro F1:'>F1: 将n分类的评价拆成n个二分类的评价,计算每个二分类的F1-score,n个F1-score的平均值。 • Micro F1:'>F1: 将n分类的评价拆成n个二分类的评价,将n个二分类评价的TP、FP、RN对应相加,计算评 价准确率和召回率,由这2个准确率和召回率计算的F1-score即为Micro F1。 • Hamming_loss: 统计被误分类label的个数 • Weighted-F1:'>F1: 对于不均衡数量的类来说,计算二分类metrics的平均,通过在每个类的score上进行 加权实现。 • 各个类别的Precision/Recall/F1-score。 一般来讲,Macro F1、Micro F1、Weighted F1高,Hamming_loss低的分类效果好。 由于样本数据中存在不平衡的状况,故精度评估以Weighted-F1为准。
16. 实验结果 总精度评估 Hamming_Loss Micro F1 Macro F1 Weighted-F1 CNN 0.100797984 0.899202016 0.88913733 0.89996017 XGBOOST_CHI 0.131877362 0.868122638 0.88040784 0.87182621 XGBOOST 0.144897102 0.855102898 0.86995962 0.85833277 NaiveBayes 0.169676606 0.830323394 0.81827336 0.84091768 Feature_Match 0.284754305 0.715245695 0.66886287 0.78045627 Decision_Tree 0.281814364 0.718185636 0.68621553 0.72706405 SVC 0.46451071 0.53548929 0.28326522 0.54586264
17. 实验结果- Weighted-F1
18. 实验结果- F1 of Class
19. 总结 机器学习 ONE • 构建模型较为简单 • 数据预处理较为繁琐但十分重要,与分类结果直接相关 深度学习 TWO • 无需繁琐的数据预处理流程 • 计算效率较慢,精度较高 对比 THREE • 效率:ML时间集中于数据预处理,DL时间集中于模型训练 • 精度:机器学习尚可,深度学习更佳
20. Thanks 王宇 2019.7.31 CMB