В отличие от NLTK , который широко используется для обучения и исследований, spaCy фокусируется на предоставлении программного обеспечения для использования в производстве. [5] [6] spaCy также поддерживает рабочие процессы глубокого обучения , которые позволяют подключать статистические модели, обученные популярными библиотеками машинного обучения, такими как TensorFlow , PyTorch или MXNet, через собственную библиотеку машинного обучения Thinc. [7] [8] Используя Thinc в качестве своего бэкэнда, spaCy предлагает сверточные модели нейронных сетей для маркировки частей речи , анализа зависимостей , категоризации текста и распознавания именованных сущностей (NER) . Готовые статистические модели нейронных сетей для выполнения этих задач доступны для 23 языков, включая английский, португальский, испанский, русский и китайский, а также есть многоязычная модель NER . Дополнительная поддержка токенизации для более чем 65 языков позволяет пользователям обучать пользовательские модели на собственных наборах данных. [9]
История
Версия 1.0 была выпущена 19 октября 2016 года и включала предварительную поддержку рабочих процессов глубокого обучения путем поддержки пользовательских конвейеров обработки. [10] Она также включала сопоставление правил, которое поддерживало аннотации сущностей , и официально задокументированный API обучения.
Версия 2.0 была выпущена 7 ноября 2017 года и представила модели сверточных нейронных сетей для 7 различных языков. [11] Она также поддерживала пользовательские компоненты конвейера обработки и атрибуты расширения, а также имела встроенный обучаемый компонент классификации текста .
Версия 3.0 была выпущена 1 февраля 2021 года и представила современные конвейеры на основе трансформатора . [12] Она также представила новую систему конфигурации и рабочий процесс обучения, а также подсказки по типам и шаблоны проектов. В этой версии прекращена поддержка Python 2 .