《数学之美》第16章 信息指纹及其应用
1 信息指纹
任何一段信息(包括文字、语音、视频、图片等),都可以对应一个不太长的随机数,作为区别这段信息和其他信息的指纹。
信息指纹在加密、信息压缩和处理中有着广泛的应用。
网络爬虫在下载网页时,会讲访问过的网页地址都变成一个个信息指纹,存到散列表中,每当遇到一个新网址,计算机就计算其指纹,然后查找该指纹是否已经在散列表中。
网址(字符串)的信息指纹计算一般分为两步。首先,将这个字符串看成时一个特殊的、很长的整数。接下来就需要用到一个产生信息指纹的关键算法:伪随机数产生器算法,通过它将任意很长的整数转化成特定长度的伪随机数。
2 信息指纹的用途
2.1 集合相同的判定
在网页搜索中,有时需要判断两个查询用词是否完全相同(但是次序可能不同)
最直接的本方法是对这个集合中的元素一一比较。时间复杂度是O(N**2)
稍微好一点的方法是将两个集合的元素分别排序,然后顺序比较,时间复杂度为O(NlogN)
最完美的办法是计算两个集合的指纹,然后直接进行比较。如果两个集合元素相同,那么它们的指纹一定相同。
2.2 判定集合基本相同
判断两个网页是否是重复的。只需对每个网页挑出几个词,这些词构成网页的特征词集合。然后计算和比较这些特征集合的信息指纹即可。
2.3 YouTube的反盗版
从上百万视频中找出一个视频是否为另一个视频的盗版,并非容易的事。
视频的匹配由两个核心技术,关键帧的提取和特征的提取。每一秒或若干秒才有一帧是完整的图像,这些帧为关键帧。其余帧存储的只是和关键帧相比的差异值。关键帧对于视频的重要性,就如同主题词对于新闻的重要性一样。因此,处理视频图像首先是找到关键帧,接下来就是要用一组信息指纹来表示这些关键帧了。
3 信息指纹的重复性和相似哈希
3.1 信息指纹重复的可能性
不同信息产生相同指纹的可能性几乎为零。
3.2 相似哈希(Simhash)
第一步为扩展,就是将8位二进制的指纹扩展成8个实数。
第二步为收缩,把八个实数变回成一个8位的二进制数。
相似哈希的特点是,如果两个网页的相似哈希相差越小,这两个网页的相似性就越高。如果两个网页相同,它们的相似哈希必定相同。
《数学之美》第16章 信息指纹及其应用相关推荐
- 数学之美 第3章 统计语言模型
数学之美 第3章 统计语言模型 回顾一下: 前面两章都是基础知识,告诉我们自然语言的起源基础,和一些发展过程遇到的问题,第二章告诉我们规则:理解自然语言(即分析语句和获取语义)这种处理方法不可能实现智 ...
- 《数学之美》——第九章 个人笔记
数学之美 最近在读<数学之美>这本书,做一下个人笔记.看的是PDF,看完后会买一本的哦!版权意识还是有的. ps:图片文字都是这本书中的内容,侵权立删.会有点自己的理解. 第九章 图 ...
- 《数学之美》选章精读
曾经花了一个月的时间阅读受推荐的书籍<数学之美>,对基于统计的自然语言处理的历史作一个大致的了解,每周精读一章,做下了一些粗略的笔记,算是有个交代吧. 第9章-图论和网络爬虫 概念 图论起 ...
- 《数学之美》——第一章 个人笔记
数学之美 最近在读<数学之美>这本书,做一下个人笔记.看的是PDF,看完后会买一本的哦!版权意识还是有的. ps:图片文字都是这本书中的内容,侵权立删.会有点自己的理解. 第一章 文 ...
- 数学之美系列16(转帖)
数学之美 系列十六(上) 不要把所有的鸡蛋放在一个篮子里 -- 谈谈最大熵模型2006年10月8日 上午 07:27:00 发表者:Google 研究员,吴军 [我们在投资时常常讲不要把所有的鸡蛋放在 ...
- 《数学之美》第一章读后感
第一章分别讲述了早期信息的传播,文字和数字的发展,文字和语言背后的数学三个部分. 我从中了解到了信息传递,不论是早期的远古社会,还是如今快速发展的互联网时代,其规律都是异曲同工的.比如信息传播的模型都 ...
- 数学之美-读书笔记6-10章
文章目录 数学之美 第六章 信息的度量和作用 1信息熵 2信息的作用 3互信息 4延伸阅读 第7章 贾里尼克和现代语言处理 1早年生活 2 从水门事件到莫妮卡·莱文斯基 3一位老人的奇迹 第八章 简单 ...
- 《数学之美》中的模型及启示总结
目录 初衷 文章编排 章节总结 第1章 文字和语言 vs 数字和信息 第2章 自然语言处理--从规律到统计 第3章 统计语言模型 第4章 谈谈中文分词 第5章 隐含马尔可夫模型 第6章 信息的度量和作 ...
- 书札《数学之美》(在读)
文章目录 第1章 文字和语言 vs 数字和信息 第2章 自然语言处理--从规则到统计 第3章 统计语言模型 第4章 谈谈分词 viterbi 算法 第5章 隐含马尔科夫模型 第6章 信息的度量和作用 ...
最新文章
- 远程办公,团队如何高效沟通与协作
- X-UA-Compatible也无法解决的IE11兼容问题
- Linux下理解进程,fork()创建子进程
- 人一生中最大的遗憾应该是什么
- bootstrap-导航(基础样式)
- c++ linux 线程等待与唤醒_C++并发编程 等待与唤醒
- java8 base64_Java 8中的Base64 –加入乐趣为时不晚
- 学期计算机教案,学年第2学期课程教案-计算机组成原理-陈立伟
- Linux 查看CPU信息
- C++递归或非递归实现求斐波拉契数列第n项
- Wijmo 5 与Breeze 的组合,及与METRONIC 的集成
- 对计算机专业来说学历真的重要吗?
- 今天来告诉你caj文件怎么打开
- Rufus轻松创建USB启动盘
- html文字设置为白色,html如何设置文字颜色白色
- 4.Scanner类、Random类、ArrayList 类
- Hive的面试题总结
- gin embed打包静态资源文件
- 关于树莓派4B的屏幕输入信号源由HDMI变为AV2的处理方法
- 博弈论在自动驾驶方向的应用(Ⅰ):变道决策的综述