Укажите условие для отрицательной выборки в gensim word2vec - PullRequest
1 голос
/ 03 июня 2019

Я тренирую модель word2vec, где каждое слово принадлежит определенному классу.

Я хочу, чтобы мои вложения изучали различия слов в каждом классе, но не хочу, чтобы они изучали различия между классами.

Это может быть достигнуто путем отрицательной выборки только из слов того же класса, что и целевое слово.

В gensim word2vec мы можем указать количество слов для отрицательной выборки с помощью параметра negative, но в нем не упоминаются какие-либо параметры для изменения / фильтрации функции выборки.

Есть ли способ достичь этого?

Обновление:

Считать классы похожими на языки.Так что у меня есть слова из разных языков.В учебных данных каждое предложение / документ содержит в основном слова из одного и того же языка, но иногда из других языков.

Теперь я хочу вложения, в которых слова с одинаковыми значениями находятся вместе независимо от языка.

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

Из-за этого я хотел попробовать отобрать слова с отрицательным отбором целевых слов из одного и того же языка, чтобы он научился различать слова на одном языке.

1 Ответ

0 голосов
/ 04 июня 2019

Непонятно, что вы подразумеваете под «изучать различия слов в каждом классе, но не хотите, чтобы они изучали различия между классами», или какую выгоду вы надеетесь достичь.

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

Если два слова не должны иметь никакого влияния друг на друга, вы можете предварительно обработать свои тексты, чтобы они никогда не встречались вместе.Например, если у вас есть три класса слов, и ваш текстовый корпус, естественно, включает в себя смесь всех трех классов в каждом, вы можете отфильтровать корпус в три отдельных корпуса.Каждый корпус будет содержать слова одного класса и отбросит слова других классов.Тогда вы можете обучить 3 отдельных Word2Vec модели из 3 корпусов.

Но я не уверен, почему вы захотите это сделать: векторы слов из каждого корпуса / модели были бы бесполезно сопоставимы.Я не видел ни одной работы, которая делает это, и при этом я не могу вообразить выгоду - в то время как это, кажется, отбрасывает точно тонкие отношения, которые большинство людей хотят от word2vec.

...