【王树森搜索引擎技术】概要04:搜索引擎的链路(查询词处理、召回、排序)

搜素引擎的链路

  • 分为查询词处理,召回,排序

查询词处理

分词

  • 分词:冬季卫衣推荐 -> 冬季 / 卫衣 / 推荐
  • 为什么要做分词:文本召回根据词在倒排索引中检索文档
  • 倒排索引的 key 大多是 冬季,卫衣, 推荐这样的常用词,数量不大
  • 加入倒排索引的 key 是冬季卫衣推荐这样的词,倒排索引会过于巨大

词权重

  • 冬季卫衣推荐 -> 冬季 / 卫衣 / 推荐,三个词同等重要吗"?可以丢弃某个词吗?
  • 词权重:卫衣>冬季>推荐
  • 为什么要计算词权重?如果查询词太长,没有文档可以同时包含其中的所有词,需要丢弃不重要的词
  • 计算查询词与文档相关性时,可以用词权重做加权

类目识别

  • 每个平台都有各自的多级类目体系
    • 一级类目:美妆
    • 二级类目:彩妆,护肤,美甲,香水
  • 用NLP技术实别文档,查询词的类目
    • 在文档发布或被爬虫获取到时,离线识别文档类目
    • 在用户做搜索时,在线实别查询词的类目
    • 召回模型,排序模型将文档,查询词类目作为目的特征

查询词意图识别

  • 时效性意图:查询词对文档"新"的需求,召回和排序均需要考虑文档的年龄
  • 地域性意图:召回和排序不止需要文本相关性,还需要结合用户定位地点,查询词提及的地点,文档定位的地点
  • 用户名意图:用户想要找平台中某位用户,应当检索用户名库,而非检索文档库
  • 求购意图:用户可能想要购买商品,同时在文档库,商品库中做检索
  • 还有很多别的意图,一个查询可能包含多个意图

查询词改写

  • 用户输入查询 q,算法将其改写为多个查询词
  • 查询词改写有什么用?
  • 第一:解决语义匹配,但文本不匹配的问题
  • 解决召回文档数量过少的问题

召回

  • 给定查询词 q,从文档库中快速检索数万篇可能与 q 相关的文档 d
  • 文本召回:借助倒排索引,匹配 q 中的词和 d 总的词
  • 向量找回:将 q 和 d 分别表征为向量 x q x_q xq 和 z d z_d zd ,给定 x q x_q xq ,查找相似度高的 z d z_d zd
  • KV召回,对于高频查询词 q, 离线建立 q->List(d) 这样的 key-value 索引。线上直接读取索引,获取 q 相关的文档

文本召回

  • 离线处理文档,建立倒排索引。
  • 给定词 t,可以快速找到所有包含 t 的文档
  • 给定查询词 q,做分词得到多个词 t 1 . ⋅ ⋅ ⋅ . t k t_1. ···. t_k t1.⋅⋅⋅.tk
  • 对于每个词 t i t_i ti ,检索倒排索引,得到文档的集合 D i D_i Di
  • 求 k 个集合的交集,作为文本召回的结果
  • 交集可能很小,甚至为空。因此需要对 q 做丢词,改写

向量召回

KV召回

排序

  • 前面的内容,相关性最重要

相关推荐
SEO_juper13 小时前
AI 搜索时代:引领变革,重塑您的 SEO 战略
人工智能·搜索引擎·seo·数字营销·seo优化
Blossom.11815 小时前
把 AI 推理塞进「 8 位 MCU 」——0.5 KB RAM 跑通关键词唤醒的魔幻之旅
人工智能·笔记·单片机·嵌入式硬件·深度学习·机器学习·搜索引擎
澳鹏Appen1 天前
在多语言大模型中保留文化细微差别:超越翻译
搜索引擎
qqxhb1 天前
零基础数据结构与算法——第七章:算法实践与工程应用-搜索引擎
算法·搜索引擎·tf-idf·倒排索引·pagerank·算法库
SEO_juper2 天前
搜索引擎核心机制解析
搜索引擎·seo·数字营销·seo优化·谷歌seo
janthinasnail2 天前
使用Docker安装MeiliSearch搜索引擎
搜索引擎·docker
JJTX003 天前
入门基础人工智能理论
人工智能·搜索引擎
worxfr3 天前
轻量级开源全文搜索引擎:Manticore Search 入门介绍
搜索引擎·开源
Elastic 中国社区官方博客3 天前
Elasticsearch:如何使用 Qwen3 来做向量搜索
大数据·人工智能·elasticsearch·搜索引擎·全文检索
xiao-xiang3 天前
elasticsearch mapping和template解析(自动分词)!
大数据·elasticsearch·搜索引擎