前提・実現したいこと
pythonで頻出単語のカウントをするために、下記のwebサイト
https://your-3d.com/pytho-mecab-frequencywords/
を参考に進めているのですが、9~15行目の関数のところに[カウントが2以上であるもののみ表示]という条件の追加を試みているのですが全く機能しないのでどなたかご教授いただけないでしょうか。
#該当のソースコード
import MeCab
import csv
wordFreq_dic = {}
wordcount_output = []
text = "今日は楽しい。明日も楽しい。明後日は明日より楽しい。"
def WordFrequencyCount(word):
if word in wordFreq_dic:
wordFreq_dic[word] +=1
else: wordFreq_dic.setdefault(word, 1) return wordFreq_dic
mecab = MeCab.Tagger()
mecab.parse('')
node = mecab.parseToNode(text)
while node:
if node.feature.split(",")[0] == "名詞":
word = node.surface
WordFrequencyCount(word)
elif node.feature.split(",")[0] =="動詞":
word = node.surface
WordFrequencyCount(word)
elif node.feature.split(",")[0] == "形容詞":
word = node.surface
WordFrequencyCount(word)
elif node.feature.split(",")[0] == "形容動詞":
word = node.surface
WordFrequencyCount(word)
else:pass
node = node.next
for item in wordFreq_dic.items():
wordcount_output.append(item)
wordcount_output = sorted(wordcount_output, key = lambda x:x[1], reverse=True)
with open("wordcount_dic.csv", "w", encoding="utf-8) as f:
writer = csv.writer(f, lineterminator="\n")
writer.writerows(wordcount_output)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。