我有机会为放气压缩预设字典。在我的情况下这是有道理的,因为要压缩的数据相对较小,只有 1kb-3kb,而且我有大量代表性示例。要压缩的数据由任意字节序列组成,因此标记化等不是一个好方法。此外,数据显示出大量重复(在数据示例之间),因此好的字典可能会产生非常好的结果。问题是如何计算好的字典?是否有计算最佳字典的算法(给定样本数据)?
我开始研究前缀树,但不清楚如何在这种情况下使用它们。
最好的问候,贾雷克
我有机会为放气压缩预设字典。在我的情况下这是有道理的,因为要压缩的数据相对较小,只有 1kb-3kb,而且我有大量代表性示例。要压缩的数据由任意字节序列组成,因此标记化等不是一个好方法。此外,数据显示出大量重复(在数据示例之间),因此好的字典可能会产生非常好的结果。问题是如何计算好的字典?是否有计算最佳字典的算法(给定样本数据)?
我开始研究前缀树,但不清楚如何在这种情况下使用它们。
最好的问候,贾雷克
我不知道生成最佳或什至好的字典的算法。这通常是手工完成的。我认为后缀树是查找字典常用字符串的好方法,但我从未尝试过。
首先要尝试的是简单地将 32K 价值的 1-3K 示例连接起来,看看与没有字典相比有多少收益。然后你从那里弄乱它,改变例子的顺序或者把例子中重复的部分拉到字典的末尾。
请注意,最常见的字符串应该放在最后,因为较短的距离需要较少的位。
我不知道这有多好,但它是一个字典创建者:https ://github.com/vkrasnov/dictator