网页搜索技术简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Page number
22
相关性
文本相关性:不同位区的文本重要 性不同 (1)anchor 标注文本 (2)文章标题 (3)文章meta字段,注释信息 (4)文章正文 SEO优化的同学注意了!
Page number
23
相关性
(1)锚文本/标题完全匹配,可以获取很高的提权 (2)标题部分命中也可能比正文获得更高的排位 (3)文章内容其实没有你想象的重要……
13
索引系统
打分模型:针对网页评分,建立合适的打分模型 • 非线性模型:指数模型,对数模型,分段模型…… • 线性模型:value = 权重* A + 权重 * B,多数会对权重和 数据进行归一化处理,具体的取值可以通过多次训练获得
模型参数: (1)用户行为数据(点击/展现/浏览日志),浏览器数据非 常关键,可以收集到非常长尾的网页数据! (2)网页质量特征:page rank,quality rank(网页质 量),domain rank(主站质量)…. (3) 网页内容特征: url深度,分光镜(内容分类),编码 格式….
Page number
18
网络爬虫
Page rank:网页排名,又称网页级别,佩奇排名。一个 链接的page rank排名由指向它的链接所决定。整个网络 的page rank经过多次迭代趋向稳定
• Page rank公式: SEO优化经常关注到这一点,但是大量垃圾网站的相互指 向,容易导致整一批网站被判定为垃圾或者作弊,反而导 致站点被惩罚性降级! 千万不要和坏人做朋友!
在算法基础上,可以用更多自定义特征来进行提权降权
Page number
25
引擎的评测与改进
评测方法 DCG测试 : 针对一定量query,人工标注评价和标注相关 网页。通过对标注网页的召回率和排序的打分,得出DCG 测试得分。自动化测试可以使用这个指标来评测新特性的 效果。 翻页率:90%以上的搜索请求可以在第一页即可获取结果 领先引擎召回率:对比占领先地位的搜索引擎结果,观察 每天的召回率 人工评比:每隔一定周期请专业人士做人工评测 如何改善搜索质量: (1)数据是搜索的核心 (2)坏例分析
• 文章装机量:单机能够装载的文章数。集群在线文章更多, 长尾检索效果更好,但是倒排长度更长,会降低QPS • QPS:单机能够承载的检索次数上限,制约整个集群的检 索能力,QPS提高能够降低检索成本 求交过程需要进行全方位的优化,提升求交性能!
Page number
9
检索系统
文章索引优化:
URL http://zh.wikipedia.org/ zh/%E5%B9%BF%E5%B 7%9E%E6%81%92%E5% A4%A7%E6%B7%98%E5 %AE%9D%E8%B6%B3% E7%90%83%E4%BF%B1 %E4%B9%90%E9%83% A8 1AFAD263ED40EF07 194409751578784128 7 25002222 127 byte
• 网页分类: (1)网站首页:必选 (2)新抓页面:资源倾斜 (3)更新索引页:资源倾斜 (4)更新内容页:少量更新
Page number
17
网络爬虫
链接打分规则 • 新抓页面:URL外形因子/Page rank/所在网页目录质量… • 更新页面:发现新链接数/子链接数/页面变化周期/page rank /url深度……
Page number
5
检索系统
• 检索: 核心是一个倒排求交并进行排序的过程 • 倒排表:词语到文章的映射 (中国&恒大) = doc5
Page number
6
检索系统
• 检索难点: 短时间内,完成超长倒排的求交过程。在线检索 系统,文章数量从几百亿到上千亿不等。高频词,可能在 数10亿个网页中存在,如何求交?
Page number
15
网络爬虫
• 网络爬虫是搜索引擎的数据源头,直接决定数据质量和收 录。它负责发现/下载/更新网页数据。数据是搜索质量的 基础。 • 调度:从Url库中选择需要抓取的url • 抓取:下载网页数据 • 抽取:把下载网页分析为结构化的数据,URL/正文/锚文 本/链接库
网页数据
Page number
20
相关性
问题:如果从求交完成的文章中,选出最优的10篇文章返 回给用户?
相关性:对求交结果进行排序,完成最优选择!介绍的重 点。相关性全面深入到搜索引擎的各个细节,query分析, 求交排序,离线索引选取,倒排构建,爬虫链接选择,反 垃圾等等环节
Page number
21
相关性
检索系统 索引系统 相关性
Page number
4
爬虫系统
检索系统
• 检索串分析: 把用户输入的检索串进行分词和语意分析,分 解成检索语法树 中国恒大 (中国 || 中华|| china) & 恒大 (中国&恒大) || (中华&恒大)|| (china&恒大) 检索串表示为多个词组的交集,如果有同义词,可以进行 同义词扩展。 检索树其他特性: IDF信息,检索时新性判断,检索主题 分类(体育/新闻/视频…)
Page number
19
网络爬虫
网页抓取:从互联网抓取网页数据的过程。
• 抓取压力:抓取压力非常关键,太大的压力会导致对方封 禁爬虫的IP地址。下载压力原则是做到全天均衡而稳定, 考虑对方站点的业务状态。 • 如何去估算对方站点允许的下载压力? (1)站点Alexa排名 (2)站点PV 站点压力是一个反复调整的过程,如果不幸被对方站点封 禁了,就需要转入到匿名下载。
• • • • •
Page number
3
搜索系统架构
• 通用搜索系统主要是包括四大系统:检索系统,索引系统, 爬虫系统,和相关性 • 检索系统:根据用户输入的检索串,实时找出检索最相关 的内容 • 索引系统:离线网页的倒排/顺排构建,网页选取/去重 /离线打分,网页数据存储…. • 爬虫系统:互联网数据选取/抓取 • 相关性:检索串和文章的相关度,索引文章选取,网页抓 取的优先级……,全方位介入到搜索的各个角落
• Url外形例子: http://tech.ifeng.com/startup/ http://tech.ifeng.com/a/20140831/40780368_0.shtml http://tech.ifeng.com/a/20140831/40780295_0.shtml #p=1 更浅的目录,更规则的字符,更少的特殊符号都代表更好 的Url外形
Page number
14
索引系统
• 问题:如何选取1000亿网页中得分前100亿的网页? 根据上一轮网页打分,可以得出网页的得分分布状态
得分 文章篇数 1 5 2 3 3 3 4 4 5 5
例:在这20篇文章中,找出得分排名前10的文章,可以知 道阈值是3 • 每天都有新的数据,如何在时新性和成本达成妥协? (1)时新性数据直接实时进入实时索引系统。 (2)常规数据每天分批计算,每天上线1/N数据,N天完 成全量索引更新
Page number
12
索引系统
• 计算:依赖大规模分布式计算MR(Infrastructure) http://research.google.com/archive/mapreduce.html • 索引选取计算:从离线存储库中的几千亿网页选取优质数 据进入到在线库。(几百亿到上千亿不等) • 选取规则:
技术分享季, 点亮思维每一季
网页搜索技术简介
2014年09月04日
议题
• 搜索引擎概述
• 搜索引擎关键技术
检索系统 索引系统 网络爬虫 相关性
• 引擎的评测与改进
Page number
1
搜索引擎概述
• 解决的问题:海量数据中从查找你想要的数 据 • 数据来源:网页抓取,分析 • 数据处理:筛选,去重,排序,存储 • 数据检索:分词,检索
Page number
11
索引系统
• 存储: url库,正文库,链接库,用户行为数据….
• 计算:抽取、反垃圾、排重、选取、顺排、倒排、链接计 算、锚文本计算 • 索引选取:从离线存储库中的几千亿网页选取优质数据到 在线库。(几百亿到上千亿不等) • 顺排倒排:对网页进行分词,建立倒排表。倒排是词语到 文章的映射,顺排是文章到词语的映射。
Page number
26
Long Way To Go
欢迎提问分享
Page number
27
谢谢
若愿参与分享,请联系TDC辛盛 如有任何疑问,请咨询HR周赟/段小芳
MD5 u64_t u32_t
16byte 8byte 4Byte
继续挖掘优化: 块压缩? 变长编码,差分编码…..
Page number
10
检索系统
求交过程优化: (1)倒排表按照文章质量以及和词语相关度进行了离线排序 (2)倒排表进行多路归并,寻找词语倒排表交集
其他优化方法: 建立倒排二级索引,Bitmap直接表示文章 增加单机文章装机量: 固态硬盘,异步IO, CPU绑定,无锁编程…….
白黑名单 分类规则 网页打分
• 黑白名单:命中白名单直接进入选择 • 分类规则:网站首页,用户点击或者展现过的页面,第三 方优质数据….., 更多细化的规则保证选择优质数据 • 网页打分:根据用户行为数据(点击/展现/浏览日志),网页 权威度特征(PR,DR)和网页质量进行综合打分
Page number
Page number
24
相关性
常用的文本相关性算法: BM25 http://nlp.stanford.edu/IRbook/html/htmledition/okapi-bm25-a-non-binarymodel-1.html 余弦相似度 http://zh.wikipedia.org/wiki/%E4%BD%99%E5%BC% A6%E7%9B%B8%E4%BC%BC%E6%80%A7 simhash http://matpalm.com/resemblance/simhash/
求交结果排序的关键因子: (1)文本相关性:衡量query和网页的文本近似度 (2)网页权威度:考虑网页和所在站点的权威性,如百度 知道/wiki等所属页面会大幅提权 (3)网页时新性:时新网页会有提权,特别对于新闻类 网页 (4)点击模型:用户点击数据实际上就是对网页进行人工 标注。Query实际上可以作为网页的标注信息。
Page number
7
检索系统
• 并行求交: 倒排表进行多次拆分,分布到不同的机器上。求 交的时候下发语法树,所有机器对同一个语法树进行求交 操作。求交结果进行多次合并排序,最终返回用户。
• 一次检索会涉及到集群的所有机器,能量开销大
Page number
8
检索系统
• 检索性能: 检索开销巨大,需要优化检索性能到极限 (CPU/内存/IO)。关键指标:文章装机量,QPS
数据 仓库 (URL /正文/ 链接库) 抽取
SPIDER wenku.baidu.comCHEDULE
WEB
Url
Page number
16
网络爬虫
• 调度:下载配额是受到下载机器/出口带宽/对方网站配额 等多个因素制约的,下载能力非常有限。需要从Url库中选 取最有价值的url进行下载 • 调度原则:链接分类配额 + 配额内打分排序
互联网技术皇冠上的明珠
Page number
2
搜索引擎概述
搜索引擎应用了哪些技术? 分布式计算:用于大规模离线网页排序/分析 分布式存储:用于网页数据存储,(url库,正文库, anchor库,倒排,正排,摘要,快照) 自然语言处理(文章分词/检索语意分析/检索树构建), 机器学习(相关性模型调优) 高性能检索(实时检索服务,IO/CPU/网络架构) ……….其他相关技术