Синтаксический разбор предложения Razbor.org
Razbor.org Синтаксический анализатор

Морфологический слой

Защита от галлюцинаций. Как мы отбираем у ИИ право на ошибку с помощью детерминированных Python-словарей.

Языковые модели прекрасно видят общую картину, но они ужасающе небрежны в деталях. Для ChatGPT грамматика — это просто статистика. Он не знает правил русского языка, он просто воспроизводит те комбинации токенов, которые чаще всего видел в интернете.

Болезни LLM-парсинга

В первых версиях Razbor.org мы полностью доверяли разбор нейросети. Результаты были катастрофическими:

  • Игнорирование вида глаголов: ИИ случайным образом путал совершенный и несовершенный вид («бежал» мог стать совершенным видом, просто потому что так сгенерировалось).
  • Путаница в падежах: Родительный и Винительный падежи одушевленных существительных (вижу кота / нет кота) ставили нейросеть в абсолютный тупик.
  • Выдуманные характеристики: Иногда модель приписывала наречиям род и число, что является грубейшей академической ошибкой.

Внедрение Pymorphy3

Мы поняли, что ИИ нельзя доверять академическую базу. Поэтому мы разработали отдельный микросервис на Python, внутри которого работает Pymorphy3 — классический морфологический анализатор, использующий словари OpenCorpora.

Двойной запрос (Параллельная обработка)

Запрос к LLM
«бежавший»
прил., м.р., ед.ч. (ошибка!)
VS
Запрос к Pymorphy
«бежавший»
причаст., прош.вр., несов.в.

Каждое слово из предложения, которое ИИ определил как самостоятельную часть речи, параллельно отправляется по API в наш словарный микросервис. Pymorphy сверяет слово с эталонной базой (содержащей сотни тысяч лексем) и возвращает жесткий, математически точный набор морфологических тегов (число, род, падеж, спряжение, вид).

Но что делать, если ИИ выдал один результат, а словарь — другой? Кому верить? Об этом — на этапе Склейки.

Мы используем Cookie

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