基于字频词频的字符分组方法、存储介质及电子设备技术

技术编号:35894859 阅读:5 留言:0更新日期:2022-12-10 10:28
本发明专利技术特别涉及一种基于字频词频的字符分组方法、存储介质及电子设备,其中该字符分组方法包括如下步骤:遍历语料库,计算待分组的N个字符的概率及其所组成的各词语概率;根据字符概率和词语概率计算状态转移矩阵;对状态转移矩阵进行归一化得到归一化的状态转移矩阵;逐一遍历字符,计算待分配字符c分配到所有分组的权重并将字符c添加到权重最大的组,该权重和随机二元字符包含组别数的期望值正相关,以此类推直到所有字符完成分组。通过权重计算公式,让经常出现在一起的两个字符分在不同组时的权重增大,再通过选择权重最大的组来让一起出现的字符尽量不同组,实现了字符的合理分组,该分组方式对每组中字符个数不做限制,从而更加合理。从而更加合理。从而更加合理。

【技术实现步骤摘要】
基于字频词频的字符分组方法、存储介质及电子设备


[0001]本专利技术涉及字库隐形水印
,特别涉及一种基于字频词频的字符分组方法、存储介质及电子设备。

技术介绍

[0002]在现有的文本水印技术中,为了提高水印算法抵抗打印扫描、屏幕截屏和屏幕拍照等恶意攻击的鲁棒性能,基于字符拓扑结构修改的文本数字水印技术成为主流。即通过将特定字符进行不同形式的变形后对应不同的水印信息位串,字符变形数据会保存在特定的水印字库中,并在电子文本文档打印输出和屏幕显示的过程中,通过字体替换来实现水印信息的嵌入。当我们针对不同的用户使用不同的字符变形数据,对于该用户来说,该特定的水印字库即构成其安全字库。
[0003]现有的安全字库存在很多缺陷,为了实现在不改变用户任何使用习惯的前提下,用以解决现有技术中水印加载通用性差、系统稳定性差、实现过程复杂以及水印算法鲁棒性能低等问题,北京国隐科技有限公司申请的专利《一种通用的文本水印方法和装置》(公布号:CN114708133A)中公开了如下方案:一种通用的文本水印方法,包括以下步骤:根据特定策略对选定字库中一定数目的字符进行分组;根据特定规则对每个分组中的所有字符进行变形设计,并生成水印字符数据临时文件;生成用户终端水印编码数据,用以标识用户终端的身份认证信息;依据水印编码数据,并结合水印字符数据临时文件和分组的字符,动态生成并实时加载水印字库文件;运行电子格式的文本文件,在文件打印输出和屏幕显示的文档内容数据中利用水印字库文件实时嵌入水印信息。
[0004]该方案中需要对字符进行分组。在对字符进行分组时,理论上来说,字频较高的字符,应该分别位于不同组;常出现在一起的字符,应该分别位于不同组。满足这两个要求所生成的安全字库,在进行安全码的提取时,所需要的文字内容更少,因此,提取效果、准确率也更佳。该方案中的字符分组方法存在诸多不足:其一,每组中的字符数基本相等,这与上述的要求有所冲突;其二,分组时只考虑了字频,并没有对词频进行充分考虑,理论上,经常出现的词语中对应的字符,应该分在不同组别中,这样可以在更短的内容中出现更多分组,在进行安全码的提取时所需的内容更少;其三,该方案中对分组进行优化时的计算过程太复杂,需消耗大量的时间和算力。

技术实现思路

[0005]本专利技术的目的在于提供一种基于字频词频的字符分组方法,能够更加合理的对字符进行分组。
[0006]为实现以上目的,本专利技术采用的技术方案为:一种基于字频词频的字符分组方法,包括如下步骤:遍历语料库,根据待分组的N个字符的出现频数计算各字符概率,对语料库中的所有文本进行分词,根据N个字符所组成词语的出现频数计算各词语概率;
根据和计算一个字符后是另一个字符的概率得到状态转移矩阵;对状态转移矩阵进行归一化使得一个字符后是其他字符的概率之和为1得到归一化的状态转移矩阵;逐一遍历字符,计算待分配字符c分配到所有分组的权重并将字符c添加到权重最大的组,该权重和随机二元字符包含组别数的期望值正相关,以此类推直到所有字符完成分组。
[0007]与现有技术相比,本专利技术存在以下技术效果:该分组方案主要从词语之间的关联来对字符进行分组,对于常作为一个单词出现的多个字符,尽量将它们分配在不同的组中,状态转移矩阵反映的就是一个字符后是另一个字符的概率,再通过权重计算公式,让经常出现在一起的两个字符分在不同组时的权重增大,这样我们就能通过选择权重最大的组来让一起出现的字符尽量不同组,从而实现了字符的合理分组,此种分组方式对每组中字符个数不做限制,从而更加合理。
附图说明
[0008]图1是本专利技术的流程图。
具体实施方式
[0009]下面结合图1,对本专利技术做进一步详细叙述。
[0010]参阅图1,本专利技术公开了一种基于字频词频的字符分组方法,包括如下步骤:遍历语料库,根据待分组的N个字符的出现频数计算各字符概率,N的最优取值范围为1000~3000,通过对字符的字频进行排序,挑选字频较高的N个字符。分词模型有很多,我们选用较为成熟的分词模型,对语料库中的所有文本进行分词,根据N个字符所组成词语的出现频数计算各词语概率。这里的字频和词频可以利用已有的语料库和模型去计算,也可以直接采用之前已经计算好的结果。语料库的选择也可以根据用户的需求去选择,即可以选择通用的语料库,也可以选择某个企业或组织的内部语料库,针对不同的语料库,所得到的字符分组也是不同的。
[0011]根据和计算一个字符后是另一个字符的概率得到状态转移矩阵,该矩阵的行、列数均等于字符数N,状态转移矩阵中的元素代表字符后是字符的概率,通过构建状态转移矩阵,从而建立了字符和字符之间的关系。具体地,状态转移矩阵中的元素可以根据如下公式计算得到:式中,是特定词语概率之和,该特定词语中字符和字符相邻且按顺序排列。也即,这里的词语包含的是或或这样的词语,必须要字符
在前、字符在后且两个字符相邻布置,不包括或者这样的词语。由于分词时会分出包含其他词语的长词语,所以需要求和;并且会忽视不构成词语的连续字,所以计算得到的状态转移矩阵中有很多元素的值为0,因此需要进一步进行归一化处理。
[0012]进一步地,对状态转移矩阵进行归一化使得一个字符后是其他字符的概率之和为1得到归一化的状态转移矩阵;状态转移矩阵可以唯一地表示一个马尔科夫链,求出该矩阵后,语料库到语言模型的建模就完成了。具体地,按如下公式重置状态转移矩阵中为0的元素:式中,为状态转移矩阵中第i行所有元素之和,为状态转移矩阵中第i行所有元素为0的字符对应的字符概率之和。如果某个字符与其他任何字符均不组成词语,那么在状态转移矩阵中该行元素的值均为0,经过归一化以后,该行元素的值就是各字符本身的概率。
[0013]当我们得到归一化的状态转移矩阵后,为了能够更好的对字符进行分组,我们考虑这样一个场景:字符集中的所有字符都已经完成了分组,此时有需要对一个新的字符c进行分组,只需要计算出该待分配字符c的最佳分组,重复这种思路,对每个字符都计算出最佳分组后,所得到的分组即N个字符的最佳分组。那么,如何确定某个字符的最佳分组呢,我们通过引入权重的方式来确定。
[0014]首先,我们定义语言模型下随机二元字符包含组别数的期望值为G,用来衡量分组的效果,N个字符分组后对应的G值计算公式如下:其中,g代表二元字符包含的不同组别数,当字符分在同一组时,,当字符分在不同组时,。即字符后是字符的概率,且。
[0015]通过G的定义,我们可以得知,越大时,其最佳分组是将字符分在不同组,反映在G上就是G的值越大。因此,我们只需要计算待分配字符c分在每个组时的G值,当G值越大,表示该分组效果最佳。
[0016]因此,本专利技术的实施例一中,直接以随机二元字符包含组别数的期望值G作为权
重,具体地,所述的计算待分配字符c分配到所有组的权重步骤中,按如下公式计算待分配字符c分配到第k组时的权重:式中,A为已分组字符和待分配字符c构成的集合,即归一化的状态转移矩阵中字符对应行、字符对应列的元本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于字频词频的字符分组方法,其特征在于:包括如下步骤:遍历语料库,根据待分组的N个字符的出现频数计算各字符概率,对语料库中的所有文本进行分词,根据N个字符所组成词语的出现频数计算各词语概率;根据和计算一个字符后是另一个字符的概率得到状态转移矩阵;对状态转移矩阵进行归一化使得一个字符后是其他字符的概率之和为1得到归一化的状态转移矩阵;逐一遍历字符,计算待分配字符c分配到所有分组的权重并将字符c添加到权重最大的组,该权重和随机二元字符包含组别数的期望值正相关,以此类推直到所有字符完成分组。2.如权利要求1所述的基于字频词频的字符分组方法,其特征在于:所述N个字符分组后的随机二元字符包含组别数的期望值通过如下公式计算得到:式中,g代表二元字符包含的不同组别数,即归一化的状态转移矩阵中字符对应行、字符对应列的元素值。3.如权利要求1所述的基于字频词频的字符分组方法,其特征在于:所述状态转移矩阵中的元素代表字符后是字符的概率,其根据如下公式计算得到:式中,是特定词语概率之和,该特定词语中字符和字符相邻且按顺序排列。4.如权利要求1所述的基于字频词频的字符分组方法,其特征在于:所述的对状态转移矩阵进行归一化是指按如下公式重置状态转移矩阵中为0的元素:式中,为状态转移矩阵中第i行所有元素之和,为状态转移矩阵中第i行所有元素为0的字符对应的字符概率之和。5.如权利要求1所述的基于字频词频的字符分组方法,其特征...

【专利技术属性】
技术研发人员:田辉朱鹏远鲁国峰郭玉刚张志翔
申请(专利权)人:合肥高维数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1