Mental-LLM——通过在线文本数据利用大型语言模型进行心理健康预测

本文主要是介绍Mental-LLM——通过在线文本数据利用大型语言模型进行心理健康预测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

源码地址:https://github.com/neuhai/Mental-LLM.git
论文地址:https://arxiv.org/abs/2307.14385

在一项关于哪些法律硕士适合精神健康护理的研究中,对以下五种法律硕士进行了比较

  • 羊驼-7b。
  • 羊驼-LoRA。
  • FLAN-T5-XXL
  • GPT-3.5
  • GPT-4.

作为本研究的背景,心理健康护理领域是近年来备受商业和组织管理研究关注的一个领域。然而,关于 LLM 在心理健康护理领域的表现及其准确性如何,还没有进行过全面的研究,因此本文将对 LLM 在综合心理健康护理领域的潜力进行调查。

与以往研究的区别

本文介绍了几项相关研究,并不是说根本没有与心理保健有关的法律硕士调查和研究。不过,论文指出,大多数研究都不如本研究全面,而且大多数研究都是使用简单的提示工程进行的零点研究。

本研究与现有研究的不同之处还在于,本研究全面研究和评估了各种技术,以提高 LLM 在心理健康领域的能力,如模型性能随提示的变化、微调时应注意的数据量或项目,以及用户对文本推理的评估。本研究的目的是

研究结果

这项研究的结果可大致归纳如下

(i) 在心理健康护理领域,我们证明 GPT-3 和 GPT-4 在其知识空间中存储了足够的知识。
(ii) 微调结果表明,LLMs 的能力可以在不同数据集上同时针对多个心理健康特定任务得到显著提高。
(iii) 我们为心理健康预测任务提供了开放的微调 LLM。
(iv) 提供了一个框架,包括数量和质量,以便为 LLMs 创建数据集,用于未来心理保健领域的研究。

关于(i)和(ii)

下表显示了每个模型的结果,从最上面一行开始依次为:零镜头学习、零镜头学习 + 添加比问题更多的上下文、零镜头学习 + 赋予 LLM 角色、零镜头学习 + 添加比问题更多的上下文 + 赋予 LLM 角色。

下面是 “Few-Shot Learning”,其中介绍并回答了一些问题。

从这些结果来看,TASK#1 中表现最好的竟然是现有的 BERT 模型 Mental-RoBERTa。微调模型在其他任务中的表现也优于现有的 GPT,而在 GPT 内部的比较显示,"零镜头 "和 "少镜头 "之间没有显著差异,这表明 GPT 系列所掌握的知识空间包含了足够的心理健康知识。这表明,在 GPT 系列所掌握的知识空间中,有足够的心理健康知识。

Alpaca 和 FLAN-T5 在微调前后的其他比较结果表明,微调前,Alpaca 和 FLAN-T5 的性能压倒性地优于 FLAN-T5。然而,微调后的结果显示,Alpaca 的性能已赶上 FLAN-T5。这一结果表明,与基于 LLM 的网络相比,FLAN-T5 等早期网络对自然语言的理解能力较差。因此,本研究认为,在微调过程中,Alpaca 可能从微调数据中吸收了更多信息,并接近了 FLAN-T5 的结果。

(iv) 关于

下图(论文中的图 1)显示了第(iii)点所述的已发布的 Mental-Alpaca 模型在改变训练集时的准确度变化。结果表明,经过微调后,准确率与基础模型相比基本有所提高。此外,可以看出数据集的大小与系统并不一定有直接关系。这表明,在 LLM 中微调数据集时,质量和多样性比数量问题更重要。

实验细节

至于提示语,我们尝试了三种模式–无语境、在语境中包含相似信息和让模型扮演专家角色–以及后两种模式的组合,以解决从句子中预测心理状态标签的任务,并比较绩效。

结果表明,如前所述,无论提示中是否存在信息,GPT 系列的表现都很好,而且我们判断有关精神护理的知识已作为基本信息嵌入知识空间。

下图分别为 "零镜头 "和 "少镜头 "的提示设计。

接下来,实验中使用的数据集是 Dreaddit、DepSeverity、SDCNL 和 CSSRS-Suicide。下面将简要介绍每个数据集。

**Dreaddit
**Dreaddit 数据集是 Reddit(美国一个流行的社交网站)上的帖子集合,包含五个领域(虐待、社交、焦虑、创伤后应激障碍和金融)的 10 个子数据集。多名人类注释者对海报中的某段文字是否表示压力进行了评估,并将注释汇总生成最终标签。该数据集用于后级二元压力预测(任务 1)。

**DepSeverity
**DepSeverity 数据集采用了与 Dreaddit 上收集的相同的提交内容,但不同之处在于它侧重于抑郁症:两名人类注释员根据 DSM-5 将提交内容分为四个抑郁症等级:极轻度、轻度、中度和重度。数据集以任务集的形式提供。该数据集用于两个贡献级任务。(i) 二元抑郁预测(即一篇帖子是否表明至少有轻度抑郁,任务 2)和 (ii) 四级抑郁预测(任务 3)。

**SDCNL
**SDCNL 数据集也是 Reddit 上帖子的集合,包括 r/SuicideWatch 和 r/Depression。通过人工标注,每篇帖子都被标记为表明有自杀意念或没有自杀意念。我们利用该数据集进行帖子级二元自杀意念预测(任务 4)。

**CSSRS-Suicide
**CSSRS-Suicide 数据集包含来自 15 个心理健康相关子论坛的贡献,四名活跃的精神病学家按照哥伦比亚自杀严重程度评定量表(C-SSRS)的指导原则对 500 名用户进行了注释。我们从五个层面对用户进行了人工标注:支持、指标、意念、行为和自杀未遂风险。我们利用该数据集完成了两项用户级任务:二元自杀风险预测(即用户是否至少表现出一个自杀指标,任务 5)和五级自杀风险预测(任务 6)。

训练数据和测试数据的分割比例以及数据数量如下图所示。

这些结果已在前面介绍过。

总结

当没有用于微调的数据和计算资源时,使用注重任务解决的 LLM 可能会产生更好的结果。在有足够数据和计算资源的情况下,对基于对话的模型进行微调已被证明是更好的选择。

另一方面,我们也注意到,像 Alpaca 这样具有交互式对话功能的模型可能更适合下游应用,例如为最终用户提供心理健康支持。
未来的挑战有两个

  • 需要进行更多的案例研究,使其更接近实际应用。
  • 多个数据集,需要使用更多 LLM 进行验证

这篇关于Mental-LLM——通过在线文本数据利用大型语言模型进行心理健康预测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1133445

相关文章

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

Python实现高效地读写大型文件

《Python实现高效地读写大型文件》Python如何读写的是大型文件,有没有什么方法来提高效率呢,这篇文章就来和大家聊聊如何在Python中高效地读写大型文件,需要的可以了解下... 目录一、逐行读取大型文件二、分块读取大型文件三、使用 mmap 模块进行内存映射文件操作(适用于大文件)四、使用 pand

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,