Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
2019/10/14
1
主讲:于俊清
http://media.hust.edu.cn
搜索引擎技术基础
2
课程内容
商用搜索擎架构与原理 (8学时)1
移动搜索 (1学时)6
搜索引擎优化 (1学时)5
利用开源工具构建小型搜索引擎 (1学时)7
商务智能与搜索引擎推广 (2学时)4
社区与垂直搜索 (2学时)2
多媒体搜索 (6学时)3
搜索引擎的未来 (1学时)8
主讲:于俊清
http://media.hust.edu.cn
第一讲:
搜索引擎架构与原理
4
内容提要
搜索引擎的前世今生
商用搜索引擎结构与组成
搜索引擎质量评估
搜索引擎排序策略
分布式搜索引擎
5
早期搜索引擎
Archie 1990 字符方式 人工收录 检索文件第一个基于互联网的检索服务
Gopher 1991 图形方式 人工收录 检索文件 图形方式,超文本
Wanderer
/Wandex1993 图形方式 自动收录 检索网站
第一个搜索引擎
Yahoo! 1994 图形方式 半自动 检索网站 著名门户
6
搜索引擎战国时代
搜索引擎名称 成立时间 终止时间 收购方 特色
WebCrawler 1994 1996 Excite第一个全文字符检索
Excite 1994 2001InfoSpace
综合门户
Lycos 1994 2000 Fast自动摘要/索 引 量
Infoseek 1994 2000 Inktomi基本语法括 号
Yahoo! 1994
2019/10/14
2
7
技术为王
搜索引擎名称 成立时间 终止时间 收购方 特色
AltaVista 1995 2003 Overture 速度
Inktomi 1996 2002 Yahoo! 综合
Fast 1997 2003 Overture 全/高级功能
Overture 1998 2003/4 Yahoo!竞价排名/附费
Google 1998 pagerank
百度 2000全球最大的中文搜索引擎
8
搜索引擎的发展趋势
世界搜索霸主-Google的故事
❖创始人
▪ 拉里·佩奇(Larry Page)
▪ 谢盖尔·布林(Segey Brin)
❖PageRank横空出世
▪ 1995年开始
❖车库起家
▪ 1998.9.7:休学
▪ $100万天使基金创办Google
▪ Page-CEO,Brin总裁
▪ 地点:加州废旧车库
9
世界搜索霸主-Google的故事
❖把握搜索市场机遇
▪ 定位:为用户提供便捷的互联网搜索服务,帮
助使用者从互联网的海量信息中找到自己需要
的东西
▪ 1999年度最好的网络技术
▪ 1999年春天,搬到帕洛阿尔托中心的大学街
10
世界搜索霸主-Google的故事
❖顺利向成长阶段过渡
▪ 1999.6.7:获风投2500万美元
▪ 迅速扩张:8人-200人,搜索次数50万-200万
次/天
▪ 主要收益来自搜索技术的授权费
▪ 管理局限日益凸显,开始物色贤能之士主持大
局
11
世界搜索霸主-Google的故事
❖加速成长
▪ 2001.3:埃利克·施密
特(Eric Schmidt)出
任董事长,开始大刀阔
斧的改革
12
2019/10/14
3
世界搜索霸主-Google的故事
❖全面盈利
▪ 赞助商链接-关键词广告
▪ 2000年盈利2500万美元,2001年翻4倍,2002
年3亿,2003年9.619亿……
▪ 2003年,超越雅虎和微软MSN,成为最受欢迎的
搜索引擎
▪ 2011年第四季度,营业收入105.8亿美元,净利
润27.1亿美元
13
世界搜索霸主-Google的故事
❖非常规上市
▪ 选择摩根斯坦利和瑞士信贷第一波士顿为上市承销商
▪ 2004.8.19,以每股85美元在纳斯达克上市
▪ 当天股价上涨18%,第二天108.31,11月200美元
▪ Google的成功上市,在整个硅谷、华尔街乃至世界引起极大的轰动
▪ 评论家称• “Google上市具有里程碑意义,这是网络泡沫破灭
多年以来,高科技企业在市场上取得的最大一次成功”
14
世界搜索霸主-Google的故事
昨天 今天15
世界搜索霸主-Google的故事
16
中文搜索第一品牌-百度的故事
❖1998年夏天,清华大学做技术讲座,
搜狐员工建议回国创业
❖1999.10月,再次回国,感受到祖国
互联网的巨大变化,决定归国创业
❖1999年底,与好友徐勇带着$120万
的融资回国
❖2000年,创办“百度公司”,取诗
句“众里寻他千百度”
❖地点:北大归国学人招待所2个房间17
中文搜索第一品牌-百度的故事
❖勤俭创业
▪ 公司地址:北大归国学人招待所
▪ 两个房间:一间卧室,一间办公室
❖埋头苦干
▪ 工作深夜
▪ 4个月,百度1.0诞生
18
2019/10/14
4
中文搜索第一品牌-百度的故事
❖渐入佳境
▪ 早期定位:做出最好的搜索引擎,卖给门户网站
▪ 2000年6月,百度正式推出“最大、最快、最新”
的中文搜索引擎
▪ 两人作为推销员上门找新浪、搜狐等门户网站
▪ Powered by Baidu, 按照访问量分成
▪ 绝大多数门户网站成了百度搜索引擎的客户,逐
渐走上正轨
19
中文搜索第一品牌-百度的故事
20
中文搜索第一品牌-百度的故事
❖危机意识中酝酿转型战略
▪ 早期商业模式:为各大门户网站提供搜索技术
服务,一度占据国内搜索技术服务市场的80%
▪ 2000,2001年的网络低潮之后,能够付得起
价钱的只剩下新浪、搜狐等少数门户网站
▪ 公司未来的增长点不明确
▪ 李彦宏开始酝酿战略转型
21
中文搜索第一品牌-百度的故事
❖力排众议通过转型决议
▪ 李彦宏在Overture首推的竞价排名模式基础上,
提出“百度竞价排名”构想
▪ 摆脱对门户网站过分的依赖,直接面对终端网民
▪ 建立自己的网站,由于对门户网站产生“截流”
效应,多数股东反对
▪ 李彦宏一改平素的温文尔雅和民主、安静,慷慨
陈词3个小时,最终通过转型决议
22
中文搜索第一品牌-百度的故事
❖转型带来百度事业的飞跃
▪ 2001年9月20日,www.baidu.com 上线
▪ 同年10月,推出搜索竞价排名(OverTure)
▪ 2002年底,公司发展到120名员
▪ 2003年3月,新浪停机事件“新浪欠费,百度
停机,如果需要更好的搜索结果,请登录
www.baidu.com”
▪ 2004年,百度竞价排名客户达3万余家,续费
率达85%
23
中文搜索第一品牌-百度的故事
❖上市缔造中国神话
▪ 2005年8月5日美国纳斯达克上市,当天涨幅达
到3.5倍
▪ 李彦宏拥有百度22.9%的股份,身价超过9亿美
元
▪ 一夜之间,诞生6位亿万富翁,51位千万富翁,
240位百万富翁
▪ 据称“前台接线员也光荣加入到百万富翁的行列”
24
2019/10/14
5
中文搜索第一品牌-百度的故事
25
中文搜索第一品牌-百度的故事
26
中文搜索第一品牌-百度的故事
27
百度的最大投资商-德丰杰公司
28
问题:搜索引擎为什么可以如此成功?
原因之一:简单易用
原因之二:互联网上的数据太多
29
全球网站总量(2014年超过10亿)
30
2019/10/14
6
中国网站规模(2011-2016)
31
中国网页规模(2007-2014)
32
中国国际出口带宽(2013-2016)
33
中国网民规模及普及率
34
中国手机网民规模及其占网民的比例
35
互联网接入设备使用情况
36
2019/10/14
7
中文搜索引擎搜索次数增长
❖2013年3月20日,百度每日处理的搜索量多达50
亿次以上,已经超越了Google的33亿
❖目前已经超过100亿
37
搜索引擎的搜索过程
华中科技大学
38
搜索引擎的搜索过程
百度一下,找到相关网页约14,000,000篇,用时0.007秒
39
搜索引擎的搜索过程
包含信息:
(1)网站链接
(2)摘要
(3)快照
(4)排序
(5)查询扩展
40
搜索引擎面临的挑战
❖海量的数据
▪ 数百万的网站
▪ 数亿的网页
❖海量的需求
▪ 100亿/天, 11.57万/秒
❖复杂的处理
▪ 检索、排序、摘要、快照、查询扩展
❖快速的服务
▪ <1/10秒41
搜索引擎如何应对这些挑战?
(1)搜索引擎是如何工作的?
(2)搜索结果是查询提交之后再去搜索的呢?
(3)还是事先已经准备好的呢?
42
2019/10/14
8
内容提要
搜索引擎的前世今生
商用搜索引擎结构与组成
搜索引擎质量评估
搜索引擎排序策略
分布式搜索引擎
43
酒店点菜-桌餐
特点:点菜之后,需要等待,人越多,等待越久
44
自助餐
所有的食物都是已经做好了!来了就吃,吃了就走!
45 46
47
网页抓取
48
2019/10/14
9
网页抓取
49
网页之间通过超链接互相连接在一起
网页A
网页F
网页E
网页B
网页C
网页D
50
网页抓取
❖抓取程序
▪ 一般称为蜘蛛(Spider)
或爬虫(Crawler)
▪ 通过页面间的链接关
系自动获取页面信息
▪ 必须确保有效资源的
覆盖和及时更新
问题:如何才能使网站被搜索引擎抓到?51
抓取策略(遍历算法)
A
B C D
E
H I
F G
K
L
❖深度优先
▪ 先沿一条路径采到叶
节点,再从同层其他
路径进行采集
❖广度优先
▪ 先采集完同一层网页,
再采集下一层网页
简化的网页链接模型
52
深度优先
A
B C D
E
H I
F G
K
L
路径编号 路径点
问题:
1 A B E H
2 A B E I
3 A C
4 A D F K L
5 A D G K L
重复节点很多?
53
改进后的深度优先
路径编号 路径点
1 A B E H
2 I
3 C
4 D F K L
5 G
A
B C D
E
H I
F G
K
L
路径1
路径3
路径2
路径4
路径5
54
2019/10/14
10
深度优先
❖爬虫必须判断
▪ 是否继续向更深一层爬?
▪ 这个链接是否已爬过了?
▪ 上次爬到哪里了?
❖问题
▪ 效率较低
▪ 适用于站内搜索
A
B C D
E
H I
F G
K
L
路径1
路径3
路径2
路径4
路径5
55
广度优先
层1
层2
层3
层4
层5
B C D
E
H I
F G
K
L
A 路径编号 路径点
1 A
2 B C D
3 E F G
4 H I K
5 L
优点:效率高网页的重要性更好
56
实际的网络爬虫
❖由成百上千甚至成千上万台服务器组成的分布式
系统
❖分布式系统的通讯开销是影响性能的关键
❖网站之间采用广度优先
❖某一个网站采用深度优先
❖这样可以避免握手的次数,减少通信开销
57
搜索引擎的结构与组成
预处理
分 词文 档服务器
网 页
抓 取
58
网页预处理
59
预处理
❖关键词的提取-分词
▪ 文档转换与分析
▪ 分词
❖重复或者转载网页的消除
▪ 网页的重复率大约为4
❖链接分析
▪ 分析标签,确定关键词的重要程度
▪ 分析网页的链接关系(出度和入度)
❖网页重要程度的计算-排序
60
2019/10/14
11
数据分析与预处理工具
61
数据分析与预处理工具
62
中文分词
❖分词:将一句话切分成一个个的词
❖分词的目的:建立有效、准确的关键词倒排索引
▪ 如:文档D: 我是一个学生
❖我是一个学生→我/是/一个/学生关键词 文档标识
我 D
是 D
一个 D
学生 D
63
中文信息的特征
❖明末著名画家徐渭的故事
▪ “下雨天留客天留人不留”
▪ “下雨天,留客天,留人不?留”
❖中文信息的特征
▪ 词与词之间无空格
▪ 句子之间有标点
64
中文分词方法分类
❖基于词典(字符串匹配)的分词方法
▪ 正向最大匹配
▪ 逆向最大匹配
▪ 最少切分
❖基于统计的分词方法-统计语言模型
❖混合分词方法
65
基于词典的分词思想
❖事先准备一个分词词典
▪ 一般词典中有大量的词
▪ 十几万到几十万不等
❖将待分的句子按照一定的扫描规则与词典中的词
进行匹配
❖如果匹配上,就将这个词分出来,否则继续扫描
66
2019/10/14
12
最大匹配
❖最大匹配:要求每一句话分词的结果中词汇的总
量要最少
❖举例说明
▪ 我们是中华人民共和国的公民
▪ 我们、是、中华、人民、共和国、的、公民
▪ 我们/是/中华人民共和国/的/公民
67
正向最大匹配分词
❖正向最大匹配分词
▪ 减字匹配法(句尾减)
▪ 增字匹配法(句尾增)
❖从句首开始分词
68
减字分词法过程
开始
读入一个句子 读入词典文件
待切分的临时变量
匹配?
词典
分词结果
结束
匹配成功匹配失败句子减字
69
减字法正向最大匹配分词
步骤 操作的句子 操作 分词结果
1 我们是中华人民共和国的公民 词典匹配失败
2 我们是中华人民共和国的公 词典匹配失败
3 我们是中华人民共和国的 词典匹配失败
…… …… ……
我们 词典匹配成功 我们
是中华人民共和国的公民 词典匹配失败 我们
是中华人民共和国的公 词典匹配失败 我们
…… …… ……
是 单字直接分出 我们/是
中华人民共和国的公民 词典匹配失败 我们/是
中华人民共和国的公 词典匹配失败 我们/是
…… …… ……
70
减字法正向最大匹配分词
步骤 操作的句子 操作 分词结果
…… 中华人民共和国 词典匹配成功 我们/是/中华人民共和国
…… 的公民 词典匹配失败 我们/是/中华人民共和国
…… 的公 词典匹配失败 我们/是/中华人民共和国
…… 的 单字直接分出 我们/是/中华人民共和国/的
…… 公民 词典匹配成功 我们/是/中华人民共和国/的/公民
71
减字法正向最大匹配分词
❖存在的问题
▪ 速度太慢
▪ 无法满足搜索引擎索引的需要
❖改进方法
▪ 已知分词词典中最长的词的长度L
▪ 以L为一个段落进行匹配
72
2019/10/14
13
改进后的分词方法
步骤 操作的句子 操作 分词结果
1 我们是中华人民共和国的公民 只前7个字
2 我们是中华人民 词典匹配失败
3 我们是中华人 词典匹配失败
…… …… ……
我们 词典匹配成功 我们
是中华人民共和国 词典匹配失败 我们
是 词典匹配失败 我们
…… …… ……
是 单字直接分出 我们/是
中华人民共和国 词典匹配成功 我们/是/中华人民共和国
的公民 词典匹配失败
…… …… ……
73
逆向最大匹配分词
❖从句子结尾进行分词
❖统计结果表明
▪ 单纯使用正向最大匹配分词的错误率为1/169
▪ 单纯使用逆向最大匹配分词的错误率为1/245
74
逆向最大匹配分词
步骤 操作的句子 操作 分词结果
1 我们是中华人民共和国的公民 只取后7个字
2 民共和国的公民 词典匹配失败
3 共和国的公民 词典匹配失败
…… …… ……
公民 词典匹配成功 公民
华人民共和国的 词典匹配失败 公民
人民共和国的 词典匹配失败 公民
…… …… ……
是 单字直接分出 的/公民
中华人民共和国 词典匹配成功 中华人民共和国/的/公民
我们是 词典匹配失败
…… …… ……
75
举例说明
❖句子
▪ 瑞星以技术和服务开拓网络安全市场
❖正向最大匹配分词结果
▪ 瑞星/以/技术/和服/务/开拓/网络/安全/市场
❖逆向最大匹配分词结果
▪ 瑞星/以/技术/和/服务/开拓/网络/安全/市场
76
语言的二义性
❖发展中国家
▪ 发展/中/国家
▪ 发展/中国/家
❖上海大学城书店
▪ 上海/大学城/书店
▪ 上海/大学/城/书店
❖此地安能居住,其人好不悲伤
▪ 此地/安能/居住,其人/好不/悲伤
▪ 此地安/能居住,其人好/不悲伤
77
基于统计的分词方法
❖原理
▪ 从概率的角度出发,单个字出现在词汇中的联合
概率是比较大的,因此相邻的字越经常出现,则
越有可能是一个词汇
❖基本方法
▪ 对需要分词的材料进行分析,得到相应的单字出
现的概率
▪ 对相邻的字出现的概率进行统计
▪ 如果此概率远远大于单字出现的概率之和,则有
可能成为一个词78
2019/10/14
14
基于统计的分词方法
❖优点
▪ 可以结合上下文识别生词
▪ 可以消除歧义
❖缺点
▪ 在统计意义上某些经常出现在一起的字并不能
构成完整的词语,如:“上的”、“下的”、
“这一”等
▪ 对常见词的识别精度差,计算量大
79
混合分词
❖统计分词与词典分词结合使用
▪ 发挥词典分词切分速度快、效率高的特点(可以
解决80%左右的问题)
▪ 利用统计分词结合上下文识别新词,消除歧义
80
对分不出来的词的处理
❖背景
▪ 新词层出不穷
▪ 尤其在互联网上,新词每天都出现
❖方法:多元切分的混合分词方法
▪ 一元分词:ABCDE→A/B/C/D/E
▪ 二元分词: ABCDE→AB/BC/CD/DE
▪ 不分词: ABCDE→ABCDE
81
对分不出来的词的处理
❖举例说明
▪ 木子美对记者说
▪ 木/子/美/对/记者/说/木子/子美/木子美
82
停止词训练方法
❖停止词:指在文档中没有太多实际意义的词,这
些词是没有必要进行索引的
▪ 倒排表非常长
▪ 非常浪费系统的空间
• 如:的、什么、是、a,an, of 等
❖ 处理方法
▪ 进行大量统计,计算机出倒排表最长的那些词
▪ 在分词之后进行索引时处理,而不能先将停止
词去掉,如“的士””的确””目的”83
数据分析与预处理工具
❖中文分词工具-ICTCLAS( Chinese Lexical Analysis System )
▪ 中文分词、命名实体识别工具
▪ 性质:自然语言处理开放资源许可证
▪ 作者:张华平,刘群
▪ 网址:http://www.nlp.org.cn/project/project.php?proj_id=6
▪ 平台:Windows/Linux
▪ SIGHAN第一届国际中文分词比赛Bakeoff多项第一名
84
2019/10/14
15
数据分析与预处理工具
❖中文分词工具-ICTCLAS
▪ 功能• 中文分词
• 词性标注
• 中文命名实体识别:人名、地名、机构名
85
数据分析与预处理工具
❖词根还原库-Snowball
▪ 用于IR的词根还原库
▪ 性质:开源
▪ 作者:Martin Porter
▪ 网址:http://snowball.tartarus.org/index.php
▪ 平台:Windows/Linux
86
搜索引擎的结构与组成
预处理
分 词
Web1:青年教师比赛
Web2:学校关心青年教师
Web3:学校经常举行比赛
Web1:青年教师比赛 Web2:
学校关心青年教师 Web3:
学校经常举行比赛
文 档服务器
网 页
抓 取
87
搜索引擎的结构与组成
预处理
分 词
Web1:青年教师比赛
Web2:学校关心青年教师
Web3:学校经常举行比赛
Web1:青年教师比赛 Web2:
学校关心青年教师 Web3:
学校经常举行比赛
青年:Web1, Web2
教师:Web1, Web2
比赛:Web1, Web3
学校:Web2, Web3
文 档服务器
建立倒
排索引倒排索引排 序
网 页
抓 取
88
搜索引擎的结构与组成
预处理
分 词文 档服务器
建立倒
排索引倒排索引排 序
华中科技大学
检索服务器(查询分析、结果融合)
网 页
抓 取
89
检索模块
❖查询分析
▪ 词法分析(分词/同义词/近义词/查错)
▪ 转换成搜索引擎可以处理的格式
▪ 查询的意图分析
❖相关度计算—信息检索模型
❖查询扩展和相关反馈
❖摘要生成
90
2019/10/14
16
查询(Query)分析
❖Query解析
▪ 检查拼写错误
• 如:话中科技大学
▪ 语法解析
❖Query分解
▪ 分解为适合查询的term
▪ 为Multi-term Merge提供必要参数
91
纠错提示
92
查询扩展
❖对用户的查询进行扩充▪ 比如用户输入“计算机”,我们扩充一个词“电脑”
❖同义词扩展▪ 同义词词典
▪ 通过统计构造的同义词词典
❖相关词扩展▪ 相关词:“2010年世博会”与“上海”
▪ 基于全局分析的查询扩展
❖查询重构▪ 对用户的初始查询进行修改
▪ 加词、减词,或者对向量模型的初始查询进行权重修改
93
查询扩展
94
摘要生成
❖静态摘要
▪ 一个网页事先生成其摘要
❖动态摘要
▪ 基于Query的摘要,不同的Query会生成不同
的摘要
❖静态摘要比较简单,但是由于多主题的存在,效
果往往不好
❖现代搜索引擎往往采用动态摘要
95
查询的分析和挖掘
❖查询的意图分析
▪ 查询意图分类
▪ 查询意图分析是提高搜索结果准确性的基础
❖查询日志挖掘
❖发现用户的兴趣
96
2019/10/14
17
查询搜索的研究趋势
❖更精确的查询分析方法
❖更鲁棒的信息检索模型
❖多因素综合检索方法
❖快速并行检索
❖相关查询的快速推荐方法
❖结果的聚类
97
用户接口
98
用户接口
99
百度“框计算”-框广天地、创新无限
100
百度“框计算”-框广天地、创新无限
101
百度“框计算”-框广天地、创新无限
102
2019/10/14
18
百度“框计算”-框广天地、创新无限
❖框计算
▪ 为用户提供基于互联网的一站式服务
▪ 一种最简单可依赖的互联网需求交互模式
▪ 用户只要在框中输入服务需求
▪ 系统就能明确识别这种需求
▪ 将需求分配给最优的应用或内容资源提供商处
理
▪ 最终返回给用户相匹配的结果
103
百度“框计算”-框广天地、创新无限
❖框计算的实现过程
▪ 用户的任意一个需求被提交到“框”里
▪ 经过一系列复杂的需求分析• 包括语义分析、行为分析、和智能人机交互技术分
析和海量计算
• 用户的需求被分发给框后台的某个或某几个应用所响应
▪ 框背后的应用平台是开放的
▪ 框计算平台提供了大量即插即用的接口,各种应用可以主动与框计算平台对接,使自己有机会来响应框所收集到的需求
104
小结:搜索引擎的结构与组成
❖网页抓取模块▪ 从Internet上自动获取信息、查重、更新
❖预处理模块▪ 文本分析和处理、分词
❖索引模块▪ 建立倒排索引、排序(Ranking)
❖检索模块▪ 查询的分析
▪ 相似度计算
▪ 结果摘要
❖用户接口105
内容提要
搜索引擎的前世今生
商用搜索引擎结构与组成
搜索引擎质量评估
搜索引擎排序策略
分布式搜索引擎
106
搜索引擎质量评估
❖全
❖新
❖快
❖准
❖稳
107
搜索引擎质量评估
❖相关性
❖网页结果覆盖率
❖网页死链率
❖作弊率
❖结果重复率
❖中文分词
108
2019/10/14
19
搜索引擎质量评估
109
课堂测试题(十五分钟)
❖请简要阐述搜索引擎的组成和工作原理,通过你
平时对搜索引擎的使用,你觉得现有的搜索引擎
还存在哪些不足,给出解决的思路。
110
作业题
❖问题1:
▪ 如何更新抓取的网页信息?
▪ 定期重采和增量采集各具有什么特点?
❖问题2:
▪ 互联网上存在大量的重复网页,如何去除这些
重复网页?
111
http://media.hust.edu.cn