4

我有机会为放气压缩预设字典。在我的情况下这是有道理的,因为要压缩的数据相对较小,只有 1kb-3kb,而且我有大量代表性示例。要压缩的数据由任意字节序列组成,因此标记化等不是一个好方法。此外,数据显示出大量重复(在数据示例之间),因此好的字典可能会产生非常好的结果。问题是如何计算好的字典?是否有计算最佳字典的算法(给定样本数据)?

我开始研究前缀树,但不清楚如何在这种情况下使用它们。

最好的问候,贾雷克

4

2 回答 2

3

我不知道生成最佳或什至好的字典的算法。这通常是手工完成的。我认为后缀树是查找字典常用字符串的好方法,但我从未尝试过。

首先要尝试的是简单地将 32K 价值的 1-3K 示例连接起来,看看与没有字典相比有多少收益。然后你从那里弄乱它,改变例子的顺序或者把例子中重复的部分拉到字典的末尾。

请注意,最常见的字符串应该放在最后,因为较短的距离需要较少的位。

于 2013-07-12T16:17:04.380 回答
0

我不知道这有多好,但它是一个字典创建者:https ://github.com/vkrasnov/dictator

于 2018-06-04T19:35:04.087 回答