2017-11-17 3 views
1

Ich berechne tf-IDF wie folgt.Erhalte die wichtigsten Wörter im Korpus mit tf-idf (Gensim)

texts=['human interface computer', 
'survey user computer system response time', 
'eps user interface system', 
'system human system eps', 
'user response time'] 

dictionary = corpora.Dictionary(texts) 
corpus = [dictionary.doc2bow(text) for text in texts] 
tfidf = models.TfidfModel(corpus) 
corpus_tfidf = tfidf[corpus] 
analyzedDocument = namedtuple('AnalyzedDocument', 'word tfidf_score') 
d=[] 
for doc in corpus_tfidf: 
    for id, value in doc: 
     word = dictionary.get(id) 
     score = value 
     d.append(analyzedDocument(word, score)) 

Aber jetzt möchte ich die meisten drei wichtige Worte in meinem Korpus identifizieren, mit den Worten, die höchsten idf Werte hat. Bitte lassen Sie mich wissen, wie es geht?

Antwort

0

Vorausgesetzt, dass Sie Ihre Liste d ok bekommen, sollten Sie in der Lage sein, es zu bekommen wie folgt aufgebaut: Oben:

from operator import itemgetter 

Dann unten:

e=sorted(d, key=itemgetter(1)) 
top3 = e[:3] 
print(top3) 
Verwandte Themen