«Векторы смыслов». В работе исследователей Google 2013 года предлагалось с помощью двухслойной нейросети предсказывать слова по контексту (позднее появился и обратный вариант: предсказание контекста по слову). При этом основным результатом был не сам прогноз, а полученные для слов векторные представления. По утверждению авторов, они содержали информацию о смысле слова. В векторных представлениях можно было найти интересные примеры «алгебраических операций» над словами. Например, «король – мужчина + женщина ≈ королева». Кроме того, векторизованные слова стали удобной формой передачи данных о тексте другим алгоритмам машинного обучения, что во многом обеспечило популярность модели word2vec.
Одно из важных ограничений подхода с векторами смыслов слов состоит в том, что смысл определялся для слова, но не документа. Для коротких текстов адекватный «агрегированный» смысл часто можно было получить усреднением векторов входящих в текст слов, однако для длинных текстов этот подход уже оказывался неэффективен. Для обхода ограничения предлагались разные модификации (sentence2vec, paragraph2vec, doc2vec), однако они не распространились так, как базовая модель.
Рекуррентные нейронные сети. Многие «классические» методы работы с текстами основываются на подходе мешка слов. Он приводит к потере информации о порядке слов в предложении. Во многих задачах это не так критично (например, в семантическом анализе), но в некоторых, наоборот, существенно ухудшает результат (например, в анализе эмоциональной окраски и машинном переводе). Подходы на основе рекуррентных нейронных сетей (РНС) позволяют обойти это ограничение. РНС может учесть порядок слов, рассматривая информацию и о текущем слове, и о выходе этой же сети с предыдущего слова (а иногда и в обратную сторону — от последующего).
Одной из наиболее успешных РНС-архитектур стала архитектура на базе блоков LSTM (Long Short Term Memory). Подобные блоки способны запомнить единицу информации на «длительное» время, а затем, при поступлении нового сигнала, выдать ответ с учётом запомненной информации. Подход постепенно модифицировался, и в 2014-м была предложена модель GRU (Gated Recurrent Units), которая при меньшем количестве параметров позволяет во многих случаях добиться того же (а иногда и большего) качества работы.
Рассмотрение текста как последовательности слов, каждое из которых представлено вектором (как правило, word2vec-вектором), оказалось очень удачным решением для задач классификации коротких текстов, машинного перевода (подход sequence-to-sequence), разработки чат-ботов. Однако на длинных текстах часто не хватает памяти рекуррентных блоков, и «вывод» нейросети нередко обуславливается в первую очередь концовкой текста.
Сети-генераторы. Как и в случае с изображениями, нейронные сети используют для генерации новых текстов. Пока результаты работы таких сетей — по большей части «фан», но они развиваются с каждым годом. Прогресс в этой области можно отследить, например, посмотрев на систему Яндекс.Автопоэт (разработка 2013 года), послушав альбом групп «Нейронная оборона» (2016 год) или «Neurona» (2017-й).
Do'stlaringiz bilan baham: |