CN111078840A - 一种基于文档向量的电影评论情感分析方法 - Google Patents
一种基于文档向量的电影评论情感分析方法 Download PDFInfo
- Publication number
- CN111078840A CN111078840A CN201911334017.XA CN201911334017A CN111078840A CN 111078840 A CN111078840 A CN 111078840A CN 201911334017 A CN201911334017 A CN 201911334017A CN 111078840 A CN111078840 A CN 111078840A
- Authority
- CN
- China
- Prior art keywords
- word
- vector
- document
- model
- movie
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000013598 vector Substances 0.000 title claims abstract description 236
- 238000004458 analytical method Methods 0.000 title claims abstract description 15
- 230000008451 emotion Effects 0.000 claims abstract description 73
- 238000012549 training Methods 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012552 review Methods 0.000 claims abstract description 36
- 238000013145 classification model Methods 0.000 claims abstract description 12
- 238000012935 Averaging Methods 0.000 claims abstract description 7
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 239000011159 matrix material Substances 0.000 claims description 52
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 7
- 238000007477 logistic regression Methods 0.000 claims description 5
- 230000002996 emotional effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 abstract 1
- 238000011156 evaluation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于文档向量的电影评论情感分析方法。该方法首先对电影评论进行数据清洗以及预处理,构建情感分析数据集。然后使用电影的评论和评论对应的评分训练改进的文档向量模型。然后将电影的评论输入到改进的文档向量模型得到电影评论的词向量和文档向量,并将电影评论对应的词向量平均后与文档向量拼接生成特征向量。最后使用基于电影评论生成的特征向量和电影评论对应的评分训练分类模型,对电影评论进行情感分类。本发明通过使用改进的文档向量生成方法,提高了电影评论情感分类的准确率。
Description
技术领域
本发明属于文本分类领域,尤其涉及一种基于文档向量的电影评论情感分析方法。
背景技术
电影评价是用户在观影后发表的自己对于电影的评论和观点。一方面影片的评价是用户选择电影的重要依据,用户通常会通过查看影片的评价来了解影片的特点以及优缺点。另一方面制片商希望通过用户的评价来了解影片可能存在的问题以及用户的需求。制片商通过分析用户的评价可以对影片进行改进,提高影片的质量。情感分析作为用户评价分析的重要内容可以将用户评论按照情感极性进行分类,能够统计出影片积极情感和消极情感的比例以便对影片有更直观的认识。情感分析也能够帮助用户和制片商找到感兴趣的评价。
目前词嵌入的方法是情感分析的主流方法,这类方法主要通过无监督的方法训练词向量模型,得到单词的向量空间表示。然后通过对评论中的单词对应的词向量进行加权平均来得到文档向量。最后使用文档向量训练分类模型预测文档的情感类别。但是这类方法使用词向量加权平均的方法得到的文档向量不能够考虑评论中单词的顺序,因此会影响情感分类的性能。另一方面这类方法使用无监督的方式训练词向量,因此训练出的词向量只能够表示单词的语义和语法信息,无法表示和情感相关的信息也会影响情感分类的性能。
发明内容
本发明的目的在于针对现有方法的不足,提出了一种基于改进的文档向量的情感分析方法。
本发明的目的是通过以下技术方案来实现的:一种基于文档向量的电影评论情感分析方法,包括以下步骤:
(1)输入训练集电影评论,进行数据预处理,得到文档矩阵D和单词矩阵V及评论的情感类别;
(2)设置模型参数,随机初始化投影层参数H和投影层偏置b,根据步骤(1)得到的文档矩阵D和单词矩阵V及评论的情感类别训练文档向量模型,并得到训练集电影评论的特征向量;所述文档向量模型包括面向任务的分布式记忆模型和面向任务的分布式词袋模型;
(3)待测电影评论经过步骤(1)预处理后,将其文档向量输入到步骤(2)训练得到的文档向量模型中预测,更新文档向量并得到预测集电影评论的特征向量;
(4)将步骤(2)得到的训练集电影评论的特征向量结合对应的情感类别训练分类模型;模型的输入为电影评论的特征向量,输出为电影评论的情感类别;
(5)将步骤(3)得到的预测集电影评论的特征向量输入步骤(4)训练的分类模型,分析得到预测集电影评论的情感类别。
进一步地,所述步骤(1)包括以下子步骤:
(1.1)评论的情感类别包括消极情感Lable1、积极情感Lable2等;评分小于评分阈值的评论为消极情感的评论;评分大于评分阈值的评论为积极情感的评论;删除评分等于评分阈值的评论;
(1.2)删除评论中的特殊符号;删除少于最小字数的评论以及评分缺失和评分为零的评论;利用中文分词算法将评论拆分为单词,并删除停用词;删除剩余单词中出现次数少于三次的单词;
(1.3)将步骤(1.2)剩余的每条评论作为一个文档,将所有文档中出现的单词构成词典;为每个文档分配文档ID,为词典中的每个单词分配单词ID;
(1.4)根据步骤(1.3)中的文档ID和单词ID随机生成文档矩阵D和单词矩阵V;文档向量D(i)表示文档ID为i,即文档矩阵D的第i行;单词向量V(j)表示单词ID为j,即单词矩阵V的第j行;单词向量的维度为nV,文档向量的维度为nD;一个文档中的第t个单词记为wt,其单词ID为jt,对应的单词向量记为W(t,jt)=V(jt)。
进一步地,所述步骤(2)中面向任务的分布式记忆模型的模型参数包括上下文窗口的大小2c+1、迭代次数;模型的输入为文档向量和上下文窗口内当前单词的上下文单词的单词向量;模型的输出为输出层向量O:
(a1)输入训练集的文档向量D(i)、当前单词wt上下文单词的单词向量W(t-c,jt-c)=V(jt-c),W(t-c+1,jt-c+1)=V(jt-c+1),…,W(t-1,jt-1)=V(jt-1),W(t+1,jt+1)=V(jt+1),...,W(t+c-1,jt+c-1)=V(jt+c-1),W(t+c,jt+c)=V(jt+c),和真值T;其中,jt-c、jt-c+1、…、jt-1、jt+1、…、jt+c-1、jt+c表示上下文单词的单词ID;所述真值T由将输出层向量O中实际的当前单词以及情感类别的概率置1,其余元素均置0得到;
(a2)对上下文单词的单词向量求平均,然后与文档向量D(i)拼接得到投影层向量X:
(a3)采用基于负采样的Softmax方法或者层次Softmax的方法得到输出层向量O:
其中,O(k)是O的第k个元素;投影层参数H是矩阵,行数为n+2,列数为nV+nD,H(k)是H的第k行;投影层偏置b是列向量,行数为n+2,b(k)为b的第k行;表示将H和b的每一行代入HX+b式中计算并求和;
(a4)根据步骤(a3)得到的输出层向量O和步骤(a1)输入的真值T计算误差E:
其中,T(k)为T的第k个元素;
(a5)利用反向传播的方法更新投影层参数H、投影层偏置b、文档向量D(i)、上下文单词的单词向量:
其中,η为学习速率;其它上下文单词的单词向量的更新同理;
(a6)训练集每个文档向量D(i)的每个单词wt都执行一遍步骤(a1)到(a5),更新投影层参数H、投影层偏置b、文档矩阵D、单词矩阵V;
(a7)将步骤(a6)更新后的文档矩阵D作为输入,重复执行步骤(a1)到(a6),直到达到预设的迭代次数,截去最后一次迭代得到投影层参数H、投影层偏置b的最后两行,最终训练得到面向任务的分布式记忆模型,并得到训练集电影评论的特征向量为:
其中,N(i)为D(i)中单词的个数;jD表示文档向量D(i)中所有单词的单词ID集合。
进一步地,所述步骤(2)中面向任务的分布式词袋模型的模型参数为迭代次数;模型的输入为文档向量和上下文窗口内当前单词的上下文单词的单词向量;模型的输出为输出层向量O:
(b1)输入训练集的文档向量D(i)和真值T;所述真值T由将输出层向量O中实际的当前单词以及情感类别的概率置1,其余元素均置0得到;
(b2)令投影层向量X=D(i);
(b3)采用基于负采样的Softmax方法或者层次Softmax的方法得到输出层向量O:
其中,O(k)是O的第k个元素;投影层参数H是矩阵,行数为n+2,列数为nD,H(k)是H的第k行;投影层偏置b是列向量,行数为n+2,b(k)为b的第k行;表示将H和b的每一行代入HX+b式中计算并求和;
(b4)根据步骤(b3)得到的输出层向量O和步骤(b1)输入的真值T计算误差E:
其中,T(k)为T的第k个元素;
(b5)利用反向传播的方法更新投影层参数H、投影层偏置b、文档向量D(i)、文档向量D(i)中所有单词对应的单词向量V(jD):
其中,η为学习速率;jD表示文档向量D(i)中所有单词的单词ID集合;
(b6)训练集每个文档向量D(i)的每个单词wt都执行一遍步骤(b1)到(b5),更新投影层参数H、投影层偏置b、文档矩阵D、单词矩阵V;
(b7)将步骤(b6)更新后的文档矩阵D作为输入,重复执行步骤(b1)到(b6),直到达到预设的迭代次数,截去最后一次迭代得到投影层参数H、投影层偏置b的最后两行,最终训练得到面向任务的分布式词袋模型,并得到训练集电影评论的特征向量为:
其中,N(i)为D(i)中单词的个数。
进一步地,所述步骤(3)包括以下子步骤:
(3.1)将经过步骤(1)预处理得到的待测电影评论的文档向量D(i)和当前单词对应的真值T输入步骤(2)训练的文档向量模型;所述真值T由将输出层向量O中实际的当前单词的概率置1,其余元素均置0得到;所述输出层向量O={PV(j)|j=1~n};
(3.2)获得投影层向量X;
(3.3)获得输出层向量O:
其中,H、b由所述截去最后一次迭代得到投影层参数H、投影层偏置b的最后两行得到,行数均为n;
(3.4)计算误差E;
(3.5)更新文档向量D(i):
(3.6)将文档向量D(i)的每个单词wt都执行一遍步骤(3.1)~(3.5);
(3.7)将步骤(3.6)更新后的文档向量D(i)作为输入,重复执行步骤(3.1)~(3.6),直到达到预设的迭代次数,得到待测电影评论的特征向量。
进一步地,所述步骤(1.2)的中文分词算法为结巴分词。
进一步地,所述步骤(4)中分类模型为逻辑回归模型。
本发明的有益效果是:本发明方法能够利用评论的情感分类,使得训练生成的词向量中包含情感特征;另一方面该方法能够训练得到文档向量,训练得到的文档向量能够考虑评论中单词的顺序;具有以下特点:
(1)通过使用训练得到的文档向量,在文档向量中能够表示评论中单词的顺序,提升了情感分类的准确率;
(2)通过提出一种改进的文档向量模型,利用评论的情感分类,使得训练得到单词向量和文档向量能够表示情感特征,提升了后续情感分类的准确率。
附图说明
图1为本发明中基于文档向量的电影情感分析方法的流程图。
图2为TS-DM模型的模型结构示意图。
图3为TS-DBOW模型的模型结构示意图。
图4为改进的文档向量模型的训练流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细描述,本发明的目的和效果将变得更加明显。
图1给出了本发明方法的流程图,本发明将基于文档向量的电影评论情感分析方法分为四个步骤,即数据预处理、训练改进的文档向量模型、预测电影评论的特征向量、预测电影评论的情感类别。
(1)在步骤101中,数据预处理的具体步骤如下:
(1.1)删除评论中特殊符号等非文本信息。评论中可能会包括一些表情没有意义的符号,因此使用正则表达式删除评论中的特殊符号。
(1.2)删除少于最小字数(设为5)的评论以及评分缺失和评分为零的评论。很多字数过少的评论没有体现出想要表达的情感,因此过滤掉评论字数少于5的评论。另一方面评分缺失的评论也无法用于训练模型因此也将其删除。
(1.3)根据评论的评分进行情感分类,评分小于评分阈值的评论为消极情感的评论,记为Lable1;评分大于评分阈值的评论为积极情感的评论,记为Lable2,删除评分等于评分阈值的评论。例如评论的评分区间为1到5分则可以将小于3分评论作为消极情感,将大于3分的评论作为积极情感。
(1.4)利用中文分词算法对评论文本进行分词处理,拆分为单词。对中文进行自然语言处理最基本的步骤就是进行分词,因为中文的词语之间没有间隔,所以需要利用中文分词算法将文本拆分为单词。有很多成熟的分词方案可以使用,例如使用结巴分词。
(1.5)基于停用词库删除步骤(1.4)得到的单词中的停用词。有很多单词并没有实际的意义,例如中文中的助词,因此基于停用词库删除出现在停用词库中的词语。
(1.6)统计步骤(1.5)剩余单词中每个单词出现的频率,删除出现次数少于三次的单词。
(1.7)将剩余的每条评论作为一个文档,将所有文档中出现的单词构成词典;
(1.8)将所有文档按照4∶1的比例随机划分为训练集和预测集。
(2)在步骤102中,使用预处理后的电影评论以及对应的情感类别训练改进的文档向量模型的具体步骤如下:
(2.1)为训练集中每个文档分配一个唯一的文档ID,为词典中的每个单词分配一个唯一的单词ID。
(2.2)根据步骤(2.1)中分配的文档ID和单词ID随机生成文档矩阵D和单词矩阵V;文档矩阵D的第i行为文档向量D(i),对应一个文档;单词矩阵V的第j行为单词向量V(j),对应词典中的一个单词;单词向量的维度为nV、文档向量的维度为nD;一个文档中的第t个单词记为wt,wt的单词ID为jt,对应的词向量记为W(t,jt)=V(jt)。
(2.3)设置模型参数,随机初始化投影层参数H和投影层偏置b并训练改进的文档向量模型。所述改进的文档向量模型包括以下两种不同的结构:
(2.3.1)第一种结构称为TS-DM(Task-Specific Distributed Memory,面向任务的分布式记忆)模型,其结构示意图如图2所示。所述模型参数包括上下文窗口的大小2c+1、迭代次数,例如设置上下文窗口大小为5,词向量的维度为100,文档向量的维度为100,迭代次数为10次。所述TS-DM模型为3层神经网络结构,分别为输入层、投影层、输出层。该模型使用文档向量和上下文单词向量预测当前单词以及评论的情感类别,训练流程图如图4所述,分为准备输入层向量、计算投影层向量、计算输出层向量、计算误差并反向传播4个步骤,具体为:
(a1)步骤201计算输入层向量:输入训练集中的文档向量D(i)以及当前单词wt的上下文单词对应的单词向量W(t-c,jt-c)=V(jt-c),W(t-c+1,jt-c+1)=V(jt-c+1),...,W(t-1,jt-1)=V(jt-1),W(t+1,jt+1)=V(jt+1),…,W(t+c-1,jt+c-1)=V(jt+c-1),W(t+c,jt+c)=V(jt+c),和真值T。其中,jt-c、jt-c+1、…、jt-1、jt+1、…、jt+c-1、jt+c表示上下文单词在词典中的单词ID。
待训练模型的输出层向量O由两部分组成,第一部分为词典中每个单词的概率;第二部分为每个情感类别的概率;其中概率最大的单词为模型预测的当前单词,表示为:
O={PV(j)|j=1~n,PLable1,PLable2}
其中,PV(j)为词典中单词ID为j的单词被认为是当前单词wt的概率,PLablel是当前评论被认为是消极情感的概率,PLable2是当前评论被认为是积极情感的概率,n为词典中单词的个数;
所述真值T为实际的当前单词以及评论的情感类别的概率为1其余元素均为0的矩阵,即PV(jt)和PLable1,PLable2中的一个为1;例如实际的当前单词在词典中的单词ID为1,情感类别为积极情感,且n=3时,真值T=[1,0,0,0,1]。
(a2)步骤202计算投影层向量:对当前单词wt的上下文单词对应的单词向量求平均,然后与该文档向量D(i)拼接得到投影层向量X:
(a3)步骤203计算输出层向量:由于词典中的单词数目较多,计算量较大,因此采用基于负采样的Softmax方法或者层次Softmax的方法得到输出层向量O:
其中,O(k)是O的第k个元素;矩阵H是投影层参数,行数为n+2,列数为nV+nD,H(k)是H的第k行;列向量b是投影层偏置,行数为n+2,b(k)为b的第k行。表示将H和b的每一行代入HX+b式中计算并求和,ki用于与k进行区分。
所述基于负采样的Softmax方法通过选择部分未出现的单词进行计算来减小计算量;所述层次Softmax通过构建哈夫曼Huffman树将概率转化成多个二分类概率的乘积来减小计算量。有关负采样和层次的Softmax方法,参见Mikolov T,Sutskever I,Chen K,etal.Distributed representations of words and phrases and theircompositionality[C]//Advances in neural information processing systems.2013:3111-3119.
(a4)步骤204计算误差并反向传播:首先根据输出层向量O和真值T计算误差E:
其中,T(k)为T的第k个元素;然后利用反向传播的方法更新投影层参数H、投影层偏置b以及文档向量D(i)和上下文单词对应的单词向量V(jt-c)+V(jt-c+1)+…+V(jt-1)+V(j+1)+…+V(jt+c-1)+V(jt+c):
其中,η为学习速率;其它上下文单词的单词向量的更新同理。
(a5)训练集中的每个文档向量D(i)的每个单词wt都执行一遍步骤a1到a4,更新得到新的投影层参数H、投影层偏置b,文档矩阵D和单词矩阵V。
(a6)将步骤(a5)更新后的文档矩阵D作为输入,重复执行步骤a1到a5,直到达到预设的迭代次数,截去最后一次迭代得到投影层参数H、投影层偏置b的最后两行用于模型预测,最终训练得到改进的文档向量模型,确定模型预测所需的投影层参数H、投影层偏置b和单词矩阵V;根据该模型的单词矩阵V,将训练集中的文档向量D(i)中所有单词对应的单词向量V(j)求平均后,再与文档向量D(i)进行拼接得到训练集电影评论的特征向量F(i):
其中,N(i)为D(i)中单词的个数;jD表示文档向量D(i)中的所有单词对应单词ID的集合,由于评论中可能存在重复的单词,该集合中的单词ID也可能有重复的。
(2.3.2)第二种结构称为TS-DBOW(Task-Specific Distributed Bag of Words,面向任务的分布式词袋)模型,其结构示意图如图3所示。所述模型参数为迭代次数。所述TS-DBOW模型为3层神经网络结构,分别为输入层、投影层、输出层,该模型使用文档向量D(i)预测对应评论中的单词以及评论的情感类别,每一次迭代预测对应评论中的一个单词以及评论的情感类别。模型的训练流程图如图4所示,包括以下子步骤:
(b1)输入训练集中的文档向量D(i)以及当前单词wt的单词向量V(jt)和真值T。
待训练模型的输出层向量O表示为:
O={PV(j)|j=1~n,PLable1,PLable2}
(b2)投影层不进行任何操作,投影层向量X=D(i);
(b3)采用基于负采样的Softmax方法或者层次Softmax的方法得到输出层向量O:
其中,矩阵H是投影层参数,行数为n+2,列数为nD,H(k)是H的第k行;列向量b是投影层的偏置,行数为n+2,b(k)为b的第k行。
(b4)首先根据输出层向量O和真值T计算误差E:
然后利用反向传播的方法更新投影层参数H、投影层偏置b以及文档向量D(i)和D(i)中所有单词对应单词向量V(jD):
(b5)训练集中的每个文档向量D(i)的每个单词wt都执行一遍步骤b1到b4,更新得到新的投影层参数H、投影层偏置b,文档矩阵D和单词矩阵V。
(b6)将步骤(b5)更新后的文档矩阵D作为输入,重复执行步骤b1到b5,直到达到预设的迭代次数,截去最后一次迭代得到投影层参数H、投影层偏置b的最后两行用于模型预测,最终训练得到改进的文档向量模型,确定模型预测所需的投影层参数H、投影层偏置b和单词矩阵V;根据该模型的单词矩阵V,将训练集中的文档向量D(i)中所有单词对应的单词向量V(j)求平均后,再与文档向量D(i)进行拼接得到训练集电影评论的特征向量F(i):
(3)步骤103预测电影评论的特征向量为:将预测集电影评论的文档向量输入到步骤(2)训练得到的文档向量模型中,预测过程和训练过程类似,区别在于模型预测的输出不包括评论的情感类别;在误差反向传播的时候不更新投影层参数H、投影层偏置b以及单词矩阵V,每次迭代仅更新文档向量。根据步骤(2)训练得到的单词矩阵V,将预测集电影评论的文档向量中所有单词对应的单词向量求平均后,再与最后一次迭代更新后的文档向量进行拼接,得到预测集电影评论的特征向量。
(4)步骤104预测电影的情感类别为使用步骤(2)得到的训练集电影评论的特征向量和对应的情感类别训练分类模型,并对预测集的电影评论进行情感分类,具体步骤如下:
(4.1)选择逻辑回归模型作为分类模型进行训练,设置模型的正则化参数为12正则化,残差收敛条件为0.0001,正则化系数为1.0。将步骤(a5)或(b5)得到的训练集电影评论的特征向量结合对应的情感类别训练二分类的逻辑回归模型;模型的输入为电影评论的特征向量,输出为电影评论的情感类别。
(4.2)将步骤(3)得到的预测集电影评论特征向量输入步骤(4.1)训练好的二分类的逻辑回归模型分析预测集电影评论的情感类别。
计算并对比多种文档向量模型的预测准确率如下:
表1:不同模型在情感分析任务上的性能。
模型 | Acc. | F1 |
BOW | 86.4 | 76.5 |
Glove | 85.4 | 75.5 |
Skip-Gram | 86.9 | 78.3 |
CBOW | 85.6 | 76.0 |
PV-DM | 86.4 | 77.4 |
PV-DBOW | 87.0 | 78.8 |
TS-DM | 87.5 | 80.2 |
TS-DBOW | 88.4 | 81.3 |
表1给出了不同文档向量模型在同一数据集上的准确率Acc.以及F1分数,所述F1分数是用来衡量二分类模型精确度的一种指标,它同时兼顾了分类模型的精确率和召回率。其中,词袋模型(Bag of Words,BOW)是一种不考虑文档中单词的顺序,只统计单词出现的次数来生成文档向量的模型。Glove模型(Global Vectors)结合了全局矩阵分解和局部上下文窗口两种词向量生成方法。Word2vec模型分为Skip-Gram模型和CBOW(ContinuousBag-Of-Word,连续词袋)模型。Skip-Gram模型使用当前单词预测上下文单词而CBOW使用上下文单词预测当前单词。Doc2vec模型分为PV-DM(Distributed Memory Model ofParagraph Vectors,句向量的分布式记忆)模型和PV-DBOW(Distributed Bag of Wordsversion ofParagraph Vector,句向量的分布式词袋)模型。
表1中加粗的值代表模型的性能最好,从表1中可知,本发明中的TS-DM模型和TS-DBOW模型的性能比其它常用的模型的性能更好。其它常用的模型之中性能最好的是PV-DBOW模型,在准确率上TS-DBOW模型相比于PV-DBOW模型提升了1.4%的绝对性能。在F1值上TS-DBOW模型相比于PV-DBOW模型提升了2.5%的绝对性能。TS-DM模型是改进的PV-DM模型,本发明中的TS-DM模型在准确率和F1值上分别提升了1.1%和2.8%的绝对性能。
有关Glove模型,参见:Pennington J,Socher R,Manning C.Glove:Globalvectors for word representation[C]//Proceedings of the 2014conference onempirical methods in natural language processing(EMNLP).2014:1532-1543.
有关Word2vec模型,参见:Mikolov T,Chen K,Corrado G,et a1.Efficientestimation ofword representations in vector space[J].arXiv preprint arXiv:1301.3781,2013.
有关Doc2vec模型,参见:Le Q,Mikolov T.Distributed representations ofsentences and documents[C]//International conference on machinelearning.2014:1188-1196.
以上仅为本发明具体实施方式,不能以此来限定本发明的范围,本技术领域内的一般技术人员根据本创作所作的均等变化,以及本领域内技术人员熟知的改变,都应仍属本发明涵盖的范围。
Claims (7)
1.一种基于文档向量的电影评论情感分析方法,其特征在于,包括以下步骤:
(1)输入训练集电影评论,进行数据预处理,得到文档矩阵D、单词矩阵V、评论的情感类别等。
(2)设置模型参数,随机初始化投影层参数H和投影层偏置b,根据步骤(1)得到的文档矩阵D和单词矩阵V及评论的情感类别训练文档向量模型,并得到训练集电影评论的特征向量;所述文档向量模型包括面向任务的分布式记忆模型和面向任务的分布式词袋模型。
(3)待测电影评论经过步骤(1)预处理后,将其文档向量输入到步骤(2)训练得到的文档向量模型中预测,更新文档向量并得到预测集电影评论的特征向量。
(4)将步骤(2)得到的训练集电影评论的特征向量结合对应的情感类别训练分类模型;模型的输入为电影评论的特征向量,输出为电影评论的情感类别。
(5)将步骤(3)得到的预测集电影评论的特征向量输入步骤(4)训练的分类模型,分析得到预测集电影评论的情感类别。
2.根据权利要求1所述基于文档向量的电影评论情感分析方法,其特征在于,所述步骤(1)包括以下子步骤:
(1.1)评论的情感类别包括消极情感Lable1、积极情感Lable2等;评分小于评分阈值的评论为消极情感的评论;评分大于评分阈值的评论为积极情感的评论;删除评分等于评分阈值的评论;
(1.2)删除评论中的特殊符号;删除少于最小字数的评论以及评分缺失和评分为零的评论;利用中文分词算法将评论拆分为单词,并删除停用词;删除剩余单词中出现次数少于三次的单词;
(1.3)将步骤(1.2)剩余的每条评论作为一个文档,将所有文档中出现的单词构成词典;为每个文档分配文档ID,为词典中的每个单词分配单词ID;
(1.4)根据步骤(1.3)中的文档ID和单词ID随机生成文档矩阵D和单词矩阵V;文档向量D(i)表示文档ID为i,即文档矩阵D的第i行;单词向量V(j)表示单词ID为j,即单词矩阵V的第j行;单词向量的维度为nV,文档向量的维度为nD;一个文档中的第t个单词记为wt,其单词ID为jt,对应的单词向量记为W(t,jt)=V(jt)。
3.根据权利要求2所述基于文档向量的电影评论情感分析方法,其特征在于,所述步骤(2)中面向任务的分布式记忆模型的模型参数包括上下文窗口的大小2c+1、迭代次数;模型的输入为文档向量和上下文窗口内当前单词的上下文单词的单词向量;模型的输出为输出层向量O:
(a1)输入训练集的文档向量D(i)、当前单词wt上下文单词的单词向量W(t-c,jt-c)=V(jt-c),W(t-c+1,jt-c+1)=V(jt-c+1),…,W(t-1,jt-1)=V(jt-1),W(t+1,jt+1)=V(jt+1),...,W(t+c-1,jt+c-1)=V(jt+c-1),W(t+c,jt+c)=V(jt+c),和真值T;其中,jt-c、jt-c+1、…、jt-1、jt+1、…、jt+c-1、jt+c表示上下文单词的单词ID;所述真值T由将输出层向量O中实际的当前单词以及情感类别的概率置1,其余元素均置0得到;
(a2)对上下文单词的单词向量求平均,然后与文档向量D(i)拼接得到投影层向量X:
(a3)采用基于负采样的Softmax方法或者层次Softmax的方法得到输出层向量O:
其中,O(k)是O的第k个元素;投影层参数H是矩阵,行数为n+2,列数为nV+nD,H(k)是H的第k行;投影层偏置b是列向量,行数为n+2,b(k)为b的第k行;表示将H和b的每一行代入HX+b式中计算并求和;
(a4)根据步骤(a3)得到的输出层向量O和步骤(a1)输入的真值T计算误差E:
其中,T(k)为T的第k个元素;
(a5)利用反向传播的方法更新投影层参数H、投影层偏置b、文档向量D(i)、上下文单词的单词向量:
其中,η为学习速率;其它上下文单词的单词向量的更新同理;
(a6)训练集每个文档向量D(i)的每个单词wt都执行一遍步骤(a1)到(a5),更新投影层参数H、投影层偏置b、文档矩阵D、单词矩阵V;
(a7)将步骤(a6)更新后的文档矩阵D作为输入,重复执行步骤(a1)到(a6),直到达到预设的迭代次数,截去最后一次迭代得到投影层参数H、投影层偏置b的最后两行,最终训练得到面向任务的分布式记忆模型,并得到训练集电影评论的特征向量为:
其中,N(i)为D(i)中单词的个数;jD表示文档向量D(i)中所有单词的单词ID集合。
4.根据权利要求2所述基于文档向量的电影评论情感分析方法,其特征在于,所述步骤(2)中面向任务的分布式词袋模型的模型参数为迭代次数;模型的输入为文档向量和上下文窗口内当前单词的上下文单词的单词向量;模型的输出为输出层向量O:
(b1)输入训练集的文档向量D(i)和真值T;所述真值T由将输出层向量O中实际的当前单词以及情感类别的概率置1,其余元素均置0得到;
(b2)令投影层向量X=D(i);
(b3)采用基于负采样的Softmax方法或者层次Softmax的方法得到输出层向量O:
其中,O(k)是O的第k个元素;投影层参数H是矩阵,行数为n+2,列数为nD,H(k)是H的第k行;投影层偏置b是列向量,行数为n+2,b(k)为b的第k行;表示将H和b的每一行代入HX+b式中计算并求和;
(b4)根据步骤(b3)得到的输出层向量O和步骤(b1)输入的真值T计算误差E:
其中,T(k)为T的第k个元素;
(b5)利用反向传播的方法更新投影层参数H、投影层偏置b、文档向量D(i)、文档向量D(i)中所有单词对应的单词向量V(jD):
其中,η为学习速率;jD表示文档向量D(i)中所有单词的单词ID集合;
(b6)训练集每个文档向量D(i)的每个单词wt都执行一遍步骤(b1)到(b5),更新投影层参数H、投影层偏置b、文档矩阵D、单词矩阵V;
(b7)将步骤(b6)更新后的文档矩阵D作为输入,重复执行步骤(b1)到(b6),直到达到预设的迭代次数,截去最后一次迭代得到投影层参数H、投影层偏置b的最后两行,最终训练得到面向任务的分布式词袋模型,并得到训练集电影评论的特征向量为:
其中,N(i)为D(i)中单词的个数。
5.根据权利要求3或4所述基于文档向量的电影评论情感分析方法,其特征在于,所述步骤(3)包括以下子步骤:
(3.1)将经过步骤(1)预处理得到的待测电影评论的文档向量D(i)和当前单词对应的真值T输入步骤(2)训练的文档向量模型;所述真值T由将输出层向量O中实际的当前单词的概率置1,其余元素均置0得到;所述输出层向量O={PV(j)|j=1~n};
(3.2)获得投影层向量X;
(3.3)获得输出层向量O:
其中,H、b由所述截去最后一次迭代得到投影层参数H、投影层偏置b的最后两行得到,行数均为n;
(3.4)计算误差E;
(3.5)更新文档向量D(i):
(3.6)将文档向量D(i)的每个单词wt都执行一遍步骤(3.1)~(3.5);
(3.7)将步骤(3.6)更新后的文档向量D(i)作为输入,重复执行步骤(3.1)~(3.6),直到达到预设的迭代次数,得到待测电影评论的特征向量。
6.根据权利要求1所述基于文档向量的电影评论情感分析方法,其特征在于,所述步骤(1.2)的中文分词算法为结巴分词。
7.根据权利要求1所述基于文档向量的电影评论情感分析方法,其特征在于,所述步骤(4)中分类模型为逻辑回归模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911334017.XA CN111078840B (zh) | 2019-12-20 | 2019-12-20 | 一种基于文档向量的电影评论情感分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911334017.XA CN111078840B (zh) | 2019-12-20 | 2019-12-20 | 一种基于文档向量的电影评论情感分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078840A true CN111078840A (zh) | 2020-04-28 |
CN111078840B CN111078840B (zh) | 2022-04-08 |
Family
ID=70316785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911334017.XA Expired - Fee Related CN111078840B (zh) | 2019-12-20 | 2019-12-20 | 一种基于文档向量的电影评论情感分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078840B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391483A (zh) * | 2017-07-13 | 2017-11-24 | 武汉大学 | 一种基于卷积神经网络的商品评论数据情感分类方法 |
CN107689224A (zh) * | 2016-08-22 | 2018-02-13 | 北京深鉴科技有限公司 | 合理使用掩码的深度神经网络压缩方法 |
-
2019
- 2019-12-20 CN CN201911334017.XA patent/CN111078840B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107689224A (zh) * | 2016-08-22 | 2018-02-13 | 北京深鉴科技有限公司 | 合理使用掩码的深度神经网络压缩方法 |
CN107391483A (zh) * | 2017-07-13 | 2017-11-24 | 武汉大学 | 一种基于卷积神经网络的商品评论数据情感分类方法 |
Non-Patent Citations (1)
Title |
---|
毛焱颖: "基于注意力双层LSTM的长文本情感分类方法", 《重庆电子工程职业学院学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111078840B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tang et al. | Effective LSTMs for target-dependent sentiment classification | |
CN110674850A (zh) | 一种基于注意力机制的图像描述生成方法 | |
CN108446271B (zh) | 基于汉字部件特征的卷积神经网络的文本情感分析方法 | |
CN110390017B (zh) | 基于注意力门控卷积网络的目标情感分析方法及系统 | |
CN107862087B (zh) | 基于大数据和深度学习的情感分析方法、装置和存储介质 | |
CN110929034A (zh) | 一种基于改进lstm的商品评论细粒度情感分类方法 | |
CN109389151B (zh) | 一种基于半监督嵌入表示模型的知识图谱处理方法和装置 | |
CN109902159A (zh) | 一种基于自然语言处理的智能运维语句相似度匹配方法 | |
AU2020101604A4 (en) | A Recommendation with Item Cooccurrence based on Metric Factorization | |
CN113220886A (zh) | 文本分类方法、文本分类模型训练方法及相关设备 | |
Burdisso et al. | τ-SS3: A text classifier with dynamic n-grams for early risk detection over text streams | |
JP6291443B2 (ja) | 接続関係推定装置、方法、及びプログラム | |
CN111538841B (zh) | 基于知识互蒸馏的评论情感分析方法、装置及系统 | |
CN112328798A (zh) | 文本分类方法以及装置 | |
CN114528490B (zh) | 一种基于用户长短期兴趣的自监督序列推荐方法 | |
CN114332519A (zh) | 一种基于外部三元组和抽象关系的图像描述生成方法 | |
CN114036298B (zh) | 一种基于图卷积神经网络与词向量的节点分类方法 | |
Frieder et al. | Large language models for mathematicians | |
CN113158659A (zh) | 一种基于司法文本的涉案财物计算方法 | |
CN111078840B (zh) | 一种基于文档向量的电影评论情感分析方法 | |
CN117034916A (zh) | 构建词向量表示模型和词向量表示的方法、装置及设备 | |
CN107729509A (zh) | 基于隐性高维分布式特征表示的篇章相似度判定方法 | |
CN113869058A (zh) | 基于lc-gcn方面级情感分析方法、系统、存储介质和电子设备 | |
CN111667339A (zh) | 一种基于改进递归神经网络的诽谤性恶意用户检测方法 | |
Nabbani et al. | Twitter Social Media Sentiment Analysis Of Telecommunications Service Provider Using Long Short-Term Memory Method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220408 |