Привет всем, сегодня давайте обсудим, что такое встраивание слов, как они генерируются и как их использовать, давайте углубимся.
встраивание слов — это изученное представление текста, в котором слова, имеющие одинаковое значение, имеют аналогичное представление и расположены в одном и том же месте.
тогда что такое word2vecоткуда оно взялось?
слово2век:
word2vec – это группа связанных моделей, которые используются для встраивания слов. Эти модели представляют собой неглубокие двухслойные нейронные сети, обученные реконструировать лингвистические контексты слов.
Word2vec принимает в качестве входных данных большой корпус текста и создает векторное пространство, обычно в несколько сотен измерений, причем каждому уникальному слову в корпусе назначается соответствующий вектор в пространстве. Векторы слов расположены в векторном пространстве таким образом, что слова, имеющие общий контекст в корпусе, расположены в непосредственной близости друг от друга в пространстве.
Есть два основных алгоритма для реализации word2vec — это то, что касается встраивания слов.
- Непрерывный мешок слов (CBOW)
- 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/.