Word2vec - Word2vec

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

Подход

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

История

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

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

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

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

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

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

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

Подвыборка

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

Размерность

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

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

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

Расширения

Было предложено расширение word2vec для создания вложений из целых документов (а не из отдельных слов).[11] Это расширение называется paragraph2vec или doc2vec и реализовано в C, Python.[12][13] и Java / Scala[14] инструменты (см. ниже), причем версии Java и Python также поддерживают вывод встраиваемых документов в новые, невидимые документы.

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

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

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

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

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

Вложения португальских слов для нефтяной и газовой промышленности: PetroVec

PetroVec - это набор моделей встраивания слов, предварительно обученных из нефть и газ специализированные корпуса: Petrolês[18]. Обширная коллекция документов, относящихся к предметной области, была собрана из ведущих учреждений для создания большого специализированного корпуса нефтегазовой отрасли на бразильском португальском языке, включающего более 85 миллионов токенов.

Анализ

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. ^ а б c d е ж грамм час я Миколов, Томас; и другие. (2013). «Эффективное оценивание представлений слов в векторном пространстве». arXiv:1301.3781 [cs.CL ].
  2. ^ Миколов, Томас; и другие. (2013). «Эффективное оценивание представлений слов в векторном пространстве». arXiv:1301.3781 [cs.CL ].
  3. ^ Миколов, Томас (2013). «Распределенные представления слов и словосочетаний и их композиционность». Достижения в системах обработки нейронной информации. arXiv:1310.4546.
  4. ^ [1], «Вычисление числовых представлений слов в многомерном пространстве» 
  5. ^ а б Гольдберг, Йоав; Леви, Омер (2014). "Объяснение word2vec: Получение метода вложения слов с отрицательной выборкой Миколова и др.". arXiv:1402.3722 [cs.CL ].
  6. ^ Ehůřek, Radim. Word2vec и друзья (YouTube видео). Получено 14 августа 2015.
  7. ^ Миколов, Томас; Суцкевер Илья; Чен, Кай; Corrado, Greg S .; Дин, Джефф (2013). Распределенные представления слов и фраз и их композиционность. Достижения в системах обработки нейронной информации. arXiv:1310.4546. Bibcode:2013arXiv1310.4546M.
  8. ^ а б c "Архив Google Code - долгосрочное хранилище для хостинга проектов Google Code". code.google.com. Получено 13 июн 2016.
  9. ^ «Параметр (hs & отрицательный)». Группы Google. Получено 13 июн 2016.
  10. ^ «Визуализация данных с использованием t-SNE» (PDF). Журнал исследований машинного обучения, 2008. Vol. 9, стр. 2595. Получено 18 марта 2017.
  11. ^ Ле, Куок; и другие. (2014). «Распределенные представления приговоров и документов». arXiv:1405.4053 [cs.CL ].
  12. ^ «Учебник по Doc2Vec с использованием Gensim». Получено 2 августа 2015.
  13. ^ "Doc2vec для анализа настроений IMDB". Получено 18 февраля 2016.
  14. ^ «Doc2Vec и векторы абзацев для классификации». Получено 13 января 2016.
  15. ^ а б Асгари, Эхсанеддин; Мофрад, Мохаммад Р.К. (2015). «Непрерывное распределенное представление биологических последовательностей для глубокой протеомики и геномики». PLOS ONE. 10 (11): e0141287. arXiv:1503.05140. Bibcode:2015PLoSO..1041287A. Дои:10.1371 / journal.pone.0141287. ЧВК  4640716. PMID  26555596.
  16. ^ Нг, Патрик (2017). «dna2vec: согласованные векторные представления k-мер переменной длины». arXiv:1701.06279 [q-bio.QM ].
  17. ^ Банерджи, Имон; Чен, Мэтью С .; Lungren, Matthew P .; Рубин, Даниэль Л. (2018). «Аннотация радиологического отчета с использованием интеллектуального встраивания слов: применяется к когорте КТ грудной клетки в нескольких учреждениях». Журнал биомедицинской информатики. 77: 11–20. Дои:10.1016 / j.jbi.2017.11.012. ЧВК  5771955. PMID  29175548.
  18. ^ Гомеш, Диогу да Силва Магальяйнш; Кордейро, Фабио Корреа; Консоли, Бернардо Скапини; Сантос, Николас Ласерда; Морейра, Вивиан Перейра; Виейра, Рената; Мораес, Сильвия; Евсуков, Александр Гонсалвеш (январь 2021 г.). «Вложения португальских слов для нефтяной и газовой промышленности: разработка и оценка». Компьютеры в промышленности. 124: 103347. Дои:10.1016 / j.compind.2020.103347.
  19. ^ Леви, Омер; Гольдберг, Йоав; Даган, Идо (2015). «Улучшение распределения схожести с уроками, извлеченными из вложения слов». Труды Ассоциации компьютерной лингвистики. Труды Ассоциации компьютерной лингвистики. 3: 211–225. Дои:10.1162 / tacl_a_00134.
  20. ^ Arora, S; и другие. (Лето 2016). «Подход с использованием модели скрытых переменных к встраиванию слов на основе PMI». Сделки доц. Комп. Лингвистика. 4: 385–399. Дои:10.1162 / tacl_a_00106 - через ACLWEB.
  21. ^ Миколов, Томас; Йи, Вэнь-тау; Цвейг, Джеффри (2013). "Лингвистические закономерности в представлениях слов в непрерывном пространстве". HLT-Naacl: 746–751.
  22. ^ «Gensim - Глубокое обучение с word2vec». Получено 10 июн 2016.
  23. ^ Altszyler, E .; Ribeiro, S .; Сигман, М .; Фернандес Слезак, Д. (2017). «Толкование значения сновидения: устранение двусмысленности с помощью скрытого семантического анализа в небольшом корпусе текста». Сознание и познание. 56: 178–187. arXiv:1610.01520. Дои:10.1016 / j.concog.2017.09.004. PMID  28943127. S2CID  195347873.

внешняя ссылка

Реализации