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

  • 2020年7月9日
  • 2023年11月22日
  • Python
  • 1758view

概要

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

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

 

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

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

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

 

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

 

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

 

引用元

wikiより

 

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

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

\IT未経験者からのサポートあり!転職サービス3選!!/

サービス名
未経験 未経験OK 未経験の転職専用 経験者向け
公開の求人数 ITエンジニア全体で1万件以上
ITエンジニア未経験で600件以上
未公開 5,000件以上
利用対象 全職種 IT特化 IT特化
特徴 ✓誰もが知る転職サービス
✓経歴を登録しておくとオファーが来る
✓企業担当者と条件交渉
✓スキルの身につく企業を紹介
✓IT専門のエージェントが対応
✓転職成功すると年収200万円以上の大幅アップがある
転職サポート内容
  • 求人検索
  • 企業担当者と交渉
  • 求人紹介
  • ライフプランのサポート
  • キャリア相談
  • 求人紹介
  • 提出書類の添削
  • 面接対策
公式サイト リクナビネクスト テックゲート レバテックキャリア

 

実装環境

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

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を組み合わせて、共起語ネットワークを作成したいと思います。

\IT未経験者からのサポートあり!転職サービス3選!!/

サービス名
未経験 未経験OK 未経験の転職専用 経験者向け
公開の求人数 ITエンジニア全体で1万件以上
ITエンジニア未経験で600件以上
未公開 5,000件以上
利用対象 全職種 IT特化 IT特化
特徴 ✓誰もが知る転職サービス
✓経歴を登録しておくとオファーが来る
✓企業担当者と条件交渉
✓スキルの身につく企業を紹介
✓IT専門のエージェントが対応
✓転職成功すると年収200万円以上の大幅アップがある
転職サポート内容
  • 求人検索
  • 企業担当者と交渉
  • 求人紹介
  • ライフプランのサポート
  • キャリア相談
  • 求人紹介
  • 提出書類の添削
  • 面接対策
公式サイト リクナビネクスト テックゲート レバテックキャリア

AI(機械学習)が学べるスクールを講座ごとに一覧表示!

さらに、比較表を活用することにより、細かい特徴が違いが一発でわかります。

AIスキルを身に付けて、市場価値が高いエンジニアを目指しましょう!

 

AIスクールの検索、比較ができるペン太ブル本家

最新情報をチェックしよう!
>プログラミングスクール検索・比較表サイト

プログラミングスクール検索・比較表サイト

ワンクリック、さらに詳細に条件を指定してプログラミングスクールの検索ができます。さらに比較表により特徴を細かく比較できる!

CTR IMG