Как сдать экзамен, ничего не понимая

1. Введение. Зачем всё это
Переехав в Германию, через некоторое время мне понадобились права на автомобиль. Сначала сдала жена, потом настала моя очередь. Банально заучив теоретический тест, я смог его сдать без ошибок. Не могу сказать, что статистика и эвристика мне сильно помогли, но, вероятно, их влияние где-то было — на уровне интуиции.
Большинство тестов устроены так, будто проверяют знание. Но если приглядеться, они нередко проверяют что-то другое — способность уловить ритм, стиль, правильный тон.
Это особенно заметно в экзаменах по типу теоретического ПДД: ответы вроде бы про правила, а на деле читаются как про манеру рассуждать. Можно не помнить, какой знак действует на перекрёстке, но почувствовать, какой вариант звучит «разумно» — и не ошибиться.
Я решил проверить, насколько далеко можно зайти, если вообще не понимать материал. Что будет, если убрать смысл и оставить только форму — слова, длину, уверенность, стиль?Может ли программа, которая ничего не знает про вождение, приблизиться к сдаче экзамена, просто угадывая по языку, где правильный ответ?
Это не попытка обмануть экзамен и не практическая задача. Это исследование самой природы тестов — насколько в них встроено непреднамеренное поощрение определённого типа мышления. Если человеческий экзамен можно пройти «по звучанию», значит в нём есть свой язык правильности. Хотелось его увидеть, измерить и понять.
2. Концепция — человек как скрипт
Представим человека, который не учил материал, но долго смотрел на тесты и на то, как они устроены. Он начинает угадывать не по смыслу, а по форме. Он не знает ответ, но чувствует, какой из вариантов «звучит правильно».Он не рассуждает, не опирается на опыт, просто применяет простые правила: избегай категоричности, выбирай осторожные формулировки, ищи баланс.
Идея эксперимента — сделать из такого человека программу простую и тупую, которая не понимает, что такое «проезжая часть» или «пешеход», не знает ПДД, не умеет рассуждать о причинах.Она смотрит на текст и применяет шаблоны, которые статистически совпадают с правильными ответами.
Главная ось, вокруг которой строится всё исследование, — абсолюты.
Слова вроде всегда, никогда, только встречаются удивительно часто именно в неправильных ответах. Они звучат уверенно, но мир редко бывает абсолютным. Поэтому машина должна была научиться избегать таких выражений.
Второй пласт — мягкие слова: если требуется, при необходимости, в зависимости от. Они обозначают осторожность, и в правильных ответах встречаются чаще.
Третий — структура и ритм: короткие, умеренные по длине предложения, без лишней детализации и пафоса.
То, что для человека выглядит как интуиция, для скрипта превращается в набор простых чисел: есть абсолют — минус один балл, есть мягкость — плюс один, слишком длинно — штраф.
Так машина начинает «думать по-человечески», но без понимания. Это имитация сухой и формальной рассудительности.
3. Данные и подход
Для эксперимента я взял реальную базу экзаменационных вопросов по ПДД. После очистки и разметки получилось 1618 ответов из 563 вопросов (категория B, без мотоциклов и грузовиков). Примерно две трети ответов были правильными, треть — ошибочными.
Скрипт не видел смысла текста. Он не знал, что такое тормозной путь, обгон или ограниченная видимость. Он видел только буквы и пробелы.
Из каждого ответа извлекались простые признаки, как если бы человек пытался угадать «по звучанию»:
- абсолюты — слова вроде всегда, только, никогда;
- мягкие конструкции — если требуется, при необходимости;
- якорные выражения — на проезжей части, при ограниченной видимости;
- длина и плотность текста — короткие ответы чаще оказывались правильными;
- пересечение с вопросом — повтор формулировки снижал шанс быть правым.
Были построены три модели:
- Простая эвристика: набор правил «есть абсолют — плохо, есть мягкость — хорошо».
- Логистическая регрессия: та же логика, но веса подбираются статистикой.
- TF-IDF классификатор: чистая лексическая модель, считающая частоту слов.
Для честности проверка шла по группам вопросов, чтобы один и тот же вопрос не попадал и в обучение, и в тест. Всё выполнялось офлайн - без нейросетей и доступа к экзамену.
Фрагмент кода для извлечения признаков:
class SimpleHeuristic:
"""Скрипт без ML - просто интуиция по форме"""
def predict(self, answer_text: str) -> int:
score = 0
# Абсолюты = штраф
absolute_words = ['всегда', 'никогда', 'только', 'никак']
score -= len([w for w in absolute_words if w in answer_text.lower()]) * 1.5
# Мягкость = бонус
soft_words = ['может', 'если требуется', 'при необходимости']
score += len([w for w in soft_words if w in answer_text.lower()]) * 1.0
# Якоря = бонус
if 'разрешается' in answer_text.lower():
score += 0.8
if 'при' in answer_text.lower(): # "при наличии", "при условии"
score += 0.5
# Длина
if len(answer_text) > 100:
score -= 0.5 # Избыточная детализация
return 1 if score > 0.5 else 0
Статистика базы:
Метрика | Значение |
---|---|
Всего ответов | 1618 |
Правильных | 1019 (63%) |
Неправильных | 599 (37%) |
Средняя длина правильного ответа | 68 символов |
Средняя длина неправильного | 75 символов |
Абсолюты в правильных ответах | 12% |
Абсолюты в неправильных ответах | 28% |
Разница частоты абсолютов | ×2.3 |
4. Что получилось
Первое, что стало ясно — тест действительно говорит с человеком на особом языке.Даже без понимания смысла скрипт начал угадывать структуру «правильных» ответов.
Простейшая эвристика, буквально три правила и пара чисел, давала F1 около 0.68.Это значит, что даже тупая модель, просто избегающая категоричности, угадывает чуть лучше, чем случайный выбор.
Когда на тех же признаках запустили логистическую регрессию, результат вырос до F1 ≈ 0.77.Модель стабильно находила одни и те же закономерности:
- слова вроде всегда, только, никак почти всегда совпадали с ошибками;
- фразы если требуется, в зависимости от ситуации — с правильными;
- копирование текста вопроса снижало точность;
- избыточная длина ухудшала результат.
Пример 1. Абсолют как ловушка
Вопрос: Когда Вы имеете право проезжать перекрёсток на жёлтый сигнал светофора?
Неправильный ответ: «Никогда не проезжайте перекрёсток на жёлтый сигнал» — абсолют никогда делает фразу жёсткой.
Правильный ответ: «Только если остановка перед перекрёстком создаст опасность для других участников движения» — мягкость, условность, контекст.
Пример 2. Якорные выражения
Вопрос: Как следует действовать при ограниченной видимости?
Правильный ответ: «При ограниченной видимости допускается включить ближний свет фар и двигаться со скоростью, позволяющей остановиться в пределах видимого участка дороги».Здесь три якоря подряд — при ограниченной видимости, допускается, в пределах.
Признак | Вес | Интерпретация |
---|---|---|
has_absolute | -0.83 | Абсолютные слова снижают точность |
abs_count | -0.50 | Количество абсолютов — штраф |
borrow_from_q | -0.53 | Копирование из вопроса вредно |
has_anchor | +0.45 | Якорные фразы повышают точность |
has_soft | +0.33 | Мягкие выражения полезны |
soft_count | +0.27 | Чем больше мягкости — тем лучше |
Таблица сравнения моделей:
Модель | F1 | Сложность | Интерпретируемость |
---|---|---|---|
Случайный выбор | 0.63 | — | — |
Простая эвристика | 0.68 | Минимальная | Максимальная |
Логистическая регрессия | 0.775 | Средняя | Хорошая |
TF-IDF + линейный классификатор | 0.767 | Средняя | Плохая |
При замене слов синонимами качество почти не изменилось:
Замена слов | F1 | Изменение |
---|---|---|
0% (исходный) | 0.775 | — |
20% | 0.775 | 0% |
50% | 0.772 | −0.3% |
100% | 0.773 | −0.2% |
5. Как это понять по-человечески
Если отбросить технику, вся история — о том, как язык выдаёт мышление. Правильные ответы звучат спокойно, сдержанно, с запасом осторожности. В них почти нет слов вроде всегда или никогда — они оставляют себе пространство на случай, если жизнь подкинет исключение.
Машина этого не понимает, но замечает. Она видит, что категоричные фразы чаще ошибочны, и начинает их избегать. Это и есть имитация рассудительности.
Скрипт фактически выучил поведение взрослого человека: того, кто уже понял, что «всё всегда» — почти никогда не бывает правдой. Он не знает, как вести себя на перекрёстке, но интуитивно выбирает вариант, где есть контекст, где решение зависит от обстоятельств.
Ирония в том, что машина без сознания воспроизводит черту, которую мы считаем признаком зрелости, а именно осторожное мышление. Она не решает задачу, а избегает крайностей. И именно это оказывается ближе к правильному ответу, чем уверенность.