Как сгенерировать неправильные параметры в Python
Итак, я работаю над генератором вопросов, пока что я создал несколько вопросов из предложения. Что мне нужно сделать сейчас, так это сгенерировать 3 других варианта, похожих на вариант ответа, чтобы я мог сделать его типом MCQ.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я генерирую похожие слова, я получаю неприятные вещи или повторители в целом.
Например, для "как" я получаю привет, привет, привет
а для «водорода» я получаю атомный номер 1, химический элемент, газ
Мне нужен более надежный метод (я использую pydictionary для создания похожих слов). У меня аналогичная проблема со скайнетом.
Любая помощь приветствуется :)
from PyDictionary import PyDictionary
dictionary=PyDictionary()
answer = dictionary.synonym(word)
1 ответ
Вы, вероятно, не захотите получать антонимы, поскольку это было бы слишком очевидно. Кроме того, каков антоним слова «Водород»?
Вам также не нужны произвольные слова, такие как «машина» или «дом», потому что это тоже было бы слишком очевидно и, вероятно, сделало бы ответ смешным.
Вам нужны родственные слова и, возможно, даже возникнут трудности. Наверное, «Уран» просто исключить, а «Кислород» и «Азот» - сложно?
Мой опыт игры в угадайку таков: требуется много размышлений и ручной работы, чтобы получить хорошие вопросы с достаточным количеством неправильных вариантов ответа.
Мои рекомендации по игре в угадайку:
- постарайтесь найти более одного правильного ответа, иначе игроки слишком легко его запомнят. (К сожалению, иногда нет)
- найти гораздо больше неправильных ответов, чем нужно. Если вы показываете на экране 3 неправильных ответа, найдите как минимум 10 неправильных ответов на выбор. Это займет у игроков время, чтобы прочитать, и сделает его более справедливым для новичков.
В целом, вам, вероятно, понадобится шаблонизатор для генерации предложений и «база данных» (JSON или что-то еще) для размещения ваших тщательно созданных слов .
Извините, что я не предлагаю необычный алгоритм искусственного интеллекта для этой задачи. Как ИИ должен быть в состоянии выяснить, действительно ли (или недействителен) выбор атома основан на весе, энергии связи, свободных электронах, радиоактивности или других критериях?
Я обнаружил, что это верно даже для вопросов по математике. Конечно, обычно легче найти неправильные ответы. Но вы по-прежнему хотите, чтобы диапазон чисел соответствовал определенным критериям (например, от 1 до 10 для первого класса школы). Как алгоритм ИИ должен знать, что вы нацелены на определенный возраст ребенка?