Как использовать вложение слов для сопоставления документа с вектором объектов, подходящим для использования с контролируемым обучением?
Слово вложение отображает каждое слово к вектору , где некоторые не слишком большое количество (например, 500). Популярные вложения слова включают в себя word2vec и Glove .
Я хочу применять контролируемое обучение для классификации документов. В настоящее время я сопоставляю каждый документ с вектором объектов, используя представление пакета слов, а затем применяю готовый классификатор. Я хотел бы заменить вектор характеристик пакета слов чем-то, основанным на существующем предварительно обученном встраивании слов, чтобы воспользоваться семантическими знаниями, содержащимися в встраивании слов. Есть ли стандартный способ сделать это?
Я могу представить некоторые возможности, но я не знаю, есть ли что-то, что имеет смысл. Подходы к кандидатам, которые я рассмотрел:
Я мог бы вычислить вектор для каждого слова в документе и усреднить их все. Тем не менее, похоже, что он может потерять много информации. Например, с представлением мешка слов, если есть несколько слов, которые очень важны для задачи классификации, и большинство слов не имеют значения, классификатор может легко понять это; если я усредню векторы для всех слов в документе, у классификатора нет шансов.
Конкатенация векторов для всех слов не работает, потому что это не приводит к вектору объектов фиксированного размера. Также это кажется плохой идеей, потому что она будет слишком чувствительной к определенному расположению слова.
Я мог бы использовать встраивание слова, чтобы объединить словарь всех слов в фиксированный набор кластеров, скажем, 1000 кластеров, где я использую косинусное сходство векторов как меру сходства слов. Тогда вместо пакета слов у меня мог бы быть пакет кластеров: вектор признаков, который я предоставляю классификатору, мог бы быть вектором 1000, где й компонент подсчитывает количество слов в документе, который являются частью кластера .
Для данного слова эти вложения позволяют мне вычислить набор из 20 самых похожих слов и их оценки сходства . Я мог бы адаптировать вектор признаков, подобный сумке слов, используя это. Когда я вижу слово w , в дополнение к увеличению элемента, соответствующего слову w, на 1 , я могу также увеличить элемент, соответствующий слову w_1, на s_1 , увеличить элемент, соответствующий слову w_2, на s_2 и так далее.w 1 , … , w 20 с 1 , … , с 20 w w 1 w 1 с 1 w 2 с 2
Есть ли какой-то конкретный подход, который может хорошо работать для классификации документов?
Я не ищу параграфа 2vec или doc2vec; те требуют обучения на большом корпусе данных, а у меня нет большого корпуса данных. Вместо этого я хочу использовать существующее вложение слов.