Новый бесплатный онлайн-курс от Samsung по анализу текста при помощи нейросетей

    Мы привычно пользуемся интернет-поиском, общаемся с чат-ботами, читаем документы на любых языках благодаря переводчикам. Приказать роботу-пылесосу начать уборку при помощи голоса? Ничего особенного… Для многих голосовые помощники на смартфоне вошли в повседневность. Будущее, в котором компьютер, прочитав постороннюю заметку о футболе, соответствующим образом меняет тональность новости о погоде, уже наступило.

    Как это всё работает? Как стать специалистом в NLP (расшифровывается Natural Language Processing, не путайте с нейролингвистическим программированием:) )?

    Тех хабровчан, кто задается такими вопросами, мы приглашаем на открывшийся недавно онлайн- курс Samsung Research Russia. Под катом подробности…

    Авторы курса “Нейронные сети и обработка текста”

    В июне этого года мы писали о запуске нашего первого онлайн курса "Нейронные сети и компьютерное зрение". Он получился успешным: там уже более 20 тысяч слушателей, отличные отзывы и мы за него в сентябре даже получили премию Stepik Awards в номинации «Лучший курс от новых авторов»!



    С момента запуска первого курса прошло 5 месяцев, и мы не сидели сложа руки! Вооружившись полученным опытом и вдохновившись успехом коллег, другой коллектив авторов – разработчики Центра искусственного интеллекта Samsung в Москве, эксперты в машинном обучении Роман Суворов, Анастасия Янина и Алексей Сильвестров, при неизменной редакторской поддержке Николая Капырина осилили гигантский объём работы, и 15 октября на канале «Samsung Research Russia Open Education» платформы Stepik стартовал второй курс – "Нейронные сети и обработка текста". 

    Курс рассчитан на 7 недель. Если тратить в среднем 3-5 часов еженедельно на просмотр видеолекций, ответы на вопросы и выполнение практических заданий, то вы разберётесь, что же под капотом у современных поисковых систем, чат-ботов и генераторов текста. Команда приложила много усилий к тому, чтобы, пройдя один только курс, слушатели смогли уверенно ориентироваться в технологиях на уровне джуниор-разработчика или любого технического специалиста, у которого за плечами нет специфического опыта в работе с NLP, а сейчас приходится иметь с ним дело. 

    Итак, в чем отличительные преимущества нашего курса?

    • он разработан специалистами Центра искусственного интеллекта Samsung, у которых за спиной багаж коммерческих проектов в этой области
    • есть теория и практика – вы увидите, как создавать нейросети для обработки текста на PyTorch, реализуете самые актуальные архитектуры и научитесь адаптировать их для ваших нужд
    • как и на первом курсе по компьютерному зрению, лучшие выпускники приглашаются на собеседование в Samsung Research Russia!

    На инфографике ниже мы кратко отразили содержание и текущие количественные характеристики нового курса:

    Выпускники курса получают сертификаты. При этом возможны два варианта: 

    • обычный сертификат, баллы на который можно набрать, решив все задачи к основной части курса;
    • сертификат с отличием: для него потребуется решить все задачи на высший балл, пройти теоретические треки курса (там задачи аналогичны тем, которые ставят перед сотрудниками на собеседованиях) и решить финальную задачу на Kaggle.

    Преподаватели и разработчики курса



    Роман Суворов 
    Старший инженер Центра искусственного интеллекта Samsung в Москве
    В анализе данных, машинном обучении и обработке естественного языка с 2011 года.

    «В 2013 году нейросети захватили моё внимание и с тех пор не отпускают, хотя и про классические подходы не забываю»

    Анастасия Янина 
    Инженер Центра искусственного интеллекта Samsung в Москве 

    «Занимаюсь анализом данных и NLP с 2015 года. Закончила МФТИ (ФИВТ) и ШАД, сейчас преподаю машинное обучение на Физтехе»

    Алексей Сильвестров 
    Старший инженер Центра искусственного интеллекта Samsung в Москве
    «Занимался классическим NLP в 2009-2012 годах, будучи студентом, и позже — DL NLP в 2015-2017, позже переключился на генерацию нейросетями музыки и изображений.  Выпускник ВМиК МГУ.»

    Николай Капырин 
    Продюсер онлайн-курсов, куратор образовательных программ по искусственному интеллекту, Российский Исследовательский Центр Samsung
    «Планирую написать статью на Хабр о технических и методических задачах, которые мы решали, пока сделали два онлайн-курса за год»

    Программа курса


    1. Введение

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

    1. Всем привет! Расскажите нам о себе!
    2. В общих чертах: естественный язык и текст
    3. Особенности обработки естественных языков
    4. В общих чертах: Лингвистический анализ
    5. В общих чертах: Извлечение признаков
    6. Прикладные задачи обработки текста и итоги

    2. Векторная модель текста и классификация длинных текстов

    Начинается математика. Разреженные векторные модели, токены, взаимная информация… что это всё такое? Мы пройдём методы перевода многомерной и многогранной структуры, которая заключена в тексте – в числа, чтобы ML-алгоритмы смогли начать свою работу.

    1. Векторная модель текста и TF-IDF
    2. Создаём нейросеть для работы с текстом
    3. Теоретические задачи: Векторная модель текста
    4. Семинар: классификация новостных текстов

    3. Базовые нейросетевые методы работы с текстами

    Пользуемся ли мы полносвязанными нейросетями? Что такое операция «свёртка над текстами»? Вроде бы, это операция для матриц? Ответы — в этом модуле, где мы изучим первые успешные попытки научить нейронные сети работать со смыслом текста.

    1. Общий алгоритм работы с текстами с помощью нейросетей
    2. Дистрибутивная семантика и векторные представления слов
    3. Семинар: рецепты еды и Word2Vec на PyTorch
    4. Теоретические вопросы: Основы обработки текста нейросетями
    5. Основные виды нейросетевых моделей для обработки текстов
    6. Свёрточные нейросети для обработки текстов
    7. Семинар: POS-тэггинг свёрточными нейросетями
    8. Теоретические вопросы: Свёрточные нейросети в обработке текста

    4. Языковые модели и генерация текста

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

    1. Рекуррентные нейросети
    2. Моделирование языка
    3. Семинар: генерация имён и лозунгов с помощью RNN
    4. Агрегация, механизм внимания
    5. Трансформер и self-attention
    6. Семинар: моделирование языка с помощью Transformer
    7. Теоретические вопросы: Модель языка и трансформеры

    5. Преобразование последовательностей: 1-к-1 и N-к-M

    А что, если на входе – текст, и на выходе нужен текст? Это работа для переводчика, которому, как мы знаем, контекст важнее всего. Если вы должны перевести один массив текста в другой, или в несколько, то этот модуль даст вам всё необходимое!

    1. Распознавание плоской структуры коротких текстов
    2. Семинар: распознавание структуры рецептов
    3. Семинар: аспектный сентимент-анализ как NER
    4. Преобразование последовательностей (seq2seq)
    5. Семинар: генерация кусков кода со Stack Overflow
    6. Теоретические вопросы

    6. Transfer learning, адаптация моделей

    У вас есть отличный проект, но нет супергеройских вычислительных ресурсов? Тогда возьмите готовую нейросеть и до-обучите её решать именно вашу задачу! Нужно знать несколько названий и несколько приёмов обучения, и дело в шляпе.

    1. Контекстуализированные представления и перенос знаний
    2. Семинар: pytorch-transformers или как запустить BERT
    3. Семинар: BERT для вопросно-ответного поиска
    4. Теоретические вопросы

    7. Финальное соревнование на Kaggle и заключение

    Приближая курсор к кнопке «Запустить обучение» вы уже видите, как разворачиваются многомерные цепочки псевдосимволов и внимание машины перетекает между концепциями? Тогда покажите себя в нашем финальном соревновании!

    1. Что ещё почитать, как развиваться
    2. Соревнование на Kaggle: обзор задачи и базового решения

    Требования к студентам


    Курс рассчитан на слушателей, которые немного разбираются в области машинного обучения.

    Что нужно, чтобы приступить к курсу?

    1. Иметь базовые знания о работе нейронных сетей
    2. Иметь базовые знания в области математической статистики
    3. Быть готовым программировать на Python

    Можно сказать, что курс  "Нейронные сети и обработка текста" является продолжением первого курса по компьютерному зрению, потому что опирается на базовый уровень знаний по нейросетям, уже данный нами ранее.

    Возможно, вы уже что-нибудь знаете про NLP – что это не только про редактирование текста; что создание чат-ботов, пересказ текста, классификация эмоций, ответы на вопросы по Википедии – это несложные задачи, которые уже не требуют исследований. Эти задачи станут вам доступны после того, как вы пройдёте этот курс. Но, важнее всего, мы научим вас задавать правильные вопросы в мире современного NLP, а найдёте ли ответы вы сами или внешняя нейросеть  — есть ли разница. Что дальше? Решать вам.

    Вы с нами?

    Тогда добро пожаловать в онлайн-курс!
    • +10
    • 5,9k
    • 9
    Samsung
    160,75
    Компания
    Поделиться публикацией

    Комментарии 9

      +2
      Спсибо за отличные курсы: и по компьютерному зрению, и этот. Как раз на Степике подобного не хватало (была всего пара совсем общих курсов по нейросетям).

      Вопрос — планируются ли новые курсы от Samsung Research ближайшем будущем?
        +3
        Спасибо за приятные слова! Новые курсы обязательно будут. Точную тематику пока разглашать не станем: сюрприз :)
        –2
        Чёртов питон…
          +1
          Чегойта. Питон отличный язык.
            0
            Он встал между мной и этим курсом.
              0
              Пичалька. Ну не знаю, я в своё время знавал Basic, Assembler, Pascal, Perl, PHP, C, основной мой язык сейчас C#. И вот когда я начал учить Python — я не мог нарадоваться, какой это красивый и понятный язык. Мне было с чем сравнить. Для сравнения — Java вот мне совсем не зашла.
                0
                Ну я тоже пару-тройку языков знаю, но не могу перебороть своё нежелание изучать ещё один так чтобы «чуть-чуть выучить». Сконцентрировался сейчас на JS и С++ так, чтобы про них можно было смело сказать, что я их именно «знаю», а не просто могу «пузырьковую сортировку написать». Просто боюсь, что не хватит ресурса мозга столько знаний в башке держать. Я уже заметил, например, как с уходом из инженерной области стали постепенно медленно, но верно затираться различные специфические знания из области электроники.
                  0

                  Выучить питон это 1% от задачи выучить С++. К тому же в том курсе наверняка все на каком-то уже написанном тулките для машинного обучения (который внутри скорее всего на том же С++), т.е. только надо подставлять параметры .

          +1
          Курс — огонь. Сегодня открылся урок по BERT, наконец-то начал понимать как с ним работать.

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое