全文摘要
一种基于维吾尔文音节的短文压缩方法,包括以下步骤:S1:在海量语料库基础上用统计出维吾尔文音节种类和出现频率;S2:在统计数据基础上设计一个基于音节的编码词典其中编码词典有2种音节编码;第一种音节编码长度为11bit,第二种编码长度为16bit;编码词典使用码值固定等长的音节编码;S3:压缩过程;S4:解压过程。本发明中,实现对维文短文的压缩和解压,使用方便,效率高。同时,本发明具有很好的压缩比率。
主设计要求
1.一种基于维吾尔文音节的短文压缩方法,其特征在于,包括以下步骤:S1:在海量语料库基础上用统计出维吾尔文音节种类和出现频率;S2:在统计数据基础上设计一个基于音节的编码词典其中编码词典有2种音节编码;第一种音节编码长度为11bit,第二种编码长度为16bit;编码词典使用码值固定等长的音节编码;S3:压缩过程中,首先针对维文短文进行音节切分,每个音节从S2中的编码词典中,获取相应的码值,然后将码值作为音节编码存储,生成压缩文;遇到非维文部分时,将非维文两端通过标志符号进行标识,然后按照原码存储;S4:解压过程中,读取字节序列后将其转换成比特序列,然后根据编码长度,通过编码词典转换成对应的音节,以恢复原文;当遇到标志符号时,则标志符号中间的内容不再解压,直接提取使用,以获取原文;解压结果以UFT-8格式存储;在S3和S4中,设置在非维文两端两端的标志符号分别为Mark_S和Mark_E,Mark_S作为起始标志符,Mark_E作为结束标志符,即,非维文和非ASCII范围的字符串Y的编码格式为:“Mark_S‘字符串Y’Mark_E”。
设计方案
1.一种基于维吾尔文音节的短文压缩方法,其特征在于,包括以下步骤:
S1:在海量语料库基础上用统计出维吾尔文音节种类和出现频率;
S2:在统计数据基础上设计一个基于音节的编码词典其中编码词典有2种音节编码;第一种音节编码长度为11bit,第二种编码长度为16bit;编码词典使用码值固定等长的音节编码;
S3:压缩过程中,首先针对维文短文进行音节切分,每个音节从S2中的编码词典中,获取相应的码值,然后将码值作为音节编码存储,生成压缩文;遇到非维文部分时,将非维文两端通过标志符号进行标识,然后按照原码存储;
S4:解压过程中,读取字节序列后将其转换成比特序列,然后根据编码长度,通过编码词典转换成对应的音节,以恢复原文;当遇到标志符号时,则标志符号中间的内容不再解压,直接提取使用,以获取原文;解压结果以UFT-8格式存储;
在S3和S4中,设置在非维文两端两端的标志符号分别为Mark_S和Mark_E,Mark_S作为起始标志符,Mark_E作为结束标志符,即,非维文和非ASCII范围的字符串Y的编码格式为:“Mark_S‘字符串Y’Mark_E”。
2.根据权利要求1所述的基于维吾尔文音节的短文压缩方法,其特征在于,压缩过程中:
将维文的每个音节获取对应的音节编码,以转换成11bit的音节编码X;维文中出现的ASCII码前128个字符视为维文的128个音节,其ASCII码转换成其11bit编码;然后在每个音节编码X后再附加1bit的空格标志位K,即,音节编码X+K;若K为0时,表示该音节是词尾音节其后面有空格;若K为1时,音节X是词首或词中音节后面没有空格;
压缩后,若最后生产的位序列长度不能被8整除,则采用附加“0”的方法使得位序列能够被8整除,再将位序列转换成字节序列,以进行保存。
3.根据权利要求1所述的基于维吾尔文音节的短文压缩方法,其特征在于,解压过程中:将每个字节转换成8bit的2进制格式,生成1个位数据流。
4.根据权利要求2或3所述的基于维吾尔文音节的短文压缩方法,其特征在于,解压过程中:
如果是Mark_S字符串Y Mark_E,则把中间的字符串Y以16bit为单位转换成相应的Unicode字符,Mark_S和Mark_E被丢弃;
如果是维文,则截取12bit,前11bit是音节在编码表中的索引,第12bit是空格标志。
设计说明书
技术领域
本发明涉及维吾尔文短文压缩领域,尤其涉及一种基于维吾尔文音节的短文压缩方法。
背景技术
目前为止还没有发现根针对吾尔文词法结构特点的文本压缩方法;手机短信,微信、QQ、微博等社交软件里的维吾尔文文本存放本地时没有被压缩,占用流量和空间大。二维码存储维吾尔文时也没有使用压缩,因为面积有限,而无法容纳更多的内容。
发明内容
(一)发明目的
为解决背景技术中存在的技术问题,本发明提出一种基于维吾尔文音节的短文压缩方法,实现对维文短文的压缩和解压,使用方便,效率高。同时,本发明具有很好的压缩比率。
(二)技术方案
为解决上述问题,本发明提供了一种基于维吾尔文音节的短文压缩方法,包括以下步骤:
S1:在海量语料库基础上用统计出维吾尔文音节种类和出现频率;
S2:在统计数据基础上设计一个基于音节的编码词典其中编码词典有2种音节编码;第一种音节编码长度为11bit,第二种编码长度为16bit;编码词典使用码值固定等长的音节编码;
S3:压缩过程中,首先针对维文短文进行音节切分,每个音节从S2中的编码词典中,获取相应的码值,然后将码值作为音节编码存储,生成压缩文;遇到非维文部分时,将非维文两端通过标志符号进行标识,然后按照原码存储;
S4:解压过程中,读取字节序列后将其转换成比特序列,然后根据编码长度,通过编码词典转换成对应的音节,以恢复原文;当遇到标志符号时,则标志符号中间的内容不再解压,直接提取使用,以获取原文。
在S3和S4中,设置在非维文两端两端的标志符号分别为Mark_S和Mark_E,Mark_S作为起始标志符,Mark_E作为结束标志符,即,非维文和非ASCII范围的字符串Y的编码格式为:“Mark_S‘字符串Y’Mark_E”。
优选的,压缩过程中:
将维文的每个音节获取对应的音节编码,以转换成11bit的音节编码X;维文中出现的ASCII码前128个字符视为维文的128个音节,其ASCII码转换成其11bit编码;然后在每个音节编码X后再附加1bit的空格标志位K,即,音节编码X+K;若K为0时,表示该音节是词尾音节其后面有空格;若K为1时,音节X是词首或词中音节后面没有空格;
压缩后,若最后生产的位序列长度不能被8整除,则采用附加“0”的方法使得位序列能够被8整除,再将位序列转换成字节序列,以进行保存。
优选的,解压过程中:将每个字节转换成8bit的2进制格式,生成1个位数据流。
优选的,解压过程中:
如果是Mark_S字符串Y Mark_E,则把中间的字符串Y以16bit为单位转换成相应的Unicode字符,Mark_S和Mark_E被丢弃;如果是维文,则截取12bit,前11bit是音节在编码表中的索引,第12bit是空格标志。
本发明的上述技术方案具有如下有益的技术效果:实现对维文短文的压缩和解压,使用方便,效率高。同时,本发明具有很好的压缩比率,节省存储空间。
附图说明
图1为本发明提出的基于维吾尔文音节的短文压缩方法中压缩过程流程示意图。
图2为本发明提出的基于维吾尔文音节的短文压缩方法中解压过程流程示意图。
图3为本发明提出的基于维吾尔文音节的短文压缩方法中采用多种软件进行压缩的对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
如图1-3所示,本发明提出的一种基于维吾尔文音节的短文压缩方法,包括以下步骤:
S1:在海量语料库基础上用统计出维吾尔文音节种类和出现频率;
S2:在统计数据基础上设计一个基于音节的编码词典其中编码词典有2种音节编码;第一种音节编码长度为11bit,第二种编码长度为16bit;编码词典使用码值固定等长的音节编码;
S3:压缩过程中,首先针对维文短文进行音节切分,每个音节从S2中的编码词典中,获取相应的码值,然后将码值作为音节编码存储,生成压缩文;遇到非维文部分时,将非维文两端通过标志符号进行标识,然后按照原码存储;
S4解压过程中,读取字节序列后将其转换成比特序列,然后根据编码长度,通过编码词典转换成对应的音节,以恢复原文;当遇到标志符号时,则标志符号中间的内容不再解压,直接提取使用,以获取原文;解压结果以Unicode格式存储。
在S3和S4中,设置在非维文两端两端的标志符号分别为Mark_S和Mark_E,Mark_S作为起始标志符,Mark_E作为结束标志符,即,非维文和非ASCII范围的字符串Y的编码格式为:“Mark_S‘字符串Y’Mark_E”。
本发明中,实现对维文的压缩和解压,使用方便,效率高。同时,本发明具有很好的压缩比率。此外,压缩和解压过程采用的音节编码词典是准备开放和公开的,终端设备附加本编码词典再增加压缩、解压模块就可以进行任意采用本方法的文本。因为设计时已考虑到其它语言文字,所以与其它语言文字没有任何冲突。
本发明中,在海量语料库基础上用统计出维吾尔文音节种类和出现频率。在统计数据基础上设计一个基于音节的编码词典其中编码词典有2种音节编码;第一种音节编码长度为11bit;依据是:经过统计发现频率最高的2000个音节可以组合出96%维吾尔文词语,超过2000个音节之后音节数量的增加对能组合的词语百分比影响不大。
压缩比率(Compression Ratio):压缩后的文本与压缩前的文本在尺寸(Size)上的比例。其计算公式为:CR=S O<\/sub>\/SC<\/sub>;
SO<\/sub>是原文大小,其表达式为SO<\/sub>=CharCount×2,因为维文使用Unicode编码,所以原文每个字符占用2个字节。
SC<\/sub>是压缩后的数据大小,其表达式为SC<\/sub>=Pu<\/sub>+PB<\/sub>;Pu<\/sub>为Unicode编码部分,PB<\/sub>为二进制编码部分。
其中,Pu<\/sub>是不能二进制编码而用原文Unicode编码存储的所有文本,Pu<\/sub>里的一个Pi<\/sub>是可能是属于编码大于0xFF,但是不是维文的一个或一串字符,且不在音节编码表里的维文音节。
当Pi<\/sub>=Char1<\/sub>Char2<\/sub>……Charn<\/sub>时,其编写格式分别为:
Pi<\/sub>=Sn(code)<\/sub>Marks<\/sub>Char1<\/sub>Char2<\/sub>……Charn<\/sub>MarkE<\/sub>S(n+1)(code)<\/sub>;其中Sn(code<\/sub>和S(n+1)(code)<\/sub>是Pi前后音节的编码,Mark_S和Mark_E分别表示Pi的边界识别符。
所以PU长度的计算公式为:
其中CharCount是Pi<\/sub>内的字符数量,二进制部分PB<\/sub>是音节编码之后产生的位序列,计算公式为,PB<\/sub>=SyllCnt×Lenc<\/sub>;其中SyllCnt是已编码的音节数,Lenc<\/sub>是一个音节的二进制编码长度。
本发明中,经过测试发现当短文大小4KB左右时压缩率达到RAR和Zip水平,短文大小小于2KB时压缩率明显高于RAR和Zip压缩。如果用到短信、微信、微博文本的压缩可以节省流量,提高传输速度。用在二维码,同一个面积内所表达的内容能达到原来的3倍左右。
如表1所示:
表1:压缩表
根据表1计算,原文长度SO<\/sub>=39字符共78字节;
编码后原文有14音节;计算PB<\/sub>=14×12=21Byte;
原文有一个汉字,通过公式计算PU<\/sub>=1×2+4=6Byte;
SC<\/sub>=6+21=27Byte;
最终计算出的CR=78\/27=2.89。
此外,表示压缩率的另一个参数是字符的平均编码长度,平均编码长度计算公式为:CRbpc<\/sub>=(8×Sc<\/sub>)\/(CharCount);
表1中,CRbpc<\/sub>=(8×Sc<\/sub>)\/(CharCount)=(8×27)\/39=5.54bpc;即压缩之后每个字符平均编码长度为5.54bit,比原来节省10.46bit。
图3为本发明提出的基于维吾尔文音节的短文压缩方法中采用多种软件进行压缩的对比图。
图3中:CR11:采用11bit音节编码时的压缩率;CR16:采用16bit音节编码时的压缩率;CRrar:用WinRAR(5.0版本)软件进行压缩后的压缩率;CRzip:用WinRAR(5.0版本)软件以Zip格式进行压缩后的压缩率
由图3可知,当短文在4KB左右时,压缩率达到RAR和Zip水平;短文小于2KB时,压缩率明显高于RAR和Zip压缩。如果用到短信、微信、微博文本的压缩可以节省流量,提高传输速度。用在二维码,同一个面积内所表达的内容能达到原来的3倍左右。
在一个可选的实施例中,压缩过程中:
将将维文的每个音节获取对应的音节编码,以转换成11bit的音节编码X;维文中出现的ASCII码前128个字符视为维文的128个音节,其ASCII码转换成其11bit编码;然后在每个音节编码X后再附加1bit的空格标志位K,即,音节编码X+K;若K为0时,表示该音节是词尾音节其后面有空格;若K为1时,音节X是词首或词中音节后面没有空格;
压缩后,若最后生产的位序列长度不能被8整除,则采用附加“0”的方法使得位序列能够被8整除,再将位序列转换成字节序列,以进行保存。
在一个可选的实施例中,解压过程中:将每个字节转换成8bit的2进制格式,生成1个位数据流。
在一个可选的实施例中,解压过程中:
如果是Mark_S字符串Y Mark_E,则把中间的字符串Y以16bit为单位转换成相应的Unicode字符,Mark_S和Mark_E被丢弃;
如果是维文,则截取12bit,前11bit是音节在编码表中的索引,第12bit是空格标志。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
设计图
相关信息详情
申请码:申请号:CN201910529547.3
申请日:2019-06-19
公开号:CN110266317A
公开日:2019-09-20
国家:CN
国家/省市:65(新疆)
授权编号:授权时间:主分类号:H03M 7/30
专利分类号:H03M7/30;H03M7/42
范畴分类:40C;
申请人:新疆大学
第一申请人:新疆大学
申请人地址:830046 新疆维吾尔自治区乌鲁木齐市胜利路666号
发明人:瓦依提.阿不力孜;加米拉.吾守尔
第一发明人:瓦依提.阿不力孜
当前权利人:新疆大学
代理人:郑义
代理机构:11489
代理机构编号:北京中政联科专利代理事务所(普通合伙)
优先权:关键词:当前状态:审核中
类型名称:外观设计