一种面向多节点多领域及基于横向联邦学习的意图识别方法

allin2022-09-03  146



1.本发明涉及机器学习及自然语言处理的技术领域,尤其涉及到一种面向多节点多领域及基于横向联邦学习的意图识别方法。


背景技术:

2.随着市场的进步发展,市场上不断地涌现各种各样的客户端-服务器(c/s)框架的服务软件,面向用户人群提供各方面的服务,但受限于人力资源与网络环境,需求一种能够自动并正确回复用户消息的对话机器人。对话机器人的运行程序需要让系统能理解用户输入的文本信息,并识别文本的意图,所使用的技术即为自然语言处理中的意图识别模型。
3.在生产进入市场后,大部分意图识别模型在投入实际落地使用时,受影响于场景因素,逐渐偏向单个领域的意图识别需求,在内容不变的情况下,其用户意图却发生了演变,此时服务系统识别出的意图与用户意图出现了偏差,用户的使用体验得不到保障。如何在数量众多客户端处于多种使用领域的情况下,即面向多节点多领域,通过模型训练和学习,提高客户端系统对用户输入信息意图识别的准确性,已成为当前推动发展的关键。目前,意图识别已经应用到多种领域,如:医疗咨询、服务订购、闲聊对话。通过对医疗咨询平台的用户发言进行意图识别,有利于建立用户与疾病关系的模型,为用户提供方便快捷的医药推荐;通过对服务订购平台的用户发言进行意图识别,找到订购符合用户描述的服务,同时帮助用户订购和推荐相关的服务,从而实现更高的用户体验。
4.随着深度学习的快速发展,意图识别也有了很大的进步。使用本地模型对用户输入进行意图识别具有较高的响应速度,从而实现更快的回复,但是本地模型仅有该客户端与用户的对话信息,将其作为训练集则会因多领域数据集稀缺导致训练后的模型参数过拟合。与本地模型相比,云端服务器识别的准确率较高,但存在用户个人信息泄露的隐患,且受限于用户所处的网络环境,难以确保回复的效率。
5.综上所述,如何合法(保护用户数据隐私等)且有效地实现在数量众多客户端处于多种使用领域的情况下,即面向多节点多领域,通过模型训练和学习,提高客户端系统对用户输入信息意图识别的准确性,是目前本领域技术人员急需解决的技术问题。


技术实现要素:

6.本发明的目的在于克服现有技术的不足,提供一种既能保护用户隐私又能提高识别准确度的面向多节点多领域及基于横向联邦学习的意图识别方法。
7.为实现上述目的,本发明所提供的技术方案为:
8.一种面向多节点多领域及基于横向联邦学习的意图识别方法,包括:
9.s1、在目标客户端中构建本地意图识别模型;
10.s2、目标客户端向服务器发出更新参数请求信息;
11.s3、服务器基于横向联邦学习得到自身优化后的参数w;
12.s4、服务器将自身优化后的参数w发送给请求参数更新的目标客户端;
13.s5、目标客户端通过采用参数w的本地意图识别模型进行意图识别,得到意图识别结果。
14.进一步地,所述步骤s3包括:
15.s3-1、服务器通过基于多头注意力机制的图神经网络节点选择方法选择部分客户端;
16.s3-2、选择得到的各客户端从服务器下载最新的意图识别模型的参数,作为各自本地意图识别模型的参数,并判断选择得到的客户端中的意图识别模型是否已经过第一次训练,若否,则从服务器下载原厂数据集,是则进入步骤s3-3;
17.s3-3、选择得到的各客户端对各自的本地意图识别模型进行训练;
18.s3-4、选择得到的各客户端将各自的已完成训练的本地意图识别模型的参数发送给服务器,服务器根据收到的全部参数,更新优化参数w。
19.进一步地,所述步骤s3-1包括:
20.1)将服务器自身模型参数和待选择的客户端的本地模型参数分别代入和通过下述式子,计算权重系数e
ij

[0021][0022]
其中,a为注意力机制计算函数,其采用相似度函数,w为提取特征的转置矩阵,为可训练的参数,由选定的任务和模型参数的维度数决定;
[0023]
为了更好的分配权重,采用softmax函数重新计算权重系数,更新后的目标客户端的权重系数为a
ij
,计算公式为:
[0024][0025]
将和分别经过w提取特征后的结果拼接,并与向量点乘,计算出向量内积,使用leakyrelu作为激活函数,将上述公式展开后得到完整的权重系数a
ij

[0026][0027]
设定一个权重系数阈值threshold
min
,仅当权重系数a
ij
不小于阈值threshold
min
时,服务器选择该客户端。
[0028]
进一步地,所述步骤s3-3中,训练时采用的数据集还包括有本地数据集,该本地数据集为客户端使用时用户实时输入的信息。
[0029]
进一步地,原厂数据集和本地数据集先采用random方法进行混合,再采用k折交叉验证方法将混合后的数据集切分为训练集和测试集。
[0030]
进一步地,选择得到的各客户端对各自的本地意图识别模型进行训练包括:
[0031]
各客户端根据各自当前的参数,训练各自的本地模型,计算出梯度gi,利用梯度gi更新自身的模型参数;检查目前是否已训练设定的轮数或已收敛,如否,则循环本过程,如是,则训练结束。
[0032]
进一步地,更新优化参数w包括:
[0033]
选择得到的各客户端在经过自身训练更新后,并计算选择得到的各客户端的最终权重系数p
ij

[0034][0035]
其中,a
ij
为目标客户端的权重系数,α
ik
为选择得到的各客户端的权重系数;
[0036]
计算结果施加非线性函数σ,得到以下服务器更新后的模型参数:
[0037][0038]
引入多头机制:
[0039]
训练多个矩阵w,和计算多个权重系数p
ij
,通过以下公式的计算,即为服务器更新后的模型参数w:
[0040][0041]
进一步地,所述步骤s1构建的本地意图识别模型为bert+textcnn结构。
[0042]
进一步地,所述步骤s5包括:
[0043]
对用户输入的文本数据进行预处理;将预处理后的文本中的词表示成按下标排序的形式;使用bert模型获得词的标签,通过embedding层获得词的向量化表示;利用卷积操作对文本提取特征,最后连接一层全连接层和softmax对文本意图进行分类,即实现意图识别。
[0044]
与现有技术相比,本方案原理及优点如下:
[0045]
1)与云端识别相比,本方案在各客户端上传仅有模型的参数,而不涉及用户的个人信息,保障了用户的隐私需求。
[0046]
2)通过k折交叉验证方法将混合后的数据集(原厂数据集和本地数据集)切分为训练集和测试集,避免由于数据集划分不合理而导致的问题,比如模型在训练集上过拟合(因为本地数据集样本较少)。而且,还能使选择得到的各客户端具有相似数量的训练数据集,以确保各客户端的训练结束时间接近,避免因持续等待某个仍在训练中的客户端,导致服务器资源的浪费。
[0047]
3)区别于联邦平均算法,本方案采用加权计算,以独有的多头注意力权重系数p
ij
衡量每个客户端上传的参数对服务器的参考价值,经过服务器更新后重新传递给各客户端的模型参数,能更好地适用于各客户端,更加贴近面向多节点多领域的设计初衷。
[0048]
4)区别于并行梯度下降(parallel gradient descent),联邦平均算法每次客户端向服务器上传的参数为梯度g,而梯度g经过实验验证,可以使用逆向工程技术,推出用户的部分信息,存在用户隐私泄露的风险。而本方案在训练过程中使用了k折交叉验证,训练集来自于本地数据集和原厂数据集的混合,且上传的参数为模型参数w,能更好地保护用户的隐私。
[0049]
5)利用本方案所设计的注意力机制,目标客户端有两种更新目的可作为选择,一是以某个任务(领域)为方向进行参数更新,此过程需要计算该任务下提取特征的转置矩阵w与向量设定权重系数阈值threshold
min
,服务器根据计算出的多个权重系数p
ij
,将更新后的结果返回给目标客户端。通过对某一任务参数更新,该目标客户端能显著地提升在该
领域的意图识别准确度,进一步提高目标客户端对使用场景的针对性服务质量;二是全任务方向更新,即没有指定更新方向,可用于目标客户端的初始化,此过程区别于目的一,在于权重系数阈值threshold
min
可设定为0,使服务器认为全部客户端均具有参考价值。
附图说明
[0050]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的服务作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051]
图1为本发明实施例一种面向多节点多领域及基于横向联邦学习的意图识别方法的原理流程图;
[0052]
图2为本发明实施例中目标客户端通过优化后的本地意图识别模型进行意图识别的原理流程图;
[0053]
图3为通过k折交叉验证方法将混合后的数据集切分为训练集和测试集的示意图;
[0054]
图4为横向联邦学习的原理示意图;
[0055]
图5为注意力系数的结构图;
[0056]
图6为多头注意力机制的结构图。
具体实施方式
[0057]
下面结合具体实施例对本发明作进一步说明:
[0058]
如图1所示,本实施例所述的一种面向多节点多领域及基于横向联邦学习的意图识别方法,其通过对医疗咨询平台的用户发言进行意图识别,建立用户与疾病关系的模型,为用户提供方便快捷的医药推荐。
[0059]
具体过程包括:
[0060]
s1、在目标客户端中构建结构为bert+textcnn的本地意图识别模型;
[0061]
s2、目标客户端(未被唤醒时)向服务器发出更新参数请求信息;
[0062]
s3、服务器基于横向联邦学习得到自身优化后的参数w;
[0063]
如图4所示,具体过程如下:
[0064]
s3—1、服务器通过基于多头注意力机制的图神经网络节点选择方法选择部分客户端;
[0065]
本步骤具体包括:
[0066]
1)将服务器自身模型参数和待选择的客户端的本地模型参数分别代入和通过下述式子,计算权重系数e
ij

[0067][0068]
其中,a为注意力机制计算函数,其采用相似度函数,w为提取特征的转置矩阵,为可训练的参数,由选定的任务和模型参数的维度数决定;注意力系数的结构如图5所示。
[0069]
为了更好的分配权重,采用softmax函数重新计算权重系数,更新后的目标客户端的权重系数为a
ij
,计算公式为:
[0070][0071]
将和分别经过w提取特征后的结果拼接,并与向量点乘,计算出向量内积,使用leakyrelu作为激活函数,将上述公式展开后得到完整的权重系数a
ij

[0072][0073]
设定一个权重系数阈值threshold
min
,仅当权重系数a
ij
不小于阈值threshold
min
时,服务器选择该客户端。
[0074]
s3-2、选择得到的各客户端从服务器下载最新的意图识别模型的参数,作为各自本地意图识别模型的参数,并判断选择得到的客户端中的意图识别模型是否已经过第一次训练,若否,则从服务器下载原厂数据集,是则进入步骤s3-3;
[0075]
s3-3、选择得到的各客户端对各自的本地意图识别模型进行训练;
[0076]
本步骤中,训练时采用的数据集还包括有本地数据集,该本地数据集为客户端使用时用户实时输入的信息。
[0077]
原厂数据集和本地数据集先采用random方法进行混合,再采用k折交叉验证方法将混合后的数据集切分为训练集和测试集,如图3所示。
[0078]
选择得到的各客户端对各自的本地意图识别模型进行训练包括:
[0079]
各客户端根据各自当前的参数,训练各自的本地模型,计算出梯度gi,利用梯度gi更新自身的模型参数;检查目前是否已训练设定的轮数或已收敛,如否,则循环本过程,如是,则训练结束。
[0080]
s3-4、选择得到的各客户端将各自的已完成训练的本地意图识别模型的参数发送给服务器,服务器根据收到的全部参数,更新优化参数w。
[0081]
更新优化参数w包括:
[0082]
选择得到的各客户端在经过自身训练更新后,并计算选择得到的各客户端的最终权重系数p
ij

[0083][0084]
其中,a
ij
为目标客户端的权重系数,α
ik
为选择得到的各客户端的权重系数;
[0085]
计算结果施加非线性函数σ,得到以下服务器更新后的模型参数:
[0086][0087]
如图6所示,引入多头机制:
[0088]
训练多个矩阵w,和计算多个权重系数p
ij
,通过以下公式的计算,即为服务器更新后的模型参数w:
[0089][0090]
s4、服务器将自身优化后的参数w发送给请求参数更新的目标客户端;
[0091]
s5、目标客户端通过采用参数w的本地意图识别模型进行意图识别,得到意图识别
结果。
[0092]
如图2所示,本步骤的具体过程为:
[0093]
用户输入的问题为“心脏病是什么”,对用户输入的文本数据进行预处理;将预处理后的文本中的词表示成按下标排序的形式;使用bert模型获得词的标签,通过embedding层获得词的向量化表示;利用卷积操作对文本提取特征,最后连接一层全连接层和softmax对文本意图进行分类,即实现意图识别。
[0094]
本实施例中,
[0095]
(1)与云端识别相比,在各客户端上传仅有模型的参数,而不涉及用户的个人信息,保障了用户的隐私需求。
[0096]
(2)通过k折交叉验证方法将混合后的数据集(原厂数据集和本地数据集)切分为训练集和测试集,避免由于数据集划分不合理而导致的问题,比如模型在训练集上过拟合(因为本地数据集样本较少)。而且,还能使选择得到的各客户端具有相似数量的训练数据集,以确保各客户端的训练结束时间接近,避免因持续等待某个仍在训练中的客户端,导致服务器资源的浪费。
[0097]
(3)区别于联邦平均算法,采用加权计算,以独有的多头注意力权重系数p
ij
衡量每个客户端上传的参数对服务器的参考价值,经过服务器更新后重新传递给各客户端的模型参数,能更好地适用于各客户端,更加贴近面向多节点多领域的设计初衷。
[0098]
(4)区别于并行梯度下降,联邦平均算法每次客户端向服务器上传的参数为梯度g,而梯度g经过实验验证,可以使用逆向工程技术,推出用户的部分信息,存在用户隐私泄露的风险。而本实施例在训练过程中使用k折交叉验证,训练集来自于本地数据集和原厂数据集的混合,且上传的参数为模型参数w,能更好地保护用户的隐私。
[0099]
(5)利用本实施例所设计的注意力机制,目标客户端有两种更新目的可作为选择,一是以某个任务(领域)为方向进行参数更新,此过程需要计算该任务下提取特征的转置矩阵w与向量设定权重系数阈值threshold
min
,服务器根据计算出的多个权重系数p
ij
,将更新后的结果返回给目标客户端。通过对某一任务参数更新,该目标客户端能显著地提升在该领域的意图识别准确度,进一步提高目标客户端对使用场景的针对性服务质量;二是全任务方向更新,即没有指定更新方向,可用于目标客户端的初始化,此过程区别于目的一,在于权重系数阈值threshold
min
可设定为0,使服务器认为全部客户端均具有参考价值。
[0100]
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

技术特征:
1.一种面向多节点多领域及基于横向联邦学习的意图识别方法,其特征在于,包括:s1、在目标客户端中构建本地意图识别模型;s2、目标客户端向服务器发出更新参数请求信息;s3、服务器基于横向联邦学习得到自身优化后的参数w;s4、服务器将自身优化后的参数w发送给请求参数更新的目标客户端;s5、目标客户端通过采用参数w的本地意图识别模型进行意图识别,得到意图识别结果。2.根据权利要求1所述的一种面向多节点多领域及基于横向联邦学习的意图识别方法,其特征在于,所述步骤s3包括:s3-1、服务器通过基于多头注意力机制的图神经网络节点选择方法选择部分客户端;s3-2、选择得到的各客户端从服务器下载最新的意图识别模型的参数,作为各自本地意图识别模型的参数,并判断选择得到的客户端中的意图识别模型是否已经过第一次训练,若否,则从服务器下载原厂数据集,是则进入步骤s3-3;s3-3、选择得到的各客户端对各自的本地意图识别模型进行训练;s3-4、选择得到的各客户端将各自的已完成训练的本地意图识别模型的参数发送给服务器,服务器根据收到的全部参数,更新优化参数w。3.根据权利要求2所述的一种面向多节点多领域及基于横向联邦学习的意图识别方法,其特征在于,所述步骤s3-1包括:1)将服务器自身模型参数和待选择的客户端的本地模型参数分别代入和通过下述式子,计算权重系数e
ij
:其中,a为注意力机制计算函数,其采用相似度函数,w为提取特征的转置矩阵,为可训练的参数,由选定的任务和模型参数的维度数决定;2)为了更好的分配权重,采用softmax函数重新计算权重系数,更新后的目标客户端的权重系数为a
ij
,计算公式为:3)将和分别经过w提取特征后的结果拼接,并与向量点乘,计算出向量内积,使用leakyrelu作为激活函数,将上述公式展开后得到完整的权重系数a
ij
,4)设定一个权重系数阈值threshold
min
,仅当权重系数a
ij
不小于阈值threshold
min
时,服务器选择该客户端。4.根据权利要求2所述的一种面向多节点多领域及基于横向联邦学习的意图识别方法,其特征在于,所述步骤s3-3中,训练时采用的数据集还包括有本地数据集,该本地数据集为客户端使用时用户实时输入的信息。
5.根据权利要求4所述的一种面向多节点多领域及基于横向联邦学习的意图识别方法,其特征在于,原厂数据集和本地数据集先采用random方法进行混合,再采用k折交叉验证方法将混合后的数据集切分为训练集和测试集。6.根据权利要求5所述的一种面向多节点多领域及基于横向联邦学习的意图识别方法,其特征在于,选择得到的各客户端对各自的本地意图识别模型进行训练包括:各客户端根据各自当前的参数,训练各自的本地模型,计算出梯度g
i
,利用梯度g
i
更新自身的模型参数;检查目前是否已训练设定的轮数或已收敛,如否,则循环本过程,如是,则训练结束。7.根据权利要求2所述的一种面向多节点多领域及基于横向联邦学习的意图识别方法,其特征在于,更新优化参数w包括:选择得到的各客户端在经过自身训练更新后,并计算选择得到的各客户端的最终权重系数p
ij
:其中,a
ij
为目标客户端的权重系数,α
ik
为选择得到的各客户端的权重系数;计算结果施加非线性函数σ,得到以下服务器更新后的模型参数:引入多头机制:训练多个矩阵w,和计算多个权重系数p
ij
,通过以下公式的计算,即为服务器更新后的模型参数w:8.根据权利要求1所述的一种面向多节点多领域及基于横向联邦学习的意图识别方法,其特征在于,所述步骤s1构建的本地意图识别模型为bert+textcnn结构。9.根据权利要求8所述的一种面向多节点多领域及基于横向联邦学习的意图识别方法,其特征在于,所述步骤s5包括:对用户输入的文本数据进行预处理;将预处理后的文本中的词表示成按下标排序的形式;使用bert模型获得词的标签,通过embedding层获得词的向量化表示;利用卷积操作对文本提取特征,最后连接一层全连接层和softmax对文本意图进行分类,即实现意图识别。

技术总结
本发明公开了一种面向多节点多领域及基于横向联邦学习的意图识别方法,包括:S1、在目标客户端中构建本地意图识别模型;S2、目标客户端向服务器发出更新参数请求信息;S3、服务器基于横向联邦学习得到自身优化后的参数w;S4、服务器将自身优化后的参数w发送给请求参数更新的目标客户端;S5、目标客户端通过采用参数w的本地意图识别模型进行意图识别,得到意图识别结果。本发明既能保护用户隐私又能提高意图识别的准确度。高意图识别的准确度。高意图识别的准确度。


技术研发人员:陈梓浩 曾碧 林镇涛
受保护的技术使用者:广东工业大学
技术研发日:2022.03.23
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-3192.html

最新回复(0)