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

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl