知识卡片

按频率裁剪字典:牺牲一点压缩率换回一半解码内存

普通读书笔记卡 · 1231.a

内容

基于字的哈夫曼压缩要把每个出现过的词存进字典才能解码,但字典随文档集合增大会膨胀到数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次出现的方法来选择字和按照频率来选择字。后一种技术明显更好一些。"