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

встраивание слов — это изученное представление текста, в котором слова, имеющие одинаковое значение, имеют аналогичное представление и расположены в одном и том же месте.

тогда что такое word2vecоткуда оно взялось?

слово2век:

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

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

Есть два основных алгоритма для реализации word2vec — это то, что касается встраивания слов.

  1. Непрерывный мешок слов (CBOW)
  2. Skip-Gram

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

Пример: Кот сидел на (коврике) — учитывая «кот сидел на» — предсказать «коврик».

SkipGram: В этом методе реализация word2vec происходит на основе предсказания других слов рядом с данным словом.

Пример: Учитывая кошку, предскажите, что слова (the, sat, on, the, mat) — обычно появляются рядом.

Итак, наконец, для создания word2vec или встраивания слов нейронная сеть изначально обучается предсказывать контекстные слова по заданному слову (для skip-gram) и слову по заданному контексту слов (для CBOW).

Реализация встраивания слов

Мы собираемся рассмотреть два разных метода встраивания слов, названные Gensim-word2vec исследованиями Google и GloVe исследованиями Стэнфорда.

Gensim-Word2Vec:

Gensim — это библиотека Python с открытым исходным кодом для обработки естественного языка с упором на тематическое моделирование.

Убедитесь, что вы устанавливаете gensim с помощью команды pip, вы можете увидеть Инструкции по установке Gensim.

Gensim предоставляет класс Word2Vec для работы с моделью Word2Vec.

sentences=...
model=Word2Vec(sentences)

Предложения должны быть токенизированы, т.е. разделены на слова.

Конструктор Word2Vec имеет много параметров, каждый из которых имеет свое значение. Пожалуйста, перейдите по этой ссылке для подробного описания. В этих параметрах наиболее часто используется один из них: размер, минимальное количество, sg.

  • size: (по умолчанию 100) количество размеров встраивания, например. длина плотного вектора для представления каждой лексемы (слова).
  • min_count: (по умолчанию 5) минимальное количество слов, которое следует учитывать при обучении модели; слова с вхождением меньше этого количества будут проигнорированы.
  • sg: (по умолчанию 0 или CBOW) Алгоритм обучения, либо CBOW (0), либо пропуск грамма (1).

Мы можем просмотреть вектор вложения слова с помощью

печать (модель ["слово"])

Все вместе

Приведенный выше фрагмент кода помогает создавать вложения слов, как показано ниже.

Визуализируйте встраивание слов:

Поскольку встраивание слов объединяет семантические слова, давайте визуализируем, как они формируются, следуя приведенному ниже фрагменту кода.

Результат:

Вот как можно создавать вложения слов с помощью gensim word2vec. В следующем блоге мы расскажем о GloVe, для получения дополнительной информации о gensim word2vec перейдите по ссылке https://code.google.com/archive/p/word2vec/.