文本分类方法(Text Classification Method)

Contents

一、背景

文本分类问题算是自然语言处理领域中一个非常经典的问题。

二、文本分类问题拆解

  • 文本
  • 特征工程
  • 分类器
  • 文本类别

三、基本框架

3.1 特征工程
机器学习问题是把数据转换成信息再提炼到知识的过程。
特征是“数据–>信息”的过程,决定了结果的上限,
而分类器是“信息–>知识”的过程,则是去逼近这个上限。

文本特征工程分为文本预处理、特征提取、文本表示三个部分
1)文本预处理
文本预处理过程是在文本中提取关键词表示文本的过程,中文文本处理中主要包括文本分词和去停用词两个阶段。
传统算法主要有

  • 基于字符串匹配的正向/逆向/双向最大匹配;基于理解的句法和语义分析消歧;
  • 基于统计的互信息/CRF方法。
  • 近年来随着深度学习的应用,WordEmbedding + Bi-LSTM+CRF方法逐渐成为主流

2)特征提取
向量空间模型的文本表示方法的特征提取对应特征项的选择特征权重计算两部分。
特征选择的基本思路是根据某个评价指标独立的对原始特征项(词项)进行评分排序,从中选择得分最高的一些特征项,过滤掉其余的特征项。常用的评价有文档频率、互信息、信息增益、χ²统计量等。
特征提取的方法:

  1. 经典文本特征——前人研究成熟理论
    • TF 词频
    • TFIDF 词频逆文档
    • Doc2vec 深度学习 词向量按位相加形成一个向量,或者拼接形成长向量
    • Word2vec 深度学习
  2. 手工构造新特征
    • 寻找可能影响分类效果的新特征
      例:文章的长度可能会影响分类,所以将其作为一个特征
    • 人工制造可能影响分类的新特征
      例:(x,y,z)−−−>(x,y,xy,xz,yz,x2,y2,z2)(x,y,z)−−−>(x,y,xy,xz,yz,x2,y2,z2)(x,y,z)—>(x,y,xy,xz,yz,x^2,y^2,z^2)
  3. 用神经网络提取
    神经网络作为特征提取器,用神经网络某一层输出作为特征

常用的评价有文档频率、互信息、信息增益、χ²统计量等。

3)文本表示
文本表示的目的是把文本预处理后的转换成计算机可理解的方式,是决定文本分类质量最重要的部分。传统做法常用词袋模型(BOW, Bag Of Words)或向量空间模型(Vector Space Model),最大的不足是忽略文本上下文关系,每个词之间彼此独立,并且无法表征语义信息。

3.2 常用的分类器

  1. 传统方法
    • 逻辑回归
    • SVM
    • 朴素贝叶斯
    • 随机森林
    • bagging
  2. 两个比赛常用的工具包: Lightgbm和xgboost是JBT算法实现的工具包
  3. 深度学习文本分类模型 神经网络具有强大拟合函数的能力,特征输入到神经网络里进行拟合,训练出优秀的函数作为最终的分类。 利用CNN/RNN等深度学习网络及其变体解决自动特征提取(即特征表达)的问题。

四、小结 本文也只是简单介绍文本分类,关于文本分类模型具体介绍及实现,后续加以补充。

References

[1] 文本分类解决方法综述
[2] 中文文本分类对比(经典方法和CNN)

Further Reading

[1] scikit-learn.org


转载请注明:yezuolin的博客 » 点击阅读原文