Практический семинар: генерация текстов
5 ноября состоялся очередной практический семинар научно-учебной группы. Занятие провёл Борис Валерьевич Орехов — один из ведущих российских специалистов в области цифровой гуманитаристики, кандидат филологических наук, доцент Школы лингвистики НИУ ВШЭ (Москва) и руководитель магистерской программы «Цифровые методы в гуманитарных науках» НИУ ВШЭ (Москва). Участники встречи познакомились с различными способами генерации текстов и поработали с ключевыми англо- и русскоязычными нейросетевыми моделями.
Борис Валерьевич начал мастер-класс с краткой теоретической характеристики рекуррентных нейронных сетей (РНС) – нейросетей, работающих с последовательностями – на основе архитектуры которых строится первый рассмотренный в ходе семинара способ генерации текстов. РНС могут быть обучены на различном материале: на последовательностях букв, слов, нот… Чем меньше в последовательности различных базовых элементов, тем проще её обучать – так, модели, минимальной единицей которых являются ноты или буквы (существующие в небольшом, ограниченном количестве), обучаются значительно быстрее, чем модели, основанные на словоформах.
В качестве примера рекуррентной нейросети лектор продемонстрировал модель, созданную Андреем Карпати. Данная нейронная сеть работает с буквенными последовательностями. Борис Валерьевич обратил особое внимание на то, что в результате работы модель создает текст, очень похожий на сгенерированный человеком, хотя в начале обучения модель не знает даже о том, что слова являются единицей текста. Нейросеть, минимальными единицами для которой являются буквы, не знает, какие слова существуют в языке, а каких в языке нет – поэтому она будет экспериментировать и генерировать, в числе прочего, несуществующие слова. Но, скорее всего, даже в этих потенциальных словах не будет маловероятных для рассматриваемого языка буквосочетаний (длинных кластеров согласных, сочетаний, запрещенных нормативной орфографией и т.д.). Таким образом, рекуррентная нейросеть успешно воспроизводит многие характерные для языка признаки.
Сегодня РНС редко используются для генерации текста. В качестве примера современного использования рекуррентных нейросетей, Борис Валерьевич приводит в первую очередь сферу порождения стихотворного текста – ведь с помощью РНС удобно задавать ограничения. Так, в ходе практического занятия Борис Валерьевич продемонстрировал модель, обученную на четырехстопном ямбе. Текст, сгенерированный этой моделью, действительно попадает в стихотворный размер, хотя модель и обучена на датасете, в котором не размечены ударения. Второй сферой, в которой сегодня ещё используют РНС, является генерация текстов для языков, для которых существует недостаточное количество материала, доступного исследователям – ведь РНС, в отличие от более современных нейросетей, нужен не настолько большой объем данных для обучения.
После разговора о рекуррентных нейронных сетях Борис Валерьевич перешёл к описанию более современных нейросетевых архитектур. Часто для генерации текста используется архитектура трансформер. Как и рекуррентные нейросети, модель с архитектурой трансформер обучается на последовательностях элементов – но, в отличие от РНС, модели с архитектурой трансформер могут быть очень большими. В конце практического семинара Борис Валерьевич продемонстрировал способы работы с моделью трансформер в Google Colab – интерфейсе, который дает доступ к вычислительным ресурсам компании Google – и показал участникам семинара обученные на различных датасетах модели этой архитектуры, предсказывающие продолжение заданного предложения.
Мы благодарим Бориса Валерьевича Орехова за увлекательное практическое занятие, а также выражаем благодарность всем участникам семинара!
До скорой встречи!