Razdel — сегментация русскоязычного текста на токены и предложенияhttps://natasha.github.io/razdelСовременные модели часто пропускают этап сегментации, используют BPE-кодировку, показывают замечательные результаты, вспомним GPT и весь зоопарк BERTов. Но, например, задачи определения морфологии и синтаксиса имеют смысл только для отдельных слов внутри одного предложения.
На новостях, нормальное качество сегментации на предложения даёт регулярочка [.?!]\s+. Правда, она будет ошибаться на сокращениях и инициалах: "аудиторией от 3 тыс.| |человек", "В.А.| |Моцарта". Для русского существует несколько хороших решений, которые учитывают эти нюансы, например, ru_sentence_tokenizer от DeepPavlov
https://github.com/deepmipt/ru_sentence_tokenizer.
Единственный недостаток готовых решений — их нельзя настроить. Например, есть текст судебного акта, нужно выделить в нём результативную часть и поделить её на параграфы. Естественно готовые решения так не умеют. Библиотека razdel
https://github.com/natasha/razdel — на самом деле, это не просто готовое решение для разделения на токены и предложения, а небольшой сегментационный движок на правилах. Как упороться и сделать на нём топовое решение стандартной задачи сегментации читайте в
http://natasha.github.io/razdel. Как писать свои правила читайте в исходниках
https://github.com/natasha/razdel/blob/master/razdel/segmenters/sentenize.py =)