CN113761204A - 一种基于深度学习的emoji文本情感分析方法及系统 - Google Patents
一种基于深度学习的emoji文本情感分析方法及系统 Download PDFInfo
- Publication number
- CN113761204A CN113761204A CN202111039708.4A CN202111039708A CN113761204A CN 113761204 A CN113761204 A CN 113761204A CN 202111039708 A CN202111039708 A CN 202111039708A CN 113761204 A CN113761204 A CN 113761204A
- Authority
- CN
- China
- Prior art keywords
- emoji
- text
- emotion analysis
- module
- vector
- 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
- 230000008451 emotion Effects 0.000 title claims abstract description 103
- 238000004458 analytical method Methods 0.000 title claims abstract description 82
- 238000013135 deep learning Methods 0.000 title claims abstract description 15
- 239000013598 vector Substances 0.000 claims abstract description 85
- 238000012549 training Methods 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000012360 testing method Methods 0.000 claims abstract description 29
- 238000012795 verification Methods 0.000 claims abstract description 27
- 238000012216 screening Methods 0.000 claims abstract description 10
- 238000004806 packaging method and process Methods 0.000 claims abstract description 7
- 230000007246 mechanism Effects 0.000 claims description 24
- 238000010276 construction Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 238000013527 convolutional neural network Methods 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 230000036651 mood Effects 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 230000002996 emotional effect Effects 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling 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
- 230000011218 segmentation 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
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于深度学习的emoji文本情感分析方法及系统,包括:1、采集带有emoji的独立用户生成文本;2、对独立用户生成文本进行筛选后得到原始数据集;3、对原始数据集进行series、classes以及veils三个维度的向量封装,并得到标签labels;4、将series向量以及其对应的classes、veils向量和labels按比例划分为训练集、验证集以及测试集;5、构建emoji文本情感分析模型;6、将训练集的series、classes、veils向量以及labels输入至emoji文本情感分析模型进行训练;7、将测试集输入至训练好的emoji文本情感分析模型之后再进行聚类,得到最终的结果。本发明还公开了与所公开方法对应的系统。本发明不引入任何对emoji的先验理解,充分保留文本原来的情绪信息并不做任何破坏,公开的模型比现有模型更准确、细分度更高。
Description
技术领域
本发明属于自然语言处理技术领域,具体涉及一种基于深度学习的emoji文本情感分析方法及系统
背景技术
在自然语言处理领域中,很多任务尤其是文本分类、情感分析等都严重受限于语料数据缺少标注,且人工标注的成本很高。而随着社交媒体的崛起,emoji这种表情符号开始席卷全球,在社交平台如微博、qq、微信、推特等的文本中,用户常使用emoji代替文字来表达自己的情感,因此emoji在文本理解、文本情感分析中可以起到相当重要的作用。对于“语料缺少标注”的问题,在有emoji的文本中,emoji的存在相当于是用户自己给文本的情感态度做了一个标注,因此我们相当于直接得到了已经标注好了的数据。在分类任务中,可以用emoji作为类别标签,训练一个能预测输入文本携带的emoji的模型,通过对emoji的预测来让模型学习文本中蕴含的情感语义特征。
过去已有不少将emoji作为文本标签进行情感分类,并借此使模型学得更丰富的情感语义表示的研究。但过去的研究往往要引入先验的对emoji的理解,人工把emoji归类,此外,也有一些研究是基于数量较多的emoji标签的。部分文献通过训练获得每个emoji的“正面情绪嵌入向量”和“负面情绪嵌入向量”,再将其与文本中的词向量合并到一起进行文本分类。也有的现有技术通过构造emoji共现网络图来学得emoji向量,含有的emoji往往不止一种,并且利用的是“多emoji”的文本,而本发明是完全基于“单emoji”的文本进行分类的,以避免多标签分类。
发明内容
本发明采用如下的技术方案:
一种基于深度学习的Emoji文本情感分析方法,其特征在于,所述Emoji文本情感分析方法包括以下步骤:
步骤1,采集带有emoji的独立用户生成文本;独立用户生成文本指单条文本信息的语义与其他文本信息的语义不存在上下文的关联关系,且此条文本信息没有引用或嵌入其他文本信息或媒体链接;
步骤2,对步骤1采集到的独立用户生成文本进行筛选,将各emoji按照对应独立用户生成文本数量的多少从大到小进行排序,选择包含前ns个emoji的文本作为筛选后的原始数据集;
步骤3,对步骤2筛选出的原始数据集进行series、classes以及veils三个维度的向量封装;并将ns种emoji从0标注至ns-1作为标签labels;
步骤4,将步骤3中的series以及其对应的classes、veils和labels按比例划分为训练集、验证集以及测试集;
步骤5,构建emoji文本情感分析模型;
步骤6,将步骤4训练集的series、classes、veils向量以及labels输入至步骤5构建的emoji文本情感分析模型进行训练;
步骤7,将测试集输入至步骤6训练好的emoji文本情感分析模型之后再进行聚类,得到最终的结果。
在步骤1中,所采集的带有emoji的独立用户生成文本中只包含一种emoji,该emoji可以在文本中出现一次或多次;所采集的带有emoji的独立用户生成文本除emoji以外的文本长度必须大于等于3。
在步骤2中,选取占到全部独立用户生成文本总数80%以上的前nf个emoji为下限,占到全部独立用户生成文本总数90%以上的前nb个emoji为上限,选取nf和nb之间最大的2的倍数ns;则作为训练的数据集为前ns个emoji对应的所有独立用户生成文本。
在步骤3中,series是文本中各个字的编码标记组合成的一个向量;首先在每个文本的最前和最后分别加上起始和终结符号;根据起始符号将数据集中所有文本分成一个个单字再将文本的每个单字按照字表标记为对应的编码,并将起始和终结符号也进行编码;字表可为NLP中文通用字表或自己创建的字表;
classes向量的值全部标为0;
series向量和classes向量的向量长度需相同,且都不能超过512维
veils向量则是series以及classes向量中补零位置做的标识;如果m维向量的后n维是补零得到,前(m-n)维是原文本的文字对应的维度,则令veils的前(m-n)维为1,后n维为0,以区分原文本部分和补零部分;如果原文本长度超过了m个字符,就要令veils向量的全部m个维度都为1。
在步骤4中,验证集与测试集的划分原则是在验证集与测试集中各类别emoji的比例分别与原始数据集中的比例相同。
在步骤5中,所述emoji文本情感分析模型由一个编码器和一个解码器组成;编码器由9-12个编码模块组成,每一编码模块由3个编码子模块组成;第一编码子模块为一个三角函数编码层;第二编码子模块为一个多头自注意力机制,多头自注意力机制的头数可选6或12枚;第三编码子模块为一个全连接卷积神经网络,卷积层的个数为2的倍数,优选384;第一与第二编码子模块间为一般连接,第一编码子模块直接将编码后的series传输至第二编码子模块;第二编码子模块与第三编码子模块间通过残差连接相连。
解码器的解码模块个数与编码器的编码模块个数相等,每个解码模块由4个解码子模块组成;第一解码子模块为一个与第一编码子模块中三角函数编码层相同的三角函数编码层;第二解码子模块为一个多头自注意力机制,多头自注意力机制的头数与第二编码子模块中的多头自注意力机制头数相同;第三解码子模块为一个全连接卷积神经网络,卷积层的个数与第三编码子模块相同;第四解码子模块为一个多头自注意力机制,多头自注意力机制头数为第二解码子模块中多头自注意力机制头数的一半。
三角函数编码层的编码方法为:
其中,f(wj,lj)表示series向量中第j个单字的三角函数编码值,wj表示包含series向量中第j个单字的词语在原文本中的位置,lj表示series向量中第j个单字在series中的位置,一般等于j+1;m表示series向量的长度;
编码后将编码值附加在终结符号后。
在步骤6中,所述训练具体包括以下步骤:
步骤601:使用“[HIDE]”随机挡住15%-20%的series以及其对应的classes和veils;
步骤602:采取两种方法进行参数微调,将已经训练好的网络模型的特征层参数固定不变,只对任务层的参数进行更新,获取基础语义信息;并将整个网络模型的参数作为训练新任务模型的一个初始化,再根据当前任务进行训练,更新模型上的参数;
特征层是指emoji文本情感分析模型中所使用的全连接卷积神经网络中前70%~80%的卷积层,任务层为全连接卷积神经网络中其他的卷积层;
步骤603:对每个输入样本,模型的输出是一个64*1的向量x,训练过程中将此向量做softmax转化为一个概率分布,然后与该样本真实分类的one-hot编码向量形式计算交叉熵以衡量两个概率分布的相似程度,并根据梯度方向进行更新;
步骤604:采用AdamW优化方法,设定学习率lr=0.00002;在训练时,设置一个变量累加各次迭代的train_loss值,每隔mm次迭代,计算这mm次迭代的平均train_loss并记录,并将train_loss变量归零;同时每隔mm次迭代就用当前的模型在验证集上做验证测试,记录这时模型的valid_loss值;mm优选300;
步骤605,当valid_loss值最小时,停止训练,得到训练好的emoji文本情感分析模型;此时,将任意独立用户生成文本按照步骤3的方法生成一个series向量,输入至模型中后,即可得到其最有可能对应的emoji类别以及概率值。
在步骤7中,聚类方法具体为:
其中,a表示使用A类emoji的文本,b表示使用B类emoji的文本,dist(a,b)表示文本a与文本b的最小距离,dmin(A,B)表示A类emoji与B类emoji间的最小距离。
本发明还公开了基于Emoji文本情感分析方法的Emoji文本情感分析系统,包括数据采集模块、原始数据集构建模块、数据预处理模块、emoji文本情感分析模型构建模块、emoji文本情感分析模型预测模块以及emoji文本情感聚类模块,其特征在于:
数据采集模块采集带有emoji的独立用户生成文本并将这些文本输入至所述原始数据集构建模块;
原始数据集构建模块对数据采集模块输入的文本进行筛选,并将各emoji按照对应独立用户生成文本数量的多少从大到小进行排序,选择包含前ns个emoji的文本作为筛选后的原始数据集,将原始数据集输入所述数据预处理模块;
数据预处理模块将输入数据进行series、classes以及veils三个维度的向量封装;并将ns种emoji从0标注至ns-1作为标签labels,并将生成的series、classes、veils向量以及标签labels输入至所述emoji文本情感分析预测模块;
emoji文本情感分析构建模块构建emoji文本情感分析预测模型,并将输入的series、classes、veils以及labels按比例划分为训练集、验证集以及测试集,使用训练集、验证集以及测试集对emoji文本情感分析预测模型进行训练,直至验证集的验证损失值为最小时完成emoji文本情感分析预测模型的训练,并将训练好的模型以及测试集输入至所述emoji文本情感分析模型预测模块;
emoji文本情感分析模型预测模块将测试集输入至训练好的emoji文本情感分析模型中,得到预测结果并将预测结果输入至所述emoji文本情感聚类模块;
emoji文本情感聚类模块使用聚类算法对预测结果进行聚类,得到最终的emoji情感分析结果。
本发明的有益效果在于,与现有技术相比,本发明:
1、以emoji作为文本的情感标注,不引入任何对emoji的先验理解,充分保留文本原来的情绪信息并不做任何破坏,得到了丰富的情感语义知识,让模型自行根据文本去感知、体会emoji之间或明显或微妙的区别,这样才能让模型更好地学得文本中蕴含的丰富的情感语义表示;
2、经过大量实验证明,本发明所使用的emoji文本情感分析模型所使用的架构以及涉及的算法使得本模型比现有技术中任意一种可以用来对含有emoji的文本进行情感分析的模型更准确、细化程度更高;
3、本发明公开的参数微调方法与传统的参数微调方法相比,考虑了本发明emoji文本情感分析模型结构的特殊性,对本发明模型中第三编码子模块以及第三解码子模块中涉及的全连接卷积神经网络进行了分层次的参数更新,使得本模型在提高了准确度以及细化度的前提上,训练效率与损耗时间与现有技术持平。
附图说明
图1为本发明从大到小排序后前i个emoji的微博数量占所有微博个数的比例曲线图;
图2为本发明长度最小的前k种长度的微博文本总数占所有微博文本个数的比例曲线图;
图3为本发明长度最小的200种长度的微博文本总数占所有微博文本个数的比例曲线图;
图4为本发明在使用emoji文本情感分析模型之后再进行聚类的结果;
图5为本发明emoji文本情感分析方法的流程图。
具体实施方式
下面结合附图对本申请作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本申请的保护范围。
本发明公开了一种基于深度学习的emoji文本情感分析方法,其流程如图5所示,该方法包括以下步骤:
步骤1:采集带有emoji的独立用户生成文本;
用户独立生成文本是指单条文本信息的语义与其他文本信息的语义不存在上下文的关联关系,且此条文本信息没有引用或嵌入其他文本信息或媒体链接。包括用户发布在互联网上具有时间戳的文本信息,包括博客、微博、微信朋友圈信息。例如社交媒体的聊天记录就不是独立用户生成文本,因为聊天记录中每句话的语义都受之前聊天记录的影响;微博下面的评论也不是独立用户生成文本,因为其语义与微博本身有直接关联。另外,针对转发的微博,若转发者加以评论,由于存在上下文关联关系,仍不做独立用户生成文本处理。
所采集的带有emoji的独立用户生成文本中只包含一种emoji,该emoji可以在文本中出现一次或多次;
所采集的带有emoji的独立用户生成文本除emoji以外的文本长度必须大于等于3;
在本实施例中,采集了大于230万条微博文本,共涵盖235种不同的emoji。这些微博文本均为独立用户生成文本,不包括含有链接的文本,带有“【】”符号的文本,或转发的微博;因为链接内容一般对用户生成文本的语义会有很大影响,文本自身只是作者情绪表达的一部分,光看其文字部分并不能很好的理解到emoji的语义,因此不符合“独立用户生成文本”的要求;一般较为官方的微博文本内容会带有“【】”符号,而官方的微博文本一般具有宣传性,不符合“用户生成文本”的要求;转发的微博中引用或嵌入了其他文本或媒体信息,因此不符合“独立用户生成文本”的要求。
步骤2:对步骤1采集到的独立用户生成文本进行筛选,将各emoji按照对应独立用户生成文本数量的多少从大到小进行排序,选择包含前ns个emoji的文本作为筛选后的原始数据集;
将各emoji按照对应独立用户生成文本数量的多少从大到小进行排序。在本实施例中,所使用的独立用户生成文本数量即为微博文本数量。
选取占到全部独立用户生成文本总数80%以上的前nf个emoji为下限,占到全部独立用户生成文本总数90%以上的前nb个emoji为上限,选取nf和nb之间最大的2的倍数ns。则作为训练的数据集为前ns个emoji对应的所有独立用户生成文本。
在本实施例中,由图1可看出占到所采集的全部微博文本80%以上的emoji为前50个,约占84%,则nf为50;占到所采集的全部微博文本90%以上的emoji为前100个,约占97%,则nb为100。取nf和nb间最大的2的倍数为ns,即在50和100之间最大的2的倍数,即ns为64。因此取排名前64个emoji对应的所有微博文本作为训练的输入数据,共2130828条。
步骤3:对步骤2筛选出的原始数据集进行series、classes以及veils三个维度的向量封装;并将ns种emoji从0标注至ns-1作为标签labels;
series是文本中各个字的编码标记组合成的一个向量。首先要在每个文本的最前和最后分别加上起始符号和终结符号,如[QS]以及[ZD],对于文本分类任务,输出时起始符号对应的那个输出位置就是类别信息。根据起始符号将数据集中所有文本分成一个个单字再进行标记化,将文本的每个单字按照字表标记为对应的编码。这里不需要做中文分词,是直接对各个单字操作。起始符号和终结符号在字表中也有对应的编码,同样进行转换。字表可为NLP中文通用字表或自己创建的字表。
此外,在文本中可能会出现一些单字字符是字表中没有的,那么将文本分成单字时将字表中不存在的字识别为[BCZ]符号,到编码时再转换为[BCZ]符号在字表中对应的编码。为了使编码更加可信,本实施例将文本分割成单字列表后删除了其中的所有[BCZ],因为这些[BCZ]在字表中对应的真实字符并不相同,编码成同一个标记会有很大干扰。
classes向量的值全部标为0;
series向量和classes向量的向量长度需相同,且都不能超过512维。如设置向量长度为m维,那么如果一个文本的长度超过了m个字符,就要进行截断,可以只取文本中的前m个字符;而如果一个文本的长度不足m个字符,就要进行补零,将向量中剩下的空位补上0。
veils向量则是对series以及classes向量中补零位置做的标识;如果m维向量的后n维是补零得到,前(m-n)维是原文本的文字对应的维度,则令veils的前(m-n)维为1,后n维为0,以区分原文本部分和补零部分。如果原文本长度超过了m个字符、进行了截断,就要令veils向量的全部m个维度都为1。
因此,为了确定一个合适的向量维度m,可以对数据集中所有文本的长度进行统计,将各文本按照文本长度的大小从小到大排序,得到所有长度的文本各有多少篇,然后进行累加,即得到“长度最小的前k种长度的文本总数”。长度最小的前k种长度的文本总数占所有文本个数的比例曲线图如图2所示。
由图2可以看到,长度在200以下的文本占到了总数的绝大部分比例。
由图3可以看到长度在50以下的文本总数占到了所有文本个数的80%以上。选取b,其需能保证90%以上的文本长度都在b值以下,且b为能够达到此标准的最小的2的倍数。在本实施例中,因长度在64以下的文本总数占所有个数的约92.12%,所以b的值为64,即series以及classes向量维数为64。
步骤4:将步骤3中的series以及其对应的classes、veils和labels按比例划分为训练集、验证集以及测试集;
划分原则是,验证集与测试集中各类别emoji的比例分别与原始数据集中的比例相同。
步骤5:构建emoji文本情感分析模型;
本发明中所构建的emoji文本情感分析模型由一个编码器和一个解码器组成;编码器由9-12个编码模块组成,每一编码模块由3个编码子模块组成;第一编码子模块为一个三角函数编码层,编码的具体方法为:
其中,f(wj,lj)表示series向量中第j个单字的三角函数编码值,wj表示包含a向量中第j个单字的词语在原文本中的位置,lj表示series向量中第j个单字在a中的位置,一般等于j+1;m表示series向量的长度;
编码后将编码值附加在终结符号后;
第二编码子模块为一个多头自注意力机制,多头自注意力机制的头数可选6或12枚;第三编码子模块为一个全连接卷积神经网络,卷积层的个数为2的倍数,优选384;第一与第二编码子模块间为一般连接,第一编码子模块直接将编码后的series传输至第二编码子模块;第二编码子模块与第三编码子模块间通过残差连接相连。
解码器的解码模块个数与编码器的编码模块个数相等,每个解码模块由4个解码子模块组成;第一解码子模块为一个与第一编码子模块中三角函数编码层相同的三角函数编码层;第二解码子模块为一个多头自注意力机制,多头自注意力机制的头数与第二编码子模块中的多头自注意力机制头数相同;第三解码子模块为一个全连接卷积神经网络,卷积层的个数与第三编码子模块相同;第四解码子模块为一个多头自注意力机制,多头自注意力机制头数为第二解码子模块中多头自注意力机制头数的一半。
步骤6:将步骤4训练集的series、classes、veils向量以及labels输入至步骤5构建的emoji文本情感分析模型进行训练;
训练方法具体包括:
步骤601:使用“[HIDE]”随机挡住15%-20%的series以及其对应的classes和veils;
步骤602:采取两种方法进行参数微调,将已经训练好的网络模型的特征层参数固定不变,只对任务层的参数进行更新,获取基础语义信息;并将整个网络模型的参数作为训练新任务模型的一个初始化,再根据当前任务进行训练,更新模型上的参数;
特征层是指emoji文本情感分析模型中所使用的全连接卷积神经网络中前70%~80%的卷积层,任务层为全连接卷积神经网络中其他的卷积层;此处在计算层数时可根据实际模型效果决定是向下还是向上取整;
步骤603:对每个输入样本,模型的输出是一个64*1的向量x,训练过程中将此向量做softmax转化为一个概率分布,然后与该样本真实分类的one-hot编码向量形式计算交叉熵以衡量两个概率分布的相似程度,并根据梯度方向进行更新。
步骤604:采用AdamW优化方法,设定学习率lr=0.00002。在训练时,设置一个变量累加各次迭代的train_loss值,每隔mm次迭代,计算这mm次迭代的平均train_loss并记录,并将train_loss变量归零;同时每隔mm次迭代就用当前的模型在验证集上做验证测试,记录这时模型的valid_loss值;mm优选300。
步骤605,当valid_loss值最小时,停止训练,得到训练好的emoji文本情感分析模型;此时,将任意独立用户生成文本按照步骤3的方法生成一个series向量,输入至模型中后,即可得到其最有可能对应的emoji类别以及概率值。
步骤7:将测试集输入至步骤6训练好的emoji文本情感分析模型之后再进行聚类,得到最终的结果。
在本发明中,使用以下方法得到聚类结果:
其中,a表示使用A类emoji的文本,b表示使用B类emoji的文本,dist(a,b)表示文本a与文本b的最小距离,dmin(A,B)表示A类emoji与B类emoji间的最小距离。通过这种聚类方法,将emoji两两进行计算,将本发明中64类emoji的情感聚合成如图4所述的三类。具体的聚类类别粒度会根据所采集的文本数据以及:最左边为负面情绪,中间的为“中间”情绪即不是特别明显的正面或负面的情绪,最右边为正面情绪。也能区分在负面情绪里不同emoji的含义,如可将其分为表达伤心痛苦、表达生气愤怒和表达“晕了”“无言以对”的三类。
为了验证本发明的优越性,本发明计算了本发明所公开emoji文本情感分析模型在测试集上预测结果的macro F1值,所计算的macro F1值为0.12030125192321595,远远高于现有技术中RNN、LSTM等模型的macro F1值,这些模型的macro F1值都小于0.03。
本发明还公开了一个基于上述emoji文本情感分析方法的系统,具体包括数据采集模块、原始数据集构建模块、数据预处理模块、emoji文本情感分析模型构建模块、emoji文本情感分析模型预测模块以及emoji文本情感聚类模块;
数据采集模块采集带有emoji的独立用户生成文本并将这些文本输入至原始数据集构建模块;
原始数据集构建模块对数据采集模块输入的文本进行筛选,并将各emoji按照对应独立用户生成文本数量的多少从大到小进行排序,选择包含前ns个emoji的文本作为筛选后的原始数据集,将原始数据集输入数据预处理模块;
数据预处理模块将输入数据进行series、classes以及veils三个维度的向量封装;并将ns种emoji从0标注至ns-1作为标签labels,并将生成的series、classes、veils向量以及标签labels输入至emoji文本情感分析预测模块;
emoji文本情感分析构建模块构建emoji文本情感分析预测模型,并将输入的series、classes、veils以及labels按比例划分为训练集、验证集以及测试集,使用训练集、验证集以及测试集对emoji文本情感分析预测模型进行训练,直至验证集的验证损失值为最小时完成emoji文本情感分析预测模型的训练,并将训练好的模型以及测试集输入至emoji文本情感分析模型预测模块;
emoji文本情感分析模型预测模块将测试集输入至训练好的emoji文本情感分析模型中,得到预测结果并将预测结果输入至emoji文本情感聚类模块;
emoji文本情感聚类模块使用聚类算法对预测结果进行聚类,得到最终的emoji情感分析结果。
本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。
Claims (10)
1.一种基于深度学习的Emoji文本情感分析方法,其特征在于,所述Emoji文本情感分析方法包括以下步骤:
步骤1,采集带有emoji的独立用户生成文本;独立用户生成文本指单条文本信息的语义与其他文本信息的语义不存在上下文的关联关系,且此条文本信息没有引用或嵌入其他文本信息或媒体链接;
步骤2,对步骤1采集到的独立用户生成文本进行筛选,将各emoji按照对应独立用户生成文本数量的多少从大到小进行排序,选择包含前ns个emoji的文本作为筛选后的原始数据集;
步骤3,对步骤2筛选出的原始数据集进行series、classes以及veils三个维度的向量封装;并将ns种emoji从0标注至ns-1作为标签labels;
步骤4,将步骤3中的series以及其对应的classes、veils和labels按比例划分为训练集、验证集以及测试集;
步骤5,构建emoji文本情感分析模型;
步骤6,将步骤4训练集的series、classes、veils向量以及labels输入至步骤5构建的emoji文本情感分析模型进行训练;
步骤7,将测试集输入至步骤6训练好的emoji文本情感分析模型之后再进行聚类,得到最终的结果。
2.根据权利要求1所述的基于深度学习的Emoji文本情感分析方法,其特征在于:
在所述步骤1中,所采集的带有emoji的独立用户生成文本中只包含一种emoji,该emoji可以在文本中出现一次或多次;所采集的带有emoji的独立用户生成文本除emoji以外的文本长度必须大于等于3。
3.根据权利要求1所述的基于深度学习的Emoji文本情感分析方法,其特征在于:
在所述步骤2中,选取占到全部独立用户生成文本总数80%以上的前nf个emoji为下限,占到全部独立用户生成文本总数90%以上的前nb个emoji为上限,选取nf和nb之间最大的2的倍数ns;则作为训练的数据集为前ns个emoji对应的所有独立用户生成文本。
4.根据权利要求1或3所述的基于深度学习的Emoji文本情感分析方法,其特征在于:
在所述步骤3中,series是文本中各个字的编码标记组合成的一个向量;首先在每个文本的最前和最后分别加上起始和终结符号;根据起始符号将数据集中所有文本分成一个个单字再将文本的每个单字按照字表标记为对应的编码,并将起始和终结符号也进行编码;字表可为NLP中文通用字表或自己创建的字表;
classes向量的值全部标为0;
series向量和classes向量的向量长度需相同,且都不能超过512维;
veils向量则是series以及classes向量中补零位置做的标识;如果m维向量的后n维是补零得到,前(m-n)维是原文本的文字对应的维度,则令veils的前(m-n)维为1,后n维为0,以区分原文本部分和补零部分;如果原文本长度超过了m个字符,就要令veils向量的全部m个维度都为1。
5.根据权利要求4所述的基于深度学习的Emoji文本情感分析方法,其特征在于:
在所述步骤4中,验证集与测试集的划分原则是在验证集与测试集中各类别emoji的比例分别与原始数据集中的比例相同。
6.根据权利要求1或5所述的基于深度学习的Emoji文本情感分析方法,其特征在于,
在所述步骤5中,所述emoji文本情感分析模型由一个编码器和一个解码器组成;编码器由9-12个编码模块组成,每一编码模块由3个编码子模块组成;第一编码子模块为一个三角函数编码层;第二编码子模块为一个多头自注意力机制,多头自注意力机制的头数可选6或12枚;第三编码子模块为一个全连接卷积神经网络,卷积层的个数为2的倍数,优选384;第一与第二编码子模块间为一般连接,第一编码子模块直接将编码后的series传输至第二编码子模块;第二编码子模块与第三编码子模块间通过残差连接相连;
解码器的解码模块个数与编码器的编码模块个数相等,每个解码模块由4个解码子模块组成;第一解码子模块为一个与第一编码子模块中三角函数编码层相同的三角函数编码层;第二解码子模块为一个多头自注意力机制,多头自注意力机制的头数与第二编码子模块中的多头自注意力机制头数相同;第三解码子模块为一个全连接卷积神经网络,卷积层的个数与第三编码子模块相同;第四解码子模块为一个多头自注意力机制,多头自注意力机制头数为第二解码子模块中多头自注意力机制头数的一半。
8.根据权利要求1或7所述的基于深度学习的Emoji文本情感分析方法,其特征在于:
在所述步骤6中,所述训练具体包括以下步骤:
步骤601:使用“[HIDE]”随机挡住15%-20%的series以及其对应的classes和veils;
步骤602:采取两种方法进行参数微调,将已经训练好的网络模型的特征层参数固定不变,只对任务层的参数进行更新,获取基础语义信息;并将整个网络模型的参数作为训练新任务模型的一个初始化,再根据当前任务进行训练,更新模型上的参数;
特征层是指emoji文本情感分析模型中所使用的全连接卷积神经网络中前70%~80%的卷积层,任务层为全连接卷积神经网络中其他的卷积层;
步骤603:对每个输入样本,模型的输出是一个64*1的向量x,训练过程中将此向量做softmax转化为一个概率分布,然后与该样本真实分类的one-hot编码向量形式计算交叉熵以衡量两个概率分布的相似程度,并根据梯度方向进行更新;
步骤604:采用AdamW优化方法,设定学习率lr=0.00002;在训练时,设置一个变量累加各次迭代的train_loss值,每隔mm次迭代,计算这mm次迭代的平均train_loss并记录,并将train_loss变量归零;同时每隔mm次迭代就用当前的模型在验证集上做验证测试,记录这时模型的valid_loss值;mm优选300;
步骤605,当valid_loss值最小时,停止训练,得到训练好的emoji文本情感分析模型;此时,将任意独立用户生成文本按照步骤3的方法生成一个series向量,输入至模型中后,即可得到其最有可能对应的emoji类别以及概率值。
10.根据权利要求1-9任意一项所述的Emoji文本情感分析方法的Emoji文本情感分析系统,包括数据采集模块、原始数据集构建模块、数据预处理模块、emoji文本情感分析模型构建模块、emoji文本情感分析模型预测模块以及emoji文本情感聚类模块,其特征在于:
所述数据采集模块采集带有emoji的独立用户生成文本并将这些文本输入至所述原始数据集构建模块;
所述原始数据集构建模块对数据采集模块输入的文本进行筛选,并将各emoji按照对应独立用户生成文本数量的多少从大到小进行排序,选择包含前ns个emoji的文本作为筛选后的原始数据集,将原始数据集输入所述数据预处理模块;
所述数据预处理模块将输入数据进行series、classes以及veils三个维度的向量封装;并将ns种emoji从0标注至ns-1作为标签labels,并将生成的series、classes、veils向量以及标签labels输入至所述emoji文本情感分析预测模块;
所述emoji文本情感分析构建模块构建emoji文本情感分析预测模型,并将输入的series、classes、veils以及labels按比例划分为训练集、验证集以及测试集,使用训练集、验证集以及测试集对emoji文本情感分析预测模型进行训练,直至验证集的验证损失值为最小时完成emoji文本情感分析预测模型的训练,并将训练好的模型以及测试集输入至所述emoji文本情感分析模型预测模块;
所述emoji文本情感分析模型预测模块将测试集输入至训练好的emoji文本情感分析模型中,得到预测结果并将预测结果输入至所述emoji文本情感聚类模块;
所述emoji文本情感聚类模块使用聚类算法对预测结果进行聚类,得到最终的emoji情感分析结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111039708.4A CN113761204B (zh) | 2021-09-06 | 2021-09-06 | 一种基于深度学习的emoji文本情感分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111039708.4A CN113761204B (zh) | 2021-09-06 | 2021-09-06 | 一种基于深度学习的emoji文本情感分析方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113761204A true CN113761204A (zh) | 2021-12-07 |
CN113761204B CN113761204B (zh) | 2023-07-28 |
Family
ID=78793188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111039708.4A Active CN113761204B (zh) | 2021-09-06 | 2021-09-06 | 一种基于深度学习的emoji文本情感分析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113761204B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183316A (zh) * | 2015-08-31 | 2015-12-23 | 百度在线网络技术(北京)有限公司 | 一种生成颜文字的方法和装置 |
US20170308267A1 (en) * | 2016-04-26 | 2017-10-26 | International Business Machines Corporation | Contextual determination of emotion icons |
CN108200463A (zh) * | 2018-01-19 | 2018-06-22 | 上海哔哩哔哩科技有限公司 | 弹幕表情包的生成方法、服务器及弹幕表情包的生成系统 |
CN108701125A (zh) * | 2015-12-29 | 2018-10-23 | Mz知识产权控股有限责任公司 | 用于建议表情符号的系统和方法 |
CN109325112A (zh) * | 2018-06-27 | 2019-02-12 | 北京大学 | 一种基于emoji的跨语言情感分析方法和装置 |
CN109472031A (zh) * | 2018-11-09 | 2019-03-15 | 电子科技大学 | 一种基于双记忆注意力的方面级别情感分类模型及方法 |
CN109697232A (zh) * | 2018-12-28 | 2019-04-30 | 四川新网银行股份有限公司 | 一种基于深度学习的中文文本情感分析方法 |
CN110134962A (zh) * | 2019-05-17 | 2019-08-16 | 中山大学 | 一种基于内部注意力的跨语言纯文本反讽识别方法 |
CN110189742A (zh) * | 2019-05-30 | 2019-08-30 | 芋头科技(杭州)有限公司 | 确定情感音频、情感展示、文字转语音的方法和相关装置 |
CN110427490A (zh) * | 2019-07-03 | 2019-11-08 | 华中科技大学 | 一种基于自注意力机制的情感对话生成方法与装置 |
CN110472042A (zh) * | 2019-07-02 | 2019-11-19 | 桂林电子科技大学 | 一种细粒度情感分类方法 |
CN110929030A (zh) * | 2019-11-07 | 2020-03-27 | 电子科技大学 | 一种文本摘要和情感分类联合训练方法 |
CN111522956A (zh) * | 2020-05-08 | 2020-08-11 | 河南理工大学 | 基于双通道和层次化注意力网络的文本情感分类方法 |
CN111883115A (zh) * | 2020-06-17 | 2020-11-03 | 马上消费金融股份有限公司 | 语音流程质检的方法及装置 |
CN111986259A (zh) * | 2020-08-25 | 2020-11-24 | 广州市百果园信息技术有限公司 | 颜文字检测模型的训练、视频数据的审核方法及相关装置 |
US20210065854A1 (en) * | 2019-09-04 | 2021-03-04 | Adoh Scientific, Llc | Capturing person-specific self-reported subjective experiences as behavioral predictors |
CN112651448A (zh) * | 2020-12-29 | 2021-04-13 | 中山大学 | 一种面向社交平台表情包的多模态情感分析方法 |
-
2021
- 2021-09-06 CN CN202111039708.4A patent/CN113761204B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183316A (zh) * | 2015-08-31 | 2015-12-23 | 百度在线网络技术(北京)有限公司 | 一种生成颜文字的方法和装置 |
CN108701125A (zh) * | 2015-12-29 | 2018-10-23 | Mz知识产权控股有限责任公司 | 用于建议表情符号的系统和方法 |
US20170308267A1 (en) * | 2016-04-26 | 2017-10-26 | International Business Machines Corporation | Contextual determination of emotion icons |
CN108200463A (zh) * | 2018-01-19 | 2018-06-22 | 上海哔哩哔哩科技有限公司 | 弹幕表情包的生成方法、服务器及弹幕表情包的生成系统 |
CN109325112A (zh) * | 2018-06-27 | 2019-02-12 | 北京大学 | 一种基于emoji的跨语言情感分析方法和装置 |
CN109472031A (zh) * | 2018-11-09 | 2019-03-15 | 电子科技大学 | 一种基于双记忆注意力的方面级别情感分类模型及方法 |
CN109697232A (zh) * | 2018-12-28 | 2019-04-30 | 四川新网银行股份有限公司 | 一种基于深度学习的中文文本情感分析方法 |
CN110134962A (zh) * | 2019-05-17 | 2019-08-16 | 中山大学 | 一种基于内部注意力的跨语言纯文本反讽识别方法 |
CN110189742A (zh) * | 2019-05-30 | 2019-08-30 | 芋头科技(杭州)有限公司 | 确定情感音频、情感展示、文字转语音的方法和相关装置 |
CN110472042A (zh) * | 2019-07-02 | 2019-11-19 | 桂林电子科技大学 | 一种细粒度情感分类方法 |
CN110427490A (zh) * | 2019-07-03 | 2019-11-08 | 华中科技大学 | 一种基于自注意力机制的情感对话生成方法与装置 |
US20210065854A1 (en) * | 2019-09-04 | 2021-03-04 | Adoh Scientific, Llc | Capturing person-specific self-reported subjective experiences as behavioral predictors |
CN110929030A (zh) * | 2019-11-07 | 2020-03-27 | 电子科技大学 | 一种文本摘要和情感分类联合训练方法 |
CN111522956A (zh) * | 2020-05-08 | 2020-08-11 | 河南理工大学 | 基于双通道和层次化注意力网络的文本情感分类方法 |
CN111883115A (zh) * | 2020-06-17 | 2020-11-03 | 马上消费金融股份有限公司 | 语音流程质检的方法及装置 |
CN111986259A (zh) * | 2020-08-25 | 2020-11-24 | 广州市百果园信息技术有限公司 | 颜文字检测模型的训练、视频数据的审核方法及相关装置 |
CN112651448A (zh) * | 2020-12-29 | 2021-04-13 | 中山大学 | 一种面向社交平台表情包的多模态情感分析方法 |
Non-Patent Citations (2)
Title |
---|
丁浩等: "融合用户兴趣波动时序的个性化推荐模型", 《数据分析与知识发现》, pages 45 - 58 * |
赵晓芳等: "融合表情符号与短文本的微博多维情感分类", 《哈尔滨工业大学学报》, pages 113 - 120 * |
Also Published As
Publication number | Publication date |
---|---|
CN113761204B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107943784B (zh) | 基于生成对抗网络的关系抽取方法 | |
CN111177326A (zh) | 基于精标注文本的关键信息抽取方法、装置及存储介质 | |
CN108874997A (zh) | 一种面向电影评论的人名命名实体识别方法 | |
CN108763510A (zh) | 意图识别方法、装置、设备及存储介质 | |
CN111709242B (zh) | 一种基于命名实体识别的中文标点符号添加方法 | |
CN109885824A (zh) | 一种层次的中文命名实体识别方法、装置及可读存储介质 | |
CN109241383B (zh) | 一种基于深度学习的网页类型智能识别方法及系统 | |
CN111708882A (zh) | 基于Transformer的中文文本信息缺失的补全方法 | |
CN110472245B (zh) | 一种基于层次化卷积神经网络的多标记情绪强度预测方法 | |
CN108829823A (zh) | 一种文本分类方法 | |
CN107679031A (zh) | 基于堆叠降噪自编码机的广告博文识别方法 | |
CN110263164A (zh) | 一种基于模型融合的情感倾向分析方法 | |
CN114818721A (zh) | 一种结合序列标注的事件联合抽取模型与方法 | |
CN113723330A (zh) | 一种图表文档信息理解的方法及系统 | |
CN116737922A (zh) | 一种游客在线评论细粒度情感分析方法和系统 | |
CN115392237A (zh) | 情感分析模型训练方法、装置、设备及存储介质 | |
CN113360659B (zh) | 一种基于半监督学习的跨领域情感分类方法及系统 | |
CN113220964B (zh) | 一种基于网信领域短文本的观点挖掘方法 | |
CN108595592A (zh) | 一种基于五笔字型码字符级语言模型的文本情感分析方法 | |
CN110866169A (zh) | 一种基于学习的物联网实体消息解析方法 | |
CN114528368A (zh) | 基于预训练语言模型与文本特征融合的空间关系抽取方法 | |
CN114547232A (zh) | 一种低标注成本的嵌套实体识别方法及系统 | |
CN116304064A (zh) | 一种基于抽取式的文本分类方法 | |
CN113761204B (zh) | 一种基于深度学习的emoji文本情感分析方法及系统 | |
CN113901172B (zh) | 基于关键词结构编码的涉案微博评价对象抽取方法 |
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 |