【搜索引擎原理】搜索引擎预处理工作原理

1.jpg

  通过上边编者对搜索引擎预处理概念的一个简单的介绍,想必各位读者有一定的了解,那么在众多预处理的流程中具体究竟是怎样的一个工作流程呢?下面就让我们一起看一下搜索引擎在预处理中的各个工作流程!


  1.关键词的提取:搜索引擎能够完全识别的主要还是以文字内容为主的网络资源。搜索引擎蜘蛛在爬取一个页面的同时也把大量的HTML代码抓取下来,如keywords,description,title,H,css,div标签等,而它的主要工作还是将HTML标签、程序等处理,然后提取用于排名计算的文字信息内容。


  2.删除重复无用词:同一个词在一个网页中出现很多次,如“得”、“我”、“的”、“你”、“地”、“啊”、.“呀”、“却”、“再”、“从而”等这类的无用助词,出现的频率虽然很高,但是一旦反复出现就没太大价值了,一般这类词就归结为停用词。这类词也需要去除掉。


  3.中文分词技术:分词是中文搜索引擎独有的技术支持。中文信息和英文信息的差别在于:英文单词与单词之间用的是空格分隔的,这对中文就行不通了,搜索引擎必须将整个句子切割成小单元词,如“我是中国人”拆分出来的形态是“我”、“是”、“中国”、“人”。分词技术的效率直接影响到整个系统的效率。


  分词的方法基本上有两种:基于字符串匹配的分词方法和基于统计的分词方法。


  1)基于字符串匹配的分词方法


  按匹配方向的不同,可分为正向匹配、逆向匹配和最少切词。可将这三种方法混合起来使用,即正向最大匹配、逆向最大匹配、正向最小匹配、逆向最小匹配。


  正向最大匹配:假设字典中最长的词语字数为m,先根据汉语标点符号及特征词把汉语句子切分为短语,然后去取短语的前m个字,在字库里面查找是否存在这个词语,如果存在,短语就去掉这个词;如果不存在就去掉这m个字的最后一个字,接着检查剩下的词是否是单字,若是则输出此字并将此字从短语中去掉,若不是则继续判断字库中是否存在这个词,如此反复循环,直到输出一个词,此后继续取剩余短语的前m个字反复循环。这样就可以将一个短语分成词语的组合了。


  以“我是一个好人”为例,假设字典中最长词语字数为3,正向最大匹配顺序为:


  (1)取出短语“我是中”,检查“我是中”是否在字典中存在或是一个单字,处理方式是去掉最后面的“中”字;


  (2)检查短语“我是”是否在字典中存在或是一个单字,处理方式是去掉“是”字;


  (3)检查“我”字是否在字典中存在或是一个单字,“我”是一个单字,将“我”字输出;


  (4)继续取出短语“是中国”,检查“是中国”是否在字典中存在或是一个单字,处理方式是去掉最后面的“国个”字;


  (5)检查短语“是中”是否在字典中存在或是一个单字,处理方式是去掉“中”字;


  (6)检查“是”字是否在字典中存在或是一个单字,“是”是一个单字,将“是”字输出;


  (7)取出短语“中国人”,检查“中国人”是否在字典中存在或是一个单字,处理方式是去掉最后面的“好”字;


  (8)检查短语“中国”,发现是字典中的一个词,直接输出;


  (9)检查短语“国人”,发现是字典中的一个词,直接输出;


  (10)最后输出结果为:我、是、中国、人。


  逆向最大匹配:以句子结尾处进行分词的方法。逆向最大匹配技术最大的一个作用是用来消歧。如“富营销线下聚会在下城子镇举行”按照正向最大匹配结果为:富/营销/线/下/聚会/在/下/城子镇/举行,很显然这当中差生了歧义。下城子镇是一个地名,没有被正确地切分。采用逆向最大匹配的技术可以修正这个错误。例如设定一个分词节点大小为7,那么“在下城子镇举行”中很显然“举行”被分出来了,最后剩下“聚会在下城子镇”,这样一来歧义就被消除了。


  正向最小匹配/逆向最小匹配:一般很少使用到,实际使用中逆向匹配的精准度要高于正向匹配度。


  2)基于统计分词方法


  直接调用分词词典中的若干词进行匹配,同时也使用统计技术来识别一些新的词语,将所有的统计结果匹配起来发挥切词的最高效率。


  分词词典是搜索引擎判断词语的依据,基本上收录了汉语词典当中所有的词语。如我们在搜索引擎中输入“我要减肥了”,“减肥”两字就会被判定为一个词语。现在网络上经常会出现一些新造的网络流行词语如“神马”、“犀利哥”等,这样的词也都会慢慢地被收录。分词词典只有不断更新才能满足我们日常搜索判断的需求。


  4.消除噪声:网页上有各种形形色色的广告文字、广告图片、登录框、版权信息等,为了某些目的不得不放上去,这些对搜索引擎来说不是有用的东西,可以直接去掉。


  5.分析网页建立倒排文件:正向索引:经过前面几步的工作之后就开始提取关键词了,把页面转换为一个关键词组合,同时记录每一个关键词在页面上的出现频率、出现次数、格式、位置,这样每一个页面都可以记录为一串关键词组合,其中每个关键词的词频、格式、位置等权重信息也都记录在案,如图1-10所示。


  倒排索引:正向索引还不能直接用于排名。假如用户搜索关键词3,如果只用正向索引,排名程序需要扫描所有的索引中的文件,找出包含关键词3的文件,再进行相关计算。这样一来计算无法实时返回排名结果。所以搜索引擎会将正向索引数据库重新构造为倒排索引,倒排索引以关键词为索引,如图1-11所示。


  6.链接关系计算:链接关系计算是预处理中重要的一步。主流搜索引擎排名因素都包含网页之间的链接流信息。事先必须计算出页面上有哪些链接指向哪些其他页面,每个页面有哪些导入链接,链接使用了什么锚文本等种种的链接计算。GooglePR是这种链接关系计算的重要代表之一。


  7.特殊文件处理:可以抓取和索引以文字为基础的多种文件类型。对flash、视频、PPT,XLS,图片等非文字内容不能执行脚本和程序。搜索引擎目前还无法获取flash文件和图片中的文字信息。图片一般推荐使用ALT标签图片文字信息。