2016-03-15 2 views
1

Я прочитал пример word2vec от Kaggle от https://www.kaggle.com/c/word2vec-nlp-tutorial/details/part-3-more-fun-with-word-vectors , и я не могу понять, как длина словаря модели отличается от длины слова слова.Почему длина словарной строки word2vec отличается от длины вектора слова

Не каждая ли клетка в векторном слове представляет отношение к другому слову из словаря, поэтому каждое слово имеет отношение друг к другу? Если нет, то что представляет собой каждая ячейка в векторе слова?

Действительно оцените любую помощь.

ответ

1

Word2Vec фиксирует распределенное представление слова, которое по существу означает, несколько нейронов (клетка) захватить одну концепцию (концепция может быть значение слова/настроение/частью речи и т.д.), а также один нейрон (клеток) способствует нескольким понятиям.

Эти понятия автоматически изучаются и не заданы заранее, поэтому вы можете считать их скрытыми/скрытыми.

Больше числа нейронов (ячеек), больше будет способностью вашей нейронной сети представлять эти концепции, но для обучения этих векторов потребуется больше данных (поскольку они инициализируются случайным образом).

size словарного вектора значительно меньше, чем размер словаря (обычно), поскольку мы хотим сжатое представление слова. Косинус-сходство между двумя словами-векторами указывает на сходство между двумя словами.

РЕДАКТИРОВАТЬ

Для большей ясности, думать о каждом слове будучи ранее представленной одним докрасна, кодируемого вектором размера словаря, который составляет порядка тысяч/миллионов. Это же слово теперь сконденсировано в 200 или 300-мерный вектор. Чтобы найти связь между двумя словами, вам нужно вычислить сходство косинусов между векторным представлением этих двух слов.

1

word2vec вставляет слова в векторное пространство, размер которого определяется пользователем. Для целей расчета и производительности этот размер часто довольно мал (от 50 до 1000).

Фактически, это excellent paper от Levy and Goldberg показывает, что word2vec эффективно вычисляет факторизацию матрицы PMI, которая аналогична той, которую вы имеете в виду. Поэтому каждая координата в слове вложения может интерпретироваться как количественное определение какого-либо неизвестного линейного отношения к нескольким (если не всем) контекстным словам, а не только одному.

+1

Были ли какое-либо исследование сделано на встроенном вектор размера v. Производительность модели/точности? – velocirabbit

+0

Да. Многие документы сообщают о результатах, фиксирующих все параметры и изменяя размер размерности внедрения (даже тот, на который я ссылался). Как правило, лучший размер зависит от данных обучения, задачи, конкретной модели, других функций и т. Д. Если вы воспроизводите чужую работу, вы можете (и, вероятно, должны) начать с их сообщенной конфигурации. –

1

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

Некоторые из ранних алгоритмов действительно создали векторы полного размера, а затем сжимают их с помощью линейной алгебры. Конденсированные векторы признаков затем подавались в нейронные сети.

word2vec сконденсировал этот процесс в один шаг и построил векторы слов в скрытом слое своей нейронной сети. Размер словарного вектора соответствует количеству узлов в скрытом слое.

Более длинная версия этого с источниками доступна here