Я настоятельно рекомендую вам создать больше помощник чем просто бот, используя язык инструмент понимания службы, как Microsoft LUIS, что является частью когнитивных служб Microsoft.
Вы можете объединить этот естественный инструмент для обработки языка с ботом SDK как MicroSoft Botframework упоминалась выше, так что вы можете легко выполнять запросы на естественном языке, разобрать ответ в диалоге в 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!
Некоторые рамки бота используют тогда 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;
Такой широкий вопрос ... Можете ли вы сузить его? Watson можно найти на [Bluemix] (http://www.ibm.com/cloud-computing/bluemix/). Сделать это встраиваемым в порядке, так что убедитесь, что у вас есть правильные заголовки. –
Я сделал чат-бот в Telegram и Slack. Проблема в том, что мне нужно связать chatbot на веб-сайте с интерфейсом чата. Я также использую Chattlio, ракетный чат и чат, но эта платформа не поддерживает бот-агента, поддерживаются только агенты пользователей. –
Разговор - это API для отдыха. Таким образом, вы можете использовать его в качестве своего мозга вашего бот-чата в других фреймворках чата (например, Messenger). –