Библиотека рассчитана на предоставление постоянного API, не привязанного к используемым алгоритмам и готового для применения в реальных продуктах. Для обработки информации библиотека использует самые свежие достижения в области NLP и наиболее эффективный из имеющихся алгоритмов. В случае появления более эффективного алгоритма библиотека переводится на него, но такой переход не отражается на API и приложениях. Особенностью spaCy также является архитектура, рассчитанная на обработку документов целиком, без предварительной обработки в препроцессорах, разбивающих документ на фразы. Модели предлагаются в двух вариантах — для достижения максимальной производительности и наибольшей точности.
Основные возможности spaCy:
- Поддержка около 60 языков.
- Доступность уже натренированных моделей для разных языков и применений.
- Многозадачное обучение с применением предварительных натренированных трансформеров, таких как BERT (Bidirectional Encoder Representations from Transformers).
- Поддержка предварительно натренированных векторов расстановки и встраивания слов.
- Высокая производительность.
- Система тренировки моделей, готовая для рабочего применения.
- Лингвистически мотивированное разбиение на токены.
- Наличие готовых компонентов для cвязывания именованных сущностей, маркировки частей речи, классификации текста, разбора зависимостей на основе меток, дробления предложений, пометки частей речи, морфологического анализа, лемматизации и т.п.
- Поддержка расширения функциональности при помощи пользовательских компонентов и атрибутов.
- Поддержка создания собственных моделей на базе PyTorch, TensorFlow и других фреймворков.
- Встроенные инструменты для визуализации синтаксиса и cвязывания именованных сущностей (NER, Named Entity Recognition).
- Простой процесс упаковки и развёртывания моделей, а также управления рабочим процессом.
- Высокая точность.
Выпуск spaCy 3.0 примечателен реализацией модели для русского языка. Модель предложена в трёх вариантах (16 МБ, 41 МБ — 20 тысяч векторов и 491 МБ — 500 тысяч векторов), оптимизирована для низкой нагрузки на CPU и включает компоненты tok2vec, morphologizer, parser, senter, ner, attribute_ruler и lemmatizer.
- Новый рабочий процесс тренировки моделей.
- Новая система конфигурации.
- Поддержка моделей (pipeline) на основе трансформеров, подходящих для многозадачного обучения.
- Возможность подключения собственных моделей, используя различные фреймворки машинного обучения, такие как PyTorch, TensorFlow и MXNet.
- Поддержка проектов для управления всеми этапами рабочих процессов, от препроцессинга до развёртывания моделей.
- Поддержка интеграции с пакетами Data Version Control (DVC), Streamlit, Weights & Biases и Ray.
- Новые встроенные компоненты: SentenceRecognizer, Morphologizer, Lemmatizer, AttributeRuler и Transformer.
- Новый API для создания собственных компонентов.
Источник: http://www.opennet.ru/opennews/art.shtml?num=54505
