我一直在研究基于压缩的文本分类,我试图找出一种存储由编码器构建的字典(在训练文件中)的方法,用于在测试中“静态地”运行文件?使用UNIX的gzip实用程序可以实现这一点吗?
例如,我一直在使用sport.txt和atheism.txt的2个“类”文件,因此我想对这两个文件运行压缩并存储它们使用的字典。接下来我想要一个测试文件(未标记,可能是无神论或运动),并通过使用此test.txt上的预构建词典,我可以分析它在该词典/模型下的压缩程度。
由于
答案 0 :(得分:7)
deflate编码器,如在gzip和zlib中,不要“构建”字典。它们只是使用前面的32K字节作为从当前位置开始的字节串的潜在匹配的源。最后32K字节称为“字典”,但名称可能会产生误导。
您可以使用zlib来试验预设词典。请参阅deflateSetDictionary()
和inflateSetDictionary()
功能。在这种情况下,zlib压缩使用32K字节的“字典”进行准备,该字典有效地在作为匹配源压缩的第一个字节之前,但字典本身未被压缩。启动只能改善前32K字节的压缩。之后,预设字典太远而无法提供匹配。
gzip不支持预设词典。