欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 202310045687X
申请人: 杭州师范大学钱江学院
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-08-01
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.融合推文信息和行为特征的社交网络用户抑郁症检测方法,其特征在于包括如下步骤:步骤1、从新浪微博数据库爬取用户数据集并进行文本清洗,通过手动标注生成抑郁用户数据集和非抑郁用户数据集;

步骤2、融合多通道CNN和基于注意力机制的BiGRU对用户每条推文的情感倾向进行分析,获得用户推文的情感倾向概率值;从每个用户的历史推文中,随机移除一定比例p的正情感倾向推文,将剩下的推文拼接成用户历史文本T;

步骤3、提取用户的发帖时间、转发行为和图像发布行为的特征构成用户行为特征向量;

步骤4、搭建融合用户历史文本T和用户行为特征向量的抑郁检测模型,将T输入BiGRU层和前馈注意力层得到每个用户历史文本的特征向量,融合用户历史文本的特征向量和用户行为特征向量,后输入到全连接层和softmax层;

步骤5、利用Adam优化方法对抑郁检测模型进行训练,训练完后用测试集对用户的抑郁状态进行检测;

步骤1具体实现如下:

1‑1.从新浪微博上收集候选抑郁用户数据集;随机选择几个与抑郁相关话题,然后从每个相关话题中爬取候选抑郁用户;爬取的这些候选抑郁用户的历史数据,包括历史推文、发布时间、是否为转发推文、是否发布图像信息;

1‑2.针对候选抑郁用户数据集,选择在其推文中提到抑郁症诊断病史的用户,设定为抑郁用户;此外,如果用户的推文中包含抑郁领域相关的症状词包括“自杀”、“抑郁”,以及一些相关的治疗药物包括“舍曲林”、“氟西汀”,同样设定为抑郁用户;

1‑3.从抑郁非相关主题中随机选取用户,并爬取这些用户的历史数据,包括历史推文、发布时间、是否为转发推文、是否发布图像信息,构成非抑郁用户数据集;

1‑4.针对每个用户的文本数据,通过分词和数据过滤进行文本数据的清洗;使用“Jieba”分词包进行文本分词;数据过滤主要是去除“#”主题、URL信息、不规则字符、停用词,以及官方账号用户,并将表情符号转化成文本信息;

步骤2具体实现如下:

2‑1.利用大规模中文Wikipedia数据集预训练CBOW模型,以此得到中文词的嵌入向量;

n×d

将每个用户的历史推文ti经过CBOW模型后用一个矩阵S∈R 来表示,其中n表示推文中词的个数,d表示每个词的嵌入向量维度;

2‑2.将矩阵S输入到多通道CNN中,多通道CNN包含卷积层和池化层;在卷积层中,假定h×d卷积核W∈R ,h={2,3,4}为卷积核的大小,通过卷积核W获得特征向量a=[a0,a1,...,n‑h+1an‑h]∈R ,aj=σ(W·Si:i+h‑1+b);其中,σ表示非线性函数,b代表偏置项,Si:i+h‑1表示矩阵S的第i行到第i+h‑1行;池化层中:将不同卷积核下的卷积层的输出输入到池化层,提取出固定维数下最重要的特征O;

2‑3.将每个推文输入到基于注意力的BiGRU模型中;将第一层设计为具有正向GRU和后向GRU结构的BiGRU层;第一层中,来自两个方向的隐藏层的输出被连接为BiGRU层的最终输出;将第二层设计为前馈(feed‑forward)注意层,以获得一个具有固定长度的表示向量:ci=tanh(Wihi+bi)

1×d

其中,hi表示单词si在BiGRU层的输出向量,ci表示全连接层的输出,Wi∈R 和bi∈R是注意力计算过程中的权重和偏置,h代表注意力层的输出,αi代表单词si的注意力分配系数;

2‑4.将步骤2‑2的输出的特征O和步骤2‑3注意力层的输出h进行拼接得到向量V=[O,h];将V输入到全连接层中,并在全连接层后加入dropout层以防止过拟合;在dropout层之后设计softmax层,输出得到用户特定推文ti的正负情感倾向概率值p(yi='positive')和p(yi='negative');p(yi='positive')代表推文为正向情感倾向的概率值,p(yi='negative')代表推文为负向情感倾向的概率值;

2‑5.利用Adam优化器对模型进行训练;

2‑6.从每个用户的历史推文中,随机移除一定比例p的正情感推文,将剩下的推文拼接成历史文本T;

步骤3具体实现如下:

3‑1.为了提取某用户的发布时间特征,提取每个用户一周内每小时发布的推文比例;

根据特定某小时发布的推文数计算其比例 一天内的推文

发布时间可以形成24维特征,一周内的推文形成168维的发布时间特征,记为ft;

3‑2.为了提取某用户的转发行为特征,提取某用户前150条历史推文的转发标签作为转发行为特征向量;若某推文转发自其他人的推文,则转发标签设定为1,否则为0;如果某个用户的历史推文少于150条,则用1填充向量;生成的用户转发行为特征向量记为fr;

3‑3.为了提取用户的图像发布特征,提取某用户前150条历史推文的图像发布标签组成特征向量;若用户发布的某推文含有图像信息,则图像发布标签设定为1,否则为0;如果某个用户的历史推文少于150条,则用0填充向量;生成的图像发布特征向量记为fg;

3‑4.由于不同特征的取值范围不同,将特征ft通过min‑max归一化方法归一化到[0,1],得到f't,再将f't、fr和fg特征向量进行拼接得到f;f为用户的行为特征向量,维度为468;

所述步骤4具体实现如下:

4‑1.利用步骤2‑1训练得到的CBOW模型,获得某用户历史文本T中每个词的嵌入向量,m×d形成历史推文序列S'∈R ,其中m表示历史推文序列中词的总个数,d表示每个词的嵌入向量维度,d=300;

4‑2.将每个用户的历史推文序列S'输入基于注意力的BiGRU模型中;将第一层设计为具有正向GRU和后向GRU结构的BiGRU层;在这一层中,来自两个方向的隐藏层的输出被连接为BiGRU的最终输出;将第二层设计为前馈注意层,以获得一个具有固定长度的表示向量:ci'=tanh(Wi'hi'+bi')

其中,hi'表示历史推文序列S'中的单词s'i在BiGRU的输出向量,ci'表示全连接层的输

1×d

出,Wi'∈R 和bi'∈R是注意力计算过程中的权重和偏置,αi'代表词汇si'的注意力分配系数,h'代表注意力层的输出,即用户历史文本的特征向量;

4‑3.将用户历史文本的特征向量h'和用户行为特征向量f进行拼接,输入到全连接层中,之后设计sigmoid层,输出得到用户的抑郁概率值其中, 表示全连接层的输出,Wf和bf代表权重和偏置,并定义交叉熵损失函数为:其中,K代表训练集的个数。

2.根据权利要求1所述的融合推文信息和行为特征的社交网络用户抑郁症检测方法,其特征在于所述步骤3具体实现如下:抑郁检测模型训练完后,将测试集输入抑郁检测模型,过滤一定比例p的正情感推文,然后将每个用户剩下的推文组成用户的历史推文,并根据步骤3提取用户的行为特征向量,将两者输入到训练好的抑郁检测模型中,输出某用户患有抑郁症的概率值。