- У меня есть список длиной 7 (7 предметов)
- Каждый элемент в списке содержит длинную строку слов.
- Каждый элемент списка можно рассматривать как тему с длинным предложением, которое выделяет его.
- Я хочу проверить, какие слова делают каждую тему уникальной (каждый элемент в список)
Код: Выделить всё
from sklearn.feature_extraction.text import TfidfVectorizer
train = read_train_file() # A list with huge sentences that I can't paste here
tfidfvectorizer = TfidfVectorizer(analyzer= 'word', stop_words= 'english')
tfidf_wm = tfidfvectorizer.fit_transform(train)
tfidf_tokens = tfidfvectorizer.get_feature_names()
df_tfidfvect = pd.DataFrame(data = tfidf_wm.toarray(), index=train_df.discourse_type.unique(), columns = tfidf_tokens)
for col in df_tfidfvect.T.columns:
print(f"\nsubjetct: {col}")
print(df_tfidfvect.T[col].nlargest(2))
Код: Выделить всё
for i, v in enumerate(train):
print(f"subject: {i}: {train[i][:50]}")
subject: 0: like policy people average cant play sports b poin
subject: 1: also stupid idea sports suppose fun privilege play
subject: 2: failing fail class see act higher c person could g
subject: 3: unfair rule thought think new thing shaped land fo
subject: 4: land form found human thought many either fight de
subject: 5: want say know trying keep class also quite expensi
subject: 6: even less sense saying first find something really
Код: Выделить всё
subjetct: Position
people 0.316126
school 0.211516
Name: Position, dtype: float64
subjetct: Claim
people 0.354722
school 0.296632
Name: Claim, dtype: float64
subjetct: Evidence
people 0.366234
school 0.282213
Name: Evidence, dtype: float64
subjetct: Concluding Statement
people 0.385200
help 0.267567
Name: Concluding Statement, dtype: float64
subjetct: Lead
people 0.399011
school 0.336605
Name: Lead, dtype: float64
subjetct: Counterclaim
people 0.361070
electoral 0.321909
Name: Counterclaim, dtype: float64
subjetct: Rebuttal
people 0.31029
school 0.26789
Name: Rebuttal, dtype: float64
Может быть, я ошибаюсь , но я ожидал, что слова, относящиеся к определенной теме, не будут одинаковыми во всех темах (согласно формуле TF-IDF).
Так что же не так с TfidfVectorizer ?
Подробнее здесь: https://stackoverflow.com/questions/707 ... ct-results