Python: использование списка с TF-IDF - PullRequest
0 голосов
/ 21 октября 2018

У меня есть следующий фрагмент кода, который в настоящее время сравнивает все слова в «Жетонах» с каждым соответствующим документом в «df».Есть ли способ, которым я мог бы сравнить предопределенный список слов с документами вместо «Жетоны».

from sklearn.feature_extraction.text import TfidfVectorizer
tfidf_vectorizer = TfidfVectorizer(norm=None)  

list_contents =[]
for index, row in df.iterrows():
    list_contents.append(' '.join(row.Tokens))

# list_contents = df.Content.values

tfidf_matrix = tfidf_vectorizer.fit_transform(list_contents)
df_tfidf = pd.DataFrame(tfidf_matrix.toarray(),columns= [tfidf_vectorizer.get_feature_names()])
df_tfidf.head(10)

Любая помощь приветствуется.Спасибо!

1 Ответ

0 голосов
/ 21 октября 2018

Не уверен, правильно ли я вас понимаю, но если вы хотите, чтобы векторизатор учитывал фиксированный список слов, вы можете использовать параметр vocabulary.

my_words = ["foo","bar","baz"]

# set the vocabulary parameter with your list of words
tfidf_vectorizer = TfidfVectorizer(
    norm=None,
    vocabulary=my_words)  

list_contents =[]
for index, row in df.iterrows():
    list_contents.append(' '.join(row.Tokens))

# this matrix will have only 3 columns because we have forced
# the vectorizer to use just the words foo bar and baz
# so it'll ignore all other words in the documents.
tfidf_matrix = tfidf_vectorizer.fit_transform(list_contents) 
...