APP下载

融合类别特征扩展与N-gram子词过滤的fastText短文本分类

2022-08-24李志明何宜昊申利民

小型微型计算机系统 2022年8期
关键词:贡献度信息熵语料

李志明,孙 艳,何宜昊,申利民,2,3

1(燕山大学 信息科学与工程学院,河北 秦皇岛 066004)

2(河北省计算机虚拟技术与系统集成重点实验室,河北 秦皇岛 066004)

3(河北省软件工程重点实验室,河北 秦皇岛 066004)

4(河北省高端装备产业技术研究院,河北 秦皇岛 066004)

E-mail:shenllmm@sina.com

1 引 言

短文本,一般指字符个数少于160的文本段,是人们在互联网或新媒体上不断大量制造且包含需求与情感信息的重要呈现形式之一,如各类平台的留言、评论、朋友圈等[1],而短文本分类,是实现情感分析、舆情监控、智能问答等领域[2]的共性关键技术之一.

相比长文本而言,短文本中能够用于类别区分的上下文及关键信息较少,致使短文本分类过程面临着数据稀疏问题[2],进而使得性能较为优良的长文本分类方法难以适应短文本分类任务,因此,数据稀疏问题成为了制约短文本分类算法性能得以提升的关键因素.从提升短文本分类算法性能的相关研究来看,目前研究人员的工作主要集中在如何扩展高质量的短文本类别特征、如何让算法更侧重对具有高类别区分贡献度的文本语义特征进行学习等方面.

在扩展短文本类别特征方面,Flisar J等人[3]利用spotlight框架识别短文本中的关键词汇,并将DBpedia知识库中与关键词汇相应的本体信息补充至短文本中,以降低短文本的数据稀疏性,其模型在Snippets、News、Twitter等数据集上F1值提升了3%~10%不等.Zhou Y J等人[4]使用TF-IDF(Term Frequency-Inverse Document Frequency)方法提取短文本中的关键词汇,利用Word2Vec和LDA(Latent Dirichlet Allocation)模型分别生成每个关键字的加权同义词和相关词,计算利用加权同义词和相关词扩展后的短文本与原文本的余弦相似度,并根据特定阈值决定是否将生成的词汇扩展至原文本中,其模型在自建数据集上F1值达得了85.09%.Lei Ming-zhu等人[5]在Miao Y等人[6]的基础上,通过神经主题模型挖掘文本潜在主题并将其存储于记忆网络中,将 Glove词嵌入表示的短文本与记忆网络中的相应主题融合后,使用卷积神经网络和双向GRU网络提取文本的序列信息,有效的增强了短文本的特征表示,其模型在Google search snippets数据集上F1值达到了96.04%.Yanxuan Li[7]使用LDA主题模型获取主题潜在特征词,并利用Word2vec将原短文本与相应主题潜在特征词转换成词向量,从而达到对短文本特征扩展的目的,其模型在IMDB影评数据集上F1值达到了91.37%.上述研究表明,利用类别特征扩展短文本特征,尤其是使用高质量的类别特征,可以在一定程度上弥补因数据稀疏导致的短文分类算法性能不佳问题.

在令算法侧重高类别区分贡献度语义特征的学习方面,文献[8-11]提出的短文本分类方法,均是从深层的深度学习模型角度出发,通过增加网络深度或改进某层网络结构以增强模型捕获高类别区分贡献度语义特征信息的能力,达到提升模型预测性能的目的.然而,模型网络深度的增加,导致模型训练时间过长,且易引发过拟合、梯度弥散等问题,令其实用性大大降低.尽管如此,该类方法表明,令分类模型更加专注于高类别区分贡献度语义特征的学习,是提升模型预测性能的有效途径,对本文研究具有很好的启示意义.

在浅层的深度模型方面,JOULIN A等人[12]提出的fastText模型,能够在较短的训练时间内取得与深层的深度学习模型相媲美的精度,其原因在于两个方面:1)与直接从短文本预处理结果中提取特征进行分类的方式相比,fastText模型增加了N-gram特征,而N-gram特征的引入有效增强了模型对短文本时序信息的提取,使得模型预测精度得以有效提升;2)fastText模型在输出层使用层次softmax函数,加快了模型的训练速度.Feng Yong等人[13]在文献[12]的基础上,根据N-gram子词的TF-IDF值实现高频低类别区分贡献度词汇的过滤,并使用LDA主题模型提取的类别特征对短文本特征扩展,实验表明,与fastText模型相比,该方法在二分类、五分类和十分类任务F1值方面分别提升了4.12%、5.08%、5.56%,这一结果表明了过滤高频低类别区分贡献度词汇及扩展短文本特征对分类模型性能提升的有效性.然而,在高频低类别区分贡献度词汇过滤环节,文献[13]采用TF-IDF方法,仅从N-gram子词在整个语料中出现的频率角度考虑词汇的类别区分贡献度,未能考虑N-gram子词在语料中各类别内的出现频率对类别区分贡献度的影响,由此可见,该方法就低类别区分贡献度词汇过滤方法的性能而言,仍有可提升的空间.

以提升fastText短文本分类模型的预测性能为目标,本文从如何获取高质量的类别特征、如何降低N-gram子词中低类别区分贡献度子词对模型学习高类别区分贡献度语义特征时产生的干扰等两个方面开展理论和实验研究工作,主要贡献如下:

1)提出基于TF-IDF 的LDA类别特征提取方法.该方法使用TF-IDF方法计算预处理语料中词汇的TF-IDF值,根据特定阈值对预处理语料中词汇初筛,形成低频高类别区分贡献度词汇列表,再采用LDA主题模型从其中提取高质量的类别特征,为短文本的类别特征扩展奠定基础.

2)提出基于词汇信息熵的N-gram子词过滤方法.该方法引入信息熵的计算理念,定义词汇信息熵,从词汇类别间和词汇类别内两个角度综合度量词汇对类别区分的贡献度,并根据阈值实现对N-gram子词的过滤,从而实现对N-gram子词中低类别区分贡献度子词的过滤,以期降低低类别区分贡献度子词对模型学习高类别区分贡献度语义特征时产生的干扰.

3)在上述研究基础上,构建EF-fastText(Extension & Filtering -fastText)短文本分类模型,并在今日头条新闻文本分类数据集上进行性能验证.

2 基于TF-IDF 的LDA类别特征提取方法

扩展至短文本的类别特征质量对短文本分类模型的性能具有重要影响.为提升类别特征质量,本方法使用TF-IDF方法计算预处理语料中词汇的TF-IDF值,并根据特定阈值实现对预处理语料中词汇的初筛,形成低频高类别区分贡献度词汇列表;然后,再将低频高类别区分贡献度词汇列表输入至LDA主题模型,实现高质量类别特征的提取.

TF-IDF是一种统计方法,常用以评估某一词汇对于语料库的重要程度.该词汇的重要程度,与其在该文本中出现的次数成正比,与包含该词汇的文本数量成反比.

假设某语料库D的短文本总数为|D|,则词汇ti在短文本dj中的TF值以及在语料库中的IDF值的计算方式如式(1)、式(2)所示:

TFi,j=ni,j∑knk,j

(1)

其中,分子ni,j表示词汇ti在dj中出现的次数,分母表示所有词汇在dj出现次数的总和.

IDFi=log|D||{j:ti∈dj}|

(2)

其中,|{j:ti∈dj}|表示包含词汇ti的短文本数量.

由式(1)、式(2)可得词汇ti的TF-IDF值计算方式如式(3)所示:

TF-IDF=TF×IDF

(3)

由式(3)可知,某词汇的TF-IDF值越大,则该词汇对语料库的重要程度越高.根据特定TF-IDF阈值对预处理语料中的词汇进行初筛,有利于LDA主题模型提取到更加高质量的类别特征[14],其中,TF-IDF阈值的确定是一个关键环节.文献[15]的研究表明,作为文本类别特征的词汇词性通常为名词、动词、形容词、量词.本文使用jieba词性标注工具对预处理语料中的词汇进行词性标注,并将名词、动词、形容词、量词等词汇中的最小TF-IDF值作为TF-IDF阈值,从而使得在不遗漏类别特征词汇的前提下,实现对预处理语料词汇的初筛.基于TF-IDF的LDA类别特征提取方法的流程如图1所示.

3 基于词汇信息熵的N-gram子词过滤方法

信息熵是一个系统内信息含量不确定性程度的量化指标[16].假设任意概率事件x发生时,可产生n种相互独立结果的概率分别为p(xi),(i=1,2,…,n),那么事件x的信息熵H(x)可按式(4)计算:

H(x)=-∑p(xi)log(p(xi))

(4)

图1 基于TFIDF的LDA的类别特征提取方法Fig.1 A LDA categoryfeature extraction method based on TFIDF

由式(4)可知,信息熵实际表示一个概率事件所含信息量多少的数学期望.若该事件产生某种结果的不确定性程度越高,则表明该事件所含信息量越大,信息熵H(x)的值越大,反之,则越小.基于信息熵的计算理念,本文提出词汇信息熵这一概念,用以从词汇类别间和词汇类别内两个角度实现某词汇类别区分贡献度大小的综合衡量.词汇信息熵的计算式如式(5)所示:

IE(t)=Hb(t)×Hw(t)

(5)

其中,IE(t)为词汇t的词汇信息熵,Hb(t)为词汇t的类别间信息熵,Hw(t)为词汇t的类别内信息熵.定义词汇类别间信息熵时,应给予在类别间分布均匀的词汇更小的信息熵,即词汇的类别间信息熵应与词汇在类别间的均匀分布程度成反比;定义词汇类别内信息熵时,应给予在类别内分布均匀的词汇更大的信息熵,即词汇的类别内信息熵应与词汇在类别内的均匀分布程度成正比.

假设某语料库中有N个类别(c1,…,cn,…,cN)的文本,其中,cn包含K个文本(d1,…dk,…,dK),词汇t在各类别中出现的次数为(q1,…,qn,…,qN),在cn类别内的K个文本中出现次数分别为(s1,…sk,…sK).

1)词汇类别间信息熵Hb(t)的计算式设计

词汇类别间信息熵,主要用于从类别间角度度量词汇t对类别区分贡献度的大小.当词汇t在各类别中的概率分布较为均匀时,表明该词汇对于类别区分的贡献度较小,否则,贡献度较大.由信息熵的内涵可知,词汇类别信息熵的大小应与式(4)中信息熵的值呈反比,故将词汇类别间信息熵的计算式定义为式(6):

Hb(t)=1-∑Nn=1qnQlogqnQ

(6)

其中,qnQ表示词汇t在各类别间的概率分布;Q为词汇t在各类别间出现的总次数,记为Q=∑Nn=1qn.

2)词汇类别内信息熵Hw(t)的计算式设计

词汇类别内信息熵,主要用于从类别内角度度量词汇t对类别区分贡献度的大小.当词汇t在类别内的概率分布较为均匀时,表明该词汇对于类别区分的贡献度较大,否则,贡献度较小.由信息熵的内涵可知,词汇类别信息熵的大小应与式(4)中信息熵的值呈正比,故将词汇类别间信息熵的计算式定义为式(7):

Hw(t)=-∑Kk=1skSlogskS

(7)

其中,skS表示词汇t在某一类别cn中的概率分布;S为词汇t在该类别内出现的总次数,记为S=∑Kk=1sk.

经上述分析可知,词汇信息熵的定义及其计算式设计,契合本文对词汇在类别区分中贡献度大小的综合考量,可将其用于度量N-gram子词对于短文本类别区分贡献度的大小,可据此实现对低类别区分贡献度子词的过滤.

由此,基于词汇信息熵的N-gram子词过滤方法流程如图2所示.

图2 基于词汇信息熵的N-gram子词过滤方法流程Fig.2 Process of N-gram subwords filtering method based on lexical comentropy

在基于词汇信息熵的N-gram子词过滤方法中,确定合适的词汇信息熵阈值,不仅可以降低N-gram子词中低类别区分贡献度子词对模型学习高类别区分贡献度词汇语义特征时产生的干扰,也可在一定程度上减少模型训练时间.对于词汇信息熵阈值的确定,采用类似点估计的方式,具体步骤如下.

步骤1.按语料库中短文本的字符长度将语料划分为M组,从各组语料中随机抽取一定比例的短文本语料组成M个抽样组,并将M个抽样组的语料作为验证集.

步骤2.设抽样组m中有Sm条短文本语料,以其中第j条短文本语料为例,采用jieba工具和人工标记相结合的方式统计对短文本语料j进行2-gram 和3-gram 取词后形成的子词列表的长度Lenj(即子词列表中词汇总数量)以及低类别区分贡献度子词数量LcCountj;其中,m∈[1,M],j∈[1,Sm].

步骤3.对抽样组m中的Sm条语料重复步骤2.

步骤4.按式(8)计算抽样组m中短文本语料的子词列表长度平均值ALenm;按式(9)计算低类别区分贡献度子词数量平均值ALcCountm.

ALenm=∑Smj=1LenjSm

(8)

ALcCountm=∑Smj=1LcCountjSm

(9)

步骤5.对所有抽样组,重复步骤2~步骤4,获得各抽样组子词列表平均长度以及低类别区分贡献度子词平均数量.

步骤6.按式(10)确定低类别区分贡献度子词比例区间.

[min(ALcCountm)max(ALenm)×100%,max(ALcCountm)min(ALenm)×100%]

(10)

步骤7.按式(5)计算对验证集中所有短文本语料进行2-gram 和3-gram取词后形成子词列表中子词的词汇信息熵,并按降序排序,形成词汇信息熵值序列.

步骤8.将式(10)所示的低类别区分贡献度子词比例区间映射至词汇信息熵值序列,确定词汇信息熵阈值区间.

步骤9.在词汇信息熵阈值区间内选取词汇信息熵阈值作为超参数,在验证集上实验,确定最终词汇信息熵阈值.

4 EF-fastText短文本分类模型构建

以fastText模型为基准模型,引入基于TF-IDF的LDA类别特征提取方法提取语料库中的高质量类别特征扩展至短文本中,以缓解短文本数据稀疏问题;引入基于词汇信息熵的N-gram子词过滤方法综合度量N-gram子词对于类别区分贡献度的大小,并据此实现对N-gram子词列表中低类别区分贡献度子词的过滤,以降低低类别区分贡献度子词对模型学习高类别区分贡献度语义特征时产生的干扰.基于此,构建的EF-fastText短文本分类模型结构如图3所示.

图3 EF-fastText短文本分类模型结构Fig.3 Structure of short text classification model named by EF-fastText

5 实验及其结果分析

5.1 实验数据

实验数据使用今日头条新闻文本分类数据集,选取其中的房产、财经、文化、体育等4个类别约6万条,各类别数量及其占比如表1所示.

表1 今日头条新闻文本分类数据集各类别数量及其占比Table 1 Quantity and proportion of categories in today′s headline news text classification dataset

5.2 对比模型及评价指标

为便于后续实验及结果分析的表述,各模型的指代约定如下.

模型1.指代不进行改进的fastText模型.

模型2.指代使用基于LDA的类别特征提取方法对fastText模型进行类别特征扩展的短文本分类模型.

模型3.指代使用基于TFIDF与LDA的类别特征提取方法进行类别特征扩展的fastText短文本分类模型.

模型4.指代使用基于TFIDF与LDA的类别特征提取方法和基于词汇信息熵的N-gram子词过滤方法对fastText模型进行改进的EF-fastText短文本分类模型.

为客观评价各模型在今日头条新闻文本分类数据集上的性能,采用精确率(P)、召回率(R)以及二者的调和平均F1值(F1),计算方式分别如式(11)~式(13)所示:

P=TPTP+FP×100%

(11)

R=TPTP+FN×100%

(12)

F1=2×P×RP+R×100%

(13)

其中,TP、FP分别表示正确分类、成功分类的文本数,FN表示总文本数.

5.3 实验结果

为了客观对比各模型性能,所有实验均在相同软硬件环境下进行,实验设备的软硬件配置详见表2.

表2 实验软硬件环境配置Table 2 Software and hardware configuration of experimental environment

对去除验证集数据的今日头条新闻文本分类数据集,按0.75∶0.25的比例随机划分为训练集与测试集,各模型在测试集上的性能指标值如表3、图4所示.

5.4 实验结果分析

5.4.1 提高扩展类别特征质量对模型性能的影响分析

由表3可知,与模型1相比,模型2在房产、体育类别上的性能表现不及模型1,其F1值均值稍有下降.针对这一结果,通过分析模型2的过程数据发现,单纯使用LDA主题模型提取语料库类别特征对短文本进行扩展时,存在着引入部分低质量类别特征的风险,这也是导致模型2的短文本分类性能下降的原因所在.与模型2相比,模型3在房产、财经、体育类别上的F1值均有提升,其F1值均值提升了1%.这表明基于TF-IDF 的LDA类别特征提取方法,在提升类别特征质量方面起到了一定作用,从而使得模型3的短文本分类性能得到了提升.

5.4.2 过滤N-gram子词对模型性能的影响分析

表3 各模型分类性能指标对比Table 3 Comparison of classification performance indexes of each model

由表3和图4可知,模型4在各类别上的表现效果均有提升,且其F1值均值与模型3、模型1相比,均提升了2.5%.

图4 各模型F1值对比Fig.4 Comparison of F1 Values of each model

该结果表明,基于词汇信息熵的N-gram子词过滤方法的融入,有效降低了原N-gram子词列表中低类别区分贡献度子词对模型学习高类别区分贡献度语义特征时产生的干扰,对模型整体性能的提升具有显著作用.

6 结 论

以提升fastText短文本分类模型性能为目标,从如何获取高质量的类别特征、如何降低N-gram子词中低类别区分贡献度子词对模型学习高区分贡献度语义特征时产生的干扰等两个方面展开研究工作,相应提出了基于TF-IDF 的LDA类别特征提取方法、基于词汇信息熵的N-gram子词过滤方法,其目的均在于使得模型能够更专注于高类别区分贡献度语义特征的学习.在基于TF-IDF 的LDA类别特征提取方法中,首先使用TF-IDF方法计算预处理语料中词汇的TF-IDF值,并根据阈值对预处理语料词汇初筛,形成低频高类别区分贡献度词汇列表,再将其输入至LDA主题模型,实现了高质量类别特征的提取.在基于词汇信息熵的N-gram子词过滤方法中,基于信息熵的计算理念,定义词汇信息熵,从词汇类别间和词汇类别内两个角度综合度量词汇对类别区分贡献度的大小,并根据词汇信息熵阈值实现了N-gram子词中低类别区分贡献度子词的过滤.

在上述研究基础上,构建EF-fastText短文本分类模型,并开展实验研究.实验结果表明,利用基于TF-IDF 的LDA类别特征提取方法提升类别特征质量,以及利用基于词汇信息熵的N-gram子词过滤方法过滤N-gram子词中低类别区分贡献度子词,是本文模型短文本分类性能得以显著提升的关键所在.在未来工作中,应对基于词汇信息熵的N-gram子词过滤方法中词汇信息熵阈值的确定方法进一步展开研究,以期高效、精确地确定最优阈值,进一步提升模型的短文本分类性能.

猜你喜欢

贡献度信息熵语料
浅谈视频语料在对外汉语教学中的运用
可比语料库构建与可比度计算研究综述
班级贡献度
近似边界精度信息熵的属性约简
如何使用第二外语学习者语料
榆林体育文化对“丝绸之路经济带”建设的贡献度研究
基于信息熵的承运船舶短重风险度量与检验监管策略研究
乡村旅游对经济增长贡献度分析
信息熵及其在中医“证症”关联中的应用研究
论犯罪信息