• 基于华为云对话机器人技能平台的规则模板概述


    华为云对话机器人服务中的技能平台,向机器人服务提供了一系列即插即用的技能,可为对话机器人增加了用户配置机器人的灵活度。

    在邀测的过程中,我们总结了在技能平台上使用的规则配置上的一些功能和想法,与大家分享。

    1.     规则定义

    当前,基于华为云对话机器人技能平台的规则模板定义如下:

    W表示通配符(wildcare), S表示槽(slot), D表示词典(Dictionary),(除了一些内置的用户常用问法之外,我们不允许用户将槽位内的词典加入规则模板中)C为普通片段(Common)支持或与等正则规则。

    2.      接口说明

    rules:

    intention:

    意图

    rule:

    W:

    0-4

    通配符片段(Widcard)

    S:

    a625e5ed-c55b-4244-a971-74f2f963cf8a

    槽位片段(Slot)

    C:

    从|由|起始站是

    普通片段(Common)

    D:

    sys.china_trainStation

    字典片段(Dict)

    isOrdered:

    规则是否按顺序(当前为true),这里按顺序是指匹配的时候每个片段是否有序。我们当前设计中只支持规则中的片段有序,但是如果后续用户有需求想要片段在任意位置匹配皆可,那么我们的接口也可以向后兼容而不需要修改接口。

    3.      功能实现

    一次完成意图识别和槽抽取。

    之前预测实例上槽填充和意图预测是两个接口,而规则模板其实一次提取就可以把意图识别和槽抽取都完成。因为在之前设计的规则模板当中我们复用了原有的词典抽取的接口,将规则按片段解析,每解析完成一个片段,就通过begin index还有end index从原有的query删除匹配到的这个词,然后继续做剩余子串的匹配,相当于是一个递归调用。

    再加入一个接口,允许传入intent name即意图名称。

    接口参数:   intent_name: 意图名称

                 content:内容

                 slot_ids:词槽列表

                 model_first:冲突时是否模型优先

    接口内部自己完成意图匹配,槽位填充的逻辑,其中匹配的优先级按照规则>词典>模型来进行,模型作为兜底。而model_first参数则是一个选择项,可以提升模型优先级,默认为false。

    4.     规则模板展望

    l  对话设置。机器人检测到用户静音、打断、要求停止、要求重述、无意图回复等行为时,根据用户行为给出相应的反馈。例如,用户静音时,需要询问用户是否还在;用户打断时,需要响应用户,请用户讲话;用户要求停止时,需要表示歉意进行安抚,并在超过一定次数时进入挂断流程。在技能平台与客户的对接过程中,包括意图澄清失败设置, 槽位澄清设置,是否允许从识别到的一个槽位的多个值进行区分(您想要的slot1的值是XX还是YY),是否允许返回提取到的槽位的所有值(适用多选场景)。对话设置最终会和多轮的会话能力息息相关,如何把设置做的简明易用也是一个需要仔细考虑的地方。

    l  意图跳转。我们现在的技能平台只能支持平行意图,但是无论是外呼场景或者体检问卷,政府办事指南,其实很多场景都是树状的,我们将在未来进行支持。

    l  将QA能力带入到技能平台。需要将QA知识库和将KBQA的能力集成到技能平台,提升连续对话的能力。

    欢迎大家讨论和指正。

  • 相关阅读:
    django 在保存数据前进行数据校验
    itertools
    python 发送请求
    python 异常处理
    python 对redis 键值对的操作
    python 对redis key的基本操作
    python 操作redis数据
    一只青蛙一次可以跳1阶或者2阶,n阶,有多少种到达终点的方式。
    Django 自定义扩展命令
    关于函数可变参数
  • 原文地址:https://www.cnblogs.com/huaweicloud/p/11861482.html
Copyright © 2020-2023  润新知