Word2vec

редактировать

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

Содержание
  • 1 Подход
  • 2 История
  • 3 CBOW и грамм пропуска
  • 4 Параметризация
    • 4.1 Алгоритм обучения
    • 4.2 Подвыборка
    • 4.3 Размерность
    • 4.4 Контекст окно
  • 5 Расширения
  • 6 Векторы слов для биоинформатики: BioVectors
  • 7 Векторы слов для радиологии: интеллектуальное встраивание слов (IWE)
  • 8 Анализ
  • 9 Сохранение семантических и синтаксических отношений
  • 10 Оценка качества модели
    • 10.1 Параметры и качество модели
  • 11 См. Также
  • 12 Ссылки
  • 13 Внешние ссылки
    • 13.1 Реализации
Подход

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

История

Word2vec был создан и опубликовано в 2013 году группой исследователей под руководством Томаса Миколова в Google. Две их статьи цитировались в научной литературе 17231 и 21670 раз соответственно (Google Scholar, 2 августа 2020 г.). Алгоритм запатентован. Другие исследователи услужливо проанализировали и объяснили алгоритм. Встраивание векторов, созданных с помощью алгоритма Word2vec, имеет некоторые преимущества по сравнению с более ранними алгоритмами, такими как скрытый семантический анализ.

CBOW и пропуск граммов

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

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

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

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

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

Подвыборка

Часто встречающиеся слова не дают информации. Слова с частотой выше определенного порога могут быть подвергнуты субдискретизации для увеличения скорости обучения.

Размерность

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

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

Размер контекстного окна определяет, сколько слов до и после данного слова будет включено в качестве контекстных слов данного слова. Согласно примечанию авторов, рекомендуемое значение - 10 для skip-gram и 5 для CBOW.

Extensions

Расширение word2vec для создания вложений из целых документов (а не из отдельных слов) был предложен. Это расширение называется paragrapdiv class="ht"vec или doc2vec и было реализовано в инструментах C, Python и Java / Scala (см. Ниже), причем версии Java и Python также поддерживают вывод встраиваемых документов в новые, невидимые документы.

Словарные векторы для биоинформатики: BioVectors

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

Векторы слов для радиологии: интеллектуальный Встраивание слов (IWE)

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

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

Анализ

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

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

Сохранение семантических и синтаксических отношений

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

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

Mikolov et al. (2013) разработали подход к оценке качества модели word2vec, основанный на семантических и синтаксических шаблонах, описанных выше. Они разработали набор из 8 869 семантических отношений и 10 675 синтаксических отношений, которые они используют в качестве эталона для проверки точности модели. При оценке качества векторной модели пользователь может использовать этот тест на точность, реализованный в word2vec, или разработать свой собственный набор тестов, который имеет значение для корпусов, составляющих модель. Этот подход предлагает более сложный тест, чем просто доказательство того, что слова, наиболее похожие на данное тестовое слово, интуитивно правдоподобны.

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

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

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

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

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

См. Также
Ссылки
Внешние ссылки

Реализации

Последняя правка сделана 2021-06-21 15:28:34
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте