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

Эти представления слов фиксируют синтаксическое и семантическое сходство между словами среди других свойств. Следовательно, они очень полезны для представления слов в последующих задачах NLP, таких как теги POS, NER и т. Д.

Ниже мы рассмотрим три семейства вложений слов.

  • На основе Attention (Transformer). Вложения, созданные с помощью BERT, который на сегодняшний день дал самые современные результаты в последующих задачах, таких как NER, вопросы и ответы, классификация и т. Д. BERT принимает во внимание порядок слов в предложении, но основан на механизме внимания, в отличие от моделей последовательности, таких как ELMo описано ниже
  • На основе семьи RNN. Модели последовательности (ELMo), которые производят вложения слов. ELMo использует составные двунаправленные LSTM для создания встраиваемых слов, которые имеют разные свойства в зависимости от слоя, который их генерирует.
  • Мешок слов на основе. Оригинальные независимые от порядка слов модели, такие как word2vec и Glove

Основное различие между вложениями слов Word2vec, Glove, ELMo и BERT заключается в том, что

  • Вложения слов Word2vec и Glove не зависят от контекста - эти модели выводят только один вектор (вложение) для каждого слова.
  • Это одно числовое представление слова (которое мы называем встраиванием / вектором) независимо от того, где слова встречаются в предложении, и независимо от различных значений, которые они могут иметь. Например, после обучения word2vec / Glove на корпусе (обучение без учителя - метки не нужны) мы получаем в качестве выходных данных одно векторное представление для, скажем, слова «cell ». Так что даже если бы у нас было предложение вроде «Он пошел в тюремную камеру со своим мобильным телефоном, чтобы извлечь образцы клеток крови у заключенных », где слово ячейка имеет разные значения в зависимости от контекста предложения, эти модели просто сворачивают их все в один вектор для« ячейка ”в их выводе.
  • ELMo и BERT могут генерировать различные вложения слов для слова, которое отражает контекст слова - то есть его позицию в предложении.
  • Например, для того же примера выше «Он пошел в тюремную камеру со своим мобильным телефоном, чтобы взять образцы крови клеток у заключенных. ”, и Elmo, и BERT будут генерировать разные векторы для трех векторов для ячейки. Например, первая камера (корпус тюремной камеры) будет ближе к таким словам, как тюремное заключение, преступление и т. Д., Тогда как вторая «ячейка» (чехол для телефона) будет ближе к таким словам, как iphone, android, galaxy и т. Д.

Вышеупомянутая разница также частично является следствием того факта, что Word2vec и Glove не принимают во внимание порядок слов при обучении - ELMo и BERT принимают во внимание порядок слов (ELMo использует LSTMS; BERT использует Transformer - основанный на внимании модель с позиционными кодировками для представления позиций слов).

Практическое значение объединения всех значений в один вектор состоит в том, что мы можем использовать векторы word2vec и Glove, обученные на большом корпусе, непосредственно для последующих задач без необходимости в самой модели, которая использовалась для обучения этих векторов. Все, что нам нужно, это векторы для слов.

Однако в случае ELMo и BERT, поскольку они зависят от контекста, нам нужна модель, которая использовалась для обучения векторов даже после обучения, поскольку модели генерируют векторы для слова на основе контекста. Мы можем просто использовать независимые от контекста векторы для слова, если мы тоже выберем (просто введем слово отдельно для модели и получим его вектор), но это лишит саму цель / преимущество этих моделей. На рисунке ниже показана эта последняя тенденция использования встраивания слов вместе с моделями, на которых они были обучены для последующих задач.

Рисунок из шляпы был самым значительным достижением в области обработки естественного языка в 2018 году?

Существует ключевое различие между способом, которым BERT генерирует свои вложения, и всеми другими тремя моделями - Glove, Word2vec и ELMo.

  • Glove и Word2vec - это модели на основе слов, то есть модели принимают в качестве входных слов и встраивания выходных слов.
  • Elmo, напротив, представляет собой символьную модель, использующую свертки символов, и по этой причине может обрабатывать слова вне словарного запаса . Выученные представления - это слова, однако (показано в таблице ниже).
  • BERT представляет ввод как подслова и изучает вложения подслов. Таким образом, у него есть словарный запас, который составляет около 30 000 для модели, обученной корпусу с большим количеством уникальных слов (~ миллионы), что намного меньше по сравнению с моделью Glove, Word2vec или ELMo, обученной на том же корпусе. Представление ввода в виде подслов, а не слов стало последней тенденцией, потому что оно обеспечивает баланс между представлениями на основе символов и слов - наиболее важным преимуществом является избежание случаев OOV (вне словарного запаса), которые все две другие модели (Glove, Word2vec), упомянутые в вопросе, страдают от.

Различия приведены в таблице.

Исправление. В более ранней версии этого ответа неправильно упоминалось, что ELMo во вводе был основан на словах и, следовательно, не мог обрабатывать OOV. ELMo вводится на основе символов, даже если изученные представления находятся на уровне слова (в отличие от BERT, где изученные представления находятся на уровне подслова)

Ссылки

Последняя тенденция в представлении входных данных для современных языковых моделей НЛП

Многообещающий, но только зарождающийся метод трансферного обучения, который может сократить или даже исключить некоторые задачи НЛП

Каковы были самые значительные достижения в области обработки естественного языка в 2018 году?

Вложения Elmo - вложения, зависящие от позиции слова - Оценки моделей / Журналы опыта использования

Какие есть семантические модели, кроме word2vec, и в чем их преимущества?

Первоначально опубликовано на www.quora.com.