搜索引擎的常见算法涵盖了从文档索引、相关性排序到用户意图理解的多个层面。以下是最核心且被广泛应用的算法体系,每个算法都针对搜索引擎的不同环节进行了优化。

PageRank 是谷歌创始的链接分析算法,通过网页之间的超链接关系计算网页重要性。其核心思想是:一个被越多高质量网页链接的页面,其权威性越高。该算法基于随机游走模型,通过迭代计算每个页面的权值,至今仍是链接分析的基础。
TF-IDF(词频-逆文档频率) 是最经典的相关性计算算法。TF(词频)衡量某个词在文档中出现的频率,IDF(逆文档频率)衡量该词在整个文档集合中的稀有程度。TF-IDF 的乘积即为该词对文档的权重,常用于搜索引擎中的关键词匹配与排序。
BM25(最佳匹配25) 是对 TF-IDF 的改进,属于概率检索模型。它引入了文档长度归一化、词频饱和函数等参数,能更准确地处理长文档和短查询之间的匹配问题。BM25 是当前多数搜索引擎(如 Elasticsearch)的默认相关性算法。
向量空间模型(VSM) 将文档和查询都表示为高维空间中的向量,通过余弦相似度计算两者夹角。该模型支持多词查询的语义匹配,但未考虑词序和上下文信息,后续被更先进的模型替代。
LSI/LSA(潜在语义索引/分析) 通过奇异值分解(SVD)对词-文档矩阵进行降维,捕捉词与词之间的隐含语义关系。它能解决同义词和多义词问题,提升搜索的召回率,但计算成本较高且难以增量更新。
HITS(超链接诱导主题搜索) 算法将网页分为两类:枢纽页面(Hub)和权威页面(Authority)。枢纽页面指向多个权威页面,权威页面被多个枢纽页面指向。通过迭代计算两者的得分,算法适用于特定主题的权威发现。
倒排索引 本身不是排序算法,而是搜索引擎最核心的数据结构。它通过“词-文档ID”的映射实现快速检索。所有相关性算法(如 TF-IDF、BM25)都依赖于倒排索引的构建与查询加速。
机器学习排序算法(Learning to Rank) 是现代搜索引擎的主流。常见模型包括RankNet(基于神经网络的 pairwise 排序)、LambdaMART(基于梯度提升决策树的 listwise 排序)以及GBRank。这些算法通过人工标注或用户点击数据训练模型,自动学习特征权重,排序效果远优于传统公式。
词嵌入算法(如 Word2Vec、GloVe) 将词语映射为低维稠密向量,捕获词语的语义相似性。搜索引擎利用词嵌入实现查询扩展、同义词识别和语义匹配,弥补传统词袋模型的不足。
BERT(来自 Transformers 的双向编码器表示) 是谷歌在 2019 年引入的深度语义理解模型。它通过双向 Transformer 架构理解上下文,能精准匹配查询与文档的深层语义,尤其在长尾查询和复杂意图识别上显著提升搜索质量。目前 BERT 及其变体(如 RoBERTa、ERNIE)已成为搜索引擎的标配。
此外,还有用于个性化搜索的协同过滤算法、用于实时搜索的布尔模型与扩展布尔模型,以及用于图片/视频搜索的视觉特征算法(如 SIFT、CNN 特征提取)。这些算法共同构成了现代搜索引擎的完整技术栈。

查看详情

查看详情