怎么才能实现一个选择树的功能?
yezi199229 发布于2017-12 浏览:2462 回复:16
0
收藏

我想写一个类似心理测试的技能!

大致上是:提问——用户回答——下一个问题。  回答的答案不一样,路线图就不一样,结果也不一样。

 

不知道怎么实现,各位看官们提提意见,要怎么实现呢?

收藏
点赞
0
个赞
共16条回复 最后由荒墨丶迷失回复于2018-01
#17荒墨丶迷失回复于2018-01
#16 zhuyisheng08回复
是的,当前的需求涉及到的意图比较多,触发条件中多处使用到“上轮对话意图”的条件,造成一定的局限性; 在问答集中也有较多的问答对,交互过程中返回结果有的是从问答对中,有的是从对话样本中;如果当前返回结果是从问答对中返回的,而在下一次交互时是从样本集中返回的,不巧的是,这个意图的触发规则中用到了“上轮对话意图”,正是这个规则导致意图识别不到了
展开

加油  你可以的  到时候把这些经验 分享出来 哈哈

0
#16zhuyisheng08回复于2018-01
#15 荒墨丶迷失回复
基本上每个意图的控制都需要考虑完全。当然人为的设定这些对话场景。总不可能全都达到。只能说看搭建的结构设计是否基础了
展开

是的,当前的需求涉及到的意图比较多,触发条件中多处使用到“上轮对话意图”的条件,造成一定的局限性;

在问答集中也有较多的问答对,交互过程中返回结果有的是从问答对中,有的是从对话样本中;如果当前返回结果是从问答对中返回的,而在下一次交互时是从样本集中返回的,不巧的是,这个意图的触发规则中用到了“上轮对话意图”,正是这个规则导致意图识别不到了

0
#15荒墨丶迷失回复于2018-01

基本上每个意图的控制都需要考虑完全。当然人为的设定这些对话场景。总不可能全都达到。只能说看搭建的结构设计是否基础了

1
#14goJhou回复于2018-01
#13 zhuyisheng08回复
非常感谢goJhou详细解答 场景反过来: 人物:小黄(代表人或客户)            bot(表示机器人) -----------------------------------闪亮登场-------------------------------- bot:你好,我是bot 小黄:你好bot   bot:你明天有时间一起去健身房吗? 小黄:好的啊,有时间    【注:还可以这么回答     嗯,有的;有的啊;明天有时间;嗯呢;可以呀……】 或 小黄:我很想去,可明天没时间哦     【注:还可以这么回答    不好意思哦,明天没空;没有空;明天去不了;明天有事呢,要不改天吧;……】   bot:那我明天9点,去小区大门口等你,你有那里的会员卡吗? 或 bot:那好吧,balabalabala……   小黄:有的,我上周刚办的。   【注:还可以这么回答   有啊;嗯呢;】 或 小黄:不好意思哦,这周六我有空咱们一起去吧   对话继续, balabalabala   对于这种场景,在整个对话中,小黄说了很多的类似:好的、可以啊,有的,没有呀等等这些词,然后bot根据小黄肯定或否定的回答进而选择不同的意图(即:分支选择); 如果这种对话不是很长,可以通过设置上轮对话意图+词槽填充可以搞定; 如果bot和小黄说了很长时间,且对话都是这种bot问,小黄回答(肯定:好的、有的、可以呀…,否定:没有时间,没空,不需要),对于这种情况,有什么比较妙的方法进行处理?    
展开

意图触发的条件写全一些。把上轮对话的意图都控制好。树形结构还是很好控制的

0
#13zhuyisheng08回复于2018-01

非常感谢goJhou详细解答

场景反过来:

人物:小黄(代表人或客户)

           bot(表示机器人)

-----------------------------------闪亮登场--------------------------------

bot:你好,我是bot

小黄:你好bot

 

bot:你明天有时间一起去健身房吗?

小黄:好的啊,有时间    【注:还可以这么回答     嗯,有的有的啊;明天有时间;嗯呢;可以呀……】

小黄:我很想去,可明天没时间哦     【注:还可以这么回答    不好意思哦,明天没空没有空;明天去不了;明天有事呢,要不改天吧;……】

 

bot:那我明天9点,去小区大门口等你,你有那里的会员卡吗?

bot:那好吧,balabalabala……

 

小黄:有的,我上周刚办的。   【注:还可以这么回答   有啊嗯呢;】

小黄:不好意思哦,这周六我有空咱们一起去吧

 

对话继续, balabalabala

 

对于这种场景,在整个对话中,小黄说了很多的类似:好的、可以啊,有的,没有呀等等这些词,然后bot根据小黄肯定或否定的回答进而选择不同的意图(即:分支选择);

如果这种对话不是很长,可以通过设置上轮对话意图+词槽填充可以搞定;

如果bot和小黄说了很长时间,且对话都是这种bot问,小黄回答(肯定:好的、有的、可以呀…,否定:没有时间,没空,不需要),对于这种情况,有什么比较妙的方法进行处理?

 

 

0
#12goJhou回复于2018-01

上面4句,前3个可以配置在1个意图中,或者使用模板、样本集,都是可以的

0
#11goJhou回复于2018-01
#10 zhuyisheng08回复
分支选择的这种简单的场景还是可以的,如果是复杂的场景,如:智能电呼,机器人问,客户回答的这种就不简单了吧?客户回答随意,有时并不是你想要的结果,此时就不好处理了。请大神给提提意见。
展开

首先用一个开场白开启第一个意图,然后通过答来分支。这种随意的回答,就需要大量的样本集来丰富了。简单逻辑就像下头这样

 

你好   bot:你也好呀,请问要找谁  意图:hello

我找临时工 bot:好的,正在转接临时工  意图:changeToTempEmployee 触发:上轮意图等于hello obj词槽包含临时工 behavior词槽等于找

帮我转接临时工 bot:好的,正在转接临时工  意图:changeToTempEmployee 触发:上轮意图等于hello 对象词槽包含临时工 behavior词槽等于转接

请问临时工在吗 bot:好的,正在转接临时工  意图:changeToTempEmployee 触发:上轮意图等于hello 对象词槽包含临时工 behavior词槽等于在吗

我找goJhou bot:好的,正在转接无敌的大佬  意图:changeTogoJhou 触发:上轮意图等于hello 对象词槽包含goJhou behavior词槽等于找

1
#10zhuyisheng08回复于2018-01

分支选择的这种简单的场景还是可以的,如果是复杂的场景,如:智能电呼,机器人问,客户回答的这种就不简单了吧?客户回答随意,有时并不是你想要的结果,此时就不好处理了。请大神给提提意见。

0
#9goJhou回复于2017-12
#7 yezi199229回复
我是新手!实现起来还是很困难!大神,求教!

上头那个栗子已经很好说明了,如果看不懂的话先熟悉unit吧

0
#8荒墨丶迷失回复于2017-12
#7 yezi199229回复
我是新手!实现起来还是很困难!大神,求教!

大神 明天就出来了~ 哈哈  @go神

0
#7yezi199229回复于2017-12
#6 荒墨丶迷失回复
非常详细 给个赞~

我是新手!实现起来还是很困难!大神,求教!

0
#6荒墨丶迷失回复于2017-12
#4 goJhou回复
意图触发可以限制上一轮意图是什么意图。这个可以限定意图的触发规则。   根据你不同的回答,分支成不同的意图,意图的不同引向不同的下支路线。   比如说 办事 词槽是我要办事  这是总线 办事A 词槽是我要办A  分线A 上一轮意图为总线 办事B 词槽是我要办B  分线B 上一轮意图为总线 办事C 词槽是我要办C  分线C 上一轮意图为总线   这还是很简单的。只是意图多配一些,把触发规则做完善一些,是可以达到你的想法的
展开

非常详细 给个赞~

1
#5yezi199229回复于2017-12
#4 goJhou回复
意图触发可以限制上一轮意图是什么意图。这个可以限定意图的触发规则。   根据你不同的回答,分支成不同的意图,意图的不同引向不同的下支路线。   比如说 办事 词槽是我要办事  这是总线 办事A 词槽是我要办A  分线A 上一轮意图为总线 办事B 词槽是我要办B  分线B 上一轮意图为总线 办事C 词槽是我要办C  分线C 上一轮意图为总线   这还是很简单的。只是意图多配一些,把触发规则做完善一些,是可以达到你的想法的
展开

谢谢您的回复,我去试试!

0
#4goJhou回复于2017-12
#3 yezi199229回复
能更加详细点么?

意图触发可以限制上一轮意图是什么意图。这个可以限定意图的触发规则。

 

根据你不同的回答,分支成不同的意图,意图的不同引向不同的下支路线。

 

比如说

办事 词槽是我要办事  这是总线

办事A 词槽是我要办A  分线A 上一轮意图为总线

办事B 词槽是我要办B  分线B 上一轮意图为总线

办事C 词槽是我要办C  分线C 上一轮意图为总线

 

这还是很简单的。只是意图多配一些,把触发规则做完善一些,是可以达到你的想法的

1
#3yezi199229回复于2017-12
#2 goJhou回复
你可以分成多个小意图来处理。这些小意图的前一轮意图是同一个。然后这些小意图的词槽都不一样
展开

能更加详细点么?

0
#2goJhou回复于2017-12

你可以分成多个小意图来处理。这些小意图的前一轮意图是同一个。然后这些小意图的词槽都不一样

0
TOP
切换版块