Как добавить действие в ответ на разговор Уотсона?
Я создал намерение, сущность и диалог без проблем. Но сейчас я пытаюсь сделать так, чтобы, когда пользователь отправлял "до свидания", приложение закрывалось. Согласно документу, мне придется назвать действие, которое соответствует намерению. Как я могу это сделать? Это через код или через платформу рабочей области разговора?
2 ответа
Ты можешь использовать context variables
или же action variables
для этого. Как использовать контекстные переменные? Добавьте в свой предварительный ответ "контекст" и значения, проверьте мой пример.
Я использовал простой разговор для этого.
В своем Watson Developer Cloud - IBM Bluemix - Watson Conversation добавьте в расширенный ответ этот пример JSON, предполагая, что именно в этом диалоговом узле ваше приложение будет что-то делать:
{
"context": {
"verified": true;
},
"output": {
"text": {
"values": [
"Please wait and I'll verified your request."
],
"selection_policy": "sequential"
}
}
}
Пример (app.js):
function updateMessage(input, data, req, res) {
if (data.context.verified === true){
searchRequest(data, req, res);
} else if (data.output && data.output.text) {
return res.json(data);
}
return data;
}
Вы можете использовать данные для отправки чего-либо в ходе разговора.
function searchRequest(data, req, res){
// something to do and return value
var sendRequest = "Thanks for wait, the request is" + valueRequest;
data.output.text[0] = sendRequest;
return data;
}
РЕДАКТИРОВАТЬ:
Вы можете добавить один объект JSON, например "action", и ваш код распознает эту переменную, используя тот же пример, что и @Mikko. И вы можете проверить это с:
data.output.action === 'close'
- Подробнее о переменных контекста.
- Подробнее о построении диалога.
Вы должны быть осторожны с переменными контекста, поскольку ваш следующий диалоговый узел может обновлять или не обновлять их. Другой вариант - добавить пользовательскую переменную в вывод. Это решение, используемое в примерах обнаружения разговоров, доступных в GitHub.
"output": {
"text": {
"values": [
"Goodbye..."
],
"selection_policy": "sequential"
},
"action": "close"
}
Обратите внимание, что это вызовет предупреждение при закрытии редактора JSON.