首页 > 专利 > 杭州电子科技大学 > 一种基于深度神经网络编码的自然语言语义密钥生成方法专利详情

一种基于深度神经网络编码的自然语言语义密钥生成方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2021-02-05
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2021-06-22
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2022-07-12
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2041-02-05
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN202110162322.6 申请日 2021-02-05
公开/公告号 CN112905991B 公开/公告日 2022-07-12
授权日 2022-07-12 预估到期日 2041-02-05
申请年 2021年 公开/公告年 2022年
缴费截止日
分类号 G06F21/46G06F40/30G06N3/04G06N3/08 主分类号 G06F21/46
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 9
权利要求数量 10 非专利引证数量 1
引用专利数量 2 被引证专利数量 0
非专利引证 1、2020.09.24章坚武.基于生物特征和混沌映射的多服务器身份认证方案《.电信科学》.2017,陈兴.基于多模态神经网络生成图像中文描述《.计算机系统应用》.2020,(第09期),张祥德等.基于神经网络和人脸特征的密钥管理方法《.东北大学学报(自然科学版)》.2009,(第06期),黄磊等.基于递归神经网络的文本分类研究《.北京化工大学学报(自然科学版)》.2017,(第01期),;
引用专利 US2020394409A、US2020298401A 被引证专利
专利权维持 1 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 吴震东、康洁 第一发明人 吴震东
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 2
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州君度专利代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
朱亚冠
摘要
本发明公开一种基于自然语言语义相似性的语义密钥生成方法。本发明将使用具有一定弹性范围的文本作为密码,利用深度神经网络模型提取文本语义向量,并通过深度神经网络重编码语义向量生成密钥。在认证过程中,输入的自然语言文本文字不必与原文本一一匹配,只需语义与原文本相似,则可以产生相同的密钥完成认证过程。该过程用户无需对原文本一字不漏的记忆,只需对短文本语义和格式有基本记忆,即可通过自然语言描述该记忆,生成密钥,完成认证。本发明不存在生物特征模板认证隐私泄露的风险,同时用户无需高强度的记忆即可生成高安全性的密钥(>512bit长度的密钥),提高了认证过程的安全性和灵活性。
  • 摘要附图
    一种基于深度神经网络编码的自然语言语义密钥生成方法
  • 说明书附图:图1
    一种基于深度神经网络编码的自然语言语义密钥生成方法
  • 说明书附图:图2
    一种基于深度神经网络编码的自然语言语义密钥生成方法
  • 说明书附图:图3
    一种基于深度神经网络编码的自然语言语义密钥生成方法
  • 说明书附图:图4
    一种基于深度神经网络编码的自然语言语义密钥生成方法
  • 说明书附图:图5
    一种基于深度神经网络编码的自然语言语义密钥生成方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2022-07-12 授权
2 2021-06-22 实质审查的生效 IPC(主分类): G06F 21/46 专利申请号: 202110162322.6 申请日: 2021.02.05
3 2021-06-04 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
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)*k
w
其中,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任一项所述的方法。
说明书

技术领域

[0001] 本发明属于自然语言处理和密码学技术领域,涉及中文语义提取任务和密钥生成任务,涉及一种基于自然语言语义相似性的语义密钥生成方法,具体来讲是一种基于深度神经网络的语义特征提取和根据语义特征生成密钥的方法。

背景技术

[0002] 随着互联网的飞速发展,用户在通过网络与外界进行信息交互之前,往往需要对用户的身份进行认证,认证之后,才可以将用户操作与在网络中的以往操作联系起来,方便用户查看历史记录或进行新的操作,如网上购物,资金往来等。
[0003] 目前的身份认证技术中,常用方法可分为两类:一类是用户通过保存的私有账号和密码来完成个人身份的认证,常用的密码为不少于8位的字母、数字或符号的组合,这种方法设置的密码若使用无意义的内容则不易记忆,若使用与自身相关的信息则容易被破解,且一旦密码中有一位记忆错误,都无法完成认证。另一类是用户通过登记自身的生物特征模板至认证服务器或本地安全域,认证过程中输入用户生物特征,与登记的模板进行比对,一致则认为通过认证,不一致则认为没有通过认证。这种认证方法的好处是用户无需记忆密钥,用与生俱来的生物特征认证即可。但缺点也很明显,即生物特征认证方法需要保留用户生物特征模板做比对认证,用户隐私安全难以保证。

发明内容

[0004] 本发明的一个目的是针对现有的密码设置与记忆的不足,提供一种基于自然语言语义相似性的语义密钥生成方法。本发明将使用具有一定弹性范围的文本作为密码。在认证过程中,输入的自然语言文本文字不必与原文本一一匹配,只需语义与原文本相似,则可以产生相同的密钥完成认证过程。该过程用户无需对原文本一字不漏的记忆,只需对短文本语义和格式有基本记忆,即可通过自然语言描述该记忆,生成密钥,完成认证。本发明不存在生物特征模板认证隐私泄露的风险,同时用户无需高强度的记忆即可生成高安全性的密钥(>512bit长度的密钥),提高了认证过程的安全性和灵活性。
[0005] 本发明具体实现步骤如下:
[0006] 步骤(1)、构造自然语言语义密钥训练语料库,作为训练数据集L1。
[0007] 步骤(2)、构建自然语言语义密钥混合深度神经网络,其输入为训练数据集L1,输出为自然语言语义密钥;
[0008] 所述的自然语言语义密钥混合深度神经网络包括自然语言语义提取器M1、语义特征稳定器M2、语义密钥提取器M3;
[0009] 2‑1构建自然语言语义提取器M1,M1由语义向量提取模块、语义向量重映射模块、语义特征提取及量化模块组成。其输入为训练数据集L1,输出为语义特征图像Qp。
[0010] 2‑2构建语义特征稳定器M2,用于将语义特征图像Qp重编码,获得特征向量序列L2;
[0011] 2‑3构建语义密钥提取器M3,用于从特征向量序列L2中提取出稳定的语义密钥序列;
[0012] 步骤(3)、采用训练好的自然语言语义密钥混合深度神经网络,以实现自然语言语义密钥生成。
[0013] 本发明的另一个目的是提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现上述的方法。
[0014] 本发明的又一个目的是提供一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述的方法。
[0015] 本发明的优点及有益效果如下:
[0016] 本发明提出了一种新的使用文本做密码的方法,利用了深度神经网络模型提取文本语义向量,并通过深度神经网络重编码语义向量生成密钥。生成的密钥对文本具备一定的弹性适应范围,只要文本表达的语义相同,文字的若干差异不会影响到密钥生成的稳定性。本发明相比传统的用户记忆口令的认证方式,既降低了用户记忆的难度,也提高了密钥的安全强度,增加了安全性;相比目前流行的生物特征模板认证方式,不存在用户生物特征隐私泄露的风险,增加了安全性。

实施方案

[0022] 下面将结合附图详细的说明本发明的技术方案。
[0023] 参照图1,图2和图3,一种基于文本语义的密钥生成技术,包括以下步骤:
[0024] 步骤(1)、构建带有类别标签的自然语言语义密钥训练语料库,作为训练数据集L1。
[0025] 传统的语义分类任务只是将语义类似,或相同话题的语句作为同一类。为了能够更准确的将语义不完全相同的语句分开,需要构造语义密钥训练数据集。每一个类别的语句内容不同但语义相同,且每个类别语句数量达到n1条,n1≥50;语义密钥训练数据集中每条语句均标注有所属类别标签。训练过程中,输入为数据集中的语句,输出为该语句所属类别。
[0026] 步骤(2)、构建自然语言语义密钥混合深度神经网络,其输入为训练数据集L1,输出为自然语言语义密钥;
[0027] 所述的自然语言语义密钥混合深度神经网络包括自然语言语义提取器M1、语义特征稳定器M2、语义密钥提取器M3;
[0028] 2‑1构建自然语言语义提取器M1,M1由语义向量提取模块、语义向量重映射模块、语义特征提取及量化模块组成。其输入为训练数据集L1,输出为语义特征图像Qp。
[0029] 2‑2构建语义特征稳定器M2,用于将语义特征图像Qp重编码,获得特征向量序列L2;
[0030] 2‑3构建语义密钥提取器M3,用于从特征向量序列L2中提取出稳定的语义密钥序列;
[0031] 步骤(3)、采用训练好的自然语言语义密钥混合深度神经网络,以实现自然语言语义密钥生成。
[0032] 所述的步骤(2‑1)具体实现为:
[0033] 1)语义向量提取模块,以训练数据集L1为输入,初始语义向量Q1为输出[0034] 选取文本语义特征提取的常规神经网络预训练模型如BERT、GPT等,使用步骤(1)中构建的数据集L1微调后,将模型中的分类层去掉,剩余结构作为自然语言语义提取器M1的语义向量提取模块,该模块的输出为初始语义向量,记为语义向量Q1。
[0035] 2)语义向量重映射模块
[0036] 由于语义向量提取模块获得的初始语义向量仍然存在同类语句的语义向量差距较大的问题,因此,设计语义向量重映射模块,缩小类内语义向量距离,增大类间语义向量距离。
[0037] 所述的语义向量重映射模块包括以下两种方案:
[0038] 方案一:
[0039] 设Sa为语义为a的n2条(例如n2=30)语句经过语义向量提取模块提取到的初始语1 2 3 n2 T i
义向量集合,Sa=[Q1 ,Q1 ,Q1 ,...,Q1 ] ,其中Q1 表示第i条语句经过语义向量提取模块i
提取到的初始语义向量,T表示转置,i∈[1,n2],为m维向量,Q1j为第i条语句的初始语句语义向量在维度j上的数值;
[0040] 从集合Sa中任意选取一个初始语义向量Q1μ,μ∈[1,n2],分别计算Q1μ中j(j∈[1,m])维度上的数值与集合Sa其他初始语义向量在j维度上的数值的比值,并取所有比值的均值作为权重向量在j维度上的取值,公式为:
[0041]
[0042] 其中 表示第i条语句的初始语义向量的第j个维度分量,wj为n2条语义为a的语句的初始语义向量,在j维度上的权重取值;
[0043] W={w1,w2,w3,...,wm}
[0044] 其中W为权重向量,权重向量维度与初始语义向量维度相同;
[0045] 将权重向量W与语义向量提取模块获得的初始语义向量Q1进行点乘运算,得到语义向量Qs;
[0046] Qsi=W·Q1i
[0047] 其中,Qsi为第i条语句的语义向量。
[0048] 方案二:
[0049] 设Sa为语义为a的n2条(例如n2=30)语句经过语义向量提取模块提取到的初始语1 2 3 n2 T i
义向量集合,Sa=[Q1 ,Q1 ,Q1 ,...,Q1 ] ,其中,Q1表示第i条语句经过语义向量提取模块提取到的初始语义向量,i∈[1,n2],为m维向量,Q1ij为第i条语句的初始语句语义向量在维度j上的数值;
[0050] 搭建p1层(p1一般取1~3)全连接神经网络,将语义向量提取模块获得的初始语义向量Q1重映射为新的语义空间中的语义向量,记为语义向量Qs;神经网络的计算过程如下:
[0051] Qsi=g(βp1(...g(β2g(β1Q1i+b1)+b2)...)+bp1)
[0052] g(z)=1/(1+e‑z)
[0053] 其中βθ与bθ为第θ层神经网络的重映射参数,βθ为神经网络的权重系数,为以该层i i神经结点个数为行数,以Q1 维度为列数的矩阵。bθ为偏置系数,为与Q1维度相同的向量。权重系数βθ与语义向量的乘积与偏置系数bθ相加后,经函数g激活后即为经过第i层映射后的i
语义向量,经过p1层映射后的语义向量为重映射最终得到的语义向量。Q1 为第i条语句的i
初始语义向量,Qs为经语义重映射后第i条语句的语义向量。
[0054] 3)语义特征提取及量化模块用于进一步提取语义向量重映射模块获得的语义向量Qs的特征向量,并将特征向量重排,获得语义特征图像Qp;具体实现步骤为:
[0055] Step1、计算语义相同语句的语义向量在每一维度上的数值波动范围。
[0056] Step2、将语义向量每一维度上的数值按照方差从小到大排序,取前d个维度的数值重组为向量,并将数值量化为0~255范围内的数据,作为特征向量Qd;
[0057] 上述选取波动范围最小的d个维度,即最能表示语义特征的维度,作为特征维度。
[0058] Step3、将特征向量Qd按照间隔u重排为u×v维度的矩阵,即语义特征图像Qp,其中u×v=d。
[0059] Step1的实现过程如下:
[0060] 将输入的句子中语义类别为a的s个语句的语义向量{o1,o2,...,os}做比较,计算s个语义向量每一维度的均值。均值计算公式可表示为:
[0061]
[0062] 其中,j∈{1,2,...,m}表示语义向量的维度为m维,为语义向量Q1输出的维度,s表示语义类别为a的语句的个数,cij表示第i个语句语义向量的第j维分量,Avg(a)表示由s个语义相同的语句的语义向量每一维度均值组成的,语义类别为a的m维向量,为语义类别a的均值向量。
[0063] 将语义类别a的均值向量Avg(a)与语义类别为a的s个语句的语义向量分别计算距离,并记录最大距离,作为语义数值波动的最大范围。使用公式表示为:
[0064]
[0065] 其中,i∈(1,2,...,s),为语句标号,j∈{1,2,...,m},为维度标号,a为语义类别标号,MAXa表示s个语义类别为a的语句的语义向量与该类别的均值向量每一维度上的最大距离,为m维向量。
[0066] Step2的实现过程如下:
[0067] 根据MAXa向量值,选择其中值最小(即s个语句语义向量与均值距离最小,数据波动范围最小)的d个数据所处维度,作为特征维度,每个语义向量中特征维度上的数值称为语义特征值。
[0068] 从语义类别为a的每个语句的语义向量中,抽取语义特征值,并重组成d维的向量,重组后的d维向量即语句的语义特征向量,记为特征向量Qd。统计语义类别为a的所有语句的语义特征向量Qd中的所有数据,从中找到最大值和最小值。
[0069]
[0070]
[0071] 其中c’为特征向量中的数值,maxa为找到的最大值,mina为找到的最小值。
[0072] 将[mina,maxa]区间平均分为256个小区间,每个区间大小为:
[0073] Δ=(maxa‑mina)/256
[0074] 将所有语句的语义特征向量中的数值与小区间范围做对比,若数值落在第ε个区间内,则将数值编码为ε。由此,将获得语句的数值范围为0~255,d维的特征向量。
[0075] Step3的实现过程如下:
[0076] 将step2中获得的特征向量,按照间隔u重排u×v维度(例如u=12,v=16)的矩阵,该矩阵中的数值范围为0~255,即语义特征图像Qp。
[0077] 所述步骤(2‑2)具体实现为:
[0078] 如图4构造语义密钥稳定器M2,M2以现有成熟的编码‑解码(Encode‑Decode)以及跳跃连接(Skip Connection)结构特点的Unet网络模型为基础,模型的基本构造为多层编码‑解码模块的堆叠,编码采用卷积加下采样操作,解码采用上采样加卷积操作。
[0079] 可选项,修改跳跃连接为权重门控单元(Weight‑GRU)结构。
[0080] Weight‑GRU用来控制流经该网络的原始数据的保留程度。Weight‑GRU包括权重门、重置门和更新门,权重门根据原始数据的重要程度为数据分配权重,重置门和更新门控制数据的保留程度。
[0081] Weight‑GRU结构为:原始数据入口连接权重门与重置门,权重门连接重置门与更新门。更新门、重置门与权重门的输出数据经过综合运算后输出连接至Weight‑GRU单元的数据出口。
[0082] Weight‑GRU数据流向:原始数据作为权重门的输入,权重门的输出与原始数据拼接后作为重置门和更新门的输入。重置门的输出分别将原始数据与权重门输出结果重置,重置后的数据与更新门的输出共同作为更新过程的输入,更新过程的输出即原始数据流经Weight‑GRU后获得的数据。
[0083] Weight‑GRU计算过程:
[0084] 首先使用映射函数f将原始数值矩阵K中的数据映射为‑1~1范围内的数据,记为t‑1 tk ,输入Weight‑GRU网络,网络运算后的输出结果k 由f函数的逆函数进行还原,函数f可采用如下设计:
[0085] f(x1)=(2/α)×x1‑1
[0086] f‑1(x2)=(x2+1)/(2/α)
[0087] 其中,α为初始数据取值范围的大小,x1取遍矩阵K的每一个分量,x2取遍矩阵kt的每一个分量。
[0088] 权重门的实现过程如下:
[0089] Weightt=softmax(Ww)*kt‑1
[0090] 其中,Ww为学习到的权重矩阵,与初始数据维度相同,经过softmax函数后,矩阵中t所有元素之和为1。计算得到的Weight即为权重门的输出。
[0091] 更新门的实现过程为:
[0092] z=σ(Wz*[kt‑1,Weightt])
[0093] 其中,Wz为学习到的更新门参数矩阵,Weightt为权重门的输出,σ为激活函数,z为更新门输出的门控信号。
[0094] 重置门的实现过程为:
[0095] r=σ(Wr*[kt‑1,Weightt])
[0096] 重置门与更新门实现过程相似,但由于重置门与更新门所处网络位置与连接不r z同,使得它们学到参数矩阵W与W不同。r为重置门输出的门控信号。
[0097] 更新过程的实现为:
[0098] 首先,将重置后的数据再与权重门的结果使用如下公式进行计算:
[0099] k′=tanh(Wk*[Weightt,kt‑1·r])
[0100] 其中,Wk为学习到的参数矩阵,tanh函数将矩阵数据控制在‑1~1之间,再根据更新门的门控信号进行更新,公式为:
[0101] kt=(1‑z)·kt‑1+z·k'
[0102] kt即为Weight‑GRU网络运算后的输出结果。
[0103] 所述步骤(2‑3)具体实现为:
[0104] 经过语义特征稳定器M2处理后的序列向量L2一般仍然有一定数量的数值是不稳定的,用语义密钥提取器M3提取稳定的语义密钥序列。M3可以使用领域内通用的模糊提取器提取密钥。也可以采用Shamir门限秘密共享方法进行密钥的模糊提取,具体方法为:
[0105] 生成阶段:设定参数n,t1,b,其中参数n表示从序列向量中选取的子序列的个数,b表示选取的子序列的长度,子序列为连续的数字序列;参数t1表示阈值,当有t1个子序列成功匹配时即可准确提取密钥。
[0106] (1)构造一个多项式,使Output与多项式常数项a0绑定,a0视为密钥[0107] F(x)=at1‑1xt1‑1+...+a2x2+a1x1+a0mod(p),a0=Output
[0108] 其中p为素数,系数at1‑1,...,a2,a1随机选取,x∈Zp,Zp为模p剩余系域。
[0109] (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的第一位在整个序列中的索引值。供密钥提取阶段使用。
[0110] 提取阶段:
[0111] 当x=0时,F(0)=a0=Output,即可恢复出密钥。根据记录的n个索引值选取n块b比特长的子序列Qi,将(Qi,F(Mi))及x=0代入下式,若其中有t1(1≤t1≤n)块Qi与Mi相等,即可得到Output=a0,即为自然语言语义密钥。
[0112]
[0113] 图5为本发明的实例示例图。

附图说明

[0017] 图1是本发明方法流程图;
[0018] 图2是本发明中的自然语言语义提取器M1结构图;
[0019] 图3是本发明中特征向量提取流程图;
[0020] 图4是本发明语义特征稳定器M2结构图;
[0021] 图5是本发明的实例示例图。