2016-09-28 150 views
2

我的老板给我的任务是创建一个聊天机器人,不是用电报或Slack,在其中使用Watson Conversation服务。聊天机器人平台

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

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

感谢您的任何帮助。

+0

这样一个广泛的问题...你能缩小它吗?可以在[Bluemix](http://www.ibm.com/cloud-computing/bluemix/)上找到Watson。使其嵌入式是好的,这样可以确保你有正确的标题。 –

+0

我在Telegram和Slack中创建了一个聊天机器人。问题是我需要在聊天界面中使用白皮书来访问聊天机器人。我也使用Chattlio,火箭聊天和在线聊天,但是这个平台不支持bot代理,只支持用户代理。 –

+0

对话是一个休息API。因此,您可以将其用作其他聊天bot框架(例如Messenger)上的聊天工具的大脑。 –

回答

1

我强烈建议你建立更多的助理不是一个简单的机器人,使用像微软LUIS语言理解服务的工具,那就是微软认知服务的一部分。

你可以用机器人SDK像上面提到的MicroSoft Botframework然后结合这自然语言处理的工具,这样你可以很容易地运行在自然语言查询,解析在entitiesintents在对话框的响应,并提供自然响应语言。

的一个例子,一个解析的对话响应都会有这样的事情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有已由语言理解系统识别的ArtistName类型的实体queen

也就是说,使用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! 
两方之间的相互作用

一些bot框架使用then 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;
-1

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

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

我真的很喜欢人们的意见,看看它是如何得到改善的。