Можно и естественный язык формализовать, помнится в "12 стульев" был такой персонаж Эллочка Людоедочка, и якобы этот персонаж обходился 30 словами для всех нужд собственной коммуникации.
Почему бы не поступить вроде этого, взять часть "языка"?
Берем к примеру некоторую ситуацию, и цель чат-бота в этой ситуации.
Цель в данном случае, достижение с помощью коммуникации, некоторого результата со стороны собеседника, например оппонент должен согласиться с чем-то.
Конечно предположить что стратегию достижения цели чат-бот разрабатывает сам, было бы круто, но реальнее вначале расписать стратегии самому.
Ответы пользователя боту для начала тоже можно сильно упростить, например, ответы пользователем, строятся по некоторым шаблонам предложений.
Понимание в данном случае сводится к распознаванию ответов пользователя к некоторому набору заранее определенных смыслов и перемещению бота по узлам сценария и...
Не знаю, интересно, зачем-нибудь, стоит дальше рассказывать?