Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 有没有办法存储gzip';从文件中删除词典?_Algorithm_Unix_Dictionary_Compression_Classification - Fatal编程技术网

Algorithm 有没有办法存储gzip';从文件中删除词典?

Algorithm 有没有办法存储gzip';从文件中删除词典?,algorithm,unix,dictionary,compression,classification,Algorithm,Unix,Dictionary,Compression,Classification,我一直在做一些基于压缩的文本分类的研究,我试图找出一种存储编码器构建的字典(在训练文件上)的方法,以便在测试文件上“静态”运行?使用UNIX的gzip实用程序可以实现这一点吗 例如,我一直在使用sport.txt和athesism.txt这两个“类”文件,因此我想对这两个文件运行压缩,并存储它们使用的词典。接下来,我想获取一个测试文件(未标记,可以是无神论或体育),通过使用test.txt上的预构建字典,我可以分析它在该字典/模型下的压缩程度 谢谢像在gzip和zlib中一样,对编码器进行放气,

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

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


谢谢

像在gzip和zlib中一样,对编码器进行放气,不要“构建”字典。它们只是将前面的32K字节用作与从当前位置开始的字节字符串的潜在匹配源。最后32K字节被称为“字典”,但这个名称可能有误导性

您可以使用来试验预设词典。请参阅
deflateSetDictionary()
inflateSetDictionary()
函数。在这种情况下,zlib压缩使用32K字节的“字典”进行初始化,该“字典”实际上位于作为匹配源压缩的第一个字节之前,但字典本身没有被压缩。启动只能提高前32K字节的压缩。在这之后,预设字典太远,无法提供匹配项


gzip不支持预设词典。

非常感谢您提供的信息,我不知道gzip是如何工作的。是否可能使用lz78(例如使用压缩实用程序)或lzw方法?与现代方法相比,lzw是无效的。这不值得考虑。在某种程度上,我理解您正在尝试做什么,您可以使用deflate 32K字典来实现这一点。您要做的是识别代表性数据中的公共字符串,然后用这些字符串打包一个32K字典。deflate的压缩算法不会帮你做到这一点。您需要编写自己的代码才能找到这些常用字符串。太棒了,非常感谢您的帮助。我真的很感激!马克,我能再问一个问题吗?一些基本的东西,我想不起来。压缩时,gzip是从文件的开头读到结尾,还是从文件的结尾读到开头?