有没有办法从文件中存储gzip的字典?

时间:2013-03-08 13:26:58

标签: algorithm unix dictionary compression classification

我一直在研究基于压缩的文本分类,我试图找出一种存储由编码器构建的字典(在训练文件中)的方法,用于在测试中“静态地”运行文件?使用UNIX的gzip实用程序可以实现这一点吗?

例如,我一直在使用sport.txt和atheism.txt的2个“类”文件,因此我想对这两个文件运行压缩并存储它们使用的字典。接下来我想要一个测试文件(未标记,可能是无神论或运动),并通过使用此test.txt上的预构建词典,我可以分析它在该词典/模型下的压缩程度。

由于

1 个答案:

答案 0 :(得分:7)

deflate编码器,如在gzip和zlib中,不要“构建”字典。它们只是使用前面的32K字节作为从当前位置开始的字节串的潜在匹配的源。最后32K字节称为“字典”,但名称可能会产生误导。

您可以使用zlib来试验预设词典。请参阅deflateSetDictionary()inflateSetDictionary()功能。在这种情况下,zlib压缩使用32K字节的“字典”进行准备,该字典有效地在作为匹配源压缩的第一个字节之前,但字典本身未被压缩。启动只能改善前32K字节的压缩。之后,预设字典太远而无法提供匹配。

gzip不支持预设词典。