基于Word2Vec词嵌入和高维生物基因选择遗传算法的文本特征选择方法

2021-12-07 10:08王小宁
计算机应用 2021年11期
关键词:特征选择适应度遗传算法

张 阳,王小宁,2*

(1.中国传媒大学数据科学与智能媒体学院,北京 100024;2.媒体融合与传播国家重点实验室(中国传媒大学),北京 100024)

0 引言

互联网的海量数据中,很大一部分是以文本形式储存,通过文本数据挖掘可以将海量数据转换成最具价值的信息,在情感分析、舆情监测、信息检索和个性化推荐等诸多方面有着广泛应用,而文本分类是面对海量数据分析的关键技术,指根据确定好的类别对文本进行主题相似性判断。由于文本数据转换为特征向量通常具有高维性和稀疏性的问题,特征选择是一种衡量特征重要性的方法,在高维特征中选择最有价值的向量不仅可以降低计算开销节省时间,并且将冗余特征剔除而获得更加高效准确的分类结果,因此特征选择是影响文本分类性能好坏的重要环节。针对现有特征选择方法分类效果欠佳的问题,本文提出了一种基于Word2Vec词嵌入和高维生物基因选择遗传算法(Genetic AlgoRithm for Biomarker selection in high-dimensional Omics,GARBO)的文本特征选择方法,并且通过与基于卡方分布和词频统计类方法的对比验证得出,本文所提出的方法在文本特征选择上可有效降低特征维度,提高文本分类效率。

1 相关工作

1.1 文本分类模型

文本分类是自然语言处理的关键技术,在情感分析、主题分类、邮件过滤等诸多领域有大量应用,特征选择作为文本数据挖掘的重要组成部分[1],文本分类的好坏和特征选择有着密不可分的关系,通常文本转换后的特征都伴有高维度和稀疏性问题,因此特征选择对于文本分类的结果有直接影响。文本特征选择的常见方法包括使用主成分分析(Principal Component Analysis,PCA)和优劣解距离(Technique for Order Preference by Similarity to Ideal Solution,TOPSIS)算法对文本复杂网络进行降维[2]结合加权的Word2Vec 进行文本分类[3]。在基于语料和术语关系的变量选择上,文献[4]针对语料库特征选择的缺陷提出了引入命名、类内频率和类内方差三种指标,克服了卡方分布算法不能区分在一个类别内具有不同频率分布的特征的缺陷,实验结果表明这种方法对于多种分类器和语料库都有一定效果。文献[5]针对没有考虑术语之间的语义关系而导致的分类准确率低的问题,提出了利用统计派生的概念索引来替换各个术语根据语义索引在术语之间构造一个新的语义空间。文献[6]对词频逆向文件频率(Term Frequency-Inverse Document Frequency,TF-IDF)算法进行改进,提出了改进的TF-IDF 和卡方(Improved TF-IDF-CHI,Imp TF-IDF-CHI)的混合特征选择方法。文献[7]和文献[8]分别将权重修正函数和特征选择引入到文本向量研究中,改进得到了权重修正函数和TH-IDF融合的方法。文献[9]发现当新的特征与单个特征结合使用时,歧义和噪声会减小,在多种场景中为后续分类的性能有较大提升。文献[10]利用显著性综合评估(Comprehensive Measurement For Significance,CMFS)特征选择算法在文本分类中不影响分类效果的同时降低维度,在多种数据集上测试,相同数据情况下,文献[10]所提算法准确率高于信息增益(Information Gain,IG)和卡方统计(CHI statistic,CHI)算法。文献[11]通过构建倒排文本空间索引树分裂聚类多目标模型,并对非支配排序遗传算法进行改进提出了基于先验初始特征集策略的非支配排序遗传算法,使得文本空间索引平均查询时间减少,准确率提升。

1.2 遗传算法概述

遗传算法(Genetic Algorithm,GA)是一种仿生型优化算法。此算法与传统优化算法从单个初始值开始迭代不同,此遗传算法从全局角度出发,覆盖面大,利于全局择优,并且具有可拓展性,易与其他算法结合。传统GA如图1所示。

图1 传统遗传算法流程Fig.1 Flow chart of traditional genetic algorithm

其中:G表示迭代次数,输入的初始化特征数据经过个体的选择、交叉和变异得到高质量的特征集;GEN为迭代次数的阈值,达到设置的阈值后输出结果。在利用遗传算法进行过变量选择方面,文献[12]采用互信息最大化(Mutual Information Maximization,MIM)与自适应遗传算法(Adaptive Genetic Algorithm,AGA),在高维特征阵列数据实验上与传统特征选择算法相比达到最高分类准确率。文献[13]提出了面向遗传算法的潜在语义特征(Genetic Algorithm oriented Latent Semantic Features,GALSF),该方法包括特征选择和特征转换,实验结果表明此方法优于过滤式特征选择方法。在实际应用中,文献[14]为了解决多变量选择和评估开发了一款高效算法包。文献[15]结合了过滤器特征选择方法和改进后的遗传算法,此混合方法在准确率上优于单一算法。

综上所述,国内外学者主要针对具有较高维度特征的文本分类和遗传算法进行建模,在特征选择和分类准确率上有了一定成果,但这些研究仍然存在一些不足之处,改进的模型算法在降维与准确度上有提升改进空间,同时没有考虑到是否存在多个词间的复杂关系,在特征选择环节不够准确。本文提出了一种适用于文本特征选择的遗传算法,并以公开的酒店评论文本数据作为研究对象,使用随机森林作为分类器,准确率达到88%,与其他文本分类算法相比,本文方法在特征维度数较少的情况下进行文本分类的准确率具有明显优势。

2 Word2Vec词嵌入和GARBO模型

2.1 模型改进

GARBO[16]是基于遗传算法(GA)改进的一种算法,使用方差分析(ANalysis Of VAriance,ANOVA)的F 检验得到特征权重信息,以指导遗传算子的大小。在保持变量维度可变的情况下,通过基于随机森林分类器作为适应度函数对文本特征质量进行评估。与传统遗传算法不同,变量维度(或选择特征数量的多少)的优化是通过交叉和突变算子来确保的,后者由插入、删除和替换构成。这些运算符由模糊逻辑控制器(Fuzzy Logic Controller,FLC)动态指导,每次GA 迭代时进行编译,以便动态调整执行交叉和变异算子的可能性。此外,会定期计算特征组特征集中每个特征贡献的度量,FLC 使用该度量来更新其特征排名并确定要传播到下一代的可能性,整体算法流程如图2所示。

图2 改进的自适应遗传算法流程Fig.2 Flow chart of improved adaptive genetic algorithm

本文在文本信息预处理后,加入词嵌入步骤,从而形成初始特征集,区别于其他遗传算法的地方在于FLCs模块可通过pi(插入概率)、pd(删除概率)、ps(替换概率)、pc(交叉概率)、pm(突变概率)参数及时调整特征集的特征选择。其中将某个特征维度看作独立的基因,而多个特征维度组成染色体,更进一步,多个染色体的集合组成特征集,在小于设定迭代次数时,经过选择、交叉和突变步骤进行特征的优化。

2.2 特征权重

为了表示当前特征信息的重要程度,首先使用方差分析(ANOVA)来量化每个特征与目标向量之间的关联并计算权重,生成范围在0.2~0.8 的权重值,通过过去几次循环调整中特征出现的频率和包含给定特征时变量比不包含特征时变量表现出更好的概率来更新特征权重,在每次迭代中计算并保存变量的适应度评估值,经过FLC 系统后决定权重值的增加或减小。

2.3 输入不定长变量

相较于传统的固定长度二进制表示的特征组,不定长特征组的方案在某些领域得到了更优秀的表现,其主要思想是将每个特征组编码为选定的特征,而不是特征是否存在。此方法在面对高维特征时不会因特征数量过多而导致进化效率低以及进化过程中所产生的计算资源的限制。输入带有特征权重的不定长变量,特征权重会指导变量在迭代过程中生成二进制掩码以指示变量添加或保留到整体特征中。

2.4 适应度函数

适应度函数在特征选择的迭代过程中起着重要的评估作用,根据计算来衡量个体的优劣,数值越大越优秀,反之亦然。适应度高的优良个体越容易保留来进行种族的繁衍。在本文中,采用随机森林算法来对数据进行分类,每个特征组适应度值对应于每次循环中计算分类准确度的平均值。随机森林(Random Forest,RF)是由Breiman[17]提出的一个集成学习算法框架,主要是随机选择样本和选择特征,采用Bootstrap重抽样技术从原始样本中随机抽取等量数据作为训练样本,并且随机地选择部分特征来建立决策树。其实质是由多棵决策树组成的集成分类器,由各个子分类器来共同决定其分类结果。

2.5 交叉

交叉算子遵循保留父母双方高质量特征的原则,如图3所示。特征集中对两个特征组使用特征权重对其进行排序,然后按照规则使用二进制掩码来表示,如果父母特征组长度不同,则使较短的特征组与另一条特征组对齐,确保至少有一个特征耦合,并且对二进制的编码特征遵循以下操作:1)如果编码为1-0,则保留第一个父代的特征,并排除第二个父代的特征;2)如果编码为0-1,则排除第一个父代的特征,并保留第二个父代的特征;3)如果编码为1-1,则保留两个特征;4)如果编码为0-0,则以0.5的概率交换特征。

图3 交叉算子的继承特点Fig.3 Inheritance characteristics of crossover operator

2.6 变异

为了消除或代替某些表现较差的特征,同时随机地引入其他特征来保持种族的多样性,变异算子使用替换、插入和删除三个算子来进行突变,是否进行变异取决于对应特征位置的二进制编码,对于特征权重编码为1 的可认为是优质特征,不对其进行变异操作,而对于特征权重编码为0 的位置按照三种变异的概率进行相应的变异操作,其概率分别为ps、pi、pd。上述特征变异过程如图4所示。

图4 变异过程Fig.4 Process of mutation

其中,替换过程是将编码为0 的弱权重特征随机替换为编码为1 的强权重特征;插入过程则在特征集尾部插入强权重特征;删除操作即删除弱权重特征。

2.7 FLC模糊逻辑函数

FLC 是使用Mamdani 模型框架实现的[18],它由规则的条件部分和后继执行部分组成,十分适合多输入单输出问题,

标准的遗传算法趋向收敛于单个解决方案,但这可能不是最优的,如果群体内的特征组都十分相似,则交叉算子的作用就非常小,突变则起到较大作用,为了适应这一动态变化的情况,GARBO 使用FLC 来动态调整一下控制参数pc(交叉概率)、pm(突变概率)、ps(替换概率)、pi(插入概率)、pd(删除概率),FLC 推理引擎可以根据数据输入和规则设定进行推理操作,最终输出确定值。FLC 规则设定的基本思想是在不降低分类精度的前提下保持删除算子较大的概率,算子参数影响如图5所示。

图5 算子参数传递Fig.5 Operator parameter passing

适应度函数最大值为fmax(t),适应度平均值为fave(t),平均特征组大小为mlc(t),文本特征集相似度为ss(t),其中最大适应度距离FV和两代之间的平均适应度之差FT,从fave(t)和fmax(t)以及mlc(t)得出,如式(1)、(2)所示:

交叉和突变遵循以下准则:

1)当fave(t)接近fmax(t)时表示特征组整体质量较高,接近同质化,所以pc应为低,但如果fave(t)和fmax(t)之间存在较大的差值,则pc应为高。

2)当fave(t-1)接近fave(t)时,表示连续两代生成的适应度变化很小,因此将pm设置为较高。

3)当fave(t-1)和fave(t)之间存在较大差异,则意味着连续两代的适应性变化非常大,在之后的迭代遗传中特征组的质量不高,因此降低pm以避免在突变过程中丢失优秀的特征组。

4)当mlc(t)高时表明此时特征数过多,则将pc和pm设置为低。

5)插入和删除则通过FLC 考虑指标pc和mlc(t)的值,当群体中的相似特征组较少并且特征组长度的平均值也低时,则设置pi高而pd低。

6)替换概率则根据ps=1-(pd+pi)。当pi和pd达到最高概率值(即0.4)时,结果ps等于0.2;相反地,当pi和pd达到最低概率值(即0.1)时,结果ps等于0.8。

2.8 特征集迁移策略

特征集相对独立地进行各自的迭代变换,但可以通过偶尔的迁移来进行特征集的交换更新,可以设置参数每隔x次循环后对优秀特征集进行复制迁移,并且允许迁移特征集中最多25%的优秀特征组,同时接收这些迁移特征的特征集会消灭自身最底层的25%特征组以吸收新的特征组,这也会导致那些优秀特征获得更多的留存机会,提升整体特征集的质量。

3 实验与结果分析

3.1 实验数据

实验采用的数据是Tan 等[19]搜集的酒店评论情感分析语料,总数为10000条,其中积极的语料为3000条,消极的语料为7000 条,为减少数据的不均衡性给分类带来的影响,在此采用积极和消极各2000 条数据作为训练集,积极和消极各100 条作为测试集,实验文本长度介于27~723,全文采用utf-8编码。

3.2 实验参数

实验环境为python3.7,实验设备为MacBookPro,处理器为2.6 GHz 六核Intel Core i7。适应度评估函数使用随机森林,它属于Bagging类型,通过组合多个弱分类器,最终结果通过投票或取均值,使得整体模型的结果具有较高的精确度和泛化性能。具体参数如表1所示。

表1 参数设置Tab.1 Parameter setting

3.3 预处理

首先使用Wiki 中文语料库进行Word2Vec 模型构建,使用jieba 分词,经过去停用词和标点符号等操作得到整理后的文档,将文档输入创建设置为300 维词向量的Word2Vec 模型中,训练得到模型生成的词向量,作为后续情感分析模型提取特征词的数据输入。

3.4 评价指标

使用正确率(Accuracy)对实验结果进行评价,其计算式如下:

其中:TP(True Positive)代表真阳性;TN(True Negative)代表真阴性;FP(False Positive)代表假阳性;FN(False Negative)代表假阴性。

3.5 结果分析

图6 为文本特征集进化的过程显示,其中黑色折线表示特征集中所有个体的适应度均值随迭代次数的变化,灰色折线表示特征集中存在的最优适应度数值随迭代次数的变化,可以发现,不论是最优值还是均值,在遗传算法的前期都有上升的趋势,表明特征在以提高适应度为目标不断调整参数,后期达到算法上限逐渐趋于平稳。图7 为特征经过适应度函数评估得到的适应度数值随迭代次数的变化过程,其中适应度比值=(最高适应度-平均适应度)/最高适应度,在前期适应度波动较大,经过多次迭代后适应度波动降低并趋于稳定,平均特征适应度趋于较高水平。同样,图8 则显示了在迭代过程中最优个体适应度值和平均适应度值分别与平均特征组长度的比值,整体函数呈上升趋势,表明被筛选的单个特征质量逐步增高。图9 表明随迭代次数增加,此算法不断筛选出高质量特征,维度逐渐降低,结合图6 所示,经过遗传算法筛选得到的特征集准确率仍保持在较高水平。

图6 特征平均准确率与最大准确率随迭代次数变化Fig.6 Feature average accuracy and maximum accuracy varying with number of iterations

图7 特征适应度随迭代次数变化Fig.7 Feature fitness varying with number of iterations

图8 特征最大准确率和平均准确率分别与特征维度的比值随迭代次数变化Fig.8 Ratios of feature maximum accuracy and average accuracy to feature dimension varying with number of iterations

图9 特征维度随迭代次数变化Fig.9 Feature dimension varying with number of iterations

表2 为不同方法在htl-2000 酒店评论数据集上准确率指标比较结果。TF-IDF 作为传统的统计学方法,优点是简单快速,但同时缺点也很明显,精度不高,严重依赖语料库,仅依赖词频度量词的重要性,在用于空间向量计算文本相似度时可以取得比较好的效果,但文本分类中单纯使用TF-IDF 来判断特征是否有区分度是不够的。卡方分布方法只统计特征是否出现,而不统计出现了几次,对低频特征有所偏袒,所以在特征选择中产生偏差。而传统的遗传算法没能根据每次迭代的反馈灵活调整特征变化的参数导致每次迭代的效率较低,没能达到最佳特征组合。结果显示本文方法在特征维度低的情况下准确率较GA 提高了2.4 个百分点,F1 值较卡方统计(CHI)高了0.45个百分点。实验结果表明本文提出的方法具有较好的降维能力和良好的分类性能。

表2 不同方法的实验结果比较Tab.2 Experimental result comparison of different methods

4 结语

针对中文文本分类任务,特别针对文本表示和特征选取部分,本文借鉴生物遗传算法[20],将文本转化为基因片段处理,通过不断经过交叉、变异、选择等操作后通过随机森林适应度评估函数,在不断迭代后最终得到更加准确的特征。实验结果表明,与其他文本特征选择算法相比,本文提出的基于Word2Vec 词嵌入和高维生物基因选择遗传算法的文本特征选择方法,在有效降低文本特征维度的同时也取得了较好的分类效果。

本文所提方法在控制特征维度数的同时有较高准确率,但也有明显缺陷,例如计算成本高、计算效率较低,如何缩短迭代时间将作为下一步研究方向。

猜你喜欢
特征选择适应度遗传算法
改进的自适应复制、交叉和突变遗传算法
基于改进遗传算法的航空集装箱装载优化
基于改进遗传算法的航空集装箱装载问题研究
基于遗传算法的高精度事故重建与损伤分析
物流配送车辆路径的免疫遗传算法探讨
启发式搜索算法进行乐曲编辑的基本原理分析
基于智能优化算法选择特征的网络入侵检测
故障诊断中的数据建模与特征选择
reliefF算法在数据发布隐私保护中的应用研究
一种多特征融合的中文微博评价对象提取方法