前提
mecabを用いて楽天市場のレビューを形態素解析し、頻出単語を抽出するプログラムを書いています。
実現したいこと
・mecabのOchasenとipadicという辞書を反映させたい。
発生している問題・エラーメッセージ
![頻出語彙ランキング20](https://ddjkaamml8q8x.cloudfront.net/questions/2022-12-07/5a5e848f-d381-46f7-acf9-a4b36f03794b.png) ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-12-07/cb26f847-356d-41ea-85f3-1d6207b1fe36.png) この写真の通り、辞書が反映されないと解析できない語彙が多く存在してしまう。
該当のソースコード
python
1# coding: utf-8 2import csv 3import pandas as pd 4import MeCab 5import collections 6import seaborn as sns 7import matplotlib.pyplot as plt 8import japanize_matplotlib 9 10files = open(r"C:\Users\Yasu\Documents\情報科学特別演習\csv\text_October_maximum.csv",encoding="utf-8",errors="ignore") 11 12data = pd.read_csv(files) 13message = data["text"] 14messagelst = message.astype(str).tolist() 15messagestr = "".join(messagelst) 16 17 18mecab = MeCab.Tagger("-Ochasen") 19 20node = mecab.parseToNode(messagestr) 21words=[] 22while node: 23 hinshi = node.feature.split(",")[0] 24 if hinshi in ["名詞","動詞","形容詞"]: 25 origin = node.feature.split(",")[6] 26 if node.surface != "*": 27 words.append(origin) 28 node = node.next 29 30c = collections.Counter(words) 31sns.set(context="talk",font="IPAexGothic") 32fig, ax = plt.subplots(figsize=(8,8)) 33sns.countplot(y=words,order=[i[0] for i in c.most_common(20)]) 34 35plt.show() 36 37 38
試したこと
Ochasenがインストールされているのかpower shellで確認しようとしたが、結局インストールされていない?されているかされていないのかよくわからなかった。
補足情報(FW/ツールのバージョンなど)
IDLE
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/12/07 08:55 編集