Использование параметра Vocabulary в TfidfVectorizer: ValueError: Дублировать термин в словаре: 'p' - PullRequest
0 голосов
/ 22 апреля 2020

Я векторизовал список строк, используя TfidfVectorizer. Я хочу иметь возможность использовать опцию "vocabulary = mapping" в TfidfVectorizer.

Если я могу использовать параметр «словарь», то у меня есть словарь (имена элементов), сопоставленный с соответствующим индексом в самой матрице CSR. Это позволило бы мне сохранить файл csr и повторно использовать его в другом коде с именами объектов.

Если я не использую параметр словаря, я должен использовать .get_feature_names () для извлечения имен объектов. Затем я создаю фрейм данных с именами и счетами объектов и сохраняю фрейм данных, чтобы его можно было повторно использовать.

Ошибка, которую я получил, была: ValueError: Дублируемый термин в словаре: 'p' Я даже добавил стоп-слово для удаления одиночных символов («_stopwords.append (" \ w ")), но все равно получил то же самое ошибка.

Может кто-нибудь сказать, что я тут не так делаю?

#tfidf = TfidfVectorizer(stop_words=_stopwords, ngram_range=(1, 3), tokenizer=tokenize_and_stem)
tfidf = TfidfVectorizer(stop_words=_stopwords, ngram_range=(1, 3), tokenizer=tokenize_and_stem, vocabulary="Mapping")
tfidf_matrix = tfidf.fit_transform(corpus)
#corpus is list of strings here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...