我想写一个类似心理测试的技能!
大致上是:提问——用户回答——下一个问题。 回答的答案不一样,路线图就不一样,结果也不一样。
不知道怎么实现,各位看官们提提意见,要怎么实现呢?
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
加油 你可以的 到时候把这些经验 分享出来 哈哈
是的,当前的需求涉及到的意图比较多,触发条件中多处使用到“上轮对话意图”的条件,造成一定的局限性;
在问答集中也有较多的问答对,交互过程中返回结果有的是从问答对中,有的是从对话样本中;如果当前返回结果是从问答对中返回的,而在下一次交互时是从样本集中返回的,不巧的是,这个意图的触发规则中用到了“上轮对话意图”,正是这个规则导致意图识别不到了
基本上每个意图的控制都需要考虑完全。当然人为的设定这些对话场景。总不可能全都达到。只能说看搭建的结构设计是否基础了
意图触发的条件写全一些。把上轮对话的意图都控制好。树形结构还是很好控制的
非常感谢goJhou详细解答
场景反过来:
人物:小黄(代表人或客户)
bot(表示机器人)
-----------------------------------闪亮登场--------------------------------
bot:你好,我是bot
小黄:你好bot
bot:你明天有时间一起去健身房吗?
小黄:好的啊,有时间 【注:还可以这么回答 嗯,有的;有的啊;明天有时间;嗯呢;可以呀……】
或
小黄:我很想去,可明天没时间哦 【注:还可以这么回答 不好意思哦,明天没空;没有空;明天去不了;明天有事呢,要不改天吧;……】
bot:那我明天9点,去小区大门口等你,你有那里的会员卡吗?
或
bot:那好吧,balabalabala……
小黄:有的,我上周刚办的。 【注:还可以这么回答 有啊;嗯呢;】
或
小黄:不好意思哦,这周六我有空咱们一起去吧
对话继续, balabalabala
对于这种场景,在整个对话中,小黄说了很多的类似:好的、可以啊,有的,没有呀等等这些词,然后bot根据小黄肯定或否定的回答进而选择不同的意图(即:分支选择);
如果这种对话不是很长,可以通过设置上轮对话意图+词槽填充可以搞定;
如果bot和小黄说了很长时间,且对话都是这种bot问,小黄回答(肯定:好的、有的、可以呀…,否定:没有时间,没空,不需要),对于这种情况,有什么比较妙的方法进行处理?
上面4句,前3个可以配置在1个意图中,或者使用模板、样本集,都是可以的
首先用一个开场白开启第一个意图,然后通过答来分支。这种随意的回答,就需要大量的样本集来丰富了。简单逻辑就像下头这样
你好 bot:你也好呀,请问要找谁 意图:hello
我找临时工 bot:好的,正在转接临时工 意图:changeToTempEmployee 触发:上轮意图等于hello obj词槽包含临时工 behavior词槽等于找
帮我转接临时工 bot:好的,正在转接临时工 意图:changeToTempEmployee 触发:上轮意图等于hello 对象词槽包含临时工 behavior词槽等于转接
请问临时工在吗 bot:好的,正在转接临时工 意图:changeToTempEmployee 触发:上轮意图等于hello 对象词槽包含临时工 behavior词槽等于在吗
我找goJhou bot:好的,正在转接无敌的大佬 意图:changeTogoJhou 触发:上轮意图等于hello 对象词槽包含goJhou behavior词槽等于找
分支选择的这种简单的场景还是可以的,如果是复杂的场景,如:智能电呼,机器人问,客户回答的这种就不简单了吧?客户回答随意,有时并不是你想要的结果,此时就不好处理了。请大神给提提意见。
上头那个栗子已经很好说明了,如果看不懂的话先熟悉unit吧
大神 明天就出来了~ 哈哈 @go神
我是新手!实现起来还是很困难!大神,求教!
非常详细 给个赞~
谢谢您的回复,我去试试!
意图触发可以限制上一轮意图是什么意图。这个可以限定意图的触发规则。
根据你不同的回答,分支成不同的意图,意图的不同引向不同的下支路线。
比如说
办事 词槽是我要办事 这是总线
办事A 词槽是我要办A 分线A 上一轮意图为总线
办事B 词槽是我要办B 分线B 上一轮意图为总线
办事C 词槽是我要办C 分线C 上一轮意图为总线
这还是很简单的。只是意图多配一些,把触发规则做完善一些,是可以达到你的想法的
能更加详细点么?
你可以分成多个小意图来处理。这些小意图的前一轮意图是同一个。然后这些小意图的词槽都不一样