見出し画像

Instagram「発見タブ」のレコメンドアルゴリズムとは | インスタグラムマーケティング

こんにちは、ホットリンクのアサヤマ(@taasayan)です。

Instagramの利用者は全世界で10億人​、日本でも3,300万人を突破​し、まさに破竹の勢いでユーザー数が伸びています。

Instagramの公式ブログによると「発見タブ」を月に1回以上見ているユーザーは50%を超えているそうです。

今回FacebookがInstagram発見タブのレコメンドシステムについて公式に発表していたので、こちらの内容を解説したいと思います。


Instagramの「発見タブ」とは?

「発見タブ」は、2012年にInstagramに追加された機能で、画面下の虫眼鏡アイコンをタップすると表示されます。

画像5

Instagramのフィードやストーリーズは人軸でプライベートなコミュニケーションのために使われることが多いですが、発見タブはユーザーの興味関心軸で投稿やアカウントを発見する場になっています。

発見タブの構成は大きく分けて2つです。

①検索
検索窓にハッシュタグやアカウント、スポットの名前を入力することで知りたい情報について能動的に探索することができます。

画像2

ググるよりタグる」と言われるように、特にビジュアル検索において主要な検索エンジンの1つとして使われています。

②レコメンド
検索窓の下にグリッドでユーザー行動を基にしたレコメンドが表示されます。

検索は知りたいことがわかっているタイミングで利用するのに対して、レコメンドは受動的に興味のあるコンテンツを閲覧できるセレンディピティ(偶発的な発見)の場所として利用されています。

ホットリンクが支援してるいくつかのInstagramアカウントでは、ハッシュタグ経由の流入の存在が霞むほど発見タブレコメンド経由の流入が爆増しているケースが見られるなど、リーチ面としての非常に重要です。

このレコメンドに表示される投稿がどのようなアルゴリズムで決定されているのかを解説します。

アカウントEmbedding

Instagramでは「Embedding」という方法で、投稿単位ではなくアカウント単位でアカウント同士のトピック類似性を特定しています。

アカウントEmbeddingには「Ig2vec」というフレームワークが使われています。

自然言語処理において使われるword2vecというフレームワークが、文章の文脈に基づいて言葉の重み付けを学習するのと同じで、Ig2vecでは単語の代わりに「ユーザーが関わりを持ったアカウントID」を扱います

例えば、Instagramアプリ上の1セッションで、あるユーザーが連続で複数のアカウントにいいねをしたら、それらのアカウントたちはトピック的に関連性が高いと判断します。

このテクニックによってInstagramはユーザーがどのアカウントに対してインタラクトしそうなのかを予想することができるのです。

蒸留モデル

Instagramが採用している複雑なランキングモデルで処理される、候補の「インプット情報」と「アウトプット情報(ランキング結果)」を記録し、シンプルなneural networkモデルを使って結果を複製します。

この工程でランキング候補を絞っておくことで、複雑なランキングステージにおいて複数のパラメータをチューニングしたり、複数のモデルを保持する必要性を最小化することができます。

Sourcing StageとRanking Stage

数十億の投稿から発見タブに表示する25程度に絞る工程は、大きく分けて2つに分かれます。

・Sourcing Stage
・Ranking Stage

画像3

Sourcing Stage(候補生成ステージ)

①ユーザーが過去に接触(いいねや保存など)をした「Seed Accounts」と呼ばれるアカウントを洗い出す
②アカウントEmbeddingを用いて①の類似ユーザーを抽出する
③①と②のユーザーの投稿を一人あたり数千くらい抽出
④そのうち500をサンプリングして次のランキングステージに渡す

画像4

Ranking Stage

Sorcing Stageで抽出した500の候補に対して、ランキングの妥当性と情報処理効率のバランスをとるために3つのランキングステージを用います。

①ファーストパス
さっき説明した蒸留モデルを用いて、②③の工程を真似た処理をして500の候補のうち150の高品質のものに絞る

②セカンドパス
ライトウェイトニューラルネットワークを用いて最も関連性の高い50まで絞る

③サードパス
ディープニューラルネットワークを用いて最も関連性の高い25まで絞る

②と③において、最も関連性の高い候補を選択するために、Instagramはmulti-task multi-label (MTML) neural networkを用いて、それぞれの投稿に対する、いいねや保存などのポジティブなアクションをするか、”このような投稿の表示を減らす” みたいなネガティブなアクションをするかといった、個々のアクションを予測します。

The shared multilayer perceptron (MLP)によってユーザーの異なるアクションから共通のシグナルを見出すことができるのです。

画像5

コンテンツの関係性を判断する上で、異なるシグナルを捉えるために「Value Model」と呼ばれる計算式を用いて異なるイベントの予測を一体化しています。

[w_like * P(Like) + w_save * P(Save) - w_negative_action * P(Negative Action)]

のような予測の加重を用います。

例えば、発見タブにおいて保存はいいねよりも重要度が高いと考え、保存アクションの重み付けを上げています。

一方で、新しい発見をする場として発見タブが機能するためには「顕在化してる興味」と「新しい発見」のバランスをとる必要があります。

Value Modelに、同じ投稿者や同じシードアカウントによる投稿にマイナスポイントを付与するルールを追加して、同じアカウントからの投稿ばかり表示されてしまわないようにしています。
ユーザーが同じアカウントからの投稿を見るほど、そのアカウントに対するペナルティーが大きくなる仕組みです。

それを踏まえてどうすればいいのか

上記のレコメンドアルゴリズムを踏まえた上でどういった対策をすればいいのかを考えたいと思います。

フォローされなくてもエンゲージユーザーの母数を増やす

①ユーザーが過去に接触(いいねや保存など)をした「Seed Accounts」と呼ばれるアカウントを洗い出す

とあったように、ユーザーにエンゲージしてもらえればSeed Accountになることができます。なのでシンプルに過去にエンゲージしたユーザーの母数を増やすことが大事です。

例えば
・ハッシュタグ上での露出を最大化するためのハッシュタグPDCAを回す
・1投稿あたりのリーチ数とエンゲージメント率を高めるためのクリエイティブ改善を回す
・投稿の回数を増やす
・投稿をブーストする広告で広くエンゲージメントを集める

といった施策が考えられるでしょう。

アカウントのテーマ性をInstagramに伝える

②アカウントEmbeddingを用いて①の類似ユーザーを抽出する

発見タブにおいては投稿単位ではなくアカウント単位でトピック類似生を特定して候補を生成しているという点が最も注目すべき点なのではないでしょうか。

Instagramは以下のような項目を見てアカウントのテーマ性を特定しているのではないかと推測します。

①どういうコンテンツ(画像、動画、キャプションの文字、ハッシュタグ)を投稿しているか
②どういうユーザーにフォローされているか
③どういうユーザーをフォローしているか
④どういうユーザーにエンゲージされているか
⑤どういうユーザーやアカウントにエンゲージしているか

テーマに一貫性がある投稿を続けることと、テーマに共通性があるユーザーと繋がること。

この2点を意識することでInstagramにアカウントのテーマ性が伝わりやすくなり、ターゲットユーザー層の発見タブ表示候補に含めてもらえる確率が高まると考えられます。

「保存されるコンテンツ」はなにか?を考える

公式発表にも書いてあったように、発見タブにおいては候補アカウント抽出後のランキング過程において、保存の重み付けが重視されています。

発見タブレコメンドやハッシュタグトップのような興味関心軸に基づく発見の場所においては、保存のような「実益目的」のシグナルがより一層重視され、フィードやストーリーズのようなプライベートな使われ方がされている場所では、いいねやコメントのような「コミュニケーション目的」のシグナルが重視されているのだと推測されます。

ランキング過程で上位に選ばれるためには、「潜在顧客層はどういうコンテンツなら保存して後から見返したいと思うか?」を考えてコンテンツ制作をするのが大事だということです。

顧客のニーズやインサイトを理解して、ユーザーの便益を最大化するコンテンツ内容や投稿フォーマットを考えていきましょう。

レコメンドの重み付けや切り口は常にテストされ調整されている

現在、発見タブレコメンドでは各投稿に「投稿が表示される理由」が表示される仕様になっています。

複数のアカウントで表示されている理由を見てみたところ以下の項目を確認できました。


・これまでに見た動画に合わせたおすすめ
・「いいね!」した投稿に合わせたおすすめ
・「いいね!」した写真に合わせたおすすめ
・保存した投稿に合わせたおすすめ
・アクションを実行した投稿と同じような投稿
・アクションを実行したアカウントと同じようなアカウント
・フォローしてるアカウントによるおすすめ
・Instagramのおすすめ
・おすすめ

このようにアカウント候補生成後のランキング生成ステージにおいては、重み付けや切り口を変えて様々なレコメンドをして、反応を見ながら調整していることがわかります。

①エンゲージメントの種類によるレコメンド
・閲覧
・いいね
・保存
・アクション全体
といったエンゲージメントの種類によって重み付けを変えたレコメンド

②投稿フォーマットごとのレコメンド
・写真
・動画
・投稿すべて

③フォローしてるユーザーが好反応を示している投稿
協調性フィルタリングを用いてフォローしてるアカウントが好反応を示している投稿をレコメンドしていると思われます。

※協調性フィルタリングについてはSpotifyアルゴリズムの記事に書いているのでよければどうぞ↓

④年齢や性別など属性データによるレコメンド

「おすすめ」「Instagramのおすすめ」は年齢や性別などの属性データを元に、同じクラスタのユーザーがどのような投稿に好反応を示しているのかを元にレコメンドをしているのではないかと推測します。

これはおそらくアカウント生成ステージを度外視してレコメンドしていると思われます。

最後に

発見タブのアルゴリズムについてご紹介してきました。

その他にもInstagramのマーケティングノウハウについて紹介しているので良かったら読んでみてくださいね!

▼Instagram世代の購買行動プロセス「UDSSAS(ウドサス)」とは?InstagramでUGCを醸成する方法

▼シグナルとアルゴリズムから考えるInstagramアカウントグロース

アサヤマのTwitter


いいなと思ったら応援しよう!