stringtranslate.com

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 с каждой другой векторной суммой (этот шаг аналогичен механизму внимания в Трансформерах), чтобы получить вероятность:

Скип-грамм

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

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

История

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

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

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

Параметризация

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

Алгоритм обучения

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

Подвыборка

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

Размерность

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

Контекстное окно

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

Расширения

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

doc2vec

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

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

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

топ2век

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

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

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

Биовекторы

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

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

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

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

Анализ

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

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

Сохранение семантических и синтаксических связей.

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

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

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

Оценка качества модели

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

Параметры и качество модели

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

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

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

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

Смотрите также

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

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

Внешние ссылки

Реализации