搜索引擎(三)

来源:互联网 发布:深圳电商公司知乎 编辑:程序博客网 时间:2024/04/29 11:14

 搜索引擎分为搜索器,索引器,检索器,人机接口四部分(如下图)。建立索引是个复杂的过程,索引数据库是搜索引擎前端和后端的联系桥梁,可以说起到了管理器的作用。 下面对整个过程做个简要介绍: (1)搜索器(俗称的网络蜘蛛Robot)从互联网上抓取网页,把网页送入网页数据库,从网页中“提取URL”,把URL送入URL数据库,网络蜘蛛根据得到网页的URL,继续抓取其它网页,反复循环直到把所有的网页抓取完成。 (2)系统对抓取的网页进行分类过滤后存入网页数据库,再对网页内容进行分析,送入索引器模块建立索引,形成“索引数据库”。同时进行链接信息提取,把链接信息(包括锚文本、链接本身等信息)送入索引数据库相关表(链接数据库),为网页评级提供依据。 (3)用户通过查询界面提交查询请求给查询服务器,服务器在“索引数据库”中进行相关网页的查找,同时“网页评级”把查询请求和链接信息结合起来对搜索结果进行相关度的评价,通过查询服务器按照相关度进行排序,并提取关键词的内容摘要,组织最后的页面返回给用户。 在上面的几个环节中,每个部分都可采用不同的技术和模型实现,下面分别做出分析和比较: 一、搜索器-信息采集技术 详细内容见我的另一篇文章:NetSpider初探,这里主要强调下信息过滤的重要性,由于在互联网中,存在有大量的无用信息,一个好的搜索引擎应当是尽量减少垃圾内容的数量。这是信息过滤要着重解决的问题。 二、索引器-信息索引技术 信息索引就是创建文档信息的特征记录(如标题,作者,关键字,时间等),以使用户能够快速地检索到所需信息。建立索引一般有如下几个处理步骤: (1)识别文档中的词 (2)删除停用词(stop words) (3)提取词干(stemming) (4)用索引项的标号代替词干(stems) (5)统计词干的数量( tf词频率) (6)计算所有单个词项、短语和语义类的权重 建立索引的问题: (1)信息语词切分和语词词法分析 语词是信息表达的最小单位。由于语词切分中存在切分歧意,切分需要利用各种上下文知识。语词词法分析是指识别出各个语词的词干,以便根据词千建立信息索引。 (2)进行词性标注及相关的自然语言处理 词性标注是指利用基于规则和统计(马尔科夫链)的数学方法对语词进行标注。基于马尔科夫链随机过程的n元语法统计分析方法在词性标注中能达到较高的精度。利用各种语法规则,识别出重要的短语结构。自然语言处理是指将自然语言理解应用在信息检索中,可以提高信息检索的精度和相关性。 (3)建立检索项索引 使用倒排文件的方式建立检索项索引。一般应包括“检索项”、“检索项所在文件位置信息”以及“检索项权重”等信息。 三、检索器-信息检索技术 信息检索过程大致有如下几个步骤: (1)给定查询 (2)对查询进行词干提取,算法和对文档的处理相同 (3)用索引编号代替词干 (4)计算查询词干的权重 (5)形成查询向量(VSM) (6)计算查询向量和文档向量之间的相似度 (7)返回排序后的文档集合给用户 搜索引擎所使用的信息检索模型主要有布尔逻辑模型、模糊逻辑模型、向量空间模型以及概率模型等。 (1)布尔逻辑模型 布尔型信息检索模型是最简单的信息检索模型,用户利用布尔逻辑关系构造查询式并提交,搜索引擎根据事先建立的倒排文件确定查询结果。标准布尔逻辑模型为二元逻辑,并可用逻辑符("and". "or". "not")来组织关键词表达式。布尔型信息检索模型的查全率高,查准率低,为目前大多数搜索引擎所使用。 (2)模糊逻辑模型 这种模型在查询结果处理中加入模糊逻辑运算,将所检索的数据库文档信息与用户的查询要求进行模糊逻辑比较,按照相关的优先次序排列查询结果。模糊逻辑模型可以克服布尔型信息检索模型查询中结果的无序性问题。例如,查询“搜索引擎”,则关键词“搜索引擎”出现次数多的文档将排列在较前的位置上。 (3)向量空间模型 向量空间模型用检索项的向量空间来表示用户的查询要求和数据库文档信息。查询结果是根据向量空间的相似性而排列的。向量空间模型可方便地产生有效的查询结果,能提供相关文档的文摘,并对查询结果进行分类,为用户提供准确的信息。 (4)概率模型 基干贝叶斯概率论原理的概率模型利用相关反馈的归纳学习方法,获取匹配函数,这是一种较复杂的检索模型。目前,商用信息检索系统主要以布尔模糊逻辑加向量空间模型为主,辅以部分自然语言处理技术来构造自己的检索算法。 四、人机接口-查询组合和结果处理技术 查询界面如何更人性化,符合大多数用户的查询习惯是个有待研究的问题。能否提供自然语言的检索,这部分处理过程实际上也会涉及到建立索引过程中的一些技术,比如分词,自然语言处理。还有问答式的搜索引擎,这些都是第三代智能化搜索引擎必须解决的问题。 再就是搜索引擎的检索结果通常包含大量文件,用户不可能一一浏览。搜索引擎一般应按与查询的相关程度对检索结果进行排列,最相关的文件通常排在最前面。搜索引擎确定相关性的方法有概率方法、位置方法、摘要方法、分类或聚类方法等。 还有就是对用户行为的分析,利用数据挖掘技术对搜索引擎的日志进行分析,得出用户搜索行为的模式,是提高搜索引擎个性化,人性化的必要手段。下面对最常用也是最重要的技术确定检索网页相关性的方法做个介绍: (1)概率方法 概率方法根据关键词在文中出现的频率来判定文件的相关性。这种方法对关键词出现的次数进行统计,关键词出现的次数越多,该文件与查询的相关程度就越高。 (2)位置方法 位置方法根据关键词在文中出现的位置来判定文件的相关性。认为关键词在文件中出现得越早,文件的相关程度就越高。 (3)摘要方法 摘要方法是指搜索引擎自动地为每个文件生成一份摘要,让用户自己判断结果的相关性,以便用户进行选择。 (4)分类或聚类方法 分类或聚类方法是指搜索引擎采用分类或聚类技术,自动把查询结果归入到不同的类别中。 (5)用户反馈方法 对收集的用户反馈信息进行分析,实际上是个自适应的过程,通过对检索行为模型的反复验证,一定会让客户体验的满意度越来越高