17.1 DeepWalkアルゴリズムの使用

DeepWalkは、業界で広く使用されている頂点表現学習アルゴリズムです。

次の2つの主なステップで構成されています。

  1. まず、ランダム・ウォーク生成ステップで、各頂点のランダム・ウォークが計算されます(事前定義されたウォークの長さと、事前定義された頂点ごとのウォーク数を使用します)。
  2. 次に、これらの生成されたウォークがWord2vecアルゴリズムにフィードされ、各頂点(Word2vecアルゴリズムに提供される入力の単語)のベクトル表現が生成されます。DeepWalkアルゴリズムの詳細は、KDDのドキュメントを参照してください。

DeepWalkでは、特定のグラフの頂点埋込みが作成され、グラフに変更を組み込むように更新することはできません。かわりに、この変更されたグラフで新しいDeepWalkモデルをトレーニングする必要があります。最後に、DeepWalkモデルのメモリー使用量がO(2n*d)であることに注意することが重要です。ここで、nはグラフ内の頂点の数、dは埋込み長です。

次に、DeepWalkアルゴリズムを適用できるユースケースをいくつか説明します:

  • ソーシャル・ネットワークでのコミュニティ検出: 頂点埋込みを利用して、そのネットワークの残りのユーザーよりも頻繁にやり取りしているユーザーのグループを特定します。これは、ターゲットを絞ったマーケティング、社会動学の理解、またはネットワーク・モデレーション計画に役立つ可能性があります。
  • 新規アイテムの推奨: ユーザー操作およびコンテンツ使用パターンを分析します。これは、類似ユーザーや類似アイテムの埋込みに基づいて推奨システムで新規コンテンツ(ビデオ、記事、製品など)を推奨するために役立ちます。
  • ナレッジ・グラフの拡張: エンティティ(頂点)について埋込みを生成することでナレッジ・グラフを拡張します。これは、欠落している関係を推測するために役立ちます。それにより、グラフの完全性と、検索エンジンや質問回答システムでのその有用性が高まります。

次に、8,637,721の頂点と165,049,964のエッジを含む例としてDBpediaグラフを使用して、PGXでのDeepWalkの主な機能の使用方法を示します。