Разработка алгоритма проверки

В приложении Repetire для проверки упражнений используется алгоритм, основанный на расстоянии Левенштейна. Расстояние Левенштейна – это мера, используемая для определения различий между двумя строками. Она показывает минимальное количество односимвольных операций (вставка, удаление, замена), необходимых для преобразования одной строки в другую. Этот метод особенно полезен для оценки ответов на упражнения, где могут быть допущены опечатки или небольшие ошибки.

В процессе проверки ответ пользователя нормализуется: приводится к одному регистру и очищается от пунктуации. Аналогичная обработка применяется и к набору правильных ответов. Это обеспечивает более точное и справедливое сравнение ответов.

Для упражнений нормальной длины действует правило, согласно которому расстояние Левенштейна не должно превышать два. Это означает, что максимально допустимая опечатка в ответе пользователя – это две односимвольные операции. Такой подход позволяет учитывать небольшие ошибки, не снижая при этом образовательной ценности упражнения.

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

2023-09-11