Аннотация.Алгоритм машинного обучения на основе данных стал многообещающим подходом для построения точных и надежных статистических моделей на основе большого набора языковых данных. Это становится очень хорошей проблемой глубокого обучения для решения в области языкового моделирования. Аспекты представления НЛП в виде тензоров в PyTorch существенны. Основное внимание будет уделяться использованию набора слов (BoW), встраиванию слов, рекуррентной нейронной сети и генеративной нейронной сети (это много модных слов, но как только вы их узнаете, их станет очень легко понять). Фреймворки глубокого обучения часто ориентированы либо на удобство использования, либо на скорость, но PyTorch показал, что эти две цели на самом деле совместимы.

Он обеспечивает стиль программирования в стиле Python, который поддерживает код в качестве модели и совместим с другими научными библиотеками, оставаясь при этом эффективным и поддерживая аппаратные ускорители, такие как графические процессоры. PyTorch — это обычная программа на Python с контролем пользователя.

Введение.Мир обработки естественного языка развивается быстрыми темпами. Каждый день мы видим, как развиваются все новые и новые технологии, в первую очередь благодаря способности языковой модели точно предсказывать и быстрее «понимать» человеческий язык при использовании неконтролируемого обучения на больших текстовых корпусах. Теперь большую часть языковой модели можно перевести на несколько языков в режиме реального времени. В ближайшем будущем мы можем увидеть полнофункционального голосового помощника наподобие «Джарвиса» из фильма «Железный человек». Хотя мы уже окружены разными голосовыми помощниками, такими как Alexa, Google Assistant и Siri. Хотя модель на основе языка требует очень большого набора данных для обучения, а обучение модели с большим количеством данных становится дорогостоящим в вычислительном отношении. Но с помощью частного финансирования компании обучают свою модель на суперкомпьютерах, недавнюю модель с обнимающим лицом, которую они назвали «блум» и архитектура которой очень похожа на известную модель GPT3. «Блум» прошел обучение на 46 языках. На момент написания этой статьи блум является крупнейшей многоязычной моделью с открытым доступом. Он был настолько большим, что его пришлось обучать 11 недель на расположенном на юге Франции суперкомпьютере под названием «Жан Зай».

Задачи в области обработки естественного языка:

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

· Классификация по намерениям: используется для сопоставления вводимого высказывания в системе разговорного ИИ и для представления фактического значения фразы.

· Анализ настроений: используется для определения степени негативности данного фрагмента текста.

· Распознавание именованных сущностей (NER): используется для извлечения некоторых сущностей из текста, таких как даты, адреса, имена людей, названия организаций и местоположения.

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

· Вопрос/ответ — это задача извлечения ответа из фрагмента текста.

Далее мы попытаемся понять, как текст преобразуется в числа.

Поэтому мы можем использовать разные подходы при представлении текста:

· Представление на уровне символов: когда мы представляем текст, рассматривая каждый символ как число. Hello world будет представлен тензором 5*C.

· Представление на уровне слов: когда мы создаем словарь всех слов в нашей текстовой последовательности или предложениях, и они представляют каждое слово с использованием прямого кодирования. Например, если у нас есть словарный запас размером 10 000 различных слов. Тогда каждое слово будет иметь горячую длину кодирования 10 000, следовательно, многомерность.

Здесь важно помнить некоторые общие слова: процесс преобразования текста в последовательность токенов называется токенизацией. Затем нам нужно присвоить каждому токену число, которое мы можем передать в нейронную сеть. сеть. Это называется Векторизация.

Задача классификации текста:

Вот как это выглядит, когда вы используете PyTorch для работы над задачей классификации текста. Нам нужно начать импорт некоторых библиотек в нашу IDE, а затем мы можем приступить к выполнению задач.

Биграммы, триграммы и N-граммы:

Одним из ограничений токенизации является то, что некоторые слова являются частью групповой формы. Например, если мы используем слово «хот-дог» по отдельности, оно имеет совершенно другое значение, чем если мы говорим «хот-дог» и «собака».

  • Например, в представлении биграмм мы добавим в словарь все пары слов в дополнение к исходным словам.

Векторное представление Bag of Words (BoW) является наиболее часто используемым традиционным векторным представлением. Каждое слово связано с индексом вектора, элемент вектора содержит количество вхождений слова в каждом документе.

Вывод:

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