Представляем Texar: модульный, универсальный и расширяемый набор инструментов для создания текста и не только

Размещено в блоге Petuum.

Мы рады представить Texar, универсальный инструментарий с открытым исходным кодом, который поддерживает широкий набор приложений машинного обучения с упором на задачи генерации текста. Texar особенно подходит для исследователей и практиков в области быстрого прототипирования и проведения экспериментов.

Генерация текста с первого взгляда

Генерация текста охватывает широкий набор задач обработки естественного языка (НЛП), которые направлены на создание естественного языка из входных данных или машинных представлений. К таким задачам относятся машинный перевод, диалоговые системы, обобщение текста, написание статей, перефразирование и изменение текста, добавление подписей к изображениям и многое другое. Несмотря на то, что эта область быстро прогрессировала как в академических, так и в промышленных условиях, отчасти из-за интеграции современных подходов к глубокому обучению, все еще необходимы значительные исследовательские усилия, чтобы улучшить методы и обеспечить возможность использования реальных приложений.

Задачи создания текста имеют много общих свойств и разделяют две основные цели:

  • Создание удобочитаемого текста, похожего на человека.
  • Создание текста, содержащего всю необходимую информацию, полученную на основе входных данных. Например, в машинном переводе генерируемое переведенное предложение должно иметь то же значение, что и исходное предложение.

С этой целью все более широко используются несколько ключевых методов, таких как нейронные кодировщики-декодеры, внимание, сети памяти, состязательные методы, обучение с подкреплением и структурированный контроль, а также оптимизация, предварительная обработка данных и постобработка результатов. процедуры, оценки и т. д. Эти методы часто комбинируются различными способами для решения различных проблем (Рисунок 1).

Поэтому очень желательно иметь платформу с открытым исходным кодом, которая объединяет разработку этих разнообразных, но тесно связанных приложений для генерации текста, поддерживаемую чистыми и последовательными реализациями основных алгоритмов. Такая унифицированная платформа позволит повторно использовать общие компоненты и функции; стандартизировать дизайн, реализацию и эксперименты; способствовать воспроизводимости исследований; и, что важно, поощрять совместное использование техники между различными задачами генерации текста, чтобы алгоритм, разработанный для конкретной задачи, можно было быстро оценить и обобщить для многих других задач.

Представляем Texar

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

Универсальность

Texar содержит широкий спектр модулей и функций для составления произвольных архитектур моделей и реализации различных алгоритмов обучения, таких как обучение с максимальной вероятностью, обучение с подкреплением, состязательное обучение, вероятностное моделирование и т. Д. (Рисунок 2).

Модульность

Texar разделяет различные сложные модели / алгоритмы машинного обучения на, среди прочего, многоразовую архитектуру модели, модули потерь и учебного процесса.

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

Расширяемость

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

Юзабилити

С помощью Texar пользователи могут настраивать модели с помощью шаблонов / примеров и простых файлов конфигурации Python / YAML или программы из API библиотеки Python от Texar для максимальной настраиваемости.

Texar обеспечивает удобное автоматическое повторное использование переменных (не нужно беспокоиться о сложных областях видимости переменных TensorFlow), простые функциональные вызовы для выполнения логики модуля и богатые параметры конфигурации с разумными значениями по умолчанию для каждого модуля.

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

Texar в настоящее время поддерживает несколько исследовательских и инженерных проектов в Petuum, Inc. Мы надеемся, что этот инструментарий также может дать сообществу возможность ускорить разработку технологий в области генерации текста и не только. Мы также приглашаем исследователей и практиков присоединиться к инструментарию и еще больше обогатить его, чтобы вместе мы могли продвигать исследования и приложения в области генерации текста.

Чтобы узнать больше о Texar, посетите следующие ресурсы:

Сайт: https://texar.io

GitHub: https://github.com/asyml/texar

Примеры: https://github.com/asyml/texar/blob/master/examples

Документация: https://texar.readthedocs.io/

Технический отчет: https://arxiv.org/pdf/1809.00794.pdf