
В последние годы обработка естественного языка (NLP) наблюдает быстрый рост качества и удобства использования, и это помогло привести к принятию бизнеса решений искусственного интеллекта (ИИ). В последние несколько лет исследователи применяют новые методы глубокого обучения в НЛП. Ученые по данным начали переходить от традиционных методов к современным алгоритмам глубокой нейронной сети (DNN), которые используют языковые модели, предварительно проведенные в крупных текстовых корпусах.
Этот репозиторий содержит примеры и лучшие практики для создания систем НЛП, предоставляемых в качестве ноутбуков и функций утилиты. В центре внимания репозитория уделяется самые современные методы и общие сценарии, которые популярны среди исследователей и практиков, работающих над проблемами, связанными с текстом и языком.
Цель этого хранилища состоит в том, чтобы создать комплексный набор инструментов и примеров, которые используют последние достижения в алгоритмах НЛП, нейронных архитектурах и системах распределенного машинного обучения. Контент основан на наших прошлых и потенциальных будущих взаимодействиях с клиентами, а также в сотрудничестве с партнерами, исследователями и сообществом с открытым исходным кодом.
Мы надеемся, что инструменты могут значительно сократить «время на рынке», упрощая опыт от определения бизнес -проблемы до разработки решения по порядку. Кроме того, пример ноутбуков будет служить руководящими принципами и демонстрировать лучшие практики и использование инструментов на самых разных языках.
В эпоху обучения передачи, трансформеров и глубоких архитектур мы считаем, что предварительно подготовленные модели обеспечивают единое решение для многих реальных проблем и позволяют легко обрабатывать различные задачи и языки. Поэтому мы будем расставлять приоритеты в таких моделях, поскольку они достигнут самых современных результатов по нескольким критериям НЛП, таким как клей и лидеры отряда . Модели могут использоваться в ряде приложений, начиная от простой классификации текста до сложных интеллектуальных ботов в чате.
Обратите внимание, что для определенных проблем НЛП вам может не понадобиться создавать свои собственные модели. Вместо этого существуют предварительно созданные или легко настраиваемые решения, которые не требуют какого-либо индивидуального кодирования или опыта машинного обучения. Мы настоятельно рекомендуем оценить, могут ли они достаточно решить вашу проблему. Если эти решения не применимы, или точности этих решений недостаточно, то может потребоваться более сложные и трудоемкие пользовательские подходы. Следующие когнитивные услуги предлагают простые решения для решения общих задач NLP:
Текстовая аналитика представляет собой набор предварительно обученных API REST, которые можно вызвать для анализа настроений, извлечения ключевых фразу, обнаружения языка и обнаружения сущности и многого другого. Эти API работают из коробки и требуют минимального опыта в машинном обучении, но имеют ограниченные возможности настройки.
QNA Maker -это облачный сервис API, который позволяет вам создавать разговорную задачу по вопросам и ответам над вашими существующими данными. Используйте его для создания базы знаний, извлекая вопросы и ответы из вашего полуструктурированного контента, включая часто задаваемые вопросы, руководства и документы.
Понимание языка -это услуга SaaS для обучения и развертывания модели в качестве API REST, учитывая предоставленный пользователем набор обучения. Вы можете выполнить классификацию намерений, а также извлечение сущности, выполняя простые шаги по предоставлению примеров высказываний и маркировки их. Он поддерживает активное обучение, поэтому ваша модель всегда продолжает обучение и улучшение.
Для этого репозитория наша целевая аудитория включает ученых и инженеров машинного обучения с различными уровнями знаний NLP, так как наш контент является только источником и нацелена на пользовательское моделирование машинного обучения. Представленные коммунальные услуги и примеры предназначены для ускорителей решения для реальных проблем НЛП.
Репозиторий направлен на расширение возможностей NLP по трем отдельным измерениям
Мы стремимся иметь сквозные примеры общих задач и сценариев, таких как классификация текста, распознавание сущности и т. Д.
Мы стремимся поддерживать несколько моделей для каждого из поддерживаемых сценариев. В настоящее время модели на основе трансформаторов поддерживаются в большинстве сценариев. Мы работали над интеграцией пакета Transformers от обнимающегося лица, который позволяет пользователям легко загружать модели, предварительно настраиваемые, и настраивать их для различных задач.
Мы решительно подписываемся на многоязычные принципы, изложенные «Эмили Бендер»
Репозиторий направлен на поддержку неанглийских языков во всех сценариях. Предварительно обученные модели, используемые в репозитории, такие как Bert, Fastext поддерживают 100+ языков из коробки. Наша цель-предоставить сквозные примеры на как можно больше языков. Мы поощряем вклад сообщества в этой области.
Ниже приводится краткое изложение широко используемых сценариев NLP, охватываемых в репозитории. Каждый сценарий демонстрируется в одном или нескольких примерах ноутбука Jupyter, которые используют основную кодную базу моделей и утилиты хранилища.
| Сценарий | Модели | Описание | Языки |
|---|---|---|---|
| Текстовая классификация | Берт, Дистилберт, XLnet, Roberta, Albert, XLM | Текстовая классификация - это контролируемый метод обучения и прогнозирования категории или класса документа, учитывая его текстовое содержание. | Английский, китайский, хинди, арабский, немецкий, французский, японский, испанский, голландский |
| Названное признание сущности | БЕРТ | Названное распознавание сущности (NER) является задачей классификации слов или ключевых фраз текста в предварительно определенные объекты. | Английский |
| Текстовое суммирование | Bertsumext Бертсумабс Unilm (S2S-FT) Менистол | Суммизация текста - это задача генерации языка по сумму ввода текста в более короткий абзац текста. | Английский |
| Логическое следствие | Берт, XLnet, Роберта | Текстовое введение-это задача классификации бинарной связи между двумя текстами естественного языка, текстом и гипотезой , чтобы определить, согласуется ли текст с гипотезой или нет. | Английский |
| Ответ на вопрос | Bidaf, Bert, Xlnet | Ответ на вопрос (QA) - это задача извлечения или генерации действительного ответа для данного запроса на естественном языке, предоставляемый отрывом, связанным с запросом. | Английский |
| Сходство предложения | Берт, Генсен | Сходство предложений - это процесс вычисления оценки сходства с учетом пары текстовых документов. | Английский |
| Внедрения | Word2VEC Фасттекст Перчатка | Встраивается процесс преобразования слова или части текста в непрерывное векторное пространство реального числа, как правило, в низком измерении. | Английский |
| Анализ настроений | Диаграмма зависимости Перчатка | Предоставляет пример анализа настроений на основе аспектов поезда и использования с Azure ML и Intel NLP Architect. | Английский |
Решение проблем НЛП всегда хорошо начинать с предварительно построенных когнитивных услуг. Когда потребности выходят за рамки предварительному когнитивному сервису, и когда вы хотите искать методы пользовательского машинного обучения, вы найдете этот репозиторий очень полезным. Чтобы начать, перейдите к руководству по настройке, в котором перечислены инструкции о том, как настроить вашу среду и зависимости.
Azure Machine Learning Service - это облачный сервис, используемый для обучения, развертывания, автоматизации и управления моделями машинного обучения, все в широком масштабе, которое предоставляет облако. Azureml представлен в ноутбуках в разных сценариях для повышения эффективности разработки систем естественного языка в масштабе и для различных задач, связанных с разработкой искусственного интеллекта, таких как:
Чтобы успешно запустить эти ноутбуки, вам понадобится подписка на Azure или может попробовать Azure бесплатно . В записных книжках могут быть и другие услуги Azure или продукты. Введение и/или ссылка на них будут предоставлены в самих записных книжках.
Мы надеемся, что сообщество с открытым исходным кодом внесет свой вклад в контент и внесет последний алгоритм SOTA. Этот проект приветствует вклады и предложения. Прежде чем внести свой вклад, пожалуйста, посмотрите наши рекомендации по вкладу.
Bootstrap Pry Text Summarization Summarization с последним выпуском от NLP-реципий
Текстовая аннотация сделана легко с Doccano
Jumpstart анализирует ваши текстовые данные хинди с помощью репозитория NLP
Ускорение разработки решений по обработке естественного языка с помощью Azure Machine Learning
Ниже приведен список связанных репозиториев, которые нам нравятся и считаем полезными для задач NLP.
| Репозиторий | Описание |
|---|---|
| Трансформеры | Отличная библиотека Pytorch от обнимающего лица с реализациями популярных моделей на основе трансформаторов. Мы широко использовали их пакет в этом репо и очень ценим их усилия. |
| Записные книжки с машинным обучением Azure | ML и примеры глубокого обучения с Azure Machine Learning. |
| Азуремл-Берт | Скводительные рецепты для предварительного обучения и тонкой настройки BERT с использованием службы Azure Machine Learning. |
| Масса | Масса: маскированная последовательность для последовательности перед тренировкой для генерации языка. |
| MT-DNN | Многочисленные глубокие нейронные сети для понимания естественного языка. |
| Unilm | Unified Language Model перед тренировкой. |
| Dialogpt | Dialogpt: крупномасштабное генеративное предварительное обучение для генерации разговоров |
| Строить | Ветвь | Статус |
|---|---|---|
| Linux CPU | владелец | |
| Linux CPU | поставка | |
| Linux GPU | владелец | |
| Linux GPU | поставка |