基于个人微博的个人异常情绪检测方法及装置与流程

文档序号:14870905发布日期:2018-07-06 23:37阅读:343来源:国知局
本发明涉及数据处理
技术领域
,尤其涉及一种基于个人微博的个人异常情绪检测方法及装置。
背景技术
:目前基于个人微博的个人异常情绪检测方案主要有:方案一,异常文本词典。该方案中将伤心、愤怒和抑郁等词收集为一个词典,然后进行情感词匹配检测出个体微博文本数据中的异常词语,进而判断出异常文本和出现异常情绪的用户。可见,异常文本词典的检测方法比较简单,检测结果准确度较高。这样检测结果只能检测出异常的情绪,但是却检测不出用户暗含的异常情绪。并且部分用户选择将微博作为宣泄的平台或者本身性格就是易怒和悲伤的,可能这部分用户所有微博都是这种状态和词汇,此时异常词典则无法准确检测。方案二,对用户文本进行情感极性识别(正面,负面,中性),用于判断公众用户对热门事件的情感倾向,然后从标注中选择负面的文本作为异常个性判定的依据。但是社交平台上的消极内容较多,所检测出的消极微博文本数据并不一定说明该用户情绪出现了异常。例如用户对当今一些热点话题的批判或者对某件商品的吐槽等,这些是客观评述,而非异常的情绪。技术实现要素:针对现有技术中的缺陷,本发明提供了一种基于个人微博的个人异常情绪检测方法及装置,用于解决相关技术中异常词典方式或者负面文本异常判定方式时无法准确检测用户异常情绪的问题。第一方面,本发明实施例提供了一种基于个人微博的个人异常情绪检测方法,所述方法包括:获取预设时间段内指定用户的第一预设数量条微博文本数据;利用支持向量机对所述第一预设数量条微博文本数据进行情感识别并标注,得到第二预设数量种情感;按照预设时间单位对所述第二预设数量种情感的微博文本数据进行情感分布统计,得到所述指定用户的多维数据集;所述预设时间段的长度为所述预设时间单位的数倍;采用多元正态分布对所述预设时间段的多维数据集进行拟合,得到所述指定用户对应情感的正态分布曲线;计算每个多维数据集的联合概率密度值;基于所述正态分布曲线和/或所述联合概率密度值确定所述指定用户的异常情绪。可选地,所述第二预设数量种情感为5种,分别为中性、开心、惊讶、伤心和生气,对应的标签为0、1、2、3和4。可选地,按照预设时间单位对所述第二预设数量种情感的微博文本数据进行情感分布统计,得到所述指定用户的多维数据集包括:根据支持向量机对所述第一预设数量条微博文本数据进行情感分类;根据情感分类确定所述指定用户的五维数据集。可选地,基于所述联合概率密度值确定所述指定用户的异常情绪包括:对比联合概率密度值和密度值阈值;若所述联合概率密度值小于或者等于密度值阈值,则所述指定用户的情绪异常。可选地,选取所述密度值阈值包括:基于第一预设数量条微博文本数据,根据所述预设时间段对应的全部预设时间单元得到多个五维数据集;批量计算所述多个五维数据集的联合概率密度;将所述多个五维数据集分为交叉验证集和测试集;基于不同阈值,根据联合概率密度函数对所述交叉验证集进行实验,得到多组实验结果;将所述多组实验结果的准确率最高对应的阈值作为所述测试集的密度值阈值。可选地,所述联合概率密度函数采用以下公式表示:公式中,x(k)是五维变量集,μ是第k列数据均值,σ是五维数据集的协方差矩阵,协方差是度量各个维度偏离其均值的程度。第二方面,本发明实施例提供了一种基于个人微博的个人异常情绪检测装置,所述装置包括:微博文本数据获取模块,用于获取预设时间段内指定用户的第一预设数量条微博文本数据;情感识别模块,用于利用支持向量机对所述第一预设数量条微博文本数据进行情感识别并标注,得到第二预设数量种情感;数据集获取模块,用于按照预设时间单位对所述第二预设数量种情感的微博文本数据进行情感分布统计,得到所述指定用户的多维数据集;所述预设时间段的长度为所述预设时间单位的数倍;正态曲线获取模块,用于采用多元正态分布对所述预设时间段的多维数据集进行拟合,得到所述指定用户对应情感的正态分布曲线;联合密度计算模块,用于计算每个多维数据集的联合概率密度值;判断模块,用于基于所述正态分布曲线和/或所述联合概率密度值确定所述指定用户的异常情绪。可选地,所述第二预设数量种情感为5种,分别为中性、开心、惊讶、伤心和生气,对应的标签为0、1、2、3和4。可选地,所述数据集获取模块包括:情感分类单元,用于根据支持向量机对所述第一预设数量条微博文本数据进行情感分类;数据集确定模块,用于根据情感分类确定所述指定用户的五维数据集。可选地,所述联合概率密度函数采用以下公式表示:公式中,x(k)是五维变量集,μ是第k列数据均值,σ是五维数据集的协方差矩阵,协方差是度量各个维度偏离其均值的程度。由上述技术方案可知,本发明实施例首先获取指定用户的微博文本数据,然后对该指定用户的微博文本数据进行情感分类,之后对第二预设数量种情感的微博文本数据进行情感分布统计,这样可以得到指定用户的多维数据集;并且,继续采用多元正态分布对上述多维数据集进行拟合得到指定用户对应情感的正态分布曲线,以及对多维数据集进行联合概率密度计算得到每个多维数据集的联合概率密度值;最后基于正态分布曲线和/或联合概率密度值确定指定用户的异常情绪。可见,本发明通过获取正态分布曲线和联合概率密度值可以定性和定量分析指定用户的异常情绪,能够提高检测的准确性的可靠性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。图1为本发明实施例提供的基于个人微博的个人异常情绪检测方法的方法流程示意图;图2为本发明实施例提供的支持向量机处理微博文本数据的分类模型;图3为指定用户12的微博文本数据的多元正态分布处理结果示意图;图4为指定用户12的异常情绪的微博文本数据;图5为指定用户31的微博文本数据的多元正态分布处理结果示意图;图6为指定用户31的异常情绪的微博文本数据;图7为本发明实施例提供的基于个人微博的个人异常情绪检测装置的框图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例提供的基于个人微博的个人异常情绪检测方法的方法流程示意图。如图1所示,该基于个人微博的个人异常情绪检测方法包括:101,获取预设时间段内指定用户的第一预设数量条微博文本数据;102,利用支持向量机对所述第一预设数量条微博文本数据进行情感识别并标注,得到第二预设数量种情感;103,按照预设时间单位对所述第二预设数量种情感的微博文本数据进行情感分布统计,得到所述指定用户的多维数据集;所述预设时间段的长度为所述预设时间单位的数倍;104,采用多元正态分布对所述预设时间段的多维数据集进行拟合,得到所述指定用户对应情感的正态分布曲线;105,计算每个多维数据集的联合概率密度值;106,基于所述正态分布曲线和/或所述联合概率密度值确定所述指定用户的异常情绪。需要说明的是,本实施例中步骤104和步骤105的顺序可以进行调整,例如先执行步骤104再执行步骤105,先执行步骤105再执行步骤104,也可以同时执行,在此不作限定。可见,本发明将公众的微博文本数据对应的情感处理为多维数据集,然后批量计算多维数据集的联合概率密度值,可以定量的检测出异常个体,实现比较简单。下面结合附图和实施例对本发明实施例提供的基于个人微博的个人异常情绪检测方法的各步骤作详细描述。首先,介绍101,获取预设时间段内指定用户的第一预设数量条微博文本数据的步骤。上述预设时间段可以为一天、一月或者一年等,本领域技术人员可以根据具体场景进行设置,在此不作限定。在一实施例中,预设时间段为多个自然月。上述第一预设数量可以为100、1000、10000、100000等,在一实施例中,第一预设数量为1000。当然,由于指定用户的微博文本数据可以不定,因此还可以选择其所有微博文本数据。本领域技术人员可以根据具体场景进行设置,在此不作限定。另外,本实施例中指定用户的数量可以为1名,也可以为多名,在此不作限定。其次,介绍102,利用支持向量机对所述第一预设数量条微博文本数据进行情感识别并标注,得到第二预设数量种情感的步骤。上述第二预设数量可以为3、4、5甚至更多,本领域技术人员可以根据具体进行设置。在一实施例中,第三预设数量为5种,即第三预设数量种情感可以为中性、开心、惊讶、伤心和生气。本发明一实施例中利用支持向量机svm对上述1000条进行情感识别,即每条微博文本数据对应中性、开心、惊讶、伤心或者生气。如图2所示,支持向量机svm对输入的微博文本数据进行整理,分为5个类型。为方便后续定量计算,在本发明一实施例中利用标签“0、1、2、3、4”替代上述5种情感,即采用标签“0、1、2、3、4”分别标注“中性、开心、惊讶、伤心和生气”对应的微博文本数据。将5类标签的微博文本数据进行文本向量化,进行特征选择,然后,计算各特征的权重(tf*idf),最后进行模型训练和预测得到微博文本数据的分类结果。可见,本发明实施例中通过支持向量机svm从微博文本数据中提取训练集和测试集的向量特征,进而对测试集给出情感分类结果,可以确保情感分类的准确性。再次,介绍103,按照预设时间单位对所述第二预设数量种情感的微博文本数据进行情感分布统计,得到所述指定用户的多维数据集;所述预设时间段的长度为所述预设时间单位的数倍的步骤。上述预设时间单元可以为一天、一月或者一年等,可以为预设时间段的部分,即预设时间段可以为预设时间的数倍,本领域技术人员可以根据具体场景进行设置,在此不作限定。在一实施例中,预设时间单元为一个自然月。本发明一实施例对标注好的微博文本数据进行统计分类,确定指定用户每个月的多维数据集,即得到了指定用户在每个月的微博发布情况。若情感分类为5种,则多维数据集为五维数据集。第四,介绍104,采用多元正态分布对所述预设时间段的多维数据集进行拟合,得到所述指定用户对应情感的正态分布曲线的步骤。本实施例中,采用多元正态分布(例如高斯分布)对上述五维数据集进行拟合,这样可以得到指定用户对应情感的正态分布曲线。第五,介绍105,计算每个多维数据集的联合概率密度值的步骤。本发明一实施例中对五维数据集批量计算联合概率密度值,计算公式为:公式中x(k)是五维变量数据,μ是第k列数据均值,σ是五维数据集的协方差矩阵。本实施例中,根据批量计算的联合概率密度值,选择合适的密度值阈值,当联合概率密度小于该密度值阈值时,则判定该月份或者该月份的某一段时间内用户情感出现异常,标记异常的用户。并且,还可以根据该月份或者该月份的某一段时间内的微博文本数据检验这些用户是否确实出现异常情绪,从而提高建议模型的准确性。需要说明的是,本发明实施例中通过以下步骤选取所述密度值阈值包括:基于第一预设数量条微博文本数据,根据所述预设时间段对应的全部预设时间单元得到多个五维数据集;批量计算所述多个五维数据集的联合概率密度;将所述多个五维数据集分为交叉验证集和测试集;基于不同阈值,根据联合概率密度函数对所述交叉验证集进行实验,得到多组实验结果;将所述多组实验结果的准确率最高对应的阈值作为所述测试集的密度值阈值。最后,介绍106,基于所述正态分布曲线和/或所述联合概率密度值确定所述指定用户的异常情绪的步骤。本实施例中可以根据正态分布曲线对指定用户的情感进行定性分析,也可以根据联合概率密度值对指定用户的情感进行定量分析,还可以根据正态分布曲线和联合概率密度值对指定用户的情感进行定量和定性分析。实施例一本实施例中指定用户12的微博文本数据为例。利用支持向量机识别微博文本数据的情感并标记,得到如表1所示的微博文本数据分类标注。表1指定用户12的微博情感分类标注然后,按照每个月统计指定用户12的五维情感,得到每一种情感的微博文本条数,如表2所示。表2五维情感统计以及联合概率密度值之后,对指定用户12的中性类微博文本数据进行正态分布拟合,得到图3所示的正态分布曲线。然后,根据以下公式对多维数据集进行联合概率密度计算,得到每个多维数据集的联合概率密度值。公式如下:公式中,x(k)是五维变量集,μ是第k列数据均值,σ是五维数据集的协方差矩阵,协方差是度量各个维度偏离其均值的程度。在一实施例中,其中一组的多维数据集的联合概率密度值的算法如下:输入:odata:dxn数组,代表n个d维的数据样本;omu:dxk数组,代表数据集的均值;osigma:dxdxk数组,代表数据集的协方差矩阵;输出:oprob:1xn数组,表示n个数据点的概率密度;matlab代码:mu=mean(data,1)%按维度求均值;sigma=cov(data)%求矩阵协方差;data=data'-repmat(mu',nbdata,1);%求联合概率密度prob=sum((data*inv(sigma)).*data,2);prob=exp(-0.5*prob)/sqrt((2*pi)^nbvar*(abs(det(sigma))+realmin))。本实施例按照联合概率密度函数公式计算上述五维数据集的联合概率密度,如表2最后一列的数据所示。根据设定的密度值阈值(4e-05),标注异常的用户,如表2标示用户,对应的联合概率密度值为3.40e-06。通过结合正态分布图和联合概率密度值,可以定性定量地分析用户的异常情绪。如图3所示,用户12每个月微博数目发布整体偏稀疏,均在0,1,2这些数目附近,但是在高斯分布的右端处,出现了异常数目的微博数:10。而通过表2可以进一步看出,用户12的微博数据在2013年5月份,联合概率密度值为3.4e-06,明显低于其他组,进一步从整体数据分布上看,2013年5月份出现异常情绪。最后结合该用户在2013年5月的微博文本数据验证是否出现异常情感,如图4所示,出现情绪异常字眼,包括“今天肯定很累了”“天都亮了,真是的发神马呆想神马想,还没有睡着。。肚子都饿了,唉。。。日子不好过,度日如年啊啊啊”“......教练战术要求队员节操全无,唉。。”。实施例二本实施例中以指定用户31的微博文本数据为例。利用支持向量机识别微博文本数据的情感并标记,利用支持向量机识别微博文本数据的情感,获取如表3所示的五维数据集(部分)。表3、用户31五类微博情感数据统计以及联合概率密度用户31中性开心惊讶伤心生气联合概率密度jan-14001009.28e-04nov-13001009.28e-04jun-13100004.81e-04may-13520309.84e-05apr-13521101.82e-03mar-131134218.54e-05feb-13974747.92e-05jan-13570339.06e-05apr-12130001.81e-04mar-12220001.96e-03本实施例中对上述五维数据集进行多元正态分布处理,如图5所示。本案例中五维数据的联合概率密度的计算过程如下:输入:odata:dxn数组,代表n个d维的数据样本;omu:dxk数组,代表数据集的均值;osigma:dxdxk数组,代表数据集的协方差矩阵;输出:oprob:1xn数组,表示n个数据点的概率密度。matlab代码:mu=mean(data,1)%按维度求均值;sigma=cov(data)%求矩阵协方差;data=data'-repmat(mu',nbdata,1);%求联合概率密度prob=sum((data*inv(sigma)).*data,2);prob=exp(-0.5*prob)/sqrt((2*pi)^nbvar*(abs(det(sigma))+realmin))。本实施例利用多元正态分布,定性分析用户个性;利用联合概率密度值指标,来定量分析用户个性。如图5所示,用户31每个月微博数目发布比较均匀,但是在高斯分布的右端处,出现了异常数目的微博数两个异常数目:9和11。而通过表3可以进一步看出,用户31的微博数据在2013年5月,2013年2月,2013年1月,联合概率密度值分别为9.84e-05,7.92e-05,9.06e-05,明显低于其他组,进一步从整体数据分布上说明这些月份用户情绪出现异常。通过对微博文本数据进行验证,如图6所示,发现出现异常字眼和情绪包括:“敲诈”“危害”“民事诉讼”“派出所”等。本发明实施例还提供了一种基于个人微博的个人异常情绪检测装置,如图7所示,所述装置包括:微博文本数据获取模块701,用于获取预设时间段内指定用户的第一预设数量条微博文本数据;情感识别模块702,用于利用支持向量机对所述第一预设数量条微博文本数据进行情感识别并标注,得到第二预设数量种情感;数据集获取模块703,用于按照预设时间单位对所述第二预设数量种情感的微博文本数据进行情感分布统计,得到所述指定用户的多维数据集;所述预设时间段的长度为所述预设时间单位的数倍;正态曲线获取模块704,用于采用多元正态分布对所述预设时间段的多维数据集进行拟合,得到所述指定用户对应情感的正态分布曲线;联合密度计算模块705,用于计算每个多维数据集的联合概率密度值;判断模块706,用于基于所述正态分布曲线和/或所述联合概率密度值确定所述指定用户的异常情绪。可选地,所述第二预设数量种情感为5种,分别为中性、开心、惊讶、伤心和生气,对应的标签为0、1、2、3和4。可选地,所述数据集获取模块包括:情感分类单元,用于根据支持向量机对所述第一预设数量条微博文本数据进行情感分类;数据集确定模块,用于根据情感分类确定所述指定用户的五维数据集。可选地,所述联合概率密度函数采用以下公式表示:公式中,x(k)是五维变量集,μ是第k列数据均值,σ是五维数据集的协方差矩阵,协方差是度量各个维度偏离其均值的程度。需要说明的是,本发明实施例提供的基于个人微博的个人异常情绪检测装置与上述方法是一一对应的关系,上述方法的实施细节同样适用于上述装置,本发明实施例不再对上述系统进行详细说明。本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1