A Data Augmentation Pipeline Leveraging Large Language Models for Counseling Conversations

LLM提升心理治疗对话

本文是LLM系列文章,针对《Enhancing Psychotherapy Counseling: A Data Augmentation Pipeline Leveraging Large Language Models for Counseling Conversations》的翻译。

增强心理治疗咨询:利用大型语言模型进行咨询会话的数据增强管道

摘要

我们引入了一个利用大型语言模型(LLM)将单轮心理治疗咨询会话转化为多轮互动的管道。虽然存在人工智能支持的针对精神障碍患者的在线咨询服务,但它们往往受到多轮训练数据集有限可用性的限制,并且经常无法充分利用治疗师的专业知识。我们提出的管道有效地解决了这些限制。该管道包括两个主要步骤:1)信息提取和2)多轮咨询生成。每一步都经过精心设计,从可用的数据集中提取并生成全面的多轮咨询对话。零样本和小样本生成场景的实验结果表明,我们的方法显著增强了LLM在心理健康咨询背景下产生更高质量多轮对话的能力。我们的管道和数据集在这里公开。

1 引言

2 相关工作

3 前言

4 方法

5 增强数据集

6 实验

7 结论

在本文中,我们通过将使用我们的管道生成的多轮心理治疗咨询对话与仅根据原始数据训练的模型生成的对话进行比较,来实验评估我们提出的管道的效用。我们证明,从原始数据中提取隐含信息作为多轮生成的输入

数据增强管道是一系列数据增强操作的组合,旨在通过对原始数据进行多种变换来扩充数据集,提高模型的泛化能力和鲁棒性。 基于引用,有不同领域的数据增强管道示例。在小目标检测领域,有基于生成对抗网络的完整数据增强管道,其主要步骤包括小目标数据增强,这又分为小目标生成和小目标集成。小目标生成包括Downsampling GAN (DS - GAN)和对象分割;小目标集成包含位置选择器、图像修复、插入和融合等操作[^1]。 在图像数据处理方面,PyTorch和TensorFlow/Keras提供了不同的数据增强管道实现方式。PyTorch提供丰富的内置增强函数,支持在线增强,可通过`Compose`组合多个变换,并在`DataLoader`中动态应用。例如定义训练集的在线增强管道,包括缩放、随机裁剪、水平翻转、颜色抖动、转换为Tensor和标准化等操作;测试集仅做标准化。具体代码如下: ```python import torchvision.transforms as transforms # 定义在线增强 pipeline(仅用于训练集) train_transform = transforms.Compose([ transforms.Resize((256, 256)), # 先缩放到256x256 transforms.RandomCrop(224), # 随机裁剪到224x224(CNN输入尺寸) transforms.RandomHorizontalFlip(p=0.5), # 50%概率水平翻转 transforms.ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2), # 颜色抖动 transforms.ToTensor(), # 转换为Tensor transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) # 标准化(ImageNet均值/标准差) ]) # 测试集仅做标准化(无增强) test_transform = transforms.Compose([ transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) ``` 在文本数据处理方面,也有数据增强管道的实现。例如利用`transformers`库的`pipeline`进行文本生成的数据增强,通过对句子中的单词进行替换和文本生成来扩充文本数据,代码如下: ```python import random from transformers import pipeline nlp = pipeline('text-generation', model='gpt2') def data_augmentation(sentence): words = sentence.split() num_words = len(words) aug_sentences = [] for i in range(num_words - 1): word = words[i] if len(word) > 3: new_word = ''.join([random.choice(['_', '_','', '_']) for _ in range(len(word))]) new_words = [w for w in words[:i]] + [new_word] + [w for w in words[(i+1):]] new_sentence = ' '.join(new_words) else: continue aug_sentences.append(nlp(new_sentence)[0]['generated_text'].strip()) return aug_sentences text = "The quick brown fox jumps over the lazy dog" augmented_texts = data_augmentation(text) print("Original Sentence:", text) print(" ") print("Augmented Sentences:") for aug_text in augmented_texts: print("-", aug_text) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值