知识卡片
按频率裁剪字典:牺牲一点压缩率换回一半解码内存
内容
基于字的哈夫曼压缩要把每个出现过的词存进字典才能解码,但字典随文档集合增大会膨胀到数MB,成为解码内存开销主因。优化是只保留按频率排序的高频词,低频词用转义标记通知解码器按字符拼出来,代价可忽略。TREC实测:字典从10MB砍到1MB,压缩率只从29.4%恶化到30.0%。选词策略也关键——按频率排序取前N个明显优于按先出现先入选,是找到高度不均衡分布、保留头部就拿到几乎全部收益的帕累托改进范式。
参考来源
- 位置:第9章《系统实现》「压缩效果」小节(源文件:_chapter-text/ch09.txt)
- 结论依据:原文给出TREC语料字典从10MB降到1MB、压缩率仅从29.4%降到30.0%的具体实测数据,并说明按频率选词优于按先出现选词,直接支持卡片论点。
- 原始内容:"降低字典容量的10%,即从10MB降低到1MB,压缩率仅仅从29.4%降低到30.0%……有两种技术,即基于第1次出现的方法来选择字和按照频率来选择字。后一种技术明显更好一些。"