Pracuję nad problemem ekstrakcji słów kluczowych. Rozważmy bardzo ogólnym przypadkuScikit Learn TfidfVectorizer: Jak zdobyć najlepsze n terminów z najwyższym wynikiem tf-idf
tfidf = TfidfVectorizer(tokenizer=tokenize, stop_words='english')
t="""Two Travellers, walking in the noonday sun, sought the shade of a widespreading tree to rest. As they lay looking up among the pleasant leaves, they saw that it was a Plane Tree.
"How useless is the Plane!" said one of them. "It bears no fruit whatever, and only serves to litter the ground with leaves."
"Ungrateful creatures!" said a voice from the Plane Tree. "You lie here in my cooling shade, and yet you say I am useless! Thus ungratefully, O Jupiter, do men receive their blessings!"
Our best blessings are often the least appreciated."""
tfs = tfidf.fit_transform(t.split(" "))
str = 'tree cat travellers fruit jupiter'
response = tfidf.transform([str])
feature_names = tfidf.get_feature_names()
for col in response.nonzero()[1]:
print feature_names[col], ' - ', response[0, col]
i to daje mi
(0, 28) 0.443509712811
(0, 27) 0.517461475101
(0, 8) 0.517461475101
(0, 6) 0.517461475101
tree - 0.443509712811
travellers - 0.517461475101
jupiter - 0.517461475101
fruit - 0.517461475101
co jest dobrym rozwiązaniem. W przypadku każdego nowego dokumentu, który jest dostępny, czy istnieje sposób na uzyskanie najlepszych n terminów z najwyższym wynikiem tfidf?
Prawdopodobnie nie powinieneś zastępować typu Python. – scottlittle