CN118296126A - 对话处理方法、系统、电子设备及计算机可读存储介质 - Google Patents
对话处理方法、系统、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN118296126A CN118296126A CN202410487170.0A CN202410487170A CN118296126A CN 118296126 A CN118296126 A CN 118296126A CN 202410487170 A CN202410487170 A CN 202410487170A CN 118296126 A CN118296126 A CN 118296126A
- Authority
- CN
- China
- Prior art keywords
- text
- sentence
- query
- model
- expert
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 239000013598 vector Substances 0.000 claims abstract description 98
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims description 59
- 230000008569 process Effects 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 15
- 230000002776 aggregation Effects 0.000 claims description 14
- 238000004220 aggregation Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 230000002452 interceptive effect Effects 0.000 claims description 12
- 238000013140 knowledge distillation Methods 0.000 claims description 8
- 239000010410 layer Substances 0.000 description 19
- 238000004891 communication Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000004821 distillation Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
Landscapes
- Machine Translation (AREA)
Abstract
本申请公开了一种对话处理方法、系统、电子设备及计算机可读存储介质,涉及内容生成领域,为解决检索器编码效率低的问题,该对话处理方法包括当接收到通过输入组件输入的查询对话文本,对查询对话文本进行转换得到包括多个词元的词元序列;将词元序列输入预设编码器,通过预设编码器将词元序列转换为查询向量,预设编码器为基于混合专家模型构建的编码器;在向量数据库中检索与查询向量的相似度最高的目标文档向量,获取目标文档向量对应的内容文本;将目标文档向量对应的内容文本与查询对话文本组合后得到检索文本。本申请能够在保证检索器具备多个应用领域的知识处理能力的同时,提高检索器的编码效率,从而提高用户使用体验。
Description
技术领域
本申请涉及内容生成领域,特别涉及一种对话处理方法、系统、电子设备及计算机可读存储介质。
背景技术
检索增强生成(Retrieval-Augmented Generataon,简称RAG)是一种结合了信息检索和文本生成的技术。它旨在通过利用外部知识库来增强大型语言模型的生成能力。在RAG模型中,检索器是一个关键组件,它的主要作用是从知识库中检索与用户输入的查询最相关的信息,提高大语言模型生成内容的质量。检索器的检索结果关系到模型能否生成准确且相关的回答。高效且准确的检索器能够显著提升整个RAG模型的性能,因此在实际应用中,检索器的设计和优化是RAG模型开发的一个关键任务。
RAG应用在某些特定领域时,需要让检索器具备跨多个领域的知识理解能力,尤其是在知识库的信息种类繁多且内容复杂时,这通常意味着需要一个具有更丰富参数和深层网络结构的语言模型,从而在处理多领域知识查询时提供更准确和深入的理解。然而,随着用于构建编码器的模型参数增大,计算量显著增加,导致检索器的编码效率的显著下降,检索效率降低,不能即时对用户输入的查询进行应答,降低用户使用体验。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本申请的目的是提供一种对话处理方法、系统、电子设备及计算机可读存储介质,能够在保证检索器具备多个应用领域的知识处理能力的同时,提高检索器的编码效率,从而提高用户使用体验。
为解决上述技术问题,本申请提供了一种对话处理方法,应用于交互设备的处理组件,所述交互设备还包括输入组件和提示组件,所述对话处理方法包括:
当接收到通过所述输入组件输入的查询对话文本,对所述查询对话文本进行转换得到包括多个词元的词元序列;
将所述词元序列输入预设编码器,通过所述预设编码器将所述词元序列转换为查询向量,所述预设编码器为基于混合专家模型构建的编码器;
在向量数据库中检索与所述查询向量的相似度最高的目标文档向量,获取所述目标文档向量对应的内容文本,所述向量数据库中存储有多个文档向量,所述文档向量通过对内容文本进行编码和索引后得到;
将所述目标文档向量对应的内容文本与所述查询对话文本组合后得到检索文本,以便基于所述检索文本生成所述查询对话文本对应的应答文本,并通过所述提示组件提示所述应答文本。
其中,所述预设编码器包括门控网络和多个专家子模型;
通过所述预设编码器将所述词元序列转换为查询向量的过程包括:
通过所述门控网络确定所述词元序列中的每一词元对应的专家子模型;
将每一所述词元分配至对应的所述专家子模型计算所述词元对应的张量;
根据所有所述词元对应的张量得到查询向量。
其中,通过所述门控网络确定所述词元序列中的每一词元对应的专家子模型的过程包括:
通过所述门控网络确定所述词元序列中的每一所述词元的参考张量;所述参考张量中的元素的个数与所述专家子模型的个数相同;
针对每一所述词元,将所述词元的所述参考张量中各个所述元素划分为第一元素和第二元素,确定所述第一元素在所述参考张量中的位置,基于所述位置确定所述词元对应的专家子模型;所述第一元素的数值大于所述第二元素的数值。
其中,当所述第一元素的数量为多个时;
确定各个所述专家子模型的权重;
将每一所述词元分配至对应的所述专家子模型计算所述词元对应的张量的过程包括:
将每一所述词元分配至对应的多个所述专家子模型,得到多个中间张量;
基于多个所述中间张量和所述词元对应的所述专家子模型的权重计算所述词元的张量。
其中,通过所述门控网络确定所述词元序列中的每一所述词元的参考张量的过程包括:
获取所述词元序列的序列长度以及所述专家子模型的个数;
通过所述门控网络按照所述序列长度和所述专家子模型的个数确定每一所述词元的参考张量。
其中,将所述词元序列输入预设编码器之前,所述对话处理方法还包括:
构建多领域知识数据库;
从所述多领域知识数据库中确定当前应用领域场景对应的微调数据集;
基于所述微调数据集对混合专家模型进行微调,得到所述预设编码器。
其中,构建多领域知识数据库的过程包括
获取各个应用领域场景对应的查询类型;
基于每一所述应用领域场景对应的所述查询类型获取所述应用领域场景的多个关联数据;
基于所有所述关联数据构建多领域知识数据库。
其中,基于所有所述关联数据构建多领域知识数据库的过程包括:
基于多个所述关联数据得到多个内容文本;
对每一所述内容文本进行向量化处理,得到文档向量;
基于所有所述文档向量构建多领域知识数据库,将所述多领域知识数据库作为所述向量数据库。
其中,对每一所述内容文本进行向量化处理的过程包括:
利用所述预设编码器对所述内容文本进行向量化处理。
其中,基于所述微调数据集对混合专家模型进行微调,得到所述预设编码器的过程包括:
基于所述微调数据集构造正样本和负样本;
基于所述正样本、所述负样本及预设损失函数对所述混合专家模型进行微调。
其中,基于所述微调数据集构造正样本和负样本的过程包括:
从所述微调数据集中提取第一文本段落和第二文本段落;
将所述第一文本段落按照句子进行划分,得到第一句子集合,所述第一句子集合包括多个第一句子文本;
将所述第二文本段落按照句子进行划分,得到第二句子集合,所述第二句子集合包括多个第二句子文本;
从所述第一句子集合中提取一个所述第一句子文本作为第一查询文本,将所述第一句子集合中除所述第一查询文本外的所有所述第一句子文本确定为第一检索内容,将所述第一查询文本和所述第一检索内容确定为正样本;
从所述第二句子集合中提取一个所述第二句子文本作为第二查询文本,将所述第二句子集合中除所述第二查询文本外的所有所述第二句子文本确定为第二检索内容,将所述第二查询文本和所述第二检索内容确定为正样本;
从所述第一句子集合中的提取若干个第一句子样本构成第一句子文本集合和第二句子文本集合,所述第一句子文本集合和所述第二句子文本集合不相交;
从所述第二句子集合中提取若干个第二句子样本构成第三句子文本集合和第四句子文本集合,所述第三句子文本集合和所述第四句子文本集合不相交;
将所述第一句子文本集合中的各个所述第一句子文本确定为第三查询文本,从所述第二句子集合中提取多个第二句子文本作为负样本;
将所述第一句子集合和所述第二句子集合中预设数量的句子文本互换并随机拼接得到第三句子集合和第四句子集合;
在所述第三句子集合和所述第四句子集合中分别提取若干个句子文本作为负样本。
其中,基于所述微调数据集对混合专家模型进行微调,得到所述预设编码器的过程包括:
基于所述微调数据集对混合专家模型进行微调,得到目标专家模型;
对所述目标专家模型进行知识聚合与知识蒸馏得到学生模型;
基于所述学生模型构建预设编码器。
为解决上述技术问题,本申请还提供了一种对话处理系统,应用于交互设备的处理组件,所述交互设备还包括输入组件和提示组件,所述对话处理系统包括:
处理模块,用于当接收到通过所述输入组件输入的查询对话文本,对所述查询对话文本进行转换得到包括多个词元的词元序列;
编码模块,用于将所述词元序列输入预设编码器,通过所述预设编码器将所述词元序列转换为查询向量,所述预设编码器为基于混合专家模型构建的编码器;
计算模块,用于在向量数据库中检索与所述查询向量的相似度最高的目标文档向量,获取所述目标文档向量对应的内容文本,所述向量数据库中存储有多个文档向量,所述文档向量通过对内容文本进行编码和索引后得到;
应答模块,用于将所述目标文档向量对应的内容文本与所述查询对话文本组合后得到检索文本,以便基于所述检索文本生成所述查询对话文本对应的应答文本,并通过所述提示组件提示所述应答文本。
为解决上述技术问题,本申请还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任意一项所述的对话处理方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述的对话处理方法的步骤。
本申请提供了一种对话处理方法,在交互设备的处理组件接收到用户通过输入组件输入的查询对话文本后,先将查询对话文本进行切分,得到包括多个词元的词元序列,然后将词元序列输入预设编码器进行编码,由于预设编码器是基于混合专家模型构建的编码器,混合专家模型中的多个专家子模型可以分别对各个词元进行处理,从而将词元序列转换为查询向量,在增加参数量以具备跨多个应用领域的知识处理能力的同时,提高了编码效率,从而提高了检索效率,以便及时对用户输入的查询对话文本进行应答,提高用户对交互设备的使用体验。
本申请还提供了一种对话处理系统、电子设备及计算机可读存储介质,具有和上述对话处理方法相同的有益效果。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种对话处理方法的步骤流程图;
图2为本申请所提供的一种对话处理系统的结构示意图;
图3为本申请所提供的一种电子设备的结构示意图;
图4为本申请所提供的一种计算机可读存储介质的结构示意图。
具体实施方式
本申请的核心是提供一种对话处理方法、系统、电子设备及计算机可读存储介质,能够在保证检索器具备多个应用领域的知识处理能力的同时,提高检索器的编码效率,从而提高用户使用体验。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
第一方面,请参照图1,本申请提供了一种对话处理方法,应用于交互设备的处理组件,所述交互设备还包括输入组件和提示组件,所述对话处理方法包括:
S101:当接收到通过输入组件输入的查询对话文本,对查询对话文本进行转换得到包括多个词元的词元序列;
本实施例中,查询对话文本为用户通过交互设备的输入组件输入的,接收到查询对话文本后,对查询对话文本进行编码,编码是一个映射过程,会将文本转换为词元序列(tokens序列)。示例性地,假设当前查询对话文本为“A的创始人是谁?”,将其进行转换后得到的tokens序列可能为[29871,72864,31359,30210,38917,33422,30882],其中,29871称为一个token,72864称为一个token,以此类推,30882称为一个token。
S102:将词元序列输入预设编码器,通过预设编码器将词元序列转换为查询向量,预设编码器为基于混合专家模型构建的编码器;
本实施例中,基于混合专家模型构建编码器,混合专家模型(Mixture ofExperts,MoE)是一种深度学习架构,由多个专家子模型(Experts)和一个门控网络(gatangnetwork)组成,它通过结合多个专家模型(Experts)来处理数据和任务。在MoE模型中,每个专家子模型通常专注于处理特定类型的数据或任务,而一个门控网络(Gatang Network)负责决定哪个专家子模型处理给定的输入。MoE模型在推理时只激活与当前任务最相关的专家子模型,这种稀疏激活机制使得其可以在不增加推理成本的情况下增加模型的可学习参数,从而提高模型的容量。本实施例中采用混合专家模型构建的预设编码器在对词元序列进行向量转换时,通过将不同的专家子模型组合起来,处理词元序列中的不同部分,从而提高预设编码器的性能和效率。可以理解,查询向量包括查询对话文本的语义信息。
S103:在向量数据库中检索与查询向量的相似度最高的目标文档向量,获取目标文档向量对应的内容文本,向量数据库中存储有多个文档向量,文档向量通过对内容文本进行编码和索引后得到;
在获取查询向量后,计算查询向量与向量数据库中的各个文档向量之间的相似度,将相似度最高的文档向量确定为目标文档向量,对目标文档向量进行转换得到该目标文档向量对应的内容文本。
本实施例中,可以采用内积、余弦相似度等方法计算相似度,根据实际工程需要选择即可,本实施例在此不做限定。
在另一实施例中,可以获取向量检索库中各个文档向量与查询向量的相似度,按照相似度从高到低的顺序,对各个文档向量进行排序,选择前c个文档向量作为目标文档向量,然后获取目标文档向量对应的内容文本,k为正整数。
S104:将目标文档向量对应的内容文本与查询对话文本组合后得到检索文本,以便基于检索文本生成查询对话文本对应的应答文本,并通过提示组件提示应答文本。
本实施例将目标文档向量对应的内容文本与查询对话文本拼接后得到检索文本,作为检索器的输出,检索器的输出即生成器的输入,生成器基于检索文本生成应答文本并通过提示组件进行提示,以便用户及时获取应答。
可见,本实施例中,在交互设备的处理组件接收到用户通过输入组件输入的查询对话文本后,先将查询对话文本进行切分,得到包括多个词元的词元序列,然后将词元序列输入预设编码器进行编码,由于预设编码器是基于混合专家模型构建的编码器,混合专家模型中的多个专家子模型可以分别对各个词元进行处理,从而将词元序列转换为查询向量,在增加参数量以具备跨多个应用领域的知识处理能力的同时,提高了编码效率,从而提高了检索效率,以便及时对用户输入的查询对话文本进行应答,提高用户对交互设备的使用体验。
在上述实施例的基础上:
在一示例性实施例中,预设编码器包括门控网络和多个专家子模型;
通过预设编码器将词元序列转换为查询向量的过程包括:
通过门控网络确定词元序列中的每一词元对应的专家子模型;
将每一词元分配至对应的专家子模型计算词元对应的张量;
根据所有词元对应的张量得到查询向量。
本实施例中,门控网络用于为词元序列中的各个词元分配专家子模型,在对词元进行处理时,并不是所有专家子模型均对该词元进行处理,而是部分专家子模型对词元进行处理,也即对于1个词元(token),并不是所有专家子模型都参与张量计算,使得混合专家模型虽然参数量大,但是计算量并没有显著增加,从而提高了编码效率。
在一示例性实施例中,通过门控网络确定词元序列中的每一词元对应的专家子模型的过程包括:
通过门控网络确定词元序列中的每一词元的参考张量;参考张量中的元素的个数与专家子模型的个数相同;
针对每一词元,将词元的参考张量中各个元素划分为第一元素和第二元素,确定第一元素在参考张量中的位置,基于位置确定词元对应的专家子模型;第一元素的数值大于第二元素的数值。
对MoE模型结构进行说明,在一个MoE单层模型结构中,包括Hidden state(隐藏状态)层、GQA(Group Query Attentaon,群组查询注意力)层、门控层(gatang),以及多个专家子模型,每个专家模型都是一个前馈网络(FFN,Feed-forward Network),具有独立的参数。
假设当前的词元序列为[2981,7864,3135,3021,3897,3342,3082],本实施例中,序列长度seq_len是7(一共7个token),batch_size是1,假设hidden_size是768,hiddenstate层就是一个1*7*768的张量,经过GQA层的输出还是1*7*768,现在要经过gatang层,这里是对token做分配,输出一个seq_len*expert_num的张量,expert_num是专家子模型的个数,这个输出决定每个token(对应一个1*768的张量)应该由哪个专家子模型进行计算。
假设第一个token经过gatang,输出的参考张量是[0.4,0.2,0.1,0.3],这四个元素一一对应四个Experts,最大的两个元素的数值是0.4和0.3,也即该参考张量中第一个位置的元素和第四个位置的元素为第一元素,第二个位置的元素和第三个位置的元素为第二元素,参考张量中第一个位置的元素对应第一个专家子模型,第二个位置的元素对应第二个专家子模型,以此类推,所以第一个token应该由第一个专家子模型和第四个专家子模型来进行计算,将1*768的张量输入第一个专家子模型,计算之后还是个1*768的张量,记为t1,同样经过第四个专家子模型计算得到一个t2。
在一示例性实施例中,当第一元素的数量为多个时;
确定各个专家子模型的权重;
将每一词元分配至对应的专家子模型计算词元对应的张量的过程包括:
将每一词元分配至对应的多个专家子模型,得到多个中间张量;
基于多个中间张量和词元对应的专家子模型的权重计算词元的张量。
仍以上述实施例中提出的假设进行说明,对于这个token,需要基于第一个专家子模型的权重以及第四个专家子模型的权重,共同计算这个词元的张量,具体可以采用第一关系式来计算词元的张量,(ua×ta+ub×tb)/(ua+ub),其中,ua为第一个第一元素的数值,ub为第二个第一元素的数值,ta为通过第一个第一元素在参考张量中的位置确定的专家子模型计算得到的中间张量,tb为通过第二个第一元素在参考张量中的位置确定的专家子模型计算得到的中间张量,最后的词元的张量计算结果就是(0.4*t1+0.3*t2)/(0.3+0.4),本实施例中以参考张量中对应的元素作为该专家子模型的权重,权重是动态变化的,可以进一步提高编码的可靠性和准确性。
每个token都像这样处理完,得到7个1*768的张量,经过一些reshape操作,变回1*7*768,作为下一个hidden state。
在一示例性实施例中,将词元序列输入预设编码器之前,对话处理方法还包括:
构建多领域知识数据库;
从多领域知识数据库中确定当前应用领域场景对应的微调数据集;
基于微调数据集对混合专家模型进行微调,得到预设编码器。
首先基于预设的应用领域获取关联数据,创建多领域知识数据库,在多领域知识数据库中提取一部分数据建立微调数据集,通过微调数据集对混合专家模型进行微调后得到预设编码器。
具体的,可以从多领域知识数据库中选取一组文档,并切分成文本段落(比如每个段落包含1000-2000个tokens),作为微调数据集。
在一示例性实施例中,构建多领域知识数据库的过程包括
获取各个应用领域场景对应的查询类型;
基于每一应用领域场景对应的查询类型获取应用领域场景的多个关联数据;
基于所有关联数据构建多领域知识数据库。
查询类型用于确定模型的微调任务和微调数据集,在获取到查询类型后,可以从教材、论文、知识博客中获取关联数据,经过处理把这些关联数据变成文本内容,其中,论文和教材可以在网上搜集pdf,批量下载,处理成内容文本,知识博客可以用爬虫爬文本,收集足够的数据之后,进行预处理、数据清洗,然后构建向量数据库,一般来说这些文本需要进行分块,分块之后再进行向量化。在一示例性实施例中,基于所有关联数据构建多领域知识数据库的过程包括:
基于多个关联数据得到多个内容文本;
利用预设编码器对内容文本进行向量化处理;
基于所有文档向量构建多领域知识数据库,将多领域知识数据库作为向量数据库。
本实施例中,采用预设编码器对内容文本进行向量化处理,能够提高向量化处理效率。
在一示例性实施例中,基于微调数据集对混合专家模型进行微调,得到预设编码器的过程包括:
基于微调数据集构造正样本和负样本;
基于正样本、负样本及预设损失函数对混合专家模型进行微调。
可以理解,微调是一种在小规模数据集上针对特定下游任务进行的训练过程,涉及到损失函数的计算和模型参数的更新等,微调的进行程度可以根据损失下降情况进行判断。损失函数可以选择对比学习损失函数。
在一示例性实施例中,基于微调数据集构造正样本和负样本的过程包括:
从微调数据集中提取第一文本段落和第二文本段落;
将第一文本段落按照句子进行划分,得到第一句子集合,第一句子集合包括多个第一句子文本;
将第二文本段落按照句子进行划分,得到第二句子集合,第二句子集合包括多个第二句子文本;
从第一句子集合中提取一个第一句子文本作为第一查询文本,将第一句子集合中除第一查询文本外的所有第一句子文本确定为第一检索内容,将第一查询文本和第一检索内容确定为正样本;
从第二句子集合中提取一个第二句子文本作为第二查询文本,将第二句子集合中除第二查询文本外的所有第二句子文本确定为第二检索内容,将第二查询文本和第二检索内容确定为正样本;
从第一句子集合中的提取若干个第一句子样本构成第一句子文本集合和第二句子文本集合,第一句子文本集合和第二句子文本集合不相交;
从第二句子集合中提取若干个第二句子样本构成第三句子文本集合和第四句子文本集合,第三句子文本集合和第四句子文本集合不相交;
将第一句子文本集合中的各个第一句子文本确定为第三查询文本,从第二句子集合中提取多个第二句子文本作为负样本;
将第一句子集合和第二句子集合中预设数量的句子文本互换并随机拼接得到第三句子集合和第四句子集合;
在第三句子集合和第四句子集合中分别提取若干个句子文本作为负样本。
本实施例中,每次从这个微调数据集中抽取两个文本段落P1和P2,按照下面的方式分别构造正样本和负样本:
正样本:分别将两个文本段落按照句子进行划分,得到第一句子集合P1和第二句子集合P2,P1={s1,…,sM}和P2={t1,…,tN},其中tj为第j个第二句子文本,si为第i个第一句子文本,i=1,2,…,M,j=1,2…,N;
随机从P1中抽取1个第一句子文本si,将si视为查询样本,P1中剩下的第一句子文本视为检索内容,组成一个正样本对,用同样的方法从P2中也构造一个正样本对,正样本对中包含一个查询样本和一个正样本;随机从P1中抽取2个不相交的句子文本集合,分别为第一句子文本集合{sk,…,sl}和第二句子文本集合{sm,…,sn},将第一句子文本集合和第二句子文本集合中的第一句子文本分别视为查询样本和检索内容,将它们作为一个正样本对。用同样的方法从P2中也构造一个正样本对。
将上述从P1中抽取的第一句子文本集合{sk,…,sl}中各个第一句子文本视为查询样本,从P2中抽取多个句子文本集合{tm,…,tn}作为负样本;将P1和P2中50%的句子互换并随机拼接,得到P1'和P2'。随机在P1'中选择若干个句子文本构成集合{sk',…,sl'},将该集合中的各个句子文本当作负样本,用同样的方法在P2'中选择若干个负样本。
对于一个批次的数据(包含一个上面提到的查询文本,一个正样本和若干个负样本),根据预设目标损失函数计算微调损失,基于微调损失来调整微调进度。
预设目标函数为:
其中,q为查询样本,y+为正样本,yf为第f个负样本,K为负样本的总数,f=1,2,…,K,s(q,y+)为查询样本和正样本的相似度,τ为温度系数,L(q,y+)为损失函数值,exp为指数函数,s(q,yf)为查询样本和第f个负样本的相似度。
本实施例中,在对混合专家模型进行微调时,不需要人工表标注数据,同时考虑来自相同文本段落的文本内容具有较高的相似性从而选取正样本和负样本来对混合专家模型进行微调,提高微调效率,使混合专家模型的编码结果更准确。
在一示例性实施例中,基于微调数据集对混合专家模型进行微调,得到预设编码器的过程包括:
基于微调数据集对混合专家模型进行微调,得到目标专家模型;
对目标专家模型进行知识聚合与知识蒸馏得到学生模型;
基于学生模型构建预设编码器。
本实施例中,还对经过预训练和微调的MoE模型进行知识聚合与知识蒸馏,得到密集的学生模型,学生模型整合了MoE模型中所有专家的知识,并且参数量更少,推断效率更高,更便于部署与实际应用。
可以理解,知识聚合的目标是合并来自不同MoE专家模型的知识,并将其分配给学生模型中的单个模型。在知识聚合中,学生模型的某些层(如Embedding层、Attention层和归一化层)直接复制教师模型的参数,而对于教师模型的MoE层,即包含多个专家的层,学生模型需要通过特定的聚合方法来合并专家的知识,由于每个专家模型都是一个FFN,所以可以采用累加或者取均值等聚合方法,将多个专家模型的权重矩阵处理为学生模型的单个权重矩阵。知识蒸馏的目标是微调学生模型,以最小化教师模型输出和学生模型输出之间的差异。并通过KL(Kullback-Leibler)散度损失函数来指导学生模型学习教师模型的输出分布,最终的损失函数结合了主要任务的损失和蒸馏损失。
采用本发明的方案,可以构造一个同时具有多个领域知识理解能力的通用检索器,首先根据任务需求确定相关领域,构建相关领域训练数据集,训练MoE模型作为教师模型,之后再对MoE模型进行知识整合,得到一个密集的学生模型,最终作为检索器的编码模型,这样可以使得检索器具有跨多个领域的知识理解能力,且具有泛用性,应用范围更广,不需要针对每个领域的知识都微调一个对应的编码器模型。同时保证了检索器的运行效率,更适合部署。
第二方面,请参照图2,本申请还提供了一种对话处理系统,应用于交互设备的处理组件,交互设备还包括输入组件和提示组件,对话处理系统包括:
处理模块11,用于当接收到通过输入组件输入的查询对话文本,对查询对话文本进行转换得到包括多个词元的词元序列;
编码模块12,用于将词元序列输入预设编码器,通过预设编码器将词元序列转换为查询向量,预设编码器为基于混合专家模型构建的编码器;
计算模块13,用于在向量数据库中检索与查询向量的相似度最高的目标文档向量,获取目标文档向量对应的内容文本,向量数据库中存储有多个文档向量,文档向量通过对内容文本进行编码和索引后得到;
应答模块14,用于将目标文档向量对应的内容文本与查询对话文本组合后得到检索文本,以便基于检索文本生成查询对话文本对应的应答文本,并通过提示组件提示应答文本。
在一示例性实施例中,预设编码器包括门控网络和多个专家子模型;
通过预设编码器将词元序列转换为查询向量的过程包括:
通过门控网络确定词元序列中的每一词元对应的专家子模型;
将每一词元分配至对应的专家子模型计算词元对应的张量;
根据所有词元对应的张量得到查询向量。
在一示例性实施例中,通过门控网络确定词元序列中的每一词元对应的专家子模型的过程包括:
通过门控网络确定词元序列中的每一词元的参考张量;参考张量中的元素的个数与专家子模型的个数相同;
针对每一词元,将词元的参考张量中各个元素划分为第一元素和第二元素,确定第一元素在参考张量中的位置,基于位置确定词元对应的专家子模型;第一元素的数值大于第二元素的数值。
在一示例性实施例中,当第一元素的数量为多个时;
确定各个专家子模型的权重;
将每一词元分配至对应的专家子模型计算词元对应的张量的过程包括:
将每一词元分配至对应的多个专家子模型,得到多个中间张量;
基于多个中间张量和词元对应的专家子模型的权重计算词元的张量。
在一示例性实施例中,通过门控网络确定词元序列中的每一词元的参考张量的过程包括:
获取词元序列的序列长度以及专家子模型的个数;
通过门控网络按照序列长度和专家子模型的个数确定每一词元的参考张量。
在一示例性实施例中,对话处理还包括:
预构建模块,用于构建多领域知识数据库,从多领域知识数据库中确定当前应用领域场景对应的微调数据集,基于微调数据集对混合专家模型进行微调,得到预设编码器。
在一示例性实施例中,构建多领域知识数据库的过程包括
获取各个应用领域场景对应的查询类型;
基于每一应用领域场景对应的查询类型获取应用领域场景的多个关联数据;
基于所有关联数据构建多领域知识数据库。
在一示例性实施例中,基于所有关联数据构建多领域知识数据库的过程包括:
基于多个关联数据得到多个内容文本;
对每一内容文本进行向量化处理,得到文档向量;
基于所有文档向量构建多领域知识数据库,将多领域知识数据库作为向量数据库。
在一示例性实施例中,对每一内容文本进行向量化处理的过程包括:
利用预设编码器对内容文本进行向量化处理。
在一示例性实施例中,基于微调数据集对混合专家模型进行微调,得到预设编码器的过程包括:
基于微调数据集构造正样本和负样本;
基于正样本、负样本及预设损失函数对混合专家模型进行微调。
在一示例性实施例中,基于微调数据集构造正样本和负样本的过程包括:
从微调数据集中提取第一文本段落和第二文本段落;
将第一文本段落按照句子进行划分,得到第一句子集合,第一句子集合包括多个第一句子文本;
将第二文本段落按照句子进行划分,得到第二句子集合,第二句子集合包括多个第二句子文本;
从第一句子集合中提取一个第一句子文本作为第一查询文本,将第一句子集合中除第一查询文本外的所有第一句子文本确定为第一检索内容,将第一查询文本和第一检索内容确定为正样本;
从第二句子集合中提取一个第二句子文本作为第二查询文本,将第二句子集合中除第二查询文本外的所有第二句子文本确定为第二检索内容,将第二查询文本和第二检索内容确定为正样本;
从第一句子集合中的提取若干个第一句子样本构成第一句子文本集合和第二句子文本集合,第一句子文本集合和第二句子文本集合不相交;
从第二句子集合中提取若干个第二句子样本构成第三句子文本集合和第四句子文本集合,第三句子文本集合和第四句子文本集合不相交;
将第一句子文本集合中的各个第一句子文本确定为第三查询文本,从第二句子集合中提取多个第二句子文本作为负样本;
将第一句子集合和第二句子集合中预设数量的句子文本互换并随机拼接得到第三句子集合和第四句子集合;
在第三句子集合和第四句子集合中分别提取若干个句子文本作为负样本。
在一示例性实施例中,基于微调数据集对混合专家模型进行微调,得到预设编码器的过程包括:
基于微调数据集对混合专家模型进行微调,得到目标专家模型;
对目标专家模型进行知识聚合与知识蒸馏得到学生模型;
基于学生模型构建预设编码器。
虽然MoE可以学习更丰富的知识,但是MoE也存在易过拟合、部署困难、专家并行成本较高等缺点。在实践中相对难以使用。知识聚合和知识蒸馏的目的是使用稀疏的教师模型来蒸馏密集的学生模型,学生模型是一个具有与MoE教师模型相似架构的密集型神经网络。
知识聚合阶段的目标是合并来自不同MoE专家模型的知识,并将其分配给学生模型中的单个模型。在知识聚合阶段,学生模型的某些层(如Embedding层、Attention层和归一化层)直接复制教师模型的参数,而对于教师模型的MoE层,即包含多个专家的层,学生模型需要通过特定的聚合方法来合并专家的知识,由于每个专家模型都是一个FFN,所以可以采用累加或者取均值等聚合方法,将多个专家模型的权重矩阵处理为学生模型的单个权重矩阵。
知识蒸馏阶段的目标是微调学生模型,以最小化教师模型输出和学生模型输出之间的差异。并通过KL散度损失函数来指导学生模型学习教师模型的输出分布。最终的损失函数结合了主要任务的损失和蒸馏损失。
第三方面,请参照图3,本申请还提供了一种电子设备,包括:
存储器21,用于存储计算机程序;
处理器22,用于执行计算机程序时实现如上文任意一个实施例所描述的对话处理方法的步骤。
该电子设备还包括:
输入接口23,经通信总线26与处理器22相连,用于获取外部导入的计算机程序、参数和指令,经处理器22控制保存至存储器21中。该输入接口可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板。
显示单元24,经通信总线26与处理器22相连,用于显示处理器22发送的数据。该显示单元可以为液晶显示屏或者电子墨水显示屏等。
网络端口25,经通信总线26与处理器22相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术、通用串行总线、高清多媒体接口、无线保真技术、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
第四方面,请参照图4,本申请还提供了一种计算机可读存储介质,计算机可读存储介质30上存储有计算机程序31,计算机程序31被处理器执行时实现如上文任意一个实施例所描述的对话处理方法的步骤。
其中,该计算机可读存储介质30可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上文任一个实施例所描述的对话处理方法的步骤。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (15)
1.一种对话处理方法,其特征在于,应用于交互设备的处理组件,所述交互设备还包括输入组件和提示组件,所述对话处理方法包括:
当接收到通过所述输入组件输入的查询对话文本,对所述查询对话文本进行转换得到包括多个词元的词元序列;
将所述词元序列输入预设编码器,通过所述预设编码器将所述词元序列转换为查询向量,所述预设编码器为基于混合专家模型构建的编码器;
在向量数据库中检索与所述查询向量的相似度最高的目标文档向量,获取所述目标文档向量对应的内容文本,所述向量数据库中存储有多个文档向量,所述文档向量通过对内容文本进行编码和索引后得到;
将所述目标文档向量对应的内容文本与所述查询对话文本组合后得到检索文本,以便基于所述检索文本生成所述查询对话文本对应的应答文本,并通过所述提示组件提示所述应答文本。
2.根据权利要求1所述的对话处理方法,其特征在于,所述预设编码器包括门控网络和多个专家子模型;
通过所述预设编码器将所述词元序列转换为查询向量的过程包括:
通过所述门控网络确定所述词元序列中的每一词元对应的专家子模型;
将每一所述词元分配至对应的所述专家子模型计算所述词元对应的张量;
根据所有所述词元对应的张量得到查询向量。
3.根据权利要求2所述的对话处理方法,其特征在于,通过所述门控网络确定所述词元序列中的每一词元对应的专家子模型的过程包括:
通过所述门控网络确定所述词元序列中的每一所述词元的参考张量;所述参考张量中的元素的个数与所述专家子模型的个数相同;
针对每一所述词元,将所述词元的所述参考张量中各个所述元素划分为第一元素和第二元素,确定所述第一元素在所述参考张量中的位置,基于所述位置确定所述词元对应的专家子模型;所述第一元素的数值大于所述第二元素的数值。
4.根据权利要求3所述的对话处理方法,其特征在于,当所述第一元素的数量为多个时;
确定各个所述专家子模型的权重;
将每一所述词元分配至对应的所述专家子模型计算所述词元对应的张量的过程包括:
将每一所述词元分配至对应的多个所述专家子模型,得到多个中间张量;
基于多个所述中间张量和所述词元对应的所述专家子模型的权重计算所述词元的张量。
5.根据权利要求3所述的对话处理方法,其特征在于,通过所述门控网络确定所述词元序列中的每一所述词元的参考张量的过程包括:
获取所述词元序列的序列长度以及所述专家子模型的个数;
通过所述门控网络按照所述序列长度和所述专家子模型的个数确定每一所述词元的参考张量。
6.根据权利要求1-5任意一项所述的对话处理方法,其特征在于,将所述词元序列输入预设编码器之前,所述对话处理方法还包括:
构建多领域知识数据库;
从所述多领域知识数据库中确定当前应用领域场景对应的微调数据集;
基于所述微调数据集对混合专家模型进行微调,得到所述预设编码器。
7.根据权利要求6所述的对话处理方法,其特征在于,构建多领域知识数据库的过程包括
获取各个应用领域场景对应的查询类型;
基于每一所述应用领域场景对应的所述查询类型获取所述应用领域场景的多个关联数据;
基于所有所述关联数据构建多领域知识数据库。
8.根据权利要求7所述的对话处理方法,其特征在于,基于所有所述关联数据构建多领域知识数据库的过程包括:
基于多个所述关联数据得到多个内容文本;
对每一所述内容文本进行向量化处理,得到文档向量;
基于所有所述文档向量构建多领域知识数据库,将所述多领域知识数据库作为所述向量数据库。
9.根据权利要求8所述的对话处理方法,其特征在于,对每一所述内容文本进行向量化处理的过程包括:
利用所述预设编码器对所述内容文本进行向量化处理。
10.根据权利要求6所述的对话处理方法,其特征在于,基于所述微调数据集对混合专家模型进行微调,得到所述预设编码器的过程包括:
基于所述微调数据集构造正样本和负样本;
基于所述正样本、所述负样本及预设损失函数对所述混合专家模型进行微调。
11.根据权利要求10所述的对话处理方法,其特征在于,基于所述微调数据集构造正样本和负样本的过程包括:
从所述微调数据集中提取第一文本段落和第二文本段落;
将所述第一文本段落按照句子进行划分,得到第一句子集合,所述第一句子集合包括多个第一句子文本;
将所述第二文本段落按照句子进行划分,得到第二句子集合,所述第二句子集合包括多个第二句子文本;
从所述第一句子集合中提取一个所述第一句子文本作为第一查询文本,将所述第一句子集合中除所述第一查询文本外的所有所述第一句子文本确定为第一检索内容,将所述第一查询文本和所述第一检索内容确定为正样本;
从所述第二句子集合中提取一个所述第二句子文本作为第二查询文本,将所述第二句子集合中除所述第二查询文本外的所有所述第二句子文本确定为第二检索内容,将所述第二查询文本和所述第二检索内容确定为正样本;
从所述第一句子集合中的提取若干个第一句子样本构成第一句子文本集合和第二句子文本集合,所述第一句子文本集合和所述第二句子文本集合不相交;
从所述第二句子集合中提取若干个第二句子样本构成第三句子文本集合和第四句子文本集合,所述第三句子文本集合和所述第四句子文本集合不相交;
将所述第一句子文本集合中的各个所述第一句子文本确定为第三查询文本,从所述第二句子集合中提取多个第二句子文本作为负样本;
将所述第一句子集合和所述第二句子集合中预设数量的句子文本互换并随机拼接得到第三句子集合和第四句子集合;
在所述第三句子集合和所述第四句子集合中分别提取若干个句子文本作为负样本。
12.根据权利要求6所述的对话处理方法,其特征在于,基于所述微调数据集对混合专家模型进行微调,得到所述预设编码器的过程包括:
基于所述微调数据集对混合专家模型进行微调,得到目标专家模型;
对所述目标专家模型进行知识聚合与知识蒸馏得到学生模型;
基于所述学生模型构建预设编码器。
13.一种对话处理系统,其特征在于,应用于交互设备的处理组件,所述交互设备还包括输入组件和提示组件,所述对话处理系统包括:
处理模块,用于当接收到通过所述输入组件输入的查询对话文本,对所述查询对话文本进行转换得到包括多个词元的词元序列;
编码模块,用于将所述词元序列输入预设编码器,通过所述预设编码器将所述词元序列转换为查询向量,所述预设编码器为基于混合专家模型构建的编码器;
计算模块,用于在向量数据库中检索与所述查询向量的相似度最高的目标文档向量,获取所述目标文档向量对应的内容文本,所述向量数据库中存储有多个文档向量,所述文档向量通过对内容文本进行编码和索引后得到;
应答模块,用于将所述目标文档向量对应的内容文本与所述查询对话文本组合后得到检索文本,以便基于所述检索文本生成所述查询对话文本对应的应答文本,并通过所述提示组件提示所述应答文本。
14.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1-12任意一项所述的对话处理方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-12任意一项所述的对话处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410487170.0A CN118296126A (zh) | 2024-04-21 | 2024-04-21 | 对话处理方法、系统、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410487170.0A CN118296126A (zh) | 2024-04-21 | 2024-04-21 | 对话处理方法、系统、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118296126A true CN118296126A (zh) | 2024-07-05 |
Family
ID=91676197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410487170.0A Pending CN118296126A (zh) | 2024-04-21 | 2024-04-21 | 对话处理方法、系统、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118296126A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118468929A (zh) * | 2024-07-09 | 2024-08-09 | 苏州元脑智能科技有限公司 | 神经网络模型处理方法、装置、设备及存储介质 |
-
2024
- 2024-04-21 CN CN202410487170.0A patent/CN118296126A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118468929A (zh) * | 2024-07-09 | 2024-08-09 | 苏州元脑智能科技有限公司 | 神经网络模型处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021159776A1 (zh) | 基于人工智能的推荐方法、装置、电子设备及存储介质 | |
Yang et al. | A hybrid retrieval-generation neural conversation model | |
Hashemi et al. | Guided transformer: Leveraging multiple external sources for representation learning in conversational search | |
CN109635083B (zh) | 一种用于搜索ted演讲中话题式查询的文档检索方法 | |
CN111125334A (zh) | 一种基于预训练的搜索问答系统 | |
CN116134432A (zh) | 用于提供对查询的答案的系统和方法 | |
CN113343125B (zh) | 一种面向学术精准推荐的异质科研信息集成方法及系统 | |
CN114565104A (zh) | 语言模型的预训练方法、结果推荐方法及相关装置 | |
CN110678882B (zh) | 使用机器学习从电子文档选择回答跨距的方法及系统 | |
CN116701431A (zh) | 一种基于大语言模型的数据检索方法及系统 | |
CN118296126A (zh) | 对话处理方法、系统、电子设备及计算机可读存储介质 | |
CN111259647A (zh) | 基于人工智能的问答文本匹配方法、装置、介质及电子设备 | |
CN110909145A (zh) | 针对多任务模型的训练方法及装置 | |
CN112434142B (zh) | 一种标记训练样本的方法、服务器、计算设备及存储介质 | |
CN117236410B (zh) | 一种可信的电子文件大语言模型训练、推理方法和装置 | |
CN111241394A (zh) | 数据处理方法、装置、计算机可读存储介质及电子设备 | |
JP6973255B2 (ja) | 単語ベクトル変更装置、方法、及びプログラム | |
CN117171306A (zh) | 知识问答方法、装置、设备及存储介质 | |
CN117807232A (zh) | 商品分类方法、商品分类模型构建方法及装置 | |
CN113934835A (zh) | 结合关键词和语义理解表征的检索式回复对话方法及系统 | |
CN116957128A (zh) | 业务指标预测方法、装置、设备和存储介质 | |
Wang et al. | Length adaptive regularization for retrieval-based chatbot models | |
CN115269961A (zh) | 内容搜索方法以及相关设备 | |
CN115017260A (zh) | 一种基于子主题建模的关键词生成方法 | |
CN118228718B (zh) | 编码器处理方法、文本处理方法及相关设备 |
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 |