一种信息隐藏方法

文档序号:32408477发布日期:2022-12-02 20:59阅读:147来源:国知局
一种信息隐藏方法

1.本发明涉及信息加密技术领域,尤其涉及一种信息隐藏方法及系统。


背景技术:

2.自然语言信息隐藏技术通过在自然文本或生成文本中不可感知地嵌入秘密信息来实现隐蔽通信的目的。其中,通过修改自然文本来嵌入秘密信息的方法称为修改式自然语言信息隐藏方法,自动生成类似于自然文本的载密文本的方法称为生成式自然语言信息隐藏方法。修改式自然语言信息隐藏方法主要是在不同粒度层面上修改文本内容进行语义等价变换,例如同义词替换、句法转换等语言转换方式来实现秘密信息的嵌入,从而在一定程度上保证载密文本的可读性和保留局部或全局的语义不变。但这些方法主要依赖于人工设定的等价变换规则,如利用特定的等价句型进行句法变换、利用同义词库进行绝对同义词的替换等,这些规则受限于设定人所掌握的语言知识和已有的自然语言处理技术,所涵盖的语义等价变换方式较少,导致该类方法嵌入容量偏低。此外,文本的上下文具有关联性,对文本所做的微小的局部修改也可能引起文本内容的异常。例如,选择词性不同的相对同义词进行替换,会导致语法错误,降低文本的可读性和文本质量。同时,由于信息嵌入对文本所做的修改可能会破坏文本的某些统计特性,使自然文本和载密文本存在统计特性差异,从而被隐写分析方法所利用来识别和检测载密文本。因此,修改式自然语言信息隐藏方法生成的载密文本的安全性有待进一步提高。
3.近年来,随着文本生成技术的飞速发展,自然语言信息隐藏研究的重心逐渐从修改式转向生成式自然语言信息隐藏。生成式自然语言信息隐藏方法的目标是利用文本生成技术,在秘密信息的控制下自动生成载密文本。随着深度学习技术的发展,当前生成式自然语言信息隐藏方法主要借助深度神经网络的强大的特征学习能力,自动学习自然文本的表示,预测生成项的概率分布,获得具有多样性的候选项,并根据概率对候选项进行隐写编码,最后根据待嵌入的秘密信息和候选项的编码状态值,选定生成项从而生成载密文本。理论上,生成文本的长度没有限制,可用于负载秘密信息的生成项较多,因此,生成式自然语言信息隐藏方法通常具有较高的嵌入容量。但是,由于秘密信息的控制,生成的载体文本的质量通常低于正常生成文本的质量,同时,文本语义存在长距离依赖问题,即随着生成载体文本长度的增加,其上下文语义存在不连贯的可能性,易导致文本内容可读性和质量越来越差。因此,此方法更适用于生成较短文本,难以生成语义完整的长文本,大大降低了此类方法的可用性。


技术实现要素:

4.为此,本发明提出了一种自然语言信息隐藏方法及系统,扩大了基于手工句法变换的可替换候选项的规模,在保证文本质量的同时提高了句子级修改式自然语言信息隐藏方法嵌入容量。此外,还保证了相同的句子在嵌入过程中和提取过程中具有相同的编码状态值。本专利还针对候选复述句与源语句的编码状态值分布失衡的情况做了优化处理,有
效的提高秘密信息嵌入的成功率。
5.为实现本发明之目的,采用以下技术方案予以实现:
6.一种信息隐藏方法,包括:步骤1、复述生成:对文本载体中每个源语句,利用复述生成模型生成多个语义一致但表达方式不同的复述句;步骤2、哈希隐写编码:将源语句和复述句数字化;步骤3、隐写编码分析:确定任意的待嵌入秘密信息是否均能成功嵌入;步骤4、编码优化:修正句子的隐写编码状态值;步骤5、秘密信息的嵌入:根据当前待嵌入秘密信息的比特值决定与其对应的语句。
7.所述的信息隐藏方法,其中步骤1包括:对于给定自然文本中的源语句s0,利用复述生成模型生成多个语义一致但表现形式有所差别的候选复述句集合:
8.y={s1,s2,

,sn},记由源语句和复述句组成的集合为s={s0,s1,

,sn}。
9.所述的信息隐藏方法,其中复述生成通过以下公式模型执行:
10.si=btmpg(s
i-1
)
11.其中i是当前轮数,si是第i轮生成的复述句,将源语句s0输入到模型中得到复述句s1后,再将s1输入到模型中得到复述句s2,以此类推,第i轮时,将第i-1轮的输出s
i-1
输入到模型中得到复述句si。
12.所述的信息隐藏方法,其中步骤2包括:
13.(1)对于句子si,使用哈希算法h将其映射成固定长度的二进制哈希编码值,表示如下:
[0014][0015]
为si对应的哈希编码值,h表示哈希编码值的长度;
[0016]
(2)压缩编码
[0017]
将句子si的二进制哈希编码值压缩为k比特值,具体过程如下:
[0018]
该压缩编码策略将分成k个块:
[0019][0020]
其中,每个块长度为表示第j块的二进制哈希编码值,对长度为的统计对应块内0的个数;如果0的个数为偶数,则将编码成0,否则,编码成1,从而得到与句子si相对应的长度为k比特的隐写编码状态值vi:
[0021][0022]
其中,表示第j个块对应的压缩值。
[0023]
所述的信息隐藏方法,其中步骤3包括:
[0024]
首先对句子集合s中n+1个句子分别统计各隐写编码状态直方图,用count(x)表示编码状态值为x的句子的个数:
[0025][0026]
其中,[a= =b]函数表示a与b相等则为1,否则为0;vi表示句子si的隐写编码状态
值,当编码状态值x长度为k比特长度,其取值范围为[0,2
k-1];若隐写编码状态直方图中任意count(x)的值均大于0,则表示集合s中句子的隐写编码状态值分布均匀,若存在count(x)的值等于0的情况,则表示集合s中句子的编码状态值分布失衡,存在缺失的编码状态值,即存在有秘密信息无法编码成相应的复述句的情况。
[0027]
所述的信息隐藏方法,其中步骤4包括:
[0028]
遍历隐写编码状态直方图,若count(x)=0,则将x的值加入到缺失状态值集合m
mis
,若count(x)>1,则将x的值加入到冗余状态值集合r
redu
,对于候选复述句集合中的句子si,若其隐写编码状态值vi∈r
redu
,则将该句子选为待优化的句子,加入待优化句子集o
opt
中。
[0029]
所述的信息隐藏方法,其中步骤4包括:
[0030]
通过执行编码优化策略确定了待优化的句子集后,对待优化句子集o
opt
中的句子进行同义词替换以改变句子的编码状态值,若更新句的编码状态值等于缺失状态值集合m
mis
中的元素,则将该句子添加入候选优化句集合中,从对应多个候选优化句中选择质量最优的句子作为最终优化成功的句子,并将该编码状态值x从m
mis
中删除,重复句子优化过程,直至m
mis
为空,则全部编码状态值优化成功。
[0031]
所述的信息隐藏方法,其中步骤4包括:
[0032]
(1)同义词检索与替换
[0033]
记句子集o
opt
中待优化句子s
opt
为:
[0034]sopt
=(w1,w2,

,w
t


,w
l
)
[0035]
其中
wt
表示句子s
opt
中的第t个单词,l表示句子s
opt
包含的单词总数;
[0036]
对于待优化句子s
opt
中的单词w
t
,查找其在wordnet中的全部同义词,组成同义词集合s:
[0037]
s={s1,s2,

,sm)
[0038]
利用同义词集合s中的全部同义词对w
t
进行替换,替换后获得多个新句子:
[0039][0040]
其中,表示待优化句子s
opt
依据同义词集合s中的同义词替换w
t
后获得的新句子集合;
[0041]
待优化句子s
opt
中的其他单词重复上述操作,获得同义词替换后的更新句总集合:
[0042][0043]
获得同义词替换后的更新句总集合s
sub
后,对该集合中的句子进行哈希隐写编码,若句子的编码状态值等于缺失的编码状态值,则将该句子加入候选优化句集合中,反之,编码优化失败;
[0044]
(2)更新句的隐写编码分析
[0045]
在(1)中获得同义词替换后的更新句总集合s
sub
后,利用步骤2所述的哈希隐写编码方法计算更新句的隐写编码状态值,并根据更新句的编码状态值是否等于缺失状态值mr这一条件,筛选出满足条件的候选优化句集合并保存候选优化句对应的同义词集合
[0046]
(3)基于同义词合适度的句子选择
[0047]
对候选优化句集合中的每个句子对应替换的同义词进行上下文合适度的打分,根据得分来度量同义词替换的合理程度,并选择质量最高的句子作为最终优化成功的句子。
[0048]
所述的信息隐藏方法,其中包括:
[0049]
对于给定的自然文本t,以句子为单位进行秘密信息的嵌入:设自然文本t中包含n个句子s1,s2,

,sn,设待嵌入的全部秘密信息为message,单个句子待嵌入的k比特秘密信息为xi(i=1,2,

,n),其值为message中位置k
×
(i-1)到位置k
×
i-1的比特值;
[0050]
自然文本t中的每个句子si(i=1,2,

,n)经前4个步骤处理后,获得源语句和复述句组成的句子集合s,对句子集合s中的句子进行编码后,根据当前需嵌入的k比特秘密信息xi,判断源语句编码值是否与xi相等,若相等,则将源语句作为载密句,若不相等,则选择与当前秘密信息xi相等的复述句作为载密句替换掉自然文本中的源语句;对句子si(i=1,2,

,n)重复上述操作,直至完成全部秘密信息的嵌入。
[0051]
所述的信息隐藏方法,其中还包括:
[0052]
接收方接收到发送方传输的载密文本t

后,以句子为单位进行秘密信息的提取,载密文本中包含n个载密句s
(1)
,s
(2)


,s
(n)
,秘密信息提取过程如下:
[0053]
步骤1:提取每个句子所嵌入的秘密信息
[0054]
对于载密句s(i)(i=1,2,

,n),利用与发送方一致的哈希隐写编码方法,计算其哈希隐写编码状态值v(i)(i=1,2,

,n),则该载密句s(i)所提取出的秘密信息为xi:
[0055]
xi=v
(i
)
[0056]
步骤2:提取最终的秘密信息
[0057]
将n个载密句中所提取的秘密信息串联后将获得最终完整的秘密信息message:
[0058]
message=concat(x1,x2,

xn)
[0059]
其中,concat(
·
)表示一个拼接的操作,将从n个载密句中提取出来的秘密信息x1,x2,

,xn串联起来得到完整的秘密信息。
附图说明
[0060]
图1为信息隐藏方法总体框架示意图;
[0061]
图2为信息隐藏方法流程示意图。
具体实施方式
[0062]
下面结合附图1-2,对本发明的具体实施方式进行详细说明。所述实施方式是示例性地,仅用于解释本发明,而不能理解为对本发明的限制。显然,本发明所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0063]
在本说明书中描述的“一种实施方式”或“一些实施方式”等意味着在本发明的一
个或多个实施方式中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0064]
如图1、2所示,本专利提出了一种信息隐藏方法,以自然文本为载体,以句子为单位进行修改,来嵌入和提取秘密信息。本专利所提出方法包括两个过程:嵌入过程和提取过程。下面对该方法的具体步骤进行详细说明。
[0065]
发送方利用嵌入过程在载体文本中嵌入秘密信息,得到载密文本,其框架图如图1所示,具体包括以下五个步骤:步骤1、复述生成:对文本载体中每个源语句,利用复述生成模型可自动学习句子特征的能力,捕捉句子的多种形态变化,生成多个语义一致但表达方式不同的复述句;步骤2、哈希隐写编码:将源语句和复述句数字化,即利用哈希算法将它们映射为固定长度的二进制编码,然后进行压缩编码,获得较短的隐写编码状态值;步骤3、隐写编码分析:对于所有复述句与源语句的隐写编码状态值的分布情况进行统计分析,若隐写编码状态值分布较均匀,覆盖了指定编码范围内的每种状态,则可确定任意的待嵌入秘密信息均能成功嵌入,执行步骤5;否则,存在缺失的隐写编码状态值,执行步骤4,进行编码优化以避免嵌入失败;步骤4、编码优化:从分布较多的隐写编码状态值相对应的句子中选取多余的句子进行同义词替换,以修正句子的隐写编码状态值,使得修正后的编码状态值等于缺失的编码状态值;步骤5、秘密信息的嵌入:根据当前待嵌入秘密信息的比特值,判断源语句的隐写编码状态值是否与其匹配,若匹配,则不对源语句进行修改,否则,从复述句中选择隐写编码状态值与其相匹配的句子作为载密句,对源语句进行替换,以实现秘密信息的嵌入。
[0066]
载体文本中的源语句经过上述步骤即可实现秘密信息的嵌入,生成载密文本。载密文本经过公共信道的传输后到达接收方,接收方利用提取过程从载密文本中提取秘密信息。对于载密文本中的句子,提取过程采用与嵌入过程一致的哈希隐写编码方法,获得的句子的隐写编码状态值,即为嵌入的秘密信息比特值。
[0067]
一、本专利提出方法的嵌入过程具体描述如下:
[0068]
步骤1:复述生成
[0069]
现有的修改式自然语言信息隐藏方法主要依赖于人工设定的语义等价变换规则,而这些规则的挖掘需要掌握深厚和专业的自然语言处理知识,具体实现时还需要经过词性标注、句法分析等复杂的自然语言处理技术的支持,实现复杂度相对较大。此外,人工设定的规则灵活性较差,数量有限,特别是句子级的语义等价变换方式只有有限的几种,导致此类方法嵌入容量较低。而当前基于深度神经网络的复述技术具有强大的特征表示能力,可生成复杂多变的语义等价的句子(称为复述句)。因此,本专利提出利用复述技术,去探索句子变换的多样性,自动生成同一语义的不同表达来打破人工设定的句子变换方式有限的限制,具体描述如下:
[0070]
对于给定自然文本中的源语句s0,在本专利中,这一步骤需实现的目标为:利用复述生成模型作为生成器,探索句子变换的多种可能性,自动生成尽可能多的语义一致但表现形式有所差别的候选复述句集合y={s1,s2,

,sn}。记由源语句和复述句组成的集合为s={s0,s1,

,sn},用于后续的秘密信息的嵌入。n为正整数。
[0071]
本专利选择现有的回译指导多轮复述模型(btmpg)作为复述生成器。该模型采用
了一个基础复述模型,再将生成的复述句重新作为基础模型的输入去构建新的复述句。整个过程可描述为:
[0072]
si=btmpg(s
i-1
)
[0073]
其中i是当前轮数,si是第i轮生成的复述句。这是一个循环的过程,将源语句s0输入到模型中得到复述句s1后,再将s1输入到模型中得到复述句s2。以此类推,第i轮时,将第i-1轮的输出s
i-1
输入到模型中得到复述句si,生成的复述句的数量可以通过控制复述的轮数来决定。
[0074]
该基础复述模型采用编码器和解码器的结构,且以基于lstm的条件vae作为骨干网络,并在解码器端融合注意力机制和复制机制,来缓解未登录词问题。编码器端将输入的句子si编码为潜在向量而解码器端将潜在向量和从标准正态分布中采样得到的向量z作为输入去重构一个新的句子。编码器和解码器的操作可以表示为:
[0075][0076][0077]
步骤2:哈希隐写编码
[0078]
在自然语言信息隐藏中,设计合适的编码方案至关重要。在修改式自然语言信息方法中,嵌入过程和提取过程中使用同一隐写编码方式对相同的语义等价变换进行编码,即可使嵌入和提取的秘密信息相同。在生成式自然语言信息隐藏方法中,编码过程与文本生成过程相互依赖,即在文本生成过程中对生成项的概率分布进行编码,并根据秘密信息选择具有特定编码值的候选生成项,生成载密文本。在嵌入过程和提取过程中,使用相同的参数和文本生成模型,能够保证获得一致的候选生成项和相同的编码结果,从而能够在生成的载密文本中成功提取所嵌入的秘密信息。但在本专利步骤1中,复述句均由载体文本中的源语句生成,而提取过程中,则只有修改后的载密文本,其包含的句子与载体文本中的源语句可能不一样,而不同的句子输入同一复述生成模型,将难以获得一致的复述句,因此无法保证嵌入过程和提取过程对同一个句子有相同的隐写编码结果,从而导致嵌入的秘密信息和提取的秘密信息不同,秘密信息提取失败。
[0079]
为了解决上述问题,本专利采取复述句生成步骤与隐写编码步骤相互独立的方式来对可相互替换的句子(复述句及载体文本中源语句)进行隐写编码,从而保证了载密文本中句子的隐写编码值在嵌入过程中和提取过程中的一致性。具体的,本专利设计了一种基于哈希算法的隐写编码方法来独立地利用句子内容进行编码。具体过程如下。
[0080]
(1)利用哈希算法将文本内容数字化
[0081]
对于句子si,使用哈希算法h将其映射成固定长度的二进制哈希编码值,表示如下:
[0082][0083]
为si对应的哈希编码值,h表示哈希编码值的长度。哈希算法h可以为常见的md5,sha512等哈希算法。根据哈希算法的特性,语义相似的复述句将高概率量化为不同的哈希编码值,可减少出现编码重复的情况。
[0084]
(2)压缩编码
[0085]
用来负载秘密信息的句子将嵌入有限长度的秘密信息,设每个句子中待嵌入的秘密信息长度为k比特(k是正整数,优选的h可以被k整除),因此隐写编码算法需要为所有可相互替换句子的哈希编码值和待嵌入秘密信息的所有状态值建立映射关系,从而根据需要嵌入的秘密信息的具体状态值选择对应的句子来负载秘密信息。由于k比特远小于哈希编码值的长度h,因此,本专利称这种映射关系为压缩编码,即将句子si的二进制哈希编码值压缩为k比特值,具体过程如下:
[0086]
该压缩编码策略将分成k个块:
[0087][0088]
其中,每个块长度为表示第j块的二进制哈希编码值。对长度为的统计对应块内0的个数。如果0的个数为偶数,则将编码成0,否则,编码成1。从而得到与句子si相对应的长度为k比特的隐写编码状态值vi:
[0089][0090]
其中,表示第j个块对应的压缩值。
[0091]
步骤3:隐写编码分析
[0092]
句子集合s中的每个句子经哈希隐写编码后被编码成k比特隐写编码状态值。若每个句子嵌入k比特秘密信息,即利用句子的隐写编码状态值来表示待嵌入的秘密信息值,则需要解决的一个关键问题是如何保证k比特待嵌入秘密信息的每一种取值都有相匹配的句子作为载密句。k比特待嵌入的秘密信息存在2k种可能的取值(例如k=2,则k比特秘密信息的可能取值是00,01,10,11),因此,集合s中句子的隐写编码状态值需要覆盖所有2k种取值情况,才能确保作为载密句能成功嵌入和提取任意的k比特秘密信息。因此,本专利需要对集合s中句子的隐写编码状态值分布情况进行分析。
[0093]
首先对句子集合s中n+1个句子(由源语句和复述句组成)分别统计各隐写编码状态直方图,用count(x)表示编码状态值为x的句子的个数:
[0094][0095]
其中,[a= =b]函数表示a与b相等则为1,否则为0。vi表示句子si的隐写编码状态值。当编码状态值x长度为k比特,其取值范围为[0,2
k-1]。若隐写编码状态直方图中任意count(x)的值均大于0,则表示集合s中句子的隐写编码状态值分布均匀。若存在count(x)的值等于0的情况,则表示集合s中句子的编码状态值分布失衡,存在缺失的编码状态值,即存在有秘密信息无法编码成相应的复述句的情况。
[0096]
步骤4:编码优化
[0097]
编码状态值的缺失意味着秘密信息嵌入存在失败的可能性,针对步骤3中编码状态值分布缺失的情况,本专利提出一种编码优化策略,使得编码状态值分布均衡。该策略将选择编码状态值分布较多的句子进行编码优化,即对其进行同义词替换,在保证句子语义的情况下,调整候选复述句的编码状态值,以填补缺失的编码状态值,从而提高秘密信息嵌入的成功率。
[0098]
编码优化策略首先遍历隐写编码状态直方图,若count(x)=0,则将x的值加入到缺失状态值集合m
mis
,若count(x)>1,则将x的值加入到冗余状态值集合r
redu
。对于候选复述句集合中的句子si,若其隐写编码状态值vi∈r
redu
,则将该句子选为待优化的句子,加入待优化句子集o
opt
中。
[0099]
通过执行编码优化策略确定了待优化的句子集后,对待优化句子集o
opt
中的句子进行同义词替换以改变句子的编码状态值,由于本专利以同义词替换作为优化手段,而一个单词可能存在多个同义词,因此将会获得多个同义词替换后的句子(称为更新句),若更新句的编码状态值等于缺失状态值集合m
mis
中的元素,则将该句子添加入候选优化句集合中。由于同一个缺失状态值可能对应多个候选优化句,因此,将从中选择质量最优的句子作为最终优化成功的句子,其对应的编码状态值优化成功,并将该编码状态值x从m
mis
中删除。重复句子优化过程,直至m
mis
为空,则全部编码状态值优化成功。
[0100]
基于同义词替换的句子编码优化过程具体描述如下:
[0101]
(1)同义词检索与替换
[0102]
本专利将对句子集o
opt
中的待优化句子进行优化,即对其句子中的单词进行同义词替换以更新编码状态值,该优化策略首先要解决的是如何获取待优化句子中单词的同义词。在本专利中,利用现有的包含大量同义词集的语义词典库wordnet作为同义词的获取来源。记句子集o
opt
中待优化句子s
opt
为:
[0103]sopt
=(w1,w2,

,w
t


,w
l
)
[0104]
其中
wt
表示句子s
opt
中的第t个单词,l表示句子s
opt
包含的单词总数。
[0105]
本专利将遍历待优化句子中的单词,根据wordnet同义词库来检索句子中单词对应的同义词。以待优化句子s
opt
中的单词w
t
为例,查找其在wordnet中的全部同义词,组成同义词集合s:
[0106]
s={s1,s2,

,sm}
[0107]
利用同义词集合s中的全部同义词对w
t
进行替换,替换后获得多个新句子:
[0108][0109]
其中,表示待优化句子s
opt
依据同义词集合s中的同义词替换w
t
后获得的新句子集合。待优化句子s
opt
中的其他单词重复上述操作,获得同义词替换后的更新句总集合:
[0110][0111]
获得同义词替换后的更新句总集合s
sub
后,将对该集合中的句子进行哈希隐写编码,若句子的编码状态值等于缺失的编码状态值,则将该句子加入候选优化句集合中,反之,编码优化失败。
[0112]
(2)更新句的隐写编码分析
[0113]
在(1)中获得同义词替换后的更新句总集合s
sub
后,需要对更新句的编码状态值进行分析,因此本专利将利用步骤2所述的哈希隐写编码方法计算更新句的隐写编码状态值,并根据更新句的编码状态值是否等于缺失状态值mr(mr∈m
mis
为第r个缺失状态值)这一条
件,筛选出满足条件的候选优化句集合(mr对应的候选优化句集合),并保存候选优化句对应的同义词集合
[0114]
一个缺失编码状态值可能对应多个候选优化句,且本专利以同义词替换作为优化手段,同一个词经常具有多种不同的词性,每种词性下又常有多种不同的词义,因而,同一个上下文语境下,替换的同义词不同对原句子的质量影响不同。每个缺失编码状态值只需要有一个更新的句子满足编码状态值即可成功编码秘密信息,因此本专利利用同义词所在上下文合适度来度量句子的质量,选择质量最高的句子作为最终优化成功的句子,以此保证秘密信息嵌入后,隐写句子的质量较好。
[0115]
(3)基于同义词合适度的句子选择
[0116]
为了选择质量最好的候选优化句作为最后优化成功的句子,本专利在(2)的基础上,对候选优化句集合中的每个句子对应替换的同义词进行上下文合适度的打分,根据得分来度量同义词替换的合理程度,并选择质量最高的句子作为最终优化成功的句子。具体操作如下:
[0117]
假设缺失值mr所对应的候选优化句集合中第i个句子为:
[0118]
yi=(w1,w2,...,s
t
,...,w
l
)
[0119]st
为同义词,替换了原词汇w
t
。对于文本中的单词,其前后一定窗口范围内的单词的集合称为该词的上下文窗口。假设上下文窗口大小为a,定义当前词汇s
t
的上下文为:
[0120]
context(s
t
)={w
t-a


,w
t-1
,w
t+1


,w
t+a
}
[0121]
由于词向量中包含了丰富的语义信息,本专利利用词向量来度量同义词与其上下文的词汇的合适度。上下文合适度计算公式如下:
[0122][0123][0124]
其中wj∈context(s
t
),表示s
t
上下文中的第j个词。表示wj、s
t
对应的词向量,cos(
·
)表示余弦相似度函数,tfidf(
·
)表示词的tf-idf权重。
[0125]
本专利利用同义词所在上下文的合适度去度量候选优化句的质量好坏,因此同义词所在上下文合适度分数即为句子的质量评估分数:
[0126]
eval(yi)=score(s
t
)
[0127]
计算候选优化句的质量评估分数,并选择的候选优化句,作为最终优化成功的句子s
suc
。最后,将句子s
opt
从o
opt
和s中删除,将缺失状态值my从m
mis
中删除,成功优化的句子s
suc
将被添加到s中。
[0128]
对于缺失状态值集合m
mis
中的其余状态值的优化,本专利将从待优化句子集合o
opt
中重新选取待优化句子,并重复上述步骤(1)(2)(3),直到m
mis
为空,缺失状态值全部优化成功。
[0129]
步骤5:秘密信息的嵌入
[0130]
对于给定的自然文本t,本专利以句子为单位进行秘密信息的嵌入。设自然文本t中包含n个句子s1,s2,

,sn,设待嵌入的全部秘密信息为message,单个句子待嵌入的k比特秘密信息为xi(i=1,2,

,n),其值为message中位置k
×
(i-1)到位置k
×
i-1的比特值;
[0131]
自然文本t中的每个句子si(i=1,2,

,n)(可视为源语句s0)经前4个步骤处理后,获得源语句和复述句组成的句子集合s,对句子集合s中的句子进行编码后,根据当前需嵌入的k比特秘密信息xi,判断源语句编码值是否与xi相等。若相等,则将源语句作为载密句。若不相等,则选择与当前秘密信息xi相等的复述句作为载密句,替换掉自然文本中的源语句。句子si(i=1,2,

,n)重复上述操作,直至完成全部秘密信息的嵌入。
[0132]
假设嵌入的秘密信息比特为“001011010110101100...”,源语句为“how probable is it that a third world war will break out?”,对应的编码状态值为“00”,当前秘密信息比特为“10”。当前秘密信息与源语句的编码状态值并不相等,则从复述句中选择编码状态为“10”的句子作为载密句,即最终得到的载密句为“can the world war iii ever occur?”,将源语句替换为该句子,从而实现秘密信息的嵌入。
[0133]
二、本专利提出方法的提取过程具体描述如下:
[0134]
发送方与接收方将共享哈希隐写编码方法和密钥k,接收方接收到发送方传输的载密文本t后,以句子为单位进行秘密信息的提取,载密文本中包含n个载密句s
(1)
,s
(2)


,s
(n)
,秘密信息提取过程如下:
[0135]
步骤1:提取每个句子所嵌入的秘密信息
[0136]
对于载密句s(i)(i=1,2,

,n),利用与发送方一致的哈希隐写编码方法,计算其哈希隐写编码状态值v(i)(i=1,2,

,n),则该载密句s(i)所提取出的秘密信息为xi:
[0137]
xi=v(i)[0138]
步骤2:提取最终的秘密信息
[0139]
将n个载密句中所提取的秘密信息串联后将获得最终完整的秘密信息message:
[0140]
message=concat(x1,x2,

xn)
[0141]
其中,concat(
·
)表示一个拼接的操作,将从n个载密句中提取出来的秘密信息x1,x2,

,xn串联起来得到完整的秘密信息。
[0142]
通过本发明,能够很好的缓解现有的修改式自然语言信息隐藏方法依赖于人工制定的规则的问题,通过利用神经网络来实现文本特征自动化提取,学习文本的表示,从而生成具有多样性的句子作为可替换候选项。此外,本发明提出的基于句子级的修改式自然语言信息隐藏方法,具有较好的抗隐写分析能力。
[0143]
以上,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1