Морфологический слой
Защита от галлюцинаций. Исключение ошибок ИИ с помощью детерминированных Python-словарей.
Языковые модели прекрасно видят общую картину, но они ужасающе небрежны в деталях. Для ChatGPT грамматика — это просто статистика. Он не знает правил русского языка, он просто воспроизводит те комбинации токенов, которые чаще всего видел в интернете.
Болезни LLM-парсинга
В первых версиях Razbor.org разбор полностью доверялся нейросети. Результаты показывали системные неточности:
- Игнорирование вида глаголов: ИИ случайным образом путал совершенный и несовершенный вид («бежал» мог классифицироваться как совершенный вид, просто из-за особенностей генерации).
- Путаница в падежах: Родительный и Винительный падежи одушевленных существительных (вижу кота / нет кота) ставили нейросеть в тупик из-за одинаковых окончаний.
- Выдуманные характеристики: Иногда модель ошибочно приписывала наречиям род и число, что является грубой академической ошибкой.
Внедрение Pymorphy3
Академическая база требует жесткой верификации, которую ИИ не всегда может гарантировать. Поэтому был разработан отдельный микросервис на Python, внутри которого работает Pymorphy3 — классический морфологический анализатор, использующий словари OpenCorpora.
Двойной запрос (Параллельная обработка)
Каждое слово из предложения, которое ИИ определил как самостоятельную часть речи, параллельно отправляется по API в словарный микросервис. Pymorphy сверяет слово с эталонной базой (содержащей сотни тысяч лексем) и возвращает жесткий, математически точный набор морфологических тегов (число, род, падеж, спряжение, вид).
Но что делать, если ИИ выдал один результат, а словарь — другой? Кому верить? Об этом — на этапе Склейки.