1.一种基于深度神经网络编码的自然语言语义密钥生成方法,其特征在于该方法包括以下步骤:步骤(1)、构建带有类别标签的自然语言语义密钥训练语料库,作为训练数据集L1;
每一个类别的语句内容不同但语义相同,且每个类别语句数量达到n1条,n1≥50;
步骤(2)、构建自然语言语义密钥混合深度神经网络,其输入为训练数据集L1,输出为自然语言语义密钥;
所述的自然语言语义密钥混合深度神经网络包括自然语言语义提取器M1、语义特征稳定器M2、语义密钥提取器M3;
步骤(2)进一步包括:
步骤(2‑1)、构建自然语言语义提取器M1,其输入为训练数据集L1,输出为语义特征图像Qp;
所述的自然语言语义提取器M1由语义向量提取模块、语义向量重映射模块、语义特征提取及量化模块组成;
1)语义向量提取模块,以训练数据集L1为输入,初始语义向量Q1为输出;
2)语义向量重映射模块,以缩小类内语义向量距离,增大类间语义向量距离;以语义向量提取模块输出的初始语义向量Q1为输入,语义向量Qs为输出;
3)语义特征提取及量化模块用于进一步提取语义向量重映射模块获得的语义向量Qs的特征向量,并将特征向量重排,获得语义特征图像Qp;
步骤(2‑2)、构建语义特征稳定器M2,用于将语义特征图像Qp重编码,获得特征向量序列L2;
步骤(2‑3)、构建语义密钥提取器M3,其输入为语义特征稳定器M2输出的特征向量序列L2,输出为自然语言语义密钥步骤(3)、采用训练好的自然语言语义密钥混合深度神经网络,以实现自然语言语义密钥生成。
2.根据权利要求1所述的一种基于深度神经网络编码的自然语言语义密钥生成方法,其特征在于语义向量提取模块采用文本语义特征提取的常规神经网络预训练模型,训练后将分类层删除。
3.根据权利要求1所述的一种基于深度神经网络编码的自然语言语义密钥生成方法,其特征在于所述的自然语言语义提取器M1中语义向量重映射模块具体实现过程如下:设Sa为语义为a的n2条语句经过语义向量提取模块提取到的初始语义向量集合,Sa=
1 2 3 n2 T i
[Q1 ,Q1 ,Q1 ,...,Q1 ] ,其中Q1 表示第i条语句经过语义向量提取模块提取到的初始语义向量,T表示转置,i∈[1,n2],为m维向量, 为第i条语句的初始语句语义向量在维度j上的数值;
μ μ
从集合Sa中任意选取一个初始语义向量Q1 ,μ∈[1,n2],分别计算Q1中j(j∈[1,m])维度上的数值与集合Sa其他初始语义向量在j维度上的数值的比值,并取所有比值的均值作为权重向量在j维度上的取值,公式为:其中 表示第i条语句的初始语义向量的第j个分量,wj为n2条语义为a的语句的初始语义向量,在j维度上的权重取值;
W={w1,w2,w3,...,wm}其中W为权重向量,权重向量维度与初始语义向量维度相同;
将权重向量W与语义向量提取模块获得的初始语义向量Q1进行点乘运算,得到语义向量Qs;
i i
Qs=W·Q1
i
其中,Qs为第i条语句的语义向量。
4.根据权利要求1所述的一种基于深度神经网络编码的自然语言语义密钥生成方法,其特征在于所述的自然语言语义提取器M1中语义向量重映射模块具体实现过程如下:设Sa为语义为a的n2条语句经过语义向量提取模块提取到的初始语义向量集合,Sa=
1 2 3 n2 T i
[Q1 ,Q1 ,Q1 ,...,Q1 ],其中,Q1 表示第i条语句经过语义向量提取模块提取到的初始语义向量,i∈[1,n2],为m维向量, 为第i条语句的初始语句语义向量在维度j上的数值;
搭建p1层全连接神经网络,将语义向量提取模块获得的初始语义向量Q1重映射为新的语义空间中的语义向量,记为语义向量Qs;神经网络的计算过程如下:i i
Qs=g(βp1(...g(β2g(β1Q1+b1)+b2)...)+bp1)‑z
g(z)=1/(1+e )
i i
其中βθ与bθ为第θ层神经网络的重映射参数,Q1为第i条语句的初始语义向量,Qs为经语义重映射后第i条语句的语义向量。
5.根据权利要求1所述的一种基于深度神经网络编码的自然语言语义密钥生成方法,其特征在于所述的自然语言语义提取器M1中语义特征提取及量化模块具体实现步骤为:a)计算语义相同语句的语义向量在每一维度上的数值的方差;
b)将语义向量每一维度上的数值按照方差从小到大排序,取前d个维度的数值重组为向量,并将数值量化为0~255范围内的数据,作为特征向量Qd;
c)将特征向量Qd按照间隔u重排为u×v维度的矩阵,即语义特征图像Qp,其中u×v=d。
6.根据权利要求1所述的一种基于深度神经网络编码的自然语言语义密钥生成方法,其特征在于所述的语义特征稳定器M2以Unet网络模型为基础,模型的构造为多层编码‑解码模块的堆叠,编码采用卷积加下采样操作,解码采用上采样加卷积操作。
7.根据权利要求6所述的一种基于深度神经网络编码的自然语言语义密钥生成方法,其特征在于所述的Unet网络的跳跃连接采用权重门控单元Weight‑GRU结构;
Weight‑GRU用来控制流经该网络的原始数据保留程度;Weight‑GRU包括权重门、重置门和更新门,权重门对原始数据按照重要程度打分,重置门和更新门控制数据的保留程度;
t t
原始数据经过权重门后得到更新后的数据Weight ,Weight与原始数据拼接计算得到重置门门控信号r与更新门门控信号z;原始数据根据重置门门控信号r更新后与经过权重门更t新后的数据Weight 拼接并计算得到中间结果k',中间结果再根据更新门门控信号z更新,t得到最终结果k;
t‑1
首先使用映射函数f将原始数值矩阵K中的数据映射为‑1~1范围内的数据,记为k ,t输入Weight‑GRU网络,网络运算结果k由f函数的逆函数进行还原;
函数f采用如下设计:
f(x1)=(2/α)×x1‑1
‑1
f (x2)=(x2+1)/(2/α)t
其中,α为原始数据取值范围的大小,x1取遍矩阵K的每一个分量,x2取遍矩阵k的每一个分量;
其中,α为原始数据取值范围的大小;
权重门的实现过程如下:
t w t‑1
Weight=softmax(W)*kw
其中,W 为学习到的权重矩阵,与原始数据维度相同,经过softmax函数后,矩阵中所有t元素之和为1;计算得到的Weight既为权重门输出;
更新门的实现过程为:
z t‑1 t
z=σ(W*[k ,Weight])
z t
其中,W 为学习到的更新门参数矩阵,Weight为权重门的输出,σ为激活函数,z为得到的门控信号;
重置门的实现过程为:
r t‑1 t
r=σ(W*[k ,Weight])
r z
由于重置门与更新门所处的网络位置与连接不同,使得它们学习到的参数矩阵W 与W不同;r为重置门的门控信号;
重置后的数据再与权重门的结果使用如下公式进行计算:k t t‑1
k′=tanh(W*[Weight ,k ·r])k
其中,W为学习到的参数矩阵,tanh函数将矩阵数据控制在‑1~1之间,再根据更新门得到的门控信号进行更新,如下式所示:t t‑1
k=(1‑z)·k +z·k'
t
k为Weight‑GRU网络运算后的输出结果。
8.根据权利要求1所述的一种基于深度神经网络编码的自然语言语义密钥生成方法,其特征在于所述的语义密钥提取器M3采用Shamir门限秘密共享方法进行密钥的模糊提取,具体方法为:生成阶段:设定参数n,t1,b,其中参数n表示从序列向量中选取的子序列的个数,b表示选取的子序列的长度,子序列为连续的数字序列;参数t1表示阈值,当有t1个子序列成功匹配时即可准确提取出密钥;
(1)构造一个多项式,使Output与多项式常数项a0绑定,a0视为密钥t1‑1 2 1
F(x)=at1‑1x +...+a2x+a1x+a0mod(p),a0=Output其中p为素数,系数at1‑1,...a2,a1随机选取,x∈Zp,Zp为模p剩余系域;
(2)从训练阶段的语义密钥稳定器M2处理后的序列向量L2中取n块比特长为b的子序列Mi,(i=1,2,...,n),将n个子序列作为多项式的输入x,得到对应的F(Mi),记录F(Mi)、p与loci(i=1,2,…,n),其中loci表示选取的第i个子序列Mi的第一位在整个序列中的索引值;
提取阶段:
当x=0时F(0)=a0=Output,即可恢复出密钥;根据记录的n个索引值选取n块b比特长的子序列Qi,将(Qi,F(Mi))及x=0代入下式,若其中有t1(1≤t1≤n)块Qi与Mi相等即可得到Output=a0,即为自然语言语义密钥;
9.一种电子设备,其特征在于包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1‑8任一项所述的方法。
10.一种机器可读存储介质,其特征在于该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现权利要求1‑
8任一项所述的方法。