Python

Почему чат боты не могут запомнить, что было в предыдущем предложении?

Например, возьмём чат бота, который общается с интернет пользователем ( с человеком).
Собеседник: "Какой язык программирования легче всего выучить?"
Чат бот: "JavaScript"
Собеседник: "Почему?"
Чат бот: "Что почему?"
...
Почему чат бот не может запомнить первый вопрос?
Это не вопрос запоминания. То что можно запомнить в качестве переменной/списка они запоминают. А это уже вопрос семантических содержания, связей и контекста.
Вы (ваш мозг) автоматически выстраиваете связь между вопросом и ответом в нечто связанное, потому что для вас эти слова имеют смысл и ответ встраивается в них сам. Для бота же никакого смысла в этих выражениях просто нет - это строковые переменные и ключевые слова.

Он абсолютно прав в своём вопросе: Почему что? Почему ОН так ответил? Почему он ответил именно ТАК? Почему вы его спросили об этом? Почему JS называется JS? Для него "Почему" - это просто функция (группа функций) у которой должен быть аргумент или ссылка на аргумент.
Принимать же по умолчанию в качестве аргумента свой предыдущий ответ - не корректно.. мало ли что вы там у него спросили? Может вы погоду спрашиваете на завтра, узнаете баланс на счёту или уточняете какой сегодня день недели, а потом спрашиваете "почему".. 0_o Тут можно сказать даже грамотный бот - он вместо того чтобы просто вывалиться в "не понял вопроса", запрашивает аргумент в ответ.
>> И даже если сделать так, то для вашего примера в "Почему" в качестве аргумента придёт JS: "Почему Javs Script?". Ну.. тут даже человек ответит вопросом на вопрос.

А научить бота "понимать" вопрос и корректно (!) сопоставлять ваши вопросы и его ответы - это уже задачка совсем другого порядка.
МБ
Максим Бондарев
85 402
Лучший ответ
...
Собеседник: "JavaScript!"
Чат бот: "Какой JavaScript?"
(✿^‿^)
Юрий Николаич
Юрий Николаич
29 440