本当に簡単な質問ですが、私はそれを解読できないようです. 次のようにフォーマットされた文字列があります。
["category1",("data","data","data")]
["category2", ("data","data","data")]
さまざまなカテゴリを投稿と呼び、データ セクションから最も頻繁に使用される単語を取得したいと考えています。だから私は試しました:
from nltk.tokenize import wordpunct_tokenize
from collections import defaultdict
freq_dict = defaultdict(int)
for cat, text2 in posts:
tokens = wordpunct_tokenize(text2)
for token in tokens:
if token in freq_dict:
freq_dict[token] += 1
else:
freq_dict[token] = 1
top = sorted(freq_dict, key=freq_dict.get, reverse=True)
top = top[:50]
print top
ただし、これにより、文字列内の投稿ごとに上位の単語が表示されます。
一般的なトップ ワード リストが必要です。
ただし、for ループから print top を取り出すと、最後の投稿の結果しか得られません。
誰にもアイデアはありますか?