聊天机器人平台

时间:2016-09-28 07:58:42

标签: chatbot watson-conversation

我的老板给了我一个creata聊天机器人的任务,而不是用Telegram或Slack制作的,其中使用了Watson Conversation服务。

此外,聊天机器人必须插入网页内,然后必须以html格式嵌入到javascript中。

有没有人知道其他好的平台来执行这些任务?

感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

在评论中回复后,我又看了一眼,并意识到微软Bot框架可以用最小的开发投资(在开始时)。

docs

答案 1 :(得分:1)

这个小家伙很有趣。你应该试一试。

http://www.program-o.com/

答案 2 :(得分:1)

我强烈建议您使用像Microsoft LUIS这样的语言理解服务工具构建更多助手而不是简单的机器人,这是微软认知服务的一部分。

然后,您可以将此自然语言处理工具与上面提到的MicroSoft Botframework之类的bot SDK结合使用,以便您可以轻松地以自然语言运行查询,在entitiesintents中的对话框中解析响应{1}},并以自然语言提供回复。

举个例子,解析后的对话框响应会有类似json

的内容
{
        "intent": "MusicIntent",
        "score": 0.0006564476,
        "actions": [
            {
                "triggered": false,
                "name": "MusicIntent",
                "parameters": [
                    {
                        "name": "ArtistName",
                        "required": false,
                        "value": [
                            {
                                "entity": "queen",
                                "type": "ArtistName",
                                "score": 0.9402311
                            }
                        ]
                    }
                ]
            }
        ]
      }

您可以在其中看到此MusicIntent有一个queen类型的实体ArtistName已被语言理解系统识别。

即使用BotFramework

var artistName=BotBuilder.EntityRecognizer.findEntity(args.entities, Entity.Type.ArtistName);

一个好的现代机器人助手框架应至少支持multi-turn dialog mode,这是一个对话,其中双方之间有互动,如

>User:Which artist plays Stand By Me?
(intents=SongIntent, songEntity=`Stand By Me`)
>Assistant:The song `Stand by Me` was played by several artists. Do you mean the first recording?
>User:Yes, that one!
(intents=YesIntent)
>Assistant: The first recording was by `Ben E. King` in 1962. Do you want to play it?
>(User)Which is the first album composed by Ben E.King?
(intents=MusicIntent, entity:ArtistName) 
>(Assistant) The first album by Ben E.King was "Double Decker" in 1960.
>(User) Thank you!
(intents=Thankyou)
>(Assistant)
You are welcome!

一些机器人框架然后使用WaterFall model来处理这种语言模型交互:

self.dialog.on(Intent.Type.MusicIntent,
    [
      // Waterfall step 1
      function (session, args, next)
      {
            // prompts something to the user...
            BotBuilder.Prompts.text(session, msg);
      },
      // waterfall step 2
      function (session, args, next)
      {
             // get the response
             var response=args.response;
             // do something...
             next();//trigger next interaction
      },
      // waterfall step 3 (last)
      function (session, args)
      {
      }
   ]);

需要考虑的其他功能包括:

  • 支持多语言和自动翻译;
  • 第三方服务集成(Slack,Messenger,Telegram,Skype等);
  • 富媒体(图像,音频,视频播放等);
  • 安全(加密);
  • 跨平台sdk;

答案 3 :(得分:-1)

我已经开始使用这个名为Talkify的开源项目在这个领域做一些工作: https://github.com/manthanhd/talkify

这是一个机器人框架,旨在帮助协调机器人提供商(如Microsoft(Skype),Facebook(Messenger)等)和您的后端服务之间的信息流。

我真的很喜欢人们的输入,看看它是如何改进的。