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