2

我的老板给我创建一个聊天机器人的任务,它不是用 Telegram 或 Slack 制作的,它使用 Watson Conversation 服务。

此外,聊天机器人必须插入到网页中,然后它必须作为 javascript 嵌入到 html 中。

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

谢谢你的帮助。

4

4 回答 4

1

在回复评论后,我又看了一眼,意识到 Microsoft Bot Framework 可以用最少的开发投资(一开始)工作。

https://docs.botframework.com/en-us/support/embed-chat-c​​ontrol2/

于 2016-10-11T01:21:46.103 回答
1

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

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

于 2016-10-17T13:51:30.350 回答
1

我强烈建议您使用 Microsoft LUIS之类的语言理解服务工具(它是 Microsoft 认知服务的一部分)构建更多的助手而不是简单的机器人。

然后,您可以将此自然语言处理工具与上面提到的 MicroSoft Botframework等机器人 SDK 结合使用,以便您可以轻松地以自然语言运行查询,在entities和中的对话中解析响应intents,并以自然语言提供响应。

举个例子,一个解析的对话响应会有这样的东西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实体。queenArtistName

也就是说,使用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!

一些机器人框架使用然后 aWaterFall 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)
      {
      }
   ]);

其他需要考虑的功能是:

  • 支持多语言和自动翻译;
  • 3rd 方服务集成(Slack、Messenger、Telegram、Skype 等);
  • 富媒体(图像、音频、视频播放等);
  • 安全性(密码学);
  • 跨平台sdk;
于 2016-10-17T22:16:39.287 回答
-1

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

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

我真的很喜欢人们的意见,看看是否可以改进它。

于 2016-10-24T07:35:30.620 回答