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