搜索引擎中的相关性模型

一、什么是相关性模型?

相关性模型主要关注的是query和doc的相关性。例如给定query,和1000个doc,找到哪个doc是好query最相关的。

二、为什么需要相关性模型?

熟悉es的应该都熟悉BM25相关性算法。它是一个很简单的相关性算法。我们实际使用中,经常会遇到一个问题就是如何。搜的内容和我给定的query不相关。换句话说,返回的结果不包含先要的结果。

相关性是一个复杂的问题。不是简单的Bm25算法。我们需要相关性模型来更好的做这件事。

三、相关性模型

交叉BERT模型,准确性好,推理代价大,更适合用在粗排或者精排阶段。

双塔BERT模型,不够准确,但是推理代价小。适合用来召回阶段。

3.1 交叉BERT模型

分词:字粒度与词粒度

如何减低交叉BERT模型的推理成本

3.2 双塔BERT模型

四、训练相关性模型

4.1 微调

回归任务

排序任务

4.2 后预训练

从事发后,从以发生的事中,去再提升当前的能力。通过用户的点击行为来有优化模型。

4.2.1 数据筛选

4.2.2 后训练,构造训练数据

挑选用户的点击数据。得到query,topk的doc,以及用户的点击行为x。然后抽样几万条数据,去人工标注,标注得到相关性y,然后用这几万条数据去训练一个小模型来计算点击行为x和相关性y的关系。然后再用这个小模型去预测10亿条数据的相关性分数。

4.3 蒸馏

蒸馏是把一个大模型变成一个小模型。为什么要蒸馏,模型越大,推理成本越大,时间成本也越大,当然也越准确。

4.3.1 为什么要蒸馏?

用大模型,蒸馏得到小模型,最终的效果比直接训练一个小模型得到的效果更好。

4.3.2 如何做蒸馏

蒸馏的技巧

相关推荐
视觉&物联智能4 小时前
【杂谈】-大型语言模型对具身人工智能发展的推动与挑战
人工智能·搜索引擎·语言模型·大模型·llm·具身人工智能
Elastic 中国社区官方博客11 小时前
Elasticsearch:使用机器学习生成筛选器和分类标签
大数据·人工智能·elasticsearch·机器学习·搜索引擎·ai·分类
三天不学习2 天前
JiebaAnalyzer 分词模式详解【搜索引擎系列教程】
前端·搜索引擎·jiebaanalyzer
三天不学习2 天前
Lucene.Net FSDirectory 和 RAMDirectory 的区别和用法 【搜索引擎系列教程】
搜索引擎·.net·lucene
LuckyRich12 天前
【boost搜索引擎】下
开发语言·c++·搜索引擎
白雪讲堂2 天前
AI搜索品牌曝光资料包(精准适配文心一言/Kimi/DeepSeek等场景)
大数据·人工智能·搜索引擎·ai·文心一言·deepseek
DavidSoCool2 天前
es分页边界数据重复问题处理
大数据·elasticsearch·搜索引擎
GOTXX4 天前
BoostSiteSeeker项目实战
前端·c++·后端·mysql·搜索引擎·项目实战·boost
mooyuan天天4 天前
黑帽SEO之搜索引擎劫持-域名劫持原理分析
搜索引擎·seo搜索引擎劫持·seo域名劫持
yangmf20404 天前
私有知识库 Coco AI 实战(一):Linux 平台部署
大数据·linux·运维·人工智能·elasticsearch·搜索引擎·全文检索