CN117033582A - 对话模型的训练方法、装置、电子设备和存储介质 - Google Patents
对话模型的训练方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117033582A CN117033582A CN202310904938.5A CN202310904938A CN117033582A CN 117033582 A CN117033582 A CN 117033582A CN 202310904938 A CN202310904938 A CN 202310904938A CN 117033582 A CN117033582 A CN 117033582A
- Authority
- CN
- China
- Prior art keywords
- dialogue
- sample
- model
- training
- dialog
- 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.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 242
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000005070 sampling Methods 0.000 claims description 58
- 238000004590 computer program Methods 0.000 claims description 14
- 238000013473 artificial intelligence Methods 0.000 abstract description 8
- 238000013135 deep learning Methods 0.000 abstract description 7
- 238000003058 natural language processing Methods 0.000 abstract description 6
- 238000011084 recovery Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 235000000832 Ayote Nutrition 0.000 description 2
- 235000009854 Cucurbita moschata Nutrition 0.000 description 2
- 240000001980 Cucurbita pepo Species 0.000 description 2
- 235000009804 Cucurbita pepo subsp pepo Nutrition 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 238000005266 casting Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 235000015136 pumpkin Nutrition 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000009411 base construction Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003924 mental process Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000012925 reference material Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了对话模型的训练方法、装置、电子设备和存储介质,涉及人工智能领域,尤其涉及自然语言处理、深度学习等领域,可以应用于大语言模型的微调。具体实现方案为:获取训练样本,其中,训练样本中包括至少一个任务的对话样本;将训练样本输入初始对话模型,以获取初始对话模型输出的预测回复语句;根据预测回复语句与对话样本中的参考回复语句之间的差异,对初始对话模型进行训练,得到对话模型。由此,利用包括不同任务对话样本的训练样本对初始对话模型进行训练,可以使对话模型学习多任务知识,从而可以避免用户与对话模型多轮交互后,出现回复质量下降问题。
Description
技术领域
本申请涉及人工智能领域,尤其涉及自然语言处理、深度学习等领域,具体涉及对话模型的训练方法、装置、电子设备和存储介质。
背景技术
随着自然语言领域发展走向超大规模模型时代,通过超强算力在海量文本数据上训练超大参数量模型可以使得产出的大语言模型具有多任务、少样本学习的通用语义理解与生成能力。为了使得预训练后的大模型生成符合人类需求的内容,可以对大语言模型进行微调。
发明内容
本申请提供了一种对话模型的训练方法、装置、电子设备和存储介质。具体方案如下:
根据本申请的一方面,提供了一种对话模型的训练方法,包括:
获取训练样本,其中,训练样本中包括至少一个任务的对话样本;
将训练样本输入初始对话模型,以获取初始对话模型输出的预测回复语句;
根据预测回复语句与对话样本中的参考回复语句之间的差异,对初始对话模型进行训练,得到对话模型。
根据本申请的另一方面,提供了一种对话生成方法,包括:
获取输入语句;
将输入语句输入到对话模型,以获取对话模型输出的回复语句,其中,对话模型是采用如一方面实施例的方法训练得到的。
根据本申请的一方面,提供了一种对话模型的训练装置,包括:
第一获取模块,用于获取训练样本,其中,训练样本中包括至少一个任务的对话样本;
第二获取模块,用于将训练样本输入初始对话模型,以获取初始对话模型输出的预测回复语句;
训练模块,用于根据预测回复语句与对话样本中的参考回复语句之间的差异,对初始对话模型进行训练,得到对话模型。
根据本申请的另一方面,提供了一种对话生成装置,包括:
第一获取模块,用于获取输入语句;
第二获取模块,用于将输入语句输入到对话模型,以获取对话模型输出的回复语句,其中,对话模型是采用如上述一方面实施例的方法训练得到的。
根据本申请的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述实施例所述的方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述实施例所述的方法。
根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述实施例所述方法的步骤。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请一实施例提供的对话模型的训练方法的流程示意图;
图2为本申请另一实施例提供的对话模型的训练方法的流程示意图;
图3为本申请另一实施例提供的对话模型的训练方法的流程示意图;
图4为本申请另一实施例提供的对话模型的训练方法的流程示意图;
图5为本申请一实施例提供的构建训练样本的示意图;
图6为本申请一实施例提供的对话生成方法的流程示意图;
图7为本申请一实施例提供的对话模型的训练装置的结构示意图;
图8为本申请一实施例提供的对话生成装置的结构示意图;
图9是用来实现本申请实施例的对话模型的训练方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本申请实施例的对话模型的训练方法、装置、电子设备和存储介质。
人工智能是研究使用计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术领域也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术包括计算机视觉技术、语音识别技术、自然语言处理技术以及深度学习、大数据处理技术、知识图谱技术等几大方向。
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向,NLP研究的内容包括但不限于如下分支领域:文本分类、信息抽取、自动摘要、智能问答、话题推荐、机器翻译、主题词识别、知识库构建、深度文本表示、命名实体识别、文本生成、文本分析(词法、句法、语法等)、语音识别与合成等。
深度学习是机器学习领域中一个新的研究方向。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据
图1为本申请一实施例提供的对话模型的训练方法的流程示意图。
本申请实施例的对话模型的训练方法,可以由本申请实施例的对话模型的训练装置执行,该装置可以配置于电子设备中,通过利用包括不同任务对话样本的训练样本对初始对话模型进行训练,可以使对话模型学习多任务知识,从而可以避免用户与对话模型多轮交互后,出现回复质量下降问题。
其中,电子设备可以为任一具有计算能力的设备,例如可以为个人电脑、移动终端、服务器等,移动终端例如可以为车载设备、手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该对话模型的训练方法包括:
步骤101,获取训练样本。
本申请中,可以获取多个训练样本,每个训练样本可以包括一个任务的对话样本或多个任务的对话样本。其中,一个对话样本可以包括一轮对话或多轮对话,训练样本可以包括一轮对话或多轮对话。
比如,某训练样本包括两个对话样本,两个对话样本的任务不同,一个对话样本包括一轮对话,另一个对话样本包括两轮对话,那么该训练样本包括三轮对话。
在一些实施例中,获取的多个训练样本中存在包括多个任务的对话样本的训练样本。
本申请中,不同任务的对话样本对话的任务或目的不同,或者用相同任务的对话样本训练模型,得到的模型可以处理该任务。
比如,任务A1的某对话样本包括一轮对话,对话的输入语句为“请完成这句话:“a这部小说是””,对话的回复语句为“a这部小说是悬疑题材的”。可见,任务A1是将语句补充完整。
又如,任务A2的某对话样本包括一轮对话,对话的输入语句为“写一首七言藏尾诗,每句诗结尾组成“长安乐昌””,该对话样本的回复语句为“藏蓝任重道且长,\n使命昼夜四季安,\n风雨守护山城乐,\n初心热血铸荣昌”。可见,任务A2是生成满足要求的文本。
步骤102,将训练样本输入初始对话模型,以获取初始对话模型输出的预测回复语句。
本申请中,初始对话模型可以是通过海量文本数据预训练得到的大语言模型。其中,大语言模型可以是指具有数百万或数十亿个参数的深度神经网络模型,这种模型可以处理大规模的数据和任务,并且在自然语言处理、计算机视觉、语音识别等领域取得了显著的成果。
本申请中,初始对话模型输出的预测回复语句可以是训练样本中最后一轮对话的输入语句的预测回复语句,也可以是针对训练样本中每轮对话的输入语句的预测回复语句,本申请对此不作限定。
以学习每轮对话的回复语句为例,本申请中,可以利用初始对话模型对每轮对话的输入语句及每轮对话之前的对话进行编码得到编码特征,并对编码特征进行解码,得到每轮对话的输入语句的预测回复语句。
步骤103,根据预测回复语句与对话样本中的参考回复语句之间的差异,对初始对话模型进行训练,得到对话模型。
其中,参考回复语句可以是指对话样本中的回复语句。
本申请中,可以根据预测回复语句每个字符与参考回复语句中相同位置的字符之间的差异,计算模型损失,或者也可以计算预测回复语句与参考回复语句之间的语义相似度,根据语义相似度确定模型损失等,之后根据模型损失调整初始对话模型的参数,并利用训练样本对参数调整后的对话模型继续训练,直至满足训练结束条件,得到对话模型。
其中,训练结束条件可以是模型损失小于预设阈值,也可以是训练次数达到预设次数,也可以是其他条件,可以根据实际需要设置,本申请对此不作限定。
在对初始对话模型进行训练时,可以通过深度学习的方式进行训练,相比于其他机器学习方法,深度学习在大数据集上的表现更好。
本申请中,训练样本可以包括不同任务的对话样本,对话样本可以包括一轮对话或多轮对话,由此训练样本可以模拟用户频繁切换话题的交互习惯,利用这种训练样本训练得到对话模型,可以避免用户在切换至新话题后,对话模型仍然考虑历史轮次的联系,输出错误的回复语句,提高了模型回复质量。
本申请实施例中,通过获取训练样本,训练样本包括至少一个任务的对话样本,并利用训练样本输入初始对话模型,以获取初始对话模型输出的预测回复语句,再根据预测回复语句与对话样本中的参考回复语句之间的差异,对初始对话模型进行训练,得到对话模型。由此,利用包括不同任务对话样本的训练样本对初始对话模型进行训练,可以使对话模型学习多任务知识,从而可以避免用户与对话模型多轮交互后,出现回复质量下降问题。
图2为本申请另一实施例提供的对话模型的训练方法的流程示意图。
如图2所示,该对话模型的训练方法包括:
步骤201,对M个不同任务的对话样本集进行采样,得到第i个对话样本。
其中,M为大于1的整数,也即有多个不同任务的对话样本集,i为正整数。
本申请中,为了让对话模型学会基于参考知识的引导回答问题,对话样本集中的对话样本可以携带参考知识。其中,对话样本携带的参考知识可以是对话样本中某轮对话的回复语句的参考资料。
需要说明的是,本申请对参考知识的名称不作限定,比如还可以是外部知识等。
为了便于理解,可以用K、H、B分别表示参考知识、输入语句和回复语句,采样到的第i个对话样本可以表示为其中,T表示采样的第i个对话样本中对话的轮次,/>是第T轮对话中回复语句/>的参考知识。当T=1时,对话样本为单轮对话样本,当K为空时,对话样本不携带参考知识。
比如,某对话样本携带有参考知识,该对话样本如下所示:
K3=A市现在气温32℃,晴,东南风3级,今日气温23~35℃,空气质量良,空气质量指数57。
H1=你是谁?
B1=我是你的小助手。
H2=你多大了?
B2=我今年1岁了。
H3=今天天气如何?
B3=A市晴,最高35摄氏度。
本申请中,M个不同任务的对话样本集中的对话样本也可以均未携带参考知识,本申请对此不作限定。
本申请中,M个对话样本集分别有对应的采样概率,可以根据每个对话样本集的采样概率,对M个不同任务的对话样本集进行采样,得到第i个对话样本,从而可以满足不同的采样需求。
其中,每个对话样本集的采样概率可以是预先设置的,也可以通过其他方式确定,本申请对此不作限定。另外,M个对话样本集的采样概率之和可以为1。
作为一种可能的实现方式,可以获取每个任务的对话样本集的属性信息,并根据每个任务的对话样本集的属性信息,确定每个对话样本集的采样概率。示例性的,属性信息可以包括是否携带参考知识、对话样本是否为问答对等,比如对话样本携带参考知识的对话样本集的采样概率可以高于对话样本未携带参考知识的对话样本集的采样概率。
比如,有4个对话样本集,其中有两个对话样本集中的对话样本携带参考知识,那么这两个对话样本集的概率均为0.4,另外两个对话样本集的采样概率均为0.1。
本申请中,可以根据对话样本集的属性信息,确定对话样本集的采样概率,使得采样概率与对话样本集的属性信息匹配,可以满足不同的应用需求。
作为另一种可能的实现方式,可以根据M的取值,也即对话样本集的数量,确定每个对话样本集的采样概率。示例性的,每个对话样本集的采样概率可以为
比如,有4个对话样本集,其中有两个对话样本集中的对话样本携带参考知识,每个对话样本集的采样概率均为0.25。
本申请中,可以根据对话样本集的数量,确定采样概率,使得采样概率的确定方式更加多样化。
步骤202,在采样的i个对话样本满足预设条件的情况下,根据i个对话样本,获取训练样本。
本申请中,采样的i个对话样本满足预设条件比如可以是当前采样到的样本数量为预设数量,或者第i个对话样本属于某对话样本集等。其中,预设数量可以是奇数或偶数等,可以根据实际需要设置,本申请对此不作限定。
本申请中,如果M个不同任务的对话样本集中至少一个对话样本集中的对话样本携带有参考知识,采样的i个对话样本满足预设条件,可以包括以下至少一项:采样的i个对话样本满足预设条件;第1个到i-1个对话样本中的对话与第i个对话样本的总长度达到预设长度。
其中,这里的对话样本的长度可以是对话样本包含的字符数量,预设长度可以是预设的字符数量,或者对话样本的长度是对话样本转换为向量后的大小等,预设长度可以是对话模型的输入数据的大小等。
本申请中,如果第1个到i-1个对话样本中的对话与第i个对话样本的总长度达到预设长度,可以停止采样。
本申请中,如果M个不同任务的对话样本集中至少一个对话样本集中的对话样本携带有参考知识,在第i个对话样本携带有参考知识时,可以根据采样的第1个到第i个对话样本,获取训练样本,或者在第1个到i-1个对话样本中的对话与第i个对话样本的总长度达到预设长度时,根据采样到的第1个到第i个对话样本,获取训练样本,或者可以在第i个对话样本携带有参考知识,且第1个到i-1个对话样本中的对话与第i个对话样本的总长度达到预设长度时,根据采样的第1个到第i个对话样本,获取训练样本。由此,可以丰富训练样本的种类,提高对话模型的回复指令。
在实际应用中,第1个到第i-1个对话样本中可能存在对话样本携带有参考知识,本申请中可以不考虑第1个到第i-1个对话样本携带的参考知识,而考虑第1个到第i-1个对话样本中对话与第i个对话样本的总长度。
如果采样的i个对话样本满足预设条件,可以将第1个到第i-1个对话样本中的对话与第i个对话样本进行拼接,得到训练样本。比如,可以按照对话样本的采样先后顺序拼接,得到训练样本。
其中,将第1个到第i-1个对话样本中的对话进行拼接可以是指不考虑对话样本携带的参考知识,而是将第1个到第i-1个对话样本中的对话进行拼接。
由此,在采样的i个对话样本满足预设条件时,将第1个到第i-1个对话样本中的对话与第i个对话样本进行拼接,得到训练样本,可以动态构建训练样本,从而丰富了训练样本的种类与数量。并且,动态构造的伪多轮对话的训练样本,可以模拟用户频繁切换话题的交互习惯,可以避免用户在切换至新话题后,模型仍然考虑历史轮次的联系,产出错误的回复语句,提高了回复指令。
进一步地,为了避免在中间插入参考知识导致多轮对话的不流畅问题,在拼接第1个到第i-1个对话样本中的对话与第i个对话样本时,如果第i个对话样本携带有参考知识,可以将第1个到第i个对话样本中的对话进行拼接,得到中间样本,再将第i个样本携带的参考知识与中间样本进行拼接,得到训练样本。比如,可以在参考知识后面拼接中间样本,或者在中间样本后面拼接参考知识,得到训练样本。
本申请中,可以将第1个到第i个对话样本中的对话按照拼接规则拼接,得到中间样本,从而可以满足不同的拼接需求。
其中,拼接规则可以是按照对话样本采样的先后顺序依次拼接,或者按照对话样本包含的对话轮次的从多到少的顺序拼接,或者按照对话样本包含的对话轮次的从少到多的顺序拼接,或者随机拼接等,可以根据实际需要设置,本申请对此不作限定。
本申请中,通过将参考知识放置在训练样本的开始位置或末尾位置,从而使对话模型可以充分结合参考知识,给出可信、准确的回复语句的同时,可以避免出现多轮对话不流畅的问题。
步骤203,在i个对话样本未满足预设条件的情况下,继续对M个对话样本集进行采样。
本申请中,采样的i个对话样本未满足预设条件可以是当前采样到的对话样本的样本数量不是预设数量,或者第i个对话样本不属于预设的对话样本集,或者第i个对话样本未携带参考知识,或者第1个到i-1个对话样本中的对话与第i个对话样本的总长度未达到预设长度等。
本申请中,当当前采样的对话样本与之前已采样的对话样本中对话的总长度达到预设长度时,停止采样。
本申请中,可以对M个不同任务的对话样本集进行采样,得到第一个对话样本,如果第一个对话样本携带有参考知识,将第一个对话样本作为训练样本,继续采样得到第二个对话样本,如果第二个对话样本携带有参考知识,可以将第一个对话样本中对话与第二个对话样本进行拼接,得到训练样本,继续采样得到第三个对话样本,如果第二个对话样本未携带参考知识,也继续采样得到第三个对话样本,直至当前采样的对话样本与之前采样的对话样本中的对话的总长度达到预设长度,停止采样,并将当前采样的对话样本与之前采样的对话样本中的对话进行拼接,得到训练样本。
如果第一个对话样本未携带参考知识,继续采样得到第二个对话样本,如果第二个对话样本携带有参考知识,将第一个对话样本与第二个对话样本进行拼接,得到训练样本,继续采样得到第三个对话样本,如果第二个对话样本未携带参考知识,也继续采样得到第三个对话样本,直至当前采样的对话样本与之前采样的对话样本中的对话的总长度达到预设长度,停止采样,并将当前采样的对话样本与之前采样的对话样本中的对话进行拼接,得到训练样本。
本申请中,也可以在采样的过程中动态拼接对话样本,对M个不同任务的对话样本集进行采样,得到第一个对话样本,如果第一个对话样本携带有参考知识,将其作为训练样本,继续抽取第二个样本,如果第二个样本携带参考知识,将第一个对话样本中的对话与第二个对话样本进行拼接,得到训练样本,如果第二个对话样本未携带参考知识,将第一个样本中的对话与第二个对话样本进行拼接,继续抽取第三个对话样本,直至当前采样的对话样本与之前采样的对话样本中对话的总长度达到预设长度,停止采样,并将当前采样的对话样本与之前采样的对话样本中的对话进行拼接,得到训练样本。
如果第一个对话样本未携带参考知识,继续采样得到第二个对话样本,如果第二个对话样本携带有参考知识,将第一个对话样本与第二个对话样本进行拼接,得到训练样本,继续采样得到第三个对话样本,如果第二个对话样本未携带参考知识,将第一个对话样本与第二个对话样本进行拼接,继续采样得到第三个对话样本,直至当前采样的对话样本与之前采样的对话样本中的对话的总长度达到预设长度,停止采样,并将当前采样的对话样本与之前采样的对话样本中的对话进行拼接,得到训练样本。
在获取训练样本后,可以利用训练样本对初始对话模型进行训练,得到对话样本,具体训练过程可以参见上述实施例,故在此不再赘述。
本申请实施例中,可以对M个不同任务的对话样本集进行采样,得到第i个对话样本,如果采样的i个对话样本满足预设条件,可以根据i个对话样本,获取训练样本,如果i个对话样本未满足预设条件,可以继续对M个对话样本集进行采样。由此,通过利用多任务的对话样本,动态构造训练样本,可以使得对话模型充分学习多任务知识。
图3为本申请另一实施例提供的对话模型的训练方法的流程示意图。
如图3所示,该对话模型的训练方法包括:
步骤301,获取训练样本。
本申请中,步骤301可以参见上述实施例中相关内容的记载,故在此不再赘述。
步骤302,将训练样本输入初始对话模型,以获取初始对话模型输出的预测回复语句。
本申请中,参见上述实施例中记载的方式获取预测回复语句,故在此不再赘述。
或者,本申请中,如果训练样本包含参考知识,可以利用初始对话模型对参考知识、训练样本中前N-1轮对话及第N轮对话中的输入语句进行编码,得到编码特征,再对编码特征进行解码,得到预测回复语句,其中,N为训练样本包括的对话轮次,N为正整数。由此,基于参考知识、最后一轮对话中的输入语句及最后一轮对话之前的对话,预测最后一轮对话的回复语句,提高了预测回复语句的准确性。
本申请中,可以利用初始对话模型对参考知识、训练样本中前N-1轮对话及第N轮对话中的输入语句进行编码,得到编码特征,并对编码特征和解码器当前输出的字符进行解码,以获取解码器输出的下一个字符,直至解码器输出结束字符,得到预测回复语句,从而可以提高预测回复语句的准确性。
步骤303,在训练样本包含参考知识的情况下,根据预测回复语句与参考知识对应的参考回复语句之间的差异,确定第一模型损失。
其中,参考回复语句可以是指训练样本中对话的回复语句。
本申请中,对于包含参考知识的训练样本,可以将参考知识对应的参考回复语句作为训练样本的标注数据,可以根据预测回复语句中每个字符与参考回复语句中相同位置的字符之间的差异,确定第一模型损失,或者可以计算预测回复语句与参考回复语句之间的相似度,根据相似度,确定第一模型损失。
步骤304,根据第一模型损失,对初始对话模型进行训练,得到对话模型。
本申请,可以根据第一模型损失,对初始对话模型的参数进行调整,并继续对参数调整后的对话模型进行训练,直至满足训练结束条件,得到对话模型。
本申请实施例中,如果训练样本包含参考知识,可以根据预测回复语句与参考知识对应的参考回复语句之间的差异,确定模型损失,并对初始对话模型进行训练。由此,对话模型可以学习训练样本中参考知识对应的回复语句,使得模型可以充分结合参考知识,给出可信、准确的回复语句,提高了模型回复质量。
图4为本申请另一实施例提供的对话模型的训练方法的流程示意图。
如图4所示,该对话模型的训练方法包括:
步骤401,获取训练样本。
本申请中,步骤401可以参见上述实施例中相关内容的记载,故在此不再赘述。
步骤402,将训练样本输入初始对话模型,以获取初始对话模型输出的预测回复语句。
本申请中,参见上述实施例中记载的方式获取预测回复语句,故在此不再赘述。
本申请中,如果训练样本未包含参考知识,可以利用初始对话模型对训练样本中第j-1轮对话及第j轮对话中的输入语句进行编码,得到第j轮对话对应的编码特征,其中,j为小于或等于N的正整数,N为训练样本包括的对话轮次,N为正整数,并对第j轮对话对应的编码特征进行解码,得到第j轮对话对应的预测回复语句。由此,基于训练样本中每轮对话的输入语句及每轮对话之前的对话,预测每轮对话的回复语句,可以使得对话模型学习每轮对话的回复部分。
本申请中,可以利用初始对话模型对第j-1轮对话及第j轮对话中的输入语句进行编码,得到编码特征,并对编码特征和解码器当前输出的字符进行解码,以获取解码器输出的下一个字符,直至解码器输出结束字符,得到第j轮对话的预测回复语句,从而可以提高预测回复语句的准确性。
如果训练样本包含参考知识且训练样本的长度达到预设长度,可以利用参考知识、最后一轮的输入语句及最后一轮之前的对话进行编码得到编码特征,对编码特征进行解码得到预测回复语句,或者也可以利用初始对话模型对训练样本中第j-1轮对话及第j轮对话中的输入语句进行编码,得到第j轮对话对应的编码特征,对第j轮对话对应的编码特征进行解码,得到第j轮对话对应的预测回复语句,或者利用前述两种方式得到参考知识对应的预测回复语句及每轮对话对应的预测回复语句,本申请对此不作限定。
步骤403,在训练样本未包含参考知识的情况下,根据每轮对话对应的预测回复语句与训练样本中每轮对话中的参考回复语句之间的差异,确定每轮对话对应的子损失。
其中,每轮对话对应的预测回复语句可以是指对话模型对训练样本中每轮对话的输入语句的预测回复语句,每轮对话中的参考回复语句可以是指训练样本中每轮对话的输入语句的回复语句。
本申请中,如果训练样本未包含参考知识,可以根据每轮对话对应的预测回复语句中每个字符与每轮对话的参考回复语句中相同位置的字符之间的差异,每轮对话对应的子损失,或者可以计算每轮对话对应的预测回复语句与每轮对话的参考回复语句之间的相似度,根据相似度,确定每轮对话对应的子损失。
步骤404,根据每轮对话对应的子损失,确定第二模型损失。
本申请中,可以将训练样本中各轮对话对应的子损失之和,作为第二模型损失。
步骤405,根据第二模型损失,对初始对话模型进行训练,得到对话模型。
本申请,可以根据第一模型损失,对初始对话模型的参数进行调整,并继续对参数调整后的对话模型进行训练,直至满足训练结束条件,得到对话模型。
如果训练样本的长度达到预设长度且训练样本携带有参考知识,可以将基于参考知识对应的参考回复语句得到损失作为模型损失,或者也可以将基于训练样本中各轮对话对应的参考回复语句得到损失作为模型户,或者也可以将基于参考知识对应的参考回复语句得到损失与基于各轮对话对应的参考回复语句得到损失之和,作为模型损失,本申请对此不作限定。
本申请实施例中,如果训练样本未包含参考知识,可以根据训练样本中每轮对话对应的预测回复语句与训练样本中每轮对话中的参考回复语句之间的差异,确定每轮对话对应的子损失,并根据每轮对话对应的子损失,确定最终的模型损失,并对初始对话模型进行训练。由此,对话模型可以学习训练样本每轮对话中的回复语句,使得模型可以充分学习多任务知识,避免用户与模型多轮交互后,出现效果下降问题。
为了便于理解上述实施例,下面结合图5进行说明。图5为本申请一实施例提供的构建训练样本的示意图。
如图5所示,从4个任务的对话数据集中进行采样,4个任务的对话数据集分别为通用数据、文创数据、对话数据和检索增强数据,其中,对话数据与检索增强数据中的对话样本带有参考知识。
其中,通用数据的对话样本可以是涉及各个领域的对话样本,比如通用数据中某对话样本包括一轮对话,对话的输入语句为“月亮说什么语言”,回复语句为“月亮是一个天体,它没有语言能力,不能说话”。
文创数据中的对话样本可以与文学创作有关的对话样本,比如文创数据中某对话样本包括一轮对话,对话的输入语句为“写一首七言藏尾诗,每句诗结尾组成“长安乐昌””,该对话的回复语句为“藏蓝任重道且长,\n使命昼夜四季安,\n风雨守护山城乐,\n初心热血铸荣昌”。
对话数据中的对话样本可以是普通的问答对话样本,比如对话数据中某对话样本包括一轮对话,对话的输入语句为“今天天气怎么样”,对话的回复语句“今天天气晴,微风”。
检索增强数据可以是与用户使用搜索引擎时的搜索语句与搜索答案相关的对话样本。比如,检索增强数据中某对话样本为“南瓜的功能与功效”,“南瓜的功能与功效为***”。
如图5所示,可以从4个对话数据集中进行采样,一条伪多轮训练样本完成构建,并加入训练样本集的准则有两条:
1.当前采样的对话样本带有参考知识;
2.当前n个样本拼接长度已经达到模型上下文最大可见长度。
当达到模型上下文最大可见长度时,组成该条伪多轮样本中的n条样本的回复部分均参与优化。
如图5所示,从通用数据中采样的得到第一对话样本H1B1未携带参考知识,继续采样,从文创数据中采样得到第二个对话样本K2H2B2携带有参考知识,在拼接H1B1和K2H2B2时,可以将参考知识K2放置整条样本的开头,得到第一个训练样本K2H1B1H2B2,完成第1条训练样本的构建。之后,从文创数据中采样到第三个对话样本H3B3,由于第三个对话样本未携带参考知识,从对话数据中采样到第四个对话样本将第一个对话样本H1B1、第二个对话样本中的对话H2B2、第三个对话样本H3B3、第四对话样本/>进行拼接,拼接时将参考知识/>放置在最前面,得第2个训练样本/>完成第2条训练样本样本的构建,继续采样,直至达到模型上下文最大可见长度,停止构建伪多轮训练样本,采样得到的n个对话样本拼接得到第H条训练样本H1B1H2B2H3B3...HnBn。
本申请中,将对话样本携带的参考知识放置于整条训练样本的最开头,可以避免在中间插入参考知识导致多轮对话的不流畅问题。通常来说,用户输入的质量不如模型回复高,为了避免学习到用户输入的噪音,可以让模型仅学习经过人工标注与审核的回复部分。对于构建一条伪多轮样本的n个对话样本,其优化损失函数可以表示为:
最小化上述损失函数,不仅让模型学习了不带参考知识的每个对话样本的回复,以及带有参考知识的对话样本的回复两个部分。这样可以使对话模型在给予参考知识时,充分利用参考知识的信息,来给出更可控、可信且准确的回答。比如检索问答场景,模型可以基于搜索引擎给定的多个参考,归纳总结出来一个最置信的回答,同时还可以给定参考引用来源,进一步增强回复的可信度。
本申请的方案,基于多任务的对话样本集,动态构建伪多轮训练样本,可以使得对话模型在最大可见上下文中的每一轮,均可以学习到充足的多任务知识,避免用户与模型多轮交互后,出现效果下降问题。并且,动态构造的伪多轮训练样本,可以模拟用户频繁切换话题的交互习惯,可以避免用户在切换至新话题后,模型仍然考虑历史轮次的联系,输出错误的回复语句,提高了模型回复质量。
并且,基于携带有参考知识的对话样本集,也即基于知识增强的多任务对话样本集,在训练阶段,将参考知识放置在训练样本的最开头,可以避免了对多轮交互流畅度的影响。另外,针对一条伪多轮训练样本,对话模型可以仅学习该条对话样本中的参考知识对应的回复语句,使得对话模型可以充分结合参考知识,给出可信、准确的回复,提高了模型回复质量。
图6为本申请一实施例提供的对话生成方法的流程示意图。
如图6所示,该对话生成方法包括:
步骤601,获取输入语句。
本申请中,输入语句可以是文本形式的,也可以是语音形式的,对此不作限定。如果输入语句是语音数据,可以对语音数据进行语音识别,将其转换为文本。
本申请中,输入语句可以是用户输入的,也可以是问题集中抽取的,或者是通过其他方式获取的,本申请对此不作限定。
步骤602,将输入语句输入到对话模型,以获取对话模型输出的回复语句。
其中,对话模型可以是采用上述实施例的对话模型的训练方法训练得到。
本申请中,可以利用对话模型对输入语句进行编码得到编码特征,并对编码特征进行解码,得到回复语句。
本申请中,可以对输入语句进行编码,以获取编码特征,并对编码特征和解码器当前输出的字符进行解码,以获取解码器输出的下一个字符,直至解码器输出结束字符,得到回复语句。由此,解码器对编码特征和已生成的字符进行解码,生成下一个字符,提高了回复语句的准确性。
本申请实施例中,通过利用包含不同任务的对话样本的训练样本训练得到对话模型输出回复语句,可以避免用户与对话模型多轮交互后,出现回复质量下降问题,保证了模型回复质量。
为了实现上述实施例,本申请实施例还提出一种对话模型的训练装置。图7为本申请一实施例提供的对话模型的训练装置的结构示意图。
如图7所示,该对话模型的训练装置700包括:
第一获取模块710,用于获取训练样本,其中,训练样本中包括至少一个任务的对话样本;
第二获取模块720,用于将训练样本输入初始对话模型,以获取初始对话模型输出的预测回复语句;
训练模块730,用于根据预测回复语句与对话样本中的参考回复语句之间的差异,对初始对话模型进行训练,得到对话模型。
在本申请实施例一种可能的实现方式中,第一获取模块710,用于:
对M个不同任务的对话样本集进行采样,得到第i个对话样本,其中,M为大于1的整数,i为正整数;
在采样的i个对话样本满足预设条件的情况下,根据i个对话样本,获取训练样本;
在i个对话样本未满足预设条件的情况下,继续对M个对话样本集进行采样或停止采样。
在本申请实施例一种可能的实现方式中,M个不同任务的对话样本集中至少一个对话样本集中的对话样本携带有参考知识,第一获取模块710,用于:
第i个对话样本携带有参考知识;
第1个到i-1个对话样本中的对话与第i个对话样本的总长度达到预设长度。
在本申请实施例一种可能的实现方式中,第一获取模块710,用于:
将第1个到第i-1个对话样本中的对话与第i个对话样本进行拼接,得到所述训练样本。
在本申请实施例一种可能的实现方式中,第一获取模块710,用于:
在第i个对话样本携带有参考知识的情况下,将第1个到第i个对话样本中的对话进行拼接,得到中间样本;
将第i个样本携带的参考知识与中间样本进行拼接,得到训练样本。
在本申请实施例一种可能的实现方式中,第一获取模块710,用于:
将第1个到第i个对话样本中的对话按照拼接规则拼接,得到中间样本。
在本申请实施例一种可能的实现方式中,第一获取模块710,用于:
根据每个对话样本集的采样概率,对M个不同任务的对话样本集进行采样,得到第i个对话样本。
在本申请实施例一种可能的实现方式中,该装置还可以包括:
第三获取模块,用于获取每个任务的对话样本集的属性信息;
第一确定模块,用于根据每个对话样本集的属性信息,确定每个对话样本集的采样概率。
在本申请实施例一种可能的实现方式中,该装置还可以包括:
第二确定模块,用于根据M的取值,确定每个对话样本集的采样概率。
在本申请实施例一种可能的实现方式中,训练模块730,用于:
在训练样本包含参考知识的情况下,根据预测回复语句与参考知识对应的参考回复语句之间的差异,确定第一模型损失;
根据第一模型损失,对初始对话模型进行训练,得到对话模型。
在本申请实施例一种可能的实现方式中,训练模块730,用于:
在训练样本未包含参考知识的情况下,根据每轮对话对应的预测回复语句与训练样本中每轮对话中的参考回复语句之间的差异,确定每轮对话对应的子损失;
根据每轮对话对应的子损失,确定第二模型损失;
根据第二模型损失,对初始对话模型进行训练,得到对话模型。
在本申请实施例一种可能的实现方式中,第二获取模块720,用于:
在训练样本包含参考知识的情况下,利用初始对话模型对参考知识、训练样本中前N-1轮对话及第N轮对话中的输入语句进行编码,得到编码特征,N为训练样本包括的对话轮次,N为正整数;
对编码特征进行解码,得到预测回复语句。
在本申请实施例一种可能的实现方式中,第二获取模块720,用于:
在训练样本未包含参考知识的情况下,利用初始对话模型对训练样本中第j-1轮对话及第j轮对话中的输入语句进行编码,得到第j轮对话对应的编码特征,其中,j为小于或等于N的正整数,N为训练样本包括的对话轮次,N为正整数;
对第j轮对话对应的编码特征进行解码,得到第j轮对话对应的预测回复语句。
需要说明的是,前述对话模型的训练方法实施例的解释说明,也适用于该实施例的对话模型的训练装置,故在此不再赘述。
本申请实施例中,通过获取训练样本,训练样本包括至少一个任务的对话样本,并利用训练样本输入初始对话模型,以获取初始对话模型输出的预测回复语句,再根据预测回复语句与对话样本中的参考回复语句之间的差异,对初始对话模型进行训练,得到对话模型。由此,利用包括不同任务对话样本的训练样本对初始对话模型进行训练,可以使对话模型学习多任务知识,从而可以避免用户与对话模型多轮交互后,出现回复质量下降问题。
为了实现上述实施例,本申请实施例还提出一种对话生成装置。图8为本申请一实施例提供的对话生成装置的结构示意图。
如图8所示,该对话生成装置800包括:
第一获取模块810,用于获取输入语句;
第二获取模块820,用于将输入语句输入到对话模型,以获取对话模型输出的回复语句,其中,对话模型是采用如上述实施例所述的方法训练得到的。
需要说明的是,前述对话生成方法实施例的解释说明,也适用于该实施例的对话生成装置,故在此不再赘述。
本申请实施例中,通过利用包含不同任务的对话样本的训练样本训练得到对话模型输出回复语句,可以避免用户与对话模型多轮交互后,出现回复质量下降问题,保证了模型回复质量。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图9示出了可以用来实施本申请的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在ROM(Read-OnlyMemory,只读存储器)902中的计算机程序或者从存储单元908加载到RAM(Random AccessMemory,随机访问/存取存储器)903中的计算机程序,来执行各种适当的动作和处理。在RAM903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。I/O(Input/Output,输入/输出)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于CPU(Central Processing Unit,中央处理单元)、GPU(Graphic Processing Units,图形处理单元)、各种专用的AI(Artificial Intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、DSP(Digital SignalProcessor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如对话模型的训练方法。例如,在一些实施例中,对话模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的对话模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行对话模型的训练方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application-Specific Integrated Circuit,专用集成电路)、ASSP(Application Specific StandardProduct,专用标准产品)、SOC(System On Chip,芯片上系统的系统)、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM(Electrically Programmable Read-Only-Memory,可擦除可编程只读存储器)或快闪存储器、光纤、CD-ROM(Compact Disc Read-Only Memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode-Ray Tube,阴极射线管)或者LCD(Liquid Crystal Display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:LAN(LocalArea Network,局域网)、WAN(Wide Area Network,广域网)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(VirtualPrivate Server,虚拟专用服务器)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
需要说明的是,用来实现本申请实施例的对话生成方法电子设备与上述电子设备的结构类似,故在此不再赘述。
根据本申请的实施例,本申请还提供了一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行本申请上述实施例提出的对话模型的训练方法,或者执行本申请上述实施例所述的对话生成方法。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (31)
1.一种对话模型的训练方法,包括:
获取训练样本,其中,所述训练样本中包括至少一个任务的对话样本;
将所述训练样本输入初始对话模型,以获取所述初始对话模型输出的预测回复语句;
根据所述预测回复语句与所述对话样本中的参考回复语句之间的差异,对所述初始对话模型进行训练,得到对话模型。
2.如权利要求1所述的方法,其中,所述获取训练样本,包括:
对M个不同任务的对话样本集进行采样,得到第i个对话样本,其中,M为大于1的整数,i为正整数;
在采样的i个对话样本满足预设条件的情况下,根据所述i个对话样本,获取所述训练样本;
在所述i个对话样本未满足所述预设条件的情况下,继续对所述M个对话样本集进行采样。
3.如权利要求2所述的方法,其中,所述M个不同任务的对话样本集中至少一个对话样本集中的对话样本携带有参考知识,所述采样的i个对话样本满足预设条件,包括以下至少一项:
所述第i个对话样本携带有参考知识;
第1个到i-1个对话样本中的对话与所述第i个对话样本的总长度达到预设长度。
4.如权利要求2所述的方法,其中,所述根据所述i个对话样本,获取所述训练样本,包括:
将第1个到第i-1个对话样本中的对话与所述第i个对话样本进行拼接,得到所述训练样本。
5.如权利要求4所述的方法,其中,所述将第1个到第i-1个对话样本中的对话与所述第i个对话样本进行拼接,得到所述训练样本,包括:
在所述第i个对话样本携带有参考知识的情况下,将第1个到第i个对话样本中的对话进行拼接,得到中间样本;
将所述第i个样本携带的参考知识与所述中间样本进行拼接,得到所述训练样本。
6.如权利要求5所述的方法,其中,所述将第1个到第i个对话样本中的对话进行拼接,得到中间样本,包括:
将所述第1个到第i个对话样本中的对话按照拼接规则拼接,得到所述中间样本。
7.如权利要求2所述的方法,其中,所述对M个不同任务的对话样本集进行采样,得到第i个对话样本,包括:
根据每个所述对话样本集的采样概率,对所述M个不同任务的对话样本集进行采样,得到所述第i个对话样本。
8.如权利要求7所述的方法,还包括:
获取每个任务的对话样本集的属性信息;
根据每个所述对话样本集的属性信息,确定每个所述对话样本集的采样概率。
9.如权利要求7所述的方法,还包括:
根据所述M的取值,确定每个所述对话样本集的采样概率。
10.如权利要求1所述的方法,其中,所述根据所述预测回复语句与所述对话样本中的参考回复语句之间的差异,对所述初始对话模型进行训练,得到对话模型,包括:
在所述训练样本包含参考知识的情况下,根据所述预测回复语句与所述参考知识对应的参考回复语句之间的差异,确定第一模型损失;
根据所述第一模型损失,对所述初始对话模型进行训练,得到所述对话模型。
11.如权利要求1所述的方法,其中,所述根据所述预测回复语句与所述对话样本中的参考回复语句之间的差异,对所述初始对话模型进行训练,得到对话模型,包括:
在所述训练样本未包含参考知识的情况下,根据每轮对话对应的预测回复语句与所述训练样本中每轮对话中的参考回复语句之间的差异,确定每轮对话对应的子损失;
根据每轮对话对应的子损失,确定第二模型损失;
根据所述第二模型损失,对所述初始对话模型进行训练,得到所述对话模型。
12.如权利要求1所述的方法,其中,所述将所述训练样本输入初始对话模型,以获取所述初始对话模型输出的预测回复语句,包括:
在所述训练样本包含参考知识的情况下,利用所述初始对话模型对所述参考知识、所述训练样本中前N-1轮对话及第N轮对话中的输入语句进行编码,得到编码特征,N为所述训练样本包括的对话轮次,N为正整数;
对所述编码特征进行解码,得到所述预测回复语句。
13.如权利要求1所述的方法,其中,所述将所述训练样本输入初始对话模型,以获取所述初始对话模型输出的预测回复语句,包括:
在所述训练样本未包含参考知识的情况下,利用所述初始对话模型对所述训练样本中第j-1轮对话及第j轮对话中的输入语句进行编码,得到所述第j轮对话对应的编码特征,其中,j为小于或等于N的正整数,N为所述训练样本包括的对话轮次,N为正整数;
对所述第j轮对话对应的编码特征进行解码,得到所述第j轮对话对应的预测回复语句。
14.一种对话生成方法,包括:
获取输入语句;
将所述输入语句输入到对话模型,以获取所述对话模型输出的回复语句,其中,所述对话模型是采用如权利要求1-13中任一项所述的方法训练得到的。
15.一种对话模型的训练装置,包括:
第一获取模块,用于获取训练样本,其中,所述训练样本中包括至少一个任务的对话样本;
第二获取模块,用于将所述训练样本输入初始对话模型,以获取所述初始对话模型输出的预测回复语句;
训练模块,用于根据所述预测回复语句与所述对话样本中的参考回复语句之间的差异,对所述初始对话模型进行训练,得到对话模型。
16.如权利要求15所述的装置,其中,所述第一获取模块,用于:
对M个不同任务的对话样本集进行采样,得到第i个对话样本,其中,M为大于1的整数,i为正整数;
在采样的i个对话样本满足预设条件的情况下,根据所述i个对话样本,获取所述训练样本;
在所述i个对话样本未满足所述预设条件的情况下,继续对所述M个对话样本集进行采样。
17.如权利要求16所述的装置,其中,所述M个不同任务的对话样本集中至少一个对话样本集中的对话样本携带有参考知识,所述第一获取模块,用于:
所述第i个对话样本携带有参考知识;
第1个到i-1个对话样本中的对话与所述第i个对话样本的总长度达到预设长度。
18.如权利要求16所述的装置,其中,所述第一获取模块,用于:
将第1个到第i-1个对话样本中的对话与所述第i个对话样本进行拼接,得到所述训练样本。
19.如权利要求18所述的装置,其中,所述第一获取模块,用于:
在所述第i个对话样本携带有参考知识的情况下,将第1个到第i个对话样本中的对话进行拼接,得到中间样本;
将所述第i个样本携带的参考知识与所述中间样本进行拼接,得到所述训练样本。
20.如权利要求19所述的装置,其中,所述第一获取模块,用于:
将所述第1个到第i个对话样本中的对话按照拼接规则拼接,得到所述中间样本。
21.如权利要求16所述的装置,其中,所述第一获取模块,用于:
根据每个所述对话样本集的采样概率,对所述M个不同任务的对话样本集进行采样,得到所述第i个对话样本。
22.如权利要求21所述的装置,还包括:
第三获取模块,用于获取每个任务的对话样本集的属性信息;
第一确定模块,用于根据每个所述对话样本集的属性信息,确定每个所述对话样本集的采样概率。
23.如权利要求21所述的装置,还包括:
第二确定模块,用于根据所述M的取值,确定每个所述对话样本集的采样概率。
24.如权利要求15所述的装置,其中,所述训练模块,用于:
在所述训练样本包含参考知识的情况下,根据所述预测回复语句与所述参考知识对应的参考回复语句之间的差异,确定第一模型损失;
根据所述第一模型损失,对所述初始对话模型进行训练,得到所述对话模型。
25.如权利要求15所述的装置,其中,所述训练模块,用于:
在所述训练样本未包含参考知识的情况下,根据每轮对话对应的预测回复语句与所述训练样本中每轮对话中的参考回复语句之间的差异,确定每轮对话对应的子损失;
根据每轮对话对应的子损失,确定第二模型损失;
根据所述第二模型损失,对所述初始对话模型进行训练,得到所述对话模型。
26.如权利要求15所述的装置,其中,所述第二获取模块,用于:
在所述训练样本包含参考知识的情况下,利用所述初始对话模型对所述参考知识、所述训练样本中前N-1轮对话及第N轮对话中的输入语句进行编码,得到编码特征,N为所述训练样本包括的对话轮次,N为正整数;
对所述编码特征进行解码,得到所述预测回复语句。
27.如权利要求15所述的装置,其中,所述第二获取模块,用于:
在所述训练样本未包含参考知识的情况下,利用所述初始对话模型对所述训练样本中第j-1轮对话及第j轮对话中的输入语句进行编码,得到所述第j轮对话对应的编码特征,其中,j为小于或等于N的正整数,N为所述训练样本包括的对话轮次,N为正整数;
对所述第j轮对话对应的编码特征进行解码,得到所述第j轮对话对应的预测回复语句。
28.一种对话生成装置,包括:
第一获取模块,用于获取输入语句;
第二获取模块,用于将所述输入语句输入到对话模型,以获取所述对话模型输出的回复语句,其中,所述对话模型是采用如权利要求1-13中任一项所述的方法训练得到的。
29.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的方法,或执行权利要求14所述的方法。
30.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-13中任一项所述的方法,或者执行根据权利要求14所述的方法。
31.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现权利要求1-13中任一项所述方法的步骤,或者实现权利要求14所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310904938.5A CN117033582A (zh) | 2023-07-21 | 2023-07-21 | 对话模型的训练方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310904938.5A CN117033582A (zh) | 2023-07-21 | 2023-07-21 | 对话模型的训练方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117033582A true CN117033582A (zh) | 2023-11-10 |
Family
ID=88643909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310904938.5A Pending CN117033582A (zh) | 2023-07-21 | 2023-07-21 | 对话模型的训练方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117033582A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117332072A (zh) * | 2023-12-01 | 2024-01-02 | 阿里云计算有限公司 | 对话处理、语音摘要提取以及目标对话模型训练方法 |
CN117576982A (zh) * | 2024-01-16 | 2024-02-20 | 青岛培诺教育科技股份有限公司 | 一种基于ChatGPT的口语训练方法、装置、电子设备及介质 |
-
2023
- 2023-07-21 CN CN202310904938.5A patent/CN117033582A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117332072A (zh) * | 2023-12-01 | 2024-01-02 | 阿里云计算有限公司 | 对话处理、语音摘要提取以及目标对话模型训练方法 |
CN117332072B (zh) * | 2023-12-01 | 2024-02-13 | 阿里云计算有限公司 | 对话处理、语音摘要提取以及目标对话模型训练方法 |
CN117576982A (zh) * | 2024-01-16 | 2024-02-20 | 青岛培诺教育科技股份有限公司 | 一种基于ChatGPT的口语训练方法、装置、电子设备及介质 |
CN117576982B (zh) * | 2024-01-16 | 2024-04-02 | 青岛培诺教育科技股份有限公司 | 一种基于ChatGPT的口语训练方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108711420B (zh) | 多语言混杂模型建立、数据获取方法及装置、电子设备 | |
CN111667816B (zh) | 模型训练方法、语音合成方法、装置、设备和存储介质 | |
CN110516253B (zh) | 中文口语语义理解方法及系统 | |
CN113205817B (zh) | 语音语义识别方法、系统、设备及介质 | |
CN115309877B (zh) | 对话生成方法、对话模型训练方法及装置 | |
CN113962315A (zh) | 模型预训练方法、装置、设备、存储介质以及程序产品 | |
CN117033582A (zh) | 对话模型的训练方法、装置、电子设备和存储介质 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN111223498A (zh) | 情绪智能识别方法、装置及计算机可读存储介质 | |
CN114416934B (zh) | 多模态的对话生成模型的训练方法、装置及电子设备 | |
CN110808032A (zh) | 一种语音识别方法、装置、计算机设备及存储介质 | |
CN114360557B (zh) | 语音音色转换方法、模型训练方法、装置、设备和介质 | |
US20220375453A1 (en) | Method and apparatus for speech synthesis, and storage medium | |
CN116166827B (zh) | 语义标签抽取模型的训练和语义标签的抽取方法及其装置 | |
US20230094730A1 (en) | Model training method and method for human-machine interaction | |
CN111681661B (zh) | 语音识别的方法、装置、电子设备和计算机可读介质 | |
CN112466289A (zh) | 语音指令的识别方法、装置、语音设备和存储介质 | |
CN112463942A (zh) | 文本处理方法、装置、电子设备及计算机可读存储介质 | |
CN115358243A (zh) | 多轮对话识别模型的训练方法、装置、设备及存储介质 | |
CN112910761B (zh) | 即时通讯方法、装置、设备、存储介质以及程序产品 | |
CN113793599A (zh) | 语音识别模型的训练方法和语音识别方法及装置 | |
CN113468857A (zh) | 风格转换模型的训练方法、装置、电子设备以及存储介质 | |
CN115357710B (zh) | 表格描述文本生成模型的训练方法、装置及电子设备 | |
Ai et al. | A Two-Stage Multimodal Emotion Recognition Model Based on Graph Contrastive Learning | |
KR20200140171A (ko) | 전자 장치 및 이의 제어 방법 |
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 |