Популярные 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
Официальный сайт: https://allennlp.org/
Github: https://github.com/allenai/allennlp
Это общая структура глубокого обучения для NLP, созданная всемирно известным Институтом Аллена для лаборатории искусственного интеллекта. Он содержит современные эталонные модели, которые вы можете быстро приступить к реализации.
Fairseq
Официальный сайт: 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 - это среда, в основном предназначенная для разработки чат-ботов и виртуальных помощников, поскольку она предоставляет все инструменты среды, необходимые для промышленного диалогового агента промышленного уровня.