次の方法で共有


Azure Data Lake Storage の設定

この記事では、Intelligent Recommendations を使用するための Azure Data Lake Storage アカウントの設定方法について説明します。

Intelligent Recommendations に Data Lake Storage アカウントへのアクセスを許可するには、最初にアカウントに移動してから、アクセス許可を設定します。

コンテナー、ルート フォルダー、ログ フォルダーを設定します

Intelligent Recommendations が使用するコンテナーとフォルダーを選択する方法:

  1. Azure portal にサインインし、ストレージ セクションを選択します。

  2. ビジネスが Intelligent Recommendations とのデータ共有に使用するサブスクリプションおよびストレージ アカウントを選択し、コンテナー を選択します。

    Intelligent Recommendations のオンボードに使用するサブスクリプションとアカウントのタイプ。

  3. 既存のコンテナーを作成または選択してから、ルート フォルダーを作成または選択します。

    Note

    ルート フォルダーとログ フォルダー、そしてコンテナーの名前は、サービスに影響を与えませんが、Intelligent Recommendations アカウントの設定でパスを提供する際には一致させる必要があります。 例では、コンテナーの名前として ircontainer、ルート フォルダーの名前として ir_root、ログ フォルダーの名前として ir_logs を使用していることに注意してください。

    Intelligent Recommendations のコンテナー、ルート フォルダー、ログ フォルダーを作成します。

  4. ir_root フォルダーのサブフォルダーの名前と構造を確認してください。 Intelligent Recommendations のルート フォルダーの名前と構造を確認してください。

コンテナーのセキュリティ設定

コンテナーのセキュリティを構成するには、システム割り当てまたはユーザー割り当てのマネージド ID を使用してデータの読み取り\書き込みを行うための Intelligent Recommendations へのアクセスを許可する必要があります。 利用可能なマネージド ID の種類と、ビジネス シナリオに適したマネージド ID の詳細については、マネージド ID の種類に関するガイド を参照してください

マネージド ID は、次の 2 つの方法で構成できます:

  1. システム割り当て ID - システム割り当てマネージド ID は、リソースごとに 1 つに制限され、このリソースのライフサイクルに関連付けられています。
  2. ユーザー割り当て ID - ユーザー割り当てマネージド ID により、資格情報をコードに保存することなく、Azure リソースがクラウド サービス (Azure Key Vault など) に対して認証できるようになります。

続行する前に、ビジネスが Intelligent Recommendations とのデータ共有に使用するサブスクリプション Id およびストレージ アカウントを持っていることを確認します。

システム割り当てマネージド ID のアプローチ

システム割り当てマネージド ID でセキュリティを設定するには:

  1. Intelligent Recommendations アカウントを開きます。
  2. 左側のウィンドウにある ID を選択します。
  3. システム割り当て タブで ステータスON にして、保存 を選択します。

 IR アカウントのシステム割り当て ID ステータス。

  1. ストレージ アカウントに戻り、左側のナビゲーション ペインで コンテナー を選択し、ircontainer (またはコンテナに付けた任意の名前) を選択します。
  2. 左のペインで、アクセス制御 (IAM) を選択します。

コンテナーの IAM。

  1. Intelligent Recommendations サービスにログ データの読み取りを許可するには、指定された手順に従って ストレージ Blob データ閲覧者 を割り当ててから、ストレージ Blob データ共同作成者 アクセス許可に対して手順 1 - 6 を再度繰り返します:

    1. このリソースへのアクセスを許可する 配下で ロールの割り当ての追加 を選択します。
    2. ロールストレージ Blob データ閲覧者 を選択し、次へ を選択します。
    3. 次の画面の アクセスの割当て先 セクションで、マネージド ID を選択して、+ メンバーの選択 を選択します。

    マネージド ID の IAM。

    1. マネージド ID で、Intelligent Recommendations アカウント カテゴリを選択します。

    システム割り当てマネージド ID の IAM。

    1. 次に、Intelligent Recommendations アカウントのリストが表示されます。 このストレージ アカウントにアクセスできる関連アカウントを選択し、選択 を選択します。

     システム割り当てマネージド ID を選択する IAM。

    1. [レビュー+ 割り当て] ボタンを選択して、決定を確定します。 これらの手順を繰り返して、ストレージ Blob データ共同作成者 も設定します。

ユーザー割り当てマネージド ID のアプローチ

ビジネスに同じコンテナー内のデータへの読み取り/書き込みアクセスが必要な複数のアカウントがある場合は、ユーザー割り当てマネージド ID にアクセス許可を付与し、複数の Intelligent Recommendations アカウントに関連付けます。

Note

続行する前に、ユーザー割り当てマネージド ID を既に作成している必要があります。 まだ持っていない場合は、ユーザー割り当てマネージド ID ガイド に記載されている手順に従ってください。

ユーザー マネージド ID を作成するための前提条件は次のとおりです:

  • サブスクリプション: ユーザー割り当てマネージド ID を作成するサブスクリプションを選択します。
  • リソース グループ: ユーザー割り当てマネージド ID を作成するリソース グループを選択するか、新規作成を選択して新しいリソース グループを作成します。
  • リージョン: ユーザー割り当てマネージド ID をデプロイするリージョンを選択します (米国西部など)。
  • 名前: ユーザー割り当てマネージド ID の名前を入力します。 ただし、英数字 (0-9、a-z、および A-Z) とハイフン (-) のみがサポートされます。
  1. 作成して使用するユーザー割り当てマネージド ID をコピーします。 持っていない場合は、ユーザー割り当てマネージド ID の作成方法に関するメモを参照してください。

  2. ストレージ アカウントから、左側のナビゲーション ペインで コンテナー を選択し、ircontainer (またはデータ コントラクトが含まれているコンテナー) を探します。

  3. 左のペインで、アクセス制御 (IAM) を選択します。

コンテナーのアクセス制御を調べます。

  1. Intelligent Recommendations サービスがログデータを読み取れるようにするには、Storage Blob Data ReaderStorage Blob Data Contributor の両方の権限を追加する必要があります。

    1. このリソースへのアクセスを許可する 配下で ロールの割り当ての追加 を選択します。
    2. ロールストレージ BLOB データの読み取り を選択します。
    3. アクセスの割当て先マネージド ID を選択し、+ メンバーの選択 を選択します。
    4. ユーザー割り当てマネージド ID を選択します。

    ユーザー割り当てマネージド ID を選択します。

    1. アクセス許可を付与する IR アカウントに関連するユーザー割り当てマネージド ID を選択し、選択 を選択します。

    ユーザー割り当てマネージド ID を選択します。

    1. [レビュー+ 割り当て] ボタンをクリックして変更を保存し、ダイアログを閉じます。

次に、Intelligent Recommendations アカウントをユーザー割り当てのマネージド ID に接続する必要があります。

  1. Intelligent Recommendations アカウントに移動します。
  2. 左側のウィンドウにある ID を選択します。
  3. ID タブで ユーザー割り当て タブを選択し、+ 追加 を選択します。

ID を IR アカウントに関連付けます。

IR アカウントにユーザー割り当て ID を追加します。

  1. IR アカウントに関連付けるユーザー割り当てマネージド ID を選択します。 必要に応じて、複数の ID を IR アカウントに関連付けることができます。

  2. 追加 を選択して、選択内容を保存します。

ID を IR アカウントに追加します。

ロールの割り当てを確認する

ストレージ アカウントと ircontainer に戻って、正しいアクセス許可のセットがあることを確認します。

  1. ircontainer の左ペインから Access Control (IAM) を選択します。
  2. このリソースへのアクセスを表示する セクションから 表示 を選択します。
  3. Intelligent Recommendations サービスを検索し、ストレージ Blob データ閲覧者ストレージ Blob データ共同作成者 とともに、サービスが ロールの割り当て セクションにリストされていることを確認します。 これらのロールが見つからない場合は、戻って、前に説明した手順を使用してロールを再度追加します。

Note

フォルダー レベルでアクセス許可 (ACL アクセス許可) を設定することもできます。 ACL 権限の詳細については、Azure Data Lake Storage Gen2 でのアクセス制御リスト を参照してください。

データの準備

Intelligent Recommendations は、複数のデータ型をサポートしています。 最適な結果を得るには、各データ型を Intelligent Recommendations で認識される特定の名前の一意のサブフォルダーに配置します。 各フォルダー内に正しいスキーマの CSV ファイルを配置できます。

CSV ファイルを準備するときは、次のヒントに注意してください。

  • ルート フォルダー レベル配下にあるフォルダーの名前は重要であり、model.json ファイルで期待されるものと正確に一致する必要があります。
  • CSV ファイルの名前は重要ではありません。
  • フォルダーに複数の CSV ファイルを配置できます。 Intelligent Recommendations もそれらを読み込もうとします。
  • データの量も重要ではありません。 必要に応じてデータを分割できます。
  • パーソナライズされたレコメンデーションなどのシナリオでは、異なるデータ エンティティが必要です。

データ エンティティ は、1 つ以上のデータ テキスト ファイルのセットです。 各ファイルには列または 属性 の一覧と、実際のデータを含む行があります。 Intelligent Recommendations は、それぞれ独自の目的を持つデータ エンティティの論理グループを定義します。 データ エンティティはオプションなので (特に明記されていない限り)、データが空または完全に欠落している可能性があります。

Intelligent Recommendations のデータ型の詳細については、データ コントラクトの参照 を参照してください。

データを準備するには、次の 3 つのデータ エンティティを追加する必要があります:

  • Reco_ItemsAndVariants: このファイルには、Intelligent Recommendations がユーザーに推奨する品目の完全なリストが含まれています。
  • Reco_Interactions: このファイルには、ユーザーと品目間の各未加工イベントまたはユーザー操作が保存されます。 一般的なイベントには、クリック、ビュー、トランザクションが含まれます。
  • Reco_Config: このファイルはデータ フォルダーではありませんが、他のリスト構成に使用されます。

次に、データ スキーマを追加する必要があります。

model.json ファイルのダウンロードとルート フォルダーの構成

データ スキーマ全体は、ダウンロード可能なファイル model.json で記述されています。

  1. このリンクを選択して、model.json ファイルをダウンロードします。 この JSON ファイルはルート フォルダーに配置する必要があり、他の変更は必要ありません。

    Note

    model.json ファイルを絶対に変更しないでください。 ファイルを変更すると、Intelligent Recommendations サービスがデータの処理を開始できなくなります。

  2. model.json をルート フォルダーに保存または移動します。

  3. データ エンティティ用に 3 つのサブフォルダーを作成します: Reco_ItemsAndVariantsReco_InteractionsReco_Config

  4. テキスト エディタを使用して、既定の config.csv ファイルを作成し、Reco_Config フォルダーに移動します。

ファイル構造は次のようになります:

すべてのデータ オブジェクトが正しく構成されたルート フォルダー。

基本カタログ ファイルの作成

最も基本的な形式のカタログは、品目 ID の単なるリストです。 ここでは、5 つのフィールドしかない ItemsAndVariants データ エンティティ スキーマを使用します。

完全なスキーマは次のようになります:

ItemId, ItemVariantId, Title, Description, ReleaseDate

サービスを迅速に開始するためには、ItemId のみが必要です。 作成する必要のあるファイルの行の例は次のとおりです:

0000394e,,,,
0000394f,,,,
0000394g,,,,

基本の対話ファイルの作成

対話 データ エンティティ スキーマには 12 個のフィールドがありますが、ここではほとんどのフィールドを既定値に設定できます。

次の値を設定します:

必須フィールド 設定
InteractionsGroupingId 品目をグループ化するものであれば何を指定しても構いません。 UserId または SessionId または OrderId に設定することができます。 使用するものが不明で UserId がある場合は、先に進み UserId に設定します。
ItemId 基本カタログ ファイルの作成 で説明されているものと同じ ItemId。 これらの値はカタログと一致する必要があります。
UserId ユーザーを表す任意の文字列。 Intelligent Recommendations は、このフィールドを使用して外部システムを照会しないため、この値は実際のユーザー ID にマッピングされているものを表すことができます。
Timestamp 記録されたイベントの日時を表します。

完全な 対話 スキーマは次のようになります:

InteractionsGroupingId、ItemId、ItemVariantId、UserId、InteractionType、Timestamp、RealtimeEventId、PaidPrice、Channel、Catalog、Strength、IsPositive

ここでは、他のフィールドを既定値に設定できます。 インタラクション ファイルには、機械学習ベースのモデリング インスタンスが結果を計算できるようにするための十分なデータ行が必要です。 ログからの組み込みレポートを使用して、十分な量があるかどうかを判断できます。 ログの詳細については、エラー ログの設定 を参照してください。

作成する必要のあるファイルの行の例は次のとおりです:

1,0000394e,,1,Transaction,2018-09-02T13:30:10.000Z,,,,,1,TRUE
1,0000394f,,1,Transaction,2018-09-01T03:48:38.000Z,,,,,1,TRUE
2,0000394e,,2,Transaction,2016-06-17T17:01:23.000Z,,,,,1,TRUE
2,0000394f,,2,Transaction,2017-04-19T07:15:53.000Z,,,,,1,TRUE
3,0000394e,,3,Transaction,2016-11-16T18:28:50.000Z,,,,,1,TRUE

既定の構成ファイルの作成

ここでは、このテキストを選択したテキスト エディターにコピーして、config.csv という名前で保存します:

TrendingListMaxAgeDays,18250
TrendingListTransactionsIntervalDays,18250
BestSellingListTransactionsIntervalDays,36500
PersonalizationEnabled,False
ItemIdAsGuid,False

参照

展開の概要
Intelligent Recommendations アカウントの新規作成
データ コントラクトを使用したデータの共有