【5分で読める!】pythonでpyfpgrowthを使って簡単に共起語・バスケット分析をしてみる

概要

pythonで簡単に共起語・バスケット分析する方法を紹介したいと思います。

話を簡単にするため、分析に使用する文章(データ)は、かなり短いものにしています。

そもそも共起語・バスケット分析ってなに

バスケット分析についてwikiで調べると以下のように書いています。

バスケット解析(バスケットかいせき)とは、マーケットバスケット解析 (Market Basket Analysis) とも呼ばれ、データマイニングで用いられる解析手法の一つで、”よく一緒に買われる商品” を見つけるためのデータ分析。

典型的には以下のような例である。

小売店がある顧客を追跡調査して購入品を調べた結果、その人がシルクのシャツを沢山買っていることが分かった場合、データマイニングのシステムはその顧客とシルクのシャツとの相関性が高いと認定する。その情報に基づき、販売部門はその顧客に対し、ダイレクトメールによるシルクシャツの売り込みを掛けたり、あるいはより広い範囲の商品を購入してもらえるように努力をすることもできる。 この場合小売店のデータマイニングシステムは、当該顧客に関して今まで知られていなかった新しい情報を発見したことになる。

引用元

wikiより

要するに「お菓子を買ったらジュースも買う」というように「これを買ったら、あれも買う」というものです。

共起語の例で言えば、「会社」というキーワードが出てきたら「残業」というように一緒に使われるキーワードのことを指します。つまり、あるキーワードと一緒に使われるキーワードのことを指します。

実装環境

共起語・バスケット分析の実装時の環境は以下のとおりです。

Python 3.6.8

pyfpgrowth 1.0

Janome 0.3.9 (形態素分析で必要)

実装の流れ

簡単に実装の流れを記載します。

  1. 共起語のもとになるデータを読み込む。
  2. 読み込んだデータを形態素に分ける(今回はJanomeとneologdの組み合わせ)
  3. 形態素に分けた後、共起語に使用している語句は名詞のみ
  4. pyfpgrowthを使って共起語・バスケット分析を実施する

■補足

今回の実装例(出力結果)は、Janome、形態素の辞書にneologdを使用したものです。

Janome、neologdについては、別途インストールが必要です。

pyfpgrowthを使った実装例

pyfpgrowthを使った実装例を紹介します。

出力結果のポイント

作成された共起語の一部を見てみます。

{(‘憂鬱’,): 2,

(‘一週間’, ‘中’, ‘憂鬱’, ‘曜日’): 2,

(‘中’, ‘憂鬱’, ‘曜日’, ‘毎週’): 2,

(‘一週間’, ‘憂鬱’, ‘曜日’, ‘毎週’): 2,

(‘一週間’, ‘中’, ‘曜日’, ‘毎週’): 2,

(‘一週間’, ‘中’, ‘憂鬱’, ‘曜日’, ‘毎週’): 2,

(‘いちばん’,): 2,

(‘いちばん’, ‘中’): 2,

(‘一週間’, ‘中’, ‘毎週’): 5}

「一週間’, ‘憂鬱’, ‘曜日’, ‘毎週’ 2」の部分を抽出してみるとわかることは、

「一週間、憂鬱、曜日、毎週」が近い位置に表示されていて、その組み合わせが2つあることがわかります。

このように、近いキーワードと出現回数を表示できるので、 SEO分析(筆者はSEOに詳しくないですが・・・)、関連した言葉を調べるのに役立ちます。

まとめ

以上、pyfpgrowthを使った共起語・バスケット分析でした。

次回は、pyfpgrowthとnetworkXを組み合わせて、共起語ネットワークを作成したいと思います。

合わせて読みたい!

https://programming-info.dream-target.jp/networkx_sample

評判も見えるPGスクール検索・比較表

どのプログラミングスクールがいいんだろう?
そんな疑問をお持ちの方に、評判も見えるプログラミングスクール検索・一括比較サービスをリリースしました。

条件を指定することにより、気になるプログラミングスクールを一発で比較できます。
きっと、条件にあったスクールが見つかるかと思います!
詳細は、以下の画像をクリック!

プログラミングスクール検索・比較のペン太ブル
スポンサーリンク
PR




PR




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
PR