Вопрос

Я пытаюсь сделать анализ настроений. Чтобы преобразовать слова в векторы слов, я использую модель 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, для каждого вектора слова его контексты - это даются положительные результаты, а все другие слова в словаре получают негативные результаты. Проблема сложности времени решается путем отрицательного отбора проб. Как и в негативной выборке, а не весь словарный запас, только выборка словарного запаса дается негативные результаты, а векторы обучаются, что намного быстрее, чем прежний метод.

Другие советы

  1. Согласно гипотезе распределения, индивидуальное измерение в векторе слова мало что знакомит с словом в реальном мире. Вам нужно беспокоиться о отдельных измерениях. Если ваш вопрос есть так, как я должен выбрать количество десантов, он основан исключительно на эксперименте для ваших данных, и он может перейти от 100 до 1000. Для многих экспериментов, где обучение проводится на вики, 300 размер в основном дает лучшее лучшее результат.
  2. Пример параметров - это параметр, используемый для обрезки слов, имеющих высокую частоту. Например, «" "есть" было "было", эти стоп -слова не рассматриваются в окне, в то же время предсказывая внутреннее слово, и значение по умолчанию хорошо работает, чтобы идентифицировать эти стоп -слова, частота которых выше.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top