Repolode
segment-any-text

segment-any-text/wtpsplit

Инструментарий на Python для разбиения текста на предложения и другие смысловые фрагменты с предобученными моделями SaT и WtP для 85 языков.

Звёзды
1,378
Форки
84
Открытые issues
2
Последний коммит
позавчера

Что это?

wtpsplit разбивает текст на предложения, а также может делить его на абзацы, используя предсказания переносов строк. Библиотека предоставляет модели SaT (Segment any Text) для 85 языков и более ранние модели WtP — для воспроизводимости результатов. Модели загружаются по имени с Hugging Face. Простой вызов split возвращает список предложений для одного текста или итератор по множеству текстов.

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

Инференс можно выполнять в PyTorch на GPU или TPU, с компиляцией TorchInductor либо через ONNX Runtime с провайдером CUDA или CPU. Проект написан на Python и распространяется по лицензии MIT.

Ключевые возможности

  • 01Разбиение на предложения на 85 языках с помощью предобученных моделей SaT.
  • 02Разбиение с ограничением длины с параметрами min_length и max_length.
  • 03Дополнительное разбиение на абзацы на основе предсказанных вероятностей переносов строк.
  • 04LoRA-адаптеры для конкретных языков, предметных областей и стилей письма.
  • 05Инференс через PyTorch на GPU или TPU, компиляцию TorchInductor либо ONNX Runtime.

Сценарии использования

  • Разбиение исходных документов на предложения перед созданием эмбеддингов или индексацией.
  • Предобработка расшифровок или субтитров с ненадёжной пунктуацией.
  • Сегментация многоязычных корпусов для подготовки обучающих данных NLP.
  • Подготовка фрагментов заданного максимального размера для последующих конвейеров обработки языковыми моделями.

Быстрый старт

  1. 1

    Установите пакет с помощью pip

    pip install wtpsplit
  2. 2

    Импортируйте SaT и загрузите предварительно обученную модель

    from wtpsplit import SaT
  3. 3

    Разбейте текст на предложения

    sat.split("This is a test This is another test.")

Что важно знать

  • Для эффективного запуска больших моделей GPU значительно ускоряет работу; README также рекомендует её как необязательный вариант.
  • Для некоторых расширенных возможностей, таких как ONNX и AITune, требуется отдельная установка и дополнительная настройка.

В подборках

Темы

Частые вопросы

Что такое wtpsplit?
Инструментарий на Python для разбиения текста на предложения и другие смысловые фрагменты с предобученными моделями SaT и WtP для 85 языков. wtpsplit разбивает текст на предложения, а также может делить его на абзацы, используя предсказания переносов строк. Библиотека предоставляет модели SaT (Segment any Text) для 85 языков и более ранние модели WtP — для воспроизводимости результатов. Модели загружаются по имени с Hugging Face. Простой вызов split возвращает список предложений для одного текста или итератор по множеству текстов.
wtpsplit можно использовать бесплатно? Какая у него лицензия?
wtpsplit распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
wtpsplit всё ещё поддерживается?
Активно поддерживается. Последний коммит в wtpsplit — 5 нояб. 2026 г..
Для чего можно использовать wtpsplit?
Разбиение исходных документов на предложения перед созданием эмбеддингов или индексацией. Предобработка расшифровок или субтитров с ненадёжной пунктуацией. Сегментация многоязычных корпусов для подготовки обучающих данных NLP. Подготовка фрагментов заданного максимального размера для последующих конвейеров обработки языковыми моделями.
Как установить wtpsplit?
Установите пакет с помощью pip: pip install wtpsplit Импортируйте SaT и загрузите предварительно обученную модель: from wtpsplit import SaT Разбейте текст на предложения: sat.split("This is a test This is another test.")
Где скачать wtpsplit?
Исходный код и инструкции по установке — на GitHub: https://github.com/segment-any-text/wtpsplit

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Бесплатная книга на китайском языке и примеры кода для изучения PyTorch: от основ до CV, NLP, приложений на базе LLM и развёртывания.

4,6 тыс.+4 за неделю492Jupyter NotebookБез лицензииАктивно поддерживаетсяОбновлён 6 дней назад