首页> 中国专利> 基于CNN-BiLSTM框架的上下文依赖的多分类情感分析方法和系统

基于CNN-BiLSTM框架的上下文依赖的多分类情感分析方法和系统

摘要

本发明提供一种基于CNN‑BiLSTM框架的上下文依赖的多分类情感分析方法和系统,涉及文本信息处理技术领域。本发明通过获取文本评论,对文本评论进行预处理;对文本评论的子句进行多种情感类别标注处理,获取训练集、验证集和测试集;基于上下文依赖策略、训练集、验证集和测试集和基于CNN‑BiLSTM框架的情感分析模型获取多分类情感分析模型,通过所述多分类情感分析模型分析待测文本评论的情感类别。本发明提出了一个多分类情感分析模型,该模型基于上下文依赖策略进行构建,通过融合上下文的情感信息来捕获更加复杂的情感特征,可以更加有效的识别评论中每一个子句的情感,提高了多分类情感分析模型的准确率,从而可以更加准确的分析出待测文本评论的情感类别。

著录项

  • 公开/公告号CN112183056A

    专利类型发明专利

  • 公开/公告日2021-01-05

    原文格式PDF

  • 申请/专利权人 合肥工业大学;

    申请/专利号CN202010838502.7

  • 申请日2020-08-19

  • 分类号G06F40/211(20200101);G06F40/284(20200101);G06N3/04(20060101);G06N3/08(20060101);G06Q50/00(20120101);G06F16/35(20190101);

  • 代理机构11542 北京久诚知识产权代理事务所(特殊普通合伙);

  • 代理人余罡

  • 地址 230009 安徽省合肥市包河区屯溪路193号

  • 入库时间 2023-06-19 09:26:02

说明书

技术领域

本发明涉及文本信息处理技术领域,具体涉及一种基于CNN-BiLSTM框架的上下文依赖的多分类情感分析方法和系统。

背景技术

随着社交网络的迅速发展,越来越多的用户已经在论坛,博客和其他网站上发布了有关各种产品的文本评论。通过有效的分析和挖掘,文本评论可以帮助公司实时捕获客户需求并指导消费者的购物决策。情感分析作为一种重要的文本挖掘技术,近来得到了广泛的关注。

现有的多种情感的识别称为多类别情感分析或多类别情感分类。近年来,已经进行了一些关于多类别情感分析的研究。这些研究主要使用支持向量机(SVM)和随机森林等机器学习方法来识别多类情感。

然而,本申请的发明人发现,现有的多类别情感分类有一定的局限性。首先,在多类别情感分析中情感的具体含义尚未深入讨论。许多研究只讨论了三类别情感分析,包括积极,消极和中立的情感,或基于从1到5的等级进行的情感强度分析,其中1表示非常消极的情感,而5表示非常积极的情感。其次,多类别情感分析的粒度不足,在大多数关于多类别情感分析的研究中,要么将一条文本评论的情感识别为单一情感类型,要么将一条文本评论标记为多个情感标签。每个子句具体表达的情感可能有所不同,因此无法准确识别,导致现有的多类别情感分析方法的准确率低。

发明内容

(一)解决的技术问题

针对现有技术的不足,本发明提供了一种基于CNN-BiLSTM框架的上下文依赖的多分类情感分析方法和系统,解决了现有的多类别情感分析方法准确率低的技术问题。

(二)技术方案

为实现以上目的,本发明通过以下技术方案予以实现:

本发明提供一种基于CNN-BiLSTM框架的上下文依赖的多分类情感分析方法,包括:

获取文本评论,对所述文本评论进行预处理,得到文本评论的子句;

对文本评论的子句进行多种情感类别标注处理,获取训练集、验证集和测试集;

基于上下文依赖策略、所述训练集、验证集和测试集和基于CNN-BiLSTM框架的情感分析模型获取多分类情感分析模型,通过所述多分类情感分析模型分析待测文本评论的情感类别,所述多分类情感分析模型的结构包括解析层、嵌入层、卷积层、池化层、双向LSTM层和Softmax层的多分类情感分析模型,所述双向LSTM层用于基于上下文依赖策略学习文本上下文相关性。

优选的,所述预处理包括:

删除垃圾文本评论;

对文本评论进行分词处理;

对评论文本进行子句切割,将文本评论r分为T个子句clause

优选的,所述上下文依赖策略包括:

通过评论文本中的子句之间的情感传递获取评论文本中每个子句的情感类别,表达式如下:

其中,clause

优选的,所述解析层包括:

基于语法解析将文本评论数据切分为子句。

优选的,所述嵌入层用于将文本评论转化为向量数据,具体为:

使用训练好的词向量模型对每个词进行向量化表示,通过将词向量顺序链接,可以得到每个子句的矩阵

词向量模型的训练过程如下:

选择使用Python中的gensim包进行词向量模型训练,通过对大量文本评论语料进行反复迭代训练,从而得到特定领域的词向量模型。

优选的,所述卷积层用于从嵌入层生成的每个子句的矩阵中提取n-gram语法特征,n-gram语法特征表示每个子句的情感信息,具体为:

使用三种高度不同、宽度相同、卷积核相同的卷积核从从嵌入层生成的每个子句的矩阵中提取n-gram语法特征,通过矩阵M

其中,

优选的,所述池化层用于将卷积层中的三种类型的卷积核生成的L个特征图首先被顺序堆叠到一个矩阵

其中,ω

通过最大池化操作,与第P类卷积核相关的最终特征向量可以表示为:

最后,通过连接与不同类型的卷积核相关联的三个特征图来生成第t子句的最终特征向量:

优选的,所述LSTM层用于捕获子句中的长距离依赖,LSTM网络通过引入一个存储单元c

f

i

o

c

h

其中,W

隐藏状态

优选的,所述Softmax层用于预测子句clause

其中,W

通过文本评论r切分的所有子句的标签可以表示为:

tag

本发明还提供一种基于CNN-BiLSTM框架的上下文依赖的多分类情感分析系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述方法的步骤。

(三)有益效果

本发明提供了一种基于CNN-BiLSTM框架的上下文依赖的多分类情感分析方法和系统。与现有技术相比,具备以下有益效果:

本发明通过获取文本评论,对文本评论进行预处理;对文本评论的子句进行多种情感类别标注处理,获取训练集、验证集和测试集;基于上下文依赖策略、训练集、验证集和测试集和基于CNN-BiLSTM框架的情感分析模型获取多分类情感分析模型,通过所述多分类情感分析模型分析待测文本评论的情感类别,多分类情感分析模型的结构包括解析层、嵌入层、卷积层、池化层、双向LSTM层和Softmax层的多分类情感分析模型,双向LSTM层用于基于上下文依赖策略学习文本上下文相关性。本发明提出了一个多分类情感分析模型,该模型基于上下文依赖策略进行构建,通过融合上下文的情感信息来捕获更加复杂的情感特征,可以更加有效的识别评论中每一个子句的情感,提高了多分类情感分析模型的准确率,从而可以更加准确的分析出待测文本评论的情感类别。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一种基于CNN-BiLSTM框架的上下文依赖的多分类情感分析方法的框图;

图2为本发明实施例中一条评论的语法解析树的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请实施例通过提供一种基于CNN-BiLSTM框架的上下文依赖的多分类情感分析方法,解决了现有的多类别情感分析方法准确率低的技术问题,实现准确的分析出待测文本评论的情感类别。

本申请实施例中的技术方案为解决上述技术问题,总体思路如下:

随着社交媒体的快速发展,基于文本评论挖掘客户观点对于理解消费者需求至关重要。客户在产品评论中的表达的情感往往是多样的,例如担忧、满意、可惜、包容等。但是,现有的多类别情感分析方法的准确率低,导致得出的情感信息和实际存在一定的偏差。在本发明实施例中,提出了一种使用CNN-BiLSTM框架的上下文依赖的多分类情感分析方法,该方法可以通过融合上下文情感信息有效地识别产品评论中每个子句的情感,可以更加准确的分析出待测文本评论的情感类别。

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。

本发明实施例提供一种基于CNN-BiLSTM框架的上下文依赖的多分类情感分析方法,该方法由计算机执行,如图1所示,包括步骤S1~S3:

S1、获取文本评论,对文本评论进行预处理,得到文本评论的子句;

S2、对文本评论的子句进行多种情感类别标注处理,获取训练集、验证集和测试集;

S3、基于训练集、验证集和测试集和基于CNN-BiLSTM(convolutional neuralnetwork-bi-directional long short-term memory)框架的情感分析模型获取多分类情感分析模型,通过多分类情感分析模型分析待测文本评论的情感类别,多分类情感分析模型的结构包括解析层、嵌入层、卷积层、池化层、双向LSTM层和Softmax层的多分类情感分析模型,所述双向LSTM层用于学习文本上下文相关性。

本发明实施例提出了一个多分类情感分析模型,该模型基于上下文依赖策略进行构建,通过融合上下文的情感信息来捕获更加复杂的情感特征,可以更加有效的识别评论中每一个子句的情感,提高了多分类情感分析模型的准确率,从而可以更加准确的分析出待测文本评论的情感类别。

在一实施例中,S1、获取文本评论,对所述文本评论进行预处理,得到文本评论的子句。具体实施过程如下:

S101、文本评论数据抓取。以Python开发的Scrapy框架为基础,通过XPath、CSS表达式进行网页数据提取解析,运用Redis数据库作为分布式共享爬虫队列,MongoDB数据库作为数据存储库,集成Selenium自动化测试工具、同时使用随机User-Agent、阿里云代理IP和自建代理IP池等中间件,并部署至云服务器,实现对多个社交媒体平台的产品文本评论数据的大规模实时增量爬取。

S102、数据预处理。进一步处理爬取的数据,以获得高质量且有效的数据。具体包括:

S102a、垃圾文本评论剔除。为了提高数据的质量,需要剔除垃圾文本评论。垃圾文本评论剔除主要包括以下两点:

1)按关键词剔除:通过总结一些关键词例如“html”、“电话”、“删除”等词来剔除垃圾文本评论。

2)按文本评论长度剔除。文本评论长度过长或过短的文本评论都有可能是垃圾文本评论。因此,限制文本评论长度在5到150之间,其它长度的文本评论被剔除。

S102b、文本分词。本发明实施例使用汉语分词系统ICTCLAS,通过Python调用,实现对文本评论的分词。

S102c、子句切割。在本发明实施例中,子句是分析的基本单位。因此,需要将一条文本评论切分为子句集,才能进行进一步的分析。本发明实施例使用Stanford解析器对每条文本执行语法解析,将文本评论r分为T个子句,即clause

在一实施例中,S2、对文本评论的子句进行多种情感类别标注处理,获取训练集、验证集和测试集。具体实施过程如下:

由于从网页上提取的文本评论数据是没有标签的,因此需要进行人工标注以获取模型可用的训练集、验证集和测试集。首先,规定产品文本评论数据可能表达的情感为以下九种类型:满意,信任,高兴,包容,中性,可惜,担忧,失望,愤怒。前四个属于积极情感,后四个属于消极情感,具体的描述如表1所示。然后,选择部分文本评论数据进行人工标注,将这些文本评论的每个子句都标注为上述九种情感中的一个。最后,标注完数据之后,将这些产品文本评论按照6:2:2划分为训练集、验证集和测试集。

表1.产品文本评论中可能表达的9种情感的详细描述

在一实施例中,S3、基于上下文依赖策略、训练集、验证集和测试集和基于CNN-BiLSTM框架的情感分析模型获取多分类情感分析模型,通过所述多分类情感分析模型分析待测文本评论的情感类别。

需要说明的是,在本发明实施例中,上下文依赖策略指子句之间的情感传递。通常,构成一条评论的每个子句仅表达一种特定的情感,例如,文本评论R1表示有关汽车的产品文本评论,它由三个子句R1a–R1c组成,这些子句分别表达了满足的情感,可惜的情感和失望的情感。具体来说,文本评论人首先表达了对汽车的空间的满意,然后使用连词“但是”,情感转变为对汽车的内饰的可惜。最后,通过对产品功能的深入描述,包括作为内饰子特征的用料和做工,文本评论人的情感从可惜变成了失望。

(R1)这辆车空间很大,一点都不挤,(R1.a)而比较遗憾的是车子的内饰,(R1.b)不管是用料还是做工都是很令人失望的。R1.c)

尽管子句可能表达相似甚至相反的情感,但它们表达的情感通常不是独立的。通常,它们具有传递关系。实际上,用户通常通过在文本评论中使用简短的子句表达情感来清楚地表达他们对某些产品的观点。此外,用户会在词法层面或语义层面下意识地使这些子句连贯。换句话说,这些子句的情感构成了连续情感表达的过程。例如,在文本评论R1中,R1a–R1c表达了不同的情感,但是它们的组合反映了文本评论者对产品的总体印象,提供了连续的情感表达。

在本文中,文本评论子句之间的连续情感表达现象称为情感传递。根据对产品文本评论的大量观察,发现情感传递是普遍存在的。通常,情感传递主要有三种方式:转折,加深和稳定。

1)转折。情感的转折是指相邻子句表达相反情感的现象。例如,在文本评论R2中,子句R2.a表示正面情感,而子句R2.b表示负面情感。

(R2)各个方面对比起来感觉这款车还是很不错的,(R2.a)但是隔音效果做的不是很好,噪音有点大。(R2.c)

2)加深。情感的加深是指一个子句比前一个子句表达更强烈的情感的现象。例如,在文本评论R3中,R3.d包含“特别是”一词,用于强调满意的情感。

(R3)我的B30用了差不多半年,目前来说没有像别人说的那些小问题,(R3.a)动力充裕,(R3.b)空间也比较满意,(R3.c)特别值得一提的是定速巡航相当好用,我上高速就靠它了。(R3.d)

3)稳定。情感的稳定是指相邻子句表达相似情感的现象。例如,文本评论R4中的所有子句均表示满意的情感,这些情感相对稳定,没有较大的波动。

(R4)这辆车开起来非常稳定,(R4.a)操控性也很不错,(R4.b)到现在为止,我的车还没有怎么掉价,(R4.c)心里很是欣慰。(R4.d)

在这样的描述下,可以如下定义情感传递:

情感传递是指一条文本评论的子句以不同的方式例如转折,加深和稳定表达连续的情感的现象。

基于上面定义的情感传递,可以建立子句间的词汇或语义联系,并且可以融合一条文本评论的所有子句的情感信息。这样,子句的更丰富的特征可以被提取,并且子句的情感也可以被更准确地分析。

假设一条文本评论由T个子句组成,则在不考虑情感传递的情况下,每个子句的情感可以通过以下方式计算:

tag

其中,clause

另一方面,考虑情感传递,可以通过以下方式计算每个子句的情感:

其中,F

步骤S3的具体实施过程如下:

S301、利用步骤S2中得到的训练集对基于CNN-BiLSTM框架的情感分析模型进行训练,得到多分类情感分析模型。

S302、利用验证集和测试集对多分类情感分析模型进行优化,提高模型的泛化能力。具体为:

通过最小化真实概率分布y和预测概率分布

其中,amount

其中,T

S303、通过优化后的多分类情感分析模型分析待测文本评论的情感类别。具体为:

将待测文本评论在输入到多分类情感分析模型中,多类情感分析模型将待测文本评论切分为子句集合,然后识别每条子句的情感类别。企业可通过上述方法对大量的文本评论数据的情感类别结果进行汇总,得到每一个情感类别的数量,从而量化消费者的观点,根据这些观点信息更好地进行产品改进与创新。需要说明的是,一旦多分类情感分析模型优化好后,可重复多次分析待测文本评论的情感类别,无需进行重复训练,即步骤S1~S302执行一次,步骤S303可执行多次。同时,待测文本评论在输入到多分类情感分析模型中前,只需执行剔除垃圾文本评论这一预处理,文本分词、子句切割等步骤由分类情感分析模型自动执行。

在本发明实施例中,提出的多分类情感分析模型包括解析层、嵌入层、卷积层、池化层、双向LSTM层和Softmax层。首先,多分类情感分析模型基于语法解析将给定的文本评论r分为T个子句,即clause

1)解析层。解析层基于语法解析将文本评论数据切分为子句。其过程类同步骤S102c。

2)嵌入层。嵌入层将文本评论转化为向量数据。首先,使用训练好的词向量模型对每个词进行向量化表示。然后,通过将词向量顺序链接,可以得到每个子句的矩阵

词向量模型的训练过程如下:

词向量模型的作用是为文本中的每个词赋予一个独立的向量,从而能够将文本向量化,这种向量化在基于深度学习的模型中是文本的基础表达方式。本发明实施例选择使用Python中的gensim包进行词向量模型训练,通过对大量产品文本评论语料进行反复迭代训练,从而得到特定领域的词向量模型。

3)卷积层。卷积层用于从嵌入层生成的每个子句的矩阵中提取n-gram语法特征。为了提取丰富的特征,本发明实施例应用了三种类型的卷积核,三种类型的卷积核具有不同的高度(2,3和4)和相同的宽度d,每种类型的卷积核都有L个滤波器。通过矩阵M

其中,

4)池化层。为了简化网络复杂性并保留最重要的信息,最大池化层用于对卷积层的输出进行二次采样。在本发明实施例的多类情感分析模型中,对由每种类型的卷积核生成的特征图执行max-1合并。具体地,由每种类型的卷积核生成的L个特征图首先被顺序堆叠到一个矩阵

其中,ω

通过最大池化操作,与第P类卷积核相关的最终特征向量可以表示为:

最后,通过连接与不同类型的卷积核相关联的三个特征图来生成第t子句的最终特征向量。

5)LSTM层。为了将子句中的情感信息学习到每个子句的特征向量中,LSTM层基于上下文依赖策略学习文本上下文相关性。在上一步中生成的每个子句的特征向量被顺序集成并传输到LSTM网络。LSTM网络通过引入一个存储单元c

f

i

o

c

h

其中,W

隐藏状态

6)Softmax层。在LSTM层之后,使用softmax层来预测子句clause

其中,W

通过文本评论r切分的所有子句的标签可以表示为:

tag

本发明实施例还提供一种基于CNN-BiLSTM框架的上下文依赖的多分类情感分析系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现上述方法的步骤。

可理解的是,本发明实施例提供的上述基于CNN-BiLSTM框架的上下文依赖的多分类情感分析系统与上述基于CNN-BiLSTM框架的上下文依赖的多分类情感分析方法方法相对应,其有关内容的解释、举例、有益效果等部分可以参考基于CNN-BiLSTM框架的上下文依赖的多分类情感分析方法中的相应内容,此处不再赘述。

综上所述,与现有技术相比,具备以下有益效果:

1、本发明实施例提出了一个多分类情感分析模型,该模型基于上下文依赖策略进行构建,通过融合上下文的情感信息来捕获更加复杂的情感特征,可以更加有效的识别评论中每一个子句的情感,提高了多分类情感分析模型的准确率,从而可以更加准确的分析出待测文本评论的情感类别。

2、本发明实施例可以在子句级别分析句子的情感,获得更加细粒度的情感信息,通过挖掘这种细粒度的情感,企业可以获得更多有用的信息,从而更好地进行产品改进与创新。

需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号