Word2vec

Из Википедии, бесплатной энциклопедии

Word2vec — это метод обработки естественного языка (НЛП) для получения векторных представлений слов. Эти векторы собирают информацию о значении слова на основе окружающих слов. Алгоритм word2vec оценивает эти представления путем моделирования текста в большом корпусе . После обучения такая модель может обнаруживать слова -синонимы или предлагать дополнительные слова для части предложения. Word2vec был разработан Томашем Миколовым и его коллегами из Google и опубликован в 2013 году.

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

Подход [ править ]

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

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

CBOW можно рассматривать как задачу «заполнить пробелы», где встраивание слов представляет собой то, как слово влияет на относительные вероятности других слов в контекстном окне. Слова, семантически схожие, должны одинаково влиять на эти вероятности, поскольку семантически схожие слова должны использоваться в схожих контекстах. Порядок контекстных слов не влияет на прогноз ( допущение «мешка слов» ).

В архитектуре непрерывного пропуска граммы модель использует текущее слово для прогнозирования окружающего окна контекстных слов. [1] [2] Архитектура пропуска грамм весит слова близлежащего контекста больше, чем слова более удаленного контекста. По примечанию авторов, [3] CBOW работает быстрее, а Skip-gram лучше справляется с редкими словами.

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

Математические детали [ править ]

Этот раздел основан на экспозициях. [4] [5]

Корпус – это последовательность слов. И CBOW, и Skip-gram — это методы изучения одного вектора на каждое слово, появляющееся в корпусе.

Позволять («словарный запас») - набор всех слов, встречающихся в корпусе. . Наша цель — выучить один вектор за каждое слово .

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

В исходной публикации «близость» измеряется softmax , но структура допускает другие способы измерения близости.

Непрерывный мешок слов CBOW ) (

Предположим, мы хотим, чтобы каждое слово в корпусе было предсказано каждым другим словом в небольшом интервале из 4 слов. Пишем множество соседей .

Тогда целью тренировки является максимизация следующей величины:

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

Произведения численно нестабильны, поэтому преобразуем их логарифмом:

То есть мы максимизируем логарифмическую вероятность корпуса.

Наша вероятностная модель выглядит следующим образом: Даны слова , он принимает их векторную сумму , затем возьмите скалярное произведение-softmax с любой другой векторной суммой (этот шаг аналогичен механизму внимания в Transformers), чтобы получить вероятность:

Тогда после упрощений количество, которое необходимо максимизировать, составит:
Величину слева вычисляют быстро, а величину справа — медленно, поскольку она предполагает суммирование всего словарного набора для каждого слова в корпусе. Более того, чтобы использовать градиентное восхождение для максимизации логарифмической вероятности, необходимо вычислить градиент величины справа, что является неразрешимой задачей. Это побудило авторов использовать приемы численной аппроксимации.

Скип-грамм [ править ]

Для скип-грамм целью тренировки является

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

Произведения численно нестабильны, поэтому преобразуем их логарифмом:

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

История [ править ]

В 2010 году Томаш Миколов (тогда работавший в Брненском технологическом университете ) с соавторами применил простую рекуррентную нейронную сеть с одним скрытым слоем для моделирования языка. [6]

Word2vec был создан, запатентован, [7] и опубликовано в 2013 году группой исследователей под руководством Миколова из Google в двух статьях. [1] [2] Другие исследователи помогли проанализировать и объяснить алгоритм. [4] Векторы внедрения, созданные с помощью алгоритма Word2vec, имеют некоторые преимущества по сравнению с более ранними алгоритмами. [1] [ нужны дальнейшие объяснения ] например, те, которые используют n-граммы [8] и латентный семантический анализ .

К 2022 году прямой подход Word2vec был описан как «устаревший». Модели-трансформеры , которые добавляют несколько слоев внимания нейронной сети поверх модели встраивания слов, аналогичной Word2vec, стали считаться новейшим достижением в НЛП. [9]

Параметризация [ править ]

Результаты обучения word2vec могут быть чувствительны к параметризации . Ниже приведены некоторые важные параметры обучения word2vec.

Алгоритм обучения [ править ]

Модель Word2vec можно обучать с помощью иерархической softmax и/или отрицательной выборки. Чтобы аппроксимировать условное логарифмическое правдоподобие, которое модель стремится максимизировать, иерархический метод softmax использует дерево Хаффмана для сокращения вычислений. С другой стороны, метод отрицательной выборки подходит к проблеме максимизации путем минимизации логарифмической вероятности выбранных отрицательных экземпляров. По мнению авторов, иерархический softmax лучше работает для нечастых слов, тогда как отрицательная выборка лучше работает для частых слов и лучше с векторами малой размерности. [3] По мере увеличения времени обучения иерархический softmax перестает быть полезным. [10]

Подвыборка [ править ]

Высокочастотные и низкочастотные слова часто несут мало информации. Слова с частотой выше определенного порога или ниже определенного порога могут быть отобраны или удалены для ускорения обучения. [11]

Размерность [ править ]

Качество встраивания слов увеличивается с увеличением размерности. Но после достижения некоторой точки предельный выигрыш уменьшается. [1] Обычно размерность векторов устанавливается в диапазоне от 100 до 1000.

Контекстное окно [ править ]

Размер контекстного окна определяет, сколько слов до и после данного слова включены в качестве контекстных слов данного слова. По примечанию авторов, рекомендуемое значение составляет 10 для скип-грамм и 5 для CBOW. [3]

Расширения [ править ]

Существует множество расширений word2vec.

doc2vec [ править ]

doc2vec генерирует распределенные представления фрагментов текста переменной длины , таких как предложения, абзацы или целые документы. [12] [13] doc2vec был реализован в инструментах C , Python и Java / Scala (см. ниже), причем версии Java и Python также поддерживают вывод вложений документов в новые, невидимые документы.

doc2vec оценивает распределенные представления документов так же, как word2vec оценивает представления слов: doc2vec использует любую из двух модельных архитектур, обе из которых являются аллегориями архитектур, используемых в word2vec. Первая, модель векторов абзацев с распределенной памятью (PV-DM), идентична CBOW, за исключением того, что она также предоставляет уникальный идентификатор документа как часть дополнительного контекста. Вторая архитектура, версия вектора абзаца с распределенным пакетом слов (PV-DBOW), идентична модели пропуска грамм, за исключением того, что она пытается предсказать окно окружающих слов контекста на основе идентификатора абзаца, а не текущего слова. [12]

doc2vec также имеет возможность фиксировать семантические «значения» дополнительных частей «контекста» вокруг слов; doc2vec может оценить семантические вложения для говорящих или атрибутов говорящих, групп и периодов времени. Например, doc2vec использовался для оценки политических позиций политических партий в различных Конгрессах и Парламентах США и Великобритании. [14] соответственно, и различные правительственные учреждения. [15]

top2vec [ править ]

Еще одним расширением word2vec является top2vec, который использует встраивание документов и слов для оценки распределенных представлений тем. [16] [17] top2vec берет встраивания документов, полученные из модели doc2vec, и сводит их к более низкому измерению (обычно с использованием UMAP ). Затем пространство документов сканируется с помощью HDBSCAN, [18] и найдены группы подобных документов. Далее центроид документов, идентифицированных в кластере, считается тематическим вектором этого кластера. Наконец, top2vec ищет в семантическом пространстве встраивания слов, расположенные рядом с вектором темы, чтобы выяснить «значение» темы. [16] Слово с вложениями, наиболее похожими на вектор темы, может быть назначено в качестве заголовка темы, тогда как далекое вложение слов может считаться несвязанным.

В отличие от других моделей тем, таких как LDA , top2vec предоставляет канонические метрики «расстояния» между двумя темами или между темой и другими вложениями (словами, документами и т. д.). Вместе с результатами HDBSCAN пользователи могут создавать иерархии тем или группы связанных тем и подтем.

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

Биовекторы [ править ]

Расширение векторов слов для n-грамм в биологических последовательностях (например , ДНК , РНК и белках ) для приложений биоинформатики было предложено Асгари и Мофрадом. [19] Названные биовекторами ( BioVec ) для обозначения биологических последовательностей в целом, белковыми векторами (ProtVec) для белков (аминокислотные последовательности) и векторами генов (GeneVec) для генных последовательностей, это представление может широко использоваться в приложениях машин. обучение протеомике и геномике. Результаты показывают, что BioVectors могут характеризовать биологические последовательности с точки зрения биохимических и биофизических интерпретаций лежащих в их основе закономерностей. [19] Похожий вариант, dna2vec, показал, что существует корреляция между Нидлмана-Вунша показателем сходства и косинусным сходством векторов слов dna2vec. [20]

интеллектуальное встраивание слов ( IWE ) Радиология и

Расширение векторов слов для создания плотного векторного представления неструктурированных радиологических отчетов было предложено Banerjee et al. [21] Одна из самых больших проблем Word2vec — как обрабатывать неизвестные слова или слова за пределами словарного запаса (OOV), а также морфологически похожие слова. Если модель Word2vec раньше не встречала определенное слово, она будет вынуждена использовать случайный вектор, который, как правило, далек от его идеального представления. Это может особенно стать проблемой в таких областях, как медицина, где синонимы и родственные слова могут использоваться в зависимости от предпочтительного стиля работы радиолога, а слова могут использоваться нечасто в большом корпусе.

IWE сочетает Word2vec с методом семантического сопоставления словаря для решения основных проблем извлечения информации из клинических текстов, которые включают неоднозначность стиля повествования в произвольном тексте, лексические вариации, использование неграмматических и телеграфных фаз, произвольный порядок слов и частое появление сокращений. и аббревиатуры. Особый интерес представляет то, что модель IWE (обученная на одном институциональном наборе данных) успешно трансформировалась в другой институциональный набор данных, что демонстрирует хорошую возможность обобщения подхода между учреждениями.

Анализ [ править ]

Причины успешного обучения встраиванию слов в рамках word2vec плохо изучены. Голдберг и Леви отмечают, что целевая функция word2vec приводит к тому, что слова, которые встречаются в схожих контекстах, имеют схожие вложения (что измеряется косинусным сходством ), и отмечают, что это соответствует гипотезе распределения Дж. Р. Ферта . Однако они отмечают, что это объяснение «очень запутано», и утверждают, что более формальное объяснение было бы предпочтительнее. [4]

Леви и др. (2015) [22] показывают, что превосходная производительность word2vec или аналогичных вложений в последующих задачах во многом является результатом не самих моделей, а выбора конкретных гиперпараметров. Перенос этих гиперпараметров в более «традиционные» подходы дает аналогичные результаты в последующих задачах. Арора и др. (2016) [23] объясните word2vec и связанные с ним алгоритмы как выполнение вывода для простой генеративной модели текста, которая включает в себя процесс генерации случайных блужданий, основанный на логлинейной тематической модели. Они используют это для объяснения некоторых свойств вложений слов, в том числе их использования для решения аналогий.

Сохранение семантических и синтаксических связей [ править ]

Визуальная иллюстрация вложений слов
Визуальная иллюстрация вложений слов

Подход к внедрению слов способен уловить несколько различных степеней сходства между словами. Миколов и др. (2013) [24] обнаружил, что семантические и синтаксические закономерности можно воспроизвести с помощью векторной арифметики. Такие шаблоны, как «Мужчина относится к женщине, как брат к сестре», могут быть созданы с помощью алгебраических операций над векторными представлениями этих слов, так что векторное представление «Брат» - «Мужчина» + «Женщина» дает результат, который является наиболее близким к векторному представлению «Сестры» в модели. Такие отношения могут быть созданы для ряда семантических отношений (например, Страна-Столица), а также синтаксических отношений (например, настоящее время-прошедшее время).

Этот аспект word2vec использовался во множестве других контекстов. Например, word2vec использовался для отображения векторного пространства слов одного языка в векторное пространство, созданное на основе другого языка. Отношения между переведенными словами в обоих пространствах можно использовать для машинного перевода новых слов. [25]

Оценка качества модели [ править ]

Миколов и др. (2013) [1] разработали подход к оценке качества модели word2vec, основанный на семантических и синтаксических шаблонах, обсуждавшихся выше. Они разработали набор из 8869 семантических отношений и 10675 синтаксических отношений, которые используют в качестве эталона для проверки точности модели. При оценке качества векторной модели пользователь может использовать этот тест точности, реализованный в word2vec: [26] или разработать собственный набор тестов, который будет иметь значение для корпусов, составляющих модель. Этот подход предлагает более сложную проверку, чем просто доказывать, что слова, наиболее похожие на данное проверочное слово, интуитивно правдоподобны. [1]

Параметры и качество модели [ править ]

Использование разных параметров модели и разных размеров корпуса может сильно повлиять на качество модели word2vec. Точность можно повысить несколькими способами, включая выбор архитектуры модели (CBOW или Skip-Gram), увеличение набора обучающих данных, увеличение количества векторных измерений и увеличение размера окна слов, рассматриваемых алгоритмом. Каждое из этих улучшений связано с увеличением вычислительной сложности и, следовательно, увеличением времени создания модели. [1]

В моделях, использующих большие корпуса и большое количество измерений, модель пропуска грамм обеспечивает самую высокую общую точность и неизменно обеспечивает самую высокую точность семантических отношений, а также самую высокую синтаксическую точность в большинстве случаев. Однако CBOW менее затратен в вычислительном отношении и дает аналогичные результаты по точности. [1]

В целом точность увеличивается с увеличением количества используемых слов и размеров. Миколов и др. [1] сообщают, что удвоение объема обучающих данных приводит к увеличению вычислительной сложности, эквивалентному удвоению количества векторных измерений.

Альтшилер и соавторы (2017) изучали производительность Word2vec в двух семантических тестах для разных размеров корпуса. [27] Они обнаружили, что Word2vec имеет крутую кривую обучения , превосходя по эффективности другой метод встраивания слов, латентный семантический анализ (LSA), когда он обучается на корпусе среднего и большого размера (более 10 миллионов слов). Однако при небольшом обучающем корпусе LSA показал лучшие результаты. Кроме того, они показывают, что лучшая настройка параметров зависит от задачи и обучающего корпуса. Тем не менее, для моделей пропуска грамм, обученных в корпусах среднего размера с 50 измерениями, размер окна в 15 и 10 отрицательных образцов кажется хорошей настройкой параметров.

См. также [ править ]

Ссылки [ править ]

  1. ^ Перейти обратно: а б с д Это ж г час я дж к Миколов, Томас; и другие. (2013). «Эффективная оценка представлений слов в векторном пространстве». arXiv : 1301.3781 [ cs.CL ].
  2. ^ Перейти обратно: а б Миколов, Томас; Суцкевер, Илья; Чен, Кай; Коррадо, Грег С.; Дин, Джефф (2013). Распределенные представления слов и словосочетаний и их композиционность . Достижения в области нейронных систем обработки информации . arXiv : 1310.4546 . Бибкод : 2013arXiv1310.4546M .
  3. ^ Перейти обратно: а б с «Архив кода Google — долгосрочное хранилище для хостинга проектов Google Code» . code.google.com . Проверено 13 июня 2016 г.
  4. ^ Перейти обратно: а б с Гольдберг, Йоав; Леви, Омер (2014). «Объяснение word2vec: получение метода встраивания слов с отрицательной выборкой Миколова и др.» . arXiv : 1402.3722 [ cs.CL ].
  5. ^ Ронг, Синь (5 июня 2016 г.), Объяснение обучения параметрам word2vec , arXiv : 1411.2738
  6. ^ Миколов, Томас; Карафиа, Мартин; Бургет, Лукаш; Черноцкий, Ян; Худанпур, Санджив (26 сентября 2010 г.). «Языковая модель на основе рекуррентной нейронной сети». Интерспич 2010 . ИСКА: ИСКА. стр. 1045–1048. дои : 10.21437/interspeech.2010-343 .
  7. ^ US 9037464 , Миколов, Томас; Чен, Кай и Коррадо, Грегори С. и др., «Вычисление числовых представлений слов в многомерном пространстве», опубликовано 19 мая 2015 г., передано Google Inc.  
  8. ^ «Раскрытие новаторского пути Word2Vec и состояния науки об искусственном интеллекте» . Середина . 3 февраля 2023 г. Проверено 21 апреля 2024 г.
  9. ^ Фон дер Мозель, Джулиан; Трауч, Александр; Гербольд, Штеффен (2022). «О применимости предварительно обученных преобразователей для обработки естественного языка в области разработки программного обеспечения» . Транзакции IEEE по разработке программного обеспечения . 49 (4): 1487–1507. arXiv : 2109.04738 . дои : 10.1109/TSE.2022.3178469 . ISSN   1939-3520 . S2CID   237485425 .
  10. ^ «Параметр (hs и отрицательный)» . Группы Google . Проверено 13 июня 2016 г.
  11. ^ «Визуализация данных с использованием t-SNE» (PDF) . Журнал исследований машинного обучения, 2008. Том. 9, с. 2595 . Проверено 18 марта 2017 г.
  12. ^ Перейти обратно: а б Ле, Куок; Миколов, Томас (май 2014 г.). «Распределенные представления предложений и документов». Материалы 31-й Международной конференции по машинному обучению . arXiv : 1405.4053 .
  13. ^ Рехурек, Радим. «Господа » .
  14. ^ Рео, Людовик; Кокрейн, Кристофер (3 июля 2019 г.). «Вложения слов для анализа идеологического размещения в парламентском корпусе» . Политический анализ . 28 (1).
  15. ^ Нет, Джон (21 декабря 2017 г.). «Gov2Vec: Изучение распределенных представлений учреждений и их юридического текста» . ССРН . arXiv : 1609.06616 . ССНН   3087278 .
  16. ^ Перейти обратно: а б Ангелов, Димо (август 2020 г.). «Top2Vec: Распределенное представление тем». arXiv : 2008.09470 [ cs.CL ].
  17. ^ Angelov, Dimo (11 November 2022). "Top2Vec" . GitHub .
  18. ^ Кампелло, Рикардо; Мулави, Давуд; Сандер, Йорг (2013). «Кластеризация на основе плотности на основе оценок иерархической плотности» . Достижения в области обнаружения знаний и интеллектуального анализа данных . Конспекты лекций по информатике. Том. 7819. стр. 160–172. дои : 10.1007/978-3-642-37456-2_14 . ISBN  978-3-642-37455-5 .
  19. ^ Перейти обратно: а б Асгари, Эхсанеддин; Мофрад, Мохаммад РК (2015). «Непрерывное распределенное представление биологических последовательностей для глубокой протеомики и геномики» . ПЛОС ОДИН . 10 (11): e0141287. arXiv : 1503.05140 . Бибкод : 2015PLoSO..1041287A . дои : 10.1371/journal.pone.0141287 . ПМК   4640716 . ПМИД   26555596 .
  20. ^ Нг, Патрик (2017). «dna2vec: Согласованные векторные представления k-меров переменной длины». arXiv : 1701.06279 [ q-bio.QM ].
  21. ^ Банерджи, Имон; Чен, Мэтью С.; Лунгрен, Мэтью П.; Рубин, Дэниел Л. (2018). «Аннотация радиологического отчета с использованием интеллектуальных вложений слов: применяется к когорте КТ органов грудной клетки из нескольких учреждений» . Журнал биомедицинской информатики . 77 : 11–20. дои : 10.1016/j.jbi.2017.11.012 . ПМК   5771955 . ПМИД   29175548 .
  22. ^ Леви, Омер; Гольдберг, Йоав; Даган, Идо (2015). «Улучшение сходства распределения с помощью уроков, извлеченных из встраивания слов» . Труды Ассоциации компьютерной лингвистики . 3 . Труды Ассоциации компьютерной лингвистики: 211–225. дои : 10.1162/tacl_a_00134 .
  23. ^ Арора, С; и другие. (Лето 2016 г.). «Подход модели скрытых переменных к встраиванию слов на основе PMI» . Труды Ассоциации компьютерной лингвистики . 4 : 385–399. arXiv : 1502.03520 . doi : 10.1162/tacl_a_00106 – через ACLWEB.
  24. ^ Миколов, Томас; Йи, Вен-тау; Цвейг, Джеффри (2013). «Лингвистические закономерности в представлениях слов в непрерывном пространстве». HLT-Naacl : 746–751.
  25. ^ Янсен, Стефан (9 мая 2017 г.). «Перевод слов и фраз с помощью word2vec». arXiv : 1705.03127 . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  26. ^ «Gensim — Глубокое обучение с помощью word2vec» . Проверено 10 июня 2016 г.
  27. ^ Альтшилер, Э.; Рибейро, С.; Сигман, М.; Фернандес Слезак, Д. (2017). «Толкование значения сна: разрешение двусмысленности с помощью скрытого семантического анализа в небольшом корпусе текста». Сознание и познание . 56 : 178–187. arXiv : 1610.01520 . дои : 10.1016/j.concog.2017.09.004 . ПМИД   28943127 . S2CID   195347873 .

Внешние ссылки [ править ]

Реализации [ править ]