Обновление за июнь 2020 г .: теперь доступно второе издание этих руководств! Подробности здесь.

В untapt все наши модели так или иначе связаны с обработкой естественного языка (NLP). Наши алгоритмы учитывают естественный письменный язык опыта работы наших пользователей и, основываясь на реальных данных, решения, которые приняли менеджеры по найму, мы можем определить вероятность того, что любой кандидат на вакансию будет приглашен на собеседование на данную вакансию.

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

  1. тривиально включать миллионы параметров модели, которые могут взаимодействовать нелинейно;
  2. могут включать учебные модули, разработанные специально для использования с последовательными данными, такими как естественный язык или данные финансовых временных рядов; а также,
  3. обычно намного более эффективны в производственной среде, чем традиционные подходы машинного обучения для НЛП.

Чтобы разделить мою любовь к глубокому обучению для НЛП, я создал пять часов видеоуроков в сочетании с практическими блокнотами Jupyter. Вслед за моими известными Глубокое обучение с помощью TensorFlow LiveLessons, в котором были представлены основы искусственных нейронных сетей, мои Глубокое обучение для обработки естественного языка аналогичным образом охватите интерактивность и интуицию, что позволит вам быстро развить специализацию в современном НЛП.

Эти руководства предназначены для вас, если вы хотите научиться:

  • предварительно обрабатывать данные на естественном языке для использования в приложениях машинного обучения;
  • преобразовать естественный язык в числовые представления (с помощью word2vec);
  • делать прогнозы с помощью моделей глубокого обучения, обученных на естественном языке;
  • применять передовые подходы к НЛП с помощью Keras, высокоуровневого API TensorFlow; или
  • повысить производительность модели глубокого обучения за счет настройки гиперпараметров.

Ниже приводится краткое изложение тем, затронутых в ходе моих пяти уроков Deep Learning for NLP (полная разбивка подробно представлена ​​в моем репозитории GitHub):

Урок первый: введение в глубокое обучение для обработки естественного языка

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

Урок второй: векторы слов

  • использовать демонстрации, чтобы обеспечить интуитивное понимание встраивания слов в векторное пространство, то есть нюансированных количественных представлений значения слова
  • найти ресурсы для предварительно обученных векторов слов, а также наборов данных на естественном языке
  • Создавайте собственные вложения в векторное пространство с помощью word2vec, включая индивидуальные интерактивные визуализации результирующих векторов слов

Урок третий: моделирование данных на естественном языке

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

Урок четвертый: повторяющиеся нейронные сети

  • обеспечивают интуитивное понимание рекуррентных нейронных сетей (RNN), которые допускают обратное распространение во времени по последовательным данным, таким как данные естественного языка и финансовые временные ряды
  • знакомство с разновидностями RNN с длинной кратковременной памятью (LSTM) и Gated Recurrent Unit (GRU), которые обеспечивают значительно более продуктивное моделирование последовательных данных
  • напрямую создавать архитектуры глубокого обучения LSTM и GRU с помощью высокоуровневого API Keras

Урок пятый: продвинутые модели

  • откройте для себя Bidirectional-LSTM, особенно мощный вариант LSTM, а затем примените их на практике
  • stack Bidirectional-LSTM, чтобы позволить сетям глубокого обучения моделировать все более абстрактные представления языка
  • разрабатывать расширенные возможности моделирования данных с непоследовательными архитектурами нейронных сетей

В январе я снова пойду в студию, чтобы записать третий набор уроков из этой серии; они охватят захватывающий мир глубокого обучения с подкреплением. Чтобы оставаться в курсе, смотрите это пространство!

Джон Крон - главный специалист по анализу данных в untapt. Он возглавляет Исследовательскую группу глубокого обучения в их офисе на Манхэттене и преподает свою программу глубокого обучения в классе Академии наук о данных Нью-Йорка.