Обратное преобразование вектора количества слов в исходный документ

Я тренирую простую модель для классификации текста (в настоящее время с 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 и т. д.), но теряет информацию о положении. Таким образом, изменив его, вы можете создать документ, в котором одни и те же слова повторяются одинаковое количество раз, но их последовательность в документе не может быть восстановлена.

Другие вопросы по тегам