CN109657057A - 一种结合svm和文档向量的短文本情感分类方法 - Google Patents
一种结合svm和文档向量的短文本情感分类方法 Download PDFInfo
- Publication number
- CN109657057A CN109657057A CN201811401134.9A CN201811401134A CN109657057A CN 109657057 A CN109657057 A CN 109657057A CN 201811401134 A CN201811401134 A CN 201811401134A CN 109657057 A CN109657057 A CN 109657057A
- Authority
- CN
- China
- Prior art keywords
- short text
- vector
- comment
- svm
- emotion
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种结合SVM和文档向量的短文本情感分类方法,其特征在于,包括如下步骤:首先,对短文本进行预处理;其次,利用Doc2Vec技术将短文本训练成多维向量;然后使用已经标注的短文本数据训练SVM分类器;最后,利用训练好的SVM分类器对未标注的短文本进行情感分类。本发明使用机器学习中的SVM进行情感分类,不仅分类效果显著,而且需要标注的数据少。提高精度的同时,降低了训练的成本。
Description
技术领域
本发明属于计算机自然语言处理领域,具体涉及一种结合SVM和文档向量的短文本情感分类方法。是一种能够对新闻媒体数据进行情感分类的技术。
背景技术
情感分析的应用非常的广泛。例如,企业可以利用情感分析技术统计用户的情感倾向,进而改进产品和制定销售策略;影视企业可以获得观影者对于电影的反馈,进而调整播放的场次等等。在各种现实需求的驱动下,情感分析的技术取得了长足的发展。
在情感倾向的划分方面,主要有两种划分方式,即粗粒度的情感划分和细粒度的情感划分。对于粗粒度的情感划分,主要是将情感划分为正性,中性,负性情感。但是在有的研究中,为了简化后续的情感分析过程,仅仅将情感倾向划分成正性和负性。在细粒度的情感划分方向,主要是将情感划分成喜、怒、哀、乐、惧等情感类别。
在实际的操作中,有些文章认为一段文本的情感就只有一个,于是将整个文本的情感归属为一类。但在有些文章认为一个文本的情感在不同的方面表现出不同的情感色彩,例如“虽然这件衣服很好看,但不是我喜欢的风格”。对于“衣服”来说,这个文本的情感就是正向的,但是对于“我”来说,这个文本的的情感倾向就是负向的。从这些角度出发,所以引出了Aspect 的概念,即基于Aspect的情感分析。在很多时候,现实的需求只是简单的了解文本的情感倾向,所以最近几年研究更多的集中在粗粒度的情感划分方面。本文所述的情感分析,也主要集中在粗粒度的情感分析,下面简称情感分析。
在情感分析的技术方面,主流的方法主要有基于情感词典和基于机器学习两种方法。机器学习主要围绕着获得高质量的数据和优秀的算法模型进行研究,利用有标注的数据训练算法模型,然后基于训练好的模型对新的数据进行情感判定。而利用情感词典判别文本的情感,主要围绕着构建一部优秀的情感词典来进行,情感词典好坏对于情感分析的影响非常的大。由于机器是门新兴的技术,不仅能够基于大量的数据做分析,且能生成连续的向量,所以使用机器学习作情感分类目前有更多的研究。
Pang et al首次将将机器学习算法用于文本的情感分析。但是Pang et al利用的是 one-hot词向量,该向量在进行短文本的分析的时候,存在稀疏的现象。Mikolov,T则是利用神经网络模型得到连续的词向量,利用叠加词向量的方法和KNN完成情感的分类。本文基于基于Doc2Vec技术,将短文本直接训练成词向量,并基于SVM完成情感分类,不仅分类的效果好,且需要标注的数据少。
发明内容
本发明的目的在于克服现有技术的不足,提供一种结合SVM和文档向量的短文本情感分类方法。本发明的应用广泛,例如企业部门可以利用该技术自动化的分析用户评论,以此获得用户对于该产品的认可度,进而改进产品提高经济效益。
本发明为解决背景技术的技术问题,采用的技术方案是:一种结合SVM和文档向量的短文本情感分类方法,包括如下步骤:
1)对短文本进行预处理;
2)利用Doc2Vec技术将短文本训练成多维向量;
3)使用已经标注的短文本数据训练SVM分类器;
4)利用训练好的SVM分类器对未标注的短文本进行情感分类。
所述步骤1)对短文本进行预处理,包含以下步骤:
(1)爬取目标网站的评论数据,组成实验用的短文本语料;
(2)去除语料库中无关的符号,标点符号包括。?!,、;:“”‘’()-……《》;
(3)使用分词工具对获取的评论数据进行分词处理;
(4)去除分词后的语料库中无关的停用词。
所述步骤2)利用Doc2Vec技术将短文本训练成多维向量,具体步骤如下:
(1)随机的初始化一个An*m的向量矩阵,其中m可以任意初始化,n代表所有新闻评论中不同词语的数量和语料中评论数量的总和;
(2)对于一个新闻评论,将其所包含的词语C=(t1,t2,……tn-1,tn,)和该条新闻评论转换成An*m中的对应的多维向量,即W=(w1,w2,w3,……,wn,wn+1);
(3)对W中的每个wi(i=1,2,3……n+1)向量进行加和处理,得到T:
(4)将T带入双曲正切激活函数Y,其中U,P是双曲正切函数需要动态更新的参数:
y=tanh(UT+P);
(5)然后,将获得的y带入SoftMax函数,得到最终每个词的概率p(wi|w1,w2… wi-1,wi+1…wn+1):
(6)得到目标函数f,并对目标函数求均值:
(7)根据神经网络BackPropagation算法,更新上述参数,并最终可以得到向量矩阵An*m。所述步骤3)使用已经标注的短文本数据训练SVM分类器,在训练SVM分类器时需要满足如下约束,这样找到的超平面是最优的:
s.t yi(ωTxi+b)≥1,i=1,2,....,m
解上述方程可得如下公式,这里αi是拉格朗日乘子:
其中,ω,b是SVM的参数,xi,yi是样本数据,i是样本数据的编号,m是样本数据的总条数;
训练步骤如下:
(1)各选取p条,p一般大于等于300,正向情感评论和负向情感评论;
(2)将上述评论转成Am*n中对应的向量,可得向量X=(x1,x2......x2p),每条评论所对应情感标签组成的向量为Y=(y1,y2,…y2p),这里yi是0或1,其中0代表正向情感,1代表正向情感;
(3)将X,Y带入上述求ω的公式,可得到ω对应的值,最终可得到训练好的SVM;
(4)将待分类的评论转换成Am*n中对应的向量X′,将T输入SVM最终可得改评论的情感类别 Y′。
有益效果
1、本发明在生活中应用广泛。例如,企业可以利用情感分析技术统计用户的情感倾向,进而改进产品和制定销售策略;影视企业可以获得观影者对于电影的反馈,进而调整播放的场次,使得最终的收益最大化。
2、本发明使用机器学习中的SVM进行情感分类,不仅分类效果显著,而且需要标注的数据少。提高精度的同时,降低了训练的成本。
3、本发明基于Doc2Vec技术,将短文本直接训练成词向量。Doc2Vec训练过程中,不仅包含每个词语的向量表示,还包含了每个段落的向量表示。在段落的向量表示中,蕴含了上下文的信息,这能进一步提高情感分类的精度。Pang et al首次将将机器学习算法用于文本的情感分析。但是Pang et al利用的是one-hot词向量,该向量在进行短文本的分析的时候,存在稀疏的现象。Mikolov,T则是利用神经网络模型得到连续的词向量,利用叠加的词向量和 KNN完成向量的分类,但是进利用词向量进行分类,忽略了上下文信息。
附图说明
图1为本方法的流程图。
图2为SVM分类原理图。
图3 Doc2Vec词向量样例。
具体实施方式
以下结合附图和具体实施例来对本发明做详细的说明。本发明为结合SVM分类器和文档向量对文档进行情感分类的方法。下面将结合的具体实施用例说明本发明的实施步骤:
实施例1实现对网易新闻评论的情感划分
图1是结合SVM和文档向量对文本进行情感分类的的流程图,其各个模块在该实施例中的具体步骤如下:
第一步:使用网易新闻国内新闻模块的地址作为爬取地址
第二步:使用python3.0,Pycharm,Scrapy爬虫框架编写爬虫程序,实现对网易新闻网页新闻标题,时间,新闻内容,新闻地址,url,评论人id,评论人地区,评论时间等关键字段的爬取,爬取程序的主要代码如下:
第三步:使用mysql数据库存储上述爬取的关键字段。因为爬取的数据共涉及到新闻和新闻评论以及用户这三个实体,根据ER图,共需要设计三个Mysql数据库表,结构设计如下:
表1新闻数据表
表2评论数据表
表3用户数据表
a)使用python语言从数据库中读取评论数据,并标注300条正向评论和300条负向评论。其中评论的正负按照如下表情符号进行标注,把正向情感标注为1,把负向情感标注为-1, 其余为0。
把评论本中出现以下符号的文本定义成正向情感,如表4:
表4
把评论中出现以下符号的文本定义成负向情感,如表5:
表5
b)使用结巴分词工具对新闻评论数据进行分词,然后将分词后的评论数据作为Doc2Vec模型的输入,训练关于评论的多维向量,训练后词向量的形式如图3所示。Doc2Vec模型的主要代码如下:
c)使用有标注的评论数据训练SVM分类器,SVM对数据进行分类的原理如图2所示。训练 SVM分类器和对未标注的数据进行分类的主要代码如下:
实施例2研究某个事件的情感演化过程
图1是结合SVM和文档向量对文本进行情感分类的的流程图,其各个模块在该实施例中的具体步骤如下:
第一步:使用Idea,Java,Webmagic,Xpath等工具爬取新浪平台一年内关于该事件的全部新闻,以及新闻评论。需要获取的字段有新闻网页新闻标题,时间,新闻内容,新闻地址,url,评论人id,评论人地区,评论时间。
第二步:使用mysql数据库存储上述爬取的关键字段。因为爬取的数据共涉及到新闻和新闻评论以及用户这三个实体,所以根据ER图,共需要设计News,Comment,User三个Mysql 数据表。其中往User数据表中存储的java代码如下:
第三步:使用java程序从数据库中取出评论数据,并标注300条正向评论和300条负向评论。把正向情感标注为1,把负向情感标注为-1,其余为0,其中正向情感和负向情感的定义同上个实施例中的表4,表5。
使用java语言对新闻评论进行分词,分词的代码如下;
a)然后将分词后的评论数据作为doc2vec模型的输入,训练关于评论的多维向量,训练后词向量的形式如图3所示;
b)使用有标注的评论数据训练SVM分类器,SVM对数据进行分类的原理如图2所示;
c)将新闻评论按照季度进行划分,并把每个季度的评论数据使用训练好的SVM进行情感划分。统计每个季度正负评论的数量为mi、ni(i=1,2,3,4);
d)分别计算出来每个季度正评论数量和负评论数量的比例并记W=(w1,w2,w3,w4);
e)使用Html,Echars,Javascript做出关于W的演化曲线。
应当理解的是,这里所讨论的实施方案只是为了说明,对本领域技术人员来说,可以加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (4)
1.一种结合SVM和文档向量的短文本情感分类方法,其特征在于,包括如下步骤:
1)对短文本进行预处理;
2)利用Doc2Vec技术将短文本训练成多维向量;
3)使用已经标注的短文本数据训练SVM分类器;
4)利用训练好的SVM分类器对未标注的短文本进行情感分类。
2.根据权利要求1所述的一种结合SVM和文档向量的短文本情感分类方法,其特征在于,所述步骤1)对短文本进行预处理,包含以下步骤:
(1)爬取目标网站的评论数据,组成实验用的短文本语料;
(2)去除语料库中无关的符号,标点符号包括。?!,、;:“”‘’()-……《》;
(3)使用分词工具对获取的评论数据进行分词处理;
(4)去除分词后的语料库中无关的停用词。
3.根据权利要求1所述的一种结合SVM和文档向量的短文本情感分类方法,其特征在于,所述步骤2)利用Doc2Vec技术将短文本训练成多维向量,具体步骤如下:
(1)随机的初始化一个An*m的向量矩阵,其中m可以任意初始化,n代表所有新闻评论中不同词语的数量和语料中评论数量的总和;
(2)对于一个新闻评论,将其所包含的词语C=(t1,t2,……tn-1,tn,)和该条新闻评论转换成An*m中的对应的多维向量,即W=(w1,w2,w3,……,wn,wn+1);
(3)对W中的每个wi(i=1,2,3……n+1)向量进行加和处理,得到T:
(4)将T带入双曲正切激活函数Y,其中U,P是双曲正切函数需要动态更新的参数:
y=tanh(UT+P);
(5)然后,将获得的y带入SoftMax函数,得到最终每个词的概率p(wi|w1,w2…wi-1,wi+1…wn+1):
(6)得到目标函数f,并对目标函数求均值:
(7)根据神经网络BackPropagation算法,更新上述参数,并最终可以得到向量矩阵An*m。
4.根据权利要求1所述的一种结合SVM和文档向量的短文本情感分类方法,其特征在于,所述步骤3)使用已经标注的短文本数据训练SVM分类器,在训练SVM分类器时需要满足如下约束:
s.t yi(ωTxi+b)≥1,i=1,2,....,m
解上述方程可得如下公式,这里αi是拉格朗日乘子:
其中,ω,b是SVM的参数,xi,yi是样本数据,i是样本数据的编号,m是样本数据的总条数;
训练步骤如下:
(1)各选取p条,p一般大于等于300,正向情感评论和负向情感评论;
(2)将上述评论转成Am*n中对应的向量,可得向量X=(x1,x2......x2p),每条评论所对应情感标签组成的向量为Y=(y1,y2,...y2p),这里yi是0或1,其中0代表正向情感,1代表正向情感;
(3)将X,Y带入上述求ω的公式,可得到ω对应的值,最终可得到训练好的SVM;
(4)将待分类的评论转换成Am*n中对应的向量X′,将T输入SVM最终可得改评论的情感类别Y′。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811401134.9A CN109657057A (zh) | 2018-11-22 | 2018-11-22 | 一种结合svm和文档向量的短文本情感分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811401134.9A CN109657057A (zh) | 2018-11-22 | 2018-11-22 | 一种结合svm和文档向量的短文本情感分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109657057A true CN109657057A (zh) | 2019-04-19 |
Family
ID=66112174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811401134.9A Pending CN109657057A (zh) | 2018-11-22 | 2018-11-22 | 一种结合svm和文档向量的短文本情感分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657057A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116637A (zh) * | 2013-02-08 | 2013-05-22 | 无锡南理工科技发展有限公司 | 一种面向中文Web评论的文本情感分类方法 |
CN105824922A (zh) * | 2016-03-16 | 2016-08-03 | 重庆邮电大学 | 一种融合深层特征和浅层特征的情感分类方法 |
CN106407449A (zh) * | 2016-09-30 | 2017-02-15 | 四川长虹电器股份有限公司 | 一种基于支持向量机的情感分类方法 |
CN107193801A (zh) * | 2017-05-21 | 2017-09-22 | 北京工业大学 | 一种基于深度信念网络的短文本特征优化及情感分析方法 |
CN107315797A (zh) * | 2017-06-19 | 2017-11-03 | 江西洪都航空工业集团有限责任公司 | 一种网络新闻获取及文本情感预测*** |
CN108108468A (zh) * | 2017-12-29 | 2018-06-01 | 华中科技大学鄂州工业技术研究院 | 一种基于概念和文本情感的短文本情感分析方法和装置 |
CN108509629A (zh) * | 2018-04-09 | 2018-09-07 | 南京大学 | 一种基于情感词典和支持向量机的文本情感分析方法 |
CN108733653A (zh) * | 2018-05-18 | 2018-11-02 | 华中科技大学 | 一种基于融合词性和语义信息的Skip-gram模型的情感分析方法 |
-
2018
- 2018-11-22 CN CN201811401134.9A patent/CN109657057A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116637A (zh) * | 2013-02-08 | 2013-05-22 | 无锡南理工科技发展有限公司 | 一种面向中文Web评论的文本情感分类方法 |
CN105824922A (zh) * | 2016-03-16 | 2016-08-03 | 重庆邮电大学 | 一种融合深层特征和浅层特征的情感分类方法 |
CN106407449A (zh) * | 2016-09-30 | 2017-02-15 | 四川长虹电器股份有限公司 | 一种基于支持向量机的情感分类方法 |
CN107193801A (zh) * | 2017-05-21 | 2017-09-22 | 北京工业大学 | 一种基于深度信念网络的短文本特征优化及情感分析方法 |
CN107315797A (zh) * | 2017-06-19 | 2017-11-03 | 江西洪都航空工业集团有限责任公司 | 一种网络新闻获取及文本情感预测*** |
CN108108468A (zh) * | 2017-12-29 | 2018-06-01 | 华中科技大学鄂州工业技术研究院 | 一种基于概念和文本情感的短文本情感分析方法和装置 |
CN108509629A (zh) * | 2018-04-09 | 2018-09-07 | 南京大学 | 一种基于情感词典和支持向量机的文本情感分析方法 |
CN108733653A (zh) * | 2018-05-18 | 2018-11-02 | 华中科技大学 | 一种基于融合词性和语义信息的Skip-gram模型的情感分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumar et al. | Sentiment analysis of multimodal twitter data | |
Khan et al. | Sentiment analysis and the complex natural language | |
CN108446271B (zh) | 基于汉字部件特征的卷积神经网络的文本情感分析方法 | |
CN109933664B (zh) | 一种基于情感词嵌入的细粒度情绪分析改进方法 | |
CN106599022B (zh) | 基于用户访问数据的用户画像形成方法 | |
Hassan et al. | Sentiment analysis on bangla and romanized bangla text using deep recurrent models | |
CN108427670A (zh) | 一种基于语境词向量和深度学习的情感分析方法 | |
Adedoyin-Olowe et al. | A survey of data mining techniques for social media analysis | |
CN107862343A (zh) | 基于规则和神经网络的商品评论属性级情感分类方法 | |
CN107391483A (zh) | 一种基于卷积神经网络的商品评论数据情感分类方法 | |
CN108363725B (zh) | 一种用户评论观点提取和观点标签生成的方法 | |
CN108154395A (zh) | 一种基于大数据的客户网络行为画像方法 | |
Hassan et al. | Sentiment analysis on bangla and romanized bangla text (BRBT) using deep recurrent models | |
CN101127042A (zh) | 一种基于语言模型的情感分类方法 | |
CN107301199A (zh) | 一种数据标签生成方法和装置 | |
Al-Nabki et al. | Improving named entity recognition in noisy user-generated text with local distance neighbor feature | |
Yeole et al. | Opinion mining for emotions determination | |
CN110196945A (zh) | 一种基于LSTM与LeNet融合的微博用户年龄预测方法 | |
CN112084333B (zh) | 一种基于情感倾向分析的社交用户生成方法 | |
CN110472115A (zh) | 一种基于深度学习的社交网络文本情感细粒度分类方法 | |
Stahl et al. | A survey of data mining techniques for social network analysis | |
Alshammari et al. | State-of-the-art review on Twitter Sentiment Analysis | |
Du et al. | A heuristic approach for website classification with mixed feature extractors | |
Thomas et al. | Deep learning architectures for named entity recognition: A survey | |
Jaman et al. | Sentiment analysis on utilizing online transportation of indonesian customers using tweets in the normal era and the pandemic covid-19 era with support vector machine |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190419 |