一种文本分类方法与流程

文档序号:11251004阅读:680来源:国知局

本发明涉及一种文本分类方法。



背景技术:

随着网络媒体的日益发达和网民数量的不断增加,大量的文本数据在不断的产生。如何处理庞大的文本数据并正确分类是一个亟待解决的问题。文本分类通过在已有数据训练分类器,然后将此分类器用于测试文档确定每一个文档的类别。正确的文本分类可以使用户更快的寻找到需要的信息,更方便的浏览文档。文本自动分类指通过带有类别标志的训练文本,训练文本分类器,然后将该分类器用于测试未知类别文本进行识别。

现有的技术中,文本分类方法主要包含以下几种:

一、基于规则的方法。通过统计大量文本特点和该领域相关知识,制定规则。通过规则分类。该方法需要大量的时间和相关专业人员。

二、基于向量空间表达方法。该种方法主要分为三个步骤,第一步:特征的选择和提取;第二部:通过向量空间构造文本表达;第三步:分类器的构建。该方法忽略了词语的语义信息,维度较大,易引起维度灾难问题。

三、基于分布式词向量方法。该种方法主要分为三个步骤,第一步:特征的选择和提取;第二部:通过lda(主题模型)或word2vec等方法构建文本表达;第三步:分类器的构建。常用的基于word2vec分类方法为加和求平均和针对每个维度取最大,这两种表达方法只包含全局信息或局部信息的一种,而忽略了另一种信息,分类准确度较低。



技术实现要素:

本发明目的在于提供一种文本分类方法,文本向量既包括全局信息又包括局部信息,分类更加准确。

实现本发明目的技术方案:

一种文本分类方法,其特征在于,基于训练文本的文本向量训练文本分类器;构建待测文本的文本向量,将待测文本的文本向量输入至已训练的文本分类器中,进行文本分类;所说训练文本的文本向量和待测文本的文本向量均通过如下方法获得:

步骤1:对标注文本进行预处理,特征选择,进行词向量训练;

步骤2:根据步骤1所得词向量,计算文本的全局向量和局部向量;

步骤3:根据步骤2所得全局向量和局部向量,计算文本向量。

步骤2中,构建文本的全局向量,采用向量加和平均方法获得,公式如下:

式中,表示词语对应的词向量,n表示该文本的单词数。

步骤2中,构建文本的局部向量,采用向量每个维度取最大的方法,公式如下:

式中,表示词语对应的词向量,w表示所有单词,i表示第i个维度。

步骤3中,计算文本向量时,将文本的全局向量和局部向量通过加权并联在一起获得文本向量,公式如下:

该公式中,表示所求文本的局部向量,表示所求文本的全局向量;表示权重。

步骤3中,权重通过网格搜索获得。

步骤1中,文本的特征选择基于信息增益方法获得。

文本分类器选用svm文本分类器,核函数选取线性核函数。

步骤1中,预处理时,使用分词工具对文本进行分词,获得文本词集;通过word2vec工具训练词向量。

本发明具有的有益效果:

本发明是对基于word2vec分类方法的改进,根据全局向量和局部向量计算文本向量,即分类时既考虑了文档全局信息,又考虑了局部信息。本发明有效克服了现有文本分类方法的缺点,相对于规则方法省略了人工规则构建的过程,相对于向量空间表达方法减少了维度灾难的风险和考虑了文本的浅层语义信息,相对于基于word2vec词向量,充分考虑了文本表达的全局信息和局部信息,分类更加准确。经实验,本发明在搜狗和复旦开源中文本分类数据集上进行测试,测试效果相对现有分类方法有所提升。

本发明构建文本的全局向量,采用向量加和平均方法获得;构建文本的局部向量,采用向量每个维度取最大的方法获得;计算文本向量时,将文本的全局向量和局部向量通过加权并联在一起获得文本向量,进一步保证了分类的准确可靠性。本发明文本的特征选择基于信息增益方法获得;文本分类器选用svm文本分类器,核函数选取线性核函数,进一步保证了文本的分类效果。

具体实施方式

本发明首先基于文本向量训练文本分类器,计算训练文本的文本向量,将计算所得的所有训练文本向量和类别输入到文本分类器中,进行参数训练。针对待测文本构建文本向量,将待测文本的文本向量输入至已训练的文本分类器中,进行文本分类。本实施例中,文本分类器采用svm(支持向量机),核函数选取线性核函数。

上述训练文本向量和待测文本向量获得的方法相同,包括如下步骤:

步骤1:对标注文本进行预处理,特征选择,进行词向量训练。

预处理时,使用分词工具对文本进行分词,获得文本词集。分词采用python开源中文分词工具jieba。

特征选择方法采用信息增益方法,公式如下所示:

选取最大k个特征,k通过实验所得。通过word2vec工具训练词向量,训练数据为所有文本。采用模型为cbow模型,词向量维度为200,窗口为5。

步骤2:根据步骤1所得词向量,计算文本的全局向量和局部向量。

针对文本序列代表评论中的词语,表示分类文本。将w转化为对应的词向量,所说的词向量由步骤1训练获得。

构建文本的全局向量,采用向量加和平均方法获得,公式如下:

式中,表示词语对应的词向量,n表示该文本的单词数。

构建文本的局部向量,采用向量每个维度取最大的方法,公式如下:

式中,表示词语对应的词向量,w表示所有单词,i表示第i个维度。

步骤3:根据步骤2所得全局向量和局部向量,计算文本向量。

计算文本向量时,将文本的全局向量和局部向量通过加权并联在一起获得文本向量,公式如下:

该公式中,表示所求文本的局部向量,表示所求文本的全局向量;表示权重,权重通过网格搜索获得。

本实施例中,分别对搜狗和复旦数据集进行训练数据和待测试数据划分。

将分类结果与实际类别进行对比,计算准确率、召回率,公式如下:

准确率p指文本分类正确的文本占所有文本数的比率:

召回率r为分类正确的文本数占该类别实际文本数的比率:

值指标对准确率和召回率进行权衡。

上述公式中,a表示正确划分到该类别的数量;b表示错误划分到该类别的数量;c为属于该类别,但未划分正确的文本数量。

表1为本发明方法在搜狗和复旦(部分数据)进行文本分类对比实验结果。

表1.不同方法的实验结果

最后,搜狗数据集采用1:1比率分为训练集和测试集,共包含九类,分别为:财经、互联网、健康、教育、军事、旅游、体育、文化、招聘。复旦选取类别文档数大于1000的几类文本进行分类实验,分别为政治、计算机、环境、经济、农业、运动六类。对比实验采用同样的预处理过程、相同的词向量和同样的文本分类器。对比实验方法选取一下几种主流的求解方法:bow_tfidf基于向量空间表达方法;fasttext为facebook开源的快速文本分类工具,模型结构与word2vec相似;word2vec_ave为词向量加和求平均方法;word2vec_max为维度取最大方法;word2vec_tfidf为加权求平均方法;最后为本发明提出方法。评判标准为分类准确率、召回率、值。结果表明,本发明分类方法优于其它分类方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1