Обратное преобразование вектора количества слов в исходный документ
Я тренирую простую модель для классификации текста (в настоящее время с scikit-learn). Чтобы преобразовать образцы моего документа в векторы количества слов, используя словарь, который я использую
CountVectorizer(vocabulary=myDictionaryWords).fit_transform(myDocumentsAsArrays)
от sklearn.feature_extraction.text
,
Это прекрасно работает, и я впоследствии могу обучить свой классификатор на векторах подсчета слов в качестве векторов признаков. Но чего я не знаю, так это как инвертировать эти векторы подсчета слов в исходные документы. CountVectorizer
действительно имеет функцию inverse_transform(X)
но это только возвращает вам уникальные ненулевые токены.
Насколько я знаю, у CountVectorizer нет реализации возврата к исходным документам.
Кто-нибудь знает, как я могу восстановить исходные последовательности токенов из их векторизованного представления? Может быть Tensorflow или какой-либо другой модуль для этого?
1 ответ
CountVectorizer является "потерянным", то есть для документа:This is the amazing string in amazing program
, он будет хранить только количество слов в документе (то есть строка -> 1, изумительно ->2 и т. д.), но теряет информацию о положении. Таким образом, изменив его, вы можете создать документ, в котором одни и те же слова повторяются одинаковое количество раз, но их последовательность в документе не может быть восстановлена.