Особенности слов векторов в Word2VEC
Вопрос
Я пытаюсь сделать анализ настроений. Чтобы преобразовать слова в векторы слов, я использую модель Word2VEC. Предположим, у меня есть все предложения в списке, названном «предложениями», и я передаю эти предложения Word2VEC следующим образом:
model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300, window=5, sample=1e-3)
Поскольку я нуб к векторам слов, у меня есть два сомнения.
1- Установка количества функций на 300 определяет функции вектора слов. Но что эти функции означают? Если каждое слово в этой модели представлено массивом Numpy 1x300, то что эти 300 функций означают для этого слова?
2- Что делает выборка, представленная параметрами «выборки» в приведенной выше модели, делает фактические?
Заранее спасибо.
Решение
1- Количество функций: с точки зрения модели нейронной сети она представляет количество нейронов в проекционном (скрытом) слое. Поскольку проекционный слой построен на гипотезе распределения, числовой вектор для каждого слова означает его отношение к его контексты.
Эти особенности изучаются нейронной сетью, поскольку это метод неконтролируемого. Каждый вектор имеет несколько семантических характеристик. Например, давайте возьмем классический пример, V(King) -V(man) + V(Women) ~ V(Queen)
и каждое слово, представленное 300-D Vector. V(King)
будет иметь семантические характеристики королевства, царства, мужественности, человека в векторе в определенном порядке. V(man)
будет иметь мужественность, человек, работать в определенном порядке. Таким образом, когда V(King)-V(Man)
сделано, мужественность, человеческие характеристики будут аннулизированы и при добавлении с V(Women)
которые, имеющие женственность, будут добавлены человеческие характеристики, что приведет к тому, что вектор очень похож на V(Queen)
. Анкет Интересно, что эти характеристики кодируются в векторе в определенном порядке, так что численные вычисления, такие как добавление, вычитание отлично работает. Это связано с характером неконтролируемого метода обучения в нейронной сети.
2- Есть два алгоритма приближения. Hierarchical softmax
а также negative sampling
. Анкет Когда приведен параметр выборки, он требует отрицательной выборки. В случае иерархического Softmax, для каждого вектора слова его контексты - это даются положительные результаты, а все другие слова в словаре получают негативные результаты. Проблема сложности времени решается путем отрицательного отбора проб. Как и в негативной выборке, а не весь словарный запас, только выборка словарного запаса дается негативные результаты, а векторы обучаются, что намного быстрее, чем прежний метод.
Другие советы
- Согласно гипотезе распределения, индивидуальное измерение в векторе слова мало что знакомит с словом в реальном мире. Вам нужно беспокоиться о отдельных измерениях. Если ваш вопрос есть так, как я должен выбрать количество десантов, он основан исключительно на эксперименте для ваших данных, и он может перейти от 100 до 1000. Для многих экспериментов, где обучение проводится на вики, 300 размер в основном дает лучшее лучшее результат.
- Пример параметров - это параметр, используемый для обрезки слов, имеющих высокую частоту. Например, «" "есть" было "было", эти стоп -слова не рассматриваются в окне, в то же время предсказывая внутреннее слово, и значение по умолчанию хорошо работает, чтобы идентифицировать эти стоп -слова, частота которых выше.