Популярные NLP библиотеки в 2020 году

Обработка естественного языка (NLP) в 2020 году являлась одной из наиболее исследуемых направлений в машинном обучении. В данной статье представлены наиболее часто используемые библиотеки для этого

Transformers 

Официальный сайт: https://huggingface.co/

Github: https://github.com/huggingface/transformers

Это самая популярная библиотека, которая реализует широкий спектр преобразователей, от BERT и GPT-2 до BART и Reformer. В своем официальном репозитории на github они даже организовали свои скрипты Python по различным задачам, таким как моделирование языка, генерация текста, ответы на вопросы, множественный выбор и т. Д. У них есть встроенные скрипты для запуска базовых преобразователей для каждой из этих задач, поэтому ими действительно удобно пользоваться. 

Transformers предоставляет тысячи предварительно обученных моделей для выполнения таких задач с текстами, как классификация, извлечение информации, ответы на вопросы, обобщение, перевод, создание текста и т. Д. На более чем 100 языках. Его цель - сделать передовое NLP более простым в использовании для всех. Transformers предоставляет API-интерфейсы для быстрой загрузки и использования этих предварительно обученных моделей в заданном тексте, точной настройки их в ваших собственных наборах данных, а затем обмена ими с сообществом в нашем центре моделей. В то же время каждый модуль Python, определяющий архитектуру, может использоваться как автономный и модифицироваться для проведения быстрых исследовательских экспериментов.

 AllenNLP

Image for post

Официальный сайт: https://allennlp.org/

Github: https://github.com/allenai/allennlp

Это общая структура глубокого обучения для NLP, созданная всемирно известным Институтом Аллена для лаборатории искусственного интеллекта. Он содержит современные эталонные модели, которые вы можете быстро приступить к реализации.

 Fairseq

Image for post

Официальный сайт: https://fairseq.readthedocs.io/en/latest

Github: https://github.com/pytorch/fairseq

Fairseq - популярный фреймворк NLP, разработанный Facebook AI Research. Это набор инструментов для моделирования последовательности для машинного перевода, обобщения текста, языкового моделирования, генерации текста и других задач. Он содержит встроенные реализации для классических моделей, таких как CNN, LSTM и даже базовый преобразователь с самовниманием.

Fast.ai 

Официальный сайт: http://docs.fast.ai/

Github: https://github.com/fastai/fastai

Fast.ai создан для того, чтобы сделать глубокое обучение доступным для людей без технических знаний с помощью бесплатных онлайн-курсов, а также простой в использовании библиотеки программного обеспечения. В библиотеке Fast.ai у них есть специальный текстовый раздел, предназначенный для всего, что связано с ТДЗ. У них есть супер-высокоуровневые абстракции и простые реализации для предварительной обработки данных NLP, построения моделей, обучения и оценки. Фреймворк рекомендуется  всем, кто предпочитает практику теории и хочет быстро решить проблему.

 Spacy

Официальный сайт: https://spacy.io/

Github: https://github.com/explosion/spaCy

Spacy - самая популярная библиотека предварительной обработки текста и самая удобная из тех, что вы когда-либо встречали. Он содержит множество простых в использовании функций для токенизации, тегирования части речи, распознавания именованных сущностей и многого другого. Он также поддерживает 60+ языков и несколько предварительно обученных векторов слов, которые помогут вам быстро начать работу.  Он отличается современной скоростью, моделями сверточной нейронной сети для тегирования, синтаксического анализа и распознавания именованных объектов, а также простой интеграции с глубоким обучением. Это коммерческое программное обеспечение с открытым исходным кодом, выпущенное по лицензии MIT.

 NLTK

Официальный сайт: https://www.nltk.org/

Github: https://github.com/nltk/nltk

Модули Python с открытым исходным кодом, наборы данных и учебные пособия, поддерживающие исследования и разработки в области обработки естественного языка.

 TorchText

Официальный сайт: https://torchtext.readthedocs.io/en/latest/

Github: https://github.com/pytorch/text

TorchText официально поддерживается Pytorch и, следовательно, стал популярным. Он содержит удобные утилиты для обработки данных, которые позволяют обрабатывать и готовить их партиями, прежде чем вводить их в структуру глубокого обучения. Это действительно удобный инструмент, который выполнит всю тяжелую работу за вас в несколько простых строк. Вы также можете легко использовать предварительно обученные вложения слов, такие как Word2Vec или FastText, для своих наборов данных. 

 Gensim

Официальный сайт: https://radimrehurek.com/gensim/

Github: https://github.com/RaRe-Technologies/gensim

Gensim - это высокопроизводительное программное обеспечение отраслевого уровня для тематического моделирования определенного фрагмента текста. Он очень надежен, не зависит от платформы и масштабируется. Целевая аудитория - сообщество специалистов по обработке естественного языка (NLP) и поиску информации (IR).

 OpenNMT

Официальный сайт: https://opennmt.net/

Github: https://github.com/OpenNMT/OpenNMT-py

OpenNMT - удобный и мощный инструмент для задач машинного перевода и последовательного обучения. Он содержит гибко настраиваемые модели и процедуры обучения, которые делают его очень простым в использовании.

 ParlAI

Официальный сайт: https://parl.ai/

Github: https://github.com/facebookresearch/ParlAI

ParlAI (произносится как «par-lay») - это среда Python для обмена, обучения и тестирования диалоговых моделей, от болтовни  до VQA (визуального ответа на вопрос).

 DeepPavlov

Официальный сайт: https://deeppavlov.ai/

Github: https://github.com/deepmipt/DeepPavlov

Альтернатива ParlAI, хотя DeepPavlov больше предназначен для приложений и развертывания, а не для исследований. DeepPavlov - это среда, в основном предназначенная для разработки чат-ботов и виртуальных помощников, поскольку она предоставляет все инструменты среды, необходимые для промышленного диалогового агента промышленного уровня.