发明名称 一种中文超短文本的水印嵌入和提取方法
摘要 本发明公开了一种中文超短文本的水印嵌入和提取方法,该方法包括嵌入和提取两个过程,嵌入过程包括嵌入单元的识别和秘密信息的嵌入两个阶段,提取过程包括嵌入单元的识别、和秘密信息的提取和水印验证三个阶段;其中,两个过程中的嵌入单元的识别操作相同。而在编码方面针对同义词嵌入单元采用容量最优化——混合进制编码,针对“的”、“了”字片段采用扩频编码,充分利用每一个嵌入单元,大大提高了超短文本的隐藏容量。在提取水印信息时,采用水印验证技术来分析待检测文本是否是经过嵌入处理的文本,有效地降低了提取水印信息时的虚警率。
申请公布号 CN102682248A 申请公布日期 2012.09.19
申请号 CN201210148620.0 申请日期 2012.05.15
申请人 西北大学 发明人 何路;房鼎益;陈晓江;谢碧清
分类号 G06F21/24(2006.01)I;G06F17/22(2006.01)I 主分类号 G06F21/24(2006.01)I
代理机构 西安恒泰知识产权代理事务所 61216 代理人 李郑建
主权项 一种中文超短文本的水印嵌入和提取方法,其特征在于,包括嵌入和提取两个过程,所述的嵌入过程包括嵌入单元的识别和秘密信息的嵌入两个阶段;所述的提取过程包括嵌入单元的识别、和秘密信息的提取和水印验证三个阶段;嵌入和提取两个过程中的嵌入单元的识别操作一样;所述的嵌入单元的识别包括以下几个步骤:步骤1:文本繁简体转换:需先根据繁简对照表将待嵌密的文本中的繁体字转换为相对应的简体字;步骤2:以文本中的标点符号作为分界符,将文本划分成多个分句,同时对每一个分句进行分词,并将小句内容和分词后的结果记录下来;步骤3,取出一个小句中的一个词语,判断其是否位于专有名词词典中,如果在专有名词词典中,则继续步骤三取小句中的下一个词语,否则,转至步骤4;步骤4,判断词语是否位于同义词词典当中,如果在,则将此词语的信息记录在准嵌入单元集合当中;如果不在,转至步骤5;步骤5:判断词语是否位于高频词词典当中,如果在,则将此词语的信息记录在准嵌入单元集合当中;如果不在,转回步骤3;步骤6:嵌入单元预替换:嵌入单元的预替换是在分句的基础上进行的,当一个分句中的所有词语都进行完准嵌入单元的识别后,在分句上对分句中所有的准嵌入单元进行预替换;通过采用中国专利201110122787.5中的步骤,将那些替换前后分词与原句一样的准嵌入单元确认为理想嵌入单元,并将其记录至嵌入单元集合当中;步骤7:所有分句中的词语都判断完后,依据密钥对嵌入单元集合当中的嵌入单元进行排序;步骤8:判断嵌入单元集合的容量是否满足嵌入秘密信息所需的容量,如果嵌入单元集合的容量满足所需容量,则嵌入单元的识别终止;否则,转至步骤9;步骤9:依据密钥对超短文本的所有分句进行排序,每4个分句划分为一个“的”字片段,并记录下每一个片段中的分句序号;其中“的”字片段的最大数目应为嵌入秘密信息所需容量与同义词嵌入单元的容量之差;步骤10:判断嵌入单元集合的容量与“的”字片段的容量之和是否满足嵌入秘密信息所需的容量,如果满足所需容量,则嵌入单元的识别终止;否则,转至步骤11;步骤11:依据步骤9中排好序的分句,进行“了”字片段的划分,并记录下每一个片段中的分句序号,“了”字片段中的分句数可以根据需求来设定,默认为3个分句为一个“了”字片段;步骤12:判断嵌入单元集合的容量、与“的”字片段的容量和“了”字片段的容量之和是否满足嵌入秘密信息所需的容量,如果满足所需容量,则嵌入单元的识别终止;否则,提示“嵌入单元不足,无法嵌入秘密信息”;所述的秘密信息的嵌入包括以下几个步骤:步骤1:将嵌入单元识别步骤里排序好的顺序对同义词嵌入单元集合使用混合进制编码算法计算出每一嵌入单元的比特值;混合进制编码算法是,将每个嵌入单元的同义词集合中的词语从0编号,每个拥有同义词的词语都对应一个进制不同的一位数字,将文本中所有的同义词联合在一起,就可以看做是一个混合进制数;每一个嵌入单元对应的数字即为这个嵌入单元的比特值,它是水印信息转换的整数除以嵌入单元元素个数的余数值;计算完所有嵌入单元的比特值后,然后再按嵌入单元的物理顺序对比特串进行排序;步骤2:取出一个分句中的一个词语,判断是否与嵌入单元集合当中当前的嵌入单元内容以及所在小句是否匹配,如果不匹配,则继续步骤2中的下一个词语;否则,转至步骤3;步骤3:依据比特串当前的比特值对嵌入单元的内容进行替换,在替换的时候,因为同义词集合当中存在着繁体字的同义词,因而替换后的文本当中就有可能存在着繁体字;同时,比特串及嵌入单元集合的索引加1,并转至步骤2;步骤4:待所有嵌入单元都已替换完毕,判断“的”字片段嵌入单元的个数是否为0;如果为0,则水印信息的嵌入过程完成,返回含密文本;如果不为0,则转至步骤5;步骤5:使用扩频编码对“的”字片段嵌入单元进行编码以及秘密信息的嵌入,首先依据规则计算每一个“的”字片段中可删除“的”的位置,并将分句序号及删除“的”后的句子记录下来,然后计算片段中“的”的个数,并规定“的”个数为奇数时,表示比特0,为偶数时,表示比特1;根据需嵌入的比特值来改变片段中“的”的数目以达到嵌密的目的;改变“的”数目需遵守的规则是“先删除,后增加”,即片段中有可删除“的”的分句,就进行删除操作,如果有多个分句可以删除,就随机选择一个进行操作;如果分句中没有分句可以进行删除操作,则进行“的”的增加操作,增加操作与删除操作类似;如果片段中既没有可删除“的”的分句,也没有可增加“的”的分句,则提示“嵌入单元不足, 无法正确嵌入秘密信息”;步骤6:待所有“的”字片段嵌入单元都已替换完毕,判断“了”字片段嵌入单元的个数是否为0;如果为0,则水印信息的嵌入过程完成,返回含密文本;如果不为0,则转至步骤7;步骤7:“了”字片段嵌入单元秘密信息的嵌入:“了”字片段秘密信息的嵌入与“的”字片段秘密信息的嵌入相同;步骤8:待所有“了”字片段嵌入单元都已替换完毕,则水印信息的嵌入过程完成,返回含密文本;所述的秘密信息的提取包括以下几个步骤:步骤1:依次对照嵌入单元识别步骤中识别出来的同义词嵌入单元找出其在超短文本中的位置,即索引号,并将其记录下来;步骤2:依据简体文本中的嵌入单元的索引号在原始文本中找出每一个嵌入单元,并与简体文本中的嵌入单元一一对应的记录下来;步骤3:取出一个分句中的一个词语,判断是否与嵌入单元集合当中当前的嵌入单元内容以及所在小句是否匹配,如果不匹配,则继续步骤3中的下一个词语;否则,转至步骤4;步骤4:取出词语对应的原始文本中的词语,在当前嵌入单元集合中的嵌入单元的同义词中查找词语的索引号,所得出的索引号即是此词语的比特值;嵌入单元的索引加1,并转至步骤3;步骤5:待所有嵌入单元的比特值都提取出来后,将比特串按照嵌入单元的逻辑顺序进行排序,并以逻辑顺序将比特串恢复成整数;步骤6:判断“的”字片段嵌入单元的个数是否为0,如果为0,则秘密信息的提取完成,转至步骤10;如果不为0,转至步骤7;步骤7:计算每一个“的”字片段中“的”的个数,如果为偶数,则说明此片段表示比特0,否则,表示比特1;将提取出来的比特串转换为整数,并与前面提取出来的整数进行叠加;步骤8:判断“了”字片段嵌入单元的个数是否为0,如果为0,则秘密信息的提取完成,转至步骤10;如果不为0,转至步骤9;步骤9:计算每一个“了”字片段中“了”的个数,如果为偶数,则说明此片段表示比特0,否则,表示比特1;将提取出来的比特串转换为整数,并与前面提取出来的整数进 行叠加;步骤10:将提取出来的整数转换为其对应的水印信息;所述的水印验证包括:预先选取一些语料作为训练语料,统计同义词词典中的同义词在训练语料中出现的频次,并将其以同义词或频次的形式记录下来;此训练过程只进行一次,在水印验证过程中,只需用到训练过程中统计出来的结果,具体按以下几个步骤进行:步骤1:给定特征阈值δ,δ=0.6,根据预先工作中统计出来的结果选取在训练语料中出现频率大于δ的特征词作为特征元素;步骤2:统计步骤1中选取的特征元素在检测文本中出现的频率r;步骤3:比较频率r和检测阈值Φ,Φ=0.7,若r<Φ,则认为该检测文本中含密,否则认为该检测文本中未含密。
地址 710069 陕西省西安市太白北路229号