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

相关文章

Python在二进制文件中进行数据搜索的实战指南

《Python在二进制文件中进行数据搜索的实战指南》在二进制文件中搜索特定数据是编程中常见的任务,尤其在日志分析、程序调试和二进制数据处理中尤为重要,下面我们就来看看如何使用Python实现这一功能吧... 目录简介1. 二进制文件搜索概述2. python二进制模式文件读取(rb)2.1 二进制模式与文本

SQL Server 中的表进行行转列场景示例

《SQLServer中的表进行行转列场景示例》本文详细介绍了SQLServer行转列(Pivot)的三种常用写法,包括固定列名、条件聚合和动态列名,文章还提供了实际示例、动态列数处理、性能优化建议... 目录一、常见场景示例二、写法 1:PIVOT(固定列名)三、写法 2:条件聚合(CASE WHEN)四、

C#实现将XML数据自动化地写入Excel文件

《C#实现将XML数据自动化地写入Excel文件》在现代企业级应用中,数据处理与报表生成是核心环节,本文将深入探讨如何利用C#和一款优秀的库,将XML数据自动化地写入Excel文件,有需要的小伙伴可以... 目录理解XML数据结构与Excel的对应关系引入高效工具:使用Spire.XLS for .NETC

Python自动化提取多个Word文档的文本

《Python自动化提取多个Word文档的文本》在日常工作和学习中,我们经常需要处理大量的Word文档,本文将深入探讨如何利用Python批量提取Word文档中的文本内容,帮助你解放生产力,感兴趣的小... 目录为什么需要批量提取Word文档文本批量提取Word文本的核心技术与工具安装 Spire.Doc

MySQL数据目录迁移的完整过程

《MySQL数据目录迁移的完整过程》文章详细介绍了将MySQL数据目录迁移到新硬盘的整个过程,包括新硬盘挂载、创建新的数据目录、迁移数据(推荐使用两遍rsync方案)、修改MySQL配置文件和重启验证... 目录1,新硬盘挂载(如果有的话)2,创建新的 mysql 数据目录3,迁移 MySQL 数据(推荐两

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

C语言逗号运算符和逗号表达式的使用小结

《C语言逗号运算符和逗号表达式的使用小结》本文详细介绍了C语言中的逗号运算符和逗号表达式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 在C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接其一般形式为:表达

Go语言实现桥接模式

《Go语言实现桥接模式》桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化,本文就来介绍一下了Go语言实现桥接模式,感兴趣的可以了解一下... 目录简介核心概念为什么使用桥接模式?应用场景案例分析步骤一:定义实现接口步骤二:创建具体实现类步骤三:定义抽象类步骤四:创建扩展抽象类步