全部产品

类目预测功能使用

更新时间:2021-02-05 10:42

流程介绍

2温馨提示:图中的内容必须都配置上,类目预测才会生效。

流程演示

创建并训练类目预测模型

1.在左侧导航栏中,进入 排序配置->类目预测 页面,点击“创建”,进入创建流程。3

2.进入创建流程后,需要填入模型名称,样本集,类目id,物品标题以及类目名称和过滤条件等信息。4

  • 样本集:物品数据即为当前应用中已有的文档数据,但需要应用中需要事先保存类目id、物品标题以及类目名称三个字段的数据;

  • 行为数据为上传的用户点击行为采集数据,具体可参考数据采集文档

5

3.第一次使用行为采集时,需要点击“开通”,并稍作等待。6

4.开通完成后页面。7

5.接下去需要设置类目id、物品标题、以及类目名称等。

  • 类目id:应用中表示类目id的字段,支持INT类型。必填。

  • 物品标题:应用中表示物品标题的字段,支持TEXT、LITERAL类型。必填。

  • 类目名称:应用中表示类目名称的字段,支持TEXT、LITERAL类型。必填。

  • 过滤条件:选择模型训练数据的过滤条件。目前支持的条件有<,>,=,!=,>=,<=,多个条件请使用”,”分隔。选填。

备注:模型的备注说明。选填。8

6.模型创建完成后,返回类目预测页面,看到模型状态为“待训练”,点击“启动训练”,训练模型数据。9类目预测训练状态:

  • 待训练:表示模型刚创建完成,但未做数据训练的模型。

  • 训练中:表示模型创建完成后进入训练但还未完成训练的模型。

  • 训练失败:表示数据错误造成的模型训练失败的模型。

  • 未应用:表示模型训练成功,但并未在召回和排序功能中应用该模型。

配置查询分析和排序表达式

1.在左侧导航栏中,进入 召回配置->查询分析 页面,点击“创建”,进入创建流程。10

2.进入创建流程后,按下图流程进行规则的编辑和创建。11

3.然后在粗排或者精排中生效类目预测模型。在左侧导航栏中,进入 排序配置->策略管理 页面,点击“创建”,进入创建流程。12以下为应用到基础排序中的流程:1.进入创建流程后填写策略名称,首先选择基础排序(第一轮粗排),选择类型(目前控制台配置仅支持表达式,后续还会支持自定义插件)。13

2.然后在排序配置配置中,选中算分特征下的category_score()143.并配置搜索字段以及该算分特征的权重,并保存配置。15以下为应用到业务排序中的流程:1.进入创建流程后填写策略名称,首先选择业务排序(第二轮精排),选择类型(目前控制台配置仅支持表达式,后续还会支持自定义插件)。162.然后在排序配置配置中,选中内置函数下的category_score(cate_id_field)173.将cate_id_field改为模型的类目id,并保存配置。18

4.模型应用成功后的状态。19

通过SDK调用查询接口

设置查询参数raw_query:

  • 用于类目预测查询;只有查询词和raw_query的内容一致时,查询时,才会去查查询分析中配置的类目预测;

  • 一般建议设置为终端用户输入的原始查询词。格式:

    raw_query=content
    //API传参content需要URL_ENCODE(SDK不需要encode);content为原始查询词

    实例:假设某个应用的查询分析规则配置如下表所示:

索引名

查询分析规则名

配置类目预测

index1

rule1

No

index2

rule2

Yes

index3

rule3

Yes

  1. 查询的索引没有配置类目预测,请求中有raw_query,不会查询类目预测,查询正常返回;

  2. 查询的索引没有配置类目预测,请求中无raw_query,不会查询类目预测,查询正常放回;

  3. 查询的索引配置类目预测,请求中无raw_query,不会查询类目预测,查询正常返回:a. query=index2:'search_query'

  4. 查询的索引配置类目预测,请求中有raw_query,但和查询索引中的查询词不同,不会查询类目预测,查询正常返回:a. query=index2:'search_query'&raw_query=raw_query

  5. 查询的索引配置类目预测,请求中有raw_query,且和查询索引中的查询词相同,查询类目预测,查询正常返回:a. query=index2:'search_query'&raw_query=search_query

  6. 查询包含多个索引时,且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),类目预测模型才会生效。

进阶

  1. 查询规则中配合实体识别功能使用类目预测,可以扩大类目预测的召回。查询分析会更加实体识别的结果,在原query查询得到类目预测无结果时,会按照一定规则对query进行丢词,进一步查询类目预测,并将丢词后的类目预测结果作为最终的类目预测结果返回。具体见实体识别的文档。

  2. 目前支持对训练出的类目预测模型进行人工干预。用户实现干预操作的过程与查询分析干预类似,类目预测干预的操作步骤,请点击查看文档