当前位置:   article > 正文

阅读笔记——基于机器学习的文本情感多分类的学习与研究_基于机器学习的情感分类

基于机器学习的情感分类

1 文章简介

文本分类与情感分类是自然语言处理中基础的领域,在机器学习的基础上,分析了线性逻辑回归算法、朴素贝叶斯模型在文本情感分类项目中的应用,并针对数据处理、模型构建、模型训练、模型测试过程中初学者难以解决和易出错的部分进行分析与实现。结合kaggle上的比赛数据实例,实现了完整的文本情感多分类项目并做出详细分析,项目评测结果较为可观,证实可以帮助初学者更易上手文本情感多分类和机器学习。同时提出了基于传统二分类问题的多分类问题解决方法。

2 文本情感分类概述

文本情感分类是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程,是NLP领域重要的基础领域,涉及文本分词、词语情感分析、机器学习、深度学习等。
文本情感分类通过在现有的大量数据中,基于学习算法寻找并学习词语情感的规律,构建相应的分类函数或分类模型(分类器,Classi⁃fie),这样对于给定的其他文本将能做到文本情感分类 。计算机并不能直接识别与处理所提供的自然语言数据,通常要对这些文本数据进行维度上的抽象处理 。
基于机器学习算法的文本情感分类通常需要构建学习模型,针对已处理的数据进行重复的训练与测试,通过测试的反馈修正模型参数,使得分类模型具备更高的准确度。文本数据经过模型导出后将被划分到对应情感类别,实现文本情感分类。

3 文本情感多分类项目设计与实现

文本情感多分类项目整体流程大致分为数据处理、特征选取、模型的构建、训练与测试,其中对于模型的处理,本文基于机器学习主要给出两种模型算法:线性逻辑回归模型和朴素贝叶斯模型。图1是项目结构框架图。
在这里插入图片描述

3.1 数据处理

文本数据来源于 Kaggle 网站竞赛数据,数据包括四列,PhraseId(短语编号)、SentenceId(句子编号)、Phrase(短语)和Sentiment (短语情感分类)。
针对数据做出几点说明,一个句子可以划分成若干个短语,所以存在多个短语来源于同一个句子,其句子编号相同;情感分类是对每一个短语进行分类,情感类型划分为五类,用数字0~4标明,代表非常消极、消极、中性、积极、非常积极。对数据梳理清楚后,需要对每个短语进行分词,英文文本分词相对简单,以空格为标志划分出每个单词。这里存在初学者的误区,一些诸如“a”的英文单词是否取舍不应该由停词表来决定。对此本文去掉停词表,对统计到的单词计算每一个单词的频率,频率过大或过小的单词均去除。至此,数据处理完成,得到了所有有效单词的汇总与其频率,成功构建了词袋。

3.2 特征选取

如英文单词,这些自然语言计算机无法处理,其二进制码也毫无意义,这使得特征选取工作变得困难。通常采取的是One-Hot 编码(独热编码),统计所有的状态并对每一个状态独立编码,这样任意时刻每个状态的编码中只有一位是有效的 。
但One-Hot 编码后的数据维度将十分庞大,无论是计算机内存还是运行时间,其效率都变得十分低下。本文采取TfidfVectorizer函数,利用数据处理过程中得到的词袋,对单词进行状态编码,每一个单词都是被选取的特征。短语由若干个单词组成,这样每一个短语可以表示成单词编码的组合,于是得到了计算机可以处理的数据 。
最后,将处理好的数据划分为两类,一类作为训练数据,让模型进行学习,另一类作为测试数据,评价模型效果。

3.3 线性逻辑回归模型

线性逻辑回归模型是机器学习中常见的模型算法,可以通过调用sklearn库LogisticRegression函数,其作用是对输入短语的每一个维度数据(单词编码)分配一个可调整参数,使输出结果趋近短语的情感类型数字 。本文采取间接转化的方法,将五分类转化为多次二分类问题,首先中性与非中性数据的分类,然后是积极与消极数据的分类,最后是其内部程度的二分类。
模型除了对于输入数据的参数外还有自身的选择性参数,称为超参数,比如学习率等,如何调整合适的模型参数一直是初学者难以把握的问题,本文采用GridSearchCV函数对模型进行自动调参。它是网格搜索和交叉验证的结合,原理是在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器,从所有的参数中找到在测试集上精度最高的参数,这其实是一个训练和比较的过程。
训练好模型后,对于新的文本数据,只要处理好数据特征,模型将会自动对文本进行情感分类。基于线性逻辑回归模型的文本情感分类,其最终准确度为0.768,较为可观。

3.4 朴素贝叶斯模型

朴素贝叶斯模型是常见的分类模型之一,通过假设特征条件之间相互独立的方法,先通过已给定的训练集,学习从输入到输出的联合概率分布,进行模型的训练 。其算法原理是:
在这里插入图片描述
其中,d为样本数据集D的下标,x为样本特征数据集X特征,y为情感的类变量。通过MultinomialNB函数可以调用朴素贝叶斯模型。区别于线性逻辑回归模型处理的一点时,这里没有采用GridSearchCV网络搜索,准确度的评价采用cross_val_score函数的十折交叉验证,最终模型准确度为0.743,略低于线性逻辑回归模型。

4 项目结果与分析

情感分类本质是函数的映射,评价分类器的效果依据就是映射的准确度,除此之外还有模型的开销(速度与内存),评价的标准各异,本文采取准确率作为评价标准 。项目过程中,通过从Kaggle上收集的比赛数据,进行线性逻辑回归和朴素贝叶斯两种模型的学习与误区难点研究,完成了文本情感多分类项目。两种模型得到的准确度分别为0.768、0.743。详细模型评测数据如表1所示。
在这里插入图片描述

5 总结

本文主要研究初学者在文本情感多分类项目过程中的误区与难点,同时做出了详细说明与解决方法,实现了基于机器学习的线性逻辑回归和朴素贝叶斯两种模型并详细介绍了项目过程中的各个步骤与相关原理,提出了基于传统二分类的多分类问题解决方法,最后给出了两种模型的评测结果。从评测结果来看,项目的准确度完全能满足初学者对于文本情感多分类的入门学习。进一步的研究是模型算法的改进,利用更先进的模型解决文本情感多分类问题,比较其性能效果,提高总体的准确度,同时满足初学者的学习。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号