Amazon Personalizeに追加されたContent Generatorを使って実際にレコメンドにキャッチフレーズを付けてみた #AWSreInvent

2023.12.01

こんちには。

データアナリティクス事業本部 機械学習チームの中村です。

Amazon Personalizeが生成AIを活用したContent Generatorによりレコメンドにキャッチフレーズを付ける新機能を発表しました。

弊社ブログでも速報が出ています。概要はこちらもご参照ください。

本記事では、実際にこの機能を使用してみたいと思います。

Content Generator機能について

より詳しい説明や要件については以下の公式ドキュメントを参照する必要があります。

ポイントを抜粋すると以下のようになります。

  • Similar-Itemsレシピのみで使用可能(つまりアイテムベースレコメンドのみ)
  • バッチ推論時のみで使用可能、バッチ推論時のItem IDは最大100個まで
  • Item Interactionsに加えてItemsデータセットが必要で、かつ以下の要件を満たす必要がある
    • DESCRIPTIONフィールドのようなテキストフィールドを持たなければならない
    • TITLEフィールドのような項目名データを持つ文字列カラムを持たなければならない
  • 対応リージョンは以下のみ
    • US East (N. Virginia)
    • US West (Oregon)
    • Asia Pacific (Tokyo)

レシピが限定され、バッチ推論でのみ使用可能です。Itemsの要件もあるのでデータ準備の際は注意しましょう。

また従来のInteractionsはItem Interactionsという名前に変わっているのでそこもご注意ください。(これは別のアップデートの影響です)

また価格についても別途料金が発生するため注意が必要です。

Content Generator uses large language models to generate themes for batch recommendations. You are charged an additional $1 per theme output.

バッチ推論時のItem IDを増やすと、Item ID単位で$1かかりますのでご注意ください。

使ってみた

データの準備

データは過去のAWS公式ブログにあるものを使います。

データのリンクは以下です。

これをインポートできるようにS3バケットに配置しておきます。

  • s3://{バケット名}/personalize/retail-demo-store/interactions.csv
  • s3://{バケット名}/personalize/retail-demo-store/items.csv

さらにこのS3バケットにはバケットポリシーが必要ですので、忘れずに以下のように設定しておきます。

{
    "Version": "2012-10-17",
    "Id": "PersonalizeS3BucketAccessPolicy",
    "Statement": [
        {
            "Sid": "PersonalizeS3BucketAccessPolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "personalize.amazonaws.com"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::{バケット名}",
                "arn:aws:s3:::{バケット名}/*"
            ]
        }
    ]
}

Personalizeのリソース作成

以下の流れでやっていきます。

  • Dataset Groupの作成
  • Datasetの作成 (Interactionsの方)
  • Import jobの作成 (Interactionsの方)
  • Datasetの作成 (Itemsの方)
  • Import jobの作成 (Itemsの方)
  • Solutionの作成

あまりアップデートとは関係ないため、新機能の動きだけ確認されたい場合は飛ばしてお読みください。

(レシピやItemsデータセット要件は冒頭で挙げたものを満たす必要があります)

Dataset Groupの作成

Personalizeのコンソールから「Dataset Groupの作成」を押下します。

以下のようにします。DomainはCustomにしておきました。

「Create Group」を押下すると以下のような画面となります。

Datasetの作成 (Interactionsの方)

上記の画面から「Create dataset」を押下するとそれぞれのDatasetが作成できます。

今回は必須の「Item interactions dataset」と「Item dataset」をクリックして作っていきます。

まずは「Item interactions dataset」を押下してすすみます。

以下のImport methodはS3を使う左側を選択して「Next」を押下します。

Dataset detailsを以下のようにします。

Schema設定は以下のようにします。

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

そして「Next」を押下すると、この時点でDatasetが作成され、継続してImport jobの作成画面に遷移します。

Import jobの作成 (Interactionsの方)

Data import job nameを以下のように入力します。

Data locationに準備してあるS3のURIを入力します。

IAM Roleは今回新規に作成します。

IAM Roleのアクセス権は一応使用するバケットに絞っておきます。

他は変更せず、末尾の「Start import」を押下します。

Datasetの作成 (Itemsの方)

同様にしてItemsの方もやっていきます。

Import methodは左側を選択します。

Dataset detailsは以下のようにします。

Schema設定は以下のようにします。

{
    "type": "record",
    "name": "Items",
    "namespace": "com.amazonaws.personalize.schema",
    "fields": [
        {
            "name": "ITEM_ID",
            "type": "string"
        },
        {
            "name": "PRICE",
            "type": "float"
        },
        {
            "name": "CATEGORY_L1",
            "type": ["string"],
            "categorical": true
        },
        {
            "name": "CATEGORY_L2",
            "type": ["string"],
            "categorical": true
        },
        {
            "name": "GENDER",
            "type": ["string"],
            "categorical": true
        },
        {
            "name": "PRODUCT_DESCRIPTION",
            "type": ["string"],
            "textual": true
        }
    ],
    "version": "1.0"
}

Schema設定の詳細については以下もご参照ください。

こちらに記載の通り、今回の新機能で必要な"textual": trueのカラムについては「Unstructured text metadata」の項目に詳細が記載してあり、以下の制限があります。

  • 非構造化テキスト値は、中国語と日本語を除くすべての言語で、最大20,000文字まで持つことができます。
  • 中国語と日本語では、最大7,000文字です。
  • Amazon Personalizeは、文字数制限を超える値を文字数制限まで切り捨てます。

今回のデータセットは英語ですが、Descriptionは日本語にも対応しているようです。

コンソールで「Next」を押下すると、この時点でDatasetが作成され、継続してImport jobの作成画面に遷移します。

Import jobの作成 (Itemsの方)

Data import job nameを以下のように入力します。

Data locationに準備してあるS3のURIを入力します。

IAM Roleは先ほど作成したものを指定し、末尾の「Start import」を押下します。

Solutionの作成

次にStep 3の「Create solutions」を押下して、Solutionsを作成します。

Solution nameを入力し、Solution typeを「Item recommendation」を選択し、Recipeには「aws-similar-items」を選択して、「Next」を押下しました。

Advanced configurationはデフォルトのまま進めます。

最後に確認用の画面がでますので、「Create solution」を押下します。

するとSolution versionが作成中となります。左側のメニュの「Custom resources」->「Solutions and recipes」から作成中のステータスを確認できます。

完了までしばらく待ちましょう。今回は20分ほど待つと完了しました。

Solution versionをクリックすると、実際のTraining hoursが出力されます。こちらが料金の単位となり実時間とは異なるのでご注意ください。

Batch inferenceにより新機能を試す

Batch inferenceの入力を作成

以下のようなjsonlファイルを準備します。

{"itemId": "6579c22f-be2b-444c-a52b-0116dd82df6c"}
{"itemId": "2e852905-c6f4-47db-802c-654013571922"}
{"itemId": "4ec7ff5c-f70f-4984-b6c4-c7ef37cc0c09"}
{"itemId": "7977f680-2cf7-457d-8f4d-afa0aa168cb9"}
{"itemId": "b5649d7c-4651-458d-a07f-912f253784ce"}
{"itemId": "296d144e-7f86-464b-9c5a-f545257f1700"}
{"itemId": "7d3e7f5b-8ac8-49a9-a960-8a24773a8280"}
{"itemId": "1d3ae532-f790-44ca-a8e8-f55aa9b66526"}
{"itemId": "f6cd5dd2-d3ea-4858-844a-04879153e459"}

こちらをS3の例えば以下にアップロードしておけば準備完了です。

  • s3://{バケット名}/personalize/retail-demo-store/batch-inference/input.jsonl

フォーマットは以下も参照ください。

Batch inference jobの作成

左側のメニューから「Batch inference jobs」をクリックします。

以下の画面で「Create batch inference job」を押下します。

Batch inference jo typeとして通常のものと、今回新しく追加された「Themed recommendations with Content Generator」が選択できますので、右側を選びます。

Job nameの指定などは従来通りです。IAMロールはDatasetをImportした時と同じものを使用します。

以下の設定が本機能に関わる部分です。

descriptionとなるようなカラムが自動で認識され、アイテム名となっているカラムを選択することができます。今回のデータセットではアイテム名がないため、代わりとしてCATEGORY_L2を設定してみます。

最後に入出力先のS3を設定して、「Create batch inference job」を押下します。

するとジョブが開始されます。しばらく時間が掛かりますので、待ちます。完了には30分程度必要でした。

結果の確認

完了後に出力先のS3を見に行きます。以下のようなパスに出力されています。

  • s3://{バケット名}/personalize/retail-demo-store/batch-inference/outputs/input.jsonl.out

結果は以下のようになっていました。

{
    "input":{
        "itemId":"296d144e-7f86-464b-9c5a-f545257f1700"
    },
    "output":{
        "recommendedItems":[
            "b438ff91-d7cc-461b-b7fb-951d195e32bb","d5999799-b6c1-45cf-8d5a-eaa8406a5409","41ab23ce-b417-46b2-a52a-bf7030f93161","3efb5bf2-b419-43b9-9b1f-78a6aa6fc2b7","94a0ad41-8b19-4ecb-b0d7-33704e2d4421",
            "6579c22f-be2b-444c-a52b-0116dd82df6c","58e99e9e-8f17-4bda-a82c-f08d3eddacb3","a01ee85c-f301-4e22-97e0-ca3065ddb19d","6b81a807-d7eb-41b5-8e6e-887455775c38","4df77d59-732e-4194-b9aa-7ad3878345e7",
            "40661057-b318-4fc9-bf00-8a1ab1b3c3cb","6cae2ce6-9fae-4eff-a26e-f483ff6aead6","c1df3910-d085-48d3-8eb1-2225c6b81159","0451bd94-f74f-4fb6-99db-951275508ae3","a6183f9b-75dc-4dd3-9a1e-3d0fbb0e49f1",
            "ef2bc846-fed1-4d6b-a9bb-e50c6961f254","ab228b40-f692-4662-9986-6d8184dda20b","c6461825-558b-4def-aa22-3fa082dcb6af","2ea02e11-d1d4-4f8b-a5ec-8a94860a07ca","4f9e1247-5342-4a79-ae6d-e53d083840a8",
            "8bc9e7d5-123c-46e4-a4f5-abeb79a77b3f","70afef2f-5a5e-4f39-ab6e-7050902f060c","d56b362e-5d34-4f5f-aa3d-2724ec45b569","3c378028-2226-4e87-94b4-7bc8a9aea5fe","47404fab-577a-4691-8277-6de9ab87ea15"
        ],
        "theme":"Stylish and functional backpacks and bags.",
        "itemsThemeRelevanceScores":[
            0.518,0.492,0.484,0.467,0.462,0.442,0.422,0.369,0.364,0.337,0.252,0.196,0.186,0.148,0.121,0.121,0.119,0.099,0.077,0.036,-0.01,-0.03,-0.053,-0.073,-0.146
        ]
    }
}
{
    "input":{
        "itemId":"6579c22f-be2b-444c-a52b-0116dd82df6c"
    },
    "output":{
        "recommendedItems":[
            "b535e4ad-3f3c-4b05-9715-9dc7077239de","b438ff91-d7cc-461b-b7fb-951d195e32bb","2cc89e77-685d-423c-80a9-82e07ea13b7c","7d3e7f5b-8ac8-49a9-a960-8a24773a8280","2e852905-c6f4-47db-802c-654013571922",
            "3491deff-c0fe-4065-abbc-72b507da84b2","4e44c0c1-40d0-43dd-a7fb-8454d779296d","4545a6e0-fd36-4dd0-962f-f069c20041cb","d52e376b-d958-4d52-ab6d-f7731c7adf22","31c2c0cc-5b0a-4773-bf47-4a63125c48a1",
            "b105252a-e06c-413a-a635-b911fc3c4033","1956b13b-fa4f-45cf-bc3c-407339ba56a9","b48717fa-76f0-4cd9-af37-81961de245a6","77f436a6-b074-42e0-af6d-827b8626e854","1249276c-851a-4f46-81fb-873fd7d5f60f",
            "b03a9d18-3bd9-4d1c-9ebb-2d94cad7c7cc","24a19516-a629-4703-af46-cf28f604a48a","72ae72f3-e7f0-4f03-b8eb-12e78c77741d","7cfd10d1-ff92-4513-b688-0ee179deaaef","fe96a096-a0b6-4b20-a332-e11db6c0c7b0",
            "b8b63e67-22c5-4366-b420-977e7905354f","62af4e62-c516-43cb-8afd-9241810c54f9","b2d729d1-5aef-4dbf-bdf5-6d99c6e86e12","635be5a7-3345-46f9-aa0d-419a6652b0f2","efb27815-d66a-4c22-915f-09566e7e091d"
        ],
        "theme":"All about backpacks",
        "itemsThemeRelevanceScores":[
            0.59,0.521,0.502,0.495,0.466,0.451,0.375,0.34,0.323,0.295,0.149,0.133,0.099,0.095,0.079,0.075,0.059,0.055,0.053,0.042,-0.002,-0.025,-0.045,-0.05,-0.071
        ]
    }
}
{
    "input":{
        "itemId":"7d3e7f5b-8ac8-49a9-a960-8a24773a8280"
    },
    "output":{
        "recommendedItems":[
            "0485ddb0-0112-4a31-afe0-75f9ddf6e14f","8b93bc57-62ca-4c6f-a83a-c527da84f224","28c14c06-d947-44d0-96f8-dc2113845e4c","d23b8ca9-cd3d-4e92-958c-922cfcd8fb29","6579c22f-be2b-444c-a52b-0116dd82df6c",
            "82f4c1ca-b0dc-4e5a-9336-caff8bf63c05","8759b4e2-51cc-456f-a224-01a34d04db2b","1f730c26-3e59-41f3-b031-e054a137ee93","9c05f815-7ecf-4054-9132-7f47455d3a43","b105252a-e06c-413a-a635-b911fc3c4033",
            "31f69124-fa40-4a08-9d6c-9363c7f9d29b","77f436a6-b074-42e0-af6d-827b8626e854","b3ac3191-20ee-491c-8a24-42e0889152ef","3d8b3023-0b1e-4da4-8bc3-fc130bbedf17","564f9ced-8823-45ed-a781-1dc555353dd9",
            "89728417-5269-403d-baa3-04b59cdffd0a","7bc5ce87-2c88-4fe5-bd5e-b74e523c3bd2","96e21eaa-08e0-4b7b-9cd0-330720891b89","75edcc32-739d-4f67-aa1b-167ccb734c48","3ab996bb-9c82-4e05-b14a-81a68352c418",
            "7fd05ca4-ac20-46cf-b4f8-87147eef8d65","26744e55-7e27-4192-be27-af96c812fd3e","8bc9e7d5-123c-46e4-a4f5-abeb79a77b3f","654926f7-2240-429e-9222-f705d62a8841","27611481-bedc-4ffd-b8e6-4af2a34d5b3e"
        ],
        "theme":"Carry your essentials in style with our collection of handbags and backpacks.",
        "itemsThemeRelevanceScores":[
            0.409,0.403,0.38,0.365,0.361,0.297,0.271,0.206,0.184,0.168,0.154,0.107,0.103,0.1,0.097,0.082,0.057,0.048,0.023,0.017,0.014,-0.027,-0.032,-0.06,-0.079
        ]
    }
}
{
    "input":{
        "itemId":"f6cd5dd2-d3ea-4858-844a-04879153e459"
    },
    "output":{
        "recommendedItems":[
            "c15d7a38-9df9-44ee-8733-6bda17f89e8c","b438ff91-d7cc-461b-b7fb-951d195e32bb","28c14c06-d947-44d0-96f8-dc2113845e4c","4ec7ff5c-f70f-4984-b6c4-c7ef37cc0c09","3d882b22-847d-4d7f-9a74-3bd290db95c2",
            "3491deff-c0fe-4065-abbc-72b507da84b2","aedc65f7-684c-4e4a-bcd0-455dae355ced","0d748c4b-8fae-47e7-80f5-bfbae8c4c2f1","16c829fc-6585-426d-a1cd-922266e20678","00f54e56-4199-4102-ba91-5040f4e45236",
            "025ec8a0-0358-494f-a51a-065f090e84f8","291d81c2-023b-40f0-8d06-ff3c8ccd1dfb","3946f4c8-1b5b-4161-b794-70b33affb671","ef6ca20c-3280-4ac7-bbdb-6c1d055ec62e","1811c348-a164-4305-97e2-bd0427074f30",
            "41ac9770-6767-48e3-939d-db2e72668241","2cb36a55-d238-45cf-a3ac-8e2cdf187c43","9fbbfe69-98f3-43a6-9a78-7d8ac254a777","813427bd-9011-462b-88d6-f0978f5cf8c3","a4ea1f55-4f9e-4efa-ab32-343676b69593",
            "4ea3fcbe-665b-4c33-b8b6-1d593460153d","5858c342-2d79-4abe-91b4-d794c16b96d1","10e29d00-cb8e-45f1-b2b9-2db36601cf9a","fe01f22e-3783-4e27-8ae5-e2cd0cbcaf61","fe5eeda8-c467-4e01-bf14-1b72b6f538ca"
        ],
        "theme":"Carry your essentials in style with our collection of sleek and versatile backpacks, bags, and handbags.",
        "itemsThemeRelevanceScores":[
            0.5,0.477,0.45,0.43,0.427,0.413,0.39,0.361,0.335,0.33,0.211,0.195,0.183,0.14,0.111,0.11,0.106,0.1,0.092,0.071,0.063,0.062,0.006,-0.033,-0.044
        ]
    }
}
{
    "input":{
        "itemId":"1d3ae532-f790-44ca-a8e8-f55aa9b66526"
    },
    "output":{
        "recommendedItems":[
            "1a3fa9d4-e320-4873-be58-f3f6af5f99f4","0c47dade-1ec0-483a-9ab4-1b87604bdaf8","d2fe6937-111e-4bfe-acd7-1098af0af3ce","7834e768-8c84-4c0b-9372-6f65a3207a14","92caea3c-23c8-4bb0-8a4b-43372adafaae",
            "1ce4a083-d8cc-49c9-9708-9bc966f478f8","d9d3351f-1fdb-4ba7-b757-55f18a1a2dc0","53014964-755a-4cf6-9f6c-5c917773e3c9","94a0ad41-8b19-4ecb-b0d7-33704e2d4421","96596821-ee6c-43ef-849d-44a305d745ae",
            "8759b4e2-51cc-456f-a224-01a34d04db2b","b4523e99-2599-42de-9d09-c950370aba1a","d16df944-ea75-43c3-b54b-6738731c081b","564f9ced-8823-45ed-a781-1dc555353dd9","62942cf9-1e04-4862-9274-70f20df3eea1",
            "6928c229-e860-45f9-8720-45e2ea2fae2f","1bcb66c4-ee9d-4c0c-ba53-168cb243569f","41ac9770-6767-48e3-939d-db2e72668241","89728417-5269-403d-baa3-04b59cdffd0a","29cf2176-3ba3-4762-b537-66bc226a7766",
            "ab22df42-55a5-4180-b46d-5a55d77811e1","2f069176-5bab-43fd-a441-916f61843de0","641f3960-72a7-4e2b-be69-8a7539eb50bb","7fd05ca4-ac20-46cf-b4f8-87147eef8d65","63074efc-388e-4505-b984-5b25a4441299"
        ],
        "theme":"Carry your style with our chic backpacks and handbags!",
        "itemsThemeRelevanceScores":[
            0.357,0.355,0.338,0.338,0.334,0.332,0.329,0.314,0.297,0.276,0.208,0.151,0.09,0.089,0.071,0.07,0.059,0.057,0.026,0.018,-0.02,-0.023,-0.026,-0.037,-0.085
        ]
    }
}
{
    "input":{
        "itemId":"2e852905-c6f4-47db-802c-654013571922"
    },
    "output":{
        "recommendedItems":[
            "b535e4ad-3f3c-4b05-9715-9dc7077239de","3d882b22-847d-4d7f-9a74-3bd290db95c2","6579c22f-be2b-444c-a52b-0116dd82df6c","9f6d63f4-6fd0-4c31-89b6-fffd6aedcce2","5974943a-3e9d-4f94-92fa-012f55151d21",
            "7e06b209-80dc-493d-a8a8-e4e20ffbe63b","4545a6e0-fd36-4dd0-962f-f069c20041cb","7834e768-8c84-4c0b-9372-6f65a3207a14","82f4c1ca-b0dc-4e5a-9336-caff8bf63c05","9943c887-d454-420d-a39b-b4a81e2980b7",
            "d23b8ca9-cd3d-4e92-958c-922cfcd8fb29","8c36eff5-e299-49c0-8e91-5c72ed5fa605","ac099a60-9187-4d4f-97b4-6bdfb14ba521","1de0c711-042b-4b47-93d9-3a7d8d969ac6","b48717fa-76f0-4cd9-af37-81961de245a6",
            "6e6c3d03-f39a-4532-a876-e0c6973d8a27","813427bd-9011-462b-88d6-f0978f5cf8c3","1249276c-851a-4f46-81fb-873fd7d5f60f","d511fb3e-86bf-4bf9-a23a-a2ba30529b0e","89728417-5269-403d-baa3-04b59cdffd0a",
            "e0667c61-6f47-4481-a0a0-beaf734e477a","d06df410-174c-4ef7-abcd-478f206f335f","473d7251-7eaf-4b7a-9f87-ff6f7897d565","c16068f6-8f02-4d52-9680-bfe0c75e68ac","942c213e-5571-43a0-9234-90826047a8b1"
        ],
        "theme":"Travel bags",
        "itemsThemeRelevanceScores":[
            0.478,0.451,0.436,0.419,0.385,0.384,0.37,0.364,0.362,0.358,0.313,0.282,0.149,0.145,0.058,0.017,0.013,-0.003,-0.004,-0.014,-0.032,-0.035,-0.041,-0.146,-0.158
        ]
    }
}
{
    "input":{
        "itemId":"7977f680-2cf7-457d-8f4d-afa0aa168cb9"
    },
    "output":{
        "recommendedItems":[
            "a3ad25e8-c9c3-459a-a853-c26a0ad837eb","7250b108-96cc-45f7-b3f0-0e38d7277a8d","f6cd5dd2-d3ea-4858-844a-04879153e459","c6f84710-d744-462e-970a-9fdf9352f64b","1d3ae532-f790-44ca-a8e8-f55aa9b66526",
            "c07ba51e-48d5-4efb-bce7-95fd6243666a","e0b421f5-481e-4766-847d-474ee9228729","8c36eff5-e299-49c0-8e91-5c72ed5fa605","28c14c06-d947-44d0-96f8-dc2113845e4c","82f4c1ca-b0dc-4e5a-9336-caff8bf63c05",
            "924010e4-eaf2-4067-91dd-854ad41b593c","622eb4e4-4bb9-4099-bd1b-3d64b715a92e","161ff272-2e10-46ff-895a-83c52e3ce8ed","6b229d13-22a7-44d3-a13c-fd98dda49217","6eeada5d-0418-48f6-83bc-802d1b52e93c",
            "2f3f075b-66ff-475f-95e3-71b462f328c5","1249276c-851a-4f46-81fb-873fd7d5f60f","55b3f4ff-7a92-4ad7-bc1b-59c98c23c6d9","387f55e6-0eb9-47d6-9ef1-56a80b884430","f6a4deb4-3638-44e5-92c6-d0f980e5f5b8",
            "7d359a18-e81a-450b-beb1-db85aa699629","4994caee-f0b7-4ce8-a4df-d542ce1d9bda","8bc9e7d5-123c-46e4-a4f5-abeb79a77b3f","a9d6ceb2-92da-4523-af26-8df87ca7569f","26744e55-7e27-4192-be27-af96c812fd3e"
        ],
        "theme":"Backpacks and handbags",
        "itemsThemeRelevanceScores":[
            0.508,0.505,0.464,0.454,0.448,0.444,0.404,0.403,0.341,0.326,0.207,0.153,0.096,0.096,0.076,0.059,0.052,0.051,0.023,0.023,0.012,-0.035,-0.07,-0.081,-0.099
        ]
    }
}
{
    "input":{
        "itemId":"b5649d7c-4651-458d-a07f-912f253784ce"
    },
    "output":{
        "recommendedItems":[
            "3efb5bf2-b419-43b9-9b1f-78a6aa6fc2b7","e905caf8-8265-4dbd-9bf3-6c25dedfcc51","607ba878-0a8c-4330-ac83-8472886cfe2b","d52e376b-d958-4d52-ab6d-f7731c7adf22","16c829fc-6585-426d-a1cd-922266e20678",
            "7e06b209-80dc-493d-a8a8-e4e20ffbe63b","d0062fa5-02b3-4c94-be9f-2fdafa7cde2d","80b2666c-0003-4e2e-80a4-033c69b462dd","f6cd5dd2-d3ea-4858-844a-04879153e459","ae654958-7897-4115-8baf-b5059c20d72b",
            "3946f4c8-1b5b-4161-b794-70b33affb671","622eb4e4-4bb9-4099-bd1b-3d64b715a92e","8759b4e2-51cc-456f-a224-01a34d04db2b","0eceb1b4-30c6-4ce8-bd60-d4208ceb7acb","39d2d574-f973-4dbb-9c2c-8ae277a812db",
            "03685e08-6d30-4e4e-a85e-9e525894c9ea","0d76bb55-cd0f-4efb-afda-613b6c6e1fae","02c03513-b40d-44ec-b2d4-bb4d9421803a","fe5eeda8-c467-4e01-bf14-1b72b6f538ca","885f38a7-46dc-4a5d-aa24-39799a72377b",
            "0d6b29df-c5a6-4785-890a-e01bd433644b","0b4a89c6-821f-4420-88d5-afdbbce66545","cfe46492-c19b-4a3c-a022-540c49cc63bb","9ffda50b-e5a9-47ae-9d63-a0ab90f8cbac","31559f3a-2d38-4735-8110-db6d620b4fde"
        ],
        "theme":"Functional and fashionable bags for every occasion.",
        "itemsThemeRelevanceScores":[
            0.42,0.399,0.39,0.389,0.343,0.343,0.298,0.291,0.271,0.268,0.226,0.207,0.198,0.122,0.106,0.08,0.066,0.061,0.018,-0.015,-0.016,-0.025,-0.025,-0.088,-0.095
        ]
    }
}
{
    "input":{
        "itemId":"4ec7ff5c-f70f-4984-b6c4-c7ef37cc0c09"
    },
    "output":{
        "recommendedItems":[
            "977d3ee7-3a40-4043-8164-c7f66e384940","0485ddb0-0112-4a31-afe0-75f9ddf6e14f","c15d7a38-9df9-44ee-8733-6bda17f89e8c","f6cd5dd2-d3ea-4858-844a-04879153e459","00f54e56-4199-4102-ba91-5040f4e45236",
            "28c14c06-d947-44d0-96f8-dc2113845e4c","8759b4e2-51cc-456f-a224-01a34d04db2b","8074623f-8d17-4ef6-9ccd-33f1cba746d1","c1df3910-d085-48d3-8eb1-2225c6b81159","39d2d574-f973-4dbb-9c2c-8ae277a812db",
            "9fbbfe69-98f3-43a6-9a78-7d8ac254a777","c912eaa1-6c6c-4096-8194-ab220e1830c0","b6295ac1-d60b-42a6-b16b-ebb433562e18","9806dee6-9129-4fd3-9dbe-9883ffdf187b","2a372402-5ea1-42cb-b374-0f6c10200fcc",
            "7d82f4d2-d9b7-428f-b19c-f8e3c7d45d2f","4296626c-fbb0-42b4-9a50-b6c6c16095f3","6a90d0b3-930c-46c3-b093-f55c60eb27a2","36e1f150-3d83-4d3c-9855-8daf858d8e28","b5daf920-8f69-4603-9ccb-1d7f2b77656e",
            "b2d729d1-5aef-4dbf-bdf5-6d99c6e86e12","153f3cbd-3fe4-4e31-8989-61f0ad3ff144","b2f9ea63-f7d4-4944-84ce-208164326c8e","8bd4bfdd-eaa6-472c-9e8e-c29f85f4b9c5","942c213e-5571-43a0-9234-90826047a8b1"
        ],
        "theme":"Fashionable and functional backpacks, bags, and handbags.",
        "itemsThemeRelevanceScores":[
            0.514,0.477,0.477,0.433,0.374,0.353,0.282,0.262,0.206,0.206,0.201,0.168,0.105,0.099,0.072,0.029,0.017,0.017,0.014,0.002,-0.016,-0.018,-0.029,-0.058,-0.157
        ]
    }
}

レコメンドアイテムrecommendedItems、アイテム毎のスコアitemsThemeRelevanceScoresの他に、各アイテムベースレコメンド毎にthemeがきちんと生成されることが分かりました。

今回はBatch inferenceするアイテム名を上から順に選んでしまったので、同じようなthemeが生成されていますが、実際の活用でどうなるのか楽しみな機能だと感じました。

まとめ

いかがでしたでしょうか。今回はAmazon Personalizeのアップデートについて見ていきました。

本記事が、今後Amazon Personalizeを活用されようとする方の一助となれば幸いです。