3

私はインテント、エンティティ、およびダイアログを問題なく作成しました。しかし、今、ユーザーが「さようなら」を送信すると、アプリケーションが終了するようにしようとしています。文書によると、私は意図に沿った行動を命名する必要があります。それ、どうやったら出来るの?それはコードを通して、または会話ワークスペースプラットフォームを通じてですか?ワトソンの会話応答にアクションを追加するにはどうすればよいですか?

答えて

5

context variablesまたはaction variablesを使用できます。 コンテキスト変数の使用方法Advanceレスポンスに「コンテキスト」と値を追加して、私の例を確認してください。

私はこれにconversation simpleを使用しました。 IBM Bluemix - - あなたのワトソン開発クラウドで

ワトソンの会話、それはあなたのアプリケーションが何かを行います。この会話のノードであると仮定すると、高度な応答では、このJSONの例を追加します。

{ 
    "context": { 
    "verified": true; 
    }, 
    "output": { 
    "text": { 
     "values": [ 
     "Please wait and I'll verified your request." 
     ], 
     "selection_policy": "sequential" 
    } 
    } 
} 

例(アプリを.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; 
} 

EDIT:

あなたは、 "アクション" のようなものJSONオブジェクトを追加することができ、そして、あなたのコードが@Mikkoが言ったのと同じ例で、この変数を認識します。そして、あなたがこれをチェックすることができます。

data.output.action === 'close' 
+1

あなたは男です!どうもありがとうございます! –

+0

nodejs関数にクラウドダイアログノード経由で接続する方法を教えてください。私はnodejsアプリケーションを介して私の前提webserviceを呼び出している、私は私のダイアログノード内のWebサービスからの応答を、私のアンドロイドアプリの応答に渡す必要がありますようにしたい。 –

+0

こんにちは@ManishPathak、あなたのコードで新しい質問をし、何が間違っているのか詳しく説明してください。 –

2

コンテキスト変数に注意する必要があります。次のダイアログノードでは、コンテキスト変数を更新する場合としない場合があります。別のオプションは、出力にカスタム変数を追加することです。これは、GitHubで利用可能な会話発見サンプルで使用されるソリューションです。

"output": { 
    "text": { 
     "values": [ 
     "Goodbye..." 
     ], 
     "selection_policy": "sequential" 
    }, 
    "action": "close" 
    } 

JSONエディタを閉じるときに警告が表示されることに注意してください。

+0

upvote、答えにはコンテキスト変数に関する重要な情報が1つあります。あなたの例に基づいて質問を編集します。ありがとう –

関連する問題