基于深度学习的在线健康社区抑郁症用户画像研究
2021-03-21刘海鸥姚苏梅何旭涛苏妍嫄
刘海鸥,姚苏梅,何旭涛,苏妍嫄
1(燕山大学 经济管理学院,河北 秦皇岛 066004) 2(燕山大学 互联网+与产业发展研究中心,河北 秦皇岛 066004)
1 引 言
随着移动社交网络的发展和普及,越来越多的抑郁症患者倾向于通过在线健康社区宣泄情感、表达自我诉求.在线健康社区内容具有文本长度短小、形式趋于口语化、语义特征复杂等特征,传统机器学习的情感判别方法以及基于词典的情感判别方法难以精准有效挖掘在线健康社区文本的语义特征.因此,如何利用人工智能技术,精准识别出在线健康社区用户的情感倾向与抑郁程度,从而辅助抑郁症患者的有效治疗,成为当前学术界和业界关注的热点问题.
部分学者对涉及在线健康社区用户参与行为的影响因素、参与行为类型、评论信息挖掘等问题进行了一定程度的研究.Naslund JA[1]通过研究证明在线健康社区中患有精神疾病的用户可以通过与其他人的交流,获得一定的医疗保健决策信息.H.Erin Lee等[2]对韩国残障人士使用社交媒体及在线健康社区进行了调查,通过研究得出,这些用户的在线健康社区大数据可以在一定程度上改善用户的心理健康水平,且较高的在线健康社区使用量可以有效缓解用户的抑郁症状.Zhao J等[3]从在线健康社区用户评论分析的角度出发,通过构建用户投票采用模型,分析不同因素如何影响在线健康社区中的用户评论.Smailhodzic[4]等针对患者使用在线健康社区的目的将其分为不同类型,并对患者的网络信息行为进行了分析,发现在线健康社区抑郁症患者在个人健康信息管理行为水平上存在显著的高低差异.上述研究均从文本的主题特征或者在线评论的数量属性、时间属性进行分析,基于文本情感角度对在线健康社区用户的情感倾向与抑郁程度进行深度挖掘的相关研究很少.
作为机器学习的一个分支,深度学习经常用来处理文本情感信息的深度挖掘,常用的模型主要包括如下3种:①基于卷积神经网络(Convolutional Neural Network,CNN)的情感分类模型.该模型被大量应用于图像识别、句子匹配、文本分类、情感分类、智能问答等多种领域.如Wang Peng[5]基于CNN模型和词嵌入聚类改善短文本分类效果,Er Meng Joo[6]在卷积神经网络中加入注意力机制用于文本分类,实验证明在一些数据集上分类效果较好,并且具有鲁棒性.②基于循环神经网络(Recurrent Neural Network,RNN)的情感分类模型.该模型又称为递归神经网络,相较于CNN忽略了语言的前后关系,RNN更注重时序信息,因此更擅长处理文本信息.如Tung Tran[7]基于RNN等模型对患者的病例描述进行分析,实验证明在11种常见精神疾病中分类效果有所提升.③卷积神经网络和循环神经网络的混合模型.该模型结合了CNN和RNN的优点,能够捕捉长距离文本依赖关系,更精准刻画词语含义,如Banerjee I[8]、Tong[9]均在RNN的基础上加入CNN,形成循环卷积神经网络RCNN,实验结果比单纯的深度学习模型要表现优异.Hassan Abdalraouf[10]则使用RNN模型替换CNN的池化层,实验表面,该模型在斯坦福大型电影评论数据集上分类效果得到显著提升.
结合上述分析可以看出,深度学习技术为准确识别在线健康社区抑郁症患者特征奠定了基础,因此可以借助深度学习模型判定用户的抑郁情感倾向.此外,依据用户的评论进行用户抑郁状态的识别还需要分析抑郁文本在用户所有评论中的分布状况.因此,本文将用户画像理念运用到在线健康社区用户的抑郁程度分析中,提出基于深度学习的在线健康社区抑郁症用户画像模型,将识别用户的抑郁情感状态分为单条文本的抑郁情感倾向判断和用户的抑郁状态判断,以此判断用户的抑郁情感和抑郁状态.本研究有助于对抑郁症患者实施有针对性的引导和救助,从而为维护我国人民精神健康、践行“健康中国”战略提供参考.
2 基于TCNN-GRU深度学习的在线健康社区抑郁症用户画像模型
为了准确识别出抑郁症患者,本文提出基于TCNN-GRU深度学习的在线健康社区抑郁症用户画像模型,具体流程如图1所示.
图1 基于TCNN-GRU的在线健康社区抑郁症用户画像流程Fig.1 User portrait process of depression in online health community based on TCNN-GRU
基于TCNN-GRU深度学习的在线健康社区患者用户画像模型实现主要包含以下两点:
1)构建基于TCNN-GRU的抑郁情感分类模型.首先对在线健康社区平台实验数据集进行抑郁情感分类标注,对于每条语料进行分词和去停用词等预处理工作,然后通过TCNN-GRU模型进行训练,优化直至最后得到的模型能够准确地判别一条社交评价是否含有抑郁症倾向.
2)构建基于TCNN-GRU的在线健康社区抑郁症用户画像.通过界定用户画像的标签,提出抑郁指数的概念,该指数综合考虑微博评论条数、微博原创和转发微博条数情况,用于判断在抑郁症方面用户的分类情况,然后对抑郁指数和患者抑郁程度的关系进行分析,构建并完成基于社交发布内容数量的在线健康社区抑郁症患者画像模型.
2.1 基于TCNN-GRU的文本分类模型
2.1.1 模型构建
遵循深度神经网络的一般设计原则,本文提出先使用不同尺寸卷积核进行卷积后使用门控循环单元的TCNN-GRU结构,既发挥TextCNN模型的文本局部特征提取能力,又能发挥门控循环单元(GRU)模型的文本序列信息学习能力,克服卷积神经网络由于卷积核尺寸固定而导致文本局部特征信息粒度固定、死板问题,解决了循环神经网络长时依赖问题,总体实现文本情感分类过程中兼顾全局特征信息和文本序列信息.TCNN-GRU结构设计如图2所示.
图2 TCNN-GRU模型内部结构图Fig.2 Internal structure of model TCNN-GRU
图2中由词转向为词向量的词映射过程采用了word2vec方式,TextCNN层使用3种尺寸的卷积核进行卷积操作,RNN模型采用其变体门控循环单元(GRU)捕捉文本的序列信息[11].深度学习处理文本内容的步骤主要包括:
1)输入层:将微博内容文本切分为词单元,通过词映射得到词向量,进一步得到文本矩阵,完成微博内容到输入矩阵的转换.
2)隐藏层(核心层):TextCNN是Kim2014年提出的深度神经网络模型,将卷积神经网络处理图片信息的理论引申至文本分析领域,处理文本时具有多种局部感知和共享参数的特点,能够较好捕获到局部信息,虽然增加了多种尺寸的卷积核进行卷积,但仍然具有捕获到的局部信息粒度固定的缺点.因而TextCNN在本模型中的作用为高效处理微博内容语句的局部特征信息,输出结果为特征向量,并作为下一时刻GRU模型的输入,GRU通过重置门和更新门对序列信息进行处理.
3)隐藏层和输出层:将经过不同卷积核和GRU模型后的结果进行拼接,加入dropout层防止训练过程中过拟合,最后进行全连接操作,采用softmax分类器输出TCNN-GRU模型预测微博内容情感类别概率向量.
2.1.2 数据处理过程
通过在keras中搭建函数化模型的方式,TCNN-GRU模型搭建、编译和测试微博内容文本的具体过程如下:
1)输入层.输入层将微博内容评论原始数据经过预处理后作为TCNN-GRU预测模型的输入,即原始微博内容经过数据清洗、中文分词、word2vec词映射转换后输入到预测模型中,处理的过程可用以下公式表明:
M=v1⊕v2⊕…⊕vi⊕…⊕vn
(1)
其中,⊕表示连接运算符,vi表示原始微博内容分词后第i个词的词映射结果.
2)TextCNN特征提取层.TextCNN特征提取层主要对输入的文本矩阵进行深度特征提取,本文构建由3种不同尺寸的卷积核且彼此并行的卷积结构,获取微博内容文本不同粒度的抽象特征信息.根据卷积神经网络用于文本分类的特点,将各并联的卷积通道中卷积方式设置为一维卷积,并使用ReLU激活函数进行激活.经过卷积层处理后原始微博内容数据被映射到隐层且抽象的特征空间,搭建并联的卷积结构将其转换输出,经由激活函数,提取得到特征向量,可表示为:
C1=f(ω1⊗M+b1)=Relu(ω1⊗M+b1)
(2)
C2=f(ω2⊗M+b2)=Relu(ω2⊗M+b2)
(3)
C3=f(ω3⊗M+b3)=Relu(ω3⊗M+b3)
(4)
其中,C1、C2、C3是卷积层1、卷积层2、卷积层3的卷积结果,w1、w2、w3为对应卷积层的权重矩阵,b1、b2、b3是为对应卷积层的偏差,⊗为卷积运算符.
在实际模型设计中,同一尺寸的卷积核可以有多个,达到取得不同特征的目的,然后对其结果进行拼接.在传统TextCNN预测模型中,经由卷积操作后的特征向量需要进行最大池化、平均池化等方式的池化过程,用以达到减少参数数量、选择代表文本的重要特征等目的.但是池化操作丢失了部分微博内容文本重要特征信息.因此,TCNN-GRU预测模型选用GRU模型代替池化层进一步提取特征的序列信息.
3)GRU序列信息提取层.GRU序列信息提取层对来自于上一层卷积操作后的向量进行序列信息学习和提取.GRU设置了更新门和重置门,处理文本序列信息的内部流程如下所示
(5)
p(y|s)=softmax(w·v*+b*)
(6)
(7)
2.2 在线健康社区抑郁症用户画像
用户画像通过大量数据分析和提取的用户特征标签,通过主动或被动地收集用户在互联网上留下的信息,将其加工成一系列的标签,最后用于识别特定用户[12]、个性化推荐[13]与精准营销[14]领域.本文所提的基于深度学习的在线健康社区抑郁症用户画像模型面向的场景为在线健康社区用户抑郁症研究,该场景要求模型能够准确识别出在抑郁情绪方面在线健康社区用户的分类情况,并识别出抑郁症患者.依据文献[15]对在线健康社区的定义,微博亦属于在线健康社区的组成部分.参考临床上对抑郁症患者的界定,该场景下用户画像的标签设立为正常用户、轻度抑郁、中度抑郁和重度抑郁,并在判定这些标签时选择抑郁指数作为衡量标准.
2.2.1 抑郁指数
抑郁症是一种明显的、持续性的情绪低落状态,为对这一状态进行表征,陶炯[16]在研究中采用SDS抑郁指数对癌症患者的心理健康状况进行测评.虽然抑郁症文本分类模型能够对单条文本判别是否为抑郁症倾向,但无法判定发表该条语句的用户一定是抑郁症患者,因为发表例如“情绪被拦腰折断,索性也哭不出来了”语句的患者很有可能只是受到短暂性刺激做出的冲动反应,短时间内能够迅速平复心情,回复非情绪低落状态.鉴于此,施志伟[17]从文本分析的角度对网络用户的抑郁症倾向进行判断时,通过抑郁微博占用户总微博数的比例来计算用户的抑郁指数,以此来衡量用户个体在一段时间内的抑郁倾向程度.虽然从文本角度分析抑郁倾向无需考虑在线视频社区用户的粉丝数等特征,但用户的文本却可以分为两类,即用户于他人账户言论下的评论以及用户个人主页内容.因此,本文在设定抑郁指数时参考了一定时间内博文数量和评论数量,提出基于在线健康社区的抑郁指数,计算公式如下:
(8)
其中,Ncd指一定时间内用户在其他账户下发布含有抑郁倾向的微博条数,Nct指一定时间内用户在其他账户下发布所有微博条数,Nmd指一定时间内用户在个人账户下发布和转发含有抑郁倾向的微博条数,Nmt指一定时间内用户在个人账户下发布和转发的所有微博条数,DI是抑郁指数.
2.2.2 抑郁程度
ZUNG氏抑郁自评量表(SDS)是一种自评量表,可以有效判别抑郁症的程度,以0.5、0.7、0.85为阈值分为无抑郁、轻度抑郁、中度抑郁和重度抑郁.ZUNG氏抑郁自评量表可信效度高,操作方便等优点,本文通过在线健康社交平台发放抑郁症自测的链接,内容为ZUNG氏抑郁自评量表,并且注意在收集填写人的信息时用户隐私的保密.同时,采用Python爬虫技术对用户的评论、博客发布内容等进行爬取和标注,以此计算用户的抑郁指数.通过对获取的链接填写数据分析,将用户的SDS评分与指数进行皮尔逊相关系数检验,结果显示DI指数和和SDS评分在0.01水平(双侧)上显著相关,且r=0.5564,说明两者有较强的相关性.通过上述分析,提出抑郁指数与抑郁程度之间的关系式如下:
(9)
其中,S(DI)指在线健康社区用户的抑郁状态,按照抑郁指数的分布状况可分为正常、轻度抑郁、中度抑郁和重度抑郁4种.
3 实验及结果分析
3.1 实验数据
依据文献[15]对在线健康社区的定义,满足信息、用户和社区3个要素的社区称为在线健康社区.新浪微博是目前中国最大和最有价值的社交平台,其发布功能、转发、关注、评论等功能使得中国用户能够便捷分享事件、表达情感和交换信息[18].新浪微博账户名为“走饭”的用户由于抑郁症离世,在国内引起巨大轰动,随着时间推移热度没有下降反而该微博账户因此沉淀了一大批抑郁症患者,成为抑郁症患者的交流平台.总之,“走饭”的微博平台既传递信息,沉淀了用户,又提供了用户线上活动的场所和用户间的信息交流空间,满足了形成在线健康社区的定义.因此,本研究实验数据从“走饭”的微博评论下进行爬取,爬取的内容包括用户在“走饭”微博下的评论以及用户个人账户的原创微博和转发微博文字,并对获取的文本内容进行是否抑郁的标注.为尽力保证标注的准确性,本实验采取的主要措施有:①实验参与者了解语言学、熟悉抑郁症的相关知识;②设置标注的审核程序,对于初次标注完成的数据进行交叉审核工作.根据深度学习对于实验数据的平衡性要求,对标注结果进行筛选和过滤,过滤掉话题内容、图片信息、链接信息等,最终,本实验选取一共18万余条正例数据(有抑郁倾向的数据)和18万余条负例数据(非抑郁症数据),其中用户主页微博文字约20万条形成微博数据集,评论一共约16万条形成评论数据集,两个数据集均按0.8∶0.2的比例划分为训练集和测试集.
3.2 实验设置
1)实验参数设置.对于实验设备条件和本文的网络结构,相关参数设置如表1所示.
2)评价指标设置.准确率是衡量检测正确的真正样本和真负样本在所有样本中所占的比重,准确率公式:
(10)
其中,Accuracy为模型准确率,TP指真正例(模型预测结果和实际标签均为积极),FP为假正例(模型预测结果为积极,实际标签却为消极),TN指真负例(模型预测结果和实际标签均为消极),FN指假负例(模型预测结果为消极,实际标签却为积极)[19].实验过程采用平衡数据集,因此采用以上4种指标作为衡量模型训练好坏的标准.
表1 实验环境和相关配置Table 1 Experimental environment and related configuration
3)对比实验设置.主要包括:
①机器学习模型.选用在实践中验证分类效果较好的支持向量机(Support Vector Machine,SVM)、多层感知机(Multilayer Perceptron,MLP)、和随机森林(Random Forest,RF),文本特征选用TF-IDF.
②TextCNN模型.TextCNN文本分类模型是Kim在2014年提出的,论文中说明了模型的结构并进行了对应的实验.论文的主要关注点在于使用词向量时,词向量的获取方式以及词向量是否可以进行微调.CNN-rand模型是指词向量随机初始化并跟随训练进行修正,CNN-static模型、CNN-nonstatic模型、CNN-multichanne分别对应于使用预先训练好的词向量并且不可微调、使用预先训练好的词向量并且可以进行微调以及前面两种模型的混合模型.
③RNN模型.作为循环神经网络(RNN)的最常用的变体,长短期记忆网络(LSTM,Long Short-Term Memory)在文本分类方面取得卓越成就.EBiLST模型结合了微博文本的特点,将表情符蕴含的情感向量加入Bi-LSTM模型中用于微博文本分类.GRU也是RNN网络的常用变体之一,设置了重置门和更新门对信息进行控制.
④混合模型.CNN-BiLSTM特征融合模型通过CNN模型进行文本内部信息的特征提取,又使用双向LSTM模型提取文本的上下文信息.层次多注意力网络模型(HMAN)主要出于优化传统深度学习文本分类模型、避免机器学习人工设计特征的繁琐的目的,结合了HAN和GRU模型的两种优点.C-LSTM[20]核心思想是采用卷积操作后,采取LSTM网络结构替代原有的池化过程,既保留了因为池化会丢失的重要信息,又可以提取文本序列信息.
3.3 实验结果
3.3.1 参数影响
为了探究不同超参数对模型影响,首先分析几个重要的影响因素,然后采取Grid Search方法选定模型需要的参数.
1)句子长度影响因子.不同用户发表的评论长度不一,文本在转换为计算机可理解的形式时,需要确定固定的文本长度.当这一变量取得过大,会对模型造成干扰从而降低模型的准确率;而当这一变量取得过小,将会丢失大部分语义信息,从而降低模型准确率.对所选取的抑郁症文本数据集,经过统计性分析后,确立26、28为两个候选值.
2)卷积核高度影响因子.为了获得最优性能时卷积窗口的尺寸,本文首先确定了在TextCNN模型中使用较多的卷积核宽度为[3,4,5],并选取了一个对比实验,其尺寸为[4,5,6].
3)Epoch影响因子.Epoch的大小表示整个数据集在训练时的总迭代次数,迭代次数的设置大小应适中,次数过小,达不到训练精度,次数太大,往往会导致过拟合,因此将前两个影响因素进行组合,探究使用不同参数组合的模型随epoch的变化关系.将前两个因素名称设置为len_text、cornel_height,使用不同参数组合的模型为4个,则combination(i)表示第i种参数组合方式,例如combination2(len_text=26,cornel_height=[4,5,6]).准确率和epoch的关系如图3所示.
图3 模型准确率随epoch值变化趋势Fig.3 Trend of model accuracy with epoch value
通过图3可以看出,不同的参数组合分别在epoch为7,7,6,7时达到模型的最优,当超过该最优epoch时,在测试集上得到的准确率较为平稳,但是测试集准确率反而下降.同时,模型准确率最高的是使用combination1(len_text=26,cornel_height=[3,4,5])的模型,在训练集和测试集上准确率分别为94.24%和93.96%.
3.3.2 对比实验结果
实验对比结果如表2所示.可以看出,在微博用户个人主页内容的数据集和“走饭”微博的评论两个数据集上,本文所提TCNN_GRU模型都要优于其他模型,在两个数据集上准确率分别高出次高模型1.56%、2.47%,比表现最差的模型提高了14.62%、13.61%的准确率.整体上而言,传统机器学习模型在文本分类上的效果和表现并不如深度学习模型;TextCNN模型中表现最好的是使用预先训练的词向量并且设置参数可以微调的模型CNN-nonstatic;EBiLSTM作为RNN模型的改进,在分类效果上并没有比LSTM模型好很多;进一步分析发现,不同于其他类型微博用户,实验对象的“走饭”评论和用户得主页微博内容中很少出现表情符,因而加入表情信息并不能对模型提高做出较大的贡献;混合模型中CNN-BiLSTM由于既引入了外部信息,又提高了文本局部信息,使用BiLSTM提取序列信息,准确率较高.C-LSTM与上述模型思路类似,但模型内部结构不同.HMAN使用了层次注意力,分类效果优良但是分类效果仍然低于本文所述模型,本模型提高了3.89%和3.60%的准确率.
3.3.3 用户画像
1)在线健康社区用户抑郁指数画像
依据上述模型对于语句判断结果,并获取“走饭”微博下一定数量的用户评论情况和发博情况,计算其抑郁指数(DI)和抑郁程度(S(DI)).实验统计了在线健康社区6位用户半年的动态,以月为单位进行统计,在线健康社区用户抑郁指数画像如图4所示.
表2 对比实验结果Table 2 Comparison of experimental results
图4中,用户1的DI指数经常位于0.5附近,可以成为正常用户的代表,生活在快节奏,带有压力的社会环境下,除了发表个人生活等愉快的内容外,也表现了部分消极内容;用户2的DI指数经常位于0.5-0.7的区间内,即经常处于轻度抑郁状态,说明时常感到压抑,会在“走饭”微博下倾诉,寻找情感慰藉;用户3的DI指数经常位于0.7-0.85的区间内,经常处于中度抑郁状态,对于此类用户需要积极采取措施予以帮助;用户4的DI指数这一年内都处于高于0.85以上,处于重度抑郁状态,对于此类用户,生活已经很少能给他带来愉悦,长期处于崩溃、孤独、想离世的边缘;而用户5和用户6的DI指数经常跳脱某一固定区间,此类用户可能在某个单位月内受到压力、刺激,而当压力、刺激等得到排解后,其情绪又从抑郁恢复正常.
图4 在线健康社区用户抑郁指数画像Fig.4 Profile of depression in online health community users
2)在线健康社区抑郁症用户画像
不同状态和情境下的用户言语色彩较为明显,抑郁症患者在用词方面更具有不同于其他群体的特点,本文随机抽取抑郁用户部分“走饭”评论和个人微博内容(如图5所示).抑郁用户的微博内容呈现出一种孤独、无助、脆弱的状态,其用词特征主要表现在两个方面:更注重第一人称的使用和更喜欢使用极端词汇.“自己”、“一个”词往往表明抑郁症患者经常注重自我的内心,相对于愉快的“追星族”等群体,他们更注重使用第一人称,而很少发表关于其他人的言论.“什么”和“没有”经常用于同一句话所形成的“什么都没有”和“真的”等显著的词汇都是极端的用词,可见抑郁症患者用词较为偏激.
图5 在线健康社区抑郁症用户画像Fig.5 User portraits of patients with depression
4 结论与展望
针对目前在线健康社区抑郁症患者识别面临的问题,本文从文本分析的角度出发,提出基于TCNN-GRU深度学习的抑郁情感分类模型和在线健康社区抑郁症用户画像模型,将识别用户的抑郁情感状态分为单条文本的抑郁情感倾向判断和用户的抑郁状态判断,以此衡量用户的抑郁情感和抑郁状态.实验结果表明,与传统方法相比,TCNN-GRU深度学习模型在抑郁情感分类上能获得了更优的结果,丰富了人工智能与深度学习技术在信息科学领域的方法研究;基于TCNN-GRU的在线健康社区抑郁症用户画像模型也能够从文本分析的角度准确识别用户的抑郁情感和抑郁状态,有助于相关组织、个体在进行抑郁症患者识别和治疗时的分析和决策,改善患者心理健康水平,最终推进19大“健康中国”战略的顺利实施.当然,本文所做的工作还相对有限,存在需要继续改进的地方.例如基于TCNN-GRU的在线健康社区抑郁症用户画像研究涉及到识别抑郁症文本、计算抑郁指数和抑郁程度等流程,本文在该方面仍有继续提升的空间,希望在今后的研究中进一步完善.