Webサイトで強化学習を実装すると何を実現できるのか。リクルートの実践例を基に、使い方や失敗しないためのコツを紹介する。
昨今、多くのサービスで活用され注目を集めている「機械学習」。その中から、2016年3月に囲碁のトップ棋士に勝利したDeepMindの「Alpha Go」でも使用されている「強化学習」について解説していく本連載。
第1回の「囲碁プロ棋士に勝ったAI『Alpha Go』で使われた、『強化学習』って何?」では、主に「強化学習とは一体何なのか?」「強化学習のメリット、他の機械学習との違い」について、第2回の「【3目並べで学ぶ強化学習】Q-LearningとDQNを徹底解説」では、「強化学習のアルゴリズムの1つである『Q-Learning』と『Deep Q-Network』の概要」「強化学習ライブラリ『ChainerRL』を活用した3目並べの強化学習実装」について紹介しました。
最終回の第3回では、「リクルートで取り組んだ強化学習の具体的な活用事例」「強化学習があまり活用されていないWebというフィールド特有の難しさ」「失敗しないためのコツ」について紹介します。
リクルートでは、第1回で紹介した強化学習の「プロセスの学習」というメリットに着目し、Web分野での活用に取り組んできました。取り組んだテーマは「リアルタイムUX施策への活用」と「サイト改善ツールとしての活用」の2つです。
「リアルタイムUX」は、リアルタイムにUI(ユーザーインタフェース)を変更しUX(ユーザー体験)を向上させることで、さまざまなWebサイトで実施されています。では、リクルートが実践した、強化学習を用いたリアルタイムUX施策とはどのようなものだったのかを紹介します。
リクルートグループが運営する「じゃらんnet」や「ホットペッパーグルメ」などのWebサイトは、基本的に「トップ画面」「一覧画面」「詳細画面」「予約画面」で構成されています。Webサイトを訪れるほとんどのユーザーは下記の順番で行動します。
Webサイト上の施策としてよく見られる「アイテムのレコメンド」は、ユーザー行動の中の「良いアイテムの発見」を支援する施策といえます。これは、コンバージョン(以下、CV)を教師ラベルにしたアイテムの「CV確率予測(教師あり学習)」と「協調フィルタリング(教師なし学習)」により実現できます。なぜなら、アイテムのレコメンドが、CVにつながる行動との直接的な関係性を学習できるためです。
しかし、CVに直接関係ないが重要な行動も多く存在します。例えば「検索条件の指定」は、直接CVには関係しませんが、ユーザーが求めるアイテムに出会うための重要なプロセスです。そこで強化学習を使えば、プロセスの学習を生かして、ユーザー一人一人に最適な行動を学習できます。
実際にリクルートでは、旅行検索サービス「じゃらんnet」で、ユーザー一人一人に対して「おすすめの検索条件」をレコメンドするABテストを実施し、一定の成果を上げました。これまで強化学習では「状態(State)」「行動(Action)」「報酬(Reward)」を定義する必要があると述べました。おすすめ検索条件のレコメンドにおいても同様で、それぞれを定義する必要があります。
Webの世界ではユーザー一人一人の「今」を表す特徴量を状態として定義します。ユーザーの状態は1遷移ごとに変化すると考え、次のような変数を採用しています。
状態に関しては、まだまだ改善の余地が大きく今後チューニングしていきたいポイントです。この選び方のポイントについては後述します。
今回はレコメンド対象となる「おすすめ検索条件」が行動に当たります。
CVページの訪問にプラスの報酬、Webサイトからの離脱にマイナスの報酬を設定しました。離脱にマイナスの報酬を与えることで、離脱につながるプロセスを低く評価するように設定しました。
今回実施したのは「じゃらんnet」におけるリアルタイムUX施策です。状態、行動、報酬の定義次第では、さまざまな施策が展開可能であるため、汎用(はんよう)的な仕組みとして開発を行っています。
Copyright © ITmedia, Inc. All Rights Reserved.