基于TF-IDF的社交电商文本信息分类研究

2021-01-10 08:22王国桥牛少彰
网络空间安全 2020年12期
关键词:微商文档准确率

王国桥,牛少彰

(北京邮电大学计算机学院,北京 100876)

1 引言

以微商为首的社交电商,在包括但不限于人、货、场三个维度上,都有着去中心化的发展趋势。因此,其呈现出人群碎片化、小品牌空间扩大化、产品类目多元化等特点。在这样的前提下,对于社交电商平台,应以精准流量智能推广为目标导向,对微商进行分析。比如通过建立AI用户画像模型的方式,提取微商用户特征,并对其进行文本特征量化,数字特征量化,类型特征量化等。其中,通过文本特征量化进行微商分类是最重要的环节之一。

本文所述的大数据平台拥有多年的微商经营数据积累,包括微商交易数据、聊天朋友圈文本信息、通讯录信息等。这些数据已经过脱敏、清洗、整合处理,符合大数据分析的基本条件。本文从大数据平台随机挑选了5,000家微商进行微商分类实验,分类目标为微商的主要经营分类,比如母婴用品、数码3C、食品、美妆个护等。对原始数据的挑选以后,提取出其朋友圈文本信息进行分析,每家微商平均包含50条朋友圈数据。分析微商朋友圈文本数据构成,发现除常见于电商平台的销售文案外,还包含较多口语化的宣传用语,吸引眼球的生活小常识、日常菜谱、本地推广内容等,有些是不同类型微商千篇一律的话术,有些则对微商分类有较大参考价值。因此,社交电商的朋友圈内容的信息具有一定多样性和复杂性。

2 研究背景

在做研究之前,本文尝试使用经典特征匹配方案来进行分类。首先,根据经验以及市场环境,将微商的大分类确定为11类,再以京东、天猫等电商平台为基础,为每个分类整理出100个关键词,并根据对微商语言习惯的分析,剔除共性词、参考价值较低的词语,并将这些关键词根据微商语言习惯进行筛选和扩充。这个过程是以中文分词为基础的,因此需要中文分词库工具。Jieba分词库是Github上的一个开源项目,提供多种编程语言的支持,可以将中文文本拆分成词语。对每个微商的全部朋友圈信息进行汇总,并使用Jieba分词切割、去重,将结果与筛选出的11个分类的关键词分别进行匹配,匹配到关键词的个数计为匹配度。根据不同分类的情况,对部分结果进行人工筛选的方式确定匹配度阈值,再对所有微商根据阈值进行分类。

经典特征匹配方案在优化与验证后,最终准确率达到40%,对于微商分类任务有一定参考意义。然而,该方案误判率较高,而匹配逻辑较简单也决定了它有限的优化空间。同时,在基础分词建立阶段,人为干预较大,无法动态拟合实际生产中遇到的变化。受限于这些基础关键词,难以涵盖微商的方方面面,进而对微商新热词的动态变化不敏感。因此,需要一种准确率较高、适应性更为灵活的方法来解决微商分类问题。

3 相关概念和方法

自然语言处理是人工智能领域的流行方向,而文本分类作为自然语言处理的关键技术已得到专家和学者的广泛关注。对于短文本分类问题,词袋模型可以从词向量中提取词频矩阵,删除停用词和低频词,而在此基础上,TF-IDF算法可以提取文本特征,得以进行文本分类研究。在优化后,可以对文本信息进行高精度分类[1,9]。

3.1 词袋模型

Bag of Words,也称为词袋模型。它通常被用来描述一个简单的文本数学模型,也是一种常用的文本特征提取方法[2]。在信息检索领域中,词袋模型仅针对无序文本,忽略其顺序和语法,仅仅将其视为文本中几个单词的集合。在预料中将每个词汇都视为不相关,并且每个词汇的外观都不依赖于其他词汇。也就是说,无论文字在何处出现,都不会受到其他因素的影响[3]。

文本分析的主要目标之一是将文本转换为数字形式,即特征向量化,以便可以使用机器学习算法对其进行训练。机器学习算法需要以数字形式处理数据,在此基础上它们可以分析数据,并提取有用的信息。词袋模型从文档中的所有词中提取出特征词,并使用这些特征项矩阵进行建模。在这个阶段后,每个文档将描述为一个词袋。值得注意的是,该方法只记录单词的数量,语法和单词顺序都将忽略。

文档的单词矩阵,是所有单词出现在文档中的次数的记录总和,可以描述为各种单词权重的组合。通过设置一定限定条件,可以过滤出更有意义的单词。除此之外,还可以构造出现在文档中的所有词语的频率直方图,即特征向量,这些特征向量可以用于文本分类[4]。

3.2 TF-IDF模型

TF-IDF模型是一类应用广泛的加权技术,经常被用来进行信息检索和数据挖掘。TF(Term Frequency)是词频的简称,可理解为文本内词汇出现的频率,逆文本频率的缩写为IDF,即一个词语普遍关键性的度量[5]。

该模型的核心思想:如果一个词汇在文章中多次出现,TF值就较高,而该词汇又很少出现在其他文章中,则其具有良好的类别判别性能,具有分类泛用性。实际上,TF-IDF是TF × IDF,即他们的乘积。其中,TF表示文档中条目的频率。后一个IDF的核心思想:如果包含t项的文档越少,即n越小,IDF越大,则意味着t项具有出色的分类和区分能力。如果某种类型的文档C中有m个文档都包含术语t,并且该文档中除t之外的文档总数为k,则显然n(包含t的所有文档的数量)是上面的m,k的总和。当m大时,n也大,并且根据IDF公式获得的IDF的值将小,表明术语t类别辨别能力不强。但是,客观情况是,如果某个条目经常出现在文档类别中,则意味着该条目可以很好地反映该类别的文本属性。对于此类条目,应赋予较高的权重,并且可以用作此类文本的特征词,用于与其他类型的文档进行标识[6]。

3.3 特征选择方法CHI

对于文档相似度计算问题,尽管TF-IDF模型是相当有效的,但文本分类问题中,单纯使用TFIDF来判断一个特征是否有区分度是不够的。因为它仅仅综合考虑了该词在文档中的重要程度和文档区分度,而没有考虑特征词在类空间的分布。假使一个特征词,在各类空间分布较均匀,这样的词汇则对分类基本无贡献,但如果一个特征词比较集中分布在某类中,而在其他类几乎不出现,这样的词却能够很好代表这个类的特征,而TF-IDF无法区分这两种情况[7,10]。

卡方统计量(Chi-square statistics,CHI)用于衡量特征词和类别之间的相关联程度。假设和之间符合具有一阶的自由度分布,则与的CHI值定义如式(1)所示[8]。

其中,m为类别数目。

4 模型概述

如前文所述,TF-IDF是一种文本挖掘和信息检索领域常用的加权技术,用以评估某一字词对于一个文件集或一个语料库中文件之一的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时,也会随着它在语料库中出现频率成反比下降。

对于微商所发布的朋友圈文本信息,每个微商所发布的信息总和可映射为TF-IDF中的一整个文件集,或者称为一个文档,所有微商的文本之和可映射为整个语料库。而每个微商所出现的topn的词语,就是该文档代表性最强的词,可以作为关键字。在此基础上,再使用朴素贝叶斯算法公式推导,就可以生成类别标签,进一步得到统计某一文档属于某一类的概率。微商分类使用TF-IDF的优势有四点:(1)映射关系比较清晰;(2)着重关键词的权重,放低非关键词的权重;(3)相比于其他机器学习算法,明显地减少模型的特征维数,避免维数灾难;(4)在提升分类计算效率的同时,保证分类效果具有不错的查准率、召回率,整个模型架构如图1所示。

数据准备后,进入文本预处理阶段,其中格式处理子阶段包括删除空格、换行符、并合并微商文本。然后对文本进行分词处理,选用Jieba分词库的精简模式对待处理文本进行分词。停用词过滤阶段,主要用户清理分词结果中的噪声信息,例如“的”“是”等无意义词汇以及无意义标点、表情符号等。这些词汇在多数自然语言处理问题中出现频繁,但对语义影响不大,甚至会对结果造成干扰。本实验中,停用词库选用表情符号集合以及哈工大中文停用词库。

接下来,使用朴素贝叶斯分类算法,按默认参数,从处理好的文本向量得到分类结果。最后,从特征词维数的选择、特征权重计算方式、分类器的选择及参数调整等方面,对模型的准确率做出优化。在该过程中,使用遗传算法辅助调参,并从多个维度对测试结果进行评价,以优化核心指标为目的进行多轮的优化。

图1 模型架构图

5 模型训练与调优

5.1 数据准备

对于准备的5,000家小微商户的朋友圈文本信息,首先进行数据清洗过程。其中,包括缺失数据清洗、格式内容清洗、非需求数据清洗等,同时对于每条文本数据,对其进行人工标注,包括电子产品、房产、服饰、美容、美妆个护、培训、汽车、食品、首饰、推广、医药保健11个大分类。经过该预处理过程后,各分类数据规模如表1所示。

总计数据条数为28,273,最终数据集呈现为一个txt文本文件,其中每行为一条数据。每条数据包括分类标记信息、一个制表符以及该朋友圈记录对应的文本信息,数据中,Emoji表情信息得到保留、连续的空格合并为一个、多行文本合并为一行,部分数据如图2所示。

图2 数据示例图

5.2 划分训练集

在数据准备的基础上,对原始数据进行训练集、测试集的划分。划分过程保证训练集,测试集约为4:1,且测试集各分类尽可能均衡,以方便后续的验证过程。同时,在该过程中,还将训练集和数据集中11个大分类的名称映射为数字1~11,映射关系如表2所示。

整理后的训练数据、测试数据规模如表3和表4所示。

训练集的前三行如图3所示。

可以看到,训练集中,样本数最大的分类“医药保健”有3,882条数据,而最小的分类“美容”仅有636条数据,因此训练集存在一定的类别不平衡问题。

表1 数据规模

表2 映射关系

表3 训练数据规模

图3 训练集前3行

5.3 预处理过程

对于每条文本信息,采用Python的Jieba库进行分词处理。Jieba是目前最好的Python中文分词组件之一,可以将整段文本切割为中文词汇。

同时,在该步骤的处理过程中,还将过滤停用词。用到的停用词库包括两个:其一为中文常用停用词库,包括无意义标点符号、中文词汇等,共1,894词汇;其二为鉴于微商文本实际情况所选择的Emoji表情符号合集,共3,098词汇。

然后,使用CHI进行特征选择,使用CHI计算公式来计算所有单词的CHI值,以此作为特征选择的依据。选择出1,000维左右的特征列表后,有了特征之后就是为每个新闻构造VSM模型,即使用TF-IDF方法计算各特征的权重得到表示该文本的特征向量。本文将输出结果存储为两个txt文件,这样在之后训练模型是直接读取数据即可,省去重复的数据处理,处理结果前三行如图4所示。

5.4 贝叶斯分类器

将训练集的特征向量传入Ntlk库的NaiveBayesClassifier进行训练,这是一个基于朴素贝叶斯原理的分类器。按默认参数训练,测试集表现如表5所示。

表5 模型第一轮表现

由于测试数据集中,各分类数据量均为500条,因此精确度、召回率、准确率三个值是相等的,而F1值为精确度和召回率的调和值,也同样相等。

各个分类的准确率表现如表6所示。

接下来以准确率为判断基准,对模型进行调优。

5.5 模型调优

5.5.1分类器选择

首先,对于模型训练阶段,将贝叶斯分类器替换为其他分类器进行测试,实验结果如表7所示。

从测试结果可以看出,决策树和SVC的分类效果不如朴素贝叶斯,且训练过程较慢。因此,有稳定分类效率,且常用于文本分类的贝叶斯分类器仍是首选。

5.5.2 特征权重计算方式

在计算每一篇文档的特征向量权重过程,即将文档从分词列表转化为分类器可以识别的特征向量输入过程中,特征权重可以选择不同的计算方式。原统计方式为使用TF-IDF值进行累计。使用新的计算方式重试,测试结果如表8所示,原方式仍是最合适的统计方式。

图4 预处理后数据

表6 各分类准确率表现

表7 其余模型准确率测试结果

表8 其余特征权重计算测试结果

5.5.3 特征词维度选择

合理的特征选择,可以降低文本特征维度、降低分类时间复杂度或者提高分类效果。本文使用CHI方法进行特征选择,其中特征维度数原定为100,先测试特征维度数的选择多少为最优。为防止过拟合的情况出现,将原训练集划分为新训练集和新测试集,用于该参数的调优过程依据;将原测试集作为验证集,用于验证该步骤调优效果。新的训练集、测试集、验证机划分如图5所示。

图5 模型架构图

将特征维度选择数逐渐增加,进行训练与验证。其中,训练集:测试集均按3:1的比例划分,且每轮测验均做5折交叉验证。选择数从5开始逐渐增加,260及之前以5为步进。随着特征维度数的增加,训练速度大幅降低,因此260维度之后步进逐步扩大,寻找准确率拐点。训练过程绘制折线图如图6所示。

测试结果显示,当特征选择数达到300时,达到94.939%准确率,而后图像趋于平缓。选择数达到600左右时,准确率达到95.649%,而后几乎不变。综合考虑训练时间,选择数使用600较为合适。经验证,在训练集+测试集上进行训练,再使用验证集进行测试,准确率为95.145%。

图6 测试集上表现

6 结束语

在该实验中,调参优化后模型的准确率有一定提升,对于小微商户分类问题有一定参考价值。相比于BERT等准确率更高的NLP模型,对系统资源的开销小了多个数量级,并且在准确率有一定保证的前提下,训练快速,更适合投入线上的实时系统生产环境。实验证明了使用词袋模型、TF-IDF、再使用朴素贝叶斯方法进行文本分类是可行的,可以极大地简化人力劳动,对小微商户微商分类、广告精准化推荐、用户精准画像等提供了较为可靠的数据和方法支持。

下一步工作将着重寻找更优的方法,进一步提升模型准确率,目前提升的瓶颈有三:(1)基于TF-IDF的模型输入仅为直接分词后的结果,而丢失了包括前后文的语义信息、语料的重复出现频度等在一般的自然语言处理模型中是较为重要的信息;(2)微商分类问题复杂,该模型没有分析词汇直接的关联关系,本质上仍是词频统计的升级版,导致精度达到一定值后难以继续提升;(3)模型的优化仅进行了调参,没有从方法上进行升级。

因此,后续拟用TF-IDF的算法改进:TF-IWF算法。该算法在TF-IDF算法基础上,提出新的基于词频统计的关键词提取方法。利用段落标注技术,对处于不同位置的词语给予不同的位置权重,对分词结果中词频较高的同词性词语进行词语相似度计算,合并相似度较高的词语,通过词语逆频率TF-IWF算法,按权值排序得到关键词。这种改进算法解决了传统中文关键词提取方法中对相似度高的词的不重视而导致关键词提取精度不高的问题。此外,在训练时间与资源允许的前提下,使用Google的预处理模型BERT对原始语料进行分析。BERT预先学习了大量中文语料库,且使用双向训练的语言模型,对语境理解更为深刻,可以更好地完成小微商户分类任务。

猜你喜欢
微商文档准确率
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
轻松编辑PDF文档
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
规范教师做微商,这个可以有
Word文档 高效分合有高招
首届“微商大会”全过程追踪播报coco薇启动微商嘉年华!