您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 搜索引擎优化技术培训
搜索引擎技术介绍屈波2007年8月目录一、搜索引擎总体介绍二、爬虫技术介绍三、中文分词和排序算法介绍四、查询/存储技术、CacheServer介绍五、内部、外部监控系统介绍六、移动通信运营商搜索引擎独特优势一、搜索引擎总体介绍(一)搜索引擎定义“搜索引擎”技术,完全来源于历史悠久的全文检索技术。“搜索引擎”从字面上可拆分为“搜”、“索”、“引擎”三个含义。“搜”就是大量信息的抓取,抓取回来后的信息进行智能提取、排重、质量分析等处理。“索”就是大量处理后信息的存储、信息排序、快速查询等。“引擎”就是指系统不但能存储亿级的数据,而且还能有巨大的并发处理能力,这样的系统才有资格被叫着“引擎”。一、搜索引擎总体介绍(二)搜索引擎和移动搜索引擎搜索引擎也可以看成为“专家系统”,通过把数百亿互联网网页所提供的信息,作为其庞大的“知识库”,通过用户的输入词,找到相关信息。从技术上来讲,基于手机的移动搜索引擎,在其技术上和搜索引擎是完全一样的。用户查询信息的媒体,由PC被手机替代,可以随时随地提供搜索服务,用户更方便地进行信息查询。并且,手机的用户群体是远大于PC用户群体,所以,移动搜索引擎肯定是搜索引擎领域未来发展的重点和方向。一、搜索引擎总体介绍(三)搜索引擎主要核心技术:搜索引擎主要核心技术为:(1)中英文分词语言处理;(2)排序算法;(3)网络爬虫;(4)查询/存储技术开发搜索引擎系统主要涉及到的具体技术为:(1)http网络协议.(2)多线程技术.(3)socket通信.(4)高效服务端程序开发.一、搜索引擎总体介绍(四)系统图:一、搜索引擎总体介绍(五)全文检索系统和搜索引擎关系:1、搜索引擎技术来源于全文检索系统,搜索引擎是全文检索技术最重要的一个运用.2、搜索引擎在数据总量,最大并发处理能力,单次查询速度方面,都远远强大于全文检索系统.3、搜索引擎为了最求最高的查询速度,在搜索结果准确性及搜索结果重现方面,都弱于全文检索系统.一、搜索引擎总体介绍(六)全文检索系统和搜索引擎比较:类别全文检索搜索引擎信息获得信息获得比较容易,被检索内容基本上都是规范化信息.信息获得困难,特别是信息提取的准确率受算法影响很大.信息总量支持的信息总量较少,搜索速度受信息总量增加而递减.支持几十亿到几百亿的信息总量,搜索速度和信息总量基本无关.分词技术分词准确性较高,分词速度中等,搜索结果比较满意.词库更新慢.分词速度极快,分词准确性中等.新词补充及时.存储索引索引结果硬盘存储,系统内存消耗较少,可和其他程序并存.索引结果,以内存存储为主,硬盘存储为辅,大多独占操作系统.搜索耗时搜索用时为秒级,只支持小用户量并发.搜索用时可达到毫秒级,拥有超强并发处理能力.搜索结果搜索结果准确,结果总数为实际数目,搜索结果能准确重现.结果不够准确,只提供全部结果的前面部分,搜索结果不保证重现.系统规模系统简单,服务器硬件投入较少,硬件管理比较轻松.系统庞大,服务器硬件投入巨大,几百台服务器到几十万台服务器.二、爬虫技术介绍(一)爬虫技术总体介绍:网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。通过DNSCache技术,减少爬虫对DNS的访问频率,避免DNS成为网络瓶颈,提高抓取速度。网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来:新闻、电子图书、行业信息等。对于MP3、图片、Flash等各种不同内容,要实现自动识别、自动分类及相关属性测试(例如:MP3文件要包含的文件大小,下载速度等属性)。二、爬虫技术介绍(二)抓取对象:1.静态网页:爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。2.动态网页:分析动态网页参数,按照一定规章,“拼”出所有要被抓取内容URL,只抓取这些特定范围内动态网页。3.特殊内容:比如RSS、XML数据,情况特殊需特殊处理。如新闻的滚动新闻页面,需要爬虫不停地监控扫描,发现新内容马上就进行抓取。4.文件对象:图片,MP3、Flash、视频等文件的抓取,都要特殊处理。比如说:图片抓取出来后,要知道图片文件类型、图片文件的大小、图片的像素大小,还要转换出来缩略图。二、爬虫技术介绍(三)抓取策略:1.深度优先策略:对于一些大网站及静态网页为主的抓取内容,采取深度策略抓取,便于在最短时间内获得最大量内容。2.广度优先策略:对于一些动态网页或小网站,采取广度策略抓取,同时对多个网站进行抓取,减小对各个小网站的压力,避免造成恶意攻击。3.合作抓取策略:由被抓取网站,提供可被抓取内容的sitemap网站地图,双方协议好,只抓取这些特定内容,在抓取速度及时间上双方前期进行协商。另外还可以完全由被抓取方,提供详细内容,抓取过程都可以省略一些步骤。二、爬虫技术介绍(四)爬虫程序介绍:1.单线程模型URL任务列表互联网DNSCacheDNS内容处理,分析出新的URL,URL检查二、爬虫技术介绍(四)爬虫程序介绍:2.多线程模型(省略掉DNSCache部分)URL任务列表互联网......线程1临界区线程2线程N二、爬虫技术介绍(四)爬虫程序介绍:3.爬虫集群模型URL任务列表互联网......Spider管理器Spider1Spider2SpiderN二、爬虫技术介绍(五)内容提取:内容提取是《模式识别》学科范围内容,对获得的信息进行预处理后,按照特征值提前和选择,最后进行内容的识别。内容提取的准确率受算法影响较大,尤其是新闻、图片等内容。动态网页比较容易的通过网页比对,整理出其网页设计模板,按照模板可以准确率较高的完成提取。网页内容的正确提取,对排序算法设计,也有非常重要的影响。判断两个内容是否相同的排重算法,一般按照贝叶斯决策理论进行处理,判断两个内容的相似度,最常用于相同新闻的判断。信息获得预处理特征值提取和选择训练过程分类器设计分类决策二、爬虫技术介绍(五)内容提取:因为目前WAP网页数据总量过少,另外WAP网页包含数据也过少,在基于WAP网页的搜索引擎中,带给用户的信息总量过少,所以基于WAP内容的搜索发展缓慢。对Web网页内容如能进行提取出最关键内容,有一套高效的智能内容提取程序。在移动搜索引擎中,搜索内容为智能提取出来的Web网页内容,这将大大加快移动搜索服务发展。Web网页内容的智能提取,属于复杂数据类型挖掘,其程序算法难度非常大。三、中文分词和排序算法介绍(一)中文分词:自然语言理解和处理,是人工智能的重要的研究领域之一,是语言学、逻辑学、生理学、心理学、计算机科学和数学等相关学科发展和结合而形成的一门交叉学科。分词作为搜索引擎的一项核心功能,和存储和查询有重大关系。但是不同的研究角度,不同的研究方向,带来研究重点和研究结果都是不一样的。语言学方向研究的分词算法,看重分词的准确性,不看重运算速度;而搜索引擎的分次算法,特别看重分词速度,分词准确性中等。语言词汇语法词熟语词素词法句法造句法词组构造法构形法构词法三、中文分词和排序算法介绍(一)中文分词:以英文为代表的字母型文字,按照空格和标点符号比较容易实现分词,而以中文为代表的东亚语系文字,在分词方面,却存在巨大的困难。据说百度(也包括北大天网)在早期时,所有的中文文字,全部拆分为一个个的单字,搜索效果比较差。但也有特殊效果,比如说:搜“我为秋香”,能够搜到唐伯虎的著名藏头文。我康宣今年一十八岁,姑苏人氏,身家清白,素无过犯。只为家况清贫,鬻身华相府中,充当书僮。身价银五十两,自秋节起,暂存帐房,俟三年后支取。从此承值书房,每日焚香扫地,洗砚磨墨等事,听凭使唤。从头做起,立契为凭。三、中文分词和排序算法介绍(一)中文分词:搜索引擎的中文分词,在算法上有两种,一个用于后台索引处理,一个用于前端对搜索词进行分词处理。比如说:有一条纪录内容为“中国人民解放军”。在构建后台索引时,可分词为:“中国人民解放军”、“中国”、“人民”、“解放军”、“中”、“国”、“人”、“民”、“解”、“放”、“军”,对这11个字词都要建立索引。这样做的目的是为了,当搜索词为上面这11种中任何一个时,都能在各自索引库中找到“中国人民解放军”这条纪录。搜索词为“中国人民解放军”,在其前端的分词处理,就只分词为:“中国人民解放军”或“中国+人民+解放军”或“中国+人民解放军”。三、中文分词和排序算法介绍(一)中文分词:因为中文本身存在着很大的歧义性,同样一句话,不同的断句,表达的意思就不一样。这对于计算机去做机器分析,就带来了巨大的困难。下面的中文断句,来自百度广告宣传片:「我知道你不知道我知道你不知道我知道你不知道」「我知道,你不知道。我知道,你不知道我知道,你不知道」「我知道你,不知道我。知道你不知道我,知道你不知道」「我,知道你不知道我知道。你,不知道我知道你不知道」三、中文分词和排序算法介绍(一)中文分词:另外中文的具体含义,还必须放在具体的前后语言环境中去分析。比如说:「乒乓球拍卖完了」我去学校商店,发现「乒乓球拍卖完了」在今天的慈善拍卖会上,世界冠军们夺冠时的「乒乓球拍卖完了」中文分词,在具体的算法实现上分为三种:1.字符串匹配(正序、逆序、最少切分、最大切分等)2.基于理解(词法,句法等方式处理)3.基于统计在中文搜索引擎中,目前基本上是这三种算法混合使用。第二种的算法实现起来过于复杂,所以以第一种和第三种算法为主。三、中文分词和排序算法介绍(一)中文分词:语言本身也是在不停的进化和发展的,新的词语层出不穷,一些老的词语渐渐被弃用。作为中文分词的基础----词库,其新词补充和老词删除就是非常重要的工作。“超级女声”、“超女”、“李宇春”、“八荣八耻”、“非典”,当这些新词的出现时,搜索引擎需要快速捕捉到,并且马上把其添加到分词系统中去。如何判断那些词是新词,这就全部倚靠算法来实现。新词捕捉主要来源于新闻和网络BBS论坛,主要机制是依靠统计程序,统计上升速度最高的词。另外作为搜索引擎公司,对众多用户的搜索词进行“用户行为”分析,也能提高其“新词补充”效果。三、中文分词和排序算法介绍(二)排序算法:搜索引擎的排序算法(rankingalgorithm),决定了各个网页、图片、MP3等数据的重要性排列顺序,也决定了最终用户查询到的数据排序。搜索引擎的排序算法是人工智能的完满体现,它是对百亿级数据进行重要性分析的数学实现。“PageRank”是Google公司在排序算法上的专利技术,也是Google能从众多搜索引擎公司中脱颖而出的最核心技术,作为其搜索服务能够超过其他竞争对手最有力的武器。不同搜索引擎公司排序算法的优劣,直接决定了广大搜索引擎用户对搜索服务的选择,在互联网上,一个普通用户更换搜索服务只需要5秒钟,所以排序算法就成为了各个搜索引擎公司最核心机密。另外,每个搜索引擎公司也必须不停地改进其排序算法。三、中文分词和排序算法介绍(二)排序算法:排序算法部分参考指标:指标加分减分网站硬件指标网站网络好,系统稳定网站系统不稳定,网络不好网站包含网页数总网页数目多总网页数目少网页大小网页大小适中网页多大或过小其他网页链到本网页数目多数目少网页内URL数数目适中过多或过少网页相关性URL连接网页是相关内容URL连接网页不是相关内容网页更新/生成日期日期近的日期远的网页类型静态网页动态网页网页内样式网页设计样式中等网页设计样式过于复杂或简单网页具体内容分词后,各个词权重总和高分词后,各个词权重总和低用户访问行为点击多的网页点击少的网页三、中文分词和排序算法介绍(二)排序算法:排序算法虽然解决了网页排序的问题,但是有时候有些搜索结果还是很难让用户满意。为此,搜索引擎排序算法一项重要改进:“聚类”,就被引进来提高排序效果。“聚类”方法,是把网页分类成各种不同类型,比如说:分类为“体育”、“娱乐”、“军事”、“旅游”、“金融”、“政治”、“汽车”、“房产”等。针对每一种分类,各自有一套专用的排序算法。当查询
本文标题:搜索引擎优化技术培训
链接地址:https://www.777doc.com/doc-978023 .html