2.6 结果排序

搜索引擎除对网络爬虫爬取的网页进行处理,将它们结构化成倒排索引外,还有一项重要工作就是响应用户的查询需求。

搜索引擎系统接收用户提交的查询字符串后,对字符串进行分词,去除不必要的停用词等无意义词汇后,进行倒排索引的查询。多个关键词的倒排索引查询结果的交集即为搜索的结果。

而搜索的结果往往是需要进一步处理的,如一般都会进行排序。搜索结果排序是搜索引擎查询服务的核心所在。排序结果决定了搜索引擎体验的好与坏、用户的使用满意度和搜索引擎的口碑。

搜索结果的排序算法也是不断迭代发展的,早期主要基于查询词出现的频率来排序,随后出现了PageRank和相关性等算法排序。

一般而言,相关性算法主要考虑的因素有关键词的使用频率、关键词在网页中的词频、关键词出现在所在网页的位置、关键词间的距离、网页链接及重要性。其中,关键词的使用频率指的是日常生活用词的频率,如“有的”“有点”“可能”“非常”这些词经常出现在日常交流过程中,但在搜索引擎看来,这些词汇的意义并不大。

关键词在网页中的词频越高,意味着出现次数越多,说明页面与搜索词的关系越密切。

关键词出现在所在网页的位置是指关键词是否出现在了比较重要的位置,如标题。关键词出现在所在网页的位置越重要,说明页面与关键词越相关。一般而言,倒排索引库在建立时,关键词出现在所在网页的位置是会被记录在其中的。

关键词间的距离指的是多个关键词在页面上出现的位置的接近程度,关键词间越接近,说明在该网页与搜索词字符串的相关度越高。

网页链接及重要性指的是页面有越多以搜索词为关键词的导入链接,说明页面的相关性越强;链接分析还包括了链接源页面本身的主题、目标文字周围的文字等。

当然,在目前的搜索引擎中,还都不约而同地引入了用户行为分析、数据挖掘等技术,来提升搜索结果的质量。