当前课程知识点:计算机文化基础 > 第10课:从信息为王到选择为王 > 信息检索背后的关键技术 > 海量数据的获取
下面我们进入信息检索过程概述
推特联合创始人
埃文·威廉姆斯提出了
域名已死论
好记的域名不再重要
因为人们会通过搜索进入网站
了解搜索引擎简单界面背后的技术原理
对使用者来说是必要的
在这一部分
我们通过海量数据的获取
建立快速有效的索引
搜索结果排名
这三个方面
对信息检索过程有一个
更深入的了解
搜索引擎最主要的目的
是为用户提供准确
全面的搜索结果
最优秀的搜索引擎有着复杂的架构和算法
从架构层面
搜索引擎
需要具备对以百亿计的海量网页
进行获取存储处理的能力
同时要保证搜索结果的质量
通用搜索引擎的架构
如图所示
从图中我们可以看出
搜索引擎是由许多
技术模块构成
各自负责整体功能的一部分
相互配合形成了完善的整体架构
整个架构分成线下
线上两部分
线下
这些功能不需要实时计算
可以被看做是搜索引擎的
后台计算系统
对应的是
搜索引擎获取并存储海量的网页信息
线上
响应用户查询
并实时的提供准确的查询结果
构成了搜索引擎前台
计算系统
本部分我们按照流程图
来讲解信息检索的过程
在讲解中
我们会穿插清华大学
知识工程实验室
自主研发的研究者社会网络
搜索与挖掘系统作为实例
这个系统
是国内最早研发
也是至今访问量最大的
研究者社会网络搜索与挖掘系统
我们列出了
我们出现在这部分讲解当中的
所用的例子
首先我们思考一下
如何获取海量的数据
通用搜索引擎的处理对象是
互联网网页
网页的数量数以百亿计
那么搜索引擎首先面临的问题是
设计出高效的下载系统
将海量的网页数据传送到本地
在本地形成互联网网页的镜像备份
网络爬虫就起此作用
它是搜索引擎系统中
很关键也很基础的构建
下面
我们简单介绍一下网络爬虫
是如何爬去网页的
要下载
就先要到达
用什么方法
能够到达需要下载的网页
让我们回忆一下
图论与几何拓扑的起源
18世纪初
普鲁士的哥尼斯堡
有一条河穿过
河上有两个小岛
有7座桥
把两个岛与河岸联系起来
有人提出了这样的一个问题
一个步行者
怎样才能不重复
不遗漏的一次走完7座桥
最后回到出发点
后来
大数学家欧拉
把它转化成一个几何问题
也就是一笔画问题
并开创了数学的一个新的分支
图论与几何拓扑
我们也可以把互联网想象成
是一张大的图
每个网页就像一个节点
而每个网页的链接
就像一个湖
这样的互联网
就可以用一个图来进行描述
对网页构成的大图
采用图的遍历的方式
就可以到达
每一个网页
完成网页自动下载功能的程序
我们管它叫做网络爬虫
或机器人
spider是如何自动下载
互联网网页的呢
首先
从互联网页面上
精心选择一部分网页链接地址
作为种子URL
放入待抓取的队列中
爬虫从待抓取队列中
依次读取下载
下载到本地的网页
一方面
将其存储到页面库中
等待建立索引
另一方面
将下载网页的URL
放入已抓取队列中
避免重复抓取
对刚下载的网页
从中抽取出所包含的所有链接信息
并在已抓取队列中检查
如果发现
链接还没有被抓取过
则将这个URL
放入待抓取队列末尾
如此形成循环
直到待抓取队列为空
即完成一轮完整的抓取过程
爬虫抓取的对象
是各种类型的网站
对于网站拥有者来说
有些内容可能不希望
被索引来搜索到
那么这样我们需要做什么呢
可以通过设定协议
告知爬虫
哪些内容是不允许抓取的
有两种主流方法
可以实现
一种方法
使用爬虫禁抓协议
这个协议
是以目录为单位
即整个目录下的网页
或内容不允许被抓取
网页所有者需要生成一个指定的
文本文件
ROBOTS.TXT
放在网站的根目录下
在文件中需要指明
在这个网站中
哪些目录下的网页
是不允许爬虫抓取的
具有友好性的爬虫
在抓取该网站的网页前
需要先读这个文件
网页禁抓标记
如果只是单个网页不被抓取
那么可以使用这个
禁抓协议
即在网页的HTML代码里
加入标记
告知爬虫
不要索引该网页的内容
或不要抓取网页所包含的链接
我们看一下我们所准备的例子
Aminer的论文数据采集系统
它部署为一个分布式系统
采集目标是
对web上知名的
学术论文库
例如DBLP ACM
IEEE PubMed等
搜集的论文元数据
包括标题作者会议期刊时间摘要等
进行采集
该系统允许用户
配置自己的爬虫策略
一条爬取策略
包括数据源
以及采集时间段
或者ID段
核心框架是一个Master服务器
外加多个Slave服务器
Master负责
一
执行用户的爬取策略
将所有符合条件的URL
爬取下来
存储到数据库中
二
将爬取的URL分成子任务
交给Slave去执行下载
URL内容的任务
Slave的主要任务是
一
下载URL对应的网页内容
二
抽取网页上的论文元数据
存放到数据库中
此外
注册中心负责维护
Slave的工作状态
Slave需要即时向注册中心反映自己的状态
Master在分配任务时
需要问询注册中心
获取可用的Slave
我们看一下
在这个Aminer系统中
有一个任务呢
是采集研究者的这个
Google scholar page
就是它的学术搜索页面
的一个元数据
和它的源代码
那么实际上在互联网上有很多这样的代码
如果有兴趣的同学
可以下载自己去看一下
大家可能会有这样的体验
互联网页面中
有相当大比例的内容是完全相同
或者近似重复的
统计结果表明
完全相同的网页
比例高达22%
近似重复的比例更是高达29%
那么
该框架当中
网页去重模块
会对此做出检测
并去除重复内容
搜索引擎往往是在爬虫阶段
进行近似重复的检测
当爬虫
新抓取到网页的时候
需要和已经建立到索引类的网页
进行重复判断
如果判断是重复的
或者是近似重复的
网页则直接将其抛弃
网页去重
对于搜索引擎有很多好处
在这我们说两点
首先
可以节省存储空间
提高搜索引擎的
搜索质量和用户体验
第二
在今后的网页搜集中
避开这些网页
提高网页的搜集速度
-由一个短片引出......
-梳理IT产业大脉络(上)
-梳理IT产业大脉络(下)
-你的第一门计算机入门课
--课程介绍及要求
-实践:图像处理入门
--实践小作业要求
--操作前的几点准备
-第1课习题作业
-第1课导学帖
--第1课导学帖
-现代计算机为什么是电子数字的?
-二进制与十进制有什么区别?
--了解二进制
-为什么莱布尼兹没有认识到二进制的重要性?
--与、或、非
-从ENIAC到现代通用计算机
--新材料带来新发展
-摩尔定律会失效吗?
--摩尔定律失效
-讲座:计算机世界中的巨无霸
-参观:感受世界巨无霸(太湖之光)
--神威太湖之光简介
--探秘神威太湖之光
-参观补充:走进济南国家超算中心
--走进国家超算中心
-实践:我的计算机有多快?
-第2课习题作业
-第2课导学帖
--第2课导学帖
-数码相机是如何“计算”出一张数字照片?
--如何拍摄彩色照片
-认识图像数字化过程中的采样和量化
--采样和量化
-计算机是如何感知声音波形的?
--声音量化三要素
-换一种思路来数字化文本信息
--字符集的发展历程
-实践:常用网络资源下载
--常见下载方法介绍
--常见文件类型下载
- 第3课习题作业
-第3课导学帖
--第3课导学帖
-软件解决的目标是什么?
--软件的目的是什么
-我们使用的软件是怎么来的?
--软件是怎么来的1
--软件是怎么来的2
-操作系统拥有什么样的神力?
--操作系统的演变1
--操作系统的演变2
--CPU的管理调度
--虚拟存储技术
-访谈:如何成功研发一款手机APP
-实践:如何利用注册表进行系统优化
--注册表概述
--注册表与信息安全
-第4课习题作业
-第4课导学帖
--第4课导学帖
-数字存储前言
--梳理数字存储历史
--磁、光存储介质
--半导体存储介质
-怎样在存储介质上表示1和0?
-怎样从存储介质读取1和0?
-如何找到所需的数据?
-实践:文章排版基本技能
--引言
--中文输入
--图文混排
--页面设置
--利用表格布局标题
--分栏和首字下沉
--设置页眉与页脚
--设置插图润色排版
--LaTeX入门
-第5课习题作业
-第5课导学帖
--第5课导学帖
-演示文稿制作准备
--操作前的几个概念
--实践前的环境准备
-制作演示文稿
--设置超链接按钮
--设置超链接文本
-作品赏析
-第6课习题作业
-第6课导学帖
--第6课导学帖
-联网目的和资源共享模式的变迁
--资源共享模式
--异构网互联
-物联网连入互联网
--互联网与因特网
-访谈:PC在智能穿戴生态系统中的定位
--对话联想(上)
--对话联想(下)
-参观:联想创新中心掠影
--探秘联想创新中心
-第7课习题作业
-第7课导学帖
--第7课导学帖
-从网络组织来描述计算机网络
--计算机网络的定义
--网络软件
-从功能角度来认识计算机网络
--网络体系结构
--IPv4(上)
--IPv4(下)
--IPv6
-实践:网络不通怎么办
--网络连接
-第8课习题作业
-第8课导学帖
--第8课导学帖
-认识图像传感器
--认识图像传感器
--图像传感器的应用
--图像传感器的市场
-图像传感器的应用
--在汽车中的应用1
--在汽车中的应用2
--物联网中的应用
-了解图像传感器技术
--图像传感器的技术
-图像传感器的挑战
--问题与挑战
-讲座:如何在大数据中精准生活
--走进大数据
--生活中的大数据
-实践:HTML入门实践
--HTML作业要求
--HTML基本标记
--综合样例(上)
--综合样例(下)
-第9课习题作业
-第9课导学帖
--第9课导学帖
-认识搜索引擎
--这就是搜索引擎
-信息检索背后的关键技术
--海量数据的获取
--搜索结果排名
-搜索引擎的未来
--情境感知的搜索
--社会化搜索
--智能搜索
-实践:Aminer学术搜索
--Aminer介绍
-第10课习题作业
-第10课导学帖
--第10课导学帖
-信息安全的基本要求
--早期的计算机安全
-新型的网络攻击有哪些
--信息泄露
--移动安全
-未知攻 焉知防
--未知攻焉知防
--未知攻焉知防2
--信息加密
--安全防范原则
-实践:Excel实践
--实例操作
--实例操作2
--实例操作3
--绘制图表
-第11课习题作业
-第11课导学帖
--第11课导学帖
-回顾与展望
--回顾与展望1
--回顾与展望2
--回顾与展望3
--回顾与展望4
-什么是计算
--什么是计算
-访谈:信息技术交叉应用
--对话风投专家1
--对话风投专家2
--对话风投专家3
-嘉宾分享:闲谈数字产业创新
-第12课习题作业
-第12课导学帖
--第12课导学帖