`
konnin
  • 浏览: 3468 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

《深入搜索引擎--海量信息的压缩、索引和查询》读后感之---压缩编(一)

阅读更多
    该书是斯担福信息检索课程首选教材之一。当当网入口http://product.dangdang.com/product.aspx?product_id=20617442&ref=search-1-pub,网上可以下载到该书的PDF文档, 鉴于版权问题,,我就不贴出来了,所以大家自己找吧!
    我这里只是写我读该书的一些见解。因为是个本科生,虽然对搜索引擎研发也有些研究,但是还是菜鸟一个,所以希望各位大神们指点指点。在此先谢谢各位朋友了哦!下面进入正题。
当今,虽然咱们的硬盘越来越大,但其速度还远远跟不上全球信息的爆炸性增长.全球每天都会产生数以亿计的网页和信息。所以,这就需要我们对信息进行压缩。
压缩技术,即对数据进行特定的转换后存储在磁盘或者服务器上的一种算法,包括编码和解码,如下图所示、

在此,引入一个名词--模型。模型为编码器提供一个概率分布函数,编码器使用模型来编码数据中出现的符号,解码器通过同一模型来对数据进行解码。模型分为符号模型、字典模型。其中常用的编码是哈夫曼编码和算术编码。下面就是我对该书第二章(压缩)的理解。
     符号模型—根据上下文字符匹配技术,对输入的符号产生一个‘预测’,然后预测以概率分布形式提供编码器,编码器使用某些编码(比如范式哈夫曼编码)对符号操作。
     字典模型—根据‘字典’或者‘词典’中用来识别某个子串的码字来替换数据中的这个子串。字典包含一个子串列表,并且每个子串都有一个码字与之对应。
符号模型需要对输入的数据进行概率统计,而字典模型不需要,但字典模型需要有一个‘字典’。
下面简单说明一下哈夫曼编码和算术编码的实现:
     对于文本数据来说,如果每个字符都按照8字节存储的话,就达不到压缩数据的效果,所以,就引入了‘前缀编码’这一概念。数据的存储都是以二进制存储的,简单的说就是一般表示为0000或者1111。假设一串字符为efabe,再给出abcef的二进制编码如下图(随便给出来的)

由此我们得出efabe编码为101100000110,我们将该编码用一棵树表示,如下图:



其实,这棵树就是通过哈夫曼编码技术得到的。哈夫曼算法通过自底向顶构造解码数来解码。


  • 大小: 1.8 KB
  • 大小: 11.5 KB
  • 大小: 5.2 KB
0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics