本文作者:kaifamei

基于文本内容和用户画像的社交媒体情绪预测算法

更新时间:2025-12-16 19:24:24 0条评论

基于文本内容和用户画像的社交媒体情绪预测算法



1.本发明属于大数据挖掘技术领域,具体涉及基于文本内容和用户画像的社交媒体情绪预测算法。


背景技术:



2.对社交媒体进行情绪分析是许多舆论研究的内容,其中的情绪分析更是重要的衡量指标。预测情绪指数有利于机构及时了解公众的情绪变化,这对于快速发展且影响重大的管理措施的持续改进非常重要。
3.学术界已经有许多关于情绪预测的研究,但缺少对情绪指数的预测。主要的研究是利用历史情绪指数来对未来的股价、死亡等非情绪指数本身的目标进行预测。发明人在进行情绪指数预测研究时发现,目前对情绪指数本身的研究也只能对未来的状态进行预测,即按情绪指数大小进行状态分类(非常正面、一般正面、中立、一般负面、非常负面),预测的是分类问题而不是回归问题。


技术实现要素:



4.鉴于以上情况,本发明的目的在于提供一种能预测未来具体的情绪指数且准确率高的基于文本内容和用户画像的社交媒体情绪预测算法。
5.本发明提出的基于文本内容和用户画像的社交媒体情绪预测算法,其整体流程如图1所示,包括:通过skep[1]算法计算得到日情绪指数;利用语言学统计词表进行词汇分析,从词层面得到过去的文本中内容的倾向特征(称为词频特征);利用lda主题模型[2]将同一天发布的文本进行的主题分布统计,从主题层面得到过去的文本中内容的倾向特征(称为主题分布特征);将词频特征和主题分布特征输入到一个反向传播神经网络进行特征提取,得到降维化文本特征;将同一天发布内容的用户按照一系列个人信息进行分类,得到历史的参与社交媒体讨论的人画像特征;定义数量特征是指前几天的微博数量,情绪特征是指前几天的日情绪指数。将所有时间序列向量特征(包括文本特征(包括词频特征、主题分布特征)、人画像特征、数量特征、情绪特征)输入到一个感知时间的长短期记忆网络(t-lstm)[3]中,将感知时间的长短期记忆网络的最后的隐藏层作为最终反向传播神经网络的输入,得到下一天的社交媒体情绪指数;
[0006]
具体步骤为:
[0007]
步骤1:对过去的社交媒体文本进行数据清洗;对于已经清洗完毕的文本,通过skep算法预训练模型,计算出所有的日情绪指数;
[0008]
步骤2:对于已经清洗完毕的文本,利用语言学统计词表前几天(通常为6-10天,典型的为7天,下同)的将同一天发布的文本进行词频统计,从词层面得到过去的文本中内容的倾向特征;对于已经清洗完毕的文本,利用lda主题模型将前几天的同一天发布的文本进行的主题分布统计,从主题层面得到过去的文本中内容的倾向特征;将词频特征和主题分布特征输入到一个反向传播神经网络进行特征提取得到降维化文本特征;将前几天的同一
天发布内容的用户按照一系列个人信息进行分类,得到历史的参与社交媒体讨论的人画像特征;并定义数量特征是指前几天的微博数量,情绪特征是指前几天的日情绪指数;
[0009]
步骤3:将步骤2中得到所有时间序列向量特征(包括词频特征、主题分布特征、人画像特征、数量特征、情绪特征)合并再输入到一个感知时间的长短期记忆网络(t-lstm)中,将感知时间的长短期记忆网络的最后的隐藏层作为最终反向传播神经网络的输入,得到下一天的社交媒体情绪指数。
[0010]
本发明中,步骤1具体包括:
[0011]
步骤1-1:所述数据清洗,包括:清除所有非字母的字符,删除所有的无用词,删除所有缺失的行;
[0012]
步骤1-2:对于已经清洗完毕的文本,通过skep算法[1]预训练模型得到文本的情绪为积极的概率,将这概率作为文本的情绪指数;将同一天发布的文本情绪指数求平均值,计算出所有的日情绪指数。
[0013]
本发明中,步骤2具体包括:
[0014]
步骤2-1:对于已经清洗完毕的文本,利用语言学统计词表将同一天发布的文本进行的词频统计,从词层面得到过去的文本中内容的倾向特征;
[0015]
步骤2-2:对于已经清洗完毕的文本,利用lda主题模型将同一天发布的文本进行主题分布统计,从主题层面得到过去的文本中内容的倾向特征;
[0016]
步骤2-3:将词频特征和主题分布特征输入到一个反向传播神经网络进行特征提取得到降维化文本特征;
[0017]
步骤2-4:将同一天发布内容的用户按照一系列个人信息进行分类,得到历史的参与社交媒体某话题讨论的人画像特征。
[0018]
本发明中,步骤3具体包括:
[0019]
步骤3-1:将步骤2中得到所有时间序列向量特征和数量特征、情绪特征合并再输入到一个感知时间的长短期记忆网络中;
[0020]
步骤3-2:将感知时间的长短期记忆网络的最后的隐藏层作为最终反向传播神经网络的输入,得到下一天的社交媒体情绪指数。
[0021]
本发明的创新点在于:
[0022]
本发明提出的模型(记为sentit)基于过去的情绪指数预测未来指数,添加微博数量、用户个人资料和微博内容作为特征,以增强预测能力。数量特征反映了公众对某话题的讨论规模。情绪特征反映了情绪指数的变化趋势。画像特征反映了当天关注某话题的用户特征。微博内容将由文本特征提取器进一步处理。由于liwc和lda可以在词频和主题级别上挖掘出公众的关注点,本发明在文本特征提取器中使用这两种文本挖掘工具,然后使用一个反向传播神经网络来提取降维化文本特征。
[0023]
由于公众对社交媒体某话题的讨论可能不是一个连续的过程,而且两次讨论之间的间隔也不是固定的,我们利用t-lstm作为时间序列特征提取器,考虑了时间间隔的影响。最后,使用最终反向传播神经网络来得到最终的预测结果。
附图说明
[0024]
图1为本发明基于文本内容和用户画像的社交媒体情绪预测算法的整体流程图。
[0025]
图2为本发明基于文本内容和用户画像的社交媒体情绪预测算法中模型结构图。
具体实施方式
[0026]
为了使本方面的上述目的和创新点能够更加容易理解,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0027]
根据图2所示,本发明提出的模型sentit由三个模块组成:文本特征提取器、时间序列特征提取器和预测层;文本特征提取器用于通过liwc工具和lda模型提取文本特征,并使用一个反向传播神经网络对文本特征进行降维;其中,lda模型主题数量设置为7个,反向传播神经网络由两层全连接神经网络组成。将情绪特征、文本特征、数量特征、用户画像特征连接起来,然后输入到时间序列特征提取器以学习时间序列特征。由于公众对社交媒体某话题的讨论可能不是一个连续的过程,而且两次讨论之间的间隔也不是固定的,本发明利用考虑了时间间隔影响的t-lstm作为时间序列特征提取器。预测层为一个最终反向传播神经网络,该反向传播神经网络由一层全连接神经网络组成,用于得到最终的日情绪指数预测。
[0028]
步骤1:对过去的社交媒体文本进行数据清洗;对于已经清洗完毕的文本,通过skep算法预训练模型,计算出所有的日情绪指数:
[0029]
步骤1-1:所述数据清洗,包括:清除所有非字母的字符,删除所有的无用词,删除所有缺失的行;
[0030]
步骤1-2:对于已经清洗完毕的文本,通过skep算法预训练模型ernie 1.0large,得到文本的情绪为积极的概率,将这概率作为文本的情绪指数;将同一天发布的文本情绪指数求平均值,计算出所有的日情绪指数。
[0031]
步骤2:对于已经清洗完毕的文本,利用语言学统计词表将同一天发布的文本进行的词频统计,从词层面得到过去的文本中内容的倾向特征;对于已经清洗完毕的文本,利用主题模型将同一天发布的文本进行的主题分布统计,从主题层面得到过去的文本中内容的倾向特征;将词频特征和主题分布特征输入到一个反向传播神经网络进行特征提取得到降维化文本特征;将同一天发布内容的用户按照一系列个人信息进行分类,得到历史的参与社交媒体某话题讨论的人画像特征:
[0032]
步骤2-1:对于已经清洗完毕的文本,利用语言学统计词表将同一天发布的文本进行的词频统计,从词层面得到过去的文本中内容的倾向特征;
[0033]
步骤2-2:对于已经清洗完毕的文本,利用lda主题模型将同一天发布的文本进行的主题分布统计,从主题层面得到过去的文本中内容的倾向特征;
[0034]
步骤2-3:将词频特征和主题分布特征输入到一个反向传播神经网络进行特征提取得到降维化文本特征;
[0035]
步骤2-4:将同一天发布内容的用户按照一系列个人信息进行分类,得到历史的参与社交媒体某话题讨论的人画像特征。
[0036]
本发明选择使用liwc[4]词典来做词汇分析,这是一种在社会科学和自然语言处理中被广泛使用的词汇分析方法。liwc是一个能够分析80种在社会心理学上有意义的词类的程序,拥有着巨大的词汇库。本发明考虑十七类词汇:积极类、消极类、焦虑类、愤怒类、伤感类、社会类、家庭类、朋友类、健康类、空间类、时间类、工作类、休闲类、住宅类、金钱类、地
区类、死亡类在每则文本中的出现频率,作为文本中内容的倾向和特征,并最终在训练模型时将其融入。
[0037]
步骤3:将步骤2中得到所有时间序列向量特征合并再输入到一个感知时间的长短期记忆网络(t-lstm)中,将感知时间的长短期记忆网络的最后的隐藏层作为最终反向传播神经网络的输入,得到下一天的社交媒体情绪指数:
[0038]
步骤3-1:将步骤2中得到所有时间序列向量特征输入到一个感知时间的长短期记忆网络中;
[0039]
步骤3-2:将感知时间的长短期记忆网络的最后的隐藏层作为最终反向传播神经网络的输入,得到下一天的社交媒体情绪指数。在模型进行训练的过程中,本发明以均方方差作为训练的损失函数,具体公式如下:
[0040][0041]
其中,s为输入特征的时间步,x=(x1,x2,

xn),x∈rn,代表输入最终反向传播神经网络的特征,即感知时间的长短期记忆网络的最后的隐藏层;y=(y1,y2,
…yn
),y∈(0,1),代表该天的实际日情绪指数;f(x,θ)为模型函数,代表在给定x时,输出的预测日情绪指数;θ为模型参数。
[0042]
本发明以2020年3月1日到2021年12月1日的五个话题相关的普通用户的微博作为实验对象,利用本发明算法进行评估。数据集的统计如下表1:
[0043]
表1
[0044]
数据集a话题b话题c话题d话题e话题数量91762196212391122394436
[0045]
实验采用的机器配置如下表2:
[0046]
表2
[0047][0048]
设定的学习率是0.001,优化器为adam[5],每次批大小为1,选取的时间步是7天,即用前七天的情绪指数和其他特征来预测下一天的情绪指数。将80%的数据作为训练集,10%的数据作为验证集,将其余10%作为测试集。采用的评估标准是mape、mae、mse,计算公式如下:
[0049]
[0050][0051][0052]
其中,是情绪指数的预测值,yi是真实的情绪指数,n是样本数量。
[0053]
最终实验结果如下表3。结果显示在和navie-1(以前一天的情绪指数直接作为预测值),arima(线性预测方法),支持向量机svm和长短期循环神经网络lstm的对比下,本发明提出的sentit模型在三个指标上都取得最优的结果。这显示本发明方法在预测微博情绪指数上具备优越性。
[0054]
表3
[0055][0056]
参考文献:
[0057]
[1]haotian,cangao,xinyanxiao,haoliu,boleihe,huawu,haifengwang,fengwu.skep:sentimentknowledgeenhancedpre-trainingforsentimentanalysis.proc.ofacl,2020.
[0058]
[2]davidm.blei,andrewy.ng,michaeli.jordan.latentdirichletallocation.machinelearningresearch,2003,3:993

1022.
[0059]
[3]incim.baytas,caoxiao,xizhang,feiwang,anilk.jain,jiayuzhou.patientsubtypingviatime-awarelstmnetworks.proc.ofkdd,2017.
[0060]
[4]jamesw.pennebaker,rogerjbooth,andmarthae.francis.linguistic
inquiryandwordcount:liwc2001.mahway:lawrenceerlbaumassociates,2001,71.2001.
[0061]
[5]diederikp.kingmaandjimmyleiba.adam:amethodforstochasticoptimization.proc.oficlr,2015。

技术特征:


1.基于文本内容和用户画像的社交媒体情绪预测算法,其特征在于,具体步骤如下:步骤1:对过去的社交媒体文本进行数据清洗;对于已经清洗完毕的文本,通过skep算法预训练模型,计算出所有的日情绪指数;步骤2:对于已经清洗完毕的文本,利用语言学统计词表将前6-10天的同一天发布的文本进行词频统计,从词层面得到过去的文本中内容的倾向特征,称为词频特征;对于已经清洗完毕的文本,利用主题模型将前6-10天的同一天发布的文本进行主题分布统计,从主题层面得到过去的文本中内容的倾向特征,称为主题分布特征;将词频特征和主题分布特征输入到一个反向传播神经网络进行特征提取得到降维化文本特征;将前6-10天的同一天发布内容的用户按照一系列个人信息进行分类,得到历史的参与社交媒体某话题讨论的人画像特征;并定义数量特征是指前6-10天的微博数量,情绪特征是指前6-10天的日情绪指数;步骤3:将步骤2中得到所有时间序列向量特征,包括词频特征、主题分布特征、人画像特征、数量特征、情绪特征,合并再输入到一个感知时间的长短期记忆网络(t-lstm)中,将感知时间的长短期记忆网络的最后的隐藏层作为最终反向传播神经网络的输入,得到下一天的社交媒体情绪指数。2.根据权利要求1所述的基于文本内容和用户画像的社交媒体情绪预测算法,其特征在于,步骤1具体包括:步骤1-1:所述数据清洗,包括:清除所有非字母的字符,删除所有的无用词,删除所有缺失的行;步骤1-2:对于已经清洗完毕的文本,通过skep算法预训练模型得到文本的情绪为积极的概率,将这概率作为文本的情绪指数;将同一天发布的文本情绪指数求平均值,计算出所有的日情绪指数。3.根据权利要求1所述的基于文本内容和用户画像的社交媒体情绪预测算法,其特征在于,步骤2具体包括:步骤2-1:对于已经清洗完毕的文本,利用语言学统计词表将同一天发布的文本进行词频统计,从词层面得到过去的文本中内容的倾向特征;步骤2-2:对于已经清洗完毕的文本,利用主题模型将同一天发布的文本进行的主题分布统计,从主题层面得到过去的文本中内容的倾向特征;步骤2-3:将词频特征和主题分布特征输入到一个反向传播神经网络进行特征提取,得到降维化文本特征;步骤2-4:将同一天发布内容的用户按照一系列个人信息进行分类,得到历史的参与社交媒体某话题讨论的人画像特征。4.根据权利要求1所述的基于文本内容和用户画像的社交媒体情绪预测算法,其特征在于,步骤3具体包括:步骤3-1:将步骤2中得到所有时间序列向量特征合并再输入到一个感知时间的长短期记忆网络中;步骤3-2:将感知时间的长短期记忆网络的最后的隐藏层作为最终反向传播神经网络的输入,得到下一天的社交媒体情绪指数。5.根据权利要求3所述的基于文本内容和用户画像的社交媒体情绪预测算法,其特征
在于,步骤2-1中,所述对于已经清洗完毕的社交媒体文本,利用预先设计好的语言学统计词表进行词汇分析,具体为:使用liwc词典做词汇分析,分析如下十七类词汇:积极类、消极类、焦虑类、愤怒类、伤感类、社会类、家庭类、朋友类、健康类、空间类、时间类、工作类、休闲类、住宅类、金钱类、地区类、死亡类,在每则文本中的出现频率,作为文本中内容的倾向和行文风格特征,并最终在训练模型时将其融入。6.根据权利要求4所述的基于文本内容和行文风格的社交媒体谣言鉴别算法,其特征在于,步骤3-2中,模型训练时,以均方方差作为训练的损失函数,具体公式如下:其中,s为输入特征的时间步,x=(x1,x2,

x
n
),x∈r
n
,代表输入最终反向传播神经网络的特征,即感知时间的长短期记忆网络的最后的隐藏层;y=(y1,y2,

y
n
),y∈(0,1),代表该天的实际日情绪指数;f(x,θ)为模型函数,代表在给定x时,输出的预测日情绪指数;θ为模型参数。

技术总结


本发明属于大数据挖掘技术领域,具体为基于文本内容和用户画像的社交媒体情绪预测算法。本发明算法包括:通过SKEP算法预训练模型得到过去的情绪指数特征;运用语言学统计词表,得到过去的词频统计特征;利用LDA主题模型,得到过去的主题分布特征;将词频特征和主题分布特征输入反向传播神经网络进行特征提取得到文本特征;将用户按照一系列个人信息进行分类,得到历史的参与社交媒体某话题讨论的人画像特征;将文本特征、用户画像特征、数量特征、情绪特征合并再输入到感知时间的长短期记忆网络中;将感知时间的长短期记忆网络的最后的隐藏层作为最终反向传播神经网络的输入,得到下一天的社交媒体情绪指数。本发明算法预测准确率高。测准确率高。测准确率高。


技术研发人员:

阮辉 陈阳 宫庆媛

受保护的技术使用者:

复旦大学

技术研发日:

2022.09.24

技术公布日:

2023/1/19


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-79719-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-26 13:42:54

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论