是否有将AIML文件转换或导入Dialogflow或Lex的方法?

时间:2019-03-03 23:57:57

标签: csv dialogflow chatbot amazon-lex aiml

是否有将AIML文件转换或导入Dialogflow或Lex来创建聊天机器人的方法?我希望找到一种将开源AIML文件合并到Dialogflow或Lex等NLP聊天机器人框架中的方法,到目前为止,我的谷歌搜索没有用。

我找到了一种创建Dialogflow bot using CSV的方法,我想知道这是否是将AIML转换为CSV的情况?是可行的还是傻子的事?

非常感谢您的建议,指导和集思广益!

2 个答案:

答案 0 :(得分:1)

Keith Sterling在github页面上使用python 3列出了一种方法。它还具有完整的分步实现以及屏幕截图,并且在几天前进行了更新。它也符合AIML 2.1。

而且,它是完全免费的。 DialogFlow本身具有免费和付费层(您可能知道),但是他的程序是开源的。

以下是链接:Program-Y github Repo

从背景上讲,这是一个AIML解释器(也就是说,这是您在各种情况下部署AIML文件的一种方式)。因此,虽然OP中的链接更直接,但这为您提供了更多选择。

例如,这允许您在以下位置使用相同的文件

  • Google助手
  • Web客户端
  • 信使
  • 电报
  • Alexa
  • Cortana
  • DialogFlow

由于这是REST,因此您仅与您的主要实现进行交互,从而依次更新所有客户端机器人。

这可以帮助您保留一组更新的AIML文件集中,并且开销也较低。

设置:

首先登录,然后单击“创建代理”。

给您起个名字,并确保语言和时区是您需要的名称,然后单击:

创建意图

首先,删除2个现有意图:

  • 默认后备广告
  • 默认欢迎

接下来,创建与Program-y(回购的名称)集成的意图。

有4个:

  • 启动
  • 退出
  • 帮助
  • 查询

启动意图

  • 点击创建意图
  • 输入您的训练短语
  • 选择事件,然后
  • 在实现状态下,选择网络挂钩

退出意图

执行与上述相同的步骤,这次将其命名为“退出”,但是这次不要选择“事件”并使用以下短语:

  • 停止
  • 退出
  • 离开
  • 退出

帮助意图

再次执行与上述相同的步骤,这次将其命名为“帮助”。同样,不要选择一个事件并使用以下短语:

  • 帮助
  • 我能问你什么
  • 救救我
  • 你能做什么

查询意图

最后执行相同的过程,但是这次将其命名为Query。再次不要选择一个事件,但是这次我们有一个训练短语

  • 查询

但是,这次添加如下参数:

连接端点

最后,我们需要设置DialogFlow每次识别意图时将调用的端点。

在左侧菜单栏上,单击“实现”链接。点击启用,然后输入作为Google客户端运行Program-Y的URL。

API端点始终为/api/alexa/v1.0/ask,因此将其与ngrok URL结合使用即可为您https://87e27269.ngrok.io/api/alexa/v1.0/ask

要保存此内容,请单击“保存端点”,您就可以准备启动并运行客户端。

向下滚动到底部,然后单击“保存”。

我知道有很多信息,可能看起来不知所措,但是该链接上有屏幕截图和演练: Program-Y github Repo

答案 1 :(得分:0)

否,当前无法执行此操作。没有直接的方法可以将AIML文件转换为DialogflowLex JSON导入格式。对话处理的基本结构不同。尽管您可以在AIML(特别是v2.0)中找到Intent,Entities和Context的概念,但是您仍需要做大量的手工工作来适应它。

我建议从AIML中提取patterns(用户所说的内容)和templates(聊天机器人的响应内容),将其导入到您要使用的框架中,并手动调整上下文和实体。