流程介绍
温馨提示:图中的内容必须都配置上,类目预测才会生效。
流程演示
创建并训练类目预测模型
在左侧导航栏中,进入排序配置->类目预测页面,点击“创建”,进入创建流程。
进入创建流程后,需要填入模型名称,数据类型,商品ID,商品标题,类目ID,类目名称,过滤条件等信息。
数据类型:
物品数据即为当前应用中已有的文档数据,但需要应用中需要事先保存类目ID、物品标题以及类目名称三个字段的数据;
行为数据为上传的用户点击行为采集数据,具体可参考数据采集文档。
类目ID:应用中表示类目ID的字段,支持INT类型。必填。
物品标题:应用中表示物品标题的字段,支持TEXT、LITERAL类型。必填。
类目名称:应用中表示类目名称的字段,支持TEXT、LITERAL类型。必填。
过滤条件:选填。如果要填写,需要保证过滤条件中出现的字段名称必须是应用结构中的字段名称。过滤条件支持的操作运算符有:<、>、<=、>=、=、!=。多个过滤条件之间为AND关系,必须要使用英文逗号(,)分隔,表示且关系(暂不支持或关系)。例如,过滤条件为 is_onsale > 0。
配置完成后点击完成进入类目预测模型详情页:
模型创建完成后,返回类目预测页面,看到模型状态为“待训练”,点击“启动训练”,训练模型数据。
类目预测训练状态:
待训练:表示模型刚创建完成,但未做数据训练的模型。
训练中:表示模型创建完成后进入训练但还未完成训练的模型。
训练失败:表示数据错误造成的模型训练失败的模型。
未应用:表示模型训练成功,但并未在召回和排序功能中应用该模型。
配置查询分析和排序表达式
在左侧导航栏中,进入召回配置->查询分析页面,点击“创建”,进入创建流程。
进入创建流程后,按下图流程进行规则的编辑和创建。
然后在粗排或者精排中生效类目预测模型。在左侧导航栏中,进入 排序配置->策略管理 页面,点击“创建”,进入创建流程。
以下为应用到基础排序中的流程:
进入创建流程后填写策略名称,首先选择基础排序(第一轮粗排),选择类型(目前控制台配置仅支持表达式,后续还会支持自定义插件)。
然后在排序配置中,选中算分特征下的category_score()
并配置搜索字段以及该算分特征的权重,并保存配置。
以下为应用到业务排序中的流程:
进入创建流程后填写策略名称,首先选择业务排序(第二轮精排),选择类型(目前控制台配置仅支持表达式,后续还会支持自定义插件)。
2.然后在排序配置中,选中内置函数下的category_score(cate_id_field)
3.将cate_id_field改为模型的类目ID,并保存配置。
4.模型应用成功后的状态。
5.搜索测试效果展示,需要添加参数raw_query=查询词。
通过SDK调用查询接口
设置查询参数raw_query:
用于类目预测查询;只有查询词和raw_query的内容一致时,查询时,才会去查查询分析中配置的类目预测;
一般建议设置为终端用户输入的原始查询词。格式:
raw_query=content //API传参content需要URL_ENCODE(SDK不需要encode);content为原始查询词
实例:假设某个应用的查询分析规则配置如下表所示:
索引名 | 查询分析规则名 | 配置类目预测 |
index1 | rule1 | No |
index2 | rule2 | Yes |
index3 | rule3 | Yes |
查询的索引没有配置类目预测,请求中有raw_query,不会查询类目预测,查询正常返回;
查询的索引没有配置类目预测,请求中无raw_query,不会查询类目预测,查询正常放回;
查询的索引配置类目预测,请求中无raw_query,不会查询类目预测,查询正常返回:a.
query=index2:'search_query'
查询的索引配置类目预测,请求中有raw_query,但和查询索引中的查询词不同,不会查询类目预测,查询正常返回:a.
query=index2:'search_query'&raw_query=raw_query
查询的索引配置类目预测,请求中有raw_query,且和查询索引中的查询词相同,查询类目预测,查询正常返回:a.
query=index2:'search_query'&raw_query=search_query
查询包含多个索引时,且query中有raw_query:a.
query=index2:'index_query' AND index3:'search_query'&raw_query=search_query # 类目预测在index3上生效;
b.query=index2:'search_query' AND index3:'search_query'&raw_query=search_query # 类目预测会优先在index2上生效,如没有结果,会查询index3上的类目预测
注意事项
单个应用最多创建5个类目预测模型。
查询分析规则中配置的类目预测模型,其训练字段必须是该包含在该查询规则所应用的索引中;
在创建类目预测模型之前,需要保证类目预测所使用的相关字段(类目ID)已添加到属性字段列表中
当查询分析中配置了类目预测时,如果查询请求中设置了category_prediction参数,查询会报错。
必须同时配置了查询分析(类目预测)、排序表达式(category_score)、查询时带有固定参数(raw_query),类目预测模型才会生效。
类目ID必须为正数,不能为负数,否则查询会报错server error。
相关管控API:算法周边
进阶
查询规则中配合实体识别功能使用类目预测,可以扩大类目预测的召回。查询分析会更加实体识别的结果,在原query查询得到类目预测无结果时,会按照一定规则对query进行丢词,进一步查询类目预测,并将丢词后的类目预测结果作为最终的类目预测结果返回。具体见实体识别的文档。
目前支持对训练出的类目预测模型进行人工干预。用户实现干预操作的过程与查询分析干预类似,类目预测干预的操作步骤,请点击查看文档。