始める無料で始める

保留中のアクション I

ユーザーに「はい」か「いいえ」で答えられる追加質問をすることで、ボットのユーザー体験を大きく向上させることができます。こうしたフォローアップを扱うシンプルな方法として、保留中のアクションを定義する方法があります。ユーザーが「はい」と答えたときに実行され、「いいえ」と答えたときに消去されます。

この演習では、intent のみを引数として受け取り、次に実行するアクションと保留中のアクションの2つの値を返す policy() 関数を定義します。「yes」または "affirm" の intent が返されたときは保留中のアクションを実行し、「no」または "deny" の intent が返されたときは保留中のアクションを消去するようにポリシー関数を実装しましょう。

ここでは、interpret(message) 関数があらかじめ定義されています。メッセージに "yes" が含まれていれば "affirm" を返し、"no" が含まれていれば "deny" を返します。

この演習はコースの一部です

Python でチャットボットを作る

コースを見る

演習の手順

  • intent を引数として受け取る policy() という関数を定義してください。
  • intent"affirm" の場合は、"do_pending" アクションと None を返してください。
  • intent"deny" の場合は、"Ok" アクションと None を返してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Define policy()
def ____(____):
    # Return "do_pending" if the intent is "affirm"
    if ____ == "____":
        return "____", None
    # Return "Ok" if the intent is "deny"
    if ____ == "____":
        return "____", None
    if intent == "order":
        return "Unfortunately, the Kenyan coffee is currently out of stock, would you like to order the Brazilian beans?", "Alright, I've ordered that for you!"
コードを編集して実行