Personalizer とはWhat is Personalizer?

Azure Personalizer は、最適なコンテンツ項目をアプリケーションが選択してユーザーに表示できるよう支援するクラウドベースのサービスです。Azure Personalizer is a cloud-based service that helps your applications choose the best content item to show your users. Personalizer サービスを使用すると、買い物客に提示すべき製品を判断したり、広告の最適な表示位置を見つけ出したりすることができます。You can use the Personalizer service to determine what product to suggest to shoppers or to figure out the optimal position for an advertisement. そのコンテンツがユーザーに表示されると、アプリケーションは、ユーザーのリアクションを監視し、Personalizer サービスに報酬スコアをレポート バックします。After the content is shown to the user, your application monitors the user's reaction and reports a reward score back to the Personalizer service. そうすることで機械学習モデルは継続的に改善され、また受け取ったコンテキスト情報に基づいて最適なコンテンツ項目を選択する Personalizer の能力も継続的に改善されます。This ensures continuous improvement of the machine learning model, and Personalizer's ability to select the best content item based on the contextual information it receives.

ヒント

コンテンツには、テキスト、画像、URL、メールなど、抽出してユーザーに表示するあらゆる情報単位が当てはまります。Content is any unit of information, such as text, images, URL, emails, or anything else that you want to select from and show to your users.

先に進む前に、こちらの対話型デモで Personalizer を自由にお試しください。Before you get started, feel free to try out Personalizer with this interactive demo.

最適なコンテンツ項目を Personalizer が選択するしくみHow does Personalizer select the best content item?

Personalizer は 強化学習 を使用し、すべてのユーザーにわたって集めた行動と報酬スコアに基づいて最適な項目 ("アクション") を選択します。Personalizer uses reinforcement learning to select the best item (action) based on collective behavior and reward scores across all users. アクションとは、ニュース記事、特定の映画、製品などのコンテンツ項目です。Actions are the content items, such as news articles, specific movies, or products.

Rank 呼び出しは、アクション項目、アクションの特徴、コンテキストの特徴を受け取って、最上位のアクション項目を選択します。The Rank call takes the action item, along with features of the action, and context features to select the top action item:

  • アクションと特徴 - コンテンツ項目と各項目に固有の特徴Actions with features - content items with features specific to each item
  • コンテキストの特徴 - アプリ使用時のユーザーとそのコンテキスト、環境の特徴Context features - features of your users, their context or their environment when using your app

Rank 呼び出しからは、ユーザーに表示するコンテンツ項目 (アクション) の ID が、報酬アクション ID フィールドで返されます。The Rank call returns the ID of which content item, action, to show to the user, in the Reward Action ID field.

ユーザーに表示される アクション は、一定期間にわたる報酬の総量が最大となるように機械学習モデルを使用して選択されます。The action shown to the user is chosen with machine learning models, that try to maximize the total amount of rewards over time.

サンプル事例Sample scenarios

ユーザーに表示する最適なコンテンツを選択する際に Personalizer が利用できるシナリオをいくつか見てみましょう。Let's take a look at a few scenarios where Personalizer can be used to select the best content to render for a user.

Content typeContent type アクションと特徴Actions (with features) コンテキストの特徴Context features 返される報酬アクション IDReturned Reward Action ID
(このコンテンツが表示されます)(display this content)
ニュース リストNews list a.a. The president... (国内, 政治, [テキスト])The president... (national, politics, [text])
b.b. Premier League ... (グローバル, スポーツ, [テキスト, 画像, ビデオ])Premier League ... (global, sports, [text, image, video])
c.c. Hurricane in the ... (地域, 気象, [テキスト,画像]Hurricane in the ... (regional, weather, [text,image]
ニュースの閲覧に使用するデバイスDevice news is read from
月または季節Month, or season
a The president...a The president...
映画リストMovies list 1.Star Wars (1977, [アクション, アドベンチャー, ファンタジー], ジョージ ルーカス)1. Star Wars (1977, [action, adventure, fantasy], George Lucas)
2.Hoop Dreams (1994, [ドキュメンタリー, スポーツ], スティーブ ジェームズ2. Hoop Dreams (1994, [documentary, sports], Steve James
3.Casablanca (1942, [ロマンス, ドラマ, 戦争], マイケル カーティス)3. Casablanca (1942, [romance, drama, war], Michael Curtiz)
映画の視聴に使用するデバイスDevice movie is watched from
画面サイズscreen size
ユーザーの種類Type of user
3. Casablanca3. Casablanca
Product 一覧Products list i.i. Product A (3 kg, $$$$, 24 時間以内に配送)Product A (3 kg, $$$$, deliver in 24 hours)
ii.ii. Product B (20 kg, $$, 出荷と通関に 2 週間)Product B (20 kg, $$, 2 week shipping with customs)
iii.iii. Product C (3 kg, $$$, 48 時間以内に配送)Product C (3 kg, $$$, delivery in 48 hours)
ショッピングの閲覧に使用するデバイスDevice shopping is read from
ユーザーの支出階層Spending tier of user
月または季節Month, or season
ii.ii. Product B

Personalizer は、"報酬アクション ID" と呼ばれる最適なアクションを 1 つ選択するために強化学習を使用しました。Personalizer used reinforcement learning to select the single best action, known as reward action ID. 次の情報が機械学習モデルによって使用されます。The machine learning model uses:

  • トレーニング済みのモデル - 過去にパーソナライズ サービスから受け取った情報。機械学習モデルの改善に使用されます。A trained model - information previously received from the personalize service used to improve the machine learning model
  • 最新のデータ - 特徴を伴う具体的なアクション、コンテキストの特徴。Current data - specific actions with features and context features

Personalizer が使用される状況When to use Personalizer

アプリケーションがコンテンツを表示するたびに、Personalizer の Rank API が呼び出されます。Personalizer's Rank API is called each time your application presents content. これは イベント と呼ばれ、"イベント ID" で表されます。This is known as an event, noted with an event ID.

Personalizer の Reward API は、リアルタイムで呼び出すことも、実際のインフラストラクチャに合わせて時間差で呼び出すこともできます。Personalizer's Reward API can be called in real-time or delayed to better fit your infrastructure. 報酬スコアは、ビジネス ニーズに基づいて決めます。You determine the reward score based on your business needs. 報酬スコアは 0 と 1 の間です。The reward score is between 0 and 1. これは、適切な場合は 1、不適切な場合は 0 というように 1 つの値になる場合があるほか、ビジネス目標や指標を考慮して作成したアルゴリズムによって生成される場合もあります。That can be a single value such as 1 for good, and 0 for bad, or a number produced by an algorithm you create considering your business goals and metrics.

コンテンツの要件Content requirements

Personalizer は、対象のコンテンツが次の条件を満たす場合に使用します。Use Personalizer when your content:

  • 各パーソナル化イベントで、選択肢となる一連のアクションまたは項目数が限られている (最大約 50 個)。Has a limited set of actions or items (max of ~50) to select from in each personalization event. リストがそれよりも大きい場合は、レコメンデーション エンジンを使用して、Personalizer サービスで Rank を呼び出すたびに、項目を 50 個まで減らしてください。If you have a larger list, use a recommendation engine to reduce the list down to 50 items for each time you call Rank on the Personalizer service.
  • ランク付けしたいコンテンツを説明する情報がある ("アクションと特徴" および "コンテキストの特徴")。Has information describing the content you want ranked: actions with features and context features.
  • Personalizer で効果を発揮するために、コンテンツに関連したイベントが 1 日あたり少なくとも約 1,000 件発生する。Has a minimum of ~1k/day content-related events for Personalizer to be effective. 最低限必要なトラフィックが Personalizer に送信されなかった場合、このサービスでは、最適なコンテンツ項目を 1 つ割り出すために、さらに時間がかかります。If Personalizer doesn't receive the minimum traffic required, the service takes longer to determine the single best content item.

Personalizer は、集まった情報をほぼリアルタイムで使用して最適なコンテンツ項目を 1 つ返すため、このサービスでは次のことが行われません。Since Personalizer uses collective information in near real-time to return the single best content item, the service doesn't:

  • ユーザー プロファイル情報を保持および管理するPersist and manage user profile information
  • 個々のユーザーの好みや履歴を記録するLog individual users' preferences or history
  • クリーニング済みおよびラベル付きのコンテンツを要求するRequire cleaned and labeled content

Personalizer を設計して実装する方法How to design for and implement Personalizer

  1. コンテンツ、"アクション"、"コンテキスト" を 設計および計画します。Design and plan for content, actions, and context. "報酬" スコア用の報酬アルゴリズムを決定します。Determine the reward algorithm for the reward score.

  2. 作成した各 Personalizer リソースは、1 学習ループと見なされます。Each Personalizer Resource you create is considered one Learning Loop. このループでは、そのコンテンツまたはユーザー エクスペリエンスに対する Rank と Reward 両方の呼び出しを受け取ります。The loop will receive the both the Rank and Reward calls for that content or user experience.

    リソースの種類Resource type 目的Purpose
    見習いモード E0Apprentice mode E0 既存のアプリケーションに影響を与えずに Personalizer モデルをトレーニングしてから、運用環境にオンライン学習動作をデプロイします。Train the Personalizer model without impacting your existing application, then deploy to Online learning behavior to a production environment
    標準、S0Standard, S0 運用環境でのオンライン学習動作Online learning behavior in a production environment
    無料、F0Free, F0 非運用環境でオンライン学習動作を試します。Try Online learning behavior in a non-production environment
  3. 対象のアプリケーション、Web サイトまたはシステムに Personalizer を追加します。Add Personalizer to your application, website, or system:

    1. ユーザーにコンテンツを表示する前に最適な "コンテンツ" 項目を 1 つ決定する Rank 呼び出しをアプリケーション、Web サイト、またはシステムの Personalizer に追加します。Add a Rank call to Personalizer in your application, website, or system to determine best, single content item before the content is shown to the user.
    2. 最適な "コンテンツ" 項目を 1 つユーザーに表示します。これは、返された "報酬アクション ID" です。Display best, single content item, which is the returned reward action ID, to user.
    3. ユーザーの行動に関して収集された情報に "ビジネス ロジック" を適用して、次のように 報酬 スコアを決定します。Apply business logic to collected information about how the user behaved, to determine the reward score, such as:
    動作Behavior 算出された報酬スコアCalculated reward score
    ユーザーが最適な "コンテンツ" 項目 (報酬アクション ID) を 1 つ選択しましたUser selected best, single content item (reward action ID) 11
    ユーザーがその他のコンテンツを選択しましたUser selected other content 00
    ユーザーが一時停止し、漠然とした態度で前後にスクロールした後、最適な "コンテンツ" 項目 (報酬アクション ID) を 1 つ選択しましたUser paused, scrolling around indecisively, before selecting best, single content item (reward action ID) 0.50.5
    1. 0 から 1 までの報酬スコアを送信する Reward 呼び出しを追加します。Add a Reward call sending a reward score between 0 and 1
      • コンテンツを表示した直後Immediately after showing your content
      • またはオフライン システムで少し経ってからOr sometime later in an offline system
    2. 一定期間使用した後、オフライン評価を使用してループを評価します。Evaluate your loop with an offline evaluation after a period of use. オフライン評価を使用すると、コードを変更したりユーザー エクスペリエンスに影響を与えたりすることなく、Personalizer サービスの有効性をテストして評価することができます。An offline evaluation allows you to test and assess the effectiveness of the Personalizer Service without changing your code or affecting user experience.

クイックスタートに取り組むComplete a quickstart

クイックスタートは、C#、JavaScript、Python でご利用いただけます。We offer quickstarts in C#, JavaScript, and Python. それぞれ基本的な設計パターンを学び、いずれも 10 分もかからずにコードを実行できるように作られています。Each quickstart is designed to teach you basic design patterns, and have you running code in less than 10 minutes.

Personalizer サービスを使用する機会が得られたら、Web アプリケーションやチャット ボット、Azure Notebooks で Personalizer を使用する方法を、チュートリアルを通じて学びましょう。After you've had a chance to get started with the Personalizer service, try our tutorials and learn how to use Personalizer in web applications, chat bots, or an Azure Notebook.

関連項目Reference

次のステップNext steps