キャンプ場レビューのWordCloud画像の検索サービスを作る

WordCloud画像は以前の記事で作れるようになったので今回、全キャンプ場分の画像を作成し検索できるようにしました。

こんな感じです。

https://campsite-wordcloud.herokuapp.com/

  1. 検索ボックスにキーワードを入力してキャンプ場を検索 f:id:sanshonoki:20190109224710p:plain

  2. 候補が複数あるときは候補を選択する f:id:sanshonoki:20190109224737p:plain

  3. 選択したキャンプ場のWordCloud画像が表示される f:id:sanshonoki:20190121222415p:plain

これだけなので検索サービスというのは少々大げさです。ただ、いい感じのタイトルがすぐに思いつかなかったのでお許しください。。

苦労したところ

苦労したことを一つあげるとすればストップワードの設定です。

ストップワードをどう設定するかによってキャンプ場同士の特徴の違いをうまく浮き出せられるかが変わってきます。

以下の3パターンを試しました

  1. 結果を見ながら除外する単語をストップワードに追加していく
  2. 頻度を算出し、カウント上位とカウント下位の単語をストップワードとする
  3. TF-IDFを計算し、閾値以下をストップワードとする

が、一番良さそうだったのは一番目の人力チューニングでした..。

TF-IDFを使っていい感じになってくれればブログの記事のネタが増えてくれて良かったのですが。。w

ちなみに、最終的なストップワードは以下になりました。

STOP_WORDS = ['あり', 'ある', 'いる', 'する', 'こと', 'それ', 'ない', 'の', 'し', 'さ', 'れ', 'い', 'サイト', 'キャンプ場', '思い', 'キャンプ', 'でき', 'よう', 'とても', 'ところ', '出来', 'なり', 'あっ', 'おり', 'なっ', 'テント', 'キャビン', 'さん', 'なく', 'られ', 'オートキャンプ', 'トイレ', '利用']

キャンプに行くときに利用しつつ、引き続きチューニングをしていこうと思います。

形態素解析(単語への分割)は通常のMeCabを使用しましたがmecab-ipadic-NEologdなど他の辞書を使えば結果もまた変わってくると思います。これも時間があれば試してみたい