文本分类是自然语言处理领域比较常见的一类任务,一般是给定多个文档类别,将文档或语句归类到某个类别中。其本质是文本特征提取+机器学习的多分类问题。解决此问题,最终实现文本分类预测的一般步骤总结如下。
1. 文档标注
文本分类任务可使用机器学习的多分类算法的思路解决,为了满足训练模型的需要,首先要将样本文档库中的所有文档打标签,将每个文档标注为待预测类别。若文档库中的文档已做好分类,此步骤可以省略。文档打标签的工作一般由人工完成,由于机器学习算法对训练样本数据的规模有要求,一般来说,训练出较准确的模型,至少需要5000以上的样本数据。所以文档标注工作是在5000以上的样本文档库中进行的,需要花费大量的重复劳动才能完成。
为减少标注工作量,可以借鉴半监督学习的思路,先尝试文本聚类的方式对样本库中的部分文档进行聚类,然后再人工修正聚类结果中分类错误的样本,最后对所有文档进行聚类。
2. 文档格式转换
样本文档库中的数据一般为Word、PDF、Excel等格式,为方便后期做向量化处理,需要将文档转换为Txt格式,转换后的文档中不含图片、不含格式,是纯文本。
3. 生成词典
提取文档中的特征,首先要针对整个文档库构建词典,构建词典的步骤如下。
(1) 中文分词
使用中文分词技术可以将文档切割成词汇,常用的中文分词工具包是结巴分词器,该分词器支持全模式、精确模式、搜索引擎模式、基于 TF-IDF算法的关键词抽取模式共四种分词方式。建议使用精确模式或关键词抽取模式。
(2) 去停用词
停用词是指文档中的连接字、标点符号、数字等,停用词在中文文档中大篇幅存在,且不能代表文档的关键含义,对分类无价值。去掉停用词可以减少文档分词后的词汇量,提高计算效率。
(3) 去低频词
低频词是指文档中出现次数小于5次的词汇,与停用词相同,低频词对文档分类亦无价值,去掉低频词有利于缩短文档分类的建模时间。
(4