我的老板给我创建一个聊天机器人的任务,它不是用 Telegram 或 Slack 制作的,它使用 Watson Conversation 服务。
此外,聊天机器人必须插入到网页中,然后它必须作为 javascript 嵌入到 html 中。
有没有人知道其他好的平台来执行这些任务?
谢谢你的帮助。
我的老板给我创建一个聊天机器人的任务,它不是用 Telegram 或 Slack 制作的,它使用 Watson Conversation 服务。
此外,聊天机器人必须插入到网页中,然后它必须作为 javascript 嵌入到 html 中。
有没有人知道其他好的平台来执行这些任务?
谢谢你的帮助。
在回复评论后,我又看了一眼,意识到 Microsoft Bot Framework 可以用最少的开发投资(一开始)工作。
https://docs.botframework.com/en-us/support/embed-chat-control2/
这个小家伙很有趣。你应该试一试他。
我强烈建议您使用 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
实体。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!
一些机器人框架使用然后 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)
{
}
]);
其他需要考虑的功能是:
我已经开始使用这个名为 Talkify 的开源项目在这个领域做一些工作: https ://github.com/manthanhd/talkify
它是一个机器人框架,旨在帮助协调微软 (Skype)、Facebook (Messenger) 等机器人提供商与您的后端服务之间的信息流。
我真的很喜欢人们的意见,看看是否可以改进它。