广东工业大学学报  2020, Vol. 37Issue (5): 51-61.  DOI: 10.12052/gdutxb.200019.
0

引用本文 

谭有新, 滕少华. 短文本特征的组合加权方法[J]. 广东工业大学学报, 2020, 37(5): 51-61. DOI: 10.12052/gdutxb.200019.
Tan You-xin, Teng Shao-hua. Combined Weighting Method for Short Text Features[J]. JOURNAL OF GUANGDONG UNIVERSITY OF TECHNOLOGY, 2020, 37(5): 51-61. DOI: 10.12052/gdutxb.200019.

基金项目:

国家自然科学基金资助项目(61972102);广东省科技计划项目(2016B010108007,2019B110210002,2019B020208001);广东省教育厅项目(粤教高函〔2018〕179号);广州市科技计划项目(201802010042,201802030011,201802010026,201903010107)

作者简介:

谭有新(1995–),男,硕士研究生,主要研究方向为机器学习、自然语言处理。

通信作者

滕少华(1962–),男,教授,博士,主要研究方向为大数据、角色分配、网络安全、协同计算、机器学习,E-mail:Shteng@gdut.edu.cn

文章历史

收稿日期:2020-02-02
短文本特征的组合加权方法
谭有新, 滕少华    
广东工业大学 计算机学院,广东 广州 510006
摘要: 文本情感分析是自然语言处理的典型任务, 但是现有情感分析正确率不高, 其中词的特征化是一个重要原因。本文提出了一种短文本特征的组合加权方法(a Combined Weighting method for Short Text Features,CWSTF), 可以有效提高情感分析正确率。CWSTF方法以随机森林为基础评估特征对于情感的贡献度并排序, 进而依排序来进行特征选择。然后考虑特征在文档中的重要性TF-IDF(Term Frequency–Inverse Document Frequency), 以特征在文档中的重要性和情感贡献度确定该特征的权重。最后, 用支持向量SVM(Support Vector Machine)、朴素贝叶斯NB(Naive Bayes)、最大熵ME(Maximum Entropy)、K最近邻KNN(K-NearestNeighbor)等分类器进行比较实验, 实验结果表明采用本文方法处理的特征, 比其余方法能有效提高情感分类正确率。
关键词: 情感分析    特征选择    组合加权    
Combined Weighting Method for Short Text Features
Tan You-xin, Teng Shao-hua    
School of Computers, Guangdong University of Technology, Guangzhou 510006, China
Abstract: Text sentiment analysis is a typical task of natural language processing, but the accuracy of existing sentiment analysis is not high, and word characterization is an important reason. A combined weighting method for short text features (CWSTF) is proposed, which can effectively improve the accuracy of sentiment analysis. The CWSTF method evaluates the contribution of features to emotions based on random forests and ranks them, and then filters features based on ranks. Then, the importance of the feature in the document is calculated by TF-IDF (Term Frequency–Inverse Document Frequency), and the final weight of the feature is determined by the importance of the feature in the document and the contribution to the sentiment; Finally, four such classifiers as SVM (Support Vector Machine), NB (Naive Bayes), ME (Maximum Entropy), and KNN (K-Nearest Neighbor) are used for comparison experiments. The experimental results show that the features processed by proposed method can more effectively improve the accuracy of sentiment classification than other methods.
Key words: sentiment analysis    feature selection    combined weighting    

最近,网络评论的日益增加使得文本信息已经成为一个潜力巨大的宝藏[1],例如电影评论,很多公司和机构通过分析这些评论来了解顾客的偏好和电影的质量[2-3]。需要了解和利用这些评论,就需要情感分析。情感分析是自然语言处理的研究领域,它从文本中提取和分析观点、情感和主观性[4]。由于满足分析这些评论的重要性,它引起了越来越多的兴趣,并成为一个活跃的研究主题[5]。而文本分类(Text Classification,TC)的任务就是有效分析大量数据,最终将文本内容分为不同类别,它通常被用于情感分析[6]

TC是将文档形式的每段文本自动分类为预定义类别的过程[6]。通常,它包括4个阶段:(1) 文档表示; (2) 特征选择; (3) 特征加权; (4) 最终分类。TC面临两个主要问题,第一个问题是如何从特征空间中有效选择有用的特征。对于使用特征加权进行TC,已经进行了广泛的研究,普遍的特征加权是基于文档频率进行加权。在特征本身对文档情感的意义上进行研究的较少。

考虑到以上的挑战,本文认为如果根据特征对于文本情感的贡献度来进行特征的选择会从特征空间中更加有效地选择有用的特征。并且提出一种特征加权方法,该方法结合特征在文档中的重要性和情感中的贡献度对特征进行加权,能够更好地表示该特征的意义,有效地提高了模型的分类能力。

1 相关工作

情感分析是文本挖掘的一个子领域[7]。近年来,由于论坛、博客、电子商务、网站、新闻报道以及其他社交网站的大量出现,情感分析引起了研究人员的极大兴趣[8-11];尤其是客户对上述网站上的产品和服务的在线评论对传统的决策流程产生了重大影响[12-13]。因此,情感分析可帮助决策人员更好地了解和探索其客户对产品或服务的观点。实际上,由于各种原因,个人和公司总是对他人的观点感兴趣。例如,当一个人想要购买新产品时,他可能首先从先前购买过该产品的购买者那里获取意见,然后,基于这些评论,他将决定是否购买该产品[14]。同样,销售产品和服务的公司也要注意消费者对其产品的评论,这些评论涉及关于客户关注的问题、商品信息和用户喜好[15]。此外,在另一项研究中观察到,与传统的客户调查方法相比,基于Web的评论(即情感分析)具有易于访问且成本低的优势。

特别是,情感分析是识别目标群体中对文档中表达主题的观点是肯定还是否定的过程。情感分析通常将评论分为正面评论或负面评论[16]。负面评论(即客户投诉)传达了有关客户对产品/服务不满意的原因的重要信息[17]。因此,情感分析有助于保持客户。在不同的论坛或博客上阅读所有观点不仅困难,而且公司要管理大量评论以评估其产品或服务也具有挑战性。因此,有必要研究出可以提高此类非结构化评价的准确性的方法[18]

文本的情感分析中面临2个主要问题:(1) 特征选择,即如何从特征空间中有效选择有用的特征。由于训练数据通常很庞大,因此减小特征空间的尺寸有助于节省大量的计算成本。(2) 特征加权,与特征选择(被选择的特征均被平等对待)不同,特征加权中特征的重要性被用作确定特征权重的标准。

特征选择方法分为过滤方法、包装方法和嵌入方法[19]。过滤方法使用变量排名作为按顺序选择变量的主要标准,因此也可以称为排序方法。特征排序的优点是计算量小,避免过度拟合,并被证明对于某些数据集有不俗的表现[20-22]。排序方法的缺点之一是所选子集可能不是最佳的,因为可能获得冗余子集。由于忽略了基础学习算法,因此找到合适的学习算法也变得很困难[23]。同样,没有理想的方法来选择特征空间的尺寸,包装方法使用预测变量作为黑盒,并使用预测变量性能作为目标函数来评估变量子集。自评估以来 $ {2}^{n} $ 子集成为NP(Non-deterministic Polynomial)难题,通过采用启发式搜索子集的搜索算法找到次优子集。可以使用许多搜索算法来找到变量的子集,该子集可以使目标功能(即分类性能)最大化。嵌入方法希望减少包装方法中用于完成重新分类的不同子集的计算时间[24-25],主要方法是将特征选择纳入训练过程的一部分。包装方法和嵌入方法容易得到过拟合的结果,但随机森林由于其3个随机过程(产生决策树的样本是随机生成,构建决策树的特征值是随机选取,树产生过程中裂变的时候是选择N个最佳方向中的随机一个裂变的)符合强大数定理,在一定程度上消除了过拟合。

在传统的文本分类任务中,TF-IDF(Term Frequency–Inverse Document Frequency)等传统的无监督术语加权方案被广泛使用。研究人员还使用包括卡方校验Chi-Square在内的特征选择方法、信息增益IG(Information Gain)、优势比OR(Odds Ratio)、相关性Correlation、互信息MI(Mutual Information)来计算特征权重。有实验研究了加权因子(例如特征选择函数)如何影响分类性能[26],使用IG和增益比GR(Gain Ratio)来替换TF-IDF方案中的IDF(Inverse Document Frequency)值的实验结果表明,这些方法并不比TF-IDF好[24]。有人提出了混合加权方法,基于机器学习和词典的方式进行加权,发现效果好于单纯的加权方式[27]

与传统的文本分类相比,在情感分类领域,特征加权方案的研究相对较少。2008年最先将机器学习方法用于情感分类[9],并通过使用不同的特征加权方案比较了支持向量机、最大熵和朴素贝叶斯分类器的性能。研究人员分析了信息检索领域中使用的各种特征加权方案对情感分析的影响[26],选择了TF-IDF和其他经典加权方案,基于轻度评论进行广泛的实验,当使用文档频率信息的归一化对数比率作为特征权重并使用SVM分类器时在一系列数据集上获得良好的性能[28]。有研究使用优化方法获得特征权重的值[29],通过使用不同类别的文档中特征术语的统计信息。邓志鸿等[2]提出一个新的情感词的监督术语加权方案,称为ITD*MI(Importance of a Term in a Document* Mutual Information)算法,这种监督术语加权方案基于两个基本因素:文档中术语的重要性ITD(Importance of a Term in a Document)和表达情感的术语的重要性ITS(Importance of a Term for expressing Sentiment)。与以前的源自信息检索的无监督术语加权方案相比,该方案可以充分利用可用的标签信息为术语分配适当的权重。

2 短文本分类方法

本文基于随机森林来设计特征选择算法,采用袋外数据OOB (Out of Bag)做测试集。CWSTF方法是利用重抽样技术构造多个数据集,分别在每个数据集上进行特征重要性度量,然后给每个特征重要性度量加上权值,得出其重要度,并进行特征的选择。不采用主成分分析等方法进行降维是为了更好地保留原特征的物理意义。根据随机森林得到的重要度进行特征的选择,一方面是为了减小后续分类的计算时间,另一方面可以减少复杂度。文本情感分类中特征的加权一般考虑两个影响因子,一个是该特征在文档中的重要度,另一个是该特征在情感分类上的重要度。将两者结合起来进行特征加权,最后使用SVM等分类器进行分类计算,评判特征性能。

2.1 经典方法

在这里简要描述3种用于特征选择的方法和1种特征提取的方法,即信息增益IG、相关性Correlation、卡方校验Chi-Square和混合特征提取。

2.1.1 信息增益IG

在文本分类中利用信息增益进行特征选择,信息增益体现了特征的重要性,信息增益越大说明该特征越重要。

假设数据中有 ${K}$ 个类: ${{{C}}}_{1},{{{C}}}_{2},{{{C}}}_{3},\cdots,{{{C}}}_{{K}}$ ,每一类出现的概率为 ${P}\left({{{C}}}_{{k}}\right)={p}_{{C}_{{k}}},{k}={1,2},\cdots,{K}$ ,则每一类的信息熵为

$ {H}\left({{{C}}}\right)=-\displaystyle\sum _{{i}=1}^{{k}}{p}_{{C}_{{i}}}{\rm{lg}}{p}_{{C}_{{i}}} $ (1)

条件熵的计算为

$ {H}\left({{{C}}}\right|{{{T}}})=\displaystyle\sum _{{i}=1}^{n}{p}_{{C}_{{i}}}{H}({{{T}}}|{{{C}}}={{{C}}}_{{i}}) $ (2)

其中 ${{{T}}}$ 表示一个单词。

则总的信息增益计算为

$ {G}\left({{{T}}}\right)={H}\left({{{C}}}\right)-{H}\left({{{C}}}\right|{{{T}}}) $ (3)

信息熵体现了信息的不确定程度,熵越大表示特征越不稳定,表示类别之间的数据差别越大;条件熵体现了根据该特征分类后的不确定程度,越小说明分类后越稳定。

2.1.2 相关性Correlation

Correlation估计特征子集并对特征子集而不是单个特征进行排序。

启发式方程:

$ {{{M}}}_{{s}}=\dfrac{{{{k}}{{r}}}_{{{c}}{{f}}}}{\displaystyle\sqrt{{{k}}+{{k}}({{k}}-1){{{r}}}_{{{f}}{{f}}}}} $ (4)

Correlation的核心是采用启发的方式评估特征子集的价值。启发方式基于的假设:好的特征子集包含与类高度相关的特征,但特征之间彼此不相关。

${{{M}}}_{{s}}$ 为包含 $ {{k}} $ 个特征的特征子集 $ {{{s}}} $ 的启发式矩阵, ${{{r}}}_{{{c}}{{f}}}$ 是特征与类的平均相关性, ${{{r}}}_{{{f}}{{f}}}$ 是特征与特征的平均相关性。

2.1.3 卡方校验Chi-Square

卡方检验的公式如式(5)所示,其中A为实际值,T为理论值。

$ {D}({{{x}}},{{{y}}})={{{{x}}}}^{2}({{{x}}},{{{y}}})=\displaystyle\sum \dfrac{{({A}-{T})}^{2}}{{T}} $ (5)

$ {D} $ 值越大,说明两个变量越不可能是独立无关的。对于特征变量 ${{{{x}}}}_{1},{{{{x}}}}_{2},{{{{x}}}}_{3},\cdots,{{{{x}}}}_{n}$ ,以及分类变量 $ {{{{y}}}} $ ,只需要计算 ${D}({{{{x}}}}_{1},{{{y}}})$ ${D}({{{{x}}}}_{2},{{{y}}})$ 、···、 ${D}({{{{x}}}}_{n},{{{y}}})$ ,并按照 ${D}$ 的值从大到小将特征排序,然后选择阈值,大于阈值的特征留下,小于阈值的特征删除,这样就可以筛选出一组特征子集。

2.1.4 混合特征提取

基于机器学习的特征提取方法使用常见的词袋技术,其中列对应于单词,行对应于权重值,例如术语频率TF(Term Frequency)和TF-IDF。基于词汇的特征提取方法抽取了4种不同的功能,它们是:正字数、负字数、正涵义计数和负涵义计数。将两者混合能得到一个新的特征集。

2.2 短文本特征的组合加权方法

本文设计了一种基于随机森林的短文本特征化方法,图1表示了该分类模型的一个流程。使用监督学习对短文本特征进行加权选择和权重改变,使其增加对分类器的分类能力。

Part A中的特征经过随机森林的权重评估后进行特征选择,以筛选出特征子集,具体流程如图2所示。

图 1 短文本特征的组合加权方法过程 Figure 1 Process of combined weighting method for short text features
图 2 基于随机森林的特征选择流程 Figure 2 Feature selection process based on Random Forest

Part B中的特征将前一部分经过随机森林评估的权重作为特征的情感贡献度,与特征子集中单词的文本重要度相结合作为特征的最终权重进行加权。

2.2.1 数据预处理

一般网络文本集合中含有大量的噪音,在这些噪音的影响下,进行文本的情感分析会受到干扰,得到的结果正确率也会降低。因此在进行情感分析之前必须要对文本数据集进行一系列的预处理工作。

预处理工作包括4步:(1) 去除无意义标注;(2) 删除停用词;(3) 词形还原;(4) 构造词袋模型。

预处理首先去除了HTML标签。HTML是网络评论中常见的标签,而且与文字等混杂在一起,将此标签删除是必要的。其次,在文本中一般的标点符号和数字也会占用很大的空间,而“,”“。”“1”“2”等标点符号和数字不会影响用户的情绪分析,因此数字和标点符号也被删除。

文本中出现频率很高,但实际意义又不大的词。这一类主要包括了语气助词、介词、连词等,通常自身并无明确意义,只有将其放入一个完整的句子中才有一定作用的词语,如常见的“in”“and”“then”之类。文档中如果大量使用停用词容易对页面中的有效信息造成噪音干扰,所以在运算之前都要对所索引的信息进行消除噪音的处理。在第二步中也将其删除。

文本中有许多单词表示同一个意思但是其时态或者形式不同,这些单词不会表现为词根的形式,但是如果将它们分为不同的单词又会占用大量的计算空间并且会让每个单词出现的概率更加小。例如,“studied”“studying”等属于同一个意思但是时态不同,需要将它们都转化为“study”。这个过程被称为词形还原,其中单词的无效结尾通过将借助词汇的词根形式去除。此外,由于计算大小的限制,取出8000个单词作为其特征词,预处理数据集用于下一阶段的特征提取。

最后使用了词袋模型,选择使用该模型的原因是因为它能更加形象地表示一个文档的构成,例如一句话“this movie is very fantastic!”,本文将其表示为 $ {{w}}_{1} $ =“this”, $ {{w}}_{2} $ =“movie”,以此类推,一句话表示为 ${{{S}}}=\{{w}_{1},{w}_{2},\cdots,{w}_M\}$ ${M}$ 表示一句话中的词汇总数。一个包含 $ {{K}} $ 句话的数据集最终被表示为一个矩阵 ${{{Q}}}$ ( ${{K}}\times {{M}}$ )。

2.2.2 基于随机森林的特征选择

本文使用随机森林来作为特征选择的方法。要确定选择的特征,首先要计算出特征在文本情感的分析中发挥的作用,即特征在文本中的情感贡献度。

首先对原始数据进行Bootstrap取样,为了保证分类的正确率,CWSTF经过多次重复取样构造多个数据集。设原始的数据集为 $ {{D}} $ ,特征个数为 $ {{N}} $ ,经过重抽样后的数据集为Repeated Sampling_D (简记为 $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ ),数据集个数为 ${{M}}$ 。在每个 $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ 数据集上构造一棵决策树,首先需要知道这个数据集中的正负情感的文本概率分布为

$ {{P}}({{{{X}}}}={{{{x}}}}_{{i}})={p}_{{{i}}},{{i}}={1,2} $

根据式(1),其正负文本 ${X}$ 的熵定义为

$ {{H}}\left({{{X}}}\right)=-\displaystyle\sum \limits_{{{i}}=1}^{{n}}{{p}}_{{{i}}}{\rm{lg}}{{p}}_{{{i}}} $

文本中的特征 ${{{Y}}}$ 与正负文本 ${{{X}}}$ 的联合分布为

$ {{P}}({{{X}}}={{{{x}}}}_{{{i}}},{{{Y}}}={{{{y}}}}_{{j}})={{p}}_{{{i}}{{j}}},{{i}}={1,2};{{j}}={1,2},\cdots,{{m}} $

根据式(2),在文本类别确定的情况下文本中每个特征的条件熵为

$ {{H}}\left({ Y}\right|{ X})=\displaystyle\sum _{{{i}}=1}^{{n}}{{p}}_{{{i}}}{{H}}({{{Y}}}|{{{X}}}={{{{x}}}}_{{{i}}}) $ (6)

${{H}}\left({{{{X}}}}\right)$ 表示对文本 ${ {X}}$ 分类的不准确性, ${{H}}\left({{{Y}}}\right|{{{X}}})$ 则表示在特征 ${{{Y}}}$ 给定的情况下对文本分类的不准确性。当本文评判该特征对于文本的分类起到好的效果时,选择对两者的差值进行比较,两者的差越大,则该特征具有更强的分类能力,通过信息增益G(X,Y)来选择第一个分支节点,见式(7)。

$ {{G}}({{{X}}},{{{Y}}})={{H}}\left({{{{X}}}}\right)-{{H}}({{{X}}},{{{Y}}}) $ (7)

由于普通的决策树容易产生过拟合的结果,所以在每个节点的选取中只随机选择 ${{n}}({{n}} < {{N}})$ 个特征来作为比较。决策树的生成如下。

输入:数据集 $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ ,特征集合 ${{{Y}}}$

输出:决策树 ${{T}}$

(1) 若 $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ 中所有实例属于同一类,则 ${{T}}$ 为单节点数,并将类别作为该节点的类标记,返回 ${{T}}$

(2) 否则,随机取出 ${{n}}({{n}} < {{N}})$ 个特征,按照式(7)中计算 ${{{Y}}}$ 中各特征对 $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ 的信息增益,选择信息增益最大的特征 ${{{{Y}}}}_{{g}}$

(3) 对 ${{{{Y}}}}_{{g}}$ 的每一个可能值 ${{{{y}}}}_{{j}}$ ,依 ${{{{{Y}}}}}_{{g}}={{{{{y}}}}}_{{j}}$ $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ 分割为若干个非空子集 $ {{\rm{R}}{\rm{S}}\_{\rm{D}}}_j $ ,将 $ {{\rm{R}}{\rm{S}}\_{\rm{D}}}_j $ 中实例数最大的类作为标记,构建子节点,由节点及其子节点构成树 ${{T}}$ ,返回 ${{T}}$

(4) 对于第 $M$ 个子节点,以 $ {{\rm{R}}{\rm{S}}\_{\rm{D}}}_j $ 为训练集,以 ${{{Y}}}-\left\{{{{{Y}}}}_{{g}}\right\}$ 为特征集,递归调用步骤(1)~步骤(3),得到子树 ${{{{T}}}}_{{j}}$ ,返回 ${{{{T}}}}_{{j}}$

(5) 当所有特征都成为节点或者 $\left\{{{{{Y}}}}_{{g}}\right\}$ 的个数为 ${{n}}$ 时,结束递归,返回 ${{T}}$

这样就能为一个 $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ 数据集构造一棵决策树。依次对 $ M $ $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ 数据集用同样的过程生成决策树,就会有 $ M $ 个不同的 $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ 数据集产生 $ M $ 棵决策树。如图1所示,采用多数投票方法对结果进行预测。根据决策树的预测结果可以获得一个 $T\times (M+2)$ 的矩阵,矩阵的每行代表着要预测的样本,矩阵的前 $ M $ 列分别表示 $ M $ 棵决策树对每个样本的预测结果,第 $ M+1 $ 列代表前 $ M $ 棵决策树对每个样本综合投票的结果(前 $ M $ 列中每行中占多数的样本分类结果判定为该样本的最终分类结果放在第 $ M+1 $ 列),第 $ M+2 $ 列代表测试数据的真实分类结果。则第 ${{i}}$ 棵决策树的可信度可由式(8)得到:

$ {{{{S}}}}_{{{i}}}=\dfrac{1}{T}\displaystyle\sum _{{{j}}=1}^{{{T}}}{{I}}({{{{F}}}}_{{{i}}{{j}}}={{{{E}}}}_{{j}}) $ (8)

其中 ${{{{S}}}}_{{{i}}}$ 表示第 ${{i}}$ 棵决策树的权重, ${{{F}}}_{{{i}}{{j}}}$ 表示第 ${{i}}$ 棵决策树对第 ${{j}}$ 个样本的预测结果, ${{{E}}}_{{j}}$ 表示所有决策树对第 ${{j}}$ 个样本的集成预测结果。

由于决策树对于OOB的预测能力不一,所以设置一个阈值 $ {\rm{\sigma }} $ ,当 ${{{{S}}}}_{{{i}}}$ 的值小于 $ {\rm{\sigma }} $ 时,认为这棵树的构造不符合本文的需要,即丢弃不用。然后再使用剩下的树对特征进行加权。阈值的选取过小设置就没有意义,过大会造成树的样本数太少。根据经验,本文中选择 $ {\rm{\sigma }} $ =0.6。阈值判断示意图如图3所示。

图 3 阈值判定示意图 Figure 3 Schematic diagram of threshold determination

通过给特征添加噪声对比分类正确率,得到一个特征的重要性度量。 ${{M}}$ $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ 数据集可以得到 ${{M}}$ 个特征的重要性度量,但是每个 $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ 数据所获得的特征重要性的权重不同。因此CWSTF方法的主要步骤就是计算特征的重要性度量值和权重的大小。

${{j}}$ 个属性的特征重要性度量是由 ${{R}}$ ${{{R}}}_{{j}}$ 的差值所决定的,其中 ${{R}}$ 表示对特征添加噪声前的分类正样本的个数, ${{{R}}}_{{j}}$ 表示对特征添加噪声后的分类正确的个数。本文基于OOB样本数据来做特征的重要性度量,为了避免OOB数据类别严重不均给算法结果带来的影响,采用 ${{K}}$ 折交叉验证来计算特征的重要性度量值。由于采用的是五折交叉验证,每个RS_D数据集分成5份,5份数据集交叉作为测试数据集,因此在同一 $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ 数据集上, ${{R}}$ ${{{R}}}_{{j}}$ 需要分别计算5次,最后第 ${{j}}$ 个特征的重要性度量 ${{{{{I}}}}}_{{{i}}{{j}}}$ 是由5次产生的平均差值来决定的。

$ {{{{I}}}}_{{{i}}{{j}}}=\dfrac{1}{5}\displaystyle\sum _{{{k}}=1}^{5}|{{{R}}}_{{{i}}{{k}}}-{{{R}}}_{{{i}}{{j}}{{k}}}| $ (9)

其中 ${{i}}$ 代表第 ${{i}}$ $ {\rm{R}}{\rm{S}}\_{\rm{D}} $ 数据集, ${{j}}$ 代表第 ${{j}}$ 个特征, ${{k}}$ 代表第 ${{k}}$ 层数据。

从式(7)和式(8)可以得出每一棵决策树的可信度和每棵树中每一个特征的重要性度量,因为在性能不同的树中相同特征的表现能力可能不同,所以要得出最终的特征情感贡献度需要将两者结合起来。最终的特征情感贡献度 ${{{Z}}}_{{j}}$ 可通过式(10)计算:

$ {{{Z}}}_{{j}}=\dfrac{1}{M}\displaystyle\sum _{{{i}}=1}^{{M}}({{{S}}}_{{{i}}}\times {{{I}}}_{{{i}}{{j}}}) $ (10)

选择后的特征个数为 $ {\rm{\gamma }}{{N}} $ $ {\rm{\gamma }} $ 为按特征重要度由高到低的占比,0< ${\rm{\gamma\leqslant1 }}$

2.2.3 特征的组合加权

文本情感分析的特征加权一般考虑两个影响因子:特征在文档中的重要性和特征在表达情感上的重要性。

${{{F}}}=\{{{{f}}}_{1},{{{f}}}_{2},\cdots,{{{f}}}_{{w}}\}$ 表示数据集 ${{D}}$ 中的词汇,文档 ${{{{d}}}}_{{j}}$ 就被表示成一个向量: ${{{d}}}_{{{k}}}=\{{{{w}}}_{1{{k}}},{{{{w}}}}_{2{{k}}},\cdots,{{{{w}}}}_{mk}\}$ ,其中 ${{{w}}}_{{{j}}{{k}}}$ 代表特征 ${{{f}}}_{{j}}$ 在文档 ${{d}}_{{{k}}}$ 中的权重, ${{{w}}}_{{{j}}{{k}}}={{{{v}}}}({{{f}}}_{{j}},{{d}}_{{{k}}})\times {{{{z}}}}\left({{{f}}}_{{j}}\right)$ ${{{v}}}({{{f}}}_{{j}},{{d}}_{{{k}}})$ 代表特征 ${{{f}}}_{{j}}$ 在文档 ${{d}}_{{{k}}}$ 中的重要程度, ${{{z}}}\left({{{f}}}_{{j}}\right)$ 代表特征 $f_j $ 在表达情感倾向上的重要程度。

计算特征在文档中的重要程度时,采用TFIDF的计算方法,因为不同的文档其长度差异很大,若直接用特征在文档中出现的次数来衡量该特征在文档中的重要度,容易使出现在较长的文章里的特征获得较高的权值。

在文档 ${{d}}_{{{k}}}$ ${{{f}}}_{{j}}$ 的TFIDF权重 ${{{V}}}_{{{j}}{{k}}}$ 可以用式(11)来表示[30]

$ \begin{split}& {{{{U}}}_{{{j}}{{k}}}=\dfrac{{{n}}_{{{j}}{{k}}}}{\displaystyle\sum\nolimits _{{{m}}}{{n}}_{{{m}}{{k}}}} }\\ &\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!{{{{{P}}}}_{{j}}={{{\rm{lg}}}}\dfrac{\left|{ D}\right|}{\left|\right\{{{k}}:{{{f}}}_{{j}}\in {{d}}_{{{k}}}\left\}\right|+1} }\\[-1pt] &{{{{{V}}}}_{{{j}}{{k}}}={{{{U}}}}_{{{j}}{{k}}}\times {{{{{P}}}}}_{{j}}} \end{split} $ (11)

其中 ${{n}}_{{{j}}{{k}}}$ ${{{f}}}_{{j}}$ 在文档 ${{d}}_{{{k}}}$ 中出现的总次数, $\displaystyle\sum \nolimits_{{{m}}}{{n}}_{{{m}}{{k}}}$ 为文档 ${{d}}_{{{k}}}$ 中的总词数, $\left|{{{{D}}}}\right|$ 为文档总数, $\left|\right\{{{k}}:{{{f}}}_{{j}}\in {{d}}_{{{k}}}\left\}\right|$ 为出现 ${{{f}}}_{{j}}$ 的文件数目,加1是为了防止该词不在语料库中导致除数为零。可以用 ${{{{V}}}}_{{{j}}{{k}}}$ 权重表示每个词在文档中的重要性。

本文在上一部分通过随机森林计算出特征在分类方面的重要性度量,在这里可以认为它可以用来表示特征在表达情感上的重要性,即特征的 $ {\rm{I}}{\rm{T}}{\rm{S}} $ 。本文使用的方法更能体现特征的物理意义。

特征 ${{{{{f}}}}}_{{{j}}{{k}}}$ 最终的权重 ${{{{W}}}}_{{{j}}{{k}}}$

$ {{{{W}}}}_{{{j}}{{k}}}={{{{Z}}}}_{{j}}\times {{{{V}}}}_{{{j}}{{k}}} $ (12)

加权后的特征权重矩阵为:

$ {{{{W}}}}={{{{Z}}}}*{{{{V}}}} $

其中 ${{{Z}}}$ ( ${{M}}\times {{\gamma }}{{N}}$ )表示随机森林得到的特征在情感中的重要度, ${{M}}$ 是数据集中句子的总数, ${{\gamma }}{{N}}$ 是经特征选择后的特征数。 ${{{{V}}}}$ ( ${{M}}\times {{\gamma }}{{N}}$ )表示TFIDF权重。 $* $ 表示哈达马积。

3 实验及分析 3.1 实验环境

本次实验一共采用2个数据集。第1个数据集是IMDb Movie Review数据集(简称为IMDB数据集)[27]。IMDB数据集有50 000个英文评论,其中积极评论25 000个,消极评论25 000个。由于大小原因,本文取出5 000条评论。其中正面评论2 310条,负面评论2 690条。本文将两种数据集中75%的数据用作训练,25%的数据用于测试。第2个数据集是STS-Gold数据集[31]。STS-Gold数据集包含3 000条推文,每条推文都被标记为5类之一:负面、正面、中性,混合或其他。本文仅使用了2类推文(消极和正面),总共使用了2 032条推文。其中包含632条正面评论,1 400条负面评论。本文将75%的数据集用作训练,25%的数据集用作测试。

本实验是在Windows操作系统的计算机上运行,采用的语言是Python,版本号为3.7.4,最后结果使用正确率F值作为本文方法性能的评价标准。输入的特征集尺寸 ${{\gamma }}$ 从1.25%~100%,分析其特征子集对分类效果的影响。

分类器使用SVM、NB、ME、KNN机器学习方法。

3.2 特征重要度评估

效果较好的特征的组合加权法策略是对词频标准化后的ITD(特征在文档中的重要性ITD由该特征在该文档中出现的次数以及该文档所包含特征的最大词频决定)和基于交互信息的ITS结合[2]

选取同样是结合情感重要度的ITD*MI算法与本文的方法做比较。为了更直观地对比ITD*MI算法和本文的方法,抽出了经过2种方法加权后重要度排名前10位的特征。ITD*MI算法得到的重要度排名前10位的词及其权重,见表1。经过CWSTF方法筛选之后得到的重要度排名前10位的词及其权重,见表2

表 1 根据ITD*MI算法获得的特征排名(前10) Table 1 Feature ranking based on ITD * MI algorithm(top ten)
表 2 根据CWSTF方法获得的特征排名(前10) Table 2 Feature ranking obtained by the CWSTF method (top ten)

表1中可以看出根据ITD*MI算法,排名最靠前的10个(甚至前几十个)没有太大的具体意义。也就是说,这类特征往往获得非常的权值,而事实上它们在表达情感上不一定真的重要。而表2显示,根据本文的方法筛选出来的特征都含有非常明显的情感倾向,而且含有具体的含义,大概率能表现一个文档的情感倾向。

3.3 实验结果与比较

本节显示了本文提出的方法在IMDB数据集和STS-GOLD数据集得出的实验结果,并与其他方法进行了比较。

(1) 本部分介绍IMDB数据集使用各种方法获得的结果的分析,CWSTF方法下的不同分类器评估结果以及与Kumar的混合功能方法[27]作比较。

图4显示了CWSTF方法整体表现优于使用混合功能的特征选择方案在不同分类器下的分类效果。在ME分类器下正确率略弱于Correlation方法,但是其他均优于混合方法。

图 4 IMDB数据集中使用不同方法的正确率 Figure 4 Accuracy using different methods in IMDB dataset

图5~8显示的是使用IG、Correlation、Chi Square和CWSTF不同特征选择方案在SVM、NB、ME、KNN中获得的正确率, ${{\gamma }}$ 为按特征重要度由高到低的占比, ${{0.125\leqslant\gamma\leqslant1 }}$ 。横坐标表示特征子集在总特征集中的占比。

图 5 使用IG的分类器随 $ \gamma $ 值变化的正确率 Figure 5 The accuracy of the classifier using IG as a function of $ \gamma $ value
图 6 使用Correlation的分类器随 $ \gamma $ 值变化的正确率 Figure 6 The accuracy of the classifier using Correlation as a function of $ \gamma $ value
图 7 使用Chi Square的分类器随 $ \gamma $ 值变化的正确率 Figure 7 The accuracy of the classifier using Chi Square as a function of $ \gamma $ value
图 8 使用CWSTF的分类器随 $ \gamma $ 值变化的正确率 Figure 8 The accuracy of the classifier using CWSTF as a function of $ \gamma $ value

通过图5~8,可以看出CWSTF方法下的结果。

① NB分类器在 $ {\rm{\gamma }} $ 值为0.6时正确率达到63.89%,所以使用NB分类器时只需使用60%的特征子集就可以很好地表示整个数据集,减少了40%的特征表示空间。

② ME分类器在特征子集较小时分类效果较差,在 ${{\gamma }}$ 值为0.6时正确率达到较高值,正确率为81.34%,减少了40%的特征表示空间。

③ KNN分类器在 ${{\gamma }}$ 值为1的情况下达到最好的正确率为76.36%。

④ SVM分类器在 ${{\gamma }}$ 值为0.5的情况下达到最高的正确率为82.38%。

表3~5总结的结果对比Kumar的混合功能方法,通过考虑特征子集的数目为2 000,5 000,8000时进行对比达到的正确率和F值。加粗的数值表示在相同分类器下不同特征选择方法所获得的最好结果。

表 3 特征数为2 000的方法准确度和F值对比 Table 3 Comparison of method accuracy and F value with 2 000 feature number
表 4 特征数为5 000的方法准确度和F值对比 Table 4 Comparison of method accuracy and F value with 5 000 feature number
表 5 特征数为8 000的方法准确度和F值对比 Table 5 Comparison of method accuracy and F value with 8 000 feature number

表3可以看出本文的方法在特征数为2 000的情况下使用SVM分类器会优于其他的3种方法,但是在NB、ME、KNN分类器下会略差于其他几种方法。

表4可以看出本文的方法在特征数为5 000的情况下使用SVM和NB分类器会优于其他的3种方法,但是在ME、KNN分类器下会略差于其他几种方法。

表5可以看出本文的方法在特征数为8 000的情况下使用SVM、NB和ME分类器会优于其他的3种方法,但是在KNN分类器下会略差于其他几种方法。整体来说优于其他3种方法。

总之,本文的方法在SVM、NB和KNN3种分类下最高的正确率和F值都高于其他3种方法。

(2) 本部分介绍STS-GOLD数据集使用各种方法获得的结果的分析,CWSTF方法下的不同分类器评估结果以及与Kumar的混合功能方法[27]作比较。

图9显示了CWSTF方法整体表现优于使用混合功能的特征选择方案在不同分类器下的分类效果。在KNN和NB分类器下正确率略弱于Chi Square方法,但是其他均优于混合方法。

图 9 STS-GOLD数据集中使用不同方法的正确率 Figure 9 Accuracy using different methods in STS-GOLD dataset

图10~13显示的是使用IG、Correlation、Chi Square和CWSTF不同特征选择方案在SVM、NB、ME、KNN中获得的正确率, ${{\gamma }}$ 为按特征重要度由高到低的占比, ${{0.125\leqslant\gamma\leqslant1 }}$ 。横坐标表示特征子集在总特征集中的占比。

图 10 使用IG的分类器随 $ \gamma $ 值变化的正确率 Figure 10 The accuracy of the classifier using IG as a function of $ \gamma $ value
图 11 使用Correlation的分类器随 $ \gamma $ 值变化的正确率 Figure 11 The accuracy of the classifier using Correlation as a function of $ \gamma $ value
图 12 使用Chi Square的分类器随 $ \gamma $ 值变化的正确率 Figure 12 The accuracy of the classifier using Chi Square as a function of $ \gamma $ value
图 13 使用CWSTF的分类器随 $ \gamma $ 值变化的正确率 Figure 13 The accuracy of the classifier using CWSTF as a function of $ \gamma $ value

通过图10~13,可以看出CWSTF方法下的结果。

① NB分类器在 $ {\rm{\gamma }} $ 值为1时正确率达到75.43%,但是其在 ${{\gamma }}$ 值为0.4时正确率能达到73%左右,表明其特征子集的表达能力还是较强。

② ME分类器在特征子集较小时分类效果较差,在 ${{\gamma }}$ 值为0.5时正确率达到较高值,正确率为84.90%,减少了50%的特征表示空间。

③ KNN分类器在 ${{\gamma }}$ 值为0.7的情况下达到最好的正确率为78.28%,并且其特征子集的尺寸空间减少了30%。

④ SVM分类器在 ${{\gamma }}$ 值为0.5的情况下达到最高的正确率为83.74%。

表6~8总结的结果对比Kumar的混合功能方法,通过考虑特征子集的数目为2 000、5000、8 000时进行对比达到的正确率和F值。加粗数值表示在相同分类器下不同特征选择方法所能获得的最好结果。

表 6 特征数为2 000的方法准确度和F值对比 Table 6 Comparison of method accuracy and F value with 2 000 feature number
表 7 特征数为5 000的方法准确度和F值对比 Table 7 Comparison of method accuracy and F value with 5 000 feature number
表 8 特征数为8 000的方法准确度和F值对比 Table 8 Comparison of method accuracy and F value with 8 000 feature number

表6可以看出本文的方法在特征数为2 000的情况下使用SVM和ME分类器会优于其他的3种方法。

表7可以看出本文的方法在特征数为5 000的情况下使用SVM和ME分类器会优于其他的3种方法,但是在KNN和NB分类器下会略差于其他几种方法。

表8可以看出本文的方法在特征数为8 000的情况下使用SVM和ME分类器会优于其他的3种方法。

总的来说,本文的方法在SVM和ME 2种分类下最高的正确率和F值都高于其他3种方法。在其他2种分类器下结果与其他方法的最高正确率相差不大。

4 结论与展望

本文提出一种短文本特征的组合加权方法,通过特征对于分类的贡献度进行特征筛选,并且考虑特征在文档中的重要性,将两者组合进行权重考虑。在IMDB数据集上和STS-GOLD数据集上的结果表明,该方法的分类正确率比较以往方法有较好的提升,而且该算法能适应不同类型的数据集。但是不同分类器上的表现不尽相同,需要提取不同尺寸的特征子集来适应各个分类器。在今后的工作中希望能够设计算法直接提取出一个较好的特征子集,并且改进加权规则,使特征子集能够适应较多的分类器。

参考文献
[1]
张巍, 史文鑫, 刘冬宁, 等. 一种改进的带有情感信息的词向量学习方法[J]. 计算机应用研究, 2017, 34(8): 2287-2290.
ZHANG W, SHI W X, LIU D N, et al. Improved approach of word vector learning via sentiment information[J]. Application Research of Computers, 2017, 34(8): 2287-2290. DOI: 10.3969/j.issn.1001-3695.2017.08.010.
[2]
DENG Z H, LUO K H, YU H L. A study of supervised term weighting scheme for sentiment analysis[J]. Expert Systems with Applications, 2014, 41(7): 3506-3513. DOI: 10.1016/j.eswa.2013.10.056.
[3]
DAS O, BALABANTARAY R C. Sentiment analysis of movie reviews using POS tags and term frequencies[J]. International Journal of Computer Applications, 2014, 96(25): 34-41.
[4]
BEHDENNA S, BARIGOU F, BELALEM G. Sentiment analysis at document level[C]//International Conference on Smart Trends for Information Technology and Computer Communications. Singapore: Springer, 2016: 159-168.
[5]
PARLAR T, ÖZEL S A. A new feature selection method for sentiment analysis of Turkish reviews[C]//2016 International Symposium on INnovations in Intelligent SysTems and Applications (INISTA). Sinaia: IEEE, 2016: 1-6.
[6]
JOULIN A, GRAVE É, BOJANOWSKI P, et al. Bag of tricks for efficient text classification[C]//Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 2, Short Papers. East Stroudsburg: The Association for Computational Linguistics, 2017: 427-431.
[7]
CLAYPO N, JAIYEN S. Opinion mining for Thai restaurant reviews using neural networks and mRMR feature selection[C]//2014 International Computer Science and Engineering Conference (ICSEC). Khon Kaen: IEEE, 2014: 394-397.
[8]
ZHANG L, QIAN G Q, FAN W G, et al. Sentiment analysis based on light reviews[J]. Ruan Jian Xue Bao/Journal of Software, 2014, 25(12): 2790-2807.
[9]
PANG B, LEE L. Opinion mining and sentiment analysis[J]. Foundations and Trends® in Information Retrieval, 2008, 2(1-2): 1-135. DOI: 10.1561/1500000011.
[10]
MA B J, YUAN H, WU Y. Exploring performance of clustering methods on document sentiment analysis[J]. Journal of Information Science, 2017, 43(1): 54-74. DOI: 10.1177/0165551515617374.
[11]
RAMTEKE J, SHAH S, GODHIA D, et al. Election result prediction using Twitter sentiment analysis[C]//2016 International Conference on Inventive Computation Technologies (ICICT). Coimbatore: IEEE, 2016, 1: 1-5.
[12]
WU W, GAO B, YANG H, et al. The impacts of reviews on hotel satisfaction: a sentiment analysis method[J]. Data Analysis and Knowledge Discovery, 2017, 1(3): 62-71.
[13]
SHIVAPRASAD T K, SHETTY J. Sentiment analysis of product reviews: a review[C]//2017 International Conference on Inventive Communication and Computational Technologies (ICICCT). Coimbatore: IEEE, 2017: 298-301.
[14]
莫赞, 罗敏瑶. 在线评论对消费者购买决策的影响研究——基于评论可信度和信任倾向的中介、调节作用[J]. 广东工业大学学报, 2019, 36(2): 58-65.
MO Z, LUO M Y. A research of the influence of online reviews on consumer purchase decision based on mediation and adjustment of reliability comments and trust tendency[J]. Journal of Guangdong University of Technology, 2019, 36(2): 58-65.
[15]
张巍, 黄健华, 刘冬宁, 等. 一种改进的结合评分和评论信息的推荐方法[J]. 广东工业大学学报, 2017, 34(6): 31-35, 52.
ZHANG W, HUANG J H, LIU D N, et al. An improved recommendation method combining scoring and comment information[J]. Journal of Guangdong University of Technology, 2017, 34(6): 31-35, 52.
[16]
ALLEN T T, SUI Z, PARKER N L. Timely decision analysis enabled by efficient social media modeling[J]. Decision Analysis, 2017, 14(4): 250-260. DOI: 10.1287/deca.2017.0360.
[17]
KNOX G, EORGE, VAN OEST, RUTGER. Customer complaints and recovery effectiveness: a customer base approach[J]. Journal of Marketing A Quarterly Publication of the American Marketing Association, 2014, 78(5): 42-57.
[18]
SALEH M R, MARTÍN-VALDIVIA M T, M-ONTEJO-RÁEZ A, et al. Experiments with SVM to classify opinions in different domains[J]. Expert Systems with Applications, 2011, 38(12): 14799-14804. DOI: 10.1016/j.eswa.2011.05.070.
[19]
WU K, LU B L, UCHIYAMA M, et al. A probabilistic approach to feature selection for multiclass text categorization[C]//International Symposium on Neural Networks. Heidelberg: Springer, 2007: 1310-1317.
[20]
BIDI N, ELBERRICHI Z. Feature selection for text classification using genetic algorithms[C]//2016 8th International Conference on Modelling, Identification and Control (ICMIC). Algiers: IEEE, 2016: 806-810.
[21]
WANG X, CAO J, LIU Y, et al. Text clustering based on the improved tfidf by the iterative algorithm[C]//2012 IEEE Symposium on Electrical & Electronics Engineering (EEESYM). Malaysia: IEEE, 2012: 140-143.
[22]
LEE J, KIM D. Memetic feature selection algorithm for multilabel classification[J]. Information Sciences, 2015, 293(293): 80-96.
[23]
XUE B, ZHANG M, BROWNE W N, et al. A survey on evolutionary computation approaches to feature selection[J]. IEEE Transactions on Evolutionary Computation, 2015, 20(4): 606-626.
[24]
AL-JADIR I, WONG K W, FUNG C C, et al. Text dimensionality reduction for document clustering using hybrid memetic feature selection[C]//International Workshop on Multi-Disciplinary Trends in Artificial Intelligence. Cham: Springer, 2017: 281-289.
[25]
KUMBHAR P, MALI M, ATIQUE M. A genetic-fuzzy approach for automatic text categorization[C]//2017 IEEE 7th International Advance Computing Conference (IACC). Hyderabad: IEEE, 2017: 572-578.
[26]
WANG S, MANNING C D. Baselines and bigrams: Simple, good sentiment and topic classification[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Short Papers-Volume 2. Pennsylvania: Association for Computational Linguistics, 2012: 90-94.
[27]
KUMAR H M, HARISH B S, DARSHAN H K, et al. Sentiment analysis on IMDB movie reviews using hybrid feature extraction method[J]. International Journal of Interactive Multimedia and Artificial Intelligence, 2019, 5(5): 109-114. DOI: 10.9781/ijimai.2018.12.005.
[28]
MAAS A L, DALY R E, PHAM P T, et al. Learning word vectors for sentiment analysis[C]//Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies-Volume 1. Portland: Association for Computational Linguistics, 2011: 142-150.
[29]
ZHENG L, WANG H, GAO S. Sentimental feature selection for sentiment analysis of Chinese online reviews[J]. International Journal of Machine Learning and Cybernetics, 2018, 9(1): 75-84. DOI: 10.1007/s13042-015-0347-4.
[30]
AYMEN ABU-ERRUB. Arabic text classification algorithm using TFIDF and Chi Square measurements[J]. International Journal of Computer Applications, 2014, 93(6): 40-45. DOI: 10.5120/16223-5674.
[31]
ISMAIL H M, BELKHOUCHE B, ZAKI N. Semantic Twitter sentiment analysis based on a fuzzy thesaurus[J]. Soft Computing, 2018, 22(18): 6011-6024. DOI: 10.1007/s00500-017-2994-8.