基于Python语言的文本数据流自适应分类方法
2022-02-22彭文良虞燕花
彭文良,虞燕花
(1.池州职业技术学院 电子信息与传媒系,安徽 池州 247000;2.安徽黄梅戏艺术职业学院 图文信息中心,安徽 安庆 246011)
随着移动网络技术与智能手机的普及,网络逐渐成为大多数人们生活中不可或缺的一部分,人们开始通过网络观察整个世界,发表自己的言论与观点[1-2].大部分的网络用户会在网络中产生各种各样的数据,如视频、动画、文本等,其中文本数据是网络上最常用的数据格式.文献[3]提出了包括元组标记算法和最优参数估计算法的自适应重传策略,集群的元组失败率、CPU占用率和集群吞吐量均得到了改善.文献[4]将概念漂移探测器设置在集成学习器端,改进后的算法对较平衡的数据流进行分类,使多棵背景树同步训练,在每个基础分类器上分别设置了警告探测器和漂移探测器,更快适应数据流中出现的概念漂移.
在社交软件以及购物平台中,每秒都会产生海量的文本数据,由于这些数据长度较短、信息不足、内容短小,且具有传输速度快和数量大的特点.大量数据汇聚而成的数据流具有很多有价值的信息,对此部分信息进行数据挖掘可帮助企业与政府做出正确的决策.以淘宝网为例,淘宝网作为我国最大的购物网站,每天都会产生大量的购物评价信息,这些信息可以为消费者提供参考,商家也可以通过此部分数据了解消费者的喜好,为商家创造更高的收益.
为此,合理地分析与利用文本数据,对于经济发展具有推动作用.通过文献分析可知,文本数据流具有不平衡与高维稀疏的特征.这造成了大量的文本流分类问题,传统的静态分类方法无法较好地解决这些问题.因此,在现有研究的基础上,本文使用Python语言以及多类标签学习技术,提出基于Python语言的文本数据流自适应分类方法.此方法可有效解决目前文本流分类过程中的困境,为文本数据的利用提供技术支持.
1 文本数据流自适应分类方法设计
使用Python语言作为处理依据,对原有的数据流分类方法进行优化.与此同时,选择合适的技术完成数据流的处理,将原有的关系型数据库转化为非关系型数据库,提升分类方法的使用效果.根据预先设定的设计流程,完成设计过程,并构建相应的测试环节对其使用效果进行测定,以证实文中提出方法具有使用价值.
1.1 文本数据流信息获取
网络中的数据复杂多变且种类相差较大.在选取目标数据时,需要进行仔细地过滤与筛选.针对文本数据流的特征将数据的采集过程通过公式进行控制,具体内容如下.
yχ=argmin{dis(x,yg),dis(x,yn)},
(1)
式中,dis(x,yg)表示无标签数据块在正类数据块中心点的距离,即
(2)
式中,yg1表示正类数据块的中心点,则
(3)
通过上述公式可得到dis(x,yn)表示无标签数据块在负类数据块中心点的距离
(4)
使用上述公式,对采集到的数据进行分类处理,并将其作为后续分类过程中的数据基础.
1.2 数据流预处理与挖掘
为对文本数据进行更好地处理,将Python语言与网络爬虫技术应用到数据挖掘过程中[6].通过网络爬虫技术对关键词进行检索,得到相应的数据后,整合为数据库的形式,并对其展开预处理与挖掘.由于Python语言只能在Python开发平台运行,将SQL数据库转化为Python专用pymongo数据库[7-8].此数据库非关系型数据库.不同于目前使用中的数据库,pymongo库可以存储各种来源和各种形式的文本数据.同时,提升数据模型的灵活度,使数据的读写更加简易,方便数据进行二次拓展.
将文本数据转化为机器可识别文本,并将其存放于向量空间中,完成数据流预处理过程.设定采集到的文本集A为n维空间中的向量,即此文本数据具有n个特征,在此数据集中的每一条信息都可映射为空间模型中的一点[9],用其中的一个向量表示,则ai=(bi1,bi1,…,bij,…,bin),i=1,2,…,|A|,bij表示数据特征j在i文档中的权重.同时,特征词的权重TFIDF衡量,计算规则设定如下.
(5)
上式中,特征值l在文本a中出现的次数可表示为fl,{l∈a}是含有特征值l的文本数据,|A|表示集合中文本总数.
在对数据流进行清洗的过程中,对数据采集中的异常项进行处理,对于属性值缺失以及其他原因造成的数据值与数据流不相关的数据展开校正,纠正数据采集中的错误.由于网络数据种类较为繁杂.因此需要对数据流中的离群点进行处理,为数据分类的精准度提供保障.在数据清洗中,将数据流中平均值相差较大的数据剔除,避免数据污染[10-11].同时,设定相应的数据规则,对数据预处理结果与数据挖掘结果进行约束.对于像网络数据这样的多维数据,数据预处理会相对降低数据维度,导致数据在进行分析的过程中无法对数据进行精确的定义,当这种数据达到一定的数量后,数据的高纬度会增加数据分析的困难性,使数据整体比例失调,因此,在数据挖掘的过程中选用多分类方法提升数据处理的精度.
1.3 文本数据流自适应分类
传统的监督学习算法对于数据的数据能力较差,容易造成信息资源的巨大浪费,使用此种方法构建的分类器具有较低的泛化能力,为提升数据流处理后的有效性,使用半监督学习半聚类分析的方法构建相应的分类器[12-13].半监督学习是机械学习领域中的一种新型方法,对于给定的数据预处理结果集合J而言,其可表示为
J={(x1,y2),…,(x|g|,y|g|),x|g|+1,…,x|g|+|h|},
(6)
上述公式中,|g|表示有标识样本的数目,|h|表示无标识样本的数目,且|h|+|g|=n.半监督学习就是对样本中标识缺失的数据进行分类处理,如图1所示.
图1 数据流分类超平面
根据图1,假设数据中的有标识数据与无标识数据均按照高斯分布混合分布[14-15],则
(7)
(8)
通过上述公式,对数据流中的无标识数据进行估计,并通过有标识数据,得到对应的无标识数据,以此提升准确度,保证分类器的使用效果.
对上述内容展开整合,并将其与目前使用中的数据流自适应分类方法相融合,至此,完成基于Python语言的文本数据流自适应分类方法设计.
2 实验论证分析
2.1 实验环境设计
为验证此方法的使用效果,构建相应的实验环节完成本文中方法与文献[3]和文献[4]中方法的对比.在实验中,通过数值模拟的方式,设定独立的数据库作为测试数据库,通过对此数据库的处理,完成验证过程.使用的数据库中包含3组以上静态数据集用于模拟多种类数据流.设定每个数据流中包含多个不同数目的样本数据块,具体数据信息如表1所示.
表1 测试数据集设定
共对上述数据库进行10次实验,取实验结果均值作为最终实验结果.使用本文方法与文献[3]和文献[4]中方法对上述测试数据库展开处理,并设定相应的对比指标,实现实验对比过程.
2.2 设定多种数据流自适应分类方法对比指标
在使用效果对比过程中,将不同分类方法的测定指标设定为加速比、规模增长性以及文本数据流点处理精度.加速比的公式为
(9)
上述公式中,R表示分类方法加速比,Ti表示i个数据流的处理耗时,TM表示M个数据流的处理耗时.
规模增长性的公式为
(10)
其中,V表示分类方法的规模增长性,ti表示一个数据流中i个数据的处理耗时,tm表示一个数据流中m个数据的处理耗时.
用上述指标对本文方法与文献[3]和文献[4]中方法进行对比分析,得到相应的使用情况分析结果.
2.3 实验结果分析
三种分类方法的加速比实验结果如图2所示.
图2 分类方法加速比实验结果
通过图2可知,在对不同测试数据集进行处理时,本文方法的分类加速情况较好,在数据量不断变化的过程中,本文设计方法的处理速度不断提升并逐渐趋于平稳.文献[3]和文献[4]中方法在对不同的数据集进行处理时,所得结果也有所不同.对于数据量较大的数据集进行处理时,其速度提升过慢,可见其数据处理能力不佳,对于数据流的处理造成了一定的约束.本文方法中使用了Python语言,在一定程度上从数据源头提升了分类方法的处理效率.文献[3]和文献[4]中方法应用的数据处理技术较为落后,造成了其使用效果不佳的问题.综上可知,本文设计方法的使用效果较好.
三种分类方法的规模增长性实验结果如图3所示.
图3 分类方法规模增长性实验结果
由于分类方法规模增长性是一种较为虚拟的对比指标,计算规模增长性得到相应的具体数值,完成此指标的对比过程.由图(3)可知,在此指标的对比过程中,本文方法得到的实验结果明显优于文献[3]和文献[4]中方法.本文方法在对数据进行处理时,其规模增长性呈直线上升趋势,同时其增长上升趋势较为稳定,波动较小.与文中分类方法相比,文献[3]和文献[4]中方法的增长幅度较慢,且增长数据波动较大,对于多种测试数据集的适用性较差.使用此种分类方法无法对互联网中的大量数据进行处理,不利于文本数据流中信息的使用.因此,在日后的研究中应对文中设计方法的部分技术展开优化,以此保证数据流的分类结果符合互联网数据的使用要求.
三种方法对文本数据流点处理精度的实验结果如表2所示.
表2 文本数据流点处理精度实验结果
通过表2中的数据对比可以看出,本文方法对文本数据流点处理精度最高,在多次使用的过程中,波动较小且误差可控性较高.同时,由数据分析也可以发现,文献[3]和文献[4]中方法的使用效果较差,无法达到文中设计方法的使用效果,此两种方法对于数据的处理精度较低,在使用过程中还存在大量的波动情况,可控性不及文中设计方法稳定.综上所述,在文本数据流点处理精度对比过程中,本文设计方法的数据处理精度高于现有方法.
通过分类方法加速比、分类方法规模增长性以及文本数据流点处理精度三种指标对本文设计方法与文献[3]和文献[4]中方法的使用效果进行分析,通过数据可知,文中方法的数据流分类能力优于目前使用中方法,在日后的研究过程中,可使用文中设计方法为互联网数据分析提供技术支持.
3 结束语
目前,互联网数据得到了广泛的应用,面对海量的网络数据,人们可以通过技术从此部分数据中提取出有用的信息.文本数据流的极速发展,使人们设计出了更多更先进的数据流分类方法.实验结果证实了提出方法的使用效果更加优秀,但该方法还存在相应的不足,因此,在日后的研究中将通过实际应用,开发出更加有效的数据流分类方法.