CN117828063B - 一种心理领域数据生成、模型训练方法、装置及存储介质 - Google Patents

一种心理领域数据生成、模型训练方法、装置及存储介质 Download PDF

Info

Publication number
CN117828063B
CN117828063B CN202410033864.7A CN202410033864A CN117828063B CN 117828063 B CN117828063 B CN 117828063B CN 202410033864 A CN202410033864 A CN 202410033864A CN 117828063 B CN117828063 B CN 117828063B
Authority
CN
China
Prior art keywords
strategy
dialogue
psychological
model
reply
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410033864.7A
Other languages
English (en)
Other versions
CN117828063A (zh
Inventor
唐天驰
刘昌松
刘胜坤
张汝民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Shuye Intelligent Technology Co ltd
Original Assignee
Guangdong Shuye Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Shuye Intelligent Technology Co ltd filed Critical Guangdong Shuye Intelligent Technology Co ltd
Priority to CN202410033864.7A priority Critical patent/CN117828063B/zh
Publication of CN117828063A publication Critical patent/CN117828063A/zh
Application granted granted Critical
Publication of CN117828063B publication Critical patent/CN117828063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Machine Translation (AREA)

Abstract

本发明人工智能技术领域,提供了一种心理领域数据生成、模型训练方法、装置及存储介质。目的在于解决目前缺乏有效的生成心理领域高质量对话数据生成和训练垂直领域大语言模型的方法。输入策略标注语料和开源数据集,构建马尔科夫链生成策略,去重并初始化话题和策略组列表,供多轮对话生成。通过策略匹配找到最相似对话案例,提供给专家级语言模型引导回复。定义模板并用案例、问题和策略填充,生成多轮对话并保存为心理领域数据集。训练大语言模型以适应心理领域多轮对话任务,采用特殊标识符、因果语言模型和加权平均损失函数提升专业度和针对性。

Description

一种心理领域数据生成、模型训练方法、装置及存储介质
技术领域
本发明属于人工智能技术人机对话***中的自然语言理解领域,提供了一种心理领域数据生成、模型训练方法、装置及存储介质。
背景技术
近年来,随着大规模语料库和硬件容量的迅速增长,研究人员发现通过扩大模型和训练数据的规模可以持续提高模型容量,这最终催生了大语言模型,如GPT-3(1750亿参数)、PaLM(5400亿参数)和LLaMA(650亿参数)。 与较小模型相比,大语言模型在理解和生成文本方面表现显著,并逐渐成为热门的人工智能研究趋势。通过利用大语言模型进行高效的文献分析、复杂数据解释、文档写作等彻底改变了自然和社会科学的研究方法,并促进了跨学科合作。
虽然大语言模型在通用领域方面完成各式各样的任务具有巨大的潜力,但要有效地将其打造成一个能解决实际问题的“对话机器人”依然面临着巨大挑战。这就导致了“大语言模型领域专业化”的出现。具体而言,不同领域、角色和任务之间的对话和语言风格存在显著差异,比如从心理学疏导到法律咨询再到在线聊天等,不同场景下对大语言模型回复的针对性、专业度要求不一,某些场景需要丰富的过往案例经验,而某些场景需要深入理解专业的复杂理论知识。此外,此外,不同领域、机构和团队面对不同的业务有着自己的“商业模型”,单一通用的大语言模型没有办法直接有效地解决特定领域下的问题。其次,许多场景下对领域知识要求深入、实时和准确,且这些领域知识资源是机构、组织专有的资产和核心竞争力,绝对不能泄露给通用的大语言模型。
下游任务学习(Downstream task learning)是大语言模型领域专业化的常用做法,领域专业化以后的大语言模型能更好地适用于特定的任务以及集成到应用程序。
如图5所示,大语言模型领域专业化的方法可以分为三类:外部增强(ExternalAugmentation)、提示设计(Prompt Crafting)和模型微调(Model Fine-tuning)。其中,模型微调可以给大语言模型带来最为显著的性能提升,该方法需要基于一个较小量级、特定领域的数据集上进行模型训练。最新研究表明采用模仿学习的方式,可以使开源的小规模的大语言模型“汲取”闭源的专家级大语言模型(如ChatGPT)的知识,即通过提示工程挖掘性能优越的专家级大语言模型内蕴含的知识,然后再让性能次一点小规模大语言模型学习这些知识,从而提升模型在特有任务上的表现。开源的小规模大语言模型(参数量7B左右)在硬件需求、算力成本、工程优化难度等方面都比更通用的大模型更具有优势,通过模仿学习,仅需少量的资金成本就可以打造一个在特定任务上和闭源的专家级大语言模型匹敌的私有化模型,从而实现大语言模型领域专业化。而随着社会压力的增加、信息传播的快速以及家庭结构的变化,青少年的心理健康问题逐渐引起了广泛关注。青少年面临着诸多挑战,包括学业压力、人际关系、身体形象等问题,这些都可能对其心理健康产生负面影响。因此,利用先进的人工智能技术在校园中进行心理健康风险普查并为风险对象提供智能的心理疏导服务成为一项迫切的需求。
将人工智能技术应用于心理疏导服务是一个不小的挑战,现有的心理疏导服务主要基于预先定义好的对话路径和语料库引导和回复用户,显著降低了疏导的灵活性,缺乏情感理解能力和共情能力。而通用领域大语言模型直接用于心理疏导缺乏针对性和专业性,打造心理领域专业化的大语言模型用于心理疏导服务则缺乏足量的高质量对话标注数据,这些标注数据依赖于耗时、昂贵的人力。时至今日,仍然缺乏有效地生成高质量心理领域对话数据和训练心理领域专业大语言模型的方法。
现有技术的缺陷主要体现在以下几个方面:
1. 通用性不足:大语言模型虽然具有巨大的通用性,但在理解和生成特定领域的文本时,其表现仍然存在显著的不足。这导致了在实际应用中,大语言模型往往需要进行领域专业化,以提高其在特定任务上的表现。然而,领域专业化过程复杂且耗时,且不同领域、角色和任务之间的对话和语言风格存在显著差异,这使得大语言模型在通用领域的应用受到限制。
2. 针对性不足:通用大语言模型在特定领域的问题解决能力不足,需要进行领域专业化。然而,不同领域、机构和团队面对不同的业务有着自己的“商业模型”,单一通用的大语言模型没有办法直接有效地解决特定领域下的问题。此外,许多场景下对领域知识要求深入、实时和准确,且这些领域知识资源是机构、组织专有的资产和核心竞争力,绝对不能泄露给通用的大语言模型。
3. 数据标注问题:心理领域的高质量对话标注数据不足,这使得在心理疏导服务中,大语言模型难以得到充分地训练和优化。这些标注数据依赖于耗时、昂贵的人力,且难以获取。因此,如何有效地生成高质量心理领域对话数据和训练心理领域专业大语言模型,成为了当前亟待解决的问题。
发明内容
本发明的目的在于解决目前在心理领域缺乏有效的生成高质量对话数据生成和训练垂直领域大语言模型的方法。提示工程是挖掘大语言模型知识的常用方法,通过编写合适的提示可以引导闭源的专家级大语言模型生成语料,本发明设计了一种基于少量的高质量标注语料和专家级大语言模型自动生成高质量心理领域对话语料的方法,并设计了一种融合向量空间距离损失和交叉熵损失函数训练心理领域大语言模型。
本发明为了解决上述技术问题,采用以下技术手段:
本发明提供了一种心理领域数据生成、模型训练方法,包括以下步骤:
步骤1.策略模拟步骤:
输入策略标注语料和开源数据集,然后通过构建马尔科夫链模拟人工标注生成策略,接着对开源数据集进行去重,然后初始化话题列表和策略组列表,最后将话题列表和策略组列表输出到多轮对话生成步骤。
步骤2.对话案例检索步骤:
输入策略组和问题,然后通过策略匹配找到相似的候选对话案例,接着,对候选对话案例和问题进行编码,并计算它们之间的余弦相似度,以找到最匹配的对话案例作为样本;最后,将找到的最匹配的对话案例作为样本,提供给多轮对话生成步骤的专家级大型语言模型作为参考案例,以更好地引导其生成回复。
步骤3.多轮对话生成步骤:
定义模板,然后用对话案例检索步骤输出的对话案例、用户的问题和基于马尔科夫链生成的策略对模板进行填充内容后输入大语言模型,生成多轮对话,保存数据,形成心理领域多轮对话数据集;
步骤4.模型训练步骤:
基于多轮对话数据训练大语言模型,以适应心理领域多轮对话任务,通过添加特殊标识符区分对话数据的不同部分,并使用因果语言模型保持生成的因果关系,通过向量空间距离损失函数与交叉熵损失函数的加权平均损失函数,以提升模型在心理领域对话的专业度,通过计算损失并进行加权平均,训练模型预测回复策略和回答,使其在心理领域问题上更具专业性和针对性。
上述技术方案中,策略模拟步骤具体包括以下步骤:
步骤2.1.输入策略标注语料和开源数据集;
策略标注语料由心理领域专家团队进行人工标注,覆盖了青少年日常心理烦恼倾诉、心理常识提问这些心理相关的领域;
开源数据集包含心理学垂直领域的多轮对话数据,经过去重后保留相似度较低的语料作为话题;
步骤2.2.构建马尔科夫链,基于已有的有策略标注语料,模拟人工标注生成策略,具体来说,需要先统计每一条有标注语料中回复内容中第一个遇到的“【】”中的策略,归一化以后得到一个初始化的策略分布,然后通过统计每一条语料中相邻两个“【】”个数并归一化,计算策略间转移的概率,最终得到策略转移矩阵,通过初始化策略分布和策略转移矩阵一起唯一确定一个马尔科夫链, 马尔科夫链用于后续策略生成;
步骤2.3.对开源数据集进行去重,保留相似度较低的语料作为话题;
步骤2.4.初始化话题列表和策略组列表,将去重后的对话数据集中的每一个对话的第一个问题作为初始话题添加到初始话题列表,然后为每一个话题生成一个长度为T的策略列表;
步骤2.5 基于话题列表和策略组列表,根据马尔科夫链的一步转移,重复多次生成策略,得到策略列表;
2.6.将话题列表和策略组列表输出到多轮对话生成步骤。
上述技术方案中,对话案例检索步骤,具体包括以下步骤:
策略匹配单元,用于在策略标注语料中查找与当前策略组相似的策略作为候选对话案例;
BERT编码器,用于将候选对话案例和问题编码成语义向量,并计算它们之间的余弦相似度;
输出单元,用于输出与问题余弦相似度分数最大的候选对话案例作为样本。
上述技术方案中,在策略匹配单元中,通过计算两组策略的最小编辑距离来判断二者的相似度。
上述技术方案中,在策略匹配单元中,采用动态规划的方式在策略标注语料中搜寻与输入策略相似的策略,具体步骤包括:
步骤5.1. 将每一组策略内独立的策略视作单一的字符而不是字符串;
步骤5.2. 通过计算两组策略的最小编辑距离来判断二者的相似度;
步骤5.3. 筛选出二者最小编辑距离小于一定阈值k的所有对话案例作为候选对话案例。
上述技术方案中,多轮对话数据生成步骤具体包括以下步骤:
步骤6.1.定义模板:首先定义了三种模板,分别是回复模板1、回复模板2和提问模板,三种模板用于引导大语言模型进行回复和提问;
步骤6.2.填充模板内容:当论数为1时,在回复模板1中,需要将对话案例检索步骤输出的对话案例、初始话题和基于马尔科夫链生成的第一组策略填入模板的槽中,使模板内容完整,定义初始话题为问题1,第一组策略为策略组1;
步骤6.3.输入大语言模型:将填充好的回复模板1输入到大语言模型1中,大语言模型1会遵循给定的提示进行回复,得到大语言模型1的回复1;
步骤6.4.生成多轮对话:
步骤6.4.1.定义当前论数为N,提问模板的槽{ answer }填入回复N,槽{question}填入问题N;
步骤6.4.2.提问模板引导大语言模型2模拟用户提问得到新的问题N;
步骤6.4.3.再从马尔科夫链生成的策略列表中选择第N组策略,即策略组N作为问题N 的回复策略;
步骤6.4.4.将问题N和策略组N输入案例检索步骤查询出最相关的对话案例,再将对话案例、问题N和策略组N分别填入回复模板2,引导大语言模型1回复得到回复N;
步骤6.4.5.判断N是否等于T,如不等于,则赋值轮数N=N+1进行步骤6.4.1,直到N等于T则进行下一步6.4.6;
步骤6.4.6.保存每一轮的问题、问题对应的策略组和回复便得到一个T轮的心理领域多轮对话,该多轮对话形式如下:"",其/>代表的是问题,S代表的是策略组(回复策略),A代表问题的回答。
上述技术方案中,模型训练步骤具体包括以下步骤:
步骤7.1:基于多轮对话生成步骤获取多轮对话数据;
步骤7.2:使用特殊标识符对多轮对话数据的不同片段进行区分。
对于策略组S部分,添加策略标识符"<STRATEGY>"和"</STRATEGY>";
对于回复A部分,添加标识符"Assistant:"和"<./s>";
将上述的标识符"<STRATEGY>"、"</STRATEGY>"、"Assistant:"和"<./s>"记作Z,即Z代表这些特殊标识部分。
步骤7.3:将添加标识符的多轮对话数据输入大语言模型;
步骤7.4:大语言模型输出中的策略组S部分对应的输出向量记作a1,a2,...as,并经过线性层映射成对话状态语义向量/>
步骤7.5:将大语言模型的嵌入层中的策略嵌入矩阵通过线性层/>映射成回复策略语义矩阵/>
步骤7.6:对于每一个对话状态语义向量,和回复策略语义矩阵进行矩阵乘法,得到相似度分数向量/>;
步骤7.7:采用向量空间距离损失函数,让对话状态语义向量和其对应的回复策略语义向量相似度分数更大,和其他回复策略语义向量相似度分数/>越小,向量空间距离损失函数,公式如下:
其中,点积表示损失函数值,/>代表自然数,/>代表文本长度,/>代表所有当前策略的负样本,/>代表文本第t个位置的字,/>为指示函数,仅当/>属于策略组部分S时该函数取值为1,否则为0;
步骤7.8:对于Z和回复部分A,采用交叉熵损失, 给定前1到t个位置的文本让模型预测第t+1个位置的字,具体公式如下:
其中,表示交叉熵损失函数值,t代表文本长度,/>代表文本第t个位置的字,/>代表前t个位置的字,/>为求和符号,/>为指示函数,仅当/>属于回答部分A或者特殊标识部分Z时该函数取值为1,否则为0;
步骤7.9:由向量空间距离损失函数与交叉熵损失函数加权平均的损失函数,以提升模型在心理领域对话上的专业度:
其中,与是介于0到1之间的实数,且满足/>;
步骤7.10:利用损失函数在心理领域多轮对话数据上训练大语言模型。
步骤7.11:训练完成后,模型能够基于上文预测问题的一系列回复策略,并生成回复。
本发明还提供了一种心理领域数据生成、模型训练装置,包括以下模块:
策略模拟模块:输入策略标注语料和开源数据集,然后通过构建马尔科夫链模拟人工标注生成策略,接着对开源数据集进行去重,然后初始化话题列表和策略组列表,最后将话题列表和策略组列表输出到多轮对话生成模块。
对话案例检索模块,输入策略组和问题,然后通过策略匹配找到相似的候选对话案例,接着,对候选对话案例和问题进行编码,并计算它们之间的余弦相似度,以找到最匹配的对话案例作为样本;最后,将找到的最匹配的对话案例作为样本,提供给多轮对话生成模块的专家级大型语言模型作为参考案例,以更好地引导其生成回复。
多轮对话生成模块,定义模板,然后用对话案例检索模块输出的对话案例、用户的问题和基于马尔科夫链生成的策略对模板进行填充内容后输入大语言模型,生成多轮对话,保存数据,形成心理领域多轮对话数据集;
模型训练模块,基于多轮对话数据训练大语言模型,以适应心理领域多轮对话任务,通过添加特殊标识符区分对话数据的不同部分,并使用因果语言模型保持生成的因果关系,通过向量空间距离损失函数与交叉熵损失函数的加权平均损失函数,以提升模型在心理领域对话的专业度,通过计算损失并进行加权平均,训练模型预测回复策略和回答,使其在心理领域问题上更具专业性和针对性。
本发明还提供了一种存储介质,处理器在执行存储介质中存储的程序时,实现所述的一种心理领域数据生成、模型训练方法。
因为本发明采用上述技术手段,因此具备以下有益效果:
一、本发明通过策略模拟模块模拟人工标注生成丰富的策略标签,利用多轮对话数据生成模块基于策略和问题自动生成高质量的心理领域多轮对话数据,并利用对话案例检索模块为模型训练模块提供参考案例,从而显著提升模型在心理领域对话的能力。此外,本发明还设计了一种由向量空间距离损失函数与交叉熵损失函数加权平均的损失函数,用于训练大语言模型,使得模型在心理领域对话任务上能够适应并表现出更高的专业性。
二、本发明通过上述的技术手段,本发明解决了心理领域数据生成与模型训练的问题,达到了在心理领域提供智能心理疏导服务的目的。首先,通过策略模拟模块,利用策略标注语料和开源数据集模拟人工标注生成丰富的话题与策略组,再基于大语言模型挖掘其蕴含的高质量知识并生成心理领域多轮对话,从而显著提升了模型在心理领域对话能力。
三、通过对话案例检索模块,本发明基于给定的策略组和问题,在策略标注语料中找到与当前策略组相似的语料作为候选对话案例,再利用BERT编码器将候选对话案例和问题编码成语义向量,并计算它们之间的余弦相似度,从而找到最匹配的对话案例作为样本,提供给多轮对话生成模块的专家级大型语言模型作为参考案例,更好地引导其生成回复。
四、通过多轮对话数据生成模块,本发明设计了让两个专家级大语言模型的交互对话流程,可自动生成高质量的心理领域多轮对话数据。同时,通过模型训练模块,我们基于多轮对话生成模块得到的多轮对话数据训练大语言模型,使模型能适应心理领域多轮对话任务的模式,从而显著提升了模型在心理领域对话的专业度。
附图说明
图1 为心理领域数据生成与模型训练框图;
图2为模拟策略模块;
图3 为对话案例检索模块;
图4 为多轮对话数据生成模块;
图5为大语言模型领域专业化方法分类示意图。
具体实施方式
以下将对本发明的实施例给出详细的说明。尽管本发明将结合一些具体实施方式进行阐述和说明,但需要注意的是本发明并不仅仅只局限于这些实施方式。相反,对本发明进行的修改或者等同替换,均应涵盖在本发明的权利要求范围当中。
另外,为了更好地说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员将理解,没有这些具体细节,本发明同样可以实施。
实施例
本发明涉及一种心理领域数据生成、模型训练方法和***,如图1所示,包括了策略模拟模块、多轮对话数据生成模块、对话案例检索模块、模型训练模块。接下来按照模块进行详细介绍:
策略模拟模块
高质量的策略标注语料能显著提升模型在下游任务的表现,但是高质量的标注语料需要依赖于昂贵、耗时的人工标注。本发明设计的策略模拟模块通过统计收集的策略标注语料中的策略标签,构建马尔科夫链,不断重复马尔科夫链的一步转移模拟人工标注生成丰富的策略标签。此外,引入开源数据集并对其去重后再与基于马尔科夫链生成的策略进行组合,可得到海量丰富多样的话题和回复策略,用于引导大语言模型生成垂直领域的高质量数据。
该模块结构如图2所示。输入为策略标注语料和开源数据集。策略标注语料来源由心理领域专家团队进行人工标注,聊天场景覆盖了青少年日常心理烦恼倾诉、心理常识提问等多个心理相关的领域,有效地确保了聊天语料的真实性、内容多样性和高度专业性。其中,策略标签通过心理学专家依据认知行为疗法的专业疏导语料的特性进行专业划分,归为了“共情、认可、重述、正面建议……”多个类别。一个带有策略标注语料的示例如下:问题为“经常在校园里看到学习的人,于是便觉得自己变得不求上进。心里产生焦虑,害怕和别人的距离拉大,总觉得自己没有进步空间。我该怎么办?”。带有策略标注的回复为“【共情】很抱歉看到你最近状态不佳,抱抱你呀~看得出来你是一个很有危机感的人,同时,可能比较容易受周围人的影响,对压力的感知也很敏感,很同情你的遭遇。【认可】我想你应该是一个有上进心的学生,只是暂时没有很坚定的学习方向而已。【解释】一般来说轻度的焦虑或许能转化为动力,助推我们学习进步,焦虑也就对我们产生了积极的影响。而如果我们不能正确转化这种焦虑,就需要外界的干预、调节焦虑情绪。【正面建议】比如,及时和老师、朋友交流自己的学习情况,让他们评估一下你的情况或许更客观一点,你就能从多角度看待自己的学习情况。或许你也能看到你的优点和进步的空间。”标注的语料中“【】”内就是人工标注的策略,表明接下来的内容属于哪一类策略,策略的种类一共有K种。
马尔科夫链的构建是为了基于已有的有策略标注语料,模拟人工标注生成策略。具体如下,先统计每一条有标注语料中回复内容中第一个遇到的“【】”中的策略,归一化以后得到一个初始化的策略分布。接着通过统计每一条语料中相邻的两个“【】”个数并归一化,计算策略间转移的概率,最终得到策略转移矩阵/>,其中K是策略集合的大小,通过初始化策略分布和策略转移矩阵一起唯一确定一个马尔科夫链, 马尔科夫链用于后续策略生成。根据马尔科夫链的一步转移,重复s次便得到一组长度为s的策略,假定要构造的多轮对话数据集轮数为T,那么上述步骤要重复T次,得到一个长度为T的策略,列表中的每一组策略长度为S,最终得到的策略列表形式如下:[ "策略1—策略2…策略s","策略1—策略2…策略s",....."策略1—策略2…策略s" ]。如果T=5,s=5,则会产生长度为5的策略列表,列表中每一个位置的元素都是一个策略组,每一个策略组由5个策略构成。
开源数据集则主要包括心理学垂直领域的多轮对话数据,为了保证数据质量的多样性,首先对开源数据集进行去重,保留相似度较低的语料作为话题。具体地,以开源的心理多轮对话数据smile为例,采用MinHashLSH算法对文本去重,先对开源数据集文本语料进行分词,比如用Jieba分词工具。然后为创建一个储存MinHash对象的空列表叫minhashes,为每一个分词后的文本建立MinHash对象,然后利用MinHashLSH查找当前MinHash对象与minhashes列表中的对象是否相似,如果找不到相似的,则说明当前文本不是重复的,可以保留用于后继操作。如果找到相似的,则认为当前文本是重复的,忽视当前文本不予处理。
初始化一个空的话题列表L=[ ],和策略组列表G=[ ],并将去重后的smile对话数据集中每一个对话的第一个问题作为初始话题添加到初始话题列表L,若去重后的数据集大小为M,则最终的L=[ 初始话题1,初始话题2,……,初始话题M]。假设要构造的多轮对话数据集轮数为T,则为初始话题数据集中的每一个话题,都生成一个长度为T的策略列表,列表中每一个策略组包含S个策略,将策略列表添加到策略组列表,得到策略组列表G=[策略列表1,策略列表2,……,策略列表M],最终将话题列表和策略组列表输出到多轮对话生成模块。
对话案例检索模块
小样本学习旨在通过有限的样本数据引导模型从中学到普遍规律,使其能够在新的样本上表现出色。为了充分利用高质量的策略标注语料,本发明设计一种对话案例检索模块,该模块基于给定的策略组和问题,首先通过策略匹配在策略标注语料中找到与当前策略组相似的语料作为候选对话案例。接着,利用BERT编码器将候选对话案例和问题编码成语义向量,并计算它们之间的余弦相似度,从而找到最匹配的对话案例作为样本,提供给多轮对话生成模块的专家级大型语言模型作为参考案例,更好地引导其生成回复。
该模块的输入是一个策略组与一个问题,然后检索出与当前问题和策略相似的对话案例。策略匹配可以将输入的策略和策略标注语料中的对话策略进行相似度查找,得到和输入策略相似的策略对应的语料作为候选对话案例。可以采用动态规划的方式在策略标注语料中搜寻与输入策略相似的策略,具体如下:
假设有两组策略,分别是S1=策略1—策略2—……策略m,S2=策略1—策略2—……策略n,m和n分别是策略组S1和S2中策略的个数,将每一组策略内独立的策略视作单一的字符而不是字符串,通过计算两组策略的最小编辑距离来判断二者的相似度,两组策略的最小编辑距离通过如下递推公式计算得到:
其中S1[i]代表策略组S1中第i+1个位置的策略,S2[j]代表策略组S2中第j+1个位置的策略,d则代表一个二维数组,d[i,j]是二维数组中第i+1行第j+1列,其含义是策略组S1前i个策略和策略组S2前j个策略对应的最小编辑距离。通过计算当前策略组和策略标注语料中策略组的最小编辑距离,再筛选出二者最小编辑距离小于一定阈值k的所有对话案例作为候选对话案例。
接着,BERT编码器将输入的问题编码成语义向量,并将每一个候选对话案例编码成语义向量/>,其中,上标i代表第i个候选对话案例,再通过余弦相似度计算问题和候选对话案例语义向量的相似度分数/>,选择和问题余弦相似度分数似度最大的对话案例作为输出。
多轮对话生成模块(多轮对话数据生成模块)
近年来,大语言模型领域发展迅速,仅通过少量的指令便可以引导大语言模型完成各种各样的自然语言任务,并取得优越的效果。然而,性能优越的大语言模型几乎都是闭源的,普通的开源的小规模大语言模型也无法在性能上和这些闭源模型抗衡。通过模仿学习来训练开源的小规模大语言模型,可以让其在垂直领域与闭源大模型性能匹敌甚至超越,即通过提示工程充分挖掘闭源大语言模型蕴含的高质量知识,再将这些知识用于小规模大语言模型进行有监督微调,只要极少量的开销就能让开源模型轻松复制优秀的闭源大语言模型的能力。而本多轮对话数据模块基于提示工程的方式充分挖掘大语言模型蕴含的知识,设计了让两个专家级大语言模型的交互对话流程,可自动生成高质量的心理领域多轮对话数据。
在该模块中,有三种类型的模板,分别是回复模板1、回复模板2和提问模板。回复模板1和2用于引导大语言模型回复问题,二者的不同处在于,回复模板1仅用于对话的开端,其需要指定大语言模型回复时需要遵循哪些规则,回复模板2用于对话中,其不需要为大语言模型指定回复规则。
具体地,回复模板1的内容可以为' ' '我想让你扮演一个聪明的富有感情的心理健康智能助手,能为用户解答各种问题。你应该遵循以下要求:1.用户会在问题结束时指定你回复策略,比如(策略1-策略2-…-策略k)。2.回复用户时,你应该严格遵守给定的回复策略,并按照顺序回复。3.你应该在回复每一句话的开头标明策略,比如“(策略)回复。(策略)回复……(策略)回复”。4.你的回复应当具有情感支持和疏导人的作用,并且回复内容丰富,能提供有帮助的信息。一段典型的对话案例为:{conversation},请你参考该案例一步一步进行续写,用户:{question} ({strategies}) ' ' ' ,回复模板2的内容可以为' ' '用户:{question}({strategies}) ' ' ',在回复模板1中,中括号{conversation}、{question}和{strategies}都是待填充的槽,需要分别将案例检索模块输出的对话案例、用户的问题和基于马尔科夫链生成的策略填入其中,使回复模板的内容完整。
提问模板则用于引导大语言模型模拟用户进行提问,其内容可以为' ' '我想让你扮演一个聪明的富有感情的对话预测智能助手,给定用户和智能助手的对话内容,你来预测青少年下一个问题或者想法,不需要预测智能助手的对话。用户:{question} 智能助手:{answer}。你的预测—>用户:' ' ',其中中括号{question}和{answer}为待填充的槽,需要将上一轮对话的问题和回复分别填入其中使得提问模板内容完整。
多轮对话生成具体步骤如下,以生成一个T轮对话为例:首先从话题列表L中选择话题1作为初始话题,并从策略组列表L中选择策略列表1,再将策略列表1中的第一组策略,即策略组1作为回复初始话题(问题1)的策略,再将初始话题(问题1)和策略组1输入案例检索模块查询出最相关的对话案例,将对话案例、初始话题(问题1)和策略组1分别填入回复模板1的槽{conversation},{question}与{strategies}再输入给大语言模型1,大语言模型1会遵循给定的提示回答问题输出回复1,再将初始话题和回复1分别填入提问模板的槽{question},{answer}引导大语言模型2模拟用户提问得到问题2,再从马尔科夫链生成的策略列表中选择第二组策略,即策略组2作为问题2 的回复策略,将问题2和策略组2输入案例检索模块查询出最相关的对话案例,再将对话案例、问题2和策略组2分别填入回复模板2的槽{conversation},{question}与{strategies}引导大语言模型1回复得到回复2,以此类推,直到大语言模型1输出回复T并结束对话,保存每一轮的问题、问题对应的策略组和回复便得到了一个T轮的心理领域多轮对话,该多轮对话形式如下:"",其中Q代表的是问题,S代表的是策略组(回复策略),A代表问题的回答。上述的大语言模型1和大语言模型2可以选择闭源的专家级大语言模型,如ChatGPT和Bard。
对话题列表L中每一个初始话题都执行上述过程,若话题列表L中话题的数量为M,则利用上述方法可以生成M个T轮心理领域对话数据集,若M=2000,T=5,则可以生成2000条心理学领域的5轮对话数据集。
模型训练模块
本模块基于多轮对话生成模块得到的多轮对话数据训练大语言模型,使模型能适应心理领域多轮对话任务的模式。本模块设计了一种由向量空间距离损失函数与交叉熵损失函数加权平均的损失函数,二者的结合能提升模型在心理领域对话上的专业度。
大语言模型使用因果语言模型,因果语言模型在生成文本时会按照顺序逐个生成字,当前位置的字只受之前字的影响,这样的特性使得模型能够保持一种因果关系,即不会通过未来的信息来预测当前的生成结果。给定一条T轮对话数据"",其中Q代表的是问题,S代表的是问题的策略组(回复策略),A代表的是问题的回答。首先,为多轮对话数据不同的片段添加上特殊的标识符进行区分,对于策略组S部分,为其开头和末尾分别添加策略标识符"<STRATEGY>"和"<STRATEGY>",相当于告诉模型这一部分要预测的是一组策略。对于回复A部分,为其两端分别添加标识符"Assistant:"和"<./s>",相当于告诉模型要预测的是智能助手说的话。这些标识符可以清晰地将各部分待预测的目标区显示地区分开,将上述的标识符"<STRATEGY>"、"</STRATEGY>"、"Assistant:"和"<./s>"记作Z,即Z代表这些特殊标识部分。
具体地,假设总共有K个不同的独立的策略,一个策略组S由s个独立的策略构成,那么将每一个策略视作一个特殊的字符,用"token1","token2",……"tokens"表示,将添加上标识符的多轮对话输入大语言模型,策略组部分S对应的输出的向量记作a1,a2,...as,经过线性层映射成对话状态语义向量h1,h2,...hs。将大语言模型的嵌入层中的策略嵌入矩阵/>通过线性层映射成回复策略语义矩阵/>,其中/>每行对应一个回复策略语义向量。对每一个对话状态语义向量/>(t=1,..,s),和回复策略语义矩阵/>进行矩阵乘法即/>得到相似度分数向量/>,为了让对话状态语义向量和其对应的回复策略语义向量相似度分数/>更大,和其他回复策略语义向量相似度分数越小,采用向量空间距离损失函数,公式如下:
其中,表示损失函数值,/>代表自然数,T代表文本长度,代表所有当前策略的负样本。/>代表文本第t个位置的字,/>为求和符号,/>为指示函数,仅当/>属于策略组部分S时该函数取值为1,否则为0。
对于Z和回复部分A,采用交叉熵损失, 给定前1到t个位置的文本让模型预测第t+1个位置的字,具体公式如下:
其中,表示损失函数值,t代表文本长度,/>代表文本第t个位置的字,/>代表前t个位置的字,/>为求和符号,/>为指示函数,仅当/>属于回答部分A或者特殊标识部分Z时该函数取值为1,否则为0,将两部分损失/>与进行加权平均得到最终的损失函数L,公式如下:
其中,与/>是介于0到1之间的实数,且满足。 综上,只有策略组部分S、回答部分A以及特殊标识部分Z的损失会被计算。利用这种方式在心理领域多轮对话数据上训练大语言模型后,模型能够基于上文按照从左往右的顺序预测问题的一系列回复策略,并基于这些策略引导生成回复,而经过策略引导的回答在心理领域问题上能够更具专业性与针对性。/>

Claims (9)

1.一种心理领域数据生成、模型训练方法,其特征在于,包括以下步骤:
步骤1.策略模拟步骤:
输入策略标注语料和开源数据集,然后通过构建马尔科夫链模拟人工标注生成策略,接着对开源数据集进行去重,然后初始化话题列表和策略组列表,最后将话题列表和策略组列表输出到多轮对话生成步骤;
步骤2.对话案例检索步骤:
输入策略组和问题,然后通过策略匹配找到相似的候选对话案例,接着,对候选对话案例和问题进行编码,并计算它们之间的余弦相似度,以找到最匹配的对话案例作为样本;最后,将找到的最匹配的对话案例作为样本,提供给多轮对话生成步骤的专家级大型语言模型作为参考案例,以更好地引导其生成回复;
步骤3.多轮对话生成步骤:
定义模板,然后用对话案例检索步骤输出的对话案例、用户的问题和基于马尔科夫链生成的策略对模板进行填充内容后输入大语言模型,生成多轮对话,保存数据,形成心理领域多轮对话数据集;
步骤4.模型训练步骤:
基于多轮对话数据训练大语言模型,以适应心理领域多轮对话任务,通过添加特殊标识符区分对话数据的不同部分,并使用因果语言模型保持生成的因果关系,通过向量空间距离损失函数与交叉熵损失函数的加权平均损失函数,以提升模型在心理领域对话的专业度,通过计算损失并进行加权平均,训练模型预测回复策略和回答,使其在心理领域问题上更具专业性和针对性。
2.根据权利要求1所述的一种心理领域数据生成、模型训练方法,其特征在于,策略模拟步骤具体包括以下步骤:
步骤2.1.输入策略标注语料和开源数据集;
策略标注语料由心理领域专家团队进行人工标注,覆盖了青少年日常心理烦恼倾诉、心理常识提问这些心理相关的领域;
开源数据集包含心理学垂直领域的多轮对话数据,经过去重后保留相似度较低的语料作为话题;
步骤2.2.构建马尔科夫链,基于已有的有策略标注语料,模拟人工标注生成策略,具体来说,先统计每一条有标注语料中回复内容中第一个遇到的“【】”中的策略,归一化以后得到一个初始化的策略分布,然后通过统计每一条语料中相邻两个“【】”的个数并归一化,计算策略间转移的概率,最终得到策略转移矩阵,通过初始化策略分布和策略转移矩阵一起唯一确定一个马尔科夫链, 马尔科夫链用于后续策略生成;
步骤2.3.对开源数据集进行去重,保留相似度低的语料作为话题;
步骤2.4.初始化话题列表和策略组列表,将去重后的对话数据集中的每一个对话的第一个问题作为初始话题添加到初始话题列表,然后为每一个话题生成一个长度为T的策略列表;
步骤2.5. 基于话题列表和策略组列表,根据马尔科夫链的一步转移,重复多次生成策略,得到策略列表;
步骤2.6.将话题列表和策略组列表输出到多轮对话生成步骤。
3.根据权利要求1所述的一种心理领域数据生成、模型训练方法,其特征在于,对话案例检索步骤,具体包括以下步骤:
步骤3.1.策略匹配单元,用于在策略标注语料中查找与当前策略组相似的策略作为候选对话案例;
步骤3.2.BERT编码器,用于将候选对话案例和问题编码成语义向量,并计算它们之间的余弦相似度;
步骤3.3.输出单元,用于输出与问题余弦相似度分数最大的候选对话案例作为样本。
4.根据权利要求3所述的一种心理领域数据生成、模型训练方法,其特征在于,在策略匹配单元中,通过计算两组策略的最小编辑距离来判断二者的相似度。
5.根据权利要求3所述的一种心理领域数据生成、模型训练方法,其特征在于,在策略匹配单元中,采用动态规划的方式在策略标注语料中搜寻与输入策略相似的策略,具体步骤包括:
步骤5.1.将每一组策略内独立的策略视作单一的字符而不是字符串;
步骤5.2.通过计算两组策略的最小编辑距离来判断二者的相似度;
步骤5.3.筛选出二者最小编辑距离小于一定阈值k的所有对话案例作为候选对话案例。
6.根据权利要求3所述的一种心理领域数据生成、模型训练方法,其特征在于,多轮对话数据生成步骤具体包括以下步骤:
步骤6.1.定义模板:首先定义了三种模板,分别是回复模板1、回复模板2和提问模板,三种模板用于引导大语言模型进行回复和提问;
步骤6.2.填充模板内容:当论数为1时,在回复模板1中,需要将对话案例检索步骤输出的对话案例、初始话题和基于马尔科夫链生成的第一组策略填入模板的槽中,使模板内容完整,定义初始话题为问题1,第一组策略为策略组1;
步骤6.3.输入大语言模型:将填充好的回复模板1输入到大语言模型1中,大语言模型1会遵循给定的提示进行回复,得到大语言模型1的回复1;
步骤6.4.生成多轮对话:
步骤6.4.1.定义当前论数为N,提问模板的槽{ answer }填入回复N,槽{question}填入问题N;
步骤6.4.2.提问模板引导大语言模型2模拟用户提问得到新的问题N;
步骤6.4.3.再从马尔科夫链生成的策略列表中选择第N组策略,即策略组N作为问题N的回复策略;
步骤6.4.4.将问题N和策略组N输入案例检索步骤查询出最相关的对话案例,再将对话案例、问题N和策略组N分别填入回复模板2,引导大语言模型1回复得到回复N;
步骤6.4.5.判断N是否等于T,如不等于,则赋值轮数N=N+1进行步骤6.4.1,直到N等于T则进行下一步6.4.6;
步骤6.4.6.保存每一轮的问题、问题对应的策略组和回复便得到一个T轮的心理领域多轮对话,该多轮对话形式如下:"",其/>代表的是问题,S代表的是策略组,A代表问题的回答。
7.根据权利要求1所述的一种心理领域数据生成、模型训练方法,其特征在于,模型训练步骤具体包括以下步骤:
步骤7.1:基于多轮对话生成步骤获取多轮对话数据;
步骤7.2:使用特殊标识符对多轮对话数据的不同片段进行区分;
对于策略组S部分,添加策略标识符"< STRATEGY>"和"< /STRATEGY>";
对于回复A部分,添加标识符"Assistant:"和"<./s>";
将上述的标识符"< STRATEGY>"、"< /STRATEGY>"、"Assistant:"和"<./s>"记作Z,即Z代表这些特殊标识部分;
步骤7.3:将添加标识符的多轮对话数据输入大语言模型;
步骤7.4:大语言模型输出中的策略组S部分对应的输出向量记作a1,a2,...as,并经过线性层映射成对话状态语义向量;
步骤7.5:将大语言模型的嵌入层中的策略嵌入矩阵通过线性层/>映射成回复策略语义矩阵/>
步骤7.6: 对于每一个对话状态语义向量,和回复策略语义矩阵进行矩阵乘法,得到相似度分数向量/>;
步骤7.7、采用向量空间距离损失函数,让对话状态语义向量和其对应的回复策略语义向量相似度分数更大,和其他回复策略语义向量相似度分数越小,向量空间距离损失函数,公式如下:
其中,点积表示损失函数值,/>代表自然数,/>代表文本长度,/>代表所有当前策略的负样本, />代表文本第t个位置的字,/>为指示函数,仅当/>属于策略组部分S时该函数取值为1,否则为0;
步骤7.8:对于Z和回复部分A,采用交叉熵损失, 给定前1到t个位置的文本让模型预测第t+1个位置的字,具体公式如下:
其中,表示交叉熵损失函数值,t代表文本长度,/>代表文本第t个位置的字,/>代表前t个位置的字,/>为求和符号,/>为指示函数,仅当/>属于回答部分A或者特殊标识部分Z时该函数取值为1,否则为0;
步骤7.9: 由向量空间距离损失函数与交叉熵损失函数加权平均的损失函数,以提升模型在心理领域对话上的专业度:
其中,与/>是介于0到1之间的实数,且满足/>;
步骤7.10:利用损失函数在心理领域多轮对话数据上训练大语言模型;
步骤7.11:训练完成后,模型能够基于上文预测问题的一系列回复策略,并生成回复。
8.一种心理领域数据生成、模型训练装置,其特征在于,包括以下模块:
策略模拟模块:输入策略标注语料和开源数据集,然后通过构建马尔科夫链模拟人工标注生成策略,接着对开源数据集进行去重,然后初始化话题列表和策略组列表,最后将话题列表和策略组列表输出到多轮对话生成模块;
对话案例检索模块,输入策略组和问题,然后通过策略匹配找到相似的候选对话案例,接着,对候选对话案例和问题进行编码,并计算它们之间的余弦相似度,以找到最匹配的对话案例作为样本;最后,将找到的最匹配的对话案例作为样本,提供给多轮对话生成模块的专家级大型语言模型作为参考案例,以更好地引导其生成回复;
多轮对话生成模块,定义模板,然后用对话案例检索模块输出的对话案例、用户的问题和基于马尔科夫链生成的策略对模板进行填充内容后输入大语言模型,生成多轮对话,保存数据,形成心理领域多轮对话数据集;
模型训练模块,基于多轮对话数据训练大语言模型,以适应心理领域多轮对话任务,通过添加特殊标识符区分对话数据的不同部分,并使用因果语言模型保持生成的因果关系,通过向量空间距离损失函数与交叉熵损失函数的加权平均损失函数,以提升模型在心理领域对话的专业度,通过计算损失并进行加权平均,训练模型预测回复策略和回答,使其在心理领域问题上更具专业性和针对性。
9.一种存储介质,其特征在于,处理器在执行存储介质中存储的程序时,实现如权利要求1-7任一所述的一种心理领域数据生成、模型训练方法。
CN202410033864.7A 2024-01-10 2024-01-10 一种心理领域数据生成、模型训练方法、装置及存储介质 Active CN117828063B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410033864.7A CN117828063B (zh) 2024-01-10 2024-01-10 一种心理领域数据生成、模型训练方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410033864.7A CN117828063B (zh) 2024-01-10 2024-01-10 一种心理领域数据生成、模型训练方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN117828063A CN117828063A (zh) 2024-04-05
CN117828063B true CN117828063B (zh) 2024-05-17

Family

ID=90518922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410033864.7A Active CN117828063B (zh) 2024-01-10 2024-01-10 一种心理领域数据生成、模型训练方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN117828063B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118014039A (zh) * 2024-04-08 2024-05-10 亚信科技(中国)有限公司 模型训练方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111667926A (zh) * 2020-06-06 2020-09-15 中国科学院心理研究所 一种基于人工智能的心理咨询(会话)***及其方法
CN114999610A (zh) * 2022-03-31 2022-09-02 华东师范大学 基于深度学习的情绪感知与支持的对话***构建方法
CN115495568A (zh) * 2022-11-17 2022-12-20 苏州浪潮智能科技有限公司 一种对话模型的训练方法及装置、对话响应方法及装置
CN117093696A (zh) * 2023-10-16 2023-11-21 浙江同花顺智能科技有限公司 一种大语言模型的提问文本生成方法、装置、设备及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737764B (zh) * 2019-10-24 2023-07-07 西北工业大学 一种个性化对话内容生成方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111667926A (zh) * 2020-06-06 2020-09-15 中国科学院心理研究所 一种基于人工智能的心理咨询(会话)***及其方法
CN114999610A (zh) * 2022-03-31 2022-09-02 华东师范大学 基于深度学习的情绪感知与支持的对话***构建方法
CN115495568A (zh) * 2022-11-17 2022-12-20 苏州浪潮智能科技有限公司 一种对话模型的训练方法及装置、对话响应方法及装置
CN117093696A (zh) * 2023-10-16 2023-11-21 浙江同花顺智能科技有限公司 一种大语言模型的提问文本生成方法、装置、设备及介质

Also Published As

Publication number Publication date
CN117828063A (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
US20220398486A1 (en) Learning content recommendation system based on artificial intelligence learning and operating method thereof
CN107944027A (zh) 创建语义键索引的方法及***
CN117828063B (zh) 一种心理领域数据生成、模型训练方法、装置及存储介质
CN113344053B (zh) 一种基于试题异构图表征与学习者嵌入的知识追踪方法
CN117609486B (zh) 一种心理领域智能对话***
CN112506945A (zh) 基于知识图谱的自适应导学方法及***
CN116821294A (zh) 一种基于隐式知识反刍的问答推理方法和装置
CN113011196B (zh) 一种概念增强表示与单向蕴含注意力的主观题自动阅卷神经网络模型
Seising Warren Weaver’s “Science and complexity” revisited
CN110909174B (zh) 一种基于知识图谱的简单问答中实体链接的改进方法
CN117556002A (zh) 一种用于对话大模型的多轮对话训练方法
CN114372454A (zh) 文本信息抽取方法、模型训练方法、装置及存储介质
CN116932778A (zh) 一种基于vr技术的教学知识挖掘方法及***
CN116306653A (zh) 一种正则化领域知识辅助的命名实体识别方法
Yoo et al. Using natural language processing to analyze elementary teachers’ mathematical pedagogical content knowledge in online community of practice
CN116151242B (zh) 一种编程学习场景的智能习题推荐方法、***及储存介质
CN117808011B (zh) 一种带有模拟情绪的聊天机器人的方法、介质及***
Ivanova et al. Application of Artificial Neural Networks in Intelligent Tutoring: A Contemporary Glance
CN112818108B (zh) 基于形近字的文本语义曲解聊天机器人及其数据处理方法
Romero-Gómez et al. Natural Language Processing Approach for Learning Process Analysis in a Bioinformatics Course
Wang Shared Learning Platform for English Based on Feature Extraction Algorithm
Su Research on Integration of Emotion Analysis in English Modular Teaching Based on Natural Language Processing
Abinaya et al. AI Tools for Efficient Writing and Editing in Academic Research
Segarra Santiago Segarra
Tang et al. A Summary of Text Classification Technology and Its Application in Teacher Language Classification

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant