概要
「この文章の中でもっとも出てくる単語はなにか分かりますか??」という自然言語処理をしている人からすると抽象度の高い質問に対してまぁなんとなく適当に答えるというものです。
文字列をカウントする時の手順。
- 形態素解析などを用いて文章を単語に分けてます。
- 集計します。
- 出力します。
- 眺めます
実装
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import MeCab as mc from collections import Counter # 1.mecabを用いて単語に分けます。 def mecab_analysis(text): t = mc.Tagger("-Ochasen") t.parse('') node = t.parseToNode(text) output = [] while node: if node.surface != "": # ヘッダとフッタを除外 word_type = node.feature.split(",")[0] if word_type in ["形容詞", "動詞","名詞", "副詞"]: output.append(node.surface) node = node.next if node is None: break return output def count_csv(): text= str(open("ファイル名","r",encoding="utf-8").read()) words = mecab_analysis(text) # 2.集計して counter = Counter(words) # 3.出力します for word, count in counter.most_common(): if len(word) > 0: print ("%s,%d" % (word, count)) def main(): count_csv() if __name__ == '__main__': main()
使って改修して!!!
最後に
まぁ大体の大まかな値を知ることができて楽が出来ます。