- 1 -
中国科技论文在线
基于词语相关度语句信息熵的中文文本
零水印算法及实现
文芳,申永军,郭涛*
作者简介:文芳,(1985-),女,硕士,数字水印,多媒体信息安全,软件工程
(兰州大学信息科学与工程学院,兰州 730000)
摘要:数字水印技术是网络时代应用于多媒体版权保护的一种重要手段,目前不同水印技术5
应运而生。本文在分析传统嵌入式水印缺点的同时构造了一种基于词语相关度语句信息熵的
中文文本零水印方案,并设计实现了该水印方案的算法。算法使用词语相关度来计算句子的
信息熵并以信息熵的大小为标准选取重要的句子,通过取得重要句子的序号完成中文文本零
水印的构造。另外为了验证水印方案的有效性,通过仿真实验对本算法与之前已出现的其它
算法进行对比,结果表明该算法具有较好的鲁棒性和抗攻击能力。 10
关键词:信息安全;词语相关度;信息熵 ;中文文本;零水印;算法
中图分类号:TP399
Chinese text zero-watermark algorithm and realization
based on statements information entropy of words 15
relatedness
Wen Fang, Shen Yongjun, Guo Tao
(Information Science and Engineering School, LanZhou 730000)
Abstract: Digital watermarking technology is one important method used in multimedia copy- right
protection in network times,at present various watermark technology arises at the historic 20
paper is based on the analysis of traditional embedded watermark’s shortcomings while structuring a
Chinese text zero-watermark scheme based on the statements information entropy of words relatedness,
at the same time design and realize the algorithm for this watermarking uses words
relatedness to calculate sentences information entropy and set information entropy size as the standard
for selecting important sentences, through obtaining serial numbers from important sentences to 25
complete Chinese text zero-watermark structure. In addition to verify the effectiveness of the proposed
watermarking,compare this algorithm with other algorithms have appeared through simulation
experiment, the results show that this algorithm has good robustness and ability against the attack.
Keywords:Information safety; Words relatedness; Information entropy; Chinese text; Zero-watermark;
Algorithm 30
0 引言
随着计算机技术的应用及互联网技术的普及,大量诸如公文、信件、文章的数据以文本
形式出现在网络上并方便快速的传播,但这样却给电子文本版权的保护带来了巨大的挑战。
如何有效防止未经授权的文本内容的扩散己成为文本版权保护研究的重点问题,作为数字作35
品版权保护最有效的技术手段之一的数字水印技术备受人们的关注。
目前文本水印领域的研究成果大都集中在嵌入式水印,零水印的成果很少。嵌入式水印
需要改变宿主的信息,因此它的应用领域就比较狭窄,使用价值比较低。鉴于以上情况,具
有较好隐蔽性,不依赖文本格式,并且提高鲁棒性、抗攻击能力的中文文本零水印方案就有
更大的应用前景。零水印是利用载体特征构造水印,其最大特点是不改变宿主信息,例如:40
文献[1],[2]。但是文献[2] 方法是从单个汉字考虑,而文献[1]则是基于词语来考虑文本的水
印,这些角度相对于语句都有一定的局限性。
本文尝试在获取文本主题的前提下,通过对文本进行矢量化处理,得到与格式等无关的
- 2 -
中国科技论文在线
文档,提取文档中的主题词构造主题词集合,对文档分句后创建句中词语与主题词的相关度,
计算得到每个语句的信息熵,选取一定信息熵比较高的语句序号作为水印后存档;需要进行45
版权验证时再用相同方法提取水印和已存档水印进行判决,通过相关实验证明与前几种方法
相比按该方法构造的水印具有更好的抗攻击性和鲁棒性。
1 相关概念
为了构造和描述水印方案,须作如下假设和约定:
定义一 待构造水印文本 T(t1,t2,…,tm),其中 ti 是文本经过语言自然断句后形成的第 i50
个句子,1≤i≤m。
定义二 文章的主题词集合为 K={k1,k2,..... ,kn},其中 ki是文本的第 i 个主题词。
定义三 词语相关度[3][4]:词语和词语之间关系的一种数字化描述,用于刻画两个词语
之间的表面关系以及深层次含义之间的联系,词语相关度 r 的取值范围[0,1],其中 r=0 表示两
个词语没有任何关系,r=1 表示两个词语相同。 55
定义四 信息熵[4][5]:文本句子剔除标点符号及非中文字符等信息后的平均信息量称为
该句子的信息熵。文本 T 的句子 ti(1≤i≤m)的信息熵 H 计算公式如下:
H=
n h
j i
lnij ijp p∑∑
其中 pij是某个句子对应的词语集第 i 个词和文章主题词集合中第 j 个元素的相关度。
2 零水印的构建与检测 60
基于信息熵的文本零水印构造原理及模型设计
中文语言词语丰富、表达多样因而中文文本处理复杂,但文本都有特定的含义、目的和
相应的主题意义,这些都是文本信息的价值所在,水印保护的就是这些特定的含义、目的和
主题词意义。考虑到文本中每个词语都可能与主题词集合有较大的相关性,而每个句子中的
词也各不相同,这就使得每个句子相对于主题词集合有不同的重要性,如何刻画和度量句子65
对主题词集合的重要性是我们所必须考虑的。信息论中引入信息熵的概念很好的解决了信息
的量化问题。鉴于此本文引入信息论中的信息熵来刻画和度量文本中语句与主题词集合的关
系。而且语言之间的语言熵[4][5]差别较大,英语的语言熵是 比特/字符,而中文的语言
熵的统计结果约为 比特/字符,甚至高达 比特/字符[5],中文的语言熵如此之高,使
用信息熵来选取中文文本水印有更大的优势。水印在文档中的位置需要分散,以便不容易被70
修改,而内容又需要固定以便方便对比,因此水印是不确定性和确定性的博弈。而信息熵本
身描述的是信息的不确定性,而自身又是确定的,因此使用信息熵来度量和选取水印刚好合
适。
基于以上分析,文本的零水印构造分为以下几个阶段:
第一阶段是预处理,目的首先是在不改变原文档内容的前提下去除无关的信息。例如:75
文字字体、文字大小、文本格式等,其次还包括矢量化处理原始文本、提取主题词、对文章
进行分句、对每个语句切词处理并构造词语集合。
第二阶段是构造词语集合与主题词集合之间的相关度,这个过程的建立要周全的考虑词
语与词语之间的关系,是计算信息熵的前提工作。据信息熵大小选取最重要的一部分句子,
利用这些句子的序号完成水印的构造。 80
- 3 -
中国科技论文在线
第三阶段是提取水印的过程及水印的归档过程。考虑到水印验证的权威性,可借鉴文献
[8]引入第三方认证权威机构,对构造出的水印须向权威机构进行注册。
根据这上述过程可以得到零水印的构造模型如下图所示:
图 1 零水印构造模型 85
FIG. 1 Zero-watermark tectonic model
基于信息熵的文本零水印检测原理及模型设计
水印检测的主要任务是提取带检测文本的水印并完成对水印的认证判断。由于零水印方
案中没有嵌入水印,而只是把生成的水印存档,因此水印检测方案需要重新提取水印和原来90
已有水印进行对比,如果相似度大于某一个约定值,则检测到水印,反之检测不到。因此具
体的水印检测过程分为以下几个阶段:
第一阶段为预处理;
第二阶段提取待检测文本的水印;
第三阶段通过检测算法检测文本的水印和存档水印的相关性后对水印判决,得出认证结95
果。
由该过程可以看出,预处理和提取水印都类似于图 1 造过程。依此得到基于语句信息熵
的文本零水印检测模型如下图所示:
图 2 零水印检测模型 100
Zero-watermark detection model
3 算法设计
基于信息熵的文本零水印构造算法
基于前文的概念及原理,在图 1 的基础上可得出基于信息熵的中文文本零水印构造算法105
structure。算法涉及到的主要过程及实现的伪码描述如下(矢量化文本和选取主题词的过程
引用文献[3]。):
- 4 -
中国科技论文在线
(1) 对文章进行矢量化处理,使文章与中文文字的字体,大小等无关,只与内容有关。
(2) 在文章中提取该篇文章的主题词集合 K={k1,k2,..... ,kn}。
(3) 对文章进行分句、切词。 (切词工具使用北京大学计算语言研究所提供的网站:110
(4) 构造词语与每个主题词之间的关系度(计算方法参照文献[6]),以便计算文档中每个
语句的信息熵。
(5) 计算句子的信息熵 H={p1,p2 ..., pm},H 是句子信息熵的集合。
PROCEDURE GetEntropy(R:WordFrequentSet,E:Array) 115
{ 输入相关度集 R, 数组 H 存放计算得到的的信息熵}
BEGIN
FOR p←1 TO m DO // m 为文档中语句的个数
【FOR i←1 TO h DO // h 为主题词集的词语个数
【FOR j←1 TO n DO// n 为第 i 个句子的词语个数 120
H(p).Entropy←
n h
j i
lnij ijp p∑∑
;
】 】
END
(6)选取阈值 h0,找出 H 集合中 p 大于 h0的语句,这些语句组成新的集合 S={s1,s2,... , sn},
取得这些句子在文章中的位置作为水印的一部分。
PROCEDURE WaterMark(R:WordFrequentSet,Listw:Array,p:real) 125
{ R 是相关度集,一维数组 Listw 存放生成的水印}
BEGIN
GetEntropy(R,H);
Call Sort(H);//根据数据项 Entropy 对 E 进行降序排列
FOR p←1 TO h0 DO 130
Listw[i]←H(p).Order;
END
(7)将从每个句子中提取出来的水印按照顺序排列,并对该序列进行混沌加密,生成序
列后对于每个句子的序号计算相对序号,即该序号与语句总数的比值。例如一篇文章由 100
个语句构成,某个语句的序号是 16,则得到该语句的序号与相对序号分别为 16, 。 135
PROCEDURE ChaosEncrypt(Listw: Array;num:integer;x0,u:real)
{ Listw 为待加密的水印信息,对其进行混沌加密,结果仍存放于 Listw 中}
BEGIN
chaos[1] ←x0;
FOR p← 2 TO h0; 140
chaos [p]←u*chaos[p-1]*(1-chaos[p-1]);
FOR p←1 TO h0;
【Mark←1;
FOR j←1 TO h0 DO
IF chaos[p] > chaos[j] 145
Mark←Mark+1;
Listc[p]←mark;】
FOR p←1 TO h0 DO
Listc[p]←Listw[Listc[p]];
- 5 -
中国科技论文在线
FOR p←1 TO h0 DO 150
Listw[p]←Listc[p];
Listw[p]←Listw[p]/m;
END
基于信息熵的文本零水印检测算法
水印检测算法设计由于本文的基本方案是建立在零水印的基础上,故检测前对于待检文155
本 T′仍须做预处理,处理过程与构造阶段雷同。水印判决的主要目标是计算存档水印与待检
测文本的水印的相似系数,并以此系数为标准判定水印的吻合程度,具体判决处理如下:
Function ReleAnalyze( W1,W2: Array;length1,lenght2:integer;β:real):bool
{ W1、W2 分别为存档及待检水印;length1,length2 分别是 W1、W2 的元素个数;当水印
相关性小于β时,函数值为 false,否则为 true} 160
BEGIN
num_element←length1; num_correct←0;
FOR i←1 TO num_element DO
FOR j←i TO num_element DO
IF W1[i]=W2[j] THEN num_correct←num_correct+1 165
IF num_correct/num_element<β
THEN ReleAnalyze←FALSE; Writeln(’没有检测到水印’);
ELSE ReleAnalyze←TRUE; Writeln(’检测到水印’);
END;
4 仿真试验分析 170
为了验证本文设计的算法,我们进行了仿真实验验证,为了说明问题采用与文献[1]或
文献[2]比对的方式给出效果。实验的硬件环境为:CPU 型号 Intel core i5,内存 2GB。软件环
境为:Windows 7,数据库为 SQL Server,算法实现语言为 C++。实验对象:余秋雨短篇散文
《中秋》,总计 1719 字,算法参数选取阈值 h0 =,u=,x0=。
抗攻击性试验 175
以增加删除原文字词为攻击为例进行分析,试验中的文字增加或者删除使用电脑随机操
作,实验结果如图 3 所示:
图 3 抗攻击性比较 180
Anti aggression comparison
从图 3 可以看出:由于本文在充分考虑了每个句子对于文章的重要程度各不相同,在处
理语句中词语的时候又考虑到与主题词的相关程度,从而选取重要的语句进行处理,因此该
- 6 -
中国科技论文在线
方法在相对前两种方法有更大的优势。在对文本进行修改时(修改量小于 30%)的时候本文的185
水印特征和水印提取方法所得到的结果略优于其他两种方法,但是当修改量较大(修改量大
于 30%小于 60%)的时候本文的算法的稳定性和优越性开始显现,甚至修改量很大的时候本
文的算法依然有一定得可靠性。
鲁棒性实验
通过主题词被其同义或近义词替换的来测试鲁棒性。实验中选取了 4 个主题词:中秋、190
可怜、热闹、寂寞,其替换词分别是:秋天、可惜、热烈、寂寥。测试比较结果如图 4 所示。
图 4 鲁棒性对比分析
Robustness comparative analysis
195
从图 4 可以看出:当 50%的主题词被替换时水印的正确率最差,替换率达到 100%时水
印正确率反而比 50%更高,这是因为此时主题词的出现次数恢复正常。通过实验可以看出,
在受到主题词的近义词替换攻击时,该类攻击对本文算法的鲁棒性影响较小,算法相对文献
[1]具有更好的鲁棒性。
5 结束语 200
本文结合自然语言,从词语之间关系出发刻画语句与主题词的信息相关程度,鉴于各个
语句在文中的重要性各不相同,提出了一种新的文本零水印算法。与以往的算法比较,由于
通过语句内部词语的重要程度计算文章不同语句与主题词集合的关联性,使用重要语句的序
号作为文档的水印,水印的生成、注册、判决不影响文本内容,实验结果也表明这种零水印
技术具有完全不可见性的同时在一定程度上改善了水印的抗攻击能力、鲁棒性。下一步的主205
要工作是如何更精确地刻画语句和主题词集合间的相关程度。
[参考文献] (References)
[1] 蒙应杰 司蕾 是垚. 基于矢量图形的中文文本零水印算法[A]. 全国信息隐藏与多媒体安全学术大会
[c].湖南.2009 210
[2] Sun Xingming, , Luo Gang,Huang, Huajun. Component-based Digital Watermarking of Chinese
Texts[A] .WHITE J R .INFOSECU'04[R]. Shanghai, ACM Press. 2004: 76-81
[3] 程涛,施水才,王霞,等.基于同义词词林的中文文本主题词提取[J] .广西师范大学自然科学
版,2007,25(2):145-148
[4] 白杨.基于动态粒子群优化信息熵的人脸识别方法[J] .计算机工程与设计.2008,25(7):174-176 215
[5] 吴军,王作英.汉语信息熵和语言模型复杂度[J] ,电子学报.1996-24-10:69-71
[6] 张运良,张全.基于 HNC 理论的语义相关度计算方法.计算机工程与应用[J] .2005-34-001
[7] 叶南. 论语言表达形式与信息熵、冗余度的关系[J].西南民族大学学报,人文社科版. 2004-10-021
[8] 蒙应杰,吴超,张文,等. 关系数据库零水印注册方案的研究[J].计算机工程 2007,33(2):133-135
220