У меня есть десятки тонкостей твитов, сохраненных в одном .txt-файле, я хочу рассчитать вычисление самого высокого значения tf-idf первого Другими словами, я хочу сравнить значение tf-idf слова между различными твитами, в настоящее время единственное, что я могу выполнить, это сравнить значение tf-idf слова в тех же твитах, я не могу найти способ сравнить значение tf-idf слова между различными твитами.Python - как рассчитать самое высокое значение tf-idf первых 100 слов в разных tweeets
Пожалуйста, помогите мне, я был расстроен в течение долгого времени из-за этой проблемы. /(ㄒ о ㄒ)/~~
Удар мой код: (только в состоянии вычислить значение tfidf этого термина в тех же твитов)
with open('D:/Data/ows/ows_sample.txt','rb') as f:
tweet=f.readlines()
lines = csv.reader((line.replace('\x00','') for line in tweet), delimiter=',', quotechar='"')
wordterm=[]
for i in lines:
i[1]= re.sub(r'http[s]?://(?:[a-z]|[0-9]|[[email protected]&+]|[!*\(\),]|(?:%[0-9a-f][0-9a-f]))+|(?:@[\w_]+)', "", i[1])
tweets=re.split(r"\W+",i[1])
tweets=[w.lower() for w in tweets if w!=""]
stopwords = open("D:/Data/ows/stopwords.txt", "r").read().split()
terms = [t for t in tweets if not t in stopwords]
wordterm.append(terms)
word=[' '.join(t) for t in wordterm]
tfidf_vectorizer = TfidfVectorizer(min_df = 1,use_idf=True)
tfidf_matrix = tfidf_vectorizer.fit_transform(word)
terms_name = tfidf_vectorizer.get_feature_names()
toarry=tfidf_matrix.todense()
#below code will output the tf-idf value of each tweets' terms.
for ii in range(0,len(toarry)):
print u"第"+ ii +u"个tweets"
for jj in range(0,len(terms_name)):
print terms_name[jj],'-',tfidf_matrix[ii,jj]
Это должен быть комментарий, а не ответ –
Да, но похоже, мне нужно 50 репутации, чтобы комментировать ... –
А, я думал, что это было 10. Ну, лучше всего опубликуйте некоторые * актуальные * ответы;) (I пометили его для мода в любом случае, так что, возможно, они могут конвертировать его в комментарий для вас) –