APP下载

一种中小学汉语作文表现手法分类方法

2018-10-24马晓丽周建设骆力明史金生

计算机应用与软件 2018年10期
关键词:特征词特征向量表现手法

马晓丽 刘 杰,* 周建设 骆力明, 史金生

1(首都师范大学信息工程学院 北京 100048)2(首都师范大学北京成像技术高精尖中心 北京 100048)

0 引 言

随着自然语言处理相关技术的日益成熟,作文自动评阅渐渐成为该研究领域中的热点问题之一。在中小学作文评阅中,人工评阅涉及明确内容、安排结构、运用语言、修改及书写四部分。运用语言这一项占整个作文评分的40%,而学生如何恰当地表达和运用语言和作文中的表现手法是息息相关的。表现手法的使用可以反映出作者的语言运用能力,从而体现出作者语言积累的丰富程度。为评估中小学生的语言运用能力,本文结合已有的分类器,训练事先已手工标注好表现手法类别的文本,生成适合此领域的分类模型,从而预测文中表现手法所属类别。将表现手法进行分类研究,对作文自动评阅系统给予学生反馈信息,从而实现个性化推荐有较大实用价值和研究价值。

短文本分类是将文本内容相似的文本分配到一个或多个预定义的类别中。传统文本分类算法通常基于向量空间模型,将特征词转化为权值构成文本的特征向量。权值的计算有多种方法,常用的有布尔和TFIDF函数,以及对数和熵函数等[1]。针对表现手法文本较短、特征分布不均衡等特点,本文采用引入方差的TF×IWF×IWF算法进行文本特征提取[2]。以下文中统称此算法为改进的TFIDF算法。

针对以上权重计算得到的短文本向量具有的特征稀疏问题,本文尝试对其进行扩展,目前研究者通常从语义方面对特征词进行扩展[3]。文献[4]和文献[5]分别利用维基百科、WordNet等对短文本进行特征扩展。上述方法主要依据语义知识库的概念关系进行扩展。由于借助外部知识库对短文本进行扩展要求对应专业领域知识和实时更新的主题素材,所以不适用于中小学生表现手法的分类研究。文献[6]使用LDA提取语料主题,将主题中的词作为短文本扩展特征。但中小学生作文主题分散性以及数据稀疏性会导致LDA模型挖掘的主题不能很好地描述短文本特征。文献[7]利用Word2vec模型得到每个词与上下文建立联系对应的词向量,不仅可以解决传统向量空间模型的稀疏特征问题,还能引入语义特征[7]。基于以上分析,本文提出合并改进的TFIDF和加权Word2vec这两种算法来形成表现手法文本的特征向量,从而改善短文本分类中存在的特征向量具有稀疏性的问题,以此提高分类的性能[8]。

1 研究背景

1.1 传统的TFIDF算法

如何选择恰当的计算权重的算法来对文本向量进行表示,是决定分类性能的一个重要因素。TFIDF源于其计算简单、具有较高的召回率和精确率,常被选用计算特征权重[1]。TFIDF计算方法即TF×IDF,TF表示某个关键词在整篇文章中出现的频率。IDF表示某个关键词的类别区分能力,主要用于降低所有文本中一些常见却对文本影响不大的词语的作用[9]。但若一个特征词在一个类别下的文本中频繁出现,则可以说明该特征词对这个类别影响程度较大,就应该给该词赋予更高的权重,而TFIDF算法与此相悖,这也正是TFIDF算法不足的地方[10]。因此,文中采取改进的TFIDF表示文本特征向量。

1.2 改进的TFIDF算法

采用不同的TFIDF算法会得到文本不同的特征表示,而文本特征表达是否准确,会在很大程度上影响文本的分类性能[11]。本文选取性能最优越的改进的TFIDF算法,该算法基于TF×IWF×IWF公式:

(1)

式中:tfij指在文本di中特征项tj出现的次数,Nj指在所有文本中特征项tj出现的总次数,N指在总的文本集中所有特征词出现的总和次数。

一方面是对TF的改进,提出了利用n次方根来调整词权重对频率的倚重;另一方面是对IWF的改进,通过引入方差的思想来计算词i在文本d中的权重[12]:

(2)

式中:Pij代表类j中出现词i的概率,Pi代表多个类中出现i概率的均值,N(wi)指wi在语料中出现的总次数,N指语料中所有词出现的总次数,pid指代词i在文本d中出现的概率,n是待定开方幂次,具体取值由实验来确定。

改进的TFIDF算法通过引入方差作为数据分布是否均匀的指标来调整特征词在分类决策中的重要程度。考虑到方差大小会受词频大小的影响,此方法用方差除以该特征词在各个类别里出现的词频总和,用来表示该特征词在不同类别中的所占的比重差异性[13]。这样,选取的关键词更具有类别的代表性,也弥补了TFDIF算法的缺点。

1.3 Word2vec模型

Word2ve是一款用于训练词向量的工具,与传统的高维词向量One-Hot Representation相比,Word2vec词向量的维度选取一般在100~300维之间,减少计算复杂度的同时不会带来维数灾难问题。Word2vec包含Skip_gram和CBOW两种训练模型,其中:CBOW是通过上下文预测目标词,即输出一些跟其有语义关系且不重复的词;而Skip-gram是通过目标词预测上下文,即随机从语料库里面抽取多个词,然后通过一些概率计算哪些词组合更可能成为目标词语的上下文。

本文实验利用已有的Python工具包gensim对大规模作文训练。其中将输入层窗口大小设置为5,隐藏层的神经元数目设置为200,然后采用CBOW模型对10万篇中小学生作文进行训练得出模型结果。训练完毕后,词表中的每一个word都对应着一个连续的200维特征向量。

1.4 SVM分类器

本文采用适用于小样本训练集且具备较好泛化能力的SVM分类器。实验中直接使用Scikit-learn提供的SVM算法,其中核函数的选取采用Scikit-learn默认的核函数,即径向基核函数RBF。RBF适用于小样本训练集,同时样本表示成高维或低维也同样适用,RBF需要确定的参数相比其他核函数要少,因此会减少数值的计算困难,提高分类速度[14]。

2 文本向量表示

2.1 改进的TFIDF表征文本向量

改进的TFIDF算法选取出来的特征项并不仅仅是出现在文本中频率较高的词,更是能够区分文本类别的特征词,因此本文的实验1根据式(2)来提取对分类影响较大的词汇特征信息来表征文本特征向量[15]。

使用改进的TFIDF算法(n的取值由实验确定为1)求得每篇短文本di,用改进TFIDF算法得到的的特征向量,用Tfidf(di)表示,数学表示如下:

Tfidf(di)=

(3)

式中:n是所有的特征词条个数,wt是由式(2)计算得出的权重,t取值为1,2,…,n,拼合所有单词权重构成文本d的向量表示。

由于构建的特征词库约2 000个,这意味着每个表现手法文本都会用一个长度为2 000维的向量来表示,向量的大部分会被0填充,因此需近一步在此基础上使用Word2vec模型对上述算法得到的稀疏向量进行文本特征扩展。

2.2 改进的TFIDF合并Word2vec表征文本向量

Word2vec是一种考虑上下文语义然后为每个单词聚集具有相似含义单词的工具。在经过足够的数据训练后,它会为词表中的每个单词生成一个较低维的连续稠密向量,如图1所示(每一行代表每一个单词相应的200维向量)。

图1 Word2vec训练结果

这样,该模型可以为那些出现在表现手法文本但是未出现在特征词库的词,通过找到语义上的相似词来增加权重,从而将之前的权重为0的词现在已有了特征值。同时给已有特征值的词语扩展相似词来增加其在类别中权重,从而使得此特征词更具有类别区分程度。

本文利用该模型对2.1节中得到的文本向量Tfidf(di)进行特征扩展。使用Word2vec模型训练大规模语料得到模型结果,从中取得文本di中的每个单词的词向量表示,并将di中所有词向量累加求和平均得到文本di的Word2vec算法表示,用Word2vec(di)表示,公式如下:

(4)

式中:t是di文本中的词语,t的取值为1,2,…,n,每个词语的向量表示为200维。累加时,类似矩阵的加法规则,将每个词语对应的向量看成1×200的矩阵,然后将矩阵每一行上列元素对应一一相加。

合并改进的TFIDF和Word2vec,也就是将每个表现手法用式(3)、式(4)式子计算得到的向量表示拼接起来作为该文本di的特征向量,然后使用SVM分类器进行实验2,用Tfidf_Word2表示,公式如下:

Tfidf_Word2(di)=Tfidf(di)+Word2(di)

(5)

此时一个表现手法的特征向量维度为2 200维。但是实验2结果发现这两种算法的直接结合并没有提高分类的性能。经分析,Word2vec模型本身无法区分文本中词汇的重要程度,直接拼合仅仅是对各个文本中的词加入一段维度为200维的连续向量。因为两类表现手法文本都出现了大量相同的词,导致此特征对两类没有重要程度区分,所以直接用来扩展特征并不能针对性增加特征值。因此尝试对Word2vec训练得到的词向量进行加权来解决这一问题。

2.3 改进的TFIDF合并加权的Word2vec表征文本向量

为了使分类模型更多地关注有意义的单词,并且区分使用Word2vec模型训练得到的不同单词的词向量的重要程度,本文使用改进的TFIDF为其加权,实现加权的Word2vec算法,用w_Word2 (di)代表:

(6)

加权的Word2vec算法将每一个单词t对应的200维稠密连续向量的每一个维乘以该t由Tfidf(di)计算的wt。其中t是di文本中的词语,取值为1,2,…,n。每个词语的向量表示为200维,对于所有的词语向量累加求合平均方式同上述2.2节中的一致。

使用合并改进的TFIDF和加权Word2vec这两种算法,也就是将每个表现手法用式(3)和式(6)计算得到的向量拼接起来作为该文本di的特征向量。然后投给SVM分类器进行实验3,用T_w_Word2(di)表示:

T_w_Word2(di)=Tfidf(di)+w_Word2(di)

(7)

在具体分类过程中,首先对所有数据进行预处理,然后使用式(7)表征所有文本的特征向量。整个流程如图2所示。

图2 改进的TFIDF合并加权Word2vec表示文本特征向量图

实验3的结果,验证了这两种算法融合使用对文本表示确实对分类性有所提升。经分析,加权可以使本身权值大的单词在类别中所占的比例越大,即在类别中的重要程度越高。因此加权的Word2vec模型可以增加特定类别表现手法文本的重要特征词的权值,使得计算得到的特征向量中的特征词在类别划分中有更大的区分性。使用该算法也是将一个表现手法文本表示成一个2 200维特征向量。虽然在计算复杂度以及时间复杂度上增加了一部分开销,但是200维的增加在最初使用Tfidf(di)所占比例不大,而且该算法的合并使用使得分类性能平均提高3%,整体上利大于弊。

2.4 分类模型图

本文从短文本分类的角度出发,针对作文中存在的表现手法的所属类别进行实验设计。整个分类模型流程图如图3所示。选用在分类过程中表现最好的表示方法进行文本特征表示,即本文2.3节中提出的方法。然后用SVM分类器对训练集文本数据进行训练,再使用测试集对该分类模型从各个指标观察其分类性能。

图3 分类模型流程图

3 实 验

3.1 数据集构建及预处理

通过分类模型预测未知类别的文本从属于事先定义的类别中一类或者多类是短文本自动分类的任务[16]。同时本文使用到的SVM分类方法属于有监督学习,需要手工标注数据类别来保证学习的准确性。

通过人工标注5 000篇中小学生记事类作文,从中抽取中小学生9类表现手法数据共计两万个。文本分类前,一般要经过分词、去低频词、去停用词等预处理方法。其中停用词主要包括标点符号、字符以及一些使用常出现却无实际价值的词语[17]。因此实验前,采用jieba工具对抽取的数据进行分词,并利用停用词表去除数据中标点符号、数字等。同时统计所有语料中的词语词频数,将词频数低于10的剔除,最终构成特征词库约2 000个。实验中为防止每个类数据量的不平衡影响分类效果,因此每类表现手法随机抽取1 000个数据,其中按照4∶1的比例分配数据分别用作训练集和测试集。

3.2 分类性能评价指标

为评价分类效果,本文实验采取通用的评价指标:精确率P、召回率R。其中:精确率针对预测结果,考察的是分类结果的正确性;召回率针对原来样本,考察分类结果的完备性,实际中常使用两者的调和平均数作为一个综合的评价指标来衡量分类效果的好坏[18]。具体公式如下[19]:

各参数含义如表1所示。

表1 分类性能评价指标参数含义表

3.3 实验结果与分析

实验过程中,三种特征表示方法都在四类、五类和六类表现手法上做了实验。六类分别是动作描写、直接抒情、外貌描写、心理描写、神态描写、语言描写;五类分别是:动作描写、直接抒情、外貌描写、心理描写、神态描写;四类分别是:动作描写、直接抒情、外貌描写、心理描写[20]。五类和四类的划分主要依据去掉每次分类效果较差的表现手法类别进行实验。

在实验1中,使用改进的TFIDF和传统的TFIDF算法对表现手法文本特征向量进行表示,然后都按照训练集和测试集4∶1的比例投给SVM分类器。实验效果见表2。

表2 改进的TFIDF对比传统的TFIDF

从表2实验数据中,可以发现改进的TFIDF较传统的TFIDF,无论在几类表现手法分类中,精确率、召回率以及F值上都平均提高了6%,其中文中所提到的所有评价指标取值都是平均值。这个结果验证了改进TFIDF算法引入方差来区分特征词在不同类别重要程度的差异性的优势性,方差的值越大,那么该词就对分类决策越重要。

在实验2中,使用改进的TFIDF算法合并Word2vec算法形成每一个表现手法的特征向量,然后投入SVM分类器,实验2的结果如表3所示。结果表明,这两种模型直接合并的结果并不乐观。经分析,Word2vec模型本身无法区分文本中词汇的重要程度,因此进一步使用改进的 TFIDF对Word2vec词向量进行加权,实现加权的Word2vec分类模型[8]。

表3 两种算法合并实验效果

在实验3中,使用改进的TFIDF算法合并加权的Word2vec算法形成文本特征向量进行实验,实验3的结果如表3所示。从表3中可以看出,两种算法的合并在三个评价指标上都有所提高,指标性能平均提高3%。实验结果充分验证了加权的有效性以及这两种算法结合在分类效果性能提升方面的可能性。

由表2、表3的实验结果还可以得出,分类效果和类别的种数有很大的关系。表现手法类别越多,对各类别表现手法的特征干扰项越多,分类模型效果越差。表4是对四类表现手法使用本文提出的两种算法合并方法进行实验每一类表现手法分类的详细结果。

表4 四类表现手法各类分类效果

同时,本文还对式(2)中n的取值进行了实验,表5是对四类表现手法进行分类时取不同n的效果。实验表明n取1时效果最好。虽然n取其他值,各指标相差不是很大,但是n取1降低计算量,特征向量生成速度快,有益于分类性能。

表5 四类表现手法n取不同值的分类效果

此外,本文中提出的新算法已在本实验室协作开发的中小学作文评测系统中得到了初步的应用。其中表现手法评测模块是将输入的一整篇待评测的作文进行一系列的预处理之后送入后台,后台根据整合的分类模型和评测模型对待测作文中表现手法进行抽取并分类,同时对其进行简单地分析和评价。此应用已初步证实了该算法的高效性,同时将该算法用于评测中对作文表现手法的评级具有良好的效果。

4 结 语

本文实验部分主要探索了传统的TFIDF、改进的TFIDF、改进TFIDF合并Word2vec、改进TFIDF合并加权Word2vec这四种算法所表征的中小学生作文中的表现手法特征向量在分类过程中表现效果。实验表明,两种算法的结合确实有助于分类效果的提高。此外,模型分类效果与表现手法类别数量有很大的关系,类别文本之间的共现词越少,对各类别表现手法的特征干扰项越少,模型分类效果越好。在后续研究中,将研究两种模型结合应用到其他分类器上探究其效果如何,以及如何提高多类表现手法的分类效果。

猜你喜欢

特征词特征向量表现手法
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
基于Simhash改进的文本去重算法
克罗内克积的特征向量
基于类信息的TF-IDF权重分析与改进①
试探通用数字语言符号的同构图形创意表现手法
一种面向财务文本分类的TF-IDF改进算法
厚重感
三个高阶微分方程的解法研究
略论消费文化视域中的艺术表现手法
矩阵方法求一类数列的通项