全部产品
云市场

修改用户规则

更新时间:2018-03-22 11:53:51

接口说明

此API可以修改对应的规则信息。修改的内容是以创建的规则的信息为基础的,在其中修改相应的条件和算子。该接口执行时可以保证规则id(rid)不变,但对应的条件id和算子id会变化。

入参UpdateRuleRequest说明

属性 值类型 是否必须 说明
jsonStr String 完整Json字符串信息,具体内容参见以下详细信息

请求参数Json字符串信息

属性 值类型 是否必须 说明
conditions List< ConditionBasicInfo> 所有条件的配置信息
rules List< RuleInfo> 所有规则的配置信息

条件的详细配置字段ConditionBasicInfo描述:

属性 值类型 是否必须 说明
cid String 条件的ID,必须数字字符,此数字在规则上传后会被修改为系统自生成Id
check_range CheckRange 条件的检查范围
operators List< OperatorBasicInfo> 条件包含的算子
lambda String 条件中算子的逻辑关系

条件检查范围CheckRange描述:

属性 值类型 是否必须 说明
role String 角色,条件的作用角色范围
anchor Anchor 条件的锚定关系
range Range Role和Anchor共同决定的范围。1~N表示由anchor和role共同限定的第1(N)句,-1表示由anchor和role共同限定的最后一句

条件锚定关系Anchor描述:

属性 值类型 是否必须 说明
location String CURRENT 条件命中的当前句 BEFORE 命中句子之前 AFTER 命中句子之后
cid String 条件id 用于确定anchor的条件
hit_time Integer hit_time 整数 1~N代表条件第一(N)次命中,-1代表条件最后一次命中

条件范围Range描述:

属性 值类型 是否必须 说明
from Integer 1~N表示由anchor和role共同限定的第1(N)句,-1表示由anchor和role共同限定的最后一句
to Integer 1~N表示由anchor和role共同限定的第1(N)句,-1表示由anchor和role共同限定的最后一句

条件所包含算子OperatorBasicInfo描述:

属性 值类型 是否必须 说明
oid String 算子的ID,必须数字字符,此数字在规则上传后会被修改为系统自生成Id
type String 算子类型,参考< operator算子type字段说明>
name String 算子名称、描述
param Param 算子表达式具体内容

条件所包含算子具体内容 Param描述:

属性 值类型 是否必须 说明
keywords List< String> 算子的ID,必须数字字符,此数字在规则上传后会被修改为系统自生成Id
regex String 用于正则算子,正则表达式
phrase String 用于最小编辑距离算子,参考句子
references List< String> 用于相似度匹配,算子表达式具体内容
interval Integer 用于时间间隔算子,时间间隔
threshold Float 用于编辑距离和匹配予以算子,指定的阈值
in_sentence Boolean 用以判断是否是单句还是整句
target Integer 目标句子是当前句子的前多少句,为0时间间隔等于本句的结束时间-本句的开始时间
from_end Boolean 用于时间间隔算子,判断时间间隔,指定时间间隔的计算方式是否用本句的结束时间减目标句子的结束时间
different_role Boolean 用以时间间隔算子,判断时间间隔,为true则目标句子如果与本句是同一个角色说的话就不参与计算
target_role String 用于判断重复算子,如果本句匹配上该正则表达式,那么匹配上的部份会在本句之前target_role指定的句子中查找
velocity Double 用于语速判断算子。单位时间内的语速值,判断本句的语速是否超过指定值。时间单位取决于传入的start、end的时间单位
velocityInMint Integer 用于语速判断算子。每分钟的语速值,用以判断本句的语速是否超过指定值

规则的详细配置字段RuleInfo描述:

属性 值类型 是否必须 说明
rid String 规则的ID,必须数字字符,此数字保持不变
lambda String 规则中条件的逻辑关系
triggers List< String> 规则中需要返回内容的条件ID。设置规则ID的话,命中结果后将会返回规则所命中的具体内容
Name String 规则的名字
business List< BusinessCategoryBasicInfo> 规则所属业务
type Integer 1/2/3/4: 服务规范/舆情监控/业务类/其他
status Integer 0/1/2:待生效/生效中/已失效
startTime Date 规则的生效时间
endTime Date 规则的失效时间
scoreSubId Integer 规则绑定的计分id
ruleScoreType Integer 规则是否计分 1:不计分 3:计分

规则所属业务字段BusinessCategoryBasicInfo描述:(若该属性为空,设置为默认的“所有业务”)

属性 值类型 是否必须 说明
bid String 规则所属业务BID,必须数字字符
name String 规则所属业务名称,字符串

调用示例

  1. UpdateRuleRequest updateRuleRequest = new UpdateRuleRequest();
  2. updateRuleRequest.setAcceptFormat(FormatType.JSON);
  3. String ruleJsonStr = "{\n" +
  4. " \"appKey\": \"**********\",\n" +
  5. " \"conditions\": [\n" +
  6. " {\n" +
  7. " \"cid\": \"a\",\n" +
  8. " \"check_range\": {\n" +
  9. " \"role\": \"客服\",\n" +
  10. " \"anchor\": null\n" +
  11. " },\n" +
  12. " \"lambda\": \"1\",\n" +
  13. " \"operators\": [\n" +
  14. " {\n" +
  15. " \"oid\": 1,\n" +
  16. " \"type\": \"REGULAR_EXPRESSION\",\n" +
  17. " \"param\": {\n" +
  18. " \"regex\": \"(你好|您好|早上好|晚上好|下午好|中午好)\"\n" +
  19. " }\n" +
  20. " }\n" +
  21. " ]\n" +
  22. " }\n" +
  23. " ],\n" +
  24. " \"rules\": [\n" +
  25. " {\n" +
  26. " \"name\": \"【默认规则】开头说你好\",\n" +
  27. " \"type\": -99,\n" +
  28. " \"lambda\": \"a\",\n" +
  29. " \"startTime\": null,\n" +
  30. " \"endTime\": null,\n" +
  31. " \"triggers\": [\n" +
  32. " \"a\"\n" +
  33. " ],\n" +
  34. " \"rid\": \"345\",\n" +
  35. " \"comments\": \"检测客服是否在对话的开头2句说你好\",\n" +
  36. " \"business\": [\n" +
  37. " {\n" +
  38. " \"bid\": 264971810,\n" +
  39. " \"name\": \"测试\"\n" +
  40. " },\n" +
  41. " {\n" +
  42. " \"bid\": 386664996,\n" +
  43. " \"name\": \"信息测试\"\n" +
  44. " }\n" +
  45. " ],\n" +
  46. " \"status\": 1,\n" +
  47. " \"autoReview\": 1,\n" +
  48. " \"scoreSubId\": 277,\n" +
  49. " \"ruleScoreType\": 1\n" +
  50. " }\n" +
  51. " ]\n" +
  52. "}";
  53. updateRuleRequest.setJsonStr(ruleJsonStr);
  54. UpdateRuleResponse response = client.getAcsResponse(updateRuleRequest);
  55. System.out.println(com.alibaba.fastjson.JSON.toJSONString(response));

返回示例

  1. {
  2. "code": "200",
  3. "message": "successful",
  4. "requestId": "4E1D0CCB-172D-409E-86F3-2188C634E4D8",
  5. "success": true
  6. }