python 日本語の単語分割と出現頻度をカウントする | python3Xのブログ

python3Xのブログ

ここでは40代、50代の方が日々の生活で役に立つ情報や私の趣味であるプログラム、Excelや科学に関する内容で投稿する予定です。

前回Gmailから検索で抜き出した中から『Amazon』を選んで

その中の本文中で出現頻を高い順に表示しています。

以降、類似度やユークリッド距離などを使って、マップを作製したいと考えています。

後々のためにインポート部分が余分ですが、ご容赦ください。

 

コード

# coding: utf-8
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import scipy as sc
import seaborn as sns
import MeCab
import codecs as cd
from collections import Counter

# データをロード
# データは 本文のみ利用する

desc_data = pd.read_csv('amazon.csv')
desc_data = desc_data[
"txtdata"]
# mecab
tagger = MeCab.Tagger(
'-Ochasen')
counter = Counter()

for text in desc_data:
    nodes = tagger.parseToNode(text)
   
while nodes:
        if nodes.feature.split(
',')[0] == '名詞':
            word = nodes.surface #.decode(
'utf-8')
            counter[word] += 1
        nodes = nodes.next

for word, cnt in counter.most_common():
   
print(word, cnt)
結果(全てではありません)
/ 121        年月日などで削除できなかった
お知らせ 92
... 83         
こちらは削除しておくべきでした
News 83   泳社 69   商品 67   翔 66   号外 59   新刊 53   ほか 52   Amazon 50
おすすめ 49   Python 37   iD 37   入門 34   学習 33   2018 32   ため 30   ニュース 27
機械 25   特典 22   セール 21   情報 21   利用 21   注文 21   EnterpriseZine 21
実践 20   紹介 19   タイム 19   SE 19   Book 19   発売 18   IT 17   2017 17
ディープラーニング 17   プライム 17   データ 16   デジタル 15   プログラミング 14
AI 13   基礎 13   エンジニア 13   分析 13   限定 12   技術 12   ファースト 12
SQL 12   TensorFlow 12   会員 12   開発 11   書籍 11   英語 10   処理 10
理論 10   キャンペーン 10   開催 10   Zine 10   関連 9   AWS 9   無料 9