召回定制同义词

更新时间:
复制 MD 格式

功能简介

在进行搜索文本召回前,开放搜索会对用户输入关键词进行查询语义分析和处理。其中,同义词功能主要是对查询词进行同义扩展,扩大召回和查询词同义的文档。由于业务场景的多样性,不同行业不同业务都有各自的特殊性,只有具体到应用级别的同义词模型才能保障最优的搜索效果。

OpenSearch提供了丰富的面向特定领域的同义词模型,用户可以基于对应的行业分析器,经过简单的配置训练得到专属的定制同义词模型。整个定制过程,同义词模型训练会自动抽取已有数据进行适配(如果用户已有一些个性化的同义词数据也支持导入优化训练模型,详情可联系技术同学)。

定制召回模型按照存储容量、计算资源、模型训练收费,具体价格请参考OpenSearch-行业算法版计费概述

快速搭建

召回定制-同义词模型从创建到使用需要经过以下三个步骤:

  1. 创建召回定制-同义词模型并开启训练;

  2. 配置查询分析并引用已训练的召回定制-同义词模型;

  3. 根据业务需求通过干预词典调整召回定制-同义词模型;

创建并训练模型

  1. 登录开放搜索管理控制台,依次点击OpenSearch-行业算法版->搜索算法中心->召回配置->定制召回模型->创建

  2. 按要求填写模型名称,选择同义词模型并选择训练字段,最后点击确认

    目标应用 下拉框中选择对应应用,模型名称需为1-30个字符、以字母开头,可包含大小写字母、数字和下划线。

说明
  • 模型名称在模型创建后无法修改;

  • 训练字段仅支持short_text、text类型;

  1. 您可以单击训练模型训练同义词模型,或单击查询分析配置在查询分析中使用该模型。单击完成关闭创建页面。

  2. 创建完成后, 新创建的模型状态模型不可用最新版本状态待训练,在定制召回模型列表页操作一栏中点击训练模型

说明
  • 模型训练根据数据量的大小不同、耗时也不同,一般数小时即可训练完成;

  • 模型可重复训练,每次训练完成后,会在详情页中训练历史下新增一个模型版本,编号逐一递增。

  1. 已训练完成的同义词模型的模型状态可用最新版本状态已训练并就绪

配置查询分析

配置查询分析规则时,勾选同义词功能,在其词典使用中选择定制模型定制同义词模型选择上述新建的模型,定制同义词模型版本选择最新版本,干预词典可选,配置完成后,点击确认:在编辑规则弹窗中,勾选功能选择区域的同义词复选框,在右侧展开的同义词配置面板中,词典使用选择定制模型,选择定制同义词模型(例如 my_test)和模型版本(例如 2),并选择干预词典(例如 syn)。

说明
  • 若未创建查询分析,请先创建查询分析规则;

  • 相关文档:创建同义词干预词典以及添加同义词干预词条,参考同义词干预词典

详情页说明

同义词模型列表页介绍

同义词模型类列表页

列表中模型类型包含同义词模型调权重模型文本分析器模型,操作列提供详情训练模型等选项,页面顶部有创建按钮用于新建定制模型。

说明
  • 同义词模型列表包含模型名称模型类型模型状态最后训练开始时间最新版本状态操作等。

  • 已被引用的定制召回模型不可删除;

同义词模型详情页介绍

详情页包含基本信息配置信息训练历史三个部分。

1、定制同义词模型训练成功后可点击详情后在点击引用规则下的查看,展示引用当前同义词模型的查询分析规则

在左侧导航栏搜索算法中心 > 召回配置页面,单击定制召回模型页签,在模型列表中找到目标同义词模型,在其操作列单击详情。其中基本信息区域展示创建时间、最后训练开始时间、模型状态(如"可用")和最新版本状态(如"已训练并就绪");配置信息区域展示训练字段(如title);训练历史表格包含模型版本、版本状态、训练开始时间、训练结束时间、引用规则和操作(含删除)列。

2、查看效果测试

训练历史表格中,找到目标模型版本,单击其操作列的效果测试。在效果测试界面中,可在测试输入框中输入查询词,查看对应的同义词扩展结果

3、查看效果对比

页面展示模型差异率,以百分比形式汇总两个模型的同义词结果差异程度,差异词条以红色文字标注。

说明
  • 同义词模型可选系统内置模型、当前模型的不同版本,点击对比后,在下方展示同义词效果对比

  • 典型case对比展示最多200个同义词结果不同的情况,包含文本、同义词模型1结果、同义词模型2结果

  • 可在测试文本中输入测试query,测试相应的同义词结果

搜索测试页面展示

  1. 可以在开放搜索管理控制台,左侧菜单依次点击OpenSearch-行业算法版->功能扩展->搜索测试页面,测试效果:

在搜索测试页面输入查询词 default:'药品',经过同义词扩展后,实际查询词被改写为 (default:'药品') OR (default:'药物') OR (default:'药用' AND default:'品') OR (default:'医疗' AND default:'药品')。右侧 Query改写分析 面板中 同义词 行显示扩展结果为 药物/药用品/医疗药品 药品

  1. 如需查看每次搜索的请求消耗了多少计算资源,可以添加自定义参数:fetch=result:compute_cost,并开启源码模式:在搜索测试页面,设置查询子句为 default:'药品',参数中添加 fetch=result:compute_cost 以获取算力消耗(LCU)明细。搜索结果 JSON 响应的 compute_cost 字段包含 algos 数组,其中可查看同义词算法(function: "synonym")对应的计算开销(如 value: 5),以及索引整体 LCU 消耗值(如 value: 6.44)。

  2. 如果双模型或多模型进行索引搜索时中间以OR做连接。

查询语句示例为 zw_ds_model:'搜索' OR it_model:'黑',返回的 compute_cost 结构中包含 algos 数组,每个元素展示一个 analyzer 的 name 和计算代价 value,其中 zw_ds_modelit_model 的 value 均为 2.1,表示两个模型各自的计算消耗。

功能限制

  • 该功能仅在行业算法版-独享集群实例中支持;

  • 单个实例最多创建5个定制模型,单个模型的版本个数最多为3个;

  • 基于应用创建的定制召回模型不可跨应用配置;