ELIZA I: kladení otázek
Kladení otázek je skvělý způsob, jak udržet konverzaci živou. Tady začneš budovat první náznaky slavné osobnosti ELIZY – chatbot bude reagovat na tvrzení otázkou a na otázky odpovědí.
Slovník odpovědí s klíči "question" a "statement", jehož hodnotami jsou seznamy vhodných reakcí, je už připravený. Prozkoumej ho v shellu pomocí responses.keys() a responses["question"].
Toto cvičení je součástí kurzu
Building Chatbots in Python
Pokyny k cvičení
- Definuj funkci
respond(), která přijme argumentmessagea pomocí metody.endswith()zkontroluje, jestlimessagekončí otazníkem. - Pokud
messageotazníkem končí, vyber náhodnou"question"ze slovníkuresponses. V opačném případě vyber náhodné"statement"zresponses. - Pošli botovi několik zpráv – s otazníkem i bez něj. Testovací zprávy už jsou připravené. Pokud si chceš vyzkoušet víc, nezapomeň nejdřív kliknout na Spustit kód.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
import random
def respond(message):
# Check for a question mark
if ____:
# Return a random question
return ____(____["____"])
# Return a random statement
return ____(____["____"])
# Send messages ending in a question mark
send_message("what's today's weather?")
send_message("what's today's weather?")
# Send messages which don't end with a question mark
send_message("I love building chatbots")
send_message("I love building chatbots")