Я пытаюсь работать с текстом, в котором много повторений. Раньше я использовал векторизатор tf-idf от SKLearn, и у него есть параметр max_df=0.5
. Это означает, что если слово присутствует более чем в 50% ввода, оно не используется. Я хотел бы знать, есть ли аналогичная функция в Python вообще, или в Doc2Vec, или в NLTK: я хотел бы удалить слова, которые присутствуют в более чем 50% набора данных, без их векторизации.
Например, я хотел бы сделать из кадра данных, например:
0 | This is new: A puppy ate cheese! See?
1 | This is new: A cat was found. See?
2 | This is new: Problems arise. See?
Такой вывод:
0 | puppy ate cheese
1 | cat was found
2 | problems arise
Я уже сделал декапитализацию и удаление стоп-слов, теперь я просто хотел бы удалить наиболее часто встречающиеся слова. Я также хотел бы сохранить эту информацию, так как могут поступать новые данные, и я хотел бы удалить те же самые частые слова из нового ввода, которые я нашел частыми в исходном корпусе.