2016-09-28 211 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)等和你的後端服務。

我真的很喜歡人們的意見,看看它是如何得到改善的。