网页搜索技术简介ppt课件.pptx
“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。网页搜索技术简介20142014年年0909月月0404日日技术分享季,点亮思维每一季“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number1 搜索引擎概述 搜索引擎关键技术检索系统索引系统网络爬虫相关性 引擎的评测与改进议题“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number2搜索引擎概述 解决的问题:海量数据中从查找你想要的数据 数据来源:网页抓取,分析 数据处理:筛选,去重,排序,存储 数据检索:分词,检索 互联网技术皇冠上的明珠“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number3搜索引擎概述搜索引擎应用了哪些技术? 分布式计算:用于大规模离线网页排序/分析 分布式存储:用于网页数据存储,(url库,正文库,anchor库,倒排,正排,摘要,快照) 自然语言处理(文章分词/检索语意分析/检索树构建),机器学习(相关性模型调优) 高性能检索(实时检索服务,IO/CPU/网络架构) .其他相关技术“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number4搜索系统架构 通用搜索系统主要是包括四大系统:检索系统,索引系统,爬虫系统,和相关性 检索系统:根据用户输入的检索串,实时找出检索最相关的内容 索引系统:离线网页的倒排/顺排构建,网页选取/去重/离线打分,网页数据存储. 爬虫系统:互联网数据选取/抓取 相关性:检索串和文章的相关度,索引文章选取,网页抓取的优先级,全方位介入到搜索的各个角落检索系统索引系统爬虫系统相关性“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number5 检索串分析: 把用户输入的检索串进行分词和语意分析,分解成检索语法树中国恒大 (中国 | 中华| china) & 恒大 (中国&恒大) | (中华&恒大)| (china&恒大) 检索串表示为多个词组的交集,如果有同义词,可以进行同义词扩展。 检索树其他特性: IDF信息,检索时新性判断,检索主题分类(体育/新闻/视频)检索系统“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number6 检索: 核心是一个倒排求交并进行排序的过程 倒排表:词语到文章的映射 (中国&恒大) = doc5 检索系统“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number7 检索难点: 短时间内,完成超长倒排的求交过程。在线检索系统,文章数量从几百亿到上千亿不等。高频词,可能在数10亿个网页中存在,如何求交?检索系统“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number8 并行求交: 倒排表进行多次拆分,分布到不同的机器上。求交的时候下发语法树,所有机器对同一个语法树进行求交操作。求交结果进行多次合并排序,最终返回用户。一次检索会涉及到集群的所有机器,能量开销大检索系统“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number9 检索性能: 检索开销巨大,需要优化检索性能到极限(CPU/内存/IO)。关键指标:文章装机量,QPS 文章装机量:单机能够装载的文章数。集群在线文章更多,长尾检索效果更好,但是倒排长度更长,会降低QPS QPS:单机能够承载的检索次数上限,制约整个集群的检索能力,QPS提高能够降低检索成本 求交过程需要进行全方位的优化,提升求交性能!一次检索会涉及到集群的所有机器,能量开销大检索系统“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number10 文章索引优化: 继续挖掘优化: 块压缩? 变长编码,差分编码. 检索系统URLURLhttp:/zh.wikipedia.org/zh/%E5%B9%BF%E5%B7%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%A8127 byte127 byteMD51AFAD263ED40EF0716byteu64_t19440975157878412878byteu32_t250022224Byte“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number11 求交过程优化:(1)倒排表按照文章质量以及和词语相关度进行了离线排序(2)倒排表进行多路归并,寻找词语倒排表交集 其他优化方法: 建立倒排二级索引,Bitmap直接表示文章增加单机文章装机量:固态硬盘,异步IO, CPU绑定,无锁编程. 检索系统“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number12 存储: url库,正文库,链接库,用户行为数据. 计算:抽取、反垃圾、排重、选取、顺排、倒排、链接计算、锚文本计算 索引选取:从离线存储库中的几千亿网页选取优质数据到在线库。(几百亿到上千亿不等) 顺排倒排:对网页进行分词,建立倒排表。倒排是词语到文章的映射,顺排是文章到词语的映射。 索引系统“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number13 计算:依赖大规模分布式计算MR(Infrastructure) http:/ 索引选取计算:从离线存储库中的几千亿网页选取优质数据进入到在线库。(几百亿到上千亿不等) 选取规则: 黑白名单:命中白名单直接进入选择 分类规则:网站首页,用户点击或者展现过的页面,第三方优质数据., 更多细化的规则保证选择优质数据 网页打分:根据用户行为数据(点击/展现/浏览日志),网页权威度特征(PR,DR)和网页质量进行综合打分 索引系统白黑名单分类规则网页打分“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number14打分模型:针对网页评分,建立合适的打分模型 非线性模型:指数模型,对数模型,分段模型 线性模型:value = 权重* A + 权重 * B,多数会对权重和数据进行归一化处理,具体的取值可以通过多次训练获得模型参数:(1)用户行为数据(点击/展现/浏览日志),浏览器数据非常关键,可以收集到非常长尾的网页数据!(2)网页质量特征:page rank,quality rank(网页质量),domain rank(主站质量). (3) 网页内容特征: url深度,分光镜(内容分类),编码格式. 索引系统“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number15 问题:如何选取1000亿网页中得分前100亿的网页?根据上一轮网页打分,可以得出网页的得分分布状态例:在这20篇文章中,找出得分排名前10的文章,可以知道阈值是3 每天都有新的数据,如何在时新性和成本达成妥协?(1)时新性数据直接实时进入实时索引系统。(2)常规数据每天分批计算,每天上线1/N数据,N天完成全量索引更新 索引系统得分1 12 23 34 45 5文章篇数53345“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number16 网络爬虫是搜索引擎的数据源头,直接决定数据质量和收录。它负责发现/下载/更新网页数据。数据是搜索质量的基础。 调度:从Url库中选择需要抓取的url 抓取:下载网页数据 抽取:把下载网页分析为结构化的数据,URL/正文/锚文本/链接库 网络爬虫SPIDER数据仓库(URL/正文/链接库)SCHEDULE抽取WEBUrl网页数据网页数据“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number17 调度:下载配额是受到下载机器/出口带宽/对方网站配额等多个因素制约的,下载能力非常有限。需要从Url库中选取最有价值的url进行下载 调度原则:链接分类配额 + 配额内打分排序 网页分类:(1)网站首页:必选(2)新抓页面:资源倾斜(3)更新索引页:资源倾斜(4)更新内容页:少量更新 网络爬虫“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number18链接打分规则 新抓页面:URL外形因子/Page rank/所在网页目录质量 更新页面:发现新链接数/子链接数/页面变化周期/page rank /url深度 Url外形例子:http:/ 网络爬虫“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number19Page rank:网页排名,又称网页级别,佩奇排名。一个网页排名,又称网页级别,佩奇排名。一个链接的链接的page rank排名由指向它的链接所决定。整个网络排名由指向它的链接所决定。整个网络的的page rank经过多次迭代趋向稳定经过多次迭代趋向稳定 Page rank公式:SEO优化经常关注到这一点,但是大量垃圾网站的相互指向,容易导致整一批网站被判定为垃圾或者作弊,反而导致站点被惩罚性降级!千万不要和坏人做朋友! 网络爬虫“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number20网页抓取:从互联网抓取网页数据的过程。 抓取压力:抓取压力非常关键,太大的压力会导致对方封禁爬虫的IP地址。下载压力原则是做到全天均衡而稳定,考虑对方站点的业务状态。 如何去估算对方站点允许的下载压力?(1)站点Alexa排名(2)站点PV站点压力是一个反复调整的过程,如果不幸被对方站点封禁了,就需要转入到匿名下载。 网络爬虫“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number21问题:如果从求交完成的文章中,选出最优的10篇文章返回给用户? 相关性:对求交结果进行排序,完成最优选择!介绍的重点。相关性全面深入到搜索引擎的各个细节,query分析,求交排序,离线索引选取,倒排构建,爬虫链接选择,反垃圾等等环节 相关性“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number22求交结果排序的关键因子:(1)文本相关性:衡量query和网页的文本近似度(2)网页权威度:考虑网页和所在站点的权威性,如百度知道/wiki等所属页面会大幅提权 (3)网页时新性:时新网页会有提权,特别对于新闻类网页(4)点击模型:用户点击数据实际上就是对网页进行人工标注。Query实际上可以作为网页的标注信息。 相关性“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number23文本相关性:不同位区的文本重要性不同(1)anchor 标注文本(2)文章标题(3)文章meta字段,注释信息(4)文章正文SEO优化的同学注意了! 相关性“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number24(1)锚文本/标题完全匹配,可以获取很高的提权(2)标题部分命中也可能比正文获得更高的排位(3)文章内容其实没有你想象的重要 相关性“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number25 常用的文本相关性算法: BM25http:/nlp.stanford.edu/IR-book/html/htmledition/okapi-bm25-a-non-binary-model-1.html 余弦相似度http:/zh.wikipedia.org/wiki/%E4%BD%99%E5%BC%A6%E7%9B%B8%E4%BC%BC%E6%80%A7simhashhttp:/ 在算法基础上,可以用更多自定义特征来进行提权降权 相关性“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number26评测方法DCG测试 : 针对一定量query,人工标注评价和标注相关网页。通过对标注网页的召回率和排序的打分,得出DCG测试得分。自动化测试可以使用这个指标来评测新特性的效果。 翻页率:90%以上的搜索请求可以在第一页即可获取结果领先引擎召回率:对比占领先地位的搜索引擎结果,观察每天的召回率人工评比:每隔一定周期请专业人士做人工评测如何改善搜索质量:(1)数据是搜索的核心(2)坏例分析 引擎的评测与改进“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Page number27Long Way To Go欢迎提问分享“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。若愿参与分享,请联系TDC辛盛如有任何疑问,请咨询HR周赟/段小芳谢谢谢谢