專利名稱:一種中文超短文本的水印嵌入和提取方法
技術(shù)領(lǐng)域:
本發(fā)明涉及自然語(yǔ)言信息隱藏技術(shù)領(lǐng)域,具體涉及ー種中文超短文本的水印嵌入和提取方法。
背景技術(shù):
隨著計(jì)算機(jī)網(wǎng)絡(luò)的快速發(fā)展和普及,數(shù)字著作在因特網(wǎng)中扮演的角色也越來(lái)越重要,它將人們引入了一個(gè)嶄新的世界。對(duì)于數(shù)字著作而言,數(shù)字化后的數(shù)據(jù)顯然比傳統(tǒng)時(shí)代的數(shù)據(jù)更具優(yōu)勢(shì)和吸引力,比如便于編輯、儲(chǔ)存、發(fā)布和共享。由于對(duì)數(shù)字信息的復(fù)制非常容易,而且所得復(fù)制品和原件完全相同,因此有惡意的個(gè)人或団體有可能在沒(méi)有得到作品所有者許可的情況下復(fù)制、竄改、傳播有版權(quán)的內(nèi)容,甚至非法用作商業(yè)用處,嚴(yán)重侵犯了作者及版權(quán)所有者的利益,并且導(dǎo)致了越來(lái)越多的版權(quán)糾紛。 超短文本是指字?jǐn)?shù)在80字至500字的文本文檔,例如通訊稿、微博、點(diǎn)評(píng)等。這些超短文本被人們?cè)诰W(wǎng)絡(luò)中使用的頻率越來(lái)越高,使用范圍也越來(lái)越廣。例如,網(wǎng)絡(luò)中有這樣ー些點(diǎn)評(píng)網(wǎng)站,它們致力于為網(wǎng)友提供餐飲、購(gòu)物、休閑娛樂(lè)及生活服務(wù)等領(lǐng)域的商戶信息、消費(fèi)優(yōu)惠以及發(fā)布消費(fèi)評(píng)價(jià)的互動(dòng)平臺(tái)。這些點(diǎn)評(píng)網(wǎng)站中,幾乎所有的信息都來(lái)源于大眾,每個(gè)人都可以自由發(fā)表對(duì)商家的評(píng)論,好則譽(yù)之,差則貶之,每個(gè)人都可以向大家分享自己的消費(fèi)心得,同時(shí)分享大家集體的智慧。為維持平臺(tái)的核心競(jìng)爭(zhēng)力,就必須保持點(diǎn)評(píng)數(shù)據(jù)的真實(shí)準(zhǔn)確,具有參考價(jià)值,以及點(diǎn)評(píng)的客觀公正。然而,這些網(wǎng)站中的某些核心點(diǎn)評(píng),可能會(huì)被其他網(wǎng)站盜用。如果沒(méi)有辦法對(duì)用戶發(fā)表的內(nèi)容進(jìn)行版權(quán)歸屬的判定,很容易造成點(diǎn)評(píng)的版權(quán)糾紛,甚至?xí)袚?dān)了侵權(quán)的連帶責(zé)任。目前,越來(lái)越多的網(wǎng)站開(kāi)通了微博功能,使得用戶在網(wǎng)絡(luò)中發(fā)表言論越來(lái)越自由,而用戶發(fā)表的言論也很容易被其他人復(fù)制甚至歪曲,如何沒(méi)有辦法來(lái)判定這些微博的版權(quán)以及是否被人修改歪曲,很容易造成版權(quán)糾紛,甚至?xí)?lái)法律問(wèn)題。除了以上點(diǎn)評(píng)和微博的舉例,超短文本還在網(wǎng)絡(luò)中其他的地方廣泛用至IJ,對(duì)其版權(quán)處理不當(dāng),可能會(huì)到來(lái)巨大的損失,因而,如何有效地保護(hù)這些超短文本的版權(quán)成為了一個(gè)迫在眉睫的現(xiàn)實(shí)問(wèn)題。自然語(yǔ)言信息隱藏使用自然語(yǔ)言作為隱藏秘密信息的載體,利用保留語(yǔ)義的變換等方法改寫文字,在載體中嵌入秘密信息。它作為文本信息保護(hù)的ー種重要方法,越來(lái)越受到人們的關(guān)注。但是,現(xiàn)有的自然語(yǔ)言信息隱藏技術(shù)對(duì)載體文本的容量有著相當(dāng)高的要求,而在進(jìn)行秘密信息嵌入時(shí),根據(jù)載體文本的篇幅長(zhǎng)短以及行文風(fēng)格不同,文本能夠?yàn)樾畔㈦[藏技術(shù)提供的隱藏空間也不一祥。如在版權(quán)保護(hù)領(lǐng)域,通訊稿、微博、評(píng)論、點(diǎn)評(píng)等這些超短文本,能夠提供的容量非常有限,這就使得在這些超短文本當(dāng)中嵌入版權(quán)信息變得不太現(xiàn)實(shí)。所以如何在超短文本當(dāng)中最大量的嵌入版權(quán)信息,具有十分重要的意義。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種中文超短文本的水印嵌入和提取方法,該方法在對(duì)超短文本進(jìn)行版權(quán)信息保護(hù)時(shí),在不影響原內(nèi)容的價(jià)值和使用,并且能夠不引起人們的注意的情況下,在超短文本內(nèi)盡可能嵌入最大的秘密信息。為了實(shí)現(xiàn)上述任務(wù),本發(fā)明采用了如下的技術(shù)解決方案一種中文超短文本的水印嵌入和提取方法,包括嵌入和提取兩個(gè)過(guò)程,其特征在于,所述的嵌入過(guò)程包括嵌入?yún)g元的識(shí)別和秘密信息的嵌入兩個(gè)階段,提取過(guò)程包括嵌入?yún)g元的識(shí)別、秘密信息的提取和水印驗(yàn)證三個(gè)階段;其中,兩個(gè)過(guò)程中的嵌入?yún)g元的識(shí)別操作相同。所述的嵌入?yún)g元的識(shí)別包括以下幾個(gè)步驟步驟I :文本繁簡(jiǎn)體轉(zhuǎn)換待嵌密的文本中可能存在繁體字,而繁體字會(huì)影響到后續(xù)的嵌入?yún)g元識(shí)別,因而在處理之前需先根據(jù)繁簡(jiǎn)對(duì)照表將文本中的繁體字轉(zhuǎn)換為相對(duì)應(yīng)的簡(jiǎn)體字。 步驟2 :以文本中的標(biāo)點(diǎn)符號(hào)作為分界符將文本劃分成多個(gè)分句,同時(shí)對(duì)每ー個(gè)分句進(jìn)行分詞,并將小句內(nèi)容和分詞后的結(jié)果記錄下來(lái)。步驟3 :取出一個(gè)小句中的一個(gè)詞語(yǔ),判斷其是否位于專有名詞詞典中。如果在詞典中,則繼續(xù)步驟3中的下一個(gè)詞語(yǔ),否則,轉(zhuǎn)至步驟4。步驟4 :判斷詞語(yǔ)是否位于同義詞詞典當(dāng)中,如果在,則將此詞語(yǔ)的信息記錄在準(zhǔn)嵌入?yún)g元集合當(dāng)中;如果不在,轉(zhuǎn)至步驟5。步驟5 :判斷詞語(yǔ)是否位于高頻詞詞典當(dāng)中,如果在,則將此詞語(yǔ)的信息記錄在準(zhǔn)嵌入?yún)g元集合當(dāng)中;如果不在,轉(zhuǎn)回步驟3。步驟6 :嵌入單元預(yù)替換嵌入?yún)g元的預(yù)替換是在分句的基礎(chǔ)上進(jìn)行的,當(dāng)一個(gè)分句中的所有詞語(yǔ)都進(jìn)行完準(zhǔn)嵌入?yún)g元的識(shí)別后,在分句上對(duì)分句中所有的準(zhǔn)嵌入單元進(jìn)行預(yù)替換;通過(guò)采用中國(guó)專利201110122787. 5中的步驟,將那些替換前后分詞與原句一樣的準(zhǔn)嵌入單元確認(rèn)為理想嵌入單元,并將其記錄至嵌入單元集合當(dāng)中;步驟7 :所有分句中的準(zhǔn)嵌入?yún)g元都進(jìn)行完嵌入?yún)g元預(yù)替換后,依據(jù)密鑰對(duì)嵌入?yún)g元集合當(dāng)中的嵌入?yún)g元進(jìn)行排序。步驟8 :判斷嵌入?yún)g元集合的容量是否滿足嵌入秘密信息所需的容量。如果嵌入?yún)g元集合的容量滿足所需容量,則嵌入?yún)g元的識(shí)別終止;否則,轉(zhuǎn)至步驟9。步驟9 :依據(jù)密鑰對(duì)超短文本的所有分句進(jìn)行排序,每4個(gè)分句劃分為ー個(gè)“的”字片段,并記錄下每ー個(gè)片段中的分句序號(hào)。“的”字片段的最大數(shù)目應(yīng)為嵌入秘密信息所需容量與同義詞嵌入?yún)g元的容量之差。步驟10 :判斷嵌入?yún)g元集合的容量與“的”字片段的容量之和是否滿足嵌入秘密信息所需的容量。如果滿足所需容量,則嵌入?yún)g元的識(shí)別終止;否則,轉(zhuǎn)至步驟11。步驟11 :依據(jù)步驟9中排好序的分句,進(jìn)行“了”字片段的劃分,并記錄下每ー個(gè)片段中的分句序號(hào)?!傲恕弊制沃械姆志鋽?shù)可以根據(jù)需求來(lái)設(shè)定,默認(rèn)為3個(gè)分句為ー個(gè)“了”字片段。步驟12 :判斷嵌入?yún)g元集合的容量與“的”字片段的容量和“了”字片段的容量之和是否滿足嵌入秘密信息所需的容量,如果滿足所需容量,則嵌入?yún)g元的識(shí)別終止;否則,提示“嵌入?yún)g元不足,無(wú)法嵌入秘密信息”。秘密信息的嵌入包括以下幾個(gè)步驟
步驟I :將嵌入?yún)g元識(shí)別步驟里排序好的順序?qū)νx詞嵌入?yún)g元集合使用混合進(jìn)制編碼計(jì)算出每ー嵌入?yún)g元的比特值。步驟2 :取出一個(gè)分句中的一個(gè)詞語(yǔ),判斷是否與嵌入?yún)g元集合當(dāng)中當(dāng)前的嵌入?yún)g元內(nèi)容以及所在小句是否匹配,如果不匹配,則繼續(xù)步驟2 ;否則,轉(zhuǎn)至步驟3。步驟3 :依據(jù)比特串當(dāng)前的比特值對(duì)嵌入?yún)g元的內(nèi)容進(jìn)行替換,在替換的時(shí)候,因?yàn)橥x詞集合當(dāng)中存在著繁體字的同義詞,因而替換后的文本當(dāng)中就有可能存在著繁體字。同時(shí),比特串及嵌入?yún)g元集合的索引加1,并轉(zhuǎn)至步驟2。步驟4:待所有嵌入?yún)g元都已替換完畢,判斷“的”字片段嵌入?yún)g元的個(gè)數(shù)是否為
O。如果為0,則水印信息的嵌入過(guò)程完成,返回含密文本;如果不為0,則轉(zhuǎn)至步驟5。步驟5:使用擴(kuò)頻編碼對(duì)“的”字片段嵌入單元進(jìn)行編碼以及秘密信息的嵌入。“的”字片段的擴(kuò)頻編碼參考了趙敏之等《基于虛詞變換的自然語(yǔ)言信息隱藏算法研究》2. 2節(jié)里 的文本隱藏算法,詳細(xì)操作流程參照?qǐng)D10,并在此算法的基礎(chǔ)上稍作修改進(jìn)行實(shí)現(xiàn)。“的”字片段擴(kuò)頻算法的首先應(yīng)該對(duì)文本中的句子進(jìn)行片段劃分,此過(guò)程已于嵌入?yún)g元識(shí)別過(guò)程中的步驟9中實(shí)現(xiàn)。在分好的“的”字片段中,首先依據(jù)規(guī)則計(jì)算每ー個(gè)“的”字片段中可刪除“的”的位置,并將分句序號(hào)及刪除“的”后的句子記錄下來(lái)。然后計(jì)算片段中“的”的個(gè)數(shù),并規(guī)定“的”個(gè)數(shù)為奇數(shù)時(shí),表示比特0,為偶數(shù)吋,表示比特I。根據(jù)需嵌入的比特值來(lái)改變片段中“的”的數(shù)目以達(dá)到嵌密的目的。改變“的”數(shù)目需遵守的規(guī)則是“先刪除,后增加”。也就是說(shuō),片段中有可刪除“的”的分句,就進(jìn)行刪除操作,如果有多個(gè)分句可以刪除,就隨機(jī)選擇ー個(gè)進(jìn)行操作。如果分句中沒(méi)有分句可以進(jìn)行刪除操作,則進(jìn)行“的”的増加操作,増加操作與刪除操作類似。如果片段中既沒(méi)有可刪除“的”的分句,也沒(méi)有可増加“的”的分句,則提示“嵌入?yún)g元不足,無(wú)法正確嵌入秘密信息”。步驟6 :待所有“的”字片段嵌入?yún)g元都已替換完畢,判斷“ 了 ”字片段嵌入?yún)g元的個(gè)數(shù)是否為O。如果為0,則水印信息的嵌入過(guò)程完成,返回含密文本;如果不為0,則轉(zhuǎn)至步驟7。步驟7 了”字片段嵌入?yún)g元秘密信息的嵌入?!傲恕弊制蔚臄U(kuò)頻算法也是在“的”字片段擴(kuò)頻算法上的修改?!傲恕弊制蚊孛苄畔⒌那度肱c“的”字片段秘密信息的嵌入相同。步驟8 :待所有“了”字片段嵌入?yún)g元都已替換完畢,則水印信息的嵌入過(guò)程完成,返回含密文本。秘密信息的提取包括以下幾個(gè)步驟步驟I :依次對(duì)照嵌入單元識(shí)別步驟中識(shí)別出來(lái)的同義詞嵌入單元找出其在超短文本中的位置,即索引號(hào),并將其記錄下來(lái)。步驟2 :依據(jù)簡(jiǎn)體文本中的嵌入單元的索引號(hào)在原始文本中找出每ー個(gè)嵌入單元,并與簡(jiǎn)體文本中的嵌入單元--對(duì)應(yīng)的記錄下來(lái)。步驟3 :取出一個(gè)分句中的一個(gè)詞語(yǔ),判斷是否與嵌入?yún)g元集合當(dāng)中當(dāng)前的嵌入?yún)g元內(nèi)容以及所在小句是否匹配,如果不匹配,則繼續(xù)步驟3中的下ー個(gè)詞語(yǔ);否則,轉(zhuǎn)至步驟4。步驟4 :取出詞語(yǔ)對(duì)應(yīng)的原始文本中的詞語(yǔ),在當(dāng)前嵌入?yún)g元集合中的嵌入?yún)g元的同義詞中查找詞語(yǔ)的索引號(hào),所得出的索引號(hào)即是此詞語(yǔ)的比特值。嵌入?yún)g元的索引加I,并轉(zhuǎn)至步驟3。步驟5 :待所有嵌入?yún)g元的比特值都提取出來(lái)后,將比特串按照嵌入?yún)g元的邏輯順序進(jìn)行排序,并以邏輯順序?qū)⒈忍卮謴?fù)成整數(shù)。步驟6 :判斷“的”字片段嵌入?yún)g元的個(gè)數(shù)是否為0,如果為0,則秘密信息的提取完成,轉(zhuǎn)至步驟10 ;如果不為0,轉(zhuǎn)至步驟7。步驟7 :計(jì)算每ー個(gè)“的”字片段中“的”的個(gè)數(shù),如果為偶數(shù),則說(shuō)明此片段表示比特0,否則,表示比特I。將提取出來(lái)的比特串轉(zhuǎn)換為整數(shù),并與前面提取出來(lái)的整數(shù)進(jìn)行疊カロ。步驟8 :判斷“了”字片段嵌入?yún)g元的個(gè)數(shù)是否為0,如果為0,則秘密信息的提取完成,轉(zhuǎn)至步驟10 ;如果不為0,轉(zhuǎn)至步驟9。 步驟9 :計(jì)算每ー個(gè)“了”字片段中“了”的個(gè)數(shù),如果為偶數(shù),則說(shuō)明此片段表示比特0,否則,表示比特I。將提取出來(lái)的比特串轉(zhuǎn)換為整數(shù),并與前面提取出來(lái)的整數(shù)進(jìn)行疊カロ。步驟10 :將提取出來(lái)的整數(shù)轉(zhuǎn)換為其對(duì)應(yīng)的水印信息。水印驗(yàn)證包括預(yù)先選取ー些語(yǔ)料作為訓(xùn)練語(yǔ)料,統(tǒng)計(jì)同義詞詞典中的同義詞在訓(xùn)練語(yǔ)料中出現(xiàn)的頻次,并將其以同義詞或頻次的形式記錄下來(lái)。此訓(xùn)練過(guò)程只進(jìn)行一次,在水印驗(yàn)證過(guò)程中,只需用到訓(xùn)練過(guò)程中統(tǒng)計(jì)出來(lái)的結(jié)果。具體按以下幾個(gè)步驟進(jìn)行步驟I :給定特征閾值δ,本發(fā)明設(shè)置δ =0. 6,根據(jù)預(yù)先工作中統(tǒng)計(jì)出來(lái)的結(jié)果選取在訓(xùn)練語(yǔ)料中出現(xiàn)頻率大于S的特征詞作為特征元素。步驟2 :統(tǒng)計(jì)步驟I中選取的特征元素在檢測(cè)文本中出現(xiàn)的頻率r。步驟3:比較頻率!·和檢測(cè)閾值Φ (本發(fā)明設(shè)置為0=0.7),若1*〈0,則認(rèn)為該檢測(cè)文本中含密,否則認(rèn)為該檢測(cè)文本中未含密。本發(fā)明的中文超短文本的水印嵌入和提取方法,在將ロ語(yǔ)、網(wǎng)絡(luò)用語(yǔ)以及繁體字増加至詞典來(lái)擴(kuò)大同義詞詞典規(guī)?;A(chǔ)上,同時(shí)在載體操縱方面融合同義詞載體操縱、“的”字片段載體操縱和“ 了 ”字片段載體操縱三個(gè)載體操縱技術(shù)來(lái)充分識(shí)別文本中的可用嵌入?yún)g元,另外采用專有名詞詞典來(lái)過(guò)濾專有名詞的替換給文本帶來(lái)的隱蔽性問(wèn)題。而在編碼方面針對(duì)同義詞嵌入單元采用容量最優(yōu)化——混合進(jìn)制編碼,針對(duì)“的”、“ 了 ”字片段采用擴(kuò)頻編碼,充分利用每ー個(gè)嵌入?yún)g元,大大提高了超短文本的隱藏容量。在提取水印信息時(shí),采用水印驗(yàn)證技術(shù)來(lái)分析待檢測(cè)文本是否是經(jīng)過(guò)嵌入處理的文本,有效地降低了提取水印信息時(shí)的虛警率。
經(jīng)過(guò)申請(qǐng)人的實(shí)驗(yàn),從互聯(lián)網(wǎng)上隨機(jī)搜索10000篇飲食類的點(diǎn)評(píng),這些點(diǎn)評(píng)長(zhǎng)度不等,最短的只有50字,平均長(zhǎng)度為115字。采用本發(fā)明的技術(shù)方案,在點(diǎn)評(píng)當(dāng)中嵌入14比特的水印信息。在這10000篇點(diǎn)評(píng)當(dāng)中,有4729篇點(diǎn)評(píng)成功嵌入秘密信息,這些嵌入成功的點(diǎn)評(píng)平均長(zhǎng)度為165. 6字,平均每11. 8個(gè)字嵌入一個(gè)比特,嵌入成功率為47. 29%。然后對(duì)嵌入成功的4729篇含密文本進(jìn)行水印信息提取,提取成功率為100%。在對(duì)10000篇點(diǎn)評(píng)的原始文檔進(jìn)行秘密信息提取時(shí),從9篇文章中提取出了所需的秘密信息,提取水印信息的虛警率接近O. 1%。將4729篇含密文本與5271篇沒(méi)有成功嵌入水印的點(diǎn)評(píng)混合到一起,然后對(duì)其進(jìn)行加入水印驗(yàn)證的水印信息提取,共有4731篇文章中可以提取出有效地水印信息。根據(jù)分析,其中有兩篇的水印信息是無(wú)效的。由此可知,添加了水印驗(yàn)證以后,將水印信息提取的虛警率降低至O. 02%。
圖I為水印信息嵌入的框架。圖2為水印信息提取的框架。圖3為嵌入?yún)g元識(shí)別的流程圖。圖4為秘密信息嵌入的流程圖。
圖5為“的”和“了”字片段秘密信息嵌入流程圖。圖6為“的”和“了”預(yù)替換流程圖。圖7為秘密信息提取流程圖。圖8為“的”和“了”字片段秘密信息提取流程圖。圖9為水印驗(yàn)證的流程圖。圖10為趙敏之等提出的文本隱藏算法。以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)ー步的詳細(xì)說(shuō)明。
具體實(shí)施例方式首先對(duì)本發(fā)明將要用到的術(shù)語(yǔ)進(jìn)行解釋和定義一、術(shù)語(yǔ)解釋I、載體操縱算法載體操縱算法采用的是基于詞匯的載體操縱算法和基于句法的載體操縱算法相結(jié)合,詞匯層次采用的是中文絕對(duì)同義詞替換算法,句法不完整語(yǔ)義層次采用的是助詞“的”和“了”字的增刪,如此,可以在有限的文本當(dāng)中尋找更多的嵌入?yún)g元。2、隱藏編碼算法超短文本的平均長(zhǎng)度在150字,需要嵌入的水印信息可以根據(jù)需求來(lái)進(jìn)行設(shè)置,例如14比持。為了能在短小的文本中成功嵌入水印信息,就得充分利用每ー個(gè)嵌入單元。因而采用混合進(jìn)制編碼與擴(kuò)頻編碼相融合的隱藏編碼算法來(lái)充分利用每ー個(gè)嵌入單元。針對(duì)中文絕對(duì)同義詞算法,采用混合進(jìn)制編碼算法。混合進(jìn)制編碼算法參考了 KeithWinstein 的《Lexical Steganography Through Adaptive Modulation of the WordChoice Hash》里第5部分的Ideal Coding。此編碼給姆ー組同義詞集合中的單詞從0編號(hào)。每個(gè)擁有同義詞的單詞都對(duì)應(yīng)ー個(gè)進(jìn)制不同的一位數(shù)字。設(shè)載體文本中擁有同義詞的單詞數(shù)量為N,那么這N個(gè)單詞聯(lián)合在一起就可以視作ー個(gè)N位的混合進(jìn)制數(shù)。秘密信息可以看作ニ進(jìn)制數(shù),利用同義詞替換,使載體代表的混合進(jìn)制數(shù)等于秘密信息代表的ニ進(jìn)制數(shù)就完成了嵌入過(guò)程。提取過(guò)程只是簡(jiǎn)單地從文本中把這個(gè)混合進(jìn)制數(shù)讀出來(lái)再轉(zhuǎn)換回ニ進(jìn)制數(shù)?;旌线M(jìn)制編碼算法是容量最優(yōu)編碼,它充分利用了每ー嵌入?yún)g元。針對(duì)助詞“的”和“了”字的增刪,采用了擴(kuò)頻編碼?!暗摹弊制蔚臄U(kuò)頻編碼是在趙敏之等人在《基于虛詞變換的自然語(yǔ)言信息隱藏算法研究》2. 2節(jié)里的提出文本隱藏算法(參見(jiàn)圖10)基礎(chǔ)上進(jìn)行修改來(lái)實(shí)現(xiàn)編碼。本發(fā)明的“的”字片段擴(kuò)頻編碼是指將文本進(jìn)行分句后,每4個(gè)分句劃分為ー個(gè)“的”字片段,片段中“的”的個(gè)數(shù)為偶數(shù)則表示比特0,否則表示比特I。秘密信息嵌入時(shí),通過(guò)“的”的增刪規(guī)則來(lái)尋找片段中可以增刪“的”的句子來(lái)改變片段中“的”的個(gè)數(shù),以此達(dá)到嵌密的目的?!?了”字片段的擴(kuò)頻編碼與“的”字片段的擴(kuò)頻編碼相同,只是“ 了 ”字片段的擴(kuò)頻編碼當(dāng)中,每3個(gè)分句劃分為ー個(gè)“了”字片段。3、同義詞詞典的建立同義詞的替換算法的關(guān)鍵就在于詞典的建立。本發(fā)明中,同義詞除了常用的絕對(duì)同義詞外,根據(jù)超短文本中網(wǎng)絡(luò)用語(yǔ)多、ロ語(yǔ)化、語(yǔ)法要求不高的特點(diǎn),將網(wǎng)絡(luò)用語(yǔ)、ロ語(yǔ)以及部分繁體字添加至同義詞詞典當(dāng)中,擴(kuò)充了同義詞詞典的規(guī)模,也進(jìn)ー步提高了超短文本的隱藏容量。4、專有名詞詞典同義詞詞典中的某些同義詞在特定的語(yǔ)篇中會(huì)變成專有名詞,這樣嵌密時(shí)進(jìn)行替換就很容易就引起讀者的注意。為了排除這些專有名詞的同義詞替換帶來(lái)的隱蔽性問(wèn)題。 本發(fā)明采用了建立專有名詞詞典的方法來(lái)進(jìn)行避免。只要是屬于專有名詞詞典中的詞語(yǔ)均不考慮作為嵌入?yún)g元。5、水印驗(yàn)證水印信息的長(zhǎng)度可以根據(jù)需求來(lái)設(shè)置,例如本發(fā)明中設(shè)置為14比特,而需要嵌入的水印內(nèi)容才幾十個(gè),因而在提取水印信息時(shí)虛警率高達(dá)O. 1%,使得水印難以應(yīng)用。為了降低虛警率,本發(fā)明設(shè)計(jì)了ー種高可靠的水印驗(yàn)證方法,如果水印驗(yàn)證得出此文本是已經(jīng)經(jīng)過(guò)嵌密處理的,那么得出來(lái)的水印信息即是有效地信息,反之,水印信息是無(wú)效的。6、專利 201110122787. 5 中的步驟中國(guó)專利申請(qǐng)(申請(qǐng)?zhí)?01110122787.5)中的權(quán)利要求I中的步驟和權(quán)利要求2中的舍棄位置選擇算法步驟,來(lái)找到準(zhǔn)嵌入?yún)g元中的嵌入?yún)g元,此過(guò)程通過(guò)專利201110122787. 5中的一系列步驟,舍棄ー些準(zhǔn)嵌入單元集合當(dāng)中的準(zhǔn)嵌入?yún)g元,使最終得到的嵌入?yún)g元集合是所有理想嵌入?yún)g元的集合,在嵌入秘密時(shí),只將理想嵌入?yún)g元承載秘密信息,就能保證含密句子與原件分詞結(jié)果相一致。ニ、定義(I)超短文本是指字?jǐn)?shù)在80字至500字的文本文檔,例如微博,點(diǎn)評(píng),留言等。(2)水印是指嵌入在數(shù)字作品中的一個(gè)版權(quán)信息,它可以是作者的序列號(hào)、公司標(biāo)志、有特殊意義的文本等。(3)嵌入?yún)g元對(duì)于特定的自然語(yǔ)言處理技術(shù),可以進(jìn)行不改變語(yǔ)義的變換的最短文本片段。例如,對(duì)于同義詞替換技術(shù)而言,具有同義詞的詞語(yǔ)就可以作為嵌入?yún)g元;對(duì)于句式變換技術(shù)而言,可以進(jìn)行句式變換的句子就可以稱作嵌入?yún)g元。(4)準(zhǔn)嵌入?yún)g元從文本中識(shí)別出來(lái)的嵌入?yún)g元當(dāng)中,有的進(jìn)行替換后可能會(huì)造成嵌入?yún)g元識(shí)別不一致。我們把剛識(shí)別出來(lái)的嵌入?yún)g元統(tǒng)稱為準(zhǔn)嵌入?yún)g元,只有在對(duì)準(zhǔn)嵌入單元進(jìn)行預(yù)處理(如預(yù)替換)操作后,那些替換前后識(shí)別出來(lái)的嵌入?yún)g元一致的,才作為可以進(jìn)行嵌密的嵌入?yún)g元。(5)準(zhǔn)嵌入?yún)g元集合一個(gè)分句中識(shí)別出來(lái)的所有準(zhǔn)嵌入?yún)g元的集合。(6)嵌入?yún)g元識(shí)別一致對(duì)嵌入單元進(jìn)行替換后,重新對(duì)替換后的新句子進(jìn)行嵌入單元識(shí)別,識(shí)別出來(lái)的嵌入單元與替換前識(shí)別出來(lái)的嵌入單元一致。(7)理想嵌入?yún)g元句子中的準(zhǔn)嵌入?yún)g元,如果無(wú)論對(duì)這些詞怎樣進(jìn)行同義詞替換,生成的新句子都與原句分詞一致,那么這些準(zhǔn)嵌入?yún)g元被稱為理想的。(8)嵌入?yún)g元集合從文本中依次識(shí)別出來(lái)的所有理想嵌入單元組成的有序集合。(9)嵌入單元的物理順序嵌入單元在嵌入單元集合中的順序。例如嵌入單元集合為{A,B, C,D},則A,B, C,D的物理順序分別為I, 2,3,4。( 10)嵌入單元的邏輯順序?qū)⑶度雲(yún)g元集合按密鑰進(jìn)行重排序,嵌入單元在重排序后的順序則為邏輯順序。例如,嵌入?yún)g元集合{A,B,C,D}重排序后為{C,D,A,B},_A,B,C,D的物理順序分別為3,4,1,2。目的是防止未授權(quán)提取!(11)分句以指定標(biāo)點(diǎn)符號(hào)對(duì)文本進(jìn)行分割,分割出來(lái)的每ー個(gè)文本片段定義為ー個(gè)分句。軟件中的指定標(biāo)點(diǎn)符號(hào)有以下幾種’\f’,’\n’,,\r,,,\
權(quán)利要求
1. 一種中文超短文本的水印嵌入和提取方法,其特征在于,包括嵌入和提取兩個(gè)過(guò)程,所述的嵌入過(guò)程包括嵌入單元的識(shí)別和秘密信息的嵌入兩個(gè)階段;所述的提取過(guò)程包括嵌入單元的識(shí)別、和秘密信息的提取和水印驗(yàn)證三個(gè)階段;嵌入和提取兩個(gè)過(guò)程中的嵌入單元的識(shí)別操作一樣; 所述的嵌入單元的識(shí)別包括以下幾個(gè)步驟 步驟I :文本繁簡(jiǎn)體轉(zhuǎn)換 需先根據(jù)繁簡(jiǎn)對(duì)照表將待嵌密的文本中的繁體字轉(zhuǎn)換為相對(duì)應(yīng)的簡(jiǎn)體字; 步驟2 :以文本中的標(biāo)點(diǎn)符號(hào)作為分界符,將文本劃分成多個(gè)分句,同時(shí)對(duì)每一個(gè)分句進(jìn)行分詞,并將小句內(nèi)容和分詞后的結(jié)果記錄下來(lái); 步驟3,取出一個(gè)小句中的一個(gè)詞語(yǔ),判斷其是否位于專有名詞詞典中,如果在專有名詞詞典中,則繼續(xù)步驟三取小句中的下一個(gè)詞語(yǔ),否則,轉(zhuǎn)至步驟4 ; 步驟4,判斷詞語(yǔ)是否位于同義詞詞典當(dāng)中,如果在,則將此詞語(yǔ)的信息記錄在準(zhǔn)嵌入單元集合當(dāng)中;如果不在,轉(zhuǎn)至步驟5 ; 步驟5 :判斷詞語(yǔ)是否位于高頻詞詞典當(dāng)中,如果在,則將此詞語(yǔ)的信息記錄在準(zhǔn)嵌入單元集合當(dāng)中;如果不在,轉(zhuǎn)回步驟3 ; 步驟6:嵌入單元預(yù)替換 嵌入單元的預(yù)替換是在分句的基礎(chǔ)上進(jìn)行的,當(dāng)一個(gè)分句中的所有詞語(yǔ)都進(jìn)行完準(zhǔn)嵌入單元的識(shí)別后,在分句上對(duì)分句中所有的準(zhǔn)嵌入單元進(jìn)行預(yù)替換;通過(guò)采用中國(guó)專利、201110122787. 5中的步驟,將那些替換前后分詞與原句一樣的準(zhǔn)嵌入單元確認(rèn)為理想嵌入單元,并將其記錄至嵌入單元集合當(dāng)中; 步驟7:所有分句中的詞語(yǔ)都判斷完后,依據(jù)密鑰對(duì)嵌入單元集合當(dāng)中的嵌入單元進(jìn)行排序; 步驟8 :判斷嵌入單元集合的容量是否滿足嵌入秘密信息所需的容量,如果嵌入單元集合的容量滿足所需容量,則嵌入單元的識(shí)別終止;否則,轉(zhuǎn)至步驟9 ; 步驟9 :依據(jù)密鑰對(duì)超短文本的所有分句進(jìn)行排序,每4個(gè)分句劃分為一個(gè)“的”字片段,并記錄下每一個(gè)片段中的分句序號(hào);其中“的”字片段的最大數(shù)目應(yīng)為嵌入秘密信息所需容量與同義詞嵌入單元的容量之差; 步驟10 :判斷嵌入單元集合的容量與“的”字片段的容量之和是否滿足嵌入秘密信息所需的容量,如果滿足所需容量,則嵌入單元的識(shí)別終止;否則,轉(zhuǎn)至步驟11 ; 步驟11 :依據(jù)步驟9中排好序的分句,進(jìn)行“了”字片段的劃分,并記錄下每一個(gè)片段中的分句序號(hào),“了 ”字片段中的分句數(shù)可以根據(jù)需求來(lái)設(shè)定,默認(rèn)為3個(gè)分句為一個(gè)“ 了”字片段; 步驟12 :判斷嵌入單元集合的容量、與“的”字片段的容量和“了”字片段的容量之和是否滿足嵌入秘密信息所需的容量,如果滿足所需容量,則嵌入單元的識(shí)別終止;否則,提示“嵌入單元不足,無(wú)法嵌入秘密信息”; 所述的秘密信息的嵌入包括以下幾個(gè)步驟 步驟I :將嵌入單元識(shí)別步驟里排序好的順序?qū)νx詞嵌入單元集合使用混合進(jìn)制編碼算法計(jì)算出每一嵌入單元的比特值; 混合進(jìn)制編碼算法是,將每個(gè)嵌入單元的同義詞集合中的詞語(yǔ)從0編號(hào),每個(gè)擁有同義詞的詞語(yǔ)都對(duì)應(yīng)一個(gè)進(jìn)制不同的一位數(shù)字,將文本中所有的同義詞聯(lián)合在一起,就可以看做是一個(gè)混合進(jìn)制數(shù);每一個(gè)嵌入單元對(duì)應(yīng)的數(shù)字即為這個(gè)嵌入單元的比特值,它是水印信息轉(zhuǎn)換的整數(shù)除以嵌入單元元素個(gè)數(shù)的余數(shù)值;計(jì)算完所有嵌入單元的比特值后,然后再按嵌入單元的物理順序?qū)Ρ忍卮M(jìn)行排序; 步驟2:取出一個(gè)分句中的一個(gè)詞語(yǔ),判斷是否與嵌入單元集合當(dāng)中當(dāng)前的嵌入單元內(nèi)容以及所在小句是否匹配,如果不匹配,則繼續(xù)步驟2中的下一個(gè)詞語(yǔ);否則,轉(zhuǎn)至步驟3; 步驟3 :依據(jù)比特串當(dāng)前的比特值對(duì)嵌入單元的內(nèi)容進(jìn)行替換,在替換的時(shí)候,因?yàn)橥x詞集合當(dāng)中存在著繁體字的同義詞,因而替換后的文本當(dāng)中就有可能存在著繁體字;同時(shí),比特串及嵌入單元集合的索引加1,并轉(zhuǎn)至步驟2 ; 步驟4 :待所有嵌入單元都已替換完畢,判斷“的”字片段嵌入單元的個(gè)數(shù)是否為O ;如果為O,則水印信息的嵌入過(guò)程完成,返回含密文本;如果不為O,則轉(zhuǎn)至步驟5 ; 步驟5 :使用擴(kuò)頻編碼對(duì)“的”字片段嵌入單元進(jìn)行編碼以及秘密信息的嵌入,首先依據(jù)規(guī)則計(jì)算每一個(gè)“的”字片段中可刪除“的”的位置,并將分句序號(hào)及刪除“的”后的句子記錄下來(lái),然后計(jì)算片段中“的”的個(gè)數(shù),并規(guī)定“的”個(gè)數(shù)為奇數(shù)時(shí),表示比特O,為偶數(shù)時(shí),表示比特I ;根據(jù)需嵌入的比特值來(lái)改變片段中“的”的數(shù)目以達(dá)到嵌密的目的;改變“的”數(shù)目需遵守的規(guī)則是“先刪除,后增加”,即片段中有可刪除“的”的分句,就進(jìn)行刪除操作,如果有多個(gè)分句可以刪除,就隨機(jī)選擇一個(gè)進(jìn)行操作;如果分句中沒(méi)有分句可以進(jìn)行刪除操作,則進(jìn)行“的”的增加操作,增加操作與刪除操作類似;如果片段中既沒(méi)有可刪除“的”的分句,也沒(méi)有可增加“的”的分句,則提示“嵌入單元不足,無(wú)法正確嵌入秘密信息”; 步驟6 :待所有“的”字片段嵌入單元都已替換完畢,判斷“了”字片段嵌入單元的個(gè)數(shù)是否為O ;如果為O,則水印信息的嵌入過(guò)程完成,返回含密文本;如果不為O,則轉(zhuǎn)至步7 ; 步驟7 了”字片段嵌入單元秘密信息的嵌入 “了”字片段秘密信息的嵌入與“的”字片段秘密信息的嵌入相同; 步驟8:待所有“了”字片段嵌入單元都已替換完畢,則水印信息的嵌入過(guò)程完成,返回含密文本;· 所述的秘密信息的提取包括以下幾個(gè)步驟 步驟I :依次對(duì)照嵌入單元識(shí)別步驟中識(shí)別出來(lái)的同義詞嵌入單元找出其在超短文本中的位置,即索引號(hào),并將其記錄下來(lái); 步驟2 :依據(jù)簡(jiǎn)體文本中的嵌入單元的索引號(hào)在原始文本中找出每一個(gè)嵌入單元,并與簡(jiǎn)體文本中的嵌入單元--對(duì)應(yīng)的記錄下來(lái); 步驟3 :取出一個(gè)分句中的一個(gè)詞語(yǔ),判斷是否與嵌入單元集合當(dāng)中當(dāng)前的嵌入單元內(nèi)容以及所在小句是否匹配,如果不匹配,則繼續(xù)步驟3中的下一個(gè)詞語(yǔ);否則,轉(zhuǎn)至步驟4; 步驟4:取出詞語(yǔ)對(duì)應(yīng)的原始文本中的詞語(yǔ),在當(dāng)前嵌入單元集合中的嵌入單元的同義詞中查找詞語(yǔ)的索引號(hào),所得出的索引號(hào)即是此詞語(yǔ)的比特值;嵌入單元的索引加1,并轉(zhuǎn)至步驟3 ; 步驟5 :待所有嵌入單元的比特值都提取出來(lái)后,將比特串按照嵌入單元的邏輯順序進(jìn)行排序,并以邏輯順序?qū)⒈忍卮謴?fù)成整數(shù); 步驟6 :判斷“的”字片段嵌入單元的個(gè)數(shù)是否為O,如果為O,則秘密信息的提取完成,轉(zhuǎn)至步驟10 ;如果不為0,轉(zhuǎn)至步驟7 ; 步驟7:計(jì)算每一個(gè)“的”字片段中“的”的個(gè)數(shù),如果為偶數(shù),則說(shuō)明此片段表示比特0,否則,表示比特I ;將提取出來(lái)的比特串轉(zhuǎn)換為整數(shù),并與前面提取出來(lái)的整數(shù)進(jìn)行疊加;步驟8 :判斷“了”字片段嵌入單元的個(gè)數(shù)是否為0,如果為0,則秘密信息的提取完成,轉(zhuǎn)至步驟10 ;如果不為0,轉(zhuǎn)至步驟9 ; 步驟9:計(jì)算每一個(gè)“了”字片段中“了”的個(gè)數(shù),如果為偶數(shù),則說(shuō)明此片段表示比特0, 否則,表示比特I ;將提取出來(lái)的比特串轉(zhuǎn)換為整數(shù),并與前面提取出來(lái)的整數(shù)進(jìn)行疊加;步驟10 :將提取出來(lái)的整數(shù)轉(zhuǎn)換為其對(duì)應(yīng)的水印信息; 所述的水印驗(yàn)證包括 預(yù)先選取一些語(yǔ)料作為訓(xùn)練語(yǔ)料,統(tǒng)計(jì)同義詞詞典中的同義詞在訓(xùn)練語(yǔ)料中出現(xiàn)的頻次,并將其以同義詞或頻次的形式記錄下來(lái);此訓(xùn)練過(guò)程只進(jìn)行一次,在水印驗(yàn)證過(guò)程中,只需用到訓(xùn)練過(guò)程中統(tǒng)計(jì)出來(lái)的結(jié)果,具體按以下幾個(gè)步驟進(jìn)行 步驟I:給定特征閾值S,δ =0.6,根據(jù)預(yù)先工作中統(tǒng)計(jì)出來(lái)的結(jié)果選取在訓(xùn)練語(yǔ)料中出現(xiàn)頻率大于S的特征詞作為特征元素; 步驟2 :統(tǒng)計(jì)步驟I中選取的特征元素在檢測(cè)文本中出現(xiàn)的頻率r ; 步驟3 比較頻率r和檢測(cè)閾值Φ,Φ=0. 7,若ΚΦ,則認(rèn)為該檢測(cè)文本中含密,否則認(rèn)為該檢測(cè)文本中未含密。
全文摘要
本發(fā)明公開(kāi)了一種中文超短文本的水印嵌入和提取方法,該方法包括嵌入和提取兩個(gè)過(guò)程,嵌入過(guò)程包括嵌入單元的識(shí)別和秘密信息的嵌入兩個(gè)階段,提取過(guò)程包括嵌入單元的識(shí)別、和秘密信息的提取和水印驗(yàn)證三個(gè)階段;其中,兩個(gè)過(guò)程中的嵌入單元的識(shí)別操作相同。而在編碼方面針對(duì)同義詞嵌入單元采用容量最優(yōu)化——混合進(jìn)制編碼,針對(duì)“的”、“了”字片段采用擴(kuò)頻編碼,充分利用每一個(gè)嵌入單元,大大提高了超短文本的隱藏容量。在提取水印信息時(shí),采用水印驗(yàn)證技術(shù)來(lái)分析待檢測(cè)文本是否是經(jīng)過(guò)嵌入處理的文本,有效地降低了提取水印信息時(shí)的虛警率。
文檔編號(hào)G06F17/22GK102682248SQ201210148620
公開(kāi)日2012年9月19日 申請(qǐng)日期2012年5月15日 優(yōu)先權(quán)日2012年5月15日
發(fā)明者何路, 房鼎益, 謝碧清, 陳曉江 申請(qǐng)人:西北大學(xué)