LoginSignup
1
6

More than 3 years have passed since last update.

アンケート調査データを分析してみる【第3回:形態素解析】

Last updated at Posted at 2020-06-25

今回は、テキストマイニングの基本的な手法のひとつである形態素解析(文章を意味のある最小単位に分解し、意味や品詞などを判別する)について、Pythonで試してみました。

データは、以下のアンケート調査より「電子版お薬手帳を使いたい理由」に関する自由回答を使用しました。

「電子版お薬手帳に関する意識調査」を行いました
https://www.nicho.co.jp/corporate/newsrelease/11633/

①まずはライブラリをインポートします。今回はMeCabを使用しました。

import MeCab
from MeCab import Tagger
from matplotlib import pyplot as plt
from wordcloud import WordCloud

②テキストファイルを読み込み、形態素解析を行うことで文章を品詞別に分解してくれます。

df = "survey3.txt"

with open(df, "r", encoding="utf-8") as f:
    opinion = f.read()

tagger = MeCab.Tagger()
parse = tagger.parse(opinion)

print(parse)

image.png

③ワードクラウドにより、よく使われる単語を視覚的に表現できます。今回は名詞を選び、ワードクラウドを作成します。

with open('survey3.txt', mode='rt', encoding='utf-8') as fi:
    source_text = fi.read()

tagger = MeCab.Tagger()
tagger.parse('')
node = tagger.parseToNode(source_text)

word_list = []
while node:
    word_type = node.feature.split(',')[0]
    if word_type == '名詞':
        word_list.append(node.surface)
    node = node.next

word_chain = ' '.join(word_list)

matplotlibで可視化します。

W = WordCloud(width=1280, height=960, background_color='white', colormap='PuBu', font_path='C:\Windows\Fonts\yumin.ttf').generate(word_chain)

plt.imshow(W)
plt.axis('off')
plt.show()

出力されたワードクラウドを見ると「便利」や「管理」といった言葉が目立ちます。手帳を電子化することによる利便性の向上や、管理のしやすさがポイントであることが伺えます。

image.png

今回は基本的な手法として、形態素解析を実施し頻出単語を調べてみました。ここからさらに、共起分析などを行うことでより深い分析が可能になります。

1
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
6