首页 / 专利库 / 人工智能 / 机器学习 / 人工神经网络 / 人工神经元 / 一种基于深度学习的微博博主性格分析方法

一种基于深度学习的微博博主性格分析方法

阅读:363发布:2020-05-14

专利汇可以提供一种基于深度学习的微博博主性格分析方法专利检索,专利查询,专利分析的服务。并且本 发明 针对人物性格分析问题,提出了一种基于 深度学习 的微博博主性格分析方法。主要内容包括:采集微博博主和博文数据,进行数据预处理;通过性格预标注策略,构建微博博主性格语料库;以深度学习技术为 基础 ,训练和构建性格分析模型,用模型输出的大五人格权重表示博主性格,给出人物性格对应的大五人格雷达图。通过实施步骤的实验分析,证明了方法的有效性。本发明可以帮助相关公司、企业及政府部 门 有效地分析社交用户的性格特点。,下面是一种基于深度学习的微博博主性格分析方法专利的具体信息内容。

1.一种基于深度学习的微博博主性格分析方法,其特征在于包括以下步骤:
步骤(1)微博数据形式化定义
将一个微博博主blogger定义为blogger=(Userdata,Textdata,Character),
Userdata表示该博主的属性信息,Textdata表示该博主发表的原创博文信息;Character=(Se,Sa,Sc,Sn,So)表示该博主所属的五大性格类别得分,其中(Se,Sa,Sc,Sn,So)分别表示博主在外倾型、宜人型、尽职型、神经质和开放型性格上的得分;
步骤(2)采集微博博主数据和博文数据,并对博文数据进行数据预处理
(2.1)通过爬虫采集符合条件的微博博主数据
所述的条件包括:
条件1:博主为个人账号;
条件2:近1年内发表原创微博条数大于等于100条;
所述的博主数据记作
Userdata=[Uname,UIntro,Ufans,Ufollow,Ufreq,Uorigin,Uforward],其中
Uname表示博主的昵称,UIntro表示博主的简介,Ufans表示博主的粉丝数,Ufollow表示博主的关注数,Ufreq表示博主30天内的发表博文频率,Uorigin表示博主30天内发表原创微博数量,Uforward表示博主30天内转发微博数量;
(2.2)采集博主一年内的原创博文数据,预处理后记为Textdata;
步骤(3)利用性格词典Dic对微博博主进行性格预标记,构建微博博主性格语料库G;
步骤(4)基于Char-LSTM模型进行博主性格分析:对于任意一个需要判定性格的博主blogger,记该博主1年内发布原创微博Textdata条数为N,随机将N条微博分为
组,将博主信息Userdata和每组博文输入到Char-LSTM模型,得到m组微博博主五种性格类别的概率表示,取m组性格类别概率的平均值为博主blogger的大五性格表示。
2.根据权利要求1所述的一种基于深度学习的微博博主性格分析方法,其特征在于:步骤2中所述的博文数据预处理具体包括:
(1)删除微博博文中微博主题类别标签;
(2)博文文本繁体转简体;
(3)博文进行分词处理,删除博文中的停用词和无用字符。
3.根据权利要求1所述的一种基于深度学习的微博博主性格分析方法,其特征在于:所述的性格词典Dic是经过专家分析,人工构建获得,性格词典Dic分别给出了外倾型、宜人型、尽职型、神经质和开放型人格的性格词列表。
4.根据权利要求1所述的一种基于深度学习的微博博主性格分析方法,其特征在于:步骤3具体包括以下内容:
(1)对于每个微博博主blogger,随机从该博主的Textdata中抽取其一年内的h条博文,记为B={b1,b2,…,bi,…,bh},1≤i≤h,其中bi表示所抽取的第i条博文;
(2)利用性格词典Dic,统计B中博文出现的外倾型、宜人型、尽职型、神经质和开放型五种性格词的次数,分别记为NumE,NumA,NumC,NumN,NumO;
(3)将五个数值按降序排列,取前两个数值,分别记作S1,S2,若S2/S1<β,β为阈值,则博主性格被标记为S1值所对应的性格,Character=(Se,Sa,Sc,Sn,So)中博主对应性格得分标记为1,其他性格得分标记为0,并将该博主数据加入微博性格语料库G。
5.根据权利要求1所述的一种基于深度学习的微博博主性格分析方法,其特征在于:步骤4所述的Char-LSTM模型包括第一LSTM模、第二LSTM模块、双向LSTM网络、四个全连层FC1、FC2、FC3、FC4。
6.根据权利要求1所述的一种基于深度学习的微博博主性格分析方法,其特征在于:步骤4所述的采用Char-LSTM模型分析博主性格具体包括四部分:
第一部分:对待分析博主blogger的Userdata进行特征提取,得到Userdata的特征表示Fusen,具体为:
(1)将Userdata中的Uname转化为向量表示vec(Uname):将Uname进行分词,记为name=[nw1,nw2,…,nwi,…,nwm],1(2)将Userdata中的UIntro转化为向量表示vec(UIntro):将博主简介UIntro分词表示为Intro=[Iw1,Iw2,…,Iwi,…,Iwk],1(3)将已处理的vec(Uname)、vec(UIntro)和Userdata中的数值向量拼接为Vec(Userdata)={vec(Uname),vec(UIntro),Ufans,Ufollow,Ufreq,Uorigin,Uforward},输入到Char-LSTM模型的全连接层FC1中,获取到Userdata的特征表示Fuser=[u1,u2,…,ui,…,um],1第二部分:对待分析博主blogger的每组博文Textdata进行特征提取,得到Textdata的特征表示Ftext,具体为:
(1)博主blogger的n条原创微博表示为Textdata=[Text1,Text2,…,Texti,…,Textn],限定每条博文的长度为textsize;
(2)对于Textdata中的每条博文Texti=[twi1,twi2,…,twij,…,twis],1(3)然后将每条博文的向量表示线性拼接为[vec(Text1),vec(Text2),…,vec
(Texti),…,vec(Textn)],然后输入到全连接层FC2中,得到Textdata的向量表示,记作Ftext=[u1,u2,…,ui,…,um],1第三部分:将博主blogger的Userdata和Textdata的特征向量Fusen和Ftext进行线性拼接,然后利用全连接层FC3,将拼接映射到维度为p的特征空间,得到博主的向量表示,记作Fbloggen=[u1,u2,…ui,…up],1第四部分:将从相同特征空间得到的向量Fbloggen输入到全连接层FC4,得到最终的模型输出向量y,激活函数为softmax,全连接层FC4神经元个数为5,分别表示微博博主五种性格类别[Se,Sa,Sc,Sn,So]的概率。
7.根据权利要求1所述的一种基于深度学习的微博博主性格分析方法,其特征在于:所述Char-LSTM模型的训练具体包括:
训练数据为微博性格语料库G中的数据,利用交叉熵损失函数和反向传播算法更新模型的参数,直到模型的准确率不再改变或者达到预先设置的最大迭代次数,所述交叉熵损失函数的公式为 通过最小化L来更新参数, 为预测值,yi为真实标签。

说明书全文

一种基于深度学习的微博博主性格分析方法

技术领域

[0001] 本发明属于文本信息处理领域,具体是涉及一种基于深度学习的微博博主性 格分析方法。

背景技术

[0002] 在高度发达的信息时代,网络社交平台逐渐成为人们生活中不可缺少的一部 分。随着微博、微信等社交平台的更新,用户在网络平台的社交逐渐替代了传统 的面对面交流。
[0003] 在社交平台的用户规模很大,所以提取一些用户在社交平台上的互动信息可 以有效的衡量用户的个人特征,包括用户的兴趣爱好、生活平、性格特征等等。
[0004] 一般采用调查问卷的方式来衡量人们的性格特征,但是基于社交数据,可以 采用数据挖掘的方法,构造人物性格分析模型。这样可以节省问卷调查的时间, 大批量的获取人物性格。
[0005] 本发明采用大五人格的性格分类。其五种性格分别为外倾型、宜人型、尽职 型、神经质和开放型。五种性格的人物特征如下:
[0006] 外倾性(Extraversion):高外倾的人喜欢和他人沟通,生活态度较为积极乐观。 低外倾的更倾向于独处,不喜欢过多的和他人交流。
[0007] 宜人性(Agreeableness):具有高宜人型性格的人更加温暖、善良,善于发现 生活中的美好,更愿意去帮助别人。而低宜人型性格的人更加关注自己的想法, 对于身边的人没有过多的关注。
[0008] 尽责性(Conscientiousness):高尽职型的人会更关注工作,对事情较为认真负 责。而低尽职型的人会更加随意,不会太过于关注自己负责的事情。
[0009] 神经质(Neuroticism):高神经质的人会更加情绪化,会经常因为外界而感到 焦躁不安、抱怨等等。低神经质的人遇事比较平静淡定,不会有过多的波动
[0010] 开放性(Openness):高开放型的人比较有艺术感,喜欢创造、想象。而低开 放型的人更关注现实中的事物,对于艺术或者创造性强的事物并不感兴趣。
[0011] 大五人格分类标准只是给出了判断人物性格的定性标准,并没有给出合理的 量化标准。因此需要建立社交数据到大五性格分类的判定模型。

发明内容

[0012] 本发明针对人物性格分析问题,提出了一种基于深度学习的微博博主性格分 析方法。主要内容包括:采集微博博主和博文数据,进行数据预处理;通过性格 预标注策略,构建微博博主性格语料库;以深度学习技术为基础,训练和构建性 格分析模型,用模型输出的五大人格权重表示博主性格。通过实施步骤的实验分 析,证明了方法的有效性。
[0013] 为实现上述目的,本发明采用如下的技术方案
[0014] 一种基于深度学习的微博博主性格分析方法,包括以下步骤:
[0015] 步骤(1)微博数据形式化定义
[0016] 将一个微博博主blogger定义为blogger=(Userdata,Textdata,Character), Userdata表示该博主的属性信息,Textdata表示该博主发表的原创博文信息; Character=(Se,Sa,Sc,Sn,So)表示该博主所属的五大性格类别得分,其中 (Se,Sa,Sc,Sn,So)分别表示博主在外倾型、宜人型、尽职型、神经质和开放型性 格上的得分。
[0017] 步骤(2)采集微博博主和博文数据,进行数据预处理
[0018] (2.1)通过爬虫采集符合条件的微博博主数据
[0019] 条件包括:
[0020] 条件1:博主为个人账号。
[0021] 条件2:近1年内发表原创微博条数大于等于50条。
[0022] 将采集的博主相关信息记入集合Userdata,记作
[0023] Userdata=[Uname,UIntro,Ufans,Ufollow,Ufreq,Uorigin,Uforward],其中[0024] Uname表示博主的昵称,UIntro表示博主的简介,Ufans表示博主的粉丝数, Ufollow表示博主的关注数,Ufreq表示博主30天内的发表博文频率,Uorigin表示 博主30天内发表原创微博数量,Uforward表示博主30天内转发微博数量。
[0025] (2.2)采集博主的博文数据,并进行预处理
[0026] 对每条博文做如下预处理:
[0027] (1)删除微博博文中微博主题类别标签,如“@用户名”,“//@用户名”,“超 链接”等内容。
[0028] (2)博文文本繁体转简体。
[0029] (3)博文进行分词处理,删除博文中的停用词和无用字符。
[0030] (2.3)存储博主数据和预处理的博文数据,博主数据存入Userdata,博文数 据存入Textdata。
[0031] 步骤(3)对微博博主进行性格预标记,构建微博博主性格语料库G
[0032] 对于每个微博博主blogger,随机从该博主的Textdata中抽取其一年内的h条 博文,记为B={b1,b2,…,bi,…,bN},1≤i≤h,其中bi表示所抽取的第i条博文。
[0033] 利用采集的微博语料,经过专家分析,人工构建性格词典Dic,性格词典Dic 分别给出了外倾型、宜人型、尽职型、神经质和开放型人格的性格词列表。利用 性格词典Dic,统计B中博文出现的外倾型、宜人型、尽职型、神经质和开放型 五种性格词的次数,分别记为NumE,NumA,NumC,NumN,NumO。将五个数值按 降序排列,取前两个数值,分别记作S1,S2,若S2/S1<β,β为阈值,则博主性格 被标记为S1值所对应的性格,Character=(Se,Sa,Sc,Sn,So)中博主对应性格得分 标记为1,其他性格得分标记为0,并将该博主数据加入微博性格语料库G。
[0034] 步骤(4)基于深度学习的性格分析Char-LSTM模型构建
[0035] 所述的Char-LSTM模型包括第一LSTM模、第二LSTM模块、双向LSTM 网络、四个全连层FC1、FC2、FC3、FC4。
[0036] 通过深度学习技术提取博主Userdata的属性特征和博主所发博文Textdata的 博文特征,并将两者映射到同一向量空间,并用于博主的性格类别判定模型的训 练,其Char-LSTM模型结构如图2所示,模型具体工作过程如下:
[0037] 步骤(4.1)对语料库G中每个博主blogger的Userdata进行特征提取。首先 将Userdata中的Uname和UIntro转化为向量表示:
[0038] 将Uname进行分词,记为name=[nw1,nw2,…,nwi,…,nwm],1
[0039] 将博主个性签名UIntro分词表示为Intro=[Iw1,Iw2,…,Iwi,…,Iwe],1
[0040] 将已处理的vec(Uname)、vec(UIntro)和数值向量Uorigin,Uforward拼接为 Vec(Userdata)={vec(Uname),vec(UIntro),Ufans,Ufollow,Ufreq,Uorigin,Uforward}, 输入到Char-LSTM模型的全连接层FC1中,获取到Userdata的特征表示Fuser= [u1,u2,…,ui,…,um],1
[0041] 步骤(4.2)对微博博主性格语料库中的每个博主的博文进行特征提取
[0042] 博主blogger的n条原创微博表示为Textdata= [Text1,Text2,…,Texti,…,Textn],限定每条博文的长度为textsize。若博文长度大 于textsize,则截断该博文,若博文长度小于textsize,则用“”补齐。
[0043] 对于Textdata中的每条博文Texti=[twi1,twi2,…,twij,…,twis],1
[0044] 然后将每条博文的向量表示线性拼接为 [vec(Text1),vec(Text2),…,vec(Texti),…,vec(Textn)],然后输入到全连接层FC2 中,得到Textdata的向量表示,记作Ftext=[u1,u2,…,ui,…,um],1
[0045] 步骤(4.3)Char-LSTM模型的输出
[0046] 将博主blogger的Userdata和Textdata的特征向量Fuser和Ftext进行线性拼接, 然后利用全连接层FC3,将拼接映射到维度为p的特征空间,得到博主的向量表 示,记作Fplogger=[u1,u2,…,ui,…,up],1
[0047] 将从相同特征空间得到的向量Fplogger输入到全连接层FC4,得到最终的模型 输出向量y,激活函数选用softmax。全连接层FC4神经元个数为5,分别表示微 博博主五种性格类别的概率。
[0048] 步骤(5)Char-LSTM模型的训练
[0049] 将训练数据输入到Char-LSTM模型,利用交叉熵损失函数和反向传播算法 更新模型的参数,直到模型的准确率不再改变或者达到预先设置的最大迭代次数。 交叉熵损失函数的公式为 通过最小化L来更新参数。其中 为 预测值,yi为真实标签。
[0050] 步骤(6)基于Char-LSTM模型的博主性格分析
[0051] 对于任意一个需要判定性格的博主blogger,记该博主1年内发布原创微博 Textdata条数为N,随机将N条微博分为 组,n为步骤(4.2)中模型的 输入微博条数。将博主信息Userdata和每组博文输入到Char-LSTM模型,得到m 组微博博主五种性格类别的概率表示,取m组性格类别概率的平均值为博主 blogger的大五性格表示。
[0052] 有益效果
[0053] 本发明充分的优势主要体现在以下3个方面:
[0054] 1)给出了可供参考的性格词典,经过人工筛查,较为准确。
[0055] 2)充分考虑到微博博文的文本內容和博主特征对博主性格的影响。
[0056] 3)性格模型可以对博主的大量博文进行并行分析,用神经网络训练,效率 和准确率较高。
[0057] 本发明按照大五人格对社交用户的性格进行分析,对社交平台中用户的个人 信息和发表的文本信息,给出人物性格对应的大五人格雷达图。本发明可以帮助 相关公司、企业及政府部有效地分析社交用户的性格特点。附图说明
[0058] 图1本发明基于深度学习的微博博主性格分析方法的流程图
[0059] 图2基于深度学习的性格分析Char-LSTM模型
[0060] 图3博主性格的五维雷达图示例。

具体实施方式

[0061] 下面结合图表和实施例,对本发明的具体实施方式作进一步的详细描述。以 下实施例用于说明本发明,但不用来限制本发明的范围。
[0062] 本发明提出的方法是依次按以下步骤实现的:
[0063] 步骤(1)微博数据形式化定义
[0064] 步骤(2)采集微博博主和博文数据,进行数据预处理
[0065] (2.1)通过爬虫采集符合条件的微博博主数据
[0066] 条件包括:
[0067] 条件1:博主为个人账号
[0068] 条件2:近1年内发表原创微博条数大于等于50条。
[0069] 将采集的博主相关信息记入集合Userdata,记作
[0070] Userdata=[Uname,UIntro,Ufans,Ufollow,Ufreq,Uorigin,Uforward],其中[0071] Uname表示博主的昵称,UIntro表示博主的简介,Ufans表示博主的粉丝数, Ufollow:表示博主的关注数,Ufreq表示博主30天内的发博频率,Uorigin表示博 主30天内发表原创微博数量,Uforward表示博主30天内转发微博数量。
[0072] 博主信息的具体示例如下:Userdata=(“我是高兴的分割线”,/,65758521, 215,12,9,3])
[0073] (2.2)采集博主一年内的原创博文数据,并进行预处理
[0074] 对所采集的每条博文做如下预处理:
[0075] (1)删除微博博文中微博主题类别标签,如“@用户名”,“//@用户名”,“超 链接”等内容。
[0076] (2)博文文本繁体转简体。
[0077] (3)博文进行分词处理,删除博文中的停用词和无用字符。
[0078] 采集博主50条微博,博文数据存入Textdata。
[0079] 步骤(3)对微博博主进行性格预标记,构建微博博主性格语料库G
[0080] 性格词典是基于专家经验人工建立的,词典分别给出了五种性格的性格词列 表,以下为专家人工建立的性格词典Dic示例。
[0081] 表1性格词典示例
[0082]
[0083] 对于每个微博博主blogger,随机从该博主b的Textdata中抽取其一年内的 50条博文,记为B,利用性格词典Dic,统计B中博文出现的外倾型、宜人型、 尽职型、神经质和开放型五种性格词的次数,分别记为 NumE,NumA,NumC,NumN,NumO。经过计算,NumE=48,NumA=74,NumC=23, Num N=4,NumO=54。将五个数值按降序排列,取前两个数值,分别记作S1,S2, 因为S2/S1<β,β=0.8,博主性格被标记为S1值所对应的性格,y=[Se,Sa,Sc,Sn,So] 中博主对应性格得分标记为1,其他性格得分标记为0,并将该博主数据加入微 博性格语料库G。对于博主K,S1=74,S2=48,S2/S1=0.61<0.8,y=(0,1,0,0,0).
[0084] 步骤(4)基于深度学习的性格分析Char-LSTM模型构建
[0085] 通过深度学习技术提取博主自身的属性特征Userdata和博主所发的博文特 征Textdata,并将两者映射到同一向量空间,并用于博主的性格类别判定模型 的训练,其Char-LSTM模型结构如图2所示,模型分别对Userdata和Textdata 做如下操作。
[0086] 步骤(4.1)对语料库G中每个博主blogger的Userdata进行特征提取。首 先将Userdata中的Uname和UIntro的文字转化为向量表示:
[0087] 将Uname进行分词,记为name=[我|是|高兴|的|分割线]。用中文语料库训练的 词向量表示name中的每个词语,记为name2vec= [nw1vec,nw2vec,…,nwivec,…,nwlvec],其中l取128,将nmae2vec输入到 Char-LSTM模型中的LSTM模块中,得到博主昵称的向量表示,即vec(Uname)= LSTM(name2vec),其中LSTM隐藏层的神经元个数取16,LSTM层数为1。
[0088] 将博主个性签名UIntro分词表示为Intro=[/],用中文语料库训练的词向量表 示Intro中的每个词语,记为Intro2vec=[Iw1vec,Iw2vec,…,Iwivec,…,Iwkvec], 其中k取50,将Intro2vec输入到Char-LSTM模型的LSTM模块中,得到博主 个性签名的向量表示,即vec(UIntro)=LSTM(Intro2vec),其中LSTM隐藏层 的神经元个数取16,LSTM层数为1。
[0089] 将已处理的vec(Uname)、vec(UIntro)和数值向量等拼接为 Vec(Userdata)=[vec(Uname),vec(Uintro),65758521,215,12,9,3],输入到 Char-LSTM模型的全连接神经网络FC1中,获取到Userdata的特征表示Fuser= [u1,u2,…,ui,…,um],1
[0090] 步骤(4.2)对微博博主性格语料库中的每个博主的博文Textdata进行特征 提取[0091] 博主blogger的50条原创微博表示为Textdata= [Text1,Text2,…,Texti,…,Text100],限定每条博文的长度为textsize=100。若博 文长度大于textsize,则截断该博文,若博文长度小于textsize,则用“”补齐。
[0092] 对于Textdata中的每条博文Texti=[twi1,twi2,…,twij,…,twis],1
[0093] 然后将每条博文的向量表示线性拼接为 [vec(Text1),vec(Text2),…,vec(Texti),…,vec(Text50)],然后输入到全连接层 FC2中,得到博主的Textdata的向量表示,记作Ftext=[u1,u2,…ui,…ua],1< i
[0094] 步骤(4.3)Char-LSTM模型的输出
[0095] 将博主blogger的Userdata和Textdata的特征向量Fuser和Ftext进行线性拼 接,然后利用全连接层FC3,将拼接映射到维度为p的特征空间,得到博主的向 量表示,记作Fblogger=[u1,u2,…ui,…up],1
[0096] 将从相同特征空间得到的向量F2logger输入到全连接层FC4,得到最终的模型 输出向量y,激活函数为softmax。全连接层FC4神经元个数为5,分别表示微博 博主五种性格类别[Se,Sa,Sc,Sn,So]的概率。
[0097] 步骤(5)Char-LSTM模型的训练
[0098] 根据步骤1-步骤3,得到微博博主性格语料库规模10000条,选取其中的80% 作为训练数据输入到Char-LSTM模型,其中 表示模型预测的向量,y表示步骤 2.3中利用性格词典标记的性格向量,利用交叉熵损失函数和反向传播算法更新 模型的参数,直到模型的准确率不再改变或者达到预先设置的最大迭代次数。交  叉熵损失函数的公式为通过最小化L来更新参数。其中 为 预测值,yi为真实标签。
[0099] 步骤(6)模型的运用
[0100] 在模型运用阶段,将测试数据的博主的Userdata和Textdata信息输入到已经 训练好的模型,输出维度为5的向量,分别代表该博主属于[Se,Sa,Sc,Sn,So]的概 率的作为该博主最终的性格得分,对应博主性格的五维雷达图见图3。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈