Учебник по встраиванию слов

Гиперпараметры Word2vec

Набор креативных перевесов

Эта статья является пятой в серии Учебник по встраиванию слов:
1. Что стоит за Word2vec | 2. Слова в векторы |
3. Статистическая теория обучения | 4. Классификатор Word2vec |
5. Гиперпараметры Word2vec | 6. Характеристики встраивания слов

В предыдущей статье Классификатор Word2vec мы узнали о концепциях и математике алгоритма Word2vec с упором на модель Skip-gram с отрицательной выборкой (SGNS).

Однако не только алгоритм SGNS делает его эффективным. В 2015 году Леви и соавт. сравнил тогдашние современные векторы слов из традиционных подходов, основанных на подсчете, таких как матрица PPMI и вектора с уменьшенными размерами SVD, с доступными в то время подходами на основе предсказания, включая Word2vec SGNS и GloVe. Они обнаружили, что большая часть прироста производительности в Word2vec связана с выбором дизайна системы и «гиперпараметрами», а не исключительно с обучением, вдохновленным нейронной сетью.

В этой статье мы рассмотрим предложения Word2vec по повышению производительности предварительной обработки и параметры оптимизации алгоритма.

Идентификация фразы

Подчеркивая важность предварительной обработки необработанного текста, Миколов и др. представили метод идентификации фраз в корпусе, которые встречаются достаточно часто, чтобы создание вложения для фразы работало лучше, чем для слов по отдельности (Миколов и др., 2013b). Идентификация фраз в НЛП часто связана с распознаванием именованных объектов, что позволяет встраивать такие слова, как «куст» (завод) и «Буш» (президент) по отдельности. Формула идентификации фраз, которую Миколов с соавт. определить это:

где оценка – это выбранное значение, выше которого идентифицируются фразы. Здесь δкоэффициент дисконтирования. Миколов и др. объясните, что они предпочитают запускать уравнение оценки для данных от 2 до 4 раз, каждый раз уменьшая значение δ.

Порог частоты слова

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

Миколов и др. определил следующую формулу, в которой порог может быть установлен в соответствии с параметром 𝜏, обычно около 10⁻⁵ (Миколов и др., 2013b):

где f(wᵢ) — это часть корпуса, представленная словом wᵢ​. Обратите внимание, однако, что согласно Levy et al. (2015), реализация кода на языке программирования C Миколова и др. использует следующее слегка модифицированное уравнение:

Частота подвыборки

Кроме того, чтобы сократить время обучения, Word2vec обучает более часто встречающиеся слова реже, чем их появление в корпусе, в соответствии со следующей функцией подвыборки, которая находится в реализации кода Миколова и др. на языке программирования C (McCormick, 2019). ):

Здесь снова f(wᵢ) — это доля корпуса, представленная словом wᵢ ​, а параметр 𝜅 определяет, насколько часто происходит подвыборка. . Когда для 𝜅 установлено значение по умолчанию 0,001, до 80 % вхождений самого распространенного английского слова «the» могут быть пропущены, но пропуска не происходит, когда частота слова f( wᵢ) меньше 0,0026.

Взвешивание контекстной позиции

При обучении контекстным словам в окне l вокруг целевого слова Word2vec не использует слова в том виде, в каком они изначально появились в тексте. Во-первых, перед началом обучения удаляются нечастые слова, а экземпляры общих слов пропускаются в соответствии с формулами, описанными в двух предыдущих разделах. Когда эти слова удалены, контекстное окно фактически становится шире, чем оно было бы, если бы слова были сохранены.

Затем Word2vec линейно взвешивает контекстные слова, которые ближе к целевому слову t, сильнее, чем контекстные слова, которые находятся дальше. Например, если размер окна l=5, слова в самой дальней позиции имеют ¹/₅ шанса быть включенными в обучение, а слова непосредственно перед или после целевого слова всегда включаются, как показано на следующем рисунке:

Согласно статье Леви и Голдберга 2014 года (Levy and Goldberg, 2014), размер окна 5 типичен для широких тематических вложений.

Взвешивание отрицательных образцов

В SGNS k слова отрицательной выборки не выбираются в соответствии с их частотой в тексте (униграмма); и они не выбраны одинаково (равномерно). Вместо этого Word2vec использует взвешенную частоту униграмм P𝛼(w), где wᵢ — слово, f( wᵢ) — это доля слов в корпусе, состоящих из этого слова, v — количество слов в словаре, а 𝛼 это вес, который Миколов и др. определены (Миколов и др., 2013b; McCormick, 2019):

Когда 𝛼=1, слова выбираются в соответствии с их частотностью в корпусе. Для SGNS Миколов и соавт. обнаружил, что 𝛼=0,75 работает лучше всего:

«Мы исследовали ряд вариантов для P[𝛼](w) и обнаружили, что распределение униграмм U(w) в степени 3/4 (т. е. U(w)³/⁴/Z) значительно превзошла униграмму и равномерное распределение… для каждой задачи, которую мы пробовали». (Миколов и др., 2013b)

Когда 𝛼=0.75, вероятность обучения редким словам увеличивается, а вероятность обучения частым словам уменьшается (McCormick, 2019), что отражает цель методов повторного взвешивания, обсуждаемых во второй статье этой серии. , Слова в векторах.

По словам Маккормика (2019), «интересно, как этот выбор слов реализован в коде C [Миколова и др.]». Маккормик объясняет, что Mikolov et al. создал большой массив из 100 миллионов элементов и заполнил его индексом каждого слова в словаре согласно уравнению P𝛼(w). Во время обучения они отбирали отрицательные образцы, выбирая случайное число от 0 до 100 миллионов, чтобы случайным образом выбрать значение индекса слова в таблице.

Краткое содержание

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

В следующей статье Характеристики встраивания слов мы рассмотрим сильные и слабые стороны встраивания слов Word2vec.

Эта статья была пятой в серии Учебник по встраиванию слов:
1. Что стоит за Word2vec | 2. Слова в векторы |
3. Статистическая теория обучения | 4. Классификатор Word2vec |
5. Гиперпараметры Word2vec | 6. Характеристики встраивания слов

Подробнее по этой теме:Я рекомендую ресурс, чтобы узнать больше об алгоритме Word2vec: McCormick, C. (2019). Внутренняя работа word2vec (электронная книга).

Рекомендации

Леви, О., и Голдберг, Ю. (2014). Вложения слов на основе зависимостей. В Материалы 52-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 2: Краткие статьи) (стр. 302–308). Доступен в doi 10.3115/v1/P14–2050.

Леви, О., Голдберг, Ю., и Даган, И. (2015). Улучшение дистрибутивного подобия с помощью уроков, извлеченных из вложений Word. В Transactions of the Association for Computational Linguistics, 3:211–225. Доступен в doi 10.1162/tacl_a_00134.

Маккормик, К. (2019). Внутреннее устройство word2vec (версия Pro, первое издание). Электронная книга. McCormickml.com.

Миколов Т., Коррадо Г., Чен К., Суцкевер И. и Дин Дж. (2013b). Распределенные представления слов и фраз и их композиционность. Доступен по адресу arXiv:1310.4546v1.

*Рисунки и изображения предоставлены автором, если не указано иное.