Классификация документов с использованием векторов слов - PullRequest
0 голосов
/ 08 мая 2018

Когда я классифицировал и группировал документы, написанные на естественном языке, у меня возник вопрос ...

Поскольку word2vec и glove, и / и т. Д. Векторизуют слово в распределенных пространствах, мне интересно, есть ли какой-либо метод, рекомендуемый или обычно используемый для векторизации документов ИСПОЛЬЗУЮЩИЕСЯ векторы слов.

Например,

Документ 1: «Если вы преследуете двух кроликов, вы потеряете их обоих».

может быть векторизовано как,

[0,1425, 0,2718, 0,8187, ...., 0,1011]

Я знаю об одном, также известном как doc2vec, что этот документ имеет n измерений, как и word2vec. Но это 1 x n измерений, и я проверял, чтобы определить пределы использования doc2vec.

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

Просто сложив векторы с m словами, будут сформированы m x n размерных векторов. В этом случае векторное измерение не будет в форме, поскольку измерение m будет зависеть от количества слов в документе .

Если: [0,1018, ..., 0,8717]

вы: [0,5182, ..., 0,8981]

..: [...]

м-е слово: [...]

И эта форма не подходит для запуска некоторых алгоритмов машинного обучения, таких как CNN. Каковы предлагаемые способы получения векторов документов в устойчивой форме с использованием векторов слов?

Было бы замечательно, если бы он также был снабжен бумагами.

Спасибо!

1 Ответ

0 голосов
/ 08 мая 2018

Самый простой подход для получения вектора фиксированного размера из текста, когда у вас есть только слова-векторы, для усреднения всех слов-векторов вместе.(Векторы могут быть взвешены, но если они не были нормализованы по единичной длине, их необработанные величины от обучения составляют несколько показателя их силы единственного значения - многозначных / неоднозначных словкак правило, имеют векторы с меньшими величинами.) Он работает нормально для многих целей.

Векторы слов могут быть специально обучены, чтобы лучше их сочинять, если учебные тексты уже связаны с известными классами.FastText Facebook в режиме «классификации» делает это;векторы-слова оптимизированы как для предсказания выходных классов текстов, в которых они появляются, так и для предсказания соседей по контекстному окну (классический word2vec).

Техника «Вектор абзаца», часто называемая «doc2vec», дает каждому обучающему тексту своего рода плавающее псевдословное слово, которое вносит вклад в каждое предсказание и, таким образом, оказывается в словесно-векторной позиции, которая можетпредставлять этот полный текст, а не отдельные слова / контексты.

Есть много других вариантов, в том числе некоторые, основанные на более глубоких предсказательных сетях (например, «Пропускаемые векторы»), или немного отличающиеся цели предсказания (например, соседние предложения в «fastSent»), или другие обобщения, которые могут дажевключать смесь символических и числовых входов / целей во время обучения (опция в StarSpace Facebook, которая исследует другие возможности векторизации сущностей, связанные с векторными словами и потребностями классификации в стиле FastText).

Если вам не нужно сворачивать текст в векторы фиксированного размера, а просто сравнивать тексты, существуют также методы, такие как «Расстояние для Word Mover», которые берут «мешок слов-векторов» за один тексти другой, и дать оценку сходства.

...