8

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

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

谢谢

4

1 回答 1

9

与 gzip 和 zlib 一样,deflate 编码器不会“构建”字典。他们只是使用之前的 32K 字节作为可能匹配从当前位置开始的字节串的来源。最后 32K 字节被称为“字典”,但这个名称可能会产生误导。

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

gzip 不支持预设字典。

于 2013-03-08T16:10:03.243 回答