基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法转让专利

申请号 : CN201710481733.5

文献号 : CN107357837B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄佳锋马志豪陈鑫卢昕薛云胡晓晖

申请人 : 华南师范大学

摘要 :

本发明公开了基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法,包括步骤:(1)对电商评论进行预处理和中文分词,计算得到近义词的TF‑IDF权重向量,然后基于保序子矩阵OPSM双聚类算法挖掘出权重向量中的局部模式;(3)使用改进的PrefixSpan算法挖掘分类频繁短语特征,同时也通过词语间隔等限制来提升频繁短语区分情感倾向的能力;(4)将(2)和(3)步骤挖掘出来的特征转化成0/1向量,作为分类器的输入,最终得到电商评论的情感分类结果。本发明能够准确地挖掘出电商评论的情感分类特征,使潜在消费者在购买商品前了解商品的评价信息,也能使商家更加充分地了解消费者的意见,从而提高服务质量。

权利要求 :

1.基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法,其特征在于,包括以下步骤:

(1)输入带有情感标签的电商评论数据,对数据进行预处理,并将数据划分成训练集TrainSet、验证集ValidationSet和测试集TestSet;

(2)用中文分词工具对步骤(1)得到的TrainSet、ValidationSet、TestSet进行中文分词,将每个评论句子转化成词语序列;

(3)结合词语相似度和TF-IDF对步骤(2)得到TrainSet词语序列进行计算,得到近义词的TF-IDF权重向量,然后基于保序子矩阵OPSM双聚类算法挖掘出权重向量中的OPSM特征;

具体包括:

(3-1)使用词嵌入模型word2vec训练中文大语料,得到词嵌入矩阵 其中词嵌入矩阵的每一列代表一个词向量,d表示向量的维度,V表示词表,|V|表示词表规模;

(3-2)计算词语相似度,给定相似度阈值T,假设Xi和Xj是We中两个词向量,计算两个向量的余弦相似度如下式所示:如果Sim(i,j)≥T,则表示Xi和Xj对应的词语是近义词;

(3-3)根据已有的中文情感词典,提取出步骤(1)TrainSet包含的情感特征词集合,并利用步骤(3-2)将情感特征词集合中的近义词语归并为同一个簇,得到特征词簇,特征词簇数目为c;

(3-4)根据词语相似度改造TF-IDF,因为语义接近的两个词在情感倾向判断中起的作用是相似的,所以在计算TF-IDF权值向量时,根据近义特征词簇来计算,把近义词都当作同一个词处理,近义词的TF-IDF计算公式如下式所示:其中,N表示语料库中的评论总数;tfiJ表示近义词频,即文档J中目标词i与其近义词出现的次数;dfi表示近义词文档频率,即语料库中含有目标词i以及它的近义词的文档个数;

根据近义词TF-IDF将TrainSet转化成矩阵 trainNum为训练集评论

数;

(3-5)根据保序子矩阵OPSM双聚类,挖掘出步骤(3-4)得到的矩阵Wtfidf中的OPSM子矩阵,将挖掘得到的OPSM子矩阵中包含的词组称为OPSM特征,从而得到OPSM特征集其中n1为挖掘到OPSM特征个数;

(4)将步骤(2)得到TrainSet词语序列转化成数字序列集合,使用改进的PrefixSpan算法挖掘分类频繁短语特征,同时也通过词语间隔限制来提升频繁短语区分情感倾向的能力;具体包括以下步骤:(4-1)将步骤(1)TrainSet中的每一条评论转化为数字序列,具体的做法是构建一个从词到整数的唯一映射,将每个词替换为对应的整数,得到代表训练集的数字序列集合S;

(4-2)定义分类频繁短语特征,对于一个短语p={w1,w2,...wl,...wm},其中wl为短语p中的词语,m为短语p的词语个数,假如同时满足以下几个特点,那么短语p为分类频繁短语特征:(I)短语p中任意两个相邻词语wl和wl+1在评论中可以不连续,但是一定要在评论中按照先后顺序出现;(II)给定短语p中相邻两个词语在评论中的最大间隔阈值max_gap,那么p中任意两个相邻词语wl和wl+1在评论中的间隔gap l≤max_gap;(III)短语p在训练集TrainSet中的支持度必须大于等于最小支持度,即sup s≥min_sup;(IV)假设短语p在TrainSet中类标签为q的语料中支持度分别为supq s,对于标签为0,1的二分类问题,定义短语p的区分度值conf如下式所示:那么短语p的区分度必须大于等于最小区分度阈值,即conf≥min_conf;

(4-3)将数字序列集合S作为改进的PrefixSpan方法的输入,挖掘得到分类频繁短语特征集 其中n2为挖掘到分类频繁短语特征个数;

(5)分别匹配步骤(1)得到的TrainSet、ValidationSet、TestSet是否包含步骤(3)(4)得到的OPSM特征和分类频繁短语特征,将TrainSet、ValidationSet、TestSet中的每一条评论转化成0/1向量,并将两种0/1向量进行合并得到最终的特征向量,输出TrainData、ValidationData、TestData;

(6)将步骤(5)得到的TrainData、ValidationData、TestData作为分类器的输入,最终得到测试集的情感分类结果。

2.如权利要求1所述基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法,其特征在于所述步骤(1)具体是:对电商评论进行预处理,包括去除空白行、去除重复行,然后按照比例将数据随机划分成训练集TrainSet、验证集ValidationSet和测试集TestSet,且保证三者中积极和消极的评论数基本平衡。

3.如权利要求2所述基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法,其特征在于所述比例为2:1:1。

4.如权利要求1所述基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法,其特征在于所述步骤(2)具体是:使用中科院ICTCLAS对TrainSet、ValidationSet、TestSet进行分词,将每条评论都转化成词语序列,得到词语序列集合。

5.如权利要求1所述基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法,其特征在于所述步骤(3-5)包括以下步骤:(a)将步骤(3-4)得到的矩阵Wtfidf进行处理,先将每一行的非零值按从小到大排序,然后用各值所在列的列号去替换真实值,得到各行的列号向量;

(b)对步骤(a)得到的数据进行公共子序列挖掘,因为各行的非零值个数可能不相同,所以在做两行公共子序列挖掘前先对两行列号向量取交集,然后利用动态规划挖掘每两行之间的所有公共子序列;

(c)对步骤(b)挖掘得到的公共子序列进行拼接,首先递归地对满足列阈值要求的公共子序列进行行拼接,然后输出满足行阈值要求以及满足各行都来自同一种情感标签样本的OPSM模式,将挖掘得到的OPSM模式中包含的词组称为OPSM情感特征,从而得到OPSM特征集T1。

6.如权利要求1所述基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法,其特征在于步骤(4-3)中改进的PrefixSpan方法相比于PrefixSpan方法的改进之处,包括以下步骤:(a)增加分类频繁短语长度的限制,并采用剪枝策略和分支定界策略以在挖掘过程中提前剔除无用的序列,减少投影数据库的规模,同时减少构建和扫描投影数据库的所用的时间和空间;

(b)针对电商评论情感分析任务,设置分类频繁短语的最大词语间隔max_gap,摒弃那些词语间间隔较大而关联性不强的短语,从而减少投影数据库的规模,降低时间和空间复杂度;

(c)针对电商评论情感分析任务,考虑分类频繁短语在不同情感类别中出现的比例,作为这个短语的区分度,仅保留区分度大于等于min_conf的短语,从而使得到的分类频繁短语特征具有较强的区分能力。

7.如权利要求1所述基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法,其特征在于步骤(5)包括以下步骤:(5-1)匹配步骤(1)得到的TrainSet、ValidationSet、TestSet是否包含步骤(3)得到的OPSM特征集 如果包含,则向量中相应维度的值为1,反之则为0,从而将TrainSet、ValidationSet、TestSet中的每一条评论转化成0/1向量(5-2)匹配步骤(1)得到的TrainSet、ValidationSet、TestSet是否包含步骤(4)得到的分类频繁短语特征集 如果包含,则向量中相应维度的值为1,反之则为

0,从而将TrainSet、ValidationSet、TestSet中的每一条评论转化成0/1向量(5-3)对于每一条评论,将步骤(5-1)(5-2)两种0/1向量V1和V2进行合并得到最终的特征向量 从而得到TrainSet、ValidationSet、TestSet的特征矩阵,输出为TrainData、ValidationData、TestData。

8.如权利要求1所述基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法,其特征在于步骤(6)包括以下步骤:(6-1)使用TrainData及其已知情感标签训练机器学习分类器,得到电商评论情感分类模型;

(6-2)使用ValidationData及其已知情感标签和控制变量法对步骤(3)(4)中的超参数进行调优,得到最佳超参数,其中超参数包括近义词TF-IDF中的词语相似度阈值T、分类频繁短语挖掘中的最大间隔阈值max_gap、最小支持度min_sup以及最小区分度阈值min_conf;

(6-3)将TestData作为步骤(6-2)得到的情感分类模型的输入,得到测试集的情感分类结果。

说明书 :

基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法

技术领域

[0001] 本发明属于自然语言处理技术与情感计算领域,具体地说是一种基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法。

背景技术

[0002] 随着电商的发展,用户在电商平台上对网购产品进行评价已经成了日常生活的一部分。如何利用机器学习、自然语言处理技术对评论文本进行分析,获得其中的观点倾向、情感极性,已成为人工智能领域的一个重要研究问题。文本情感分析常用的技术分为基于规则的方法和基于统计的方法。基于规则的方法主要从语言学角度出发,利用人工词典和模板进行情感倾向性分析(Xu et al.,2008)。基于统计的方法则从机器学习的角度出发,Bo Pang等人最早利用人工标注的影评语料进行特征提取和统计模型构建,自动化地实现情感极性的判断(Pang et al.,2002;Tan&Zhang,2008)。情感分析技术的应用非常广泛,如在推荐系统(Zhang,2015)和客户关系管理(Yaakub et al.,2013)中,通过分析每条评论的情感倾向,能够掌握消费者对产品或服务的满意程度,给商业决策和产品运营带来巨大价值。但网络评论文本,尤其是中文网络评论文本属于非结构化的短文本数据,具有长度不固定,用词比较随意等特点。因此,为中文网络评论设计合适的情感分析方法仍然是一个极具挑战性的任务。
[0003] 目前公认的情感分析研究工作始于Bo Pang等人(Pang et al.,2002)的工作,他们以词的unigram等表示作为输入,用朴素贝叶斯、最大熵、支持向量机等机器学习算法实现电影评论的情感分析,取得了较好的分类效果。随后谭松波等人(Tan&Zhang,2008)使用了四种特征选择方法(MI,IG,CHI,DF)和五种分类算法(Centroid Classifier,K-nearest Neighbor,Winnow Classifier,Naive Bayes,SVM)对中文文档进行情感分类。
[0004] 在情感分析任务中,文本的向量化是特征提取的基础工作。早期人们用独热码向量one-hot vector来表示词语,即向量长度是词表长度,每个向量只有一个维度是1,其他维度是0。这种表示方法的主要缺点在于不能衡量两个词之间的语义相似性,同时存在维度灾难的问题。后来Salton等人(Salton&Yu,1973)提出了基于词频和逆文档频的句向量表示即TF-IDF方法,这种方法通常需要利用情感词库来筛选特征词和计算权重,已被广泛应用于传统的自然语言处理任务中。随着深度学习研究在自然语言处理领域的深入,文本向量化表示的研究聚焦在词嵌入模型(word embedding/continue representation of words),这种方法使用原始语料训练得到词的空间向量表示,并能通过词向量的距离衡量对应词的语义相似性。Bengio(Bengio et al.,2003)首先在2003年提出前馈神经概率语言模型,该模型能基于上下文信息预测下一个应该出现的词。Mikolov等在2016年提出FastText工具(Bojanowski et al.,2016),大大提升了词向量空间的训练速度。
[0005] 当前主流的情感分析方法仍然是机器学习中的有监督学习方法,这种方法的关键步骤是文本的特征提取和分类器设计。特征提取的目的在于设计一种能计算句子相似性的文本向量化表示方案,其中最常见的特征提取方法是以TF-IDF为代表的单词权重计算方法(Sivic&Zisserman,2009;Harris,1954)。但是在针对网络评论文本的情感分析任务中,TF-IDF存在以下三个不足之处。首先,网络评论中往往多个词表达相近语义,使得语料中的特征词数量非常庞大,因此使用TF-IDF计算出来的特征向量非常稀疏,影响情感分析的准确性;其次,TF-IDF在计算特征权值时会受到句子长度的影响,而网络评论有长有短,造成情感近似而长度不同的语句对应特征向量中的权重存在幅度差异;最后,TF-IDF算法的思想类似词袋模型(Bag-of-Words),没有考虑句子中的语序信息,而语序对评论文本的语义以及情感表达具有重要影响。为了克服上述缺点,本发明使用基于词嵌入表示的近义词TF-IDF来克服稀疏性问题,并引入保序子矩阵,即OPSM双聚类(Ben-Dor et al.,2003)来解决评论中出现的长短句问题,同时使用频繁序列模式挖掘(Matsumoto et al.,2005)来引入句子中的语序信息,从而提高整体情感分析效果。

发明内容

[0006] TF-IDF是最常见的特征提取方法之一,被广泛应用在文本向量化的任务当中。但是因为其具有无法表示相似词的相近语义,特征向量非常稀疏,在计算特征权值时会受句子长度的影响,以及无法考虑词语之间的语序信息等缺点,使其对情感分类任务产生消极的影响。本发明针对上述TF-IDF中的缺点,提出了一种基于保序子矩阵和频繁序列挖掘的特征选择方法,使新得到的特征向量蕴含了更多的语义信息,从而提升情感分类任务的效果。
[0007] 本发明的目的至少通过如下技术方案实现。
[0008] 基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法,其包括以下步骤:
[0009] (1)输入带有情感标签的电商评论数据,对数据进行预处理,并将数据划分成训练集TrainSet、验证集ValidationSet和测试集TestSet;
[0010] (2)用中文分词工具对步骤(1)得到的TrainSet、ValidationSet、TestSet进行中文分词,将每个评论句子转化成词语序列;
[0011] (3)结合词语相似度和TF-IDF对步骤(2)得到TrainSet词语序列进行计算,得到近义词的TF-IDF权重向量,然后基于保序子矩阵OPSM双聚类算法挖掘出权重向量中的OPSM特征;
[0012] (4)将步骤(2)得到TrainSet词语序列转化成数字序列集合,使用改进的PrefixSpan算法挖掘分类频繁短语特征,同时也通过词语间隔等限制来提升频繁短语区分情感倾向的能力;
[0013] (5)分别匹配步骤(1)得到的TrainSet、ValidationSet、TestSet是否包含步骤(3)(4)得到的OPSM特征和分类频繁短语特征,将TrainSet、ValidationSet、TestSet中的每一条评论转化成0/1向量,并将两种0/1向量进行合并得到最终的特征向量,输出TrainData、ValidationData、TestData;
[0014] (6)将步骤(5)得到的TrainData、ValidationData、TestData作为分类器的输入,最终得到测试集的情感分类结果。
[0015] 上述的基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法中,步骤(1)具体是:对电商评论进行预处理,包括去除空白行、去除重复行,然后按照一定的比例将数据随机划分成训练集TrainSet、验证集ValidationSet和测试集TestSet,且保证三者中积极和消极的评论数基本平衡。
[0016] 上述的基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法中,步骤(2)具体是:使用中科院ICTCLAS对TrainSet、ValidationSet、TestSet进行分词,将每条评论都转化成词语序列,得到词语序列集合。
[0017] 上述的基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法中,步骤(3)包括以下步骤:
[0018] (3-1)使用词嵌入模型word2vec训练中文大语料,得到词嵌入矩阵 其中词嵌入矩阵的每一列代表一个词向量,d表示向量的维度,V表示词表,|V|表示词表规模;
[0019] (3-2)计算词语相似度,给定相似度阈值T,假设Xi和Xj是We中两个词向量,计算两个向量的余弦相似度如下式所示:
[0020]
[0021] 如果Sim(i,j)≥T,则表示Xi和Xj对应的词语是近义词;
[0022] (3-3)根据已有的中文情感词典,提取出步骤(1)TrainSet包含的情感特征词集合,并利用步骤(3-2)将情感特征词集合中的近义词语归并为同一个簇,得到特征词簇,数目为c;
[0023] (3-4)根据词语相似度改造TF-IDF,因为语义接近的两个词在情感倾向判断中起的作用是相似的,所以在计算TF-IDF权值向量时,根据近义特征词簇来计算,把近义词都当作同一个词处理,近义词的TF-IDF计算公式如下式所示:
[0024]
[0025] 其中,N表示语料库中的评论总数;tfij表示近义词频,即文档j中目标词i与其近义词出现的次数;dfi表示近义词文档频率,即语料库中含有目标词i以及它的近义词的文档个数。
[0026] 根据近义词TF-IDF将TrainSet转化成矩阵形式 trainNum为训练集评论数;
[0027] (3-5)根据保序子矩阵OPSM双聚类,挖掘出步骤(3-4)得到的矩阵Wtfidf中的OPSM子矩阵,将挖掘得到的OPSM子矩阵中包含的词组称为OPSM特征,从而得到OPSM特征其中n1为挖掘到OPSM特征个数。
[0028] 上述的基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法中,步骤(3-5)包括以下步骤:
[0029] (a)将步骤(3-4)得到的矩阵Wtfidf进行处理,先将每一行的非零值按从小到大排序,然后用各值所在列的列号去替换真实值,得到各行的列号向量;
[0030] (b)对步骤(a)得到的数据进行公共子序列挖掘,因为各行的非零值个数可能不相同,所以在做两行公共子序列挖掘前先对两行列号向量取交集,然后利用动态规划挖掘每两行之间的所有公共子序列;
[0031] (c)对步骤(b)挖掘得到的公共子序列进行拼接,首先递归地对满足列阈值要求的公共子序列进行行拼接,然后输出满足行阈值要求以及各行都来自一种情感标签样本的OPSM模式,将挖掘得到的OPSM模式中包含的词组称为OPSM情感特征,从而得到OPSM特征T1。
[0032] 上述基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法中,步骤(4)包括以下步骤:
[0033] (4-1)将步骤(1)TrainSet中的每一条评论转化为数字序列,具体的做法是构建一个从词到整数的唯一映射,将每个词替换为对应的整数,得到代表训练集的数字序列集合S;
[0034] (4-2)定义分类频繁短语特征,对于一个短语p={w1,w2,...wm}(其中wi为短语p中的词语,m为短语p的词语个数),假如同时满足以下几个特点,那么短语p为分类频繁短语特征:(I)短语p中任意两个相邻词语wi和wi+1在评论中可以不连续,但是一定要在评论中按照先后顺序出现;(II)给定短语p中相邻两个词语在评论中的最大间隔阈值max_gap,那么p中任意两个相邻词语wi和wi+1在评论中的间隔gap(i)≤max_gap;(III)短语p在训练集TrainSet中的支持度必须大于等于支持度,即sup(s)≥min_sup;(IV)假设短语p在TrainSet中类标签为j的语料中支持度分别为supj(s),对于标签为0,1的二分类问题,定义短语p的区分度值conf如下式所示:
[0035]
[0036] 那么短语p的区分度必须大于等于区分度阈值,即conf≥min_conf;
[0037] (4-3)将数字序列集合S作为改进的PrefixSpan方法的输入,挖掘得到分类频繁短语特征 其中n2为挖掘到分类频繁短语特征个数。
[0038] 上述基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法中,步骤(4-3)包括以下步骤:
[0039] (a)增加分类频繁短语长度的限制,并采用剪枝策略和分支定界策略以在挖掘过程中提前剔除无用的序列,减少投影数据库的规模,同时减少构建和扫描投影数据库的所用的时间和空间;
[0040] (b)针对电商评论情感分析任务,设置分类频繁短语的最大词语间隔max_gap,摒弃那些词语间间隔较大而关联性不强的短语,从而减少投影数据库的规模,降低时间和空间复杂度;
[0041] (c)针对电商评论情感分析任务,考虑分类频繁短语在不同情感类别中出现的比例,作为这个短语的区分度,仅保留区分度大于等于min_conf的短语,从而使得到的分类频繁短语特征具有较强的区分能力。
[0042] 上述基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法中,步骤(5)包括以下步骤:
[0043] (5-1)匹配步骤(1)得到的TrainSet、ValidationSet、TestSet是否包含步骤(3)得到的OPSM特征 假如包含该特征,则向量中相应维度的值为1,反之则为0,从而将TrainSet、ValidationSet、TestSet中的每一条评论转化成0/1向量[0044] (5-2)匹配步骤(1)得到的TrainSet、ValidationSet、TestSet是否包含步骤(4)得到的分类频繁短语特征 假如包含该特征,则向量中相应维度的值为1,反之则为0,从而将TrainSet、ValidationSet、TestSet中的每一条评论转化成0/1向量[0045] (5-3)对于每一条评论,将步骤(5-1)(5-2)两种0/1向量V1和V2进行合并得到最终的特征向量 从而得到TrainSet、ValidationSet、TestSet的特征矩阵,输出为TrainData、ValidationData、TestData。
[0046] 上述基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法中,步骤(6)包括以下步骤:
[0047] (6-1)使用TrainData及其已知情感标签训练常见的机器学习分类器(如:朴素贝叶斯、支持向量机等),得到电商评论情感分类模型;
[0048] (6-2)使用ValidationData及其已知情感标签和控制变量法对步骤(3)(4)中的超参数进行调优,得到最佳超参数,其中超参数包括近义词TF-IDF中的词语相似度阈值T、分类频繁短语挖掘中的最大间隔阈值max_gap、最小支持度min_sup以及最小区分度阈值min_conf;
[0049] (6-3)将TestData作为步骤(6-2)得到的情感分类模型的输入,得到测试集的情感分类结果。与现有的技术相比,本发明具有如下优点和技术效果:
[0050] 1)电商评论中往往多个词表达相近语义,使得语料中的特征词数量非常庞大,因此使用现有技术TF-IDF计算出来的特征向量非常稀疏,而本发明利用基于词嵌入表示的近义词TF-IDF来克服稀疏性问题,使情感分类任务得到更好的效果;
[0051] 2)现有技术TF-IDF在计算特征权值时会受到句子长度的影响,而电商评论往往有长有短,容易造成情感近似而长度不同的语句对应特征向量中的权重存在一定的差异,本发明利用OPSM特征挖掘来解决评论中出现的长短句问题,从而消除评论长度对情感分类任务的影响;
[0052] 3)现有技术TF-IDF的思想类似词袋模型(Bag-of-Words),没有考虑句子中的语序信息,而语序对评论文本的语义以及情感表达具有重要影响,本发明利用改进的PrefixSpan算法挖掘分类频繁短语特征,引入评论中的语序信息,使特征向量中蕴含更多语义信息,从而提高情感分类任务准确率。

附图说明

[0053] 图1是实例基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法的流程示意图。
[0054] 图2a是保序子矩阵(OPSM)的说明图;
[0055] 图2b是图2a经过列置换后可以得到的结果图。
[0056] 图3是确定近义词TF-IDF中的词语相似度阈值T的实验结果图。
[0057] 图4是确定分类频繁短语挖掘中的最大间隔阈值max_gap的实验结果图。
[0058] 图5是确定分类频繁短语挖掘中的最小支持度min_sup的实验结果图。
[0059] 图6是确定分类频繁短语挖掘中的最小区分度阈值min_conf的实验结果图。

具体实施方式

[0060] 以下结合附图对本发明的实施方式作进一步说明,但本发明的实施不限于此。
[0061] 本实例对电商网络评论数据进行预处理操作,包括去除空白行、重复行,并将其划分成训练集、验证集和测试集。接着再对预处理后的训练集、验证集和测试集进行分词操作,得到由词序列组成的评论文本数据。然后利用情感词典和词向量的语义相似度计算功能,计算近义词TF-IDF的向量表示方法,克服了传统TF-IDF的稀疏性问题,并在不同评论对应的特征向量中挖掘保序子矩阵模式即OPSM特征,得到相应的0/1向量,从而克服评论长度不一致带来的问题;基于改进的PrefixSpan算法挖掘出满足词语间隔约束,并在不同情感倾向的语料中满足一定出现比例的分类频繁短语特征,得到相应的0/1向量。对基于以上两种方法选择出来的0/1向量进行融合,得到最终的特征向量来表示评论文本。最后利用训练集和验证集训练得到最终的分类器,并使用该分类器对测试样本进行情感分类。下面将进行详细地介绍。
[0062] 图1为本实例的流程示意图,具体描述如下:
[0063] (1)输入带有情感标签的电商评论数据,对数据进行预处理,并将数据划分成训练集、验证集和测试集,具体过程是:对电商评论进行预处理,包括去除空白行、去除重复行,然后按照一定的比例将数据随机划分成训练集TrainSet、验证集ValidationSet和测试集TestSet,且保证三者中积极和消极的评论数基本平衡;
[0064] (2)用中文分词工具ICTCLAS对步骤(1)得到的TrainSet、ValidationSet、TestSet进行中文分词,将每个评论句子转化成词语序列,得到词语序列集合;
[0065] (3)结合词语相似度和TF-IDF对步骤(2)得到TrainSet词语序列进行计算,得到近义词的TF-IDF权重向量,然后基于保序子矩阵OPSM双聚类算法挖掘出权重向量中的OPSM特征,具体过程是:
[0066] (3-1)使用词嵌入模型word2vec训练Sougou新闻语料,得到词嵌入矩阵其中词嵌入矩阵的每一列代表一个词向量,d表示向量的维度,V表示词表,|V|表示词表规模;
[0067] (3-2)计算词语相似度,给定相似度阈值T,假设Xi和Xj是We中两个词向量,计算两个向量的余弦相似度如下式所示:
[0068]
[0069] 如果Sim(i,j)≥T,则表示Xi和Xj对应的词语是近义词;
[0070] (3-3)根据“知网HowNet情感分析词语集(beta版)”和“台湾大学简体中文情感极性词典NTUSD”,提取出步骤(1)TrainSet包含的情感特征词集合,并利用步骤(3-2)将情感特征词集合中的近义词语归并为同一个簇,得到特征词簇,数目为c;
[0071] (3-4)根据词语相似度改造TF-IDF,因为语义接近的两个词在情感倾向判断中起的作用是相似的,所以在计算TF-IDF权值向量时,根据近义特征词簇来计算,把近义词都当作同一个词处理,近义词的TF-IDF计算公式如下式所示:
[0072]
[0073] 其中,N表示语料库中的评论总数;tfij表示近义词频,即文档j中目标词i与其近义词出现的次数;dfi表示近义词文档频率,即语料库中含有目标词i以及它的近义词的文档个数。
[0074] 根据近义词TF-IDF将TrainSet转化成矩阵形式 trainNum为训练集评论数;
[0075] (3-5)根据保序子矩阵OPSM双聚类,挖掘出步骤(3-4)得到的矩阵Wtfidf中的OPSM子矩阵,将挖掘得到的OPSM子矩阵中包含的词组称为OPSM特征,从而得到OPSM特征其中n1为挖掘到OPSM特征个数,具体过程包括:
[0076] (a)将步骤(3-4)得到的矩阵Wtfidf进行处理,先将每一行的非零值按从小到大排序,然后用各值所在列的列号去替换真实值,得到各行的列号向量;
[0077] (b)对步骤(a)得到的数据进行公共子序列挖掘,因为各行的非零值个数可能不相同,所以在做两行公共子序列挖掘前先对两行列号向量取交集,然后利用动态规划挖掘每两行之间的所有公共子序列;
[0078] (c)对步骤(b)挖掘得到的公共子序列进行拼接,首先递归地对满足列阈值要求的公共子序列进行行拼接,然后输出满足行阈值要求以及各行都来自一种情感标签样本的OPSM模式,将挖掘得到的OPSM模式中包含的词组称为OPSM情感特征,从而得到OPSM特征T1。
[0079] (4)将步骤(2)得到TrainSet词语序列转化成数字序列集合,使用改进的PrefixSpan算法挖掘分类频繁短语特征,同时也通过词语间隔等限制来提升频繁短语区分情感倾向的能力,具体过程是:
[0080] (4-1)将步骤(1)TrainSet中的每一条评论转化为数字序列,具体的做法是构建一个从词到整数的唯一映射,将每个词替换为对应的整数,得到代表训练集的数字序列集合S;
[0081] (4-2)定义分类频繁短语特征,对于一个短语p={w1,w2,...wm}(其中wi为短语p中的词语,m为短语p的词语个数),假如同时满足以下几个特点,那么短语p为分类频繁短语特征:(I)短语p中任意两个相邻词语wi和wi+1在评论中可以不连续,但是一定要在评论中按照先后顺序出现;(II)给定短语p中相邻两个词语在评论中的最大间隔阈值max_gap,那么p中任意两个相邻词语wi和wi+1在评论中的间隔gap(i)≤max_gap;(III)短语p在训练集TrainSet中的支持度必须大于等于支持度,即sup(s)≥min_sup;(IV)假设短语p在TrainSet中类标签为i的语料中支持度分别为supi(s),对于标签为0,1的二分类问题,定义短语p的区分度值conf如下式所示:
[0082]
[0083] 那么短语p的区分度必须大于等于区分度阈值,即conf≥min_conf;
[0084] (4-3)将数字序列集合S作为改进的PrefixSpan方法的输入,挖掘得到分类频繁短语特征 其中n2为挖掘到分类频繁短语特征个数,改进的PrefixSpan方法相比于原来的PrefixSpan方法的改进之处具体过程包括:
[0085] (a)增加分类频繁短语长度的限制,并采用剪枝策略和分支定界策略以在挖掘过程中提前剔除无用的序列,减少投影数据库的规模,同时减少构建和扫描投影数据库的所用的时间和空间;
[0086] (b)针对电商评论情感分析任务,设置分类频繁短语的最大词语间隔max_gap,摒弃那些词语间间隔较大而关联性不强的短语,从而减少投影数据库的规模,降低时间和空间复杂度;
[0087] (c)针对电商评论情感分析任务,考虑分类频繁短语在不同情感类别中出现的比例,作为这个短语的区分度,仅保留区分度大于等于min_conf的短语,从而使得到的分类频繁短语特征具有较强的区分能力。
[0088] (5)分别匹配步骤(1)得到的TrainSet、ValidationSet、TestSet是否包含步骤(3)(4)得到的OPSM特征和分类频繁短语特征,将TrainSet、ValidationSet、TestSet中的每一条评论转化成0/1向量,并将两种0/1向量进行合并得到最终的特征向量,输出TrainData、ValidationData、TestData,具体过程是:
[0089] (5-1)匹配步骤(1)得到的TrainSet、ValidationSet、TestSet是否包含步骤(3)得到的OPSM特征T1={t1,t2,...tn1},假如包含该特征,则向量中相应维度的值为1,反之则为0,从而将TrainSet、ValidationSet、TestSet中的每一条评论转化成0/1向量[0090] (5-2)匹配步骤(1)得到的TrainSet、ValidationSet、TestSet是否包含步骤(4)得到的分类频繁短语特征 假如包含该特征,则向量中相应维度的值为1,反之则为0,从而将TrainSet、ValidationSet、TestSet中的每一条评论转化成0/1向量[0091] (5-3)对于每一条评论,将步骤(5-1)(5-2)两种0/1向量V1和V2进行合并得到最终的特征向量 从而得到TrainSet、ValidationSet、TestSet的特征矩阵,输出为TrainData、ValidationData、TestData。
[0092] (6)将步骤(5)得到的TrainData、ValidationData、TestData作为分类器的输入,最终得到测试集的情感分类结果,具体过程是:
[0093] (6-1)使用TrainData及其已知情感标签训练常见的机器学习分类器(如:朴素贝叶斯、支持向量机等),得到电商评论情感分类模型;
[0094] (6-2)使用ValidationData及其已知情感标签和控制变量法对步骤(3)(4)中的超参数进行调优,得到最佳超参数,其中超参数包括近义词TF-IDF中的词语相似度阈值T、分类频繁短语挖掘中的最大间隔阈值max_gap、最小支持度min_sup以及最小区分度阈值min_conf;
[0095] (6-3)将TestData作为步骤(6-2)得到的情感分类模型的输入,得到测试集的情感分类结果。
[0096] 图2为保序子矩阵(OPSM)的说明图,具体描述如下:
[0097] 保序子矩阵Order-preserving submatrix(简称OPSM)是一致演化型双聚类中的一种特殊模型,这种双聚类挖掘方法只关注矩阵元素值的相对大小而不考虑实际大小,保序子矩阵OPSM定义为:如果一个子矩阵是一个OPSM,那么一定存在一个列置换,使得各行中元素在这个列置换下严格单调递增,如图2所示,图2a为一个三行四列的OPSM,其中横坐标代表列号,纵坐标代表矩阵元素值,每一根折线代表矩阵中的一行,图2a经过列置换后可以得到图2b的结果,可以看出各行中的元素都严格单调递增。在本发明中利用该方法挖掘出OPSM特征,用于电商网络评论的情感分类任务,可以解决传统TF-IDF方法容易受评论句子长度影响的缺点。
[0098] 针对本发明方法进行实验论证,具体包括:
[0099] 1、标准数据集:
[0100] 本发明使用中国情感语料库ChnSentiCorp中的中文酒店评论数据ChnSentiCorp-Htl-ba-4000作为标准数据集验证基于保序子矩阵和频繁序列挖掘的电商评论情感分类方法的有效性,其中包含2000条积极情感评论文本和2000条消极情感评论文本。经去重等预处理操作和使用ICTCLAS进行分词操作后,剩余共3147条评论。
[0101] 2、评价指标:
[0102] 本发明使用目前文本情感分类领域常用的评价指标:平均分类准确率(Average Accuracy)作为本实施例的评价指标,其计算公式如下式所示:
[0103]
[0104] 其中,TP(True Positive)表示分类模型正确预测的积极样本数,TN(True Negative)表示分类模型正确预测的消极样本数,FP(False Positive)表示分类模型错误预测的积极样本数,FN(False Negative)表示分类模型错误预测的消极样本数。
[0105] 3、实验流程
[0106] 为了验证本发明所提方法的有效性,本发明选用的实验方案是分别使用本文提出的情感特征表示方法和传统的特征表示方法作为多种常见分类器的输入进行情感二类分类,以比较最终分类的平均分类准确率。我们挑选了7种常见的分类器来进行实验。分类器包括Naive Bayes(NB),K-Nearest Neighbor(KNN),Logistics Regression(LR),Random Forest(RF),Decision Tree(DT),Support Vector Machine(SVM),Gradient Boosting Decision Tree(GBDT)。这些分类器均使用Python工具包Scikit-Learn实现,参数取默认值。将数据集按按2:1:1的比例划分训练集、验证集和测试集,且保证三份数据的积极和消极评论数都是基本平衡的。为了提高实验结果的可信度和有效性,实验过程对数据集进行10次随机划分,本发明的实验结果均为10次实验的平均值。
[0107] 在挖掘上述步骤(3)(4)两种特征时,存在一些超参数,如近义词TF-IDF中的词语相似度阈值T、分类频繁短语挖掘中的最大间隔阈值max_gap、最小支持度min_sup以及最小区分度阈值min_conf。超参数的取值直接影响了两类文本特征区分情感倾向的效果。本发明使用验证集ValidationData在7种常见分类器的平均分类准确率来确定最优超参数。示例实验步骤如下(以确定分类频繁短语挖掘中的最大间隔阈值max_gap为例):
[0108] a)将训练集TrainSet按改进的PrefixSpan算法所述的方式处理为数字序列集合S;
[0109] b)设置一组超参数组合,在训练集中挖掘分类频繁短语;
[0110] c)用训练集TrainSet、验证集ValidationData分别去匹配所有分类频繁短语,得到0/1特征向量;
[0111] d)用训练集TrainSet的0/1特征向量分别训练7种常见的分类器;
[0112] e)分别计算验证集ValidationData的0/1特征向量在7种分类器上的平均分类准确率;
[0113] f)保持其他超参数不变,改变最大间隔阈值,重复步骤c),d),e),得到多组平均分类准确率,取准确率最高时的最大间隔阈值作为测试时的最大间隔阈值max_gap。
[0114] 下面将逐一介绍四种超参数选择的实验结果:
[0115] 图3为确定近义词TF-IDF中的词语相似度阈值T的实验结果。计算近义词时word2vec向量的余弦距离取值范围是[0,1],本发明截取阈值为[0.4,1]的部分展示结果。图中横轴表示距离阈值,纵轴表示验证集的平均分类准确率。从图3可知,最优阈值取值约为0.6。
[0116] 图4为确定分类频繁短语挖掘中的最大间隔阈值max_gap的实验结果。图4的横轴表示词语最大间隔阈值,纵轴表示验证集的平均分类准确率。由图4可知,最优阈值取值为0,即当频繁短语模式都是由连续出现的词语构成时,对文本情感倾向的区分性最强。
[0117] 图5为确定分类频繁短语挖掘中的最小支持度min_sup的实验结果。图中的横轴表示词组最小支持度阈值,纵轴表示验证集的平均分类准确率。由图6可知,最优阈值取值范围约为[30,35]。
[0118] 图6为确定分类频繁短语挖掘中的最小区分度阈值min_conf的实验结果。图中的横轴表示词组最小分布比例阈值,纵轴表示验证集的平均分类准确率。根据分类频繁短语的原理可知,该阈值取值范围是[0.5,1]。由图5可知,最优阈值取值约为0.6。
[0119] 4、实验结果
[0120] 表1
[0121]
[0122] 对比实验结果如表1所示,对比的文本向量化方法包括传统的TF-IDF和word2vec词向量加权。由该表可知,在绝大多数分类器上,基于本发明提出的特征提取方法比TF-IDF和Word2vec词向量的方法可获得更高的情感分类平均分类准确率,说明本发明提出的方法更能标识语义倾向性,可以改善情感分类任务的效果,同时也验证了本发明方法的有效性。