Филигранные парсер-решения тяжёлых задач обработки естественного языка
Тезисы
Для многих задач всё активнее применяются нейросети, вытесняя другие решения. Однако у нейросетей как инструмента есть свои погрешности — дороговизна вычислительных ресурсов, необходимость в качественном большом датасете для обучения, долгий цикл изменений с зачастую нестабильными результатами, высокий latency.

Порой перед нами стоят задачи на высокоскоростную работу с большим потоком семантически и грамматически обогащённых данных. Как в моем случае, выделение структурированных NER-сущностей с возможностью корректирования правил их построения. И здесь на помощь приходят старые добрые парсеры грамматик. Благодаря наличию структуры у сущностей Rust и его trait-ы и дженерики отлично сочетаются с мета-правилами двухуровневых грамматик и помогают создавать лаконичное и высокопроизводительное решение.

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

Порой перед нами стоят задачи на высокоскоростную работу с большим потоком семантически и грамматически обогащённых данных. Как в моем случае, выделение структурированных NER-сущностей с возможностью корректирования правил их построения. И здесь на помощь приходят старые добрые парсеры грамматик. Благодаря наличию структуры у сущностей Rust и его trait-ы и дженерики отлично сочетаются с мета-правилами двухуровневых грамматик и помогают создавать лаконичное и высокопроизводительное решение.

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