библиотека - spaCy

0
Ваша оценка: Нет

spaCy - свободная библиотека, в которой воплощены в рабочий код результаты последних достижений в области распознавания текста на естественном языке (NLP, Natural Language Processing).

Библиотека написана на языке Cython (расширение Python, позволяющее использовать вставки на языке Си), совместима с CPython 2.6+/3.3+ на платформах Unix/Linux, macOS и Windows, и распространяется под лицензией MIT. Языковые модели пока подготовлены только для английского и немецкого языков (размер каждой модели около 500Мб).

Библиотека рассчитана на применение в конечных продуктах, снабжена исчерпывающей документацией и предоставляет целостный API, для которого гарантируется обратная совместимость. Большинство имеющихся разработок в области NLP представляют собой исследовательские проекты, реализующие сразу несколько альтернативных алгоритмов, но не готовые для поставки конечному потребителю. В spaCy обеспечена поддержка только одного алгоритма, демонстрирующего наибольшую эффективность. В случае появления более эффективного алгоритма библиотека будет переведена на него, но этот перевод останется незаметным для завязанных на библиотеку приложений и не повлияет на API. Особенностью spaCy также является архитектура, рассчитанная на обработку документов целиком, без предварительной обработки в препроцессорах, разбивающих документ на фразы.

По производительности spaCy значительно превосходит проекты ClearNLP, CoreNLP, MATE и Turbo, и тратит на обработку документа менее 50 мс. Ценой высокой скорости является незначительное снижение точности - spaCy отстаёт по точности на 2% от наиболее эффективной альтернативной релизации, но работает на порядок быстрее. Например, spaCy при точности в 91.8% выполняет обработку 13963 слов в секунду, в то время как библиотека MATE при точности в 92.5% обрабатывает 550 слов в секунду, а библиотека Turbo при точности в 92.4% обрабатывает 349 слов в секунду.

Основные возможности spaCy:

  • Разбор зависимостей на основе меток (точность 91.8% в тесте OntoNotes 5);
  • Распознавание именованных сущностей (точность 82.6% в тесте OntoNotes 5);
  • Пометка частей речи (точность 87.1% в тесте OntoNotes 5);
  • Легко используемые векторы расстановки слов;
  • Присвоение всем строкам цифровых идентификаторов;
  • Экспорт массивов данных для обработки в библиотеке NumPy;
  • Сохранение выравнивания как в исходной строке, что упрощает расчёт разметки;
  • Наличие простых орфографических функций;
  • Отсутствие препроцессора, spaCy обрабатывает текст как есть;
  • Поддержка подключения механизмов глубинного машинного обучения.

 

Тип приложения: библиотека
Сайт разработчика: https://github.com/explosion/spaCy


Разместил: vikos 20 Октябрь 2016 в 21:36