マシンラーニングモデルの作成と公開

あなたはオンラインの小売サイトを所有しているとします。あなたは顧客が小売 Web サイトで買い物をする際に、自社が提供する他の様々な製品が目に入るよう、パーソナライズされた製品レコメンデーションを提示したいと考えています。Web サイトの存在期間全体にわたって、顧客データを継続的に収集し、このデータを使用してパーソナライズされた商品レコメンデーションを生成しようとします。

Adobe Experience Platform Data Science Workspace 事前に組み込まれた 製品Recommendationsレシピを使用して目標を達成する手段を提供します。このチュートリアルに従って、小売データにアクセスして理解し、機械学習モデルを作成して最適化し、Data Science Workspaceでインサイトを生成する方法を確認します。

このチュートリアルは、Data Science Workspaceのワークフローを反映しており、機械学習モデルを作成するための次の手順をカバーしています。

  1. データの準備
  2. モデルのオーサリング
  3. モデルのトレーニングと評価
  4. モデルを操作できるようにする

はじめに

このチュートリアルを開始する前に、次の前提条件を満たす必要があります。

  • Adobe Experience Platformにアクセスします。 Experience PlatformのIMS組織にアクセスできない場合は、先に進む前に、システム管理者にお問い合わせください。

  • イネーブルメントアセット。次のアイテムをプロビジョニングするには、アカウント担当者にお問い合わせください。

    • Recommendations のレシピ
    • Recommendations の入力データセット
    • Recommendations の入力スキーマ
    • Recommendations の出力データセット
    • Recommendations の出力スキーマ
    • ゴールデンデータセット postValues
    • ゴールデンデータセットスキーマ
  • 必要な3つのJupyter NotebookファイルをAdobepublic Git repositoryからダウンロードします。これらはData Science WorkspaceでJupyterLabワークフローを示すのに使用されます。

このチュートリアルで使用する次の主要概念に対する十分な理解

  • Experience Data Model:Adobeが導く標準化の取り組み。Customer Experience Managementの標準スキーマ(例:ExperienceEvent) Profile を定義します。
  • データセット:実際のデータ用に構成されたストレージおよび管理。XDM スキーマの物理的にインスタンス化されたインスタンス。
  • バッチ:データセットは、バッチで構成されます。バッチとは、一定期間に収集され、1 つの単位としてまとめて処理される一連のデータです。
  • JupyterLab: JupyterLab は、Project用のオープンソースのWebベースのインターフェイスで Jupyter 、に緊密に統合されてい Experience Platformます。

データの準備

顧客に合わせてパーソナライズされた商品レコメンデーションを作成する機械学習モデルを作成するには、Web サイトにおける以前の顧客の購入を分析する必要があります。この節では、このデータがPlatformからAdobe Analyticsにどのように取り込まれるか、およびそのデータが機械学習モデルで使用する機能データセットにどのように変換されるかについて説明します。

データを調べてスキーマを理解する

Adobe Experience Platformにログインし、データセット​を選択して既存のデータセットをすべてリストし、調査するデータセットを選択します。 この場合、Analyticsデータセット​ゴールデンデータセットpostValues​です。

データセットのアクティビティページが開き、データセットに関する情報が一覧表示されます。 右上付近にある​プレビューデータセット​を選択して、サンプルレコードを調べることができます。 また、選択したデータセットのスキーマを表示することもできます。 右側のパネルでスキーマリンクを選択します。 「スキーマ名」の下のリンクを選択すると、スキーマが新しいタブに開きます。

その他のデータセットは、プレビュー用にバッチを使用して事前設定されています。これらのデータセットを表示するには、上記の手順を繰り返します。

データセット名 スキーマ 説明
ゴールデンデータセット postValues ゴールデンデータセットスキーマ AnalyticsWeb サイトの ソースデータ
Recommendations の入力データセット Recommendations の入力スキーマ Analyticsデータは、機能パイプラインを使用してトレーニングデータセットに変換されます。 このデータは、製品レコメンデーションの機械学習モデルのトレーニングに使用されます。itemid および userid は、その顧客が購入した製品に対応しています。
Recommendations の出力データセット Recommendations の出力スキーマ スコア付け結果が保存されるデータセットには、各顧客にお勧めする製品のリストが含まれます。

モデルのオーサリング

Data Science Workspaceライフサイクルの2番目の要素は、レシピとモデルの作成です。 製品 Recommendations レシピは、過去の購入データと機械学習を利用して、製品 Recommendations を大規模に生成できるように作られています。

レシピは、特定の問題を解決するために設計された機械学習アルゴリズムとロジックを含んでおり、モデルの基盤となります。さらに重要な点は、レシピを使用すると、組織全体の機械学習を民主化でき、他のユーザーはコードを書かなくても様々な用途のモデルにアクセスできるようになることです。

製品 Recommendations レシピの参照

Experience Platformで、左側のナビゲーション列の​モデル​に移動し、上部のナビゲーションで​レシピ​を選択して、組織で使用可能なレシピのリストを表示します。

次に、提供された​Recommendationsレシピ​を探して開きます。名前を選択します。 レシピの概要ページが表示されます。

次に、右側のレールで、「Recommendations入力スキーマ」を選択して、レシピの電源を入れているスキーマを表示します。 スキーマフィールド「itemId」と「userId」は、特定の時刻(timestamp)に、その顧客が購入した製品(interactionType)に対応します。 同じ手順に従って、Recommendations の出力スキーマ​のフィールドを確認します。

これで、商品 Recommendations のレシピで必要な入力および出力スキーマを確認しました。次のセクションに進み、製品Recommendationsモデルの作成、トレーニング、評価方法を学びます。

モデルのトレーニングと評価

データが準備され、レシピの準備が整ったら、機械学習モデルを作成、トレーニングおよび評価できます。

モデルの作成

モデルはレシピのインスタンスで、データを大規模にトレーニングして、スコアを付けることができます。

Experience Platformで、左側のナビゲーション列の​モデル​に移動し、上部のナビゲーションで​レシピ​を選択します。 組織で使用可能なレシピのリストが表示されます。商品のレコメンデーションレシピを選択します。

レシピページで、「モデルを作成」を選択します。

モデルの作成

モデル作成ワークフローは、まずレシピを選択して開始します。 Recommendationsレシピ​を選択し、右上隅の「次へ」を選択します。

次に、モデル名を入力します。 モデルに使用可能な設定が、モデルのデフォルトのトレーニングとスコアリング動作の設定を含む一覧に表示されます。 設定を確認し、「完了」を選択します。

新しく生成されたトレーニングの実行によって、モデルの概要ページがリダイレクトされます。 トレーニング実行は、モデルの作成時にデフォルトで生成されます。

トレーニング実行が完了するまで待つか、次のセクションで新しいトレーニング実行の作成を続行するかを選択できます。

カスタムのハイパーパラメータを使用してモデルをトレーニングする

モデルの概要​ページで、右上近くにある​トレーニング​を選択して、新しいトレーニング経路を作成します。 モデルの作成時に使用したのと同じ入力データセットを選択し、「次へ」を選択します。

設定​ページが表示されます。ここで、トレーニングの実行num_recommendations値(ハイパーパラメーターとも呼ばれます)を設定できます。 トレーニングを受け、最適化されたモデルは、トレーニングの実行結果に基づいて、パフォーマンスの最も高いハイパーパラメータを利用します。

ハイパーパラメーターは学習できないので、トレーニングを実行する前に割り当てる必要があります。ハイパーパラメータを調整すると、トレーニングを受けたモデルの精度が変わる場合があります。 モデルの最適化は反復的なプロセスなので、満足のいく評価を得る前に、複数のトレーニングの実行が必要になる場合があります。

ヒント

num_recommendationsを10に設定します。

追加のデータポイントがモデル評価グラフに表示されます。 実行が完了すると、この処理が表示されるまで数分かかる場合があります。

モデルの評価

トレーニング実行が完了するたびに、結果の評価指標を表示して、モデルのパフォーマンスを判断できます。

完了した各トレーニングの実行に関する評価指標(精度と再現率)を確認するには、トレーニングの実行を選択します。

各評価指標に対して提供される情報を調べることができます。 これらの指標が高いほど、モデルのパフォーマンスが向上します。

各トレーニング実行に使用されるスキーマセット、データセット、設定パラメーターは、右側のパネルで確認できます。「モデル」ページに戻り、評価指標を観察して、パフォーマンスが最も高いトレーニングを特定します。

モデルを操作できるようにする

Data Science ワークフローの最後の手順では、モデルを操作できるようにして、データストアからのインサイトにスコアを付けて利用します。

スコアを付けてインサイトを生成する

商品レコメンデーションモデルの概要ページで、再現率と精度の値が最も高い、パフォーマンスの最も高いトレーニング実行の名前を選択します。

最高点を取る

次に、トレーニングの実行の詳細ページの右上にある「スコア」を選択します。

スコアの選択

次に、Recommendations入力データセット​をスコアリング入力データセットとして選択します。これは、モデルの作成時に使用し、トレーニング実行を行ったのと同じデータセットです。 次に、「次へ」を選択します。

入力データセットを入力したら、Recommendations出力データセット​をスコアリング出力データセットとして選択します。 スコアリング結果は、このデータセットにバッチとして保存されます。

最後に、スコアリングの設定を確認します。 これらのパラメーターには、前に選択した入出力データセットと適切なスキーマーが含まれます。 「終了」を選択して、スコアリングの実行を開始します。 実行が完了するまで数分かかる場合があります。

スコアが付けられたインサイトを表示する

スコアリングの実行が正常に完了すると、生成されたインサイトの結果と表示をプレビューできます。

スコアリングの実行ページで、完了したスコアリングの実行を選択し、右側のレールで「プレビュースコアリング結果データセット」を選択します。

プレビューの表では、各行に特定の顧客に対する製品レコメンデーションが含まれ、それぞれに recommendations および userId というラベルが付けられます。サンプルのスクリーンショットではnum_recommendationsハイパーパラメーターが10に設定されているので、レコメンデーションの各行には、番号記号(#)で区切られた最大10個の製品IDを含めることができます。

次の手順

このチュートリアルでは、Data Science Workspaceのワークフローについて説明し、未処理の生のデータを機械学習によって有用な情報に変える方法を説明します。 Data Science Workspaceの使い方の詳細については、小売売上スキーマとデータセットの作成に関する次のガイドに進んでください。

このページ