本文共 1980 字,大约阅读时间需要 6 分钟。
给定文档p(可能含有标题t),将文档分类为n个类别中的一个或多个。
常见的有垃圾邮件识别、情感分析、新闻文本分类。
主要有二分类,多分类,多标签分类。
传统机器学习方法(贝叶斯,svm等),深度学习方法(fastText,TextCNN等)。
文本分类的处理流程大致分为文本预处理、文本特征提取、分类模型构建等。
和英文文本处理分类相比,中文文本的预处理是关键技术。
文本分类的核心都是如何从文本中抽取出能够体现文本特点的关键特征,抓取特征到类别之间的映射。
中文文本分类设计一个很关键的技术:中文分词。中文任务分词必不可少,一般使用jieba分词,工业界的翘楚。
特征粒度为词粒度远远好于字粒度,其大部分分类算法不考虑词序信息,基于字粒度的损失了过多的n-gram信息。
中文分词技术主要有:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。详情请见:
建立停用词字典,目前停用词字典有2000个左右,停用词主要包括一些副词、形容词及其一些连接词。通过维护一个停用词表,实际上是一个特征提取的过程,本质 上是特征选择的一部分。
在分词后判断词性(动词、名词、形容词、副词…),在使用jieba分词的时候设置参数就能获取。
文本分类的核心都是如何从文本中抽取出能够体现文本特点的关键特征,抓取特征到类别之间的映射。 所以特征工程很重要,可以由四部分组成:
以词为单位(Unigram)构建的词袋可能就达到几万维,如果考虑二元词组(Bigram)、三元词组(Trigram)的话词袋大小可能会有几十万之多,因此基于词袋模型的特征表示通常是极其稀疏的。
(1)词袋特征的方法有三种:
(2)优缺点:
通过词向量计算文本的特征。(主要针对短文本)
NN的好处在于能end2end实现模型的训练和测试,利用模型的非线性和众多参数来学习特征,而不需要手工提取特征。CNN善于捕捉文本中关键的局部信息,而RNN则善于捕捉文本的上下文信息(考虑语序信息),并且有一定的记忆能力。
主要是针对具体任务而设计的,通过我们对数据的观察和感知,也许能够发现一些可能有用的特征。有时候,这些手工特征对最后的分类效果提升很大。举个例子,比如对于正负面评论分类任务,对于负面评论,包含负面词的数量就是一维很强的特征。
[1] .
[2] [] [] [] [] [] [] [] [] [] [] [] [] []转载地址:http://guugf.baihongyu.com/