Ich habe zig thounds von Tweets in einer TXT-Datei gespeichert, ich mag den höchsten tf-idf Wert der ersten berechnen berechnen 100 Wörter in diesen tweeets, mit anderen Worten, ich möchte das Wort des tf-idf Wert zwischen verschiedenen Tweets vergleichen, gegenwärtig, das einzige, was ich vollenden könnte, ist Wort des tf-idf Wert in den gleichen Tweets zu vergleichen, kann ich nicht einen Weg finden, um den tf-idf-Wert eines Wortes zwischen verschiedenen Tweets zu vergleichen.Python-how den höchsten tf-idf Wert der ersten 100 Worte in verschiedenen tweeets berechnen
Bitte helfen Sie mir, ich habe wegen dieses Problems für eine lange Zeit den Haufen geworfen worden. /(ㄒ o ㄒ)/~~
Schlag mein Code: (nur in der Lage der Laufzeit der TFIDF Wert in gleichen Tweets zu berechnen)
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]
Dies sollte ein Kommentar sein, keine Antwort –
Ja, aber sieht aus wie ich brauche 50 Ruf zu kommentieren ... –
Ah, ich dachte, es war 10. Nun, besser posten einige * tatsächliche * Antworten;) (I gekennzeichnet es für sie es auf einen Kommentar für Sie konvertieren kann sowieso, also vielleicht mod) –