Amazon Personalize触ってみる

Privateの招待がきたので触ってみました。

Get Startedを押すと、データセットグループの設定が立ち上がります。

データの準備

AWSが用意しているサンプルデータをDLします。この中のrating.csvを利用します。CSVのヘッダーを書き換える必要があるので注意してください。

1行目が変更後
2行目はもともとの値

変更した内容を保存します。

インポートジョブを作成

インプットはSDKからのイベントトラッキングと、ファイルアップロードから選べます。

アップロードするデータのschemaを設定しましょう。

{
    "type": "record",
    "name": "Interactions",
    "namespace": "com.amazonaws.personalize.schema",
    "fields": [
        {
            "name": "USER_ID",
            "type": "string"
        },
        {
            "name": "ITEM_ID",
            "type": "string"
        },
        {
            "name": "RATING",
            "type": "string"
        },
        {
            "name": "TIMESTAMP",
            "type": "long"
        }
    ],
    "version": "1.0"
}

S3バケットへのアクセス権のあるIAMとでーたのロケーションを設定します。

S3のバケットには、以下のようなバケットポリシーを設定しましょう。

{
   "Version":"2012-10-17",
   "Id":"PersonalizeS3Bucket AccessPolicy",
   "Statement":[
      {
         "Sid": "PersonalizeS3BucketAccessPolicy",
         "Effect": "Allow",
         "Principal": {
            "Service":"personalize.amazonaws.com"
         },
         "Action": [
            "s3:GetObject",
            "s3:ListBucket"
          ],
         "Resource":[
            "arn:aws:s3:::YOUR_BUCKET_NAME",
            "arn:aws:s3:::YOUR_BUCKET_NAME/*"
         ]
      }
   ]
  }

インポートジョブを開始

この状態でインポート完了を待ちます。

 これでインポート完了です。続いて推論のモデルを作りましょう。

ソリューションを作る

推論部分をソリューションと呼ぶようです。

ドキュメントを参考に、AutoMLでおまかせしちゃいます。

あとは待つだけです。

Dashboardで、このように[View Solutions]が表示されていればokです。

Campaignsを作る

最後に実際にレコメンデーションを行うCampaignsを作ります。[Create new Campaign]から作成しましょう。

名前の設定と、先ほど作成したsolutionを設定します。

作成に時間がかかるので、こちらも気長に待ちましょう。

動かしてみる

準備ができたので、動かしてみましょう。Campaignsの詳細から、ユーザーIDとItem IDをそれぞれ入力することで、レコメンドを得ることができます。

簡単ですね。

次はイベントトラッキングの方も試してみようと思います。

この記事を書いた人