興味のあるものをオススメしてくれる「レコメンデーション」に欠かせない5つのアルゴリズム
ECサイトで買い物中に表示されるおすすめ商品から、動画サイトで自動的に再生される関連動画まで、現代のインターネットユーザーはさまざまな場所で「レコメンデーション」に接しています。そんなレコメンデーションに欠かせない5つのアルゴリズムを、グラフデータベースサービスを手がけるMemgraphが解説しています。
Five Recommendation Algorithms No Recommendation Engine Is Whole Without
https://memgraph.com/blog/five-recommendation-algorithms-no-recommendation-engine-is-whole-without
◆1:幅優先探索
幅優先探索(BFS)とは、木構造やグラフの探索に用いられるアルゴリズムです。仕組みは単純で、ある開始ノードを選択したらそれとつながるノードを全て探索し、見つかったノードを始点としてさらに探索をするという順番で関連性を見つけていきます。
レコメンデーションの分野では、まずあるユーザーを開始ノードにしてそのユーザーが買った商品を全て探索し、その商品を購入した他のユーザーが買ったもの、つまり「対象ユーザーと同じ物を買った人が購入した別の商品」を見つけます。その後、対象のユーザーと関連性がないものを除外して、おすすめする商品を絞り込んでいきます。
◆2:ページランク
ページランクは、対象ユーザーに最適な商品や流行の商品から、対象ユーザーが興味を持ちそうなアイテムを見つけるのに使われるアルゴリズムです。このアルゴリズムでは、各ノードが何個のノードを指しているかをカウントしてページランク(PR)値を算出し、そのノードの重要度を割り出します。
レコメンデーションでは、現在流行している製品を検出したり、影響力のあるユーザーを見つけたりするのに使われます。これは、影響力のあるユーザーが買った商品は、他のユーザーも興味を持つことが多いという考え方に基づいています。
◆3:コミュニティ検出アルゴリズム
これは、ユーザーの行動からそれと似た行動を取るユーザーを特定し、グループ化するために使われるアルゴリズムです。似た習慣を持つユーザーのグループを見つけることができれば、そのユーザーが属するグループとそのグループの行動様式に基づいて、おすすめする商品を絞り込むことができます。
◆4:リンク予測
リンク予測は、「グラフニューラルネットワーク(GNN)」というアルゴリズムを用いて、商品やユーザーというノード間のつながりを予測するもの。通常のニューラルネットワークでは、ノードとノードの接続はノードの特徴としてのみ考慮されますが、ノードとそれを結ぶ線をひとまとまりのグラフとして捉えるGNNは、ユーザーや商品についてのさまざまな特徴を考慮して関連性を分析することができます。
◆5:動的アルゴリズム
レコメンデーションシステムのデータは、常に新しく追加されたり削除されたり、更新されたりします。例えば、シーズンが冬になって夏物の服が関心を集めなくなったり、人気だった製品が大事故を起こして見向きもされなくなるといったケースがこれに該当します。
通常のアルゴリズムは、データが変更されると最初から計算をやりなおす必要がありますが、これには時間とコストがかかります。そこで、以前の値からグラフの特性を計算する「動的グラフアルゴリズム」を用いれば、データセット全体を再計算する必要がなくなります。同様に、前述のページランクやコミュニティ検出アルゴリズムなどにもデータの変更に対応する「動的バージョン」があり、常に変動するデータに対応しながらレコメンデーションを行っています。
・関連記事
YouTubeの「低く評価」や「興味なし」ボタンはほとんど機能していないという調査結果 - GIGAZINE
Twitterが機械学習アルゴリズムを改善するためのイニシアチブを発表 - GIGAZINE
Twitterのアルゴリズムをオープンソース化することはできるのか? - GIGAZINE
・関連コンテンツ