2017-11-16 16 views
0

ワトソン変換を使用して1つのプロジェクトを作成しました。 フローは次のようである:(申し訳ありませんが私は私のダイアログフローを表示することはできませんが、私はそれを説明しようとします)ダイアログのIBM Watson変換

(W:ワトソン、U:ユーザー)

U:オープンアカウントに必要な書類は何? W:名前、Eメール、連絡先。私はあなたのためにそれを開くことができますか? U:はい W:うーん、あなたの名前を入力してください。 U:XYZ W:XYZお問い合わせ番号を入力してください。 U:9999999999 W:XYZ、あなたはすばらしいことをしています。あなたのメールアドレスを入力してください。 U:[email protected]

now come to watson dialog part. 

W:Great, Please enter your name.(i used " < ? input.text ?>" to take user input) 
{ 
"context":{"name":"< ? input.text ?>"} 
"output":{"text":"Great,Please enter your name."} 
} 

U:XYZ 

W:XYZ please enter your contact number 
{ 
"context":{"contact":"< ? input.text ?>"} 
"output":{"text":"$name, Please enter your contact number"} 
} 

U:9999999999 

W: XYZ, you are doing great please enter your email. 
{ 
"context":{"email":"< ? input.text ?>"} 
"output":{"text":"$name, you are doing great please enter your email."} 
} 

U: [email protected] 

これは私の流れであると私はワトソンの内側にそれを実行したときに、それは完璧に働いています。 しかし、自分のアプリケーションから実行しようとしているときには、自分の名前だけが使用されますが、ループでは入力されないということは、他の情報を取得していないことを意味します。

reason is in json it pass: 

{ 
"text":"XYZ" 
} 

しかし、ワトソンは無関係であることを示しています。

私のプロジェクトでは、自分のアプリケーションからワトソンにユーザーデータを渡したいだけで、上記のように出力を表示します。ワトソンの会話が無関係と意思を与えている部分については

is it support < ? input.text ?>...? 
+0

SO、私は明確な質問を見つけることができなかった、あなたはあなたのポストを修正して解決するために、質問 を定義することができますする?ようこそ生成されますかお読みください> [How to Ask](https://stackoverflow.com/help/how-to-ask) –

答えて

0

あなたはコンテキストパラメータとしてパラメータconversation_idを送信するために失われるので、それはそうです。

あなたはそれに応答してconversation_idを取得し、それをサブシーケンシャルコールで渡します。あなたはそれを渡さない場合、新しいIDが毎回

//Extract converstaionId from first call 
String conversationId=msgResponse.getContext().get("conversation_id") 

//Second call in which user gives his name 
Map contextData=new HashMap(); 
context.put("conversation_id", conversationId); // conversationId will be in the response of previous call 
関連する問題