郑亚南 田大钢
摘 要:词向量在自然语言处理中起着重要作用,近年来受到越来越多学者关注。然而,在词向量研究中,基于Word2vec词向量的应用研究居多,对于GloVe词向量的应用研究却很少。因此,将GloVe词向量模型与支持向量机(SVM)相结合,利用GloVe词向量模型进行特征提取与选择,利用SVM进行分类,并与Word2vec词向量结合SVM作实验对比。实验结果表明,GloVe词向量特征提取与SVM分类相结合的方法能够取得较好的准确率、召回率及F值,因此在新闻文本分类中具有一定应用价值。
关键词:词向量;GloVe;SVM;文本分类
DOI:10.11907/rjdk.172991
中图分类号:TP301
文献标识码:A 文章编号:1672-7800(2018)006-0045-04
Abstract:Learning high-quality vector representation for words plays an important role in natural language processing and has attracted great attention of many researchers due to its simplicity and effectiveness. However, application research based on the word2vec word vector far outnumbers the GloVe word vector application research . For this reason, this paper proposes a method of combining GloVe word vector with SVM. The method uses GloVe word vector to extract and select features, classifies features by SVM, and compares it with word2vec word vector SVM. The experimental results show that SVM classification method combined with GloVe word vector feature extraction can achieve good accuracy and F value, and gets a good recall rate. Therefore it has certain application value in news text classification .
Key Words:word representation; GloVe; SVM; text classification
0 引言
词向量具有良好的语义特征,是表示词语特征的常用方式。词向量每一维代表一个具有一定语义和语法上解释的特征,该特征能够同时捕捉到单词的语义和语法信息。现有词向量学习方法大致可分为基于神经网络学习和基于矩阵分解学习的方法。基于神经网络学习词向量是指根据上下文与目标之间的关系建立语言模型,通过训练语言模型获得词向量[1-4]。近几年提出的Word2vec[5]词向量模型去除了神经网络结构中的非线性隐层,大大降低了算法复杂度,获得了高效词向量。在Word2vec中提供了两种架构模型:Continuous Bag-of-Words Model(CBOW)和Continuous Skip-gram Model(Skip-gram)。CBOW根据上下文预测目标单词,Skip-gram根据目标单词预测上下文。基于矩阵分解的词向量模型[6]是通过分解从文本语料库中提取的矩阵得到低维词向量,其中典型代表为GloVe词向量。
Word2vec词向量模型已被广泛应用于各种自然语言处理任务[7-11]中,如命名实体识别、情感分析、机器翻译、微博短文本分类等,然而GloVe词向量在自然语言处理任务中却很少用到。另外在词向量应用于文本分类的研究中,很少分析同一个模型训练出的词向量在词向量维度不同情况下的分类效果差别。基于上述原因,本文通过不同维度的GloVe词向量在新闻文本分类中的应用效果研究,并与Word2vec在新闻文本分类中的应用效果作对比,通过样本长度及样本数量的变化检测GloVe词向量在特征提取中的稳定性。其中,通过样本长度变化所引起的分类效果变化探究GloVe词向量在长短文本中的应用情况,通过样本数量变化所引起的分类效果变化探究GloVe词向量在大小文本中的应用情况,从而分析GloVe词向量在新闻文本分类应用中的效果。
1 文本特征向量选择模型
在自然语言处理中,文本相似度是十分基础的工作,首先需要将文本转换成数值型的数据结构,才能提供给计算机进行运算处理。词与词之间的相似性通过词与词之间的距离衡量,距离越小代表词越相似[12]。在本文研究中分別采用Word2vec[13]与GloVe模型,利用词的上下文信息,将一个个词转换为一个个低维实数向量,越相似的词在向量空间中越接近,并通过词向量计算文本间的相似度。
1.1 GloVe模型
GloVe模型是由Pennington J、Socher R和Manning C等于2014年基于词共现矩阵理论提出的一种新的词向量模型。该模型是在统计词向量模型和预测词向量模型基础上,通过矩阵分解的方法利用词共现信息,即不仅只关注Word2vec窗口(Context)大小的上下文,而是用到了全局信息,克服了Word2vec对多义词处理乏力的问题。
GloVe模型直接构造一个词共现矩阵的近似矩阵(Context为固定长度窗口,取值一般为5~10,每次移动一个词),尽可能保存词之间的共现信息。
(2)f(x)需要满足非递减的特性,目的是使较少出现的共现组合不会被赋予较大值。
(3)f(x)的函数需要较小值,使常见的共现组合也不会被赋予较大值。
有很多函数满足这些属性要求,其中一类函数,即GloVe模型中使用的计算权值[14]为:
2 支持向量机(SVM)
支持向量机是由Corinna Cortes和Vapnik等于1995年基于统计学习理论提出的一种新的分类技术。该方法基于VC维理论和结构风险最小原理,通过最大化分类间隔构造最优超平面,从而提高其“推广能力”(又称泛化能力,是对未知样本的预测精确度),使其能较好地解决模式识别领域中小样本、非线性及高维数等问题。
目前常用的核函数主要有4类:线性核函数、多项式核函数、高斯核函数、S核函数。根据不同的分类问题,可以选用不同核函数[15-17]。在本文中通过实验对比发现,线性核函数在与GloVe词向量的结合中具有较好效果。因此,在SVM中选择线性核函数。
3 实验过程与结果
3.1 实验材料准备
实验采用20-newgrounps文档集作为训练集,对选取的20-newgrounps文档集进行预处理后包含11 314篇文章,整个文档集被分为20个不同的主题新闻组。为了对模型的文本表示进行性能测试,按0.8:0.2的比例分为训练集和测试集进行实验。Word2vec词向量和GloVe词向量由英文wiki语料库训练得到文件。
3.2 实验结果评价指标
由于本文涉及的是多分类问题,在评价分类性能中使用平均正确率(Precision,P)、平均召回率(Recall,R)和平均F-1值作为评价指标,其基本定义如下:
准确率定义为:P=TPTP+FP
召回率定义为:R=TPTP+FN
F-1值为:F-1=2*P*RP+R
其中TP表示正确地将属于正类的样本分到正类中的样本个数,FN表示错误地将属于正类的样本分到负类中的样本个数,FP表示错误地将属于负类的样本分到正类中的样本个数,TN表示正确地将属于负类的样本分到负类中的样本个数。
3.3 实验结果
(1)不同GloVe维度对分类正确率的影响。在该实验过程中主要测试GloVe词向量维度变化时分类效果的变化情况。从图1可以看到,在GloVe词向量维度增加的过程中,准确率、召回率和F-1三个指标都出现了递增趋势。这是由于随着训练维度的增加,GloVe词向量包含的语义和语法特征信息越来越多。当词向量维度从50变化为300时,准确率、召回率、F-1三个指标均增加了10%以上。词向量维度越高,分类效果越好,但是随着词向量维度的增加,训练难度也越来越大,本实验中仅涉及300维。为了测试GloVe词向量在新闻文本分类中的性能,进行了两种不同类别的实验。
(2)不同长度新闻文本的分类正确率。通过分别截取文章前50词、100词、200词、500词4组不同长度的文本组成新的训练集和测试集,测试基于GloVe的词向量特征提取在新闻文本长度变化时,分类效果的变化情况。
图2给出了GloVe词向量在维度为300时,在各文本长度下对新闻类别的识别结果。由图可知,当文本长度增加时,分类效果也越来越好,但在新闻文本从长度50变化为500时,3项评价指标波动都在3%左右,而且与完整新闻文本分类效果相比,其3项评价指标在4%左右浮动。新闻文本长度为100词和200词时,其分类评价结果波动微乎其微,证明新闻文本的重要信息基本都集中在文章前一部分,并且GloVe词向量在新闻文本长度发生变化时具有良好的稳定性。
不同维度的词向量所包含的语义与语法特征也不同,为了比较不同维度的词向量在文本分类效果上的变化,进行样本数量变化在各维度下的准确率变化实验,其结果如图3所示。
由图3可以看出在相同文本长度下,低维度GloVe词向量在文本分类效果中均不如高维度GloVe词向量表现好,这是由于低维度所包含的信息不如高维度丰富,但是不同维度GloVe词向量在文本长度变化过程中分类效果变化有所不同。虽然在样本长度变化下,各维度正确率变化情况不同,但整体而言,各维度下GloVe词向量在分类效果中波动范围较小,证明了各维度下GloVe词向量具有良好的稳定性。
同样维度均为300的GloVe词向量与Word2vec词向量结合SVM在文本长度发生变化时,文本分类结果对比如表1所示。
由表1可知,随着样本长度增加,GloVe和Word2vec词向量结合SVM的分类效果都是逐步提升的,且均具有相似的稳定性。在相同文本长度下,GloVe词向量结合SVM的分类效果从各个指标都优于Word2vec词向量结合SVM的分类效果。说明在新闻文本长度发生变化时,GloVe词向量具有一定稳定性,而且在分类效果上略优于Word2vec词向量。
(3)缩小样本量對各维度词向量在文本分类中的影响。在该实验过程中,主要是改变每一类文本数量,分析分类正确率的变化情况。其中-80表示每一类训练集中文本减少80个,对应测试集类别文本减少20个,-120与-160含义与此相同。
由图4可知,在样本数量减少时,300维度下GloVe词向量的分类效果也在下降,但波动范围变化不大。样本总数由11 316减少至7 316个,分类效果各项指标降低3%左右,在文本数量由8 316减少至7 316个时,分类效果各项指标基本维持不变。通过实验证明了GloVe词向量在文本数量增加时分类效果也提升,同时验证了GloVe词向量在样本变化时具有一定的稳定性。
当文本数量发生变化时,为检测各维度在分类效果上的变化情况,分别对不同样本数量结合不同维度词向量进行试验,得到各维度下的准确率变化结果如图5所示。
由图5可以看出,相同文本数量下,低维度GloVe词向量在文本分类效果中均不如高维度GloVe词向量正确率高,但是不同维度GloVe词向量在文本数量变化过程中分类效果变化有所不同。虽然在样本数量变化时,各维度正确率变化情况不同,但整体而言,各维度下GloVe词向量在分类效果中的波动范围均在3%以内,证明各维度下GloVe词向量具有良好的稳定性。
同样维度均为300的GloVe词向量与Word2vec词向量结合SVM在文本数量发生变化时,文本分类结果对比如表2所示。
由表2可知,随着样本数量的减少,GloVe词向量和Word2vec词向量结合SVM的分类效果都是逐步下降的,但下降幅度均变化不大。在相同文本长度下,GloVe词向量结合SVM的分类效果从各个指标上都优于Word2vec词向量结合SVM的分类效果。说明在文本数量发生变化时,GloVe词向量作为嵌入式向量具有一定的稳定性,而且在某种意义上优于Word2vec词向量。
4 结论与展望
本文讨论了GloVe词向量与SVM相结合的方法,并对其效果在新闻文本上进行了分类实验,对不同维度词向量在文本长度和数量发生变化时进行分类效果测试。GloVe词向量在分类文本时表现稳定,而且能取得不错的效果。通过与Word2vec词向量结合SVM在文档集上的测试证明,并且通过文本长度变化和文本數量变化两方面验证,GloVe词向量与SVM相结合的方法具有一定优势,证明了该方法是可行的。今后工作将继续研究如何改进GloVe词向量模型,使其能在分类效果上继续提升,并将GloVe词向量模型进一步应用于深度学习模型中。
参考文献:
[1] HUANG E H, SOCHER R, MANNING C D, et al. Improving word representations via global context and multiple word prototypes[C].Meeting of the Association for Computational Linguistics: Long Papers,2012:873-882.
[2] MNIH A, HINTON G. Three new graphical models for statistical language modelling[C].Proceedings of the 24th International Conference on Machine learning, ACM,2007:641-648.
[3] MNIH A, HINTON G. A scalable hierarchical distributed language model[C].International Conference on Neural Information Processing Systems, Curran Associates Inc,2008:1081-1088.
[4] BENGIO Y, DUCHARME R, VINCENT P, et al. A neural probabilistic language model[J]. Journal of Machine Learning Research,2003,3:1137-1155.
[5] GOLDBERG Y, LEVY O et al.Word2vec explained: deriving Mikolov.'sword-embedding.method[J].Eprint Arxiv,2014.
[6] PENNINGTON J, SOCHER R, MANNING C. Glove: global vectors for word representation[C].Conference on Empirical Methods in Natural Language Processing,2014:1532-1543.
[7] LIU Y,LIU Z,CHUA T S,et al.Topical word embeddings[C].Association for the Advancement of Artificial Intelligence,2015:2418-2424.
[8] DHILLON P,FOSTER D P,UNGAR L H.Multi-view learning of word embeddings via CCA[C].Advances in Neural Information Processing Systems,2011:199-207.
[9] BANSAL M,GIMPEL K,LIVESCU K.Tailoring continuous word representions for denpendency parsing[C].Meeting of the Association for Computational linguistics,2014:809-815.
[10] 魏广顺,吴开超.基于词向量模型的情感分析[J].计算机系统应用,2017,26(3):182-186.
[11] 张谦,高章敏,刘嘉勇.基于Word2vec的微博短文本分类研究[J].信息网络安全,2017(1):57-62.
[12] 方延风,陈建.基于词向量距离的相关词变迁研究——以情报探索杂志摘要为例[J].情报探索,2015(4):5-7.
[13] 熊富林,邓怡豪,唐晓晟.Word2vec的核心架构及其应用[J].南京师范大学学报:工程技术版,2015(1):43-48.
[14] MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space[J]. Computer Science,2013.
[15] 马金娜,田大钢.基于SVM的中文文本自动分类研究[J].计算机与现代化,2006(8):5-8.
[16] 奉国和.SVM分类核函数及参数选择比较[J].计算机工程与应用,2011,47(3):123-128.
[17] 梁礼明,钟震,陈召阳.支持向量机核函数选择研究与仿真[J].计算机工程与科学,2015,37(6):1135-1141.
(责任编辑:黄 健)