weixin_39755853
weixin_39755853
2020-12-09 04:22

多轮对话管理可配置化

一个优秀的项目!

请问下作者,在多轮对话管理中,怎么实现多轮对话的可配置化:比如 只需输入领域意图实体,通过一个流程图就可以实现多轮对话流程?

在你的项目中有考虑这点吗,php不太熟,代码各部分作用还不是很明白。

该提问来源于开源项目:thirdgerb/chatbot

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

6条回答

  • weixin_39776991 weixin_39776991 5月前

    你好,感谢鼓励!我个人目标是底层可编程,而配置是编程的子集,可视化是生成配置的工具而已,所以我的理解只要底层可编程,任何配置化的对话都可以做出来。请参考这个例子 https://github.com/thirdgerb/chatbot/blob/master/src/Components/Story/resources/stories/changbanpo.yml

    我用配置做了一个对话游戏。

    最近我在做0.2版本了,想把多轮对话的工程模型做得更简洁,并直接对话作为管理界面,可以在对话中生成新的对话。

    最后,请问你熟悉哪种开发语言?我这个项目主要是复杂对话工程思路的验证,和语言关系不大。也在考虑要不要用python重构一个

    点赞 评论 复制链接分享
  • weixin_39776991 weixin_39776991 5月前

    另外, Domain intent加流程图的做法,或者有向无环图,我个人觉得用在“技能“式对话上足够了,但对标web 和app的多轮交互能力,似乎还不够。最好是同一个对话中多个domain 既可以任意切换,又可以按需嵌套,呈现分形的无限轮次对话。如果intent +domain如此深入人心,我努力把方案的表示往这些概念靠拢

    点赞 评论 复制链接分享
  • weixin_39755853 weixin_39755853 5月前

    另外, Domain intent加流程图的做法,或者有向无环图,我个人觉得用在“技能“式对话上足够了,但对标web 和app的多轮交互能力,似乎还不够。最好是同一个对话中多个domain 既可以任意切换,又可以按需嵌套,呈现分形的无限轮次对话。如果intent +domain如此深入人心,我努力把方案的表示往这些概念靠拢

    我觉得 intent +domain如此深入人心 是因为工业界实用的一般都是垂直领域的应用。多个“技能”快速开发可能比 多个domain可以智能切换 更能快速解决问题。

    你项目中通过yml配置会话已经实现了是吗?这个story是类似rasa中的结构吗

    如果有Java版的最好不过啦,我们上线语言一般都是Java

    点赞 评论 复制链接分享
  • weixin_39776991 weixin_39776991 5月前

    另外, Domain intent加流程图的做法,或者有向无环图,我个人觉得用在“技能“式对话上足够了,但对标web 和app的多轮交互能力,似乎还不够。最好是同一个对话中多个domain 既可以任意切换,又可以按需嵌套,呈现分形的无限轮次对话。如果intent +domain如此深入人心,我努力把方案的表示往这些概念靠拢

    我觉得 intent +domain如此深入人心 是因为工业界实用的一般都是垂直领域的应用。多个“技能”快速开发可能比 多个domain可以智能切换 更能快速解决问题。

    你项目中通过yml配置会话已经实现了是吗?这个story是类似rasa中的结构吗

    如果有Java版的最好不过啦,我们上线语言一般都是Java

    好的, 谢谢. intent + domain 回头我做一个兼容的配置方案. 的确现阶段工业界的对话机器人刚起步, 很多复杂的对话功能还未被列入功能点. 但我坚信下一个阶段, 复杂多轮对话是必须的. 我努力争取作出更简洁的 api 让人愿意尝试吧.

    那个 story 的配置不是一个通用配置, 而是一个具体应用场景 (情景对话游戏) 的配置, demo 在 https://communechatbot.com/?scene=story

    这样一套用配置驱动的游戏引擎, 两三天内就可以做出来. 只要修改配置可以做更多复杂的游戏. 我另外花两天做了一个游戏, 模拟疑案追声 : https://github.com/thirdgerb/chatbot/blob/master/src/Components/UnheardLike/resources/scripts/who-is-li-zhong-wen.yml

    对应 Demo : https://communechatbot.com/?scene=unheard

    所以开发可以用 yml 配置的引擎还是比较容易的.

    Java 版本多轮对话内核我也考虑做一个, 因为核心思路是面向对象的, 这几种语言都没有本质区别. 只是多线程模型和强类型语言要多好几倍的工作量, 可能还是要等这个项目优化到真正有人愿意用它开发时再考虑了.

    点赞 评论 复制链接分享
  • weixin_39776991 weixin_39776991 5月前

    另外, Domain intent加流程图的做法,或者有向无环图,我个人觉得用在“技能“式对话上足够了,但对标web 和app的多轮交互能力,似乎还不够。最好是同一个对话中多个domain 既可以任意切换,又可以按需嵌套,呈现分形的无限轮次对话。如果intent +domain如此深入人心,我努力把方案的表示往这些概念靠拢

    我觉得 intent +domain如此深入人心 是因为工业界实用的一般都是垂直领域的应用。多个“技能”快速开发可能比 多个domain可以智能切换 更能快速解决问题。

    你项目中通过yml配置会话已经实现了是吗?这个story是类似rasa中的结构吗

    如果有Java版的最好不过啦,我们上线语言一般都是Java

    现阶段技能式的解决方案, 国内的推荐 百度 UNIT, 需要对接他们的服务. 类似 botkit, hubot, botman 也都可以实现一部分一阶多轮对话的功能, 相信你都有调研过了吧.

    点赞 评论 复制链接分享
  • weixin_39755853 weixin_39755853 5月前

    另外, Domain intent加流程图的做法,或者有向无环图,我个人觉得用在“技能“式对话上足够了,但对标web 和app的多轮交互能力,似乎还不够。最好是同一个对话中多个domain 既可以任意切换,又可以按需嵌套,呈现分形的无限轮次对话。如果intent +domain如此深入人心,我努力把方案的表示往这些概念靠拢

    我觉得 intent +domain如此深入人心 是因为工业界实用的一般都是垂直领域的应用。多个“技能”快速开发可能比 多个domain可以智能切换 更能快速解决问题。 你项目中通过yml配置会话已经实现了是吗?这个story是类似rasa中的结构吗 如果有Java版的最好不过啦,我们上线语言一般都是Java

    现阶段技能式的解决方案, 国内的推荐 百度 UNIT, 需要对接他们的服务. 类似 botkit, hubot, botman 也都可以实现一部分一阶多轮对话的功能, 相信你都有调研过了吧.

    我现在需要实现一个Java版的解析配置流程 的“技能式”对话管理引擎 已经参考了百度的DMkit(trigger、params、output)和你这个项目。不过你这个还需要细看下,没太懂哪部分解决这个问题。有问题会多请教下。~

    点赞 评论 复制链接分享

相关推荐