2. 北京林业大学 心理系, 北京 100083
2. Department of Psychology, Beijing Forestry University, Beijing 100083, China
在过去几年中,精神障碍已成为世界各地最严重的健康问题之一,各种精神障碍会在不同程度上导致患者产生自杀倾向。世界卫生组织的数据表明,从2000年-2012年,我国每年有超过800万人死亡,其中每10万死者中有7.8人死于自杀。预防自杀是全球降低自杀率的重要研究课题[1]。然而导致自杀的原因多样,并且随时代的发展在不断变化[2]。
随着社交媒体用户数量与日俱增,研究人员开始基于社交媒体进行分析,从中挖掘出情感信息[3]。新浪微博是全国用户量最大的微博网站,最新统计结果表明,新浪微博用户每月发布大约100亿条微博[4],这为自杀风险预测的研究提供了方便。有相关研究指出,一些人倾向于选择社交媒体来表达自己的非正常情感状态[5-6]。Cheng等[8]的研究表明有精神障碍的微博用户很有可能在微博上表达出他们的自杀想法[7]。现存在多种利用社交媒体的模型来检测情感状态。Dredze等[9]建立了一个基于词语形式和专家知识的统计模型,用来发掘社交媒体中普遍讨论的健康话题。Lei等[10]基于社交网络建立了自杀意念预测系统,该系统使用心理学词典探索已知病例的语言特征,继而训练了一个自杀检测模型。Golbeck等[11]提出了包含个人信息和语言特征的信息监测模型,用来预测用户的性格等,但不能实时展现出其情感状态。
随着人工智能研究的进一步深入,机器学习算法逐渐地应用于情感分析领域。Ghaderi等[12]使用KNN和k-means算法将被测用户的压力分为3个层次,这种划分有利于分析的深入,而其离散型的结果使得预测的准确性有一定的偏差。Tian等[13]利用多层神经网络实现了微博自杀风险预测模型。由于其模型为两类分类器,预测结果较为单一,仅区分为自杀和非自杀。Lin等[14]利用深度稀疏神经网络研究特定Twitter中包含跨媒体属性的压力类别及其程度,指出压力在一定程度上会导致自杀。之后,Lin等[15]又设计了一个基于深度神经网络对社交媒体用户心理压力进行检测的模型。相对于之前的工作,此方法增加了风险程度分析,但这些工作均未考虑其他会导致自杀的非正常情感状态。此外,Yu等[16]在用户性格评估工作中应用了无监督学习算法,其中也包括跨媒体数据的测试,但该模型没有考虑用户状态的信息,如发布时间等。为降低微博数据的不平衡性对预测结果的影响,文献[17-18]通过手动方式来提高总用例中目标用例的比例。也有一些分类模式旨在区分自杀倾向概率极高和极低事件,忽略了处于中间概率的事件[18]。另外,有些研究方法仅依赖于关键字或标签进行分析[19],导致这些分析方法不能准确反映微博所表达的主题思想。利用现有的情感词典在一定程度上可以更加有效地表达主旨内容[20],社交媒体中的情感词汇较为丰富,在模型训练过程中,不断更新原有的情感词典可以提升预测模型的性能[21-22]。
针对上述研究存在的各种问题,本文根据领域知识设计了微博用户情感分层分类方案。以新浪微博为研究对象,通过建立了分层的支持向量机模型,对用户进行自杀倾向预测分析,为自杀预防提供有效的支持。
1 自杀倾向预测模型的构建本模型主要包括数据预处理和模型训练以及相应参数优化,模型框架如图 1所示。
![]() |
Download:
|
图 1 模型框架 Fig. 1 Framework of the model |
数据预处理的具体流程如图 1中A部分所示。每个要测试的微博S作为模型输入,对输入的微博进行预处理,数据预处理部分的输出即为待测微博的向量化形式。图 1中B部分给出了分层支持向量机(support vector machine,SVM) 模型的主要部分。由A部分输出的向量作为B部分的输入,经过预测模型的计算,输出即为被测微博存在自杀风险的概率。
1.1 数据收集和预处理收集一定时间段内的微博作为原始数据集。实验数据包含以下信息:用户ID和发布日期(具体时间段)以及微博内容。需要声明的是,文中所使用的方法和数据均以隐私权保护为前提。虽然微博数量是一定的,但由于中文的复杂性和中文表达形式的多样性,导致所收集数据在一定程度上存在冗余。因此,需要将数据进行预处理,从而从非结构化数据中提取情感信息。
首先,将微博中的一些特殊符号删除,如热点标签或回复标记等内容。为了数据格式的一致性,将来自其他用户的评论或回复也删除,微博内容中所提及的网址都使用字符串“url”来替换。然后,依据相关领域知识设计了人工标注方案。为了更加准确检测微博内容是否包含自杀倾向,以心理学领域为主,同时兼顾网络用语和微博口语等,收集与自杀相关的词汇等表达方式,建立了包含不同精神状态的分层分类方案。具体分类方案如图 2所示。本实验中所使用的情感词典为台湾大学简体情感词典(NTUSD)。一定情况下,由于数据的复杂性,对于某些特定内容,通用情感词典并不能完全满足实验要求。所以,在建立机器学习模型过程的同时,需进一步对情感词典进行扩展。
![]() |
Download:
|
图 2 情感分类方案 Fig. 2 Sentiment classification schema |
依据情感分类方案,对每个微博根据其内容进行人工标注。首先,标注者确定微博内容是否与情感相关。如果相关,进一步确定它是消极的,积极的还是中立的。如果是消极的,该微博应该进一步分类到其子类,其中包括“自杀”,“精神疾病”,“压力”和“愤怒”等类别。表 1列出了对每个类别的具体解释。
![]() |
表 1 子类别具体定义 Table 1 Detailed definition of different sub categories |
对每个微博进行标注分类后,使用分词工具进行分词,同时去除停用词。分词后,利用Word2Vec将处理过的数据进行向量化,即将每个预处理后的微博转换为Vi(x1, x2, x3, x4,…,xk),利用矩阵进行计算。在本实验中,词语间的相似性也被考虑在内,在不同的微博中找到相似词。至于相似度的计算,本文采用欧几里得距离计算方法:
$ S=\sum\limits_{i=1}^{k} \sqrt{\left(x_{1_{i}}-x_{2_{i}}\right)^{2}} $ | (1) |
其中,相似度为p=1/(1+S)。对于分配相同权重并被归类于同一子类的相似词语的数量,即式中k值可进行自定义,本实验该值为4。
1.2 分层的SVM模型SVM的基本模型是在特定空间中找到最佳的超平面用来解决二分类问题,引入核函数后可用于解决非线性问题。基于SVM的基本模型,本文根据如图 2所示的情感分类方案,构建了3层的SVM模型,对微博用户自杀倾向的概率进行预测,模型使用了默认的RBF核函数。其中,每层分类所对应的分类目标是在相邻层分类基础上进行的。对于第1层分类的分割超平面表示为:
$ f_{1}(\boldsymbol{x})=\boldsymbol{\omega}_{1}^{\mathrm{T}} \varphi(\boldsymbol{x})+\boldsymbol{b}_{1} $ | (2) |
式中:ω1为法向量,决定超平面的方向;b1为位移项,决定了超平面与原点之间的距离。该超平面分类目标是确定微博内容是否与情感相关。与之类似,第2层分类的分割超平面表示为:
$ f_{2}(\boldsymbol{x})=\boldsymbol{\omega}_{2}^{\mathrm{T}} \varphi(\boldsymbol{x})+\boldsymbol{b}_{2} $ | (3) |
式中:常数b2与式(2)对应含义相同,该超平面的确定是在第1层分类的基础上进行的。主要目标是用来对含有消极情绪和非消极情绪的微博进行分类。
第3层分类是本实验最重要的部分。通过前2层的分类过滤,所得到数据即为进行预测的目标数据。根据式(1),即欧几里得距离公式相似度的计算后,将微博归类于分类模型第3层的对应类别中。由于不同类别下所对应的微博自杀概率并不相同,因此在实验中不同类别所对应的关键词分别赋予不同的权重。
对于每一层的分类,为了得到最大间隔划分的超平面,可转化为其对偶问题求解,在本实验中,利用拉格朗日乘子法得到其对偶问题,即:
$ L(\omega, \boldsymbol{b}, \alpha)=\frac{1}{2}\|\boldsymbol{\omega}\|^{2}+\sum \alpha_{i}\left(1-y_{i}\left(\boldsymbol{\omega}^{\mathrm{T}} \boldsymbol{x}_{i}+\boldsymbol{b}\right)\right) $ | (4) |
该方法的核心在于对函数L的相关变量进行求导,最终转换为的对偶问题,即:
$ \left\{\begin{array}{l}{\max \limits_{\alpha} \sum\limits_{i=1}^{m} \alpha_{i}-\frac{1}{2} \sum\limits_{i=1}^{m} \sum\limits_{i=0}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} \boldsymbol{x}_{I}^{\mathrm{T}} \boldsymbol{x}_{j}} \\ {\mathrm{s.t.} \sum\limits_{i=0}^{m} \alpha_{i} y_{i}=0, i=1, 2, \cdots, m}\end{array}\right. $ | (5) |
经过多次实验,发现参数优化对数据分析结果会产生显著影响。该结论在Du等[23]的实验中也得到了验证。对于具有RBF核函数的SVM模型,参数C和γ需要进行优化。其中,C是对分类误差的容忍程度,γ是核函数的自带参数[24]。参数C的值越高说明对模型准确度要求越严格,参数γ隐含地决定了数据映射到新的特征空间后的分布。使用核函数后,所对应的对偶问题(5)即可表达为:
$ \left\{\begin{array}{l}{\max\limits _{\alpha} \sum\limits_{i=1}^{m} \alpha_{i}-\frac{1}{2} \sum\limits_{i=1}^{m} \sum\limits_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} \varphi\left(\boldsymbol{x}_{I}^{\mathrm{T}}\right) \varphi\left(\boldsymbol{x}_{j}\right)} \\ {\mathrm{s.t.} \sum\limits_{i=0}^{n} \alpha_{i} y_{i}=0, i=1, 2, \cdots, m}\end{array}\right. $ | (6) |
式中ϕ(x)即为所使用的核函数。
1.3 数据分析为了评估实验模型对于预测自杀倾向的准确性,我们对测试数据在模型预测和人工评估2种方式下进行了比较。依据实验目的和数据特征,本文重点研究以下两点:
1) 发现精神非正常状态。
随机从原始数据集中选择几名用户的微博,使用本文所提出的模型预测自杀倾向或其他精神非正常状态。与此同时,由几名领域专家来判断这些微博是否存在自杀倾向,并以平均评分作为人工检测结果。对于模型检测,情感词典和每个类别内的特定词的出现频率都是通过自动匹配进行估算的。
2) 预测自杀倾向。
本文所提出的模型,不仅可以对是否有自杀倾向进行判断,还可以计算存在自杀倾向的概率,该概率在一定程度上依赖相关词语的权重。在对微博发布时间序列进行分析后,发现有自杀倾向的微博往往在晚上发布,而且其发布频率高于普通微博。文献[25]研究发现有自杀倾向的微博用户更喜欢关注自己,而很少提及别人,也即使用第一人称的频率较高,例如“我自己”、“我”、“我的”等。也有一些人在微博中提到了他们的亲戚,包括父母、兄弟姐妹或恋人等。为了提高预测模型的准确性,实验中我们为这些词赋予合适的权重。综合考虑到多方面因素,预测存在自杀倾向的概率可表示为:
$ p=\sum\limits_{i=1}^{k} w_{i}+(1+\alpha) w_{0}+\frac{1}{\delta_{w_{i}} \sqrt{2 {\rm{ \mathsf{ π} }}}} \mathrm{e}^{-\frac{(x-\mu)^{2}}{2 \delta^{2}}} $ | (7) |
式中:wi代表待测语句中第i个词语的权重;w0代表人称代词的权重。对于人称代词的权重,在模型学习过程中不断改变,其值由学习率α决定。根据对时间序列的分析结果这里使用正态分布公式确定其权重,其中,μ和δ别表示期望值和标准差。
2 实验结果与分析 2.1 模型对比分析为了验证分层分类模型的优势,将普通分类模型和分层分类模型分别进行了实验,实验结果如表 2所示。从表 2可以看出,分层分类模型在各个类别中的实验结果明显优于普通分类模型,尤其是与目标密切相关的类别,如精神疾病和自杀风险等。例如,对于“压力”和“自杀”类别,分层分类模型的F1值分别增加了0.028 8和0.024 4。实验结果表明分层分类模型更适合于科学领域中的不平衡数据(与自杀倾向不相关的数据远多于与自杀倾向相关的数据)。
![]() |
表 2 不同分类模型下十折交叉验证F1值比较 Table 2 10-fold cross validation performances on plain classification and hierarchical classification (F1 score) |
根据微博用户动力学模型的研究,微博用户的发布行为存在一定的周期规律性[26-27]。因此,本文对所收集的数据做了统计分析,并将统计结果映射到数值1~10。图 3显示了被归类于自杀倾向和精神疾病类别下的微博发布时间序列,图 4显示了这2类别总和与发布时间序列的关系。可以看出,发布时间序列对自杀倾向预测具有一定的影响作用。约50%的含有自杀倾向的微博发布于23:00~05:00,尽管该期间也存在无自杀倾向的用户发布微博,但与有自杀倾向的微博数量相比,有较大的差距。对此现象的合理解释是这些微博包括一些具有较高权重的情感词语,例如“死亡”或“再见,世界”等。相反,有自杀倾向的微博很少发布在06:00~14:00,而在此同时有超过40%的非自杀倾向微博被发布,自杀微博发布比率在午夜左右达到顶峰。经过对参数反复调整,本文发现含有自杀倾向的微博比例与发布时间之间的关系可以用正态曲线拟合,这意味着可以给不同的时间段赋予不同的权重。
![]() |
Download:
|
图 3 自杀和精神疾病微博发布概率 Fig. 3 Posting frequency of suicide & mental illness |
![]() |
Download:
|
图 4 自杀和精神疾病微博发布概率总和 Fig. 4 Sum of posting frequency of suicide & mental illness |
如表 3所示,参数优化对本文实验研究起了重要的作用。针对不平衡的微博数据,对于参数优化问题可分层进行。在每层利用网格搜索,逐步为模型找到最佳参数。在该实验中,为降低计算难度,本文将优化分为2步:1)使用默认参数C,利用网格搜索得到最佳γ值; 2)用第1步中的最佳γ值,利用网格搜索得到最佳C值。每个步骤的验证结果见表 3,其中最后一列显示了对SVM模型最终优化后的评估结果。与使用默认参数的情况相比,“精神疾病”和“自杀”类别下的F1值显著提高了12.93%和3.13%,而其他类别提高较少。对于该实验结果,可以从以下几方面进行解释:1)收集的数据数量仍然有限;2)本文所使用的情感词典可能更注重自杀风险,而不是愤怒状态;3)不平衡数据使得权重分配不够精确。
![]() |
表 3 不同优化参数下的10折交叉验证F1比较 Table 3 10-fold cross validation performances among models with different parameters optimization |
1) 三层SVM的分类模型的结果明显优于普通模型,使自杀倾向的预测准确率获得一定幅度的提高。
2) 对于极度不平衡的微博数据,分层次的参数优化策略在一定程度上降低了数据不平衡特性对预测结果的影响。
3) 在进行预测结果与发布时间序列分析时,发现自杀倾向与发布时间之间的关系大致可以用正态曲线拟合。
4) 实验结果表明基于分层支持向量机的算法模型可更有效地对微博用户的自杀倾向进行预测。
虽然在分层SVM模型下,预测准确率得到显著提高,但实验仍存在一些局限性。例如,对于数据集的人工标注过程并没有考虑复杂的社交网络结构,微博上的相关评论也会隐藏重要信息。如果依据评论构造复杂的社交网络结构,并将其加入到预测模型中,准确率将会得到进一步提高。在未来的研究中,应考虑更多的相关因素,增加模型的复杂度,提高预测精确度。
[1] |
World Health Organization. Preventing suicide: a global imperative[R] Geneva: World Health Organization, 2014.
( ![]() |
[2] |
BROWN G K, BECK A T, STEER R A, et al. Risk factors for suicide in psychiatric outpatients:a 20-year prospective study[J]. Journal of consulting and clinical psychology, 2000, 68(3): 371-377. DOI:10.1037/0022-006X.68.3.371 ( ![]() |
[3] |
LIU Bing, ZHANG Lei. A survey of opinion mining and sentiment analysis[M]//AGGARWAL C C, ZHAI Chengxiang. Mining Text Data. Boston, MA: Springer, 2012: 415-463.
( ![]() |
[4] |
China Internet Watch. China social media landscape 2018[EB/OL]. (2018-09-05). https://www.chinainternetwatch.com/26502/social-media-2018/.
( ![]() |
[5] |
周胜臣, 瞿文婷, 石英子, 等. 中文微博情感分析研究综述[J]. 计算机应用与软件, 2013, 30(3): 161-164, 181. ZHOU Shengchen, QU Wenting, SHI Yingzi, et al. Overview on sentiment analysis of Chinese Microblogging[J]. Computer applications and software, 2013, 30(3): 161-164, 181. DOI:10.3969/j.issn.1000-386x.2013.03.043 ( ![]() |
[6] |
FORBEY J D, BEN-PORATH Y S. Empirical correlates of the MMPI-2 restructured clinical (RC) scales in a nonclinical setting[J]. Journal of personality assessment, 2008, 90(2): 136-141. DOI:10.1080/00223890701845161 ( ![]() |
[7] |
CHENG Qijin, KWOK C L, ZHU Tingshao, et al. Suicide communication on social media and its psychological mechanisms:an examination of Chinese Microblog users[J]. International journal of environmental research and public health, 2015, 12(9): 11506-11527. DOI:10.3390/ijerph120911506 ( ![]() |
[8] |
魏韡, 向阳, 陈千. 中文文本情感分析综述[J]. 计算机应用, 2011, 31(12): 3321-3323. WEI Wei, XIANG Yang, CHEN Qian. Survey on Chinese text sentiment analysis[J]. Journal of computer applications, 2011, 31(12): 3321-3323. ( ![]() |
[9] |
PAUL M J, DREDZE M. Discovering health topics in social media using topic models[J]. PLoS one, 2014, 9(8): e103408. ( ![]() |
[10] |
HUANG Xiaolei, ZHANG Lei, CHIU D, et al. Detecting suicidal ideation in Chinese Microblogs with psychological lexicons[C]//Proceedings of the IEEE 11th International Conference on Ubiquitous Intelligence and Computing and 2014 IEEE 11th International Conference on Autonomic and Trusted Computing and 2014 IEEE 14th International Conference on Scalable Computing and Communications and ITS Associated Workshops. Bali, Indonesia: IEEE, 2014: 844-849.
( ![]() |
[11] |
GOLBECK J, ROBLES C, EDMONDSON M, et al. Predicting personality from twitter[C]//Proceedings of 2011 IEEE Third International Conference on Privacy, Security, Risk and Trust and 2011 IEEE Third International Conference on Social Computing. Boston, MA, USA: IEEE, 2012: 149-156. https://ieeexplore.ieee.org/document/6113107
( ![]() |
[12] |
GHADERI A, FROUNCHI J, FARNAM A. Machine learning-based signal processing using physiological signals for stress detection[C]//Proceedings of 2015 22nd Iranian Conference on Biomedical Engineering. Tehran, Iran: IEEE, 2015: 93-98. https://ieeexplore.ieee.org/document/7404123
( ![]() |
[13] |
田玮, 朱廷劭. 基于深度学习的微博用户自杀风险预测[J]. 中国科学院大学学报, 2018, 35(1): 131-136. TIAN Wei, ZHU Tingshao. Deep learning model for suicidal identification of Chinese Microblogs[J]. Journal of University of Chinese Academy of Sciences, 2018, 35(1): 131-136. ( ![]() |
[14] |
LIN Huijie, JIA Jia, GUO Quan, et al. Psychological stress detection from cross-media Microblog data using deep sparse neural network[C]//Proceedings of 2014 IEEE International Conference on Multimedia and Expo. Chengdu: IEEE, 2014: 1-6. https://ieeexplore.ieee.org/document/6890213
( ![]() |
[15] |
LIN Huijie, JIA Jia, GUO Quan, et al. User-level psychological stress detection from social media using deep neural network[C]//Proceedings of the 22nd ACM International Conference on Multimedia. Orlando, Florida, USA: ACM, 2014: 507-516.
( ![]() |
[16] |
XIANYU Haishu, XU Mingxing, WU Zhiyong, et al. Heterogeneity-entropy based unsupervised feature learning for personality prediction with cross-media data[C]//Proceedings of 2016 IEEE International Conference on Multimedia and Expo. Seattle, WA, USA: IEEE, 2016: 1-6.
( ![]() |
[17] |
BURNAP P, COLOMBO W, SCOURFIELD J. Machine classification and analysis of suicide-related communication on twitter[C]//Proceedings of the 26th ACM Conference on Hypertext & Social Media. Guzelyurt, Northern Cyprus: ACM, 2015: 75-84.
( ![]() |
[18] |
KUMAR M, DREDZE M, COPPERSMITH G, et al. Detecting changes in suicide content manifested in social media following celebrity suicides[C]//Proceedings of the 26th ACM Conference on Hypertext & Social Media. Guzelyurt, Northern Cyprus: ACM, 2015: 85-94.
( ![]() |
[19] |
GHIASSI M, LEE S. A domain transferable lexicon set for twitter sentiment analysis using a supervised machine learning approach[J]. Expert systems with applications, 2018, 106: 197-216. DOI:10.1016/j.eswa.2018.04.006 ( ![]() |
[20] |
GAO Rui, HAO Bibo, LI He, et al. Developing simplified chinese psychological linguistic analysis dictionary for Microblog[C]//Proceedings of 2013 International Conference on Brain and Health Informatics. Maebashi, Japan: Springer, 2013: 359-368. https://link.springer.com/chapter/10.1007%2F978-3-319-02753-1_36
( ![]() |
[21] |
HUANG C L, CHUNG C K, HUI N, et al. Development of the Chinese linguistic inquiry and word count dictionary[J]. Chinese journal of psychology, 2012, 54(2): 185-201. ( ![]() |
[22] |
DU Jingcheng, XU Jun, SONG H, et al. Optimization on machine learning based approaches for sentiment analysis on HPV vaccines related tweets[J]. Journal of biomedical semantics, 2017, 8(1): 9. ( ![]() |
[23] |
刘续乐, 何炎祥. 基于多特征的微博情感分析研究[J]. 计算机工程, 2017, 43(12): 160-164, 172. LIU Xule, HE Yanxiang. Research on Microblog sentiment analysis based on multi-feature[J]. Computer engineering, 2017, 43(12): 160-164, 172. DOI:10.3969/j.issn.1000-3428.2017.12.030 ( ![]() |
[24] |
JOACHIMS T. Making large-scale SVM learning practical[M]//SCHÖLKOPF B, BURGES C J C, SMOLA A J. Advances in Kernel Methods-support Vector Learning. Cambridge, MA: MIT Press, 1999: 499-526.
( ![]() |
[25] |
MOZETIČ I, TORGO L, CERQUEIRA V, et al. How to evaluate sentiment classifiers for Twitter time-ordered data?[J]. PLoS one, 2018, 13(3): e0194317. DOI:10.1371/journal.pone.0194317 ( ![]() |
[26] |
LI T M H, CHAU M, YIP P S F, et al. Temporal and computerized psycholinguistic analysis of the blog of a Chinese adolescent suicide[J]. Crisis, 2014, 35(3): 168-175. DOI:10.1027/0227-5910/a000248 ( ![]() |
[27] |
赵金楼, 成俊会, 刘家国. 兴趣、习惯、交互三重驱动的微博用户动力学模型[J]. 哈尔滨工程大学学报, 2015, 36(9): 1292-1296. ZHAO Jinlou, CHENG Junhui, LIU Jiaguo. Microblog users' dynamic model driven by interest, habit, and interaction[J]. Journal of Harbin Engineering University, 2015, 36(9): 1292-1296. ( ![]() |