目录
业务痛点
在搜索的查询分析阶段,词权重会分析查询中每一个词在文本中的重要程度,并将其量化成权重,权重较低的词可能不会参与搜索召回。使用词权重模型,可以避免当用户输入的查询词中包含一些权重低的词时,仍然按原输入限制召回,导致命中结果过少。因此,词权重能有效提升搜索的召回率,是搜索查询分析阶段不可缺少的功能。
痛点1:行业属性强
客户的搜索应用往往都属于特定的行业,通用词权重模型应用在特定行业时由于缺乏行业知识,会出现比较多的badcase影响召回排序效果。
基于行业模型可以缓解词权重模型在客户搜索应用上的适配问题,但客户的数据分布如果属于行业中的特定垂类或者没有对应的行业可以挂靠,就需要基于客户数据做定制词权重才能达到最好的效果。
痛点2:自建模型难度大、成本高、周期长
自建词权重模型主要包含以下流程:
难点1:词权重标注领域知识要求高,对于查询词中不同词在搜索引擎中的重要性判断难。同时数据量也至少需要达到万级别,耗时可能长达数月。
难点2:模型训练门槛高,需要专业的算法从业人员进行调试,且模型效果、迭代效率强依赖与算法工程师的投入和能力。
难点3:模型部署、运维流程复杂,需要工程、算法、运维等多方参与,且深度模型的上线还涉及性能、效率相关的诸多优化。
开放搜索轻量化定制词权重解决方案
方案介绍
在进行搜索文本召回前,开放搜索会对用户输入关键词进行查询语义分析和处理。由于业务场景的多样性,不同行业不同业务都有各自的特殊性,只有具体到应用级别的词权重模型才能保障最优的搜索效果。
与分词相比,词权重会在召回与相关性排序两个阶段都发挥作用。在召回阶段,词权重模型会给每个搜索词打上相应权重分。第一次查询,低权重的词在查询中不强制要求有命中但会参与算分。如果第一次查询零结果或少结果,第二次查询会把低、中权重的词都不强制要求有命中,从而扩大召回。相关性排序阶段,词权重模型给每个搜索词的权重会参与到相关性特征计算中。都有命中的情况下,包含高权重词的文档分数会更高,从而排序更为靠前。定制词权重模型基于客户自身的业务数据量身打造,大幅提升搜索效果。
OpenSearch提供了丰富的面向特定领域的词权重模型,用户可以基于对应的行业分析器,经过简单的配置训练得到专属的定制词权重模型。训练完成后,用户可在控制台中查看差异率、典型词权重case对比等模型效果,等到效果符合预期后,即可在开放搜索中使用该定制词权重模型,并支持词权重效果人工干预。
整个定制过程无需进行额外的数据对接,词权重模型训练会自动抽取已有数据进行适配。
适用客户
- 搜索为核心业务重要场景,对搜索有更高效果要求的客户
- 行业、垂类、业务特殊,有较多专属名词的客户
- 搜索投入人力有限,算法同学相对较少的客户
使用方法
- 导入业务数据
- 创建词权重模型,选择训练字段并创建模型
- 模型训练完成后,在查询分析中引用词权重模型
更多使用说明请参考:召回定制词权重 - 智能开放搜索 OpenSearch - 阿里云
效果对比
电商场景效果对比
原文 | 电商通用词权重 | 定制词权重 |
冬天四件套礼物 | 冬天:中 四件套:高 礼物:高 | 冬天:中 四件套:高 礼物:低 |
小熊数显暖手宝 | 小熊:低 数显:中 暖手宝:高 | 小熊:中 数显:低 暖手宝:高 |
除颤仪兼容包 | 除颤仪:高 兼容:中 包:低 | 除颤仪:中 兼容:低 包:高 |
22年挂历 | 22:低 年:低 挂历:高 | 22:中 年:低 挂历:高 |
内容场景效果对比
原文 | 通用词权重 | 定制词权重 |
势函数 | 势:低 函数:高 | 势:高 函数:低 |
get post区别 | get:中 post:高 区别:低 | get:高 post:高 区别:低 |
ktv点歌系统 | ktv:中 点歌:高 系统:中 | ktv:高 点歌:中 系统:低 |
小结:
- 如果您的业务目前正在或准备使用开放搜索的行业版,可以在行业模型的基础上训练定制词权重模型;
- 如果开放搜索还没有提供与您业务接近的行业版,建议选择在通用版模型的基础上训练定制词权重模型,这种情况需要数据尽量丰富,分布尽量全面均衡,有助于提升模型效果;
- 开放搜索目前支持定制分词器、定制词权重模型,后续还会提供更多定制召回模型,敬请期待~