SlideShare a Scribd company logo
1 of 13
Download to read offline
Generating WordCloud in Python
食べログレビュー形態素解析と

WordCloudによる可視化

2020.03.02
Ayaka Honda
Agenda
● はじめに

● データ分析の目的

● 分析工程解説

● 考察と今後の展開

● 質疑応答

はじめに
● 形態素解析とは?


「自然言語」を形態素(意味を持つ表現要素の最小単位)

 にまで分割する技術のこと



例) 『私はコーヒーを飲みます』





私/は/コーヒー/を/飲み/ます

  代名詞 副助詞  名詞   助詞 動詞  助動詞 





今回使用したjanomeは標準ライブラリではないので予めイントールしておく 



!pip install janome   参考: Welcome to janome's documentation! 

https://mocobeta.github.io/janome/
はじめに
● WordCloudとは?



単語の出現頻度を可視化出来るアプリケーション。

Pythonではmatplotlibを使用して可視化出来るので

以下のライブラリをインポートしておく



from wordcloud import WordCloud
import matplotlib.pyplot as plt




参考: WordCloud for Python documentation 

http://amueller.github.io/word_cloud/index.html
データ分析の目的
・What
コーヒー専門店の口コミ頻出単語の可視化




・Why
自店の口コミチェックの効率化




・How
1.食べログサイト内の口コミをスクレイピング

2.口コミの形態素解析と単語帳の作成

3.WordCloudで可視化





分析工程解説
1. 食べログサイトから口コミを取得

<取得条件>

・東京都内

・業種ジャンルの1番目が「コーヒー専門店」

・評価点数 3.0以上

・口コミ取得件数は各店1ページ分(最大20件)



ソースコードはGitHubで公開中







参考:食べログ/COFFEE VALLEY (池袋) 

https://tabelog.com/tokyo/A1305/A130501/13175074/



【Python】ラーメンガチ勢によるガチ勢のための食べログスクレイピング   
https://qiita.com/toshiyuki_tsutsui/items/f143946944a428ed105b

分析工程解説
<取得結果>



分析工程解説
2. 口コミの正規化と形態素解析、単語帳の作成



<正規化条件>

・UnicodeをNFKC(デフォルト)で正規化

・( )を削除

・英字は小文字にする



<単語帳格納条件>

・名詞が連続する場合は複合名詞にする

・名詞・形容詞・副詞のみを取得する

・一文字しか無いひらがなとカタカナと英数字は削除









参考: 【Python】自然言語処理でラーメン屋を分類してみる 

 https://qiita.com/naotaka1128/items/87d717961bd0c34e7a64

分析工程解説
<結果>









ソースコードはGitHubで公開中
分析工程解説






3. 作成した単語リストを出現頻度に応じて可視化











分析工程解説






考察と今後の展開
1.個人店の口コミはほぼ予想通りの内容


・Why? 

→1ページ目に表示される口コミ常連者は前情報を念入りに調べている為、頻出単
語が同じものに偏りやすい

〈TRY〉

・1ページ分だけでなく、全ての口コミを取得する

・口コミ常連者を除外する

・地名や店名などすでに分かっている情報は除外する

・単語をポジティブ、ネガティブで分ける



2. チェーン店は立地によって口コミが変わる


→ 店舗ごとのプロモーションやメニュー変更のアイデアに活用



Thank you !
今後の勉強過程はこちらでチェック :)

http://stillakeenbean.com/sliceofthepy/


More Related Content

Similar to Generating word clouds in python

DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃Teruo Adachi
 
bottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアルbottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアルSatoshi Yamada
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetupS Akai
 
Jubatus Casual Talks #2 Jubatus開発者入門
Jubatus Casual Talks #2 Jubatus開発者入門Jubatus Casual Talks #2 Jubatus開発者入門
Jubatus Casual Talks #2 Jubatus開発者入門Shuzo Kashihara
 
概観テキストマイニング
概観テキストマイニング概観テキストマイニング
概観テキストマイニングtod esking
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1Hiroki Toyokawa
 
20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@OsakaRyo Ohki
 
PyCon JP 2015 keynote
PyCon JP 2015 keynotePyCon JP 2015 keynote
PyCon JP 2015 keynoteHaruo Sato
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Takayuki Shimizukawa
 
Interop2017
Interop2017Interop2017
Interop2017tak9029
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトTetsuya Morimoto
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyoShuyo Nakatani
 
Javaユーザに知ってほしい Processing入門
Javaユーザに知ってほしいProcessing入門Javaユーザに知ってほしいProcessing入門
Javaユーザに知ってほしい Processing入門chickenJr
 
これからのOpenShiftの話をしよう
これからのOpenShiftの話をしようこれからのOpenShiftの話をしよう
これからのOpenShiftの話をしようKazuto Kusama
 
今から実践できる㊙スライド作成術
今から実践できる㊙スライド作成術今から実践できる㊙スライド作成術
今から実践できる㊙スライド作成術RadiumProduction
 
Mizuno buddypress-plugin
Mizuno buddypress-pluginMizuno buddypress-plugin
Mizuno buddypress-pluginIkuko Kanada
 
Mizuno buddypress-plugin
Mizuno buddypress-pluginMizuno buddypress-plugin
Mizuno buddypress-pluginFumito Mizuno
 

Similar to Generating word clouds in python (20)

DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
 
bottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアルbottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアル
 
Pythonでpdfをいじってみる
PythonでpdfをいじってみるPythonでpdfをいじってみる
Pythonでpdfをいじってみる
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
 
Jubatus Casual Talks #2 Jubatus開発者入門
Jubatus Casual Talks #2 Jubatus開発者入門Jubatus Casual Talks #2 Jubatus開発者入門
Jubatus Casual Talks #2 Jubatus開発者入門
 
概観テキストマイニング
概観テキストマイニング概観テキストマイニング
概観テキストマイニング
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
 
20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka
 
PyCon JP 2015 keynote
PyCon JP 2015 keynotePyCon JP 2015 keynote
PyCon JP 2015 keynote
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
 
Roo
RooRoo
Roo
 
Interop2017
Interop2017Interop2017
Interop2017
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
 
Example using LattePanda
Example  using LattePandaExample  using LattePanda
Example using LattePanda
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 
Javaユーザに知ってほしい Processing入門
Javaユーザに知ってほしいProcessing入門Javaユーザに知ってほしいProcessing入門
Javaユーザに知ってほしい Processing入門
 
これからのOpenShiftの話をしよう
これからのOpenShiftの話をしようこれからのOpenShiftの話をしよう
これからのOpenShiftの話をしよう
 
今から実践できる㊙スライド作成術
今から実践できる㊙スライド作成術今から実践できる㊙スライド作成術
今から実践できる㊙スライド作成術
 
Mizuno buddypress-plugin
Mizuno buddypress-pluginMizuno buddypress-plugin
Mizuno buddypress-plugin
 
Mizuno buddypress-plugin
Mizuno buddypress-pluginMizuno buddypress-plugin
Mizuno buddypress-plugin
 

Generating word clouds in python