Особенности словосочетаний в word2vec

9

Я пытаюсь сделать анализ настроения. Чтобы преобразовать слова в слова, я использую модель word2vec. Предположим, у меня есть все предложения в списке под названием «предложения», и я передаю эти предложения в word2vec следующим образом:

model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300,   window=5, sample=1e-3)

Поскольку я новичок в словесных векторах, у меня есть два сомнения.
1- Установка количества признаков на 300 определяет особенности слова-вектора. Но что эти особенности означают? Если каждое слово в этой модели представлено массивом 1x300, то что эти 300 функций означают для этого слова?

2- Что в действительности делает понижающая дискретизация, представленная параметром 'sample' в приведенной выше модели?

Заранее спасибо.

enterML
источник

Ответы:

10

1- Количество функций: с точки зрения модели нейронной сети она представляет количество нейронов в проекционном (скрытом) слое. Поскольку слой проекции построен на гипотезе распределения, числовой вектор для каждого слова означает его связь с контекстными словами.

Эти функции изучаются нейронной сетью, поскольку это неконтролируемый метод. Каждый вектор имеет несколько наборов семантических характеристик. Например, давайте возьмем классический пример, V(King) -V(man) + V(Women) ~ V(Queen)и каждое слово представлено 300-м вектором. V(King)будет иметь семантические характеристики королевства, королевства, мужественности, человека в векторе в определенном порядке. V(man)будет иметь мужественность, человека, работать в определенном порядке. Таким образом, когда V(King)-V(Man)это сделано, мужественность, человеческие характеристики будут аннулированы, а при добавлении, V(Women)которые будут иметь женственность, человеческие характеристики будут добавлены, в результате чего вектор будет очень похож наV(Queen), Интересно то, что эти характеристики закодированы в векторе в определенном порядке, так что численные вычисления, такие как сложение, вычитание, работают отлично. Это связано с характером неконтролируемого метода обучения в нейронной сети.

2- Есть два алгоритма приближения. Hierarchical softmaxи negative sampling. Когда задан параметр выборки, он принимает отрицательную выборку. В случае иерархического softmax для каждого вектора слов его контекстные слова получают положительные выходные данные, а все остальные слова в словаре - отрицательные выходные данные. Проблема временной сложности решается с помощью отрицательной выборки. Как и в случае отрицательной выборки, а не всего словаря, только отобранная часть словаря получает отрицательные результаты, и векторы обучаются, что намного быстрее, чем в предыдущем методе.

yazhi
источник
Такое толкование особенностей word2vec вводит в заблуждение. Там нет измерения мужественности пространства или элемента роялти в векторе. Если бы это было так, то 300-мерное векторное пространство могло бы представлять только 300 независимых семантических дихотомий.
Дэн Хикс,
@DanHicks: я никогда не упоминал каждую функцию как измерение пространства. Я только что сказал, что такие семантические признаки кодируются в векторе в определенном порядке, так что возможны математические операции.
Яжи
«Особенности» обычно относятся к переменным, используемым для представления падежей - в данном случае это элементы слова векторов / размерности векторного пространства. Вопрос @ Найна явно использует «особенности» таким образом. «Семантические особенности», о которых вы говорите, в лучшем случае - смутный способ говорить о том, как word2vec обрабатывает аналогии. Они вовсе не являются признаками векторов слова.
Дэн Хикс
1
Вы правы .. Я отредактировал «семантические признаки» на «семантические характеристики», а «особенности» в ответе представляют только размеры вектора.
Яжи
0
  1. Согласно гипотезе распределения, индивидуальное измерение в векторе слова мало что значит о слове в реальном мире. Вам нужно беспокоиться об отдельных размерах. Если ваш вопрос таков, как мне выбрать количество измерений, оно основано исключительно на эксперименте для ваших данных и может варьироваться от 100 до 1000. Для многих экспериментов, где обучение проводится на вики-тексте, измерение 300 в большинстве случаев дает наилучшее результат.
  2. Sample param - это параметр, используемый для сокращения слов, имеющих высокую частоту. Например, "the" is "" was ", эти стоп-слова не учитываются в окне при прогнозировании внутреннего слова, и значение по умолчанию хорошо работает для идентификации этих стоп-слов, частота которых выше.
Trideep Rath
источник