行動ログにファジィクラスタリングを活用したコンテンツのグルーピングについて
はじめに
こんにちは!株式会社グロービスのデジタル・プラットフォーム部門、データサイエンスチーム、データサイエンスユニットでデータサイエンティストとして働いている伊藤です。
ビジネススキルを動画で学べる GLOBIS 学び放題というサービスについて、行動ログやアンケート調査データなどのデータ分析を担当しています。
今回は、GLOBIS学び放題におけるコンテンツの分析において、行動ログにファジィクラスタリングを活用したコンテンツのグルーピングに関する取り組みについてご紹介できればと思います。
コンテンツのグルーピングとは
コンテンツのグルーピングの概要
GLOBIS 学び放題では日々新しいコンテンツが作成されています。
コンテンツは「GLOBIS 学び放題における動画コンテンツ」、グルーピングは「コンテンツをグループ化し、何かしらの意味を持ったグループに分類すること」と定義します。
今回は行動ログのデータを活用してコンテンツのグルーピングを行うことを検討したいと思います。
なぜ行動ログを用いてコンテンツのグルーピングを実施するのか
現在グロービスでは、GLOBIS 学び放題のコンテンツをカテゴリー単位で分類しています。
同一カテゴリーの中の多数のコンテンツをさらにグルーピングして、プロダクト上でまとまりのある見せ方ができれば、コンテンツの探しやすさを一層高めることができます。
行動ログでコンテンツのグルーピングを実施する理由は、視聴完了のされやすさに基づく共起性をグルーピングに活用することができるためです。
多数のユーザーに一緒に見られるコンテンツ同士は何かしらの似たような特徴を持つコンテンツであり、親和性が高いのではないかという観点から、今回はカテゴリーの中のコンテンツのグルーピングに行動ログを用いることにしました。
ファジィクラスタリングとは
ファジィクラスタリングの概要
クラスタリングの手法は「クラスタ数に分割する方法」と、「データ点の各クラスタへの割り当てる方法」の2つの軸で4つのセグメントに区分することができます。(図1)
非階層的クラスタリングのうち、データ点の各クラスタへの割り当てる方法についてファジィさ(あいまいさ)を許容したソフトクラスタリングの手法のことをファジィクラスタリング【2】といいます。
1つのクラスタに1つのデータを割り当てるハードクラスタリングの方法と対となり、1つのデータが複数のクラスタに所属することを許容します。
ファジィクラスタリングにより取得できる結果はデータ点における各クラスタへの所属確率となります。
なぜファジィクラスタリングを実施するのか
非階層的クラスタリングのうちソフトクラスタリングに分類されるファジィクラスタリングを用いるメリットは、統計的に複数のグループに所属されうるデータを把握できることです。
人がコンテンツをグルーピングする際にも同じことが言えますが、2つ以上のグループに該当されそうな場合にどのグループに割り当てるかをあいまいにしておきたいことがあります。
例としてきのこの山・たけのこの里のどちらが好きかという話題を挙げます。きのこの山グループとたけのこの里グループでユーザー分けを行うとした際に、どちらも好きというユーザーは一定数いると考えられます。 このどちらも好きグループは別で分けてユーザー理解に繋げる方がよいといったことはよくあることかと考えています。(ちなみに筆者は両方好きグループに割り当てられます。)
絶対的にグループに割り当てないあいまいさをグルーピングに活用し、コンテンツの理解に繋げ、施策に活用できないかを検討するのが今回ファジィクラスタリングを採用したねらいとなります。
GLOBIS学び放題における視聴ログにファジィクラスタリングを活用したコンテンツのグルーピング
分析対象
複数のカテゴリの中で、今回は代表的な領域である「思考・コミュニケーション」カテゴリのコンテンツを分析対象にしました。
分析方法
直近半年以内に有料化したユーザーの視聴完了したコンテンツをカウントし、ユーザー×コンテンツの行列を作成する。
ユーザー×コンテンツの行列をもとに、視聴完了の共起性に基づくコンテンツ×コンテンツの距離行列を作成する。
大半のユーザーがコンテンツAとコンテンツBを視聴完了している場合、この2つのコンテンツは興味・関心の近いコンテンツ同士といえそうである。
コンテンツ間の親和性を「2つのコンテンツを直近半年以内で視聴完了したユーザー数(数が大きいほど親和性が高い)」と定義し、分析用データとする。
距離行列をファジィクラスタリングの手法である Fuzzy C-means【2】に与え、クラスタリングの結果を確認する。
Scikit-Fuzzy【3】による Fuzzy C-means の実装例
主要な入力パラメータ
クラスタ化するデータ data:クラスタ化する2 次元配列データ S×N(S :次元数, N :データ数)。今回は分析方法2. で作成した距離行列。
クラスタ数 c:各コンテンツを c 個のクラスタとしてグルーピングする。
ファジィ係数 m:ファジー性の度合い。m は1以上の任意の値を取り、値を大きくすることでファジィなクラスタを作成できる。
主要な出力パラメータ
クラスタ所属確率 u:コンテンツが各クラスタに所属する確率。1つのデータ点のクラスタ所属確率を合計すると1になる。
ファジィ分配係数 FPC(Final fuzzy Partition Coefficient):クラスタリングモデルにより、データがどの程度明確に記述されているかを示す。0~1 の範囲で定義され、1が最適な係数となる。
実際にはパラメータ探索としてグリッドサーチを行い、主要な入力パラメータ(後述)における FPC 起点でのクラスタ数の最適化を実施していますがここでは割愛します。
# Scikit-Fuzzy による Fuzzy C-means ライブラリのインポート
import skfuzzy as fuzz
# Fuzzy C-means の実装(クラスタ数c=2, ファジィ係数m=2.0とする。)
fcm_result = fuzz.cluster.cmeans(data, 2, 2.0, error=0.0001, maxiter=300, init=None, seed=2022)
# クラスタ所属確率 u の確認
print(fcm_result[1])
# ファジィ分配係数 FPC の確認
print(fcm_result[6])
分析結果
コンテンツのクラスタへの所属確率とコンテンツの内容を確認し、以下の6つのグルーピングと解釈を実施しました。(図2)
グルーピングにおける課題と今後の検討事項
コンテンツのグルーピングの結果として、大まかに上記のようなグルーピングとその意味付けをおこなうことができました。
一方で、論理思考系に割り当てられそうなコンテンツがビジネススキル系に割り当てられるなど、グループの解釈を難しくするコンテンツが入り乱れるグルーピング結果となりました。
この課題について、今回のデータ作成方法である「直近半年におけるユーザーの視聴完了された共起性」だけでは表現できないコンテンツ視聴における特徴があったためであると考察しています。
今度の検討事項として、分析方法の節におけるデータの作成方法や分析手法を工夫し、課題を解決していくことが挙げられます。
納得感のあるグルーピング結果を得ることができるよう、定期的にコンテンツのグルーピングの検討を実施していきたいと考えています。
終わりに
今回は視聴ログにファジィクラスタリングを活用したコンテンツのグルーピングについての事例を紹介しました。
複数のクラスタに所属するあいまいなデータを見つけ、あいまいさの度合いに基づくグルーピング結果を意図的に活用したい場合は、ぜひファジィクラスタリングを活用してみてください!
グロービスにジョインして感じることは、施策に本質的な価値があるのか、新しい価値を提供できるのかの問いからチーム一丸で考え、データ駆動で議論する土壌があるということです。
全社的にデータを活用したビジネス推進への機運が日々高まっていると感じており、データサイエンスチームが各チームと協同しながら挑戦と貢献ができるポイントが多くあると感じます。
今後も質の高いデータ活用を通して、意思決定・プロダクトのクオリティを向上させていきたいと考えています!
参考文献
【1】宮本定明(1999). 『クラスター分析入門 ファジィクラスタリングの理論と応用』. 森北出版株式会社.
【2】Sebastian Raschka;Vahid Mirjalili(2020).『[第3版]Python機械学習プログラミング 達人データサイエンティストによる理論と実践』. 福島真太朗監修, 株式会社クイープ訳, 株式会社インプレス.
【3】scikit-fuzzy development team(n.d.).『skfuzzy 0.4.2 docs』. https://scikit-fuzzy.github.io/scikit-fuzzy/api/index.html, (2022年10月14日アクセス)
グロービスで一緒に働くデータサイエンティストを募集しています!
グロービスのデータサイエンスチームでは、一緒に働けるデータサイエンティストを探しています! まずは、カジュアル面談を通して、あなたに合う組織かどうか確かめてみませんか?
https://recruiting-tech-globis.wraptas.site/
この記事が気に入ったらサポートをしてみませんか?