Модуль синтаксического анализа и извлечения сущностей

Центральной задачей технической части становится разбор пользовательского ввода. Игрок редко пишет точные математические формулы. Он формулирует запросы живым языком, используя разные падежи, частицы, синонимы и отрицания. Программа должна надежно выделить из фразы математический оператор и целевое число.

  • Нормализация текста включает приведение к нижнему регистру, удаление пунктуации и токенизацию строки на отдельные лексемы.
  • Лемматизация слов через библиотеки pymorphy3 или spaCy позволяет свести формы «больше», «превышает», «крупнее» к единому семантическому ключу отношения порядка.
  • Модуль распознавания числительных переводит как арабские цифры, так и слова вроде «двадцать пять» в стандартный целочисленный тип данных.
  • Обработка отрицаний корректно меняет знак сравнения на противоположный при обнаружении частицы «не» перед глаголом или сравнительной степенью.

Игровой движок и работа с пространством состояний

Логика игры базируется на сужении диапазона допустимых значений от исходного отрезка, например от одного до ста, до единственного задуманного числа. При каждом корректном ответе программа вычисляет границы интервала, сохраняя историю запросов. В теоретическом разделе необходимо обосновать математическую модель оптимальной стратегии игрока через бинарный поиск с логарифмической сложностью по основанию два.

Отдельно реализуется проверка семантической связности диалога. Если игрок спрашивает о числе за пределами изначально оговоренного диапазона или задает вопрос, ответ на который противоречит предыдущим шагам, система должна корректно уведомить его о логической несостыковке.

Что проверяет преподаватель при защите проекта

При оценке курсовой по информатике комиссия смотрит не на красоту оформления графического окна, а на надежность архитектурных решений. Проект оценивают по трем ключевым критериям.

  1. Устойчивость парсера к вариативности фраз проверяется тестами с нестандартным порядком слов, риторическими вопросами и синонимичными заменами.
  2. Разделение ответственности в коде требует изолировать правила анализа текста от логики проверки числа и функций ввода-вывода.
  3. Полнота покрытия юнит-тестами подтверждает корректность разбора граничных значений, пустых строк и выражений с множественными отрицаниями.

Где искать материалы и научные источники

Теоретический базис алгоритмов поиска информации традиционно берут из фундаментального руководства Томаса Кормена «Алгоритмы. Построение и анализ». Для раздела по компьютерной лингвистике подходят академические учебники Дэниела Джурафски и Джеймса Мартина по обработке естественного языка и речи. Практическую документацию берут из официальных спецификаций языка программирования, руководств к библиотекам NLTK, spaCy или регулярным выражениям стандарта PCRE.

Частые вопросы

Обязательно ли подключать нейросетевые модели вроде трансформеров?

В рамках курсовой работы по информатике надежнее использовать алгоритмы на основе формальных грамматик, регулярных выражений или лемматизации. Их работу проще описать математически, они не требуют вычислительных мощностей видеокарты и защищаются прозрачным кодом.

Какой диапазон чисел лучше задать по умолчанию?

Отрезок от 1 до 100 или от 1 до 1000 считается стандартом. При диапазоне в тысячу значений легко показать на графике теоретическую оценку в десять шагов для оптимального алгоритма деления отрезка пополам.