内容搜索排序表达式的最佳实践

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
智能开放搜索 OpenSearch向量检索版,4核32GB 1个月
推荐全链路深度定制开发平台,高级版 1个月
简介: 本文重点介绍"开放搜索"中的排序表达式的配置及特征性函数的应用

某新闻资讯平台,在内容搜索场景中需要满足业务多样化,个性化的需求,在query改写配置好后,希望在排序阶段进行优化,实现强大的相关性排序效果,提高用户点击率。今天会结合几个典型场景该如何来思考和设计排序因子,和大家详解特征性函数的应用

Query在开放搜索的执行流程

image.png

开放搜索排序表达式配置

image.png
接下来给大家分析几个常见的排序优化需求:

场景1:查询词和召回字段匹配程度排序优化
案例:当用户搜索“药品公司”,分词数量为2个:药品,公司,在召回结果包含的查询词分词个数相同情况下,如何把title“药品公司”排在“药品杭州分公司”的前面那?

开放搜索解决方案:应用排序相关性特征函数项field_match_ratio查询词的分词个数与召回字段的总词组字个数比值,比值越低,排序分越高.
image.png
详细用法:https://help.aliyun.com/document_detail/51287.htmlspm=a2c4g.11186623.6.626.64786ab8OOs7hM

场景2: 标签特征权重在“个性化”排序召回中的应用
案例: 当用户搜索"吃鸡",可能是游戏吃鸡内容搜索,也可以能是新闻内容搜索,如何把用户更感兴趣的游戏内容排到前面那?

开放搜索解决方案:匹配文档和请求中的标签tag_match 函数,用于对查询语句和文档做标签匹配,使用匹配结果对文档进行算分加权;
• 通过长时间的积累能获知每个用户的兴趣标签,可以和内容/商品标签对应,做到“个性化”排序
• 实现对用户感兴趣的帖子加权,把用户更感兴趣的内容/商品排到前面;
假设文档内容共有如下10类型的标签:
1-财经, 2-科技 ,3-体育 ,4-娱乐 ,5-时尚, 6-教育 ,7-旅游 ,8-游戏 ,9-科普 ,10-医疗
如果想将“8-游戏”标签的文档在前面展示,可设置tag_match函数
image.png
image.png
image.png
适用场景:此函数不仅试用于内容搜索场景,同样适用商品搜索场景,满足个性化商品排序
其他案例和用法:https://developer.aliyun.com/article/775488

场景3:根据查询词在title和body的紧密程度排序优化
案例:搜索"黑色幽默",意图是搜索title“周杰伦《黑色幽默》的歌曲”,但在数据库里有条文本body记录为“下雨了,天空是灰黑色的,即便幽默的人此时也比较烦闷”,导致这条记录也被召回,并且排序也比较靠前, 如何将title字段的紧密度在排序中起主导作用?

开放搜索解决方案:为了使这条不太相关的body记录排序靠后,title字段排序靠前, 可以使用fieldterm_proximity函数获取文档紧密程度的得分来实现. 此函数用来表示关键词分词词组在字段上的紧密程度,紧密度越高,排序分越高。精排公式写为:fieldterm_proximity(title)*10 + fieldterm_proximity(body)
详细用法:https://help.aliyun.com/document_detail/51281.html?spm=a2c4g.11186623.6.621.3c0938de1kdUfp

场景4:内容时效性
案例:用户对时间的敏感度越高,那么越希望得到新的内容,内容的时效性和整体的满意度直接相关,如何优化排序配置,满足内容排序的时效性敏感度?

开放搜索解决方案:运用函数timeliness--时效分,用于衡量文档的新旧程度, 值越大表示时效性越好
详细用法:https://help.aliyun.com/document_detail/51270.html?spm=a2c4g.11174283.6.636.121f5a19EWuQQM

场景5:关键词(分类、标题、作者)相关性排序优化
案例1:搜索“子女”,优化前排序结果“女装靴子/裤子/叶子”排在“预测子女性别”的前面,如何运用排序表达式优化把"子女"最相关的内容排序靠前那?
案例2: 在精排中对title和body进行文本算分,权重比为3:1

开放搜索解决方案:在精排中进行文本算分,关键词在字段上的文本匹配度-text_relevance函数,匹配度越高,分值越高,排序越靠前.
详细用法:https://help.aliyun.com/document_detail/51280.html?spm=a2c4g.11186623.6.635.287e42c3whTeg9


以上就是阿里云开放搜索内容行业"排序表达式及特征函数”的应用案例,如果您对搜索与推荐相关技术感兴趣,欢迎加入钉钉群内交流~

image.png


【开放搜索】新用户活动:阿里云实名认证用户享1个月免费试用 https://free.aliyun.com/product/opensearch-free-trial
目录
相关文章
接口数据多条件搜索(模糊查询)
接口数据多条件搜索(模糊查询)
204 0
|
自然语言处理 索引
ES 匹配多个搜索条件和精确查询
ES 匹配多个搜索条件和精确查询
|
2月前
|
Java 程序员
JavaSE——正则表达式(2/2):应用案例、查找信息、用于搜索替换、分割内容
JavaSE——正则表达式(2/2):应用案例、查找信息、用于搜索替换、分割内容
16 0
|
3月前
|
SQL 前端开发 Java
实现数据的搜索( 筛选 )功能
实现数据的搜索( 筛选 )功能
|
9月前
|
小程序 JavaScript
小程序搜索弹出搜索内容功能(模糊查询)
小程序搜索弹出搜索内容功能(模糊查询)
53 0
|
11月前
|
数据采集 开发者
|
前端开发 JavaScript
多条件搜索
多条件搜索
77 0
|
SQL 索引
白话Elasticsearch03- 结构化搜索之基于bool组合多个filter条件来搜索数据
白话Elasticsearch03- 结构化搜索之基于bool组合多个filter条件来搜索数据
285 0
|
SQL Java
白话Elasticsearch04- 结构化搜索之使用terms query搜索多个值以及多值搜索结果优化
白话Elasticsearch04- 结构化搜索之使用terms query搜索多个值以及多值搜索结果优化
500 0