第三篇:文本分类

Posted flying_1314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三篇:文本分类相关的知识,希望对你有一定的参考价值。

目录

 

分类基础

文本分类任务

分类算法

评估


分类基础

输入:

  • 文本:通常表示成特征的向量
  • 所有类别:是分类的,不是连续的(回归)或有序的(排名)

输出:

  • 预测的类别

文本分类任务

一些常见的例子:

  • 主题分类
    • 动机:图书馆科学,信息检索
    • 类别:话题类别,比如,‘工作’,或者‘国际新闻’
    • 语料库示例:
      • 路透社新闻语料库 (RCV1; NLTK)
      • Pumbed摘要
      • hash带主题标签的推文
  • 情感分析
    • 动机:意见的挖掘,业务分析
    • 类别:积极/消极/中立
    • 语料库示例:
      • 电影评论数据集(在 NLTK 中)
      • SEMEVAL Twitter 极性数据集
  • 母语识别
    • 动机:法医语言学、教育应用
    • 类别:作者的第一语言,比如中文
    • 语料库示例:
      • 托福/雅思论文语料库
  • 自然语言推理
    • 动机:语言理解
    • 类别:蕴含,矛盾,中性
    • 语料库示例:
      • SNLI、MNLI
  • 自动事实核查
  • 转述

构建一个文本分类器流程:

1. 确定感兴趣的任务
2. 收集合适的语料库
3.进行标注
4. 特征选择
5. 选择机器学习算法
6. 使用保留的数据集训练模型和调整超参数
7. 根据需要重复前面的步骤
8. 训练最终模型
9. 在测试数据集上评估模型

分类算法

挑选算法:

  • 偏差与方差
    • 偏差:我们在模型中所做的假设
    •  方差:对训练集的敏感性
  • 基本假设,例如独立性
  • 复杂性
  • 速度

接下来,简单介绍几种常见的算法:

  • 朴素贝叶斯
    • 概念:查找贝叶斯定律下具有最高可能性的类
    • 朴素指的是假设特征是独立的
    • 优点:
      • 快速训练和分类
      • 稳健、低方差 → 适用于低数据情况
      • 独立假设正确时的最优分类器
      •  实施起来极其简单。
    • 缺点:
      • 独立性假设很少成立
      •  与大多数同类方法相比精度较低情况
      • 看不见的类/特征组合所需的平滑
  • 逻辑回归
    • 概念:是个分类模型;一个线性模型,但使用 softmax “挤压” 来获得有效概率
    • 优点:
      • 不像朴素贝叶斯那样不会被多样化困惑,
          相关特征 → 更好的性能。
    • 缺点:
      • 训练缓慢;
      • 需要特征缩放
      • 需要大量数据才能在实践中良好运行
      • 选择正则化策略很重要,因为过拟合是一个大问题
  • 支持向量机
    • 概念:找到以最大边距分隔训练数据的超平面
    • 优点:
      • 快速准确的线性分类器
      • 可以使用内核技巧进行非线性处理
      • 适用于庞大的特征集
    • 缺点:
      • 多类分类笨拙
      • 需要特征缩放
      • 对类别不平衡的处理不佳
      • 可解释性
  • K近邻算法
    • 概念:基于特征空间中 k-nearest 训练样本的多数类进行分类
    • 优点:
      • 简单但非常有效
      •  无需训练
      •  固有的多类
      •  具有无限数据的最优分类器
    • 缺点:
      • 必须选择k
      • 类别不平衡的问题
      • 通常很慢(为了寻找邻居)
      • 必须仔细选择特征
  • 决策树
    • 概念:构建一个树,其中节点对应于对单个特征的测试
    • 优点:
      • 快速构建和测试
      • 特征缩放无关
      • 适用于小型特征集
      • 处理非线性可分问题
    • 缺点:
      • 在实践中,不太容易解释
      • 高度冗余的子树
      • 对于大型特征集没有竞争力
  • 随机森林
    • 概念:集成分类器
    • 优点:
      • 通常比决策树更准确、更稳健
      • 适用于中等特征集的出色分类器
      • 训练很简单并行
    • 缺点:
      • 在实践中,不太容易解释
      • 对于大型特征集没有竞争力
  • 神经网络
    • 概念:一组互连的节点,通常按层排列
    • 优点:
      • 在 NLP 和视觉方面非常强大的主导方法
      • 很少使用特征工程
    • 缺点:
      • 不是现成的分类器
      • 超参数多,难以优化
      • 训练慢
      •  容易过拟合

评估

 预测标签
真实标签AB
A7913
B810

Accuracy = 正确的分类/总分类= (79+10)/(79+13+8+10)

B 假定为 positive 类

Precision = 正确分类的B(True Positive)/分类为B的所有(TP+False Positive) = 10/(10+13)

Recall = 正确分类的B(True Positive)/真实为B的所有(TP+False Negative) = 10/(10+8)

F1-SCORE = 2*Precision*Recall/(Precision+Recall)

在用于多类时,指标会有以下两种:

  • Macro-average(宏平均):各个类别的平均 F 值
  • 微平均:使用计数总和计算 F-score(= 多类问题的准确性)

今天就到这里,感谢大家观看,辛苦,有问题,欢迎随时评论探讨。

 

 

以上是关于第三篇:文本分类的主要内容,如果未能解决你的问题,请参考以下文章

第三篇商城系统-基础业务-实现类别管理

HanLP 基于SVM支持向量机 训练 文本分类

HanLP 基于SVM支持向量机 训练 文本分类

深入理解表单脚本系列第三篇——选择文本

文本分类方法都有哪些

文本分类:多标签文本分类与多类文本分类