以下是视频内容文字版:
大家好,欢迎使用欧拉蜜人工智能开放平台。今天这节课我们要讲的是答案中的上下文处理。这节课涉及“在答案中使用变量”、“关联选择”以及“基础上下文处理”这三块内容。
一、在答案中使用变量。
开发者在编辑 grammar 选择输出答案时,可以在答案中使用变量或者选择根据不同的情况输出对应的值。在答案中配合变量的引用,还可以达成基础的上下文处理支持效果。
在答案文本描述中引用一个变量,需要用 < > 包覆变量的名称,如下示例:
现在时间是<variable_name> |
1.1 内置变量列表
1.2示例
Grammar:现在几点了 答案:现在时间是<time> |
以 “现在几点了” 例句语料来测试,假如当前时间为 10 点 42 分,则系统会返回 “现在是10点42分” 这个答案,返回结果详情如下图:
1.3与slot重名时的优先级
答案变量也可以是对应 grammar 中的某一个 slot,但此时 slot 的优先级较低,这表示当您设置了一个系统所支持的答案变量,且该变量与您自定义的某一个 slot 的名称相同时,输出的会是答案变量的值而非 slot 对应值。
例:
Slot:<time> Grammar:现在<time>了 答案:现在时间是<time> |
当输入语料“现在几点了”,slot的提取值为“几点”,但<time>同时也是我们系统内置变量,因为答案变量关键字优先级高于 slot,因此我们不会返回结果“现在时间是几点”,而是返回当前时间,例如“现在时间是10点42分”。
二、关联选择
开发者可以在答案中以 JSON 数据格式,再结合变量的引用,设置一个相当于 switch-case 概念的关联选择性答案组合,答案的 JSON 数据撰写规则如下示例:
例:
grammar:你好 |
对此 grammar 设置一个答案,内容如下(为方便检视,以下为展开后的表示方式):
因此,我们的返回结果如下:
时间为7:32时:吃早饭了吗?
时间为11:15时:时间到,该午睡了!
时间为20:00时:早点睡身体好!
时间为23:18时:你好!
……
三、基础上下文处理
有了关联选择的功能,就可以通过判断 lastmodifier 变量值,且结合此次所匹配的 grammar 的语义来实现基础的上下文处理。
例:
grammar :你吃饭了吗<{@=eat}> |
我们设定:
此时,当我们第一次输入语料“你吃饭了吗”,返回结果如下:
第二次输入语料“你吃饭了吗”,由于lastmodifier为“eat”,所以返回结果如下:
以上为答案中的上下文处理这节课的全部内容,感谢您的观看!