Watson Assistant(旧Conversation)でJump toの挙動の違い
はじめに
Watson Assistantでチャットボットを作成しているのですが、
Dialogで細かい挙動を設定している際に気付いた挙動の違いについてメモ。
やろうとしたこと
(Watson Assistant)
①親ノード(Jump先のノード)滞在時にユーザーが入力
↓
(サーバー)
②入力チェック
続行不可(やり直し)となった場合、context変数Aに値をセット
↓
(Watson Assistant)
③context変数Aの値を条件に子ノード(Jump元のノード)が捕捉
↓
(Watson Assistant)
④子ノード(Jump元のノード)がcontext変数Aの値をクリア
↓
(Watson Assistant)
⑤子ノード(Jump元のノード)が親ノード(Jump先のノード)にJump
Jump to(Evaluate condition)
なぜこのようにしているかというと、
入力チェックに引っかかった場合、先に進ませずに再度入力させるためです。
事象
以下のような挙動の差がありました。
Jump先のノードの条件による挙動の差
true以外 | true |
---|---|
④が実行される | ④が実行されない |
原因と対応
原因
よくわかりませんが、trueは特別なのでしょうか。
子ノードが処理されてからJump toするものだと持っていましたが、
trueの場合、スルーされてしまうのか??
対応
④で実施しているcontext変数Aの値をクリアする処理を
親ノード(Jump先のノード)で実施するようにしました。
さいごに
発端はtrue以外に設定しているノードでちゃんと動いていたので、
同じようにtrueに設定しているノードに設定したら動かなかったのです。
処理は同じなのに設定が違うのは混乱の素なので、
同じ設定で統一するために、元々の設定を直す形となりました。
自分の知識不足で何か間違っているような気がしなくもないですが、
もし何か知っている方いたら教えて下さい。
Author And Source
この問題について(Watson Assistant(旧Conversation)でJump toの挙動の違い), 我々は、より多くの情報をここで見つけました https://qiita.com/westjustice/items/bc8252c4a8bf6854e58e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .