如何使用暗号
1)怎样添加发出暗号?
查看“喜欢吃”意图的界面:
此图中需要注意两点:
第一,“喜欢吃”这个意图发出了一个暗号,叫做“喜欢食物话题”;
第二,在词典使用中我们曾说如果助理答中不使用词典条目的值,我们可以不进行词典条目的配置,而这里助理答只是简单的“喜欢”,我们仍然配置了词典条目,其目的是为了把用户说的food这个值放入“喜欢食物话题”暗号传递给其他意图。
- 怎样传递暗号中的值?
查看“喜欢吃-为什么”意图界面:
通过暗号的传递和词典条目的配置,我们就可以在一个意图中使用之前意图中的值,例子中就是通过“喜欢食物话题”暗号的传递,实现了在意图“喜欢吃-为什么”中使用意图“喜欢吃”中的名称为food的值。
3)流程总结
用户说“你喜欢吃苹果吗”,触发意图“喜欢吃”,如意回答“喜欢”,然后生成暗号“喜欢食物话题”,生成过程中会把名称为“food”的值“苹果”存放在暗号中,暗号生成后会发出该暗号。“喜欢食物话题”暗号发出后,“喜欢吃-为什么”意图就会收到暗号,这时用户再说“为什么”,如意就会回答“因为苹果有营养”,“苹果”这个值来自于暗号的传递。
4)没有收到暗号的情况
再看一个例子,用户直接说“为什么”,如意回复:
如意没有任何回答,也没有触发任何意图。为何用户说的“为什么”没有触发意图“喜欢吃-为什么”呢?
这是因为意图“喜欢吃-为什么”没有接受到暗号“喜欢食物话题”。如果一个意图被设置为需要接受暗号,那么只有当其他意图发出这个暗号之后,这个意图才会被用户的话触发。
通过上述例子,可以总结出暗号有两个功能:
第一,传递词典条目的值;
第二,决定一个意图能否被触发。
在暗号设置中需要注意:一个意图可以同时发出多个暗号,或同时接受多个暗号。同一意图中,多个发出暗号之间的关系为or,多个接受暗号之间的关系为and。