CN115525743B - 基于自学习白化网络的人机交互方法及电子设备 - Google Patents
基于自学习白化网络的人机交互方法及电子设备 Download PDFInfo
- Publication number
- CN115525743B CN115525743B CN202210995942.2A CN202210995942A CN115525743B CN 115525743 B CN115525743 B CN 115525743B CN 202210995942 A CN202210995942 A CN 202210995942A CN 115525743 B CN115525743 B CN 115525743B
- Authority
- CN
- China
- Prior art keywords
- text
- self
- learning
- whitening
- model
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 120
- 230000002087 whitening effect Effects 0.000 title claims abstract description 118
- 230000003993 interaction Effects 0.000 title claims abstract description 39
- 238000012549 training Methods 0.000 claims abstract description 66
- 230000008569 process Effects 0.000 claims abstract description 61
- 238000013145 classification model Methods 0.000 claims abstract description 28
- 239000013598 vector Substances 0.000 claims description 111
- 230000009466 transformation Effects 0.000 claims description 37
- 238000009826 distribution Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000003058 natural language processing Methods 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000009827 uniform distribution 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
- 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/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请提供一种基于自学习白化网络的人机交互方法及电子设备,该方法包括:获取用户输入的待回复文本;将所述待回复文本输入目标模型,所述目标模型从预设问答库中匹配出目标匹配文本,并输出与所述目标匹配文本对应的回复文本;其中,所述目标模型包括:基于自学习白化网络层的文本分类模型;所述自学习白化网络层用于降低模型的训练过程与预测过程存在的差异对模型预测能力的影响;所述训练过程与预测过程存在的差异包括:各向异性的训练过程与各向同性的预测过程之间的差异。本申请实施例提供的基于自学习白化网络的人机交互方法,用于降低训练过程对训练样本的要求,并训练处最优模型。
Description
技术领域
本申请涉及文本分类领域,尤其涉及一种基于自学习白化网络的人机交互方法及电子设备。
背景技术
为了提高对用户的服务质量,各个平台均提供了聊天机器人在线解决用户提出的各种问题的服务。这样的聊天机器人通过一个训练好的模型,将用户输入的句子与问答库中的问题进行匹配,并回复对应的答案。
在相关技术中,使用编码器Encoder对句子进行编码,产生低维稠密的特征句向量,然后使用相关相似度评估方法获得与用户问题相关的回复结果。然而,这样的方法对训练样本的要求较高,得到模型可能存在缺陷。
发明内容
本申请的目的是提供一种基于自学习白化网络的人机交互方法及电子设备,用于降低训练过程对训练样本的要求,并训练处最优模型。
本申请提供一种基于自学习白化网络的人机交互方法,包括:
获取用户输入的待回复文本;将所述待回复文本输入目标模型,所述目标模型从预设问答库中匹配出目标匹配文本,并输出与所述目标匹配文本对应的回复文本;其中,所述目标模型包括:基于自学习白化网络层的文本分类模型;所述自学习白化网络层用于降低模型的训练过程与预测过程存在的差异对模型预测能力的影响;所述训练过程与预测过程存在的差异包括:各向异性的训练过程与各向同性的预测过程之间的差异。
可选地,所述目标模型为按照以下步骤对所述文本分类模型训练后得到:获取目标样本;将所述目标样本中的文本进行编码,并将编码后得到的文本向量执行白化变换操作;基于变换后的文本向量计算交叉熵损失,并通过反向传播更新所述文本分类模型的模型参数;在满足预设条件后,停止所述文本分类模型的训练,得到所述目标模型。
可选地,所述目标样本中的任一目标样本包括:第一文本和第二文本;将所述目标样本中的文本进行编码,并将编码后得到的文本向量执行白化变换操作,包括:通过对所述第一文本执行两次编码操作,得到第一文本向量和第二文本向量;所述第一文本向量和所述第二文本向量为不同的向量;对所述第二文本执行编码操作,得到第三文本向量。
可选地,所述将所述目标样本中的文本进行编码,并将编码后得到的文本向量执行白化变换操作,包括:基于变换后的第一自学习参数以及变换后的第二自学习参数,对所述第一文本向量、所述第二文本向量以及所述第三文本向量分别执行白化变换操作,得到第四文本向量、第五文本向量以及第六文本向量。
可选地,所述将所述目标样本中的文本进行编码之前,所述方法还包括:初始化所述自学习白化网络层第一自学习参数以及第二自学习参数;对所述第一自学习参数以及所述第二自学习参数进行非线性变换操作,得到所述变换后的第一自学习参数以及所述变换后的第二自学习参数。
可选地,所述基于变换后的文本向量计算交叉熵损失,并通过反向传播更新所述文本分类模型的模型参数,包括:分别计算所述第四文本向量、所述第五文本向量以及第六文本向量对应的概率分布值,得到对应的第一概率分布值、第二概率分布值以及第三概率分布值;基于所述第一概率分布值、所述第二概率分布值以及所述第三概率分布值,得到所述第一文本对应的第一交叉熵损失值以及所述第二文本对应的第二交叉熵损失值;将所述第一交叉熵损失值与所述第二交叉熵损失值加权求和后,得到最终损失值;其中,所述第一交叉熵损失值和所述第二交叉熵损失值为基于所述目标样本的标签确定的。
可选地,所述将所述第一交叉熵损失值与所述第二交叉熵损失值加权求和后,得到最终损失值之前,所述方法还包括:初始化自学习率,并通过激活函数对所述自学习率执行非线性变换,得到目标权重;所述将所述第一交叉熵损失值与所述第二交叉熵损失值加权求和后,得到最终损失值,包括:使用所述目标权重,将所述第一交叉熵损失值与所述第二交叉熵损失值加权求和后,得到所述最终损失值。
本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任一种所述基于自学习白化网络的人机交互方法的步骤。
本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于自学习白化网络的人机交互方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于自学习白化网络的人机交互方法的步骤。
本申请提供的基于自学习白化网络的人机交互方法,将自学习白化网络层添加到文本分类模型中,经训练后得到目标模型。之后,获取用户输入的待回复文本,将所述待回复文本输入目标模型,所述目标模型从预设问答库中匹配出目标匹配文本,并输出与所述目标匹配文本对应的回复文本。基于自学习白化网络层的文本分类模型训练后得到的目标模型,降低了模型的训练过程与预测过程存在的差异对模型预测能力的影响,提高了模型的预测能力。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的基于自学习白化网络的人机交互方法的流程示意图;
图2是本申请提供的自学习白化网络的模型结构示意图;
图3是本申请提供的自学习白化层的模型结构示意图;
图4是本申请提供的自学习白化损失层的模型结构示意图;
图5是本申请提供的基于自学习白化网络的人机交互装置的结构示意图;
图6是本申请提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
以下为本申请实施例中涉及到的专业术语的解释:
白化(Whitening):白化是机器学习/深度学习中的概念,总的来说,白化操作的目的是降低数据特征之间的相关性,并使特征具有相同的方差。
各向异性(Anisotropy):在自然语言处理(natural language processing,NLP)自然语言处理领域,各向异性是指向量在高维空间中被限制在一个狭小的超锥形区域内。
各向同性(Isotropy):与各向异性概念相对,各向同性是指向量均匀的分布在高维空间中。
由于计算机硬件的高速发展以及数据的指数级增长速度,近些年深度学习在计算机的各个领域都展现出非常重要的作用。在句子匹配领域,使用深度学习方法解决相应业务问题也逐渐成为了主流,现有做法一般是使用Encoder(编码器,如使用Bert作为编码器,《BERT:Pre-training of Deep Bidirectional Transformers for LanguageUnderstanding》)对句子进行编码,产生低维稠密的特征句向量(Bert编码出的句向量为768维),然后使用相关相似度评估方法(如余弦相似度、L2范数等)召回出与用户问题相关的结果。
Bert等预训练模型在NLP的大部分子领域都达到了最优的效果,但近些年的一些研究指出,Bert等预训练模型具有“各向异性(Anisotropy)”的问题,各向异性在NLP领域中的解释是,由Bert等预训练模型编码出的句向量会被限制在一个狭小的超锥形内(与之相反的概念是“各向同性”,即Isotropy,编码的向量会均匀的分布在超空间中),若使用余弦相似度评估句子间的相似程度,这会导致句子间的平均相似度都非常高,在业务中极大可能引发两种问题:1、由于句子间的相似度太高,导致在上线模型时很难选择阈值;2、在问答领域,由于句子间的相似度太高,导致无法使用该模型进行聚类生产潜在标准问。
现有缓解该类问题的方法有对比学习(Contrastive Learning)、白化(Whitening)后处理等方法。但是,上述对比学习以及白化后处理均存在技术缺陷,包括:
1、对比学习(Contrastive Learning):构建符合特定对比学习策略的数据集很麻烦。比如2021年所发表的SimCSE(《SimCSE:Simple Contrastive Learning of SentenceEmbeddings》)论文所使用方法要求在一个batch中除了当前维度的句子,其余句子相对于该句子均为负样本;2021年SimCLR(《A Simple Framework for Contrastive Learning ofVisual Representations》)论文所使用方法要求在一个batch中除了该句子,其余所有句子相对于该句子均为负样本。这种要求是十分苛刻的。
2、白化(Whitening)后处理:《Whitening Sentence Representations forBetter Semantics and Faster Retrieval》这篇论文提出使用机器学习中的白化操作能够有效缓解Bert等预训练模型的各向异性问题。但是这种方法是一种完全的“后处理”方法,即在训练阶段没有做任何改进,仅在预测阶段对Encoder编码出的句向量做白化变换,由于训练阶段没有做任何改进,故在验证集上挑选出的模型很大可能不是最优模型,从而降低了白化的优化效果。
对于对比学习方法来说,核心思想是拉进相似句子之间的距离,推远不相似句子之间的距离,这种思想就会使得对比学习方法需要两类数据:正样本,负样本。同时为了缓解由于Bert等预训练模型各向异性所导致的句向量之间相似度过高的问题,那么就需要着重去推远不相似句子之间的距离,因此就需要更多的负样本。但是对于机器来说,GPU的显存大小是固定的,不可能无限增加负样本量,而为了达到增加负样本量的目的,就诞生了像SimCLR、SimCSE这样batch内自动构造负样本的做法,从而导致对数据要求更严格的问题。
而白化(Whitening)后处理的方法缺陷是由于训练与预测之间的编码方式差异导致的。在训练时未对Encoder编码出的句子向量做任何处理,且仍使用余弦相似度等评估指标在验证集上调参,那么挑选出的模型未必是整个训练过程中的最优检查点(checkpoint),白化后处理所计算的kernel、bias也是基于Encoder编码出的句向量计算出的,这就对数据集本身要求非常高,且若由于白化后处理这种操作差异导致在验证集上没有挑选出训练阶段的最优模型,这种错误就会传递到计算kernel、bias的过程,即会造成错误传递,导致加重白化后处理缺陷的影响。
为了解决上述缺陷,本申请实施例想到了一种基于自学习白化网络的人机交互方法。下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的基于自学习白化网络的人机交互方法进行详细地说明。
如图1所示,本申请实施例提供的一种基于自学习白化网络的人机交互方法,该方法可以包括下述步骤101和步骤102:
步骤101、获取用户输入的待回复文本。
示例性地,本申请实施例提供的基于自学习白化网络的人机交互方法,可以用于文本分类、文本匹配、语义匹配等。上述待回复文本可以为聊天机器人场景下,获取到的用户输入的文本,该文本用于获取用户咨询的问题的答案。
步骤102、将所述待回复文本输入目标模型,所述目标模型从预设问答库中匹配出目标匹配文本,并输出与所述目标匹配文本对应的回复文本。
其中,所述目标模型包括:基于自学习白化网络层的文本分类模型;所述自学习白化网络层用于降低模型的训练过程与预测过程存在的差异对模型预测能力的影响;所述训练过程与预测过程存在的差异包括:各向异性的训练过程与各向同性的预测过程之间的差异。
示例性地,将自学习白化网络层加入到文本分类模型中,并对该文本分类模型进行训练,得到的目标模型,能够模型的训练过程与预测过程存在的差异对模型预测能力的影响,提高文本分类的准确性,解决上述相关技术中存在的技术问题。
具体地,针对上述目标模型的训练过程,上述步骤102之前,本申请实施例提供的基于自学习白化网络的人机交互方法所使用的目标模型为按照以下步骤103至步骤106对所述文本分类模型训练后得到:
步骤103、获取目标样本。
其中,所述目标样本包括至少一个训练样本,每个样本包括两个互为正样本的文本,或者,两个互为负样本的文本。即每个样本均包括:两个文本,以及样本标签。
示例性地,上述目标样本为模型的训练样本的多个批Batch中的任一个。可以理解的是,区别于上述相关技术中存在的技术问题,本申请实施例中的训练样本无需进行预处理。
步骤104、将所述目标样本中的文本进行编码,并将编码后得到的文本向量执行白化变换操作。
示例性地,本申请实施例提供了一种自学习白化网络层,用于对输入的文本进行训练。如图2所示,本申请实施例提供的自学习白化网络层包括,自学习白化层(self-learning-whitening)和自学习白化损失层(self-learning-whitening loss),以及设置于自学习白化网络层之前的预训练模型Encoder,用于对输入的文本进行编码处理。自学习白化损失层设置于自学习白化层之后。
示例性地,上述目标样本中的任一目标样本包括:第一文本和第二文本,上述将所述目标样本中的文本进行编码,具体可以包括以下步骤104a1和步骤104a2:
步骤104a1、通过对所述第一文本执行两次编码操作,得到第一文本向量和第二文本向量;所述第一文本向量和所述第二文本向量为不同的向量。
步骤104a2、对所述第二文本执行编码操作,得到第三文本向量。
可以理解的是,本申请实施例中,可以使用上述预训练模型对上述第一文本进行两次编码,并对上述第二文本进行一次编码。
对上述第一文本进行两次编码的目的是:由于上述预训练模型中的dropout设置,相同的文本经过两次编码得到的最终文本向量会不同,将两个文本向量之间互相作为正样本或者负样本,可以达到数据增强的目的。
具体地,可以通过以下公式对上述第一文本和第二文本进行编码,并得到上述第一文本向量、第二文本向量和第三文本向量:
sentence_embeddings1=model(sentences1)
sentence_embeddings’1=model(sentences1)
sentence_embeddings2=model(sentences2)
示例性地,在得到上述第一文本向量、第二文本向量和第三文本向量之后,需要对上述文本向量进行变换。
示例性地,上述步骤104,可以包括以下步骤104b1:
步骤104b1、基于所述变换后的第一自学习参数以及变换后的第二自学习参数,对所述第一文本向量、所述第二文本向量以及所述第三文本向量分别执行白化变换操作,得到第四文本向量、第五文本向量以及第六文本向量。
示例性地,上述第一自学习参数具体可以为自学习白化层的变换矩阵kernel参数,上述第二自学习参数可以为自学习白化层的偏置bias参数。
示例性地,上述变换矩阵kernel参数以及偏置bias参数均为模型中的可学习参数。对上述kernel参数以及bias参数初始化以及非线性变换操作后得到的变换后的kernel参数以及变换后的bias参数,用于Encoder编码出的句向量做变换。
示例性地,上述步骤104b1之前,还可以通过以下步骤104b2和步骤104b3对自学习白化网络层的自学习参数进行初始化:
步骤104b2、初始化所述自学习白化网络层第一自学习参数以及第二自学习参数。
步骤104b3、对所述第一自学习参数以及所述第二自学习参数进行非线性变换操作,得到变换后的第一自学习参数以及变换后的第二自学习参数。
其中,所述第一自学习参数和所述第二自学习参数均为所述自学习白化网络层中的可学习参数。
示例性地,可以通过以下公式,对上述自学习白化网络层的kernel参数(即上述第一自学习参数)和bias参数(即上述第二自学习参数)进行初始化操作:
kernel∈Rsentence_embedding_dim×whitenting_dim
bias∈R1×sentence_embedding_dim
其中,上述R实数空间,sentence_embedding_dim为文本维度矩阵,whitening_dim为白化维度矩阵。
之后,通过如图3所示的模型结构对上述初始化后的第一自学习参数以及第二自学习参数执行非线性变换,得到变换后的第一自学习参数以及变换后的第二自学习参数。如图3所示,第一自学习参数和第二自学习参数通过两层参数不同的前馈神经网络(feedforward network,FFN),以及两层FFN之间的激活层(使用ReLU激活函数),得到最终的kernel参数即final kernel以及最终的偏置参数,即final bias。
具体地,可以通过以下公式,对如图3所示的模型进行初始化:
其中,X为输入数据,W和b为学习参数,下标k和b分别用于指示kernel以及bias。kernel_linear用于对kernel参数进行线性变换;bias_linear用于对bias参数进行线性变换。
之后,通过以下公式,对kernel参数和bias参数执行非线性变换:
kernel=kernel_linear2(ReLU(kernel_linear1(kernel)))
bias=bias_linear2(ReLU(bias_linear1(bias)))
最后,通过以下公式,对上述预训练模型输出的上述第一文本向量、第二文本向量以及第三文本向量分别执行白化变换操作,得到第四文本向量、第五文本向量以及第六文本向量:
final_embeddings=(sentence_embeddings+bias)·kernel
其中,sentence_embeddings为预训练模型Encoder输出的句向量;final_embeddings为对sentence_embeddings进行白化操作后得到的文本向量。
步骤105、基于变换后的文本向量计算交叉熵损失,并通过反向传播更新所述文本分类模型的模型参数。
示例性地,在得到上述第四文本向量、第五文本向量以及第六文本向量之后,上述步骤105,具体可以通过以下步骤105a1至步骤105a3,得到上述第一文本和第二文本对应的第一交叉熵损失值与第二交叉熵损失值:
步骤105a1、分别计算所述第四文本向量、所述第五文本向量以及第六文本向量对应的概率分布值,得到对应的第一概率分布值、第二概率分布值以及第三概率分布值。
步骤105a2、基于所述第一概率分布值、所述第二概率分布值以及所述第三概率分布值,得到所述第一文本对应的第一交叉熵损失值以及所述第二文本对应的第二交叉熵损失值。
其中,所述第一交叉熵损失值和所述第二交叉熵损失值为基于所述目标样本的标签确定的。
步骤105a3、将所述第一交叉熵损失值与所述第二交叉熵损失值加权求和后,得到最终损失值。
具体地,可以通过以下公式计算上述第四文本向量、第五文本向量以及第六文本向量中每个文本向量的概率分布(Logits)值:
logits1=logits_linear(sentence_embeddings1)×20
logits’1=logits_linear(sentence_embeddings’1)×20
logits2=logits_linear(sentence_embeddings2)×20
需要说明的是,上述logits_linear用于计算预训练模型Encoder输出的句向量的概率分布值;上述公式中的sentence_embdding为经过白化操作后的文本向量。上述公式中logits值最后会乘20,用于拉开句向量在超空间中的距离。
在得到上述第一概率分布值、第二概率分布值以及第三概率分布值之后,可以根据第一概率分布值以及第二概率分布值以及目标样本的标签,得到上述第一交叉熵损失值;根据第三概率分布值以及目标样本的标签,得到上述第二交叉熵损失值。
具体地,可以通过以下公式,得到上述第一交叉熵损失值以及第二交叉熵损失值:
loss1=corss_entropy_loss(logits1,logits’1,label=1)
loss2=corss_entropy_loss(logits1,logits’2,label=label)
其中,上述损失函数值loss1为上述第一交叉熵损失值,上述损失函数值loss2为上述第二交叉熵损失值,标签label为目标样本的标签;若第一文本和第二为本互为正样本,则上述目标样本的标签label的值为1;若第一文本和第二为本互为负样本,则上述目标样本的标签label的值为0。
最后,对上述第一交叉熵值以及第二交叉熵值进行加权平均后,得到最终损失值。并基于该最终损失值,通过反向传播更新所述文本分类模型的模型参数。
具体地,可以通过以下公式,得到最终损失值:
final_loss=self_learning_radio×loss1+(1-self_learning_radio)×loss2
示例性地,上述自学习率self_learning_ratio为通过以下步骤计算得到的,即上述步骤105a3之前,还可以包括以下步骤105b:
步骤105b、初始化自学习率,并通过激活函数对所述自学习率执行非线性变换,得到目标权重。
在一种可能的实现方式中,上述激活函数可以为Sigmoid激活函数。
示例性地,在得到上述目标权重后,可以通过该目标权重,得到上述最终损失值,即上述步骤105a3,可以包括以下步骤105a31:
步骤105a31、使用所述目标权重,将所述第一交叉熵损失值与所述第二交叉熵损失值加权求和后,得到所述最终损失值。
示例性地,为了获取到上述目标权重,首先需要通过如图4所示的模型,对原始自学习率进行初始化,如图4所示,原始自学习率raw_self_learning_ratio经过编码后,得到自学习率self_learning_ratio,该自学习率可以作为上述目标权重。
具体地,可以通过以下公式对原始自学习率进行初始化:
之后,通过以下公式初始化两个线性变换层以及激活层:
最后,通过以下公式,使用经过初始化后的线性变换层以及激活层对上述原始自学习率执行线性变换:
self_learning_radio=Sigmoid(slr_linear2(ReLU_linear1(raw_self_learning_radio))))∈(0,1)
在得到上述自学习率self_learning_ratio后,可以使用该自学习率作为上述目标权重。
步骤106、在满足预设条件后,停止所述文本分类模型模型的训练,得到所述目标模型。
示例性地,上述预设条件可以为预先设置的模型停止训练条件,例如,该预设条件可以为迭代预设次数,也可以为满足预设收敛等。
示例性地,在得到上述目标模型后,可以将该目标模型应用到平台的聊天机器人中。
需要说明的是,上述预设问答库为平台为回复用户的问题设置的用户可能提出的问题以及对应回复内容的问答库。在获取到用户输入的待回复文本后,将该待回复文本输入到目标模型,之后,目标模型输出预设问答库中与该待回复文本匹配度最高的目标匹配文本,并得到对应的回复文本。最后,使用该回复文本对用户进行回复。
本申请实施例提供的基于自学习白化网络的人机交互方法,为了降低模型训练过程对样本数据的要求,在模型训练过程中,对输入的文本进行编码后,通过自学习白化网络层对模型编码出的文本向量做变换得到变换后的文本向量。之后,再通过自学习白化损失层计算变换后的文本向量对应的交叉熵损失值,并将得到的交叉熵损失值经过加权求和后得到最终损失值。最后,通过反向传播更新所述文本分类模型的模型参数,并在满足预设条件后,得到训练好的目标模型。
需要说明的是,本申请实施例提供的基于自学习白化网络的人机交互方法,执行主体可以为基于自学习白化网络的人机交互装置,或者该基于自学习白化网络的人机交互装置中的用于执行基于自学习白化网络的人机交互方法的控制模块。本申请实施例中以基于自学习白化网络的人机交互装置执行基于自学习白化网络的人机交互方法为例,说明本申请实施例提供的基于自学习白化网络的人机交互装置。
需要说明的是,本申请实施例中,上述各个方法附图所示的。基于自学习白化网络的人机交互方法均是以结合本申请实施例中的一个附图为例示例性的说明的。具体实现时,上述各个方法附图所示的基于自学习白化网络的人机交互方法还可以结合上述实施例中示意的其它可以结合的任意附图实现,此处不再赘述。
下面对本申请提供的基于自学习白化网络的人机交互装置进行描述,下文描述的与上文描述的基于自学习白化网络的人机交互方法可相互对应参照。
图5为本申请一实施例提供的基于自学习白化网络的人机交互装置的结构会示意图,如图5所示,具体包括:
获取模块501,用于获取用户输入的待回复文本;分类模块502,用于将所述待回复文本输入目标模型,所述目标模型从预设问答库中匹配出目标匹配文本,并输出与所述目标匹配文本对应的回复文本;其中,所述目标模型包括:基于自学习白化网络层的文本分类模型;所述自学习白化网络层用于降低模型的训练过程与预测过程存在的差异对模型预测能力的影响;所述训练过程与预测过程存在的差异包括:各向异性的训练过程与各向同性的预测过程之间的差异。
可选地,所述装置还包括:变换模块,更新模块和生成模块;所述获取模块501,还用于获取目标样本;所述变换模块,用于将所述目标样本中的文本进行编码,并将编码后得到的文本向量执行白化变换操作;计算模块,用于基于变换后的文本向量计算交叉熵损失,并通过反向传播更新所述文本分类模型的模型参数;生成模块,用于在满足预设条件后,停止所述文本分类模型的训练,得到所述目标模型。
可选地,所述目标样本中的任一目标样本包括:第一文本和第二文本;所述装置还包括:编码模块;所述编码模块,用于通过对所述第一文本执行两次编码操作,得到第一文本向量和第二文本向量;所述第一文本向量和所述第二文本向量为不同的向量;所述编码模块,还用于对所述第二文本执行编码操作,得到第三文本向量。
可选地,所述计算模块,具体用于分别计算所述第四文本向量、所述第五文本向量以及第六文本向量对应的概率分布值,得到对应的第一概率分布值、第二概率分布值以及第三概率分布值;所述计算模块,具体还用于基于所述第一概率分布值、所述第二概率分布值以及所述第三概率分布值,得到所述第一文本对应的第一交叉熵损失值以及所述第二文本对应的第二交叉熵损失值;所述计算模块,具体还用于将所述第一交叉熵损失值与所述第二交叉熵损失值加权求和后,得到最终损失值;其中,所述第一交叉熵损失值和所述第二交叉熵损失值为基于所述目标样本的标签确定的。
可选地,所述变换模块,还用于初始化所述自学习白化网络层第一自学习参数以及第二自学习参数;所述变换模块还用于对所述第一自学习参数以及所述第二自学习参数进行非线性变换操作,得到变换后的第一自学习参数以及变换后的第二自学习参数;所述变换模块,还用于基于所述变换后的第一自学习参数以及变换后的第二自学习参数,对所述第一文本向量、所述第二文本向量以及所述第三文本向量分别执行白化变换操作,得到第四文本向量、第五文本向量以及第六文本向量。
可选地,所述变换模块,还用于初始化自学习率,并通过激活函数对所述自学习率执行非线性变换,得到目标权重;所述计算模块,具体用于使用所述目标权重,将所述第一交叉熵损失值与所述第二交叉熵损失值加权求和后,得到所述最终损失值。
本申请提供的基于自学习白化网络的人机交互装置,为了降低模型训练过程对样本数据的要求,在模型训练过程中,对输入的文本进行编码后,通过自学习白化网络层对模型编码出的文本向量做变换得到变换后的文本向量。之后,再通过自学习白化损失层计算变换后的文本向量对应的交叉熵损失值,并将得到的交叉熵损失值经过加权求和后得到最终损失值。最后,通过反向传播更新所述文本分类模型的模型参数,并在满足预设条件后,得到训练好的目标模型。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行基于自学习白化网络的人机交互方法,该方法包括:获取用户输入的待回复文本;将所述待回复文本输入目标模型,所述目标模型从预设问答库中匹配出目标匹配文本,并输出与所述目标匹配文本对应的回复文本;其中,所述目标模型包括:基于自学习白化网络层的文本分类模型;所述自学习白化网络层用于降低模型的训练过程与预测过程存在的差异对模型预测能力的影响;所述训练过程与预测过程存在的差异包括:各向异性的训练过程与各向同性的预测过程之间的差异。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于自学习白化网络的人机交互方法,该方法包括:获取用户输入的待回复文本;将所述待回复文本输入目标模型,所述目标模型从预设问答库中匹配出目标匹配文本,并输出与所述目标匹配文本对应的回复文本;其中,所述目标模型包括:基于自学习白化网络层的文本分类模型;所述自学习白化网络层用于降低模型的训练过程与预测过程存在的差异对模型预测能力的影响;所述训练过程与预测过程存在的差异包括:各向异性的训练过程与各向同性的预测过程之间的差异。
又一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于自学习白化网络的人机交互方法,该方法包括:获取用户输入的待回复文本;将所述待回复文本输入目标模型,所述目标模型从预设问答库中匹配出目标匹配文本,并输出与所述目标匹配文本对应的回复文本;其中,所述目标模型包括:基于自学习白化网络层的文本分类模型;所述自学习白化网络层用于降低模型的训练过程与预测过程存在的差异对模型预测能力的影响;所述训练过程与预测过程存在的差异包括:各向异性的训练过程与各向同性的预测过程之间的差异。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (6)
1.一种基于自学习白化网络的人机交互方法,其特征在于,包括:
获取用户输入的待回复文本;
将所述待回复文本输入目标模型,所述目标模型从预设问答库中匹配出目标匹配文本,并输出与所述目标匹配文本对应的回复文本;
其中,所述目标模型包括:基于自学习白化网络层的文本分类模型;所述自学习白化网络层用于降低模型的训练过程与预测过程存在的差异对模型预测能力的影响;所述训练过程与预测过程存在的差异包括:各向异性的训练过程与各向同性的预测过程之间的差异;
其中,所述自学习白化网络层包括自学习白化层、自学习白化损失层以及设置于自学习白化网络层之前的预训练模型Encoder,所述预训练模型Encoder用于对输入的文本进行编码处理,所述自学习白化损失层设置于所述自学习白化层之后;
所述目标模型为按照以下步骤对所述文本分类模型训练后得到:
获取目标样本;
将所述目标样本中的文本进行编码,并将编码后得到的文本向量执行白化变换操作;
基于变换后的文本向量计算交叉熵损失,并通过反向传播更新所述文本分类模型的模型参数;
在满足预设条件后,停止所述文本分类模型的训练,得到所述目标模型;
其中,所述目标样本中的任一目标样本包括:第一文本和第二文本;
将所述目标样本中的文本进行编码,并将编码后得到的文本向量执行白化变换操作,包括:
通过对所述第一文本执行两次编码操作,得到互为正样本或者互为负样本的第一文本向量和第二文本向量;所述第一文本向量和所述第二文本向量为不同的向量;
对所述第二文本执行编码操作,得到第三文本向量;
其中,将所述目标样本中的文本进行编码,包括:
基于变换后的第一自学习参数以及变换后的第二自学习参数,对所述第一文本向量、所述第二文本向量以及所述第三文本向量分别执行白化变换操作,得到第四文本向量、第五文本向量以及第六文本向量;
其中,将所述目标样本中的文本进行编码之前,还包括:
初始化所述自学习白化网络层第一自学习参数以及第二自学习参数;
对所述第一自学习参数以及所述第二自学习参数进行非线性变换操作,得到所述变换后的第一自学习参数以及所述变换后的第二自学习参数。
2.根据权利要求1所述的方法,其特征在于,所述基于变换后的文本向量计算交叉熵损失,并通过反向传播更新所述文本分类模型的模型参数,包括:
分别计算所述第四文本向量、所述第五文本向量以及第六文本向量对应的概率分布值,得到对应的第一概率分布值、第二概率分布值以及第三概率分布值;
基于所述第一概率分布值、所述第二概率分布值以及所述第三概率分布值,得到所述第一文本对应的第一交叉熵损失值以及所述第二文本对应的第二交叉熵损失值;
将所述第一交叉熵损失值与所述第二交叉熵损失值加权求和后,得到最终损失值;
其中,所述第一交叉熵损失值和所述第二交叉熵损失值为基于所述目标样本的标签确定的。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一交叉熵损失值与所述第二交叉熵损失值加权求和后,得到最终损失值之前,所述方法还包括:
初始化自学习率,并通过激活函数对所述自学习率执行非线性变换,得到目标权重;
所述将所述第一交叉熵损失值与所述第二交叉熵损失值加权求和后,得到最终损失值,包括:
使用所述目标权重,将所述第一交叉熵损失值与所述第二交叉熵损失值加权求和后,得到所述最终损失值。
4.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3中任一项所述基于自学习白化网络的人机交互方法的步骤。
5.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至3中任一项所述基于自学习白化网络的人机交互方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述基于自学习白化网络的人机交互方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210995942.2A CN115525743B (zh) | 2022-08-18 | 2022-08-18 | 基于自学习白化网络的人机交互方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210995942.2A CN115525743B (zh) | 2022-08-18 | 2022-08-18 | 基于自学习白化网络的人机交互方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115525743A CN115525743A (zh) | 2022-12-27 |
CN115525743B true CN115525743B (zh) | 2023-11-14 |
Family
ID=84695780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210995942.2A Active CN115525743B (zh) | 2022-08-18 | 2022-08-18 | 基于自学习白化网络的人机交互方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525743B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383026B (zh) * | 2023-06-05 | 2023-09-01 | 阿里巴巴(中国)有限公司 | 基于大模型的数据处理方法及服务器 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110895559A (zh) * | 2018-09-12 | 2020-03-20 | 阿里巴巴集团控股有限公司 | 模型训练、文本处理方法、装置以及设备 |
CN112101354A (zh) * | 2020-09-23 | 2020-12-18 | 广州虎牙科技有限公司 | 文本识别模型训练方法、文本定位方法及相关装置 |
CN112416293A (zh) * | 2020-11-24 | 2021-02-26 | 深圳市人工智能与机器人研究院 | 一种神经网络增强方法、系统及其应用 |
CN113806487A (zh) * | 2021-09-23 | 2021-12-17 | 平安科技(深圳)有限公司 | 基于神经网络的语义搜索方法、装置、设备和存储介质 |
CN113836885A (zh) * | 2020-06-24 | 2021-12-24 | 阿里巴巴集团控股有限公司 | 文本匹配模型训练方法、文本匹配方法、装置和电子设备 |
CN114328817A (zh) * | 2021-11-24 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 一种文本处理方法和装置 |
CN114742045A (zh) * | 2022-05-07 | 2022-07-12 | 阳光保险集团股份有限公司 | 一种语义文本相似度的计算方法、装置及存储介质 |
CN114861602A (zh) * | 2022-05-10 | 2022-08-05 | 中国人民大学 | 一种推荐系统中的通用商品序列表征学习方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3304437B1 (en) * | 2015-06-05 | 2021-05-26 | DeepMind Technologies Limited | Whitened neural network layers |
-
2022
- 2022-08-18 CN CN202210995942.2A patent/CN115525743B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110895559A (zh) * | 2018-09-12 | 2020-03-20 | 阿里巴巴集团控股有限公司 | 模型训练、文本处理方法、装置以及设备 |
CN113836885A (zh) * | 2020-06-24 | 2021-12-24 | 阿里巴巴集团控股有限公司 | 文本匹配模型训练方法、文本匹配方法、装置和电子设备 |
CN112101354A (zh) * | 2020-09-23 | 2020-12-18 | 广州虎牙科技有限公司 | 文本识别模型训练方法、文本定位方法及相关装置 |
CN112416293A (zh) * | 2020-11-24 | 2021-02-26 | 深圳市人工智能与机器人研究院 | 一种神经网络增强方法、系统及其应用 |
CN113806487A (zh) * | 2021-09-23 | 2021-12-17 | 平安科技(深圳)有限公司 | 基于神经网络的语义搜索方法、装置、设备和存储介质 |
CN114328817A (zh) * | 2021-11-24 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 一种文本处理方法和装置 |
CN114742045A (zh) * | 2022-05-07 | 2022-07-12 | 阳光保险集团股份有限公司 | 一种语义文本相似度的计算方法、装置及存储介质 |
CN114861602A (zh) * | 2022-05-10 | 2022-08-05 | 中国人民大学 | 一种推荐系统中的通用商品序列表征学习方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115525743A (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111444340B (zh) | 文本分类方法、装置、设备及存储介质 | |
CN112069302B (zh) | 会话意图识别模型的训练方法、会话意图识别方法及装置 | |
US11397892B2 (en) | Method of and system for training machine learning algorithm to generate text summary | |
CN111966800B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN112214591B (zh) | 一种对话预测的方法及装置 | |
CN110929515A (zh) | 基于协同注意力和自适应调整的阅读理解方法及系统 | |
CN112527966B (zh) | 基于Bi-GRU神经网络和自注意力机制的网络文本情感分析方法 | |
CN111046178B (zh) | 一种文本序列生成方法及其系统 | |
CN115525743B (zh) | 基于自学习白化网络的人机交互方法及电子设备 | |
US20240232572A1 (en) | Neural networks with adaptive standardization and rescaling | |
CN117648950A (zh) | 神经网络模型的训练方法、装置、电子设备及存储介质 | |
CN111832699A (zh) | 用于神经网络的计算高效富于表达的输出层 | |
CN117272937B (zh) | 文本编码模型训练方法、装置、设备及存储介质 | |
CN113869005A (zh) | 一种基于语句相似度的预训练模型方法和系统 | |
CN113761148A (zh) | 对话信息获取方法、装置、设备及存储介质 | |
CN116958738A (zh) | 图片识别模型的训练方法和装置、存储介质及电子设备 | |
Chowanda et al. | Generative Indonesian conversation model using recurrent neural network with attention mechanism | |
CN111680136A (zh) | 一种口语语义匹配的方法及装置 | |
CN111723186A (zh) | 用于对话系统的基于人工智能的知识图谱生成方法、电子设备 | |
CN116432663A (zh) | 基于要素简图的可控多样性专业文本生成方法及系统 | |
CN112434143B (zh) | 基于gru单元隐藏状态约束的对话方法、存储介质及系统 | |
CN114648021A (zh) | 问答模型的训练方法、问答方法及装置、设备和存储介质 | |
CN111460105A (zh) | 基于短文本的主题挖掘方法、系统、设备及存储介质 | |
CN111488440A (zh) | 一种基于多任务联合的问题生成方法 | |
CN113449079B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |