5.3倒排表压缩(可变长度编码,γ编码)

提示:
信息检索:索引压缩-倒排表压缩


字节 (Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。. 字符 (Character)计算机中使用的字母、数字、字和符号,比如’A’、‘B’、’$’、’&'等。. 一般在英文状态下一个字母或字符占用一个字节,一个汉字用两个字节表示。

倒排记录表的压缩

压缩的必要性:

倒排记录表远大于词典,至少为10倍。
在这里插入图片描述
每个倒排表都用文档ID来表示:对上述文档N=800000,使用4字节整数表示,每个文档id要用32bit.
或者log2800000=20bit
目标:用远小于20bit来保存每个文档ID。

压缩分析

在这里插入图片描述

文档ID间距:文档递增顺序存储间隔
倒排表中一些很少使用很长的词项可能在一百万个文档中才会出现一次,用20比特存储就比较合适;而对于像the这样的词项,每个文档都会出现,用20比特就过于浪费。

可变长度编码

对于不同词项,每个间距项使用不同的bit数。

整数个字节对每个间距编码:
间距VB编码
>>VB代码实现<<

字节的后7 位是间距的有效编码区,而第1 位是延续位(continuation bit)。如果该位为1,则表明本字节是某个间距编码的最后一个字节,否则不是。
延续位代表延续位所在字节为当前间距编码的最后一个字节。
间距很小的情况下浪费空间

其它可变单位编码

一元编码

对于整数N,就是N个1后面加个0

3的一元编码:1110
4的一元编码:11110

※γ编码

偏移长度的一元编码+二进制位去首部(偏移)
在这里插入图片描述
举例:
在这里插入图片描述

※γ解码

在这里插入图片描述
在这里插入图片描述

5总结

对于RCV1:
在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心灵排骨汤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值