すべてをまとめる(前編)
コースで学んだすべての内容を組み合わせましょう。コーヒー注文ボットと、第1章で作成した ELIZA ルールを統合します。
まず、chitchat_response() という関数を定義します。この関数は、第1章で定義済みの match_rule() 関数を呼び出します。メッセージが ELIZA テンプレートに一致した場合は応答を返し、一致しない場合は None を返します。
ELIZA ルールは eliza_rules という辞書に格納されています。
この演習はコースの一部です
Python でチャットボットを作る
演習の手順
message引数を受け取るchitchat_response()関数を定義してください。eliza_rulesとmessageを引数としてmatch_rule()関数を呼び出し、出力をresponseとphraseにアンパックしてください。responseが"default"の場合は、Noneを返してください。responseに"{0}"が含まれている場合は、replace_pronouns()を使ってphraseの人称代名詞を変換し、responseに対して.format()を呼び出してphraseを埋め込んでください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define chitchat_response()
def chitchat_response(message):
# Call match_rule()
____, ____ = ____
# Return none if response is "default"
if response == "____":
return None
if '{0}' in response:
# Replace the pronouns of phrase
phrase = ____
# Calculate the response
response = ____
return response