1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Personalize活用術:有効期限付きアイテムを自動で除外する方法

Last updated at Posted at 2025-02-02

近年、ECサイトをはじめとした多くのサービスで、ユーザーの行動に基づいたレコメンド機能が活用されています。しかし、期間限定のアイテムや年齢制限のあるアイテムなど、特定の条件下ではレコメンド対象から除外する必要があるケースも少なくありません。
本記事では、AWSのレコメンデーションサービスであるAWS Personalizeを使用し、こうした制限付きアイテムを除外するフィルタ設定の方法について解説します。

Personalizeのフィルタ設定

前提

  • AWS Personalizeのレコメンダーまで構築が完了しているものとさせていただきます。
  • 今回は、VIDEO_ON_DEMAND ドメインを用いたデータセットで実施しております。
  • Interactions/User/Itemのスキーマは下記になります。

【Interactionsのスキーマ】

{
	"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"
}

【Userのスキーマ】

{
	"type": "record",
	"name": "Users",
	"namespace": "com.amazonaws.personalize.schema",
	"fields": [
		{
			"name": "USER_ID",
			"type": "string"
		},
		{
			"name": "AGE",
			"type": "long"
		}
	],
	"version": "1.0"
}

【Itemのスキーマ】

{
	"type": "record",
	"name": "Items",
	"namespace": "com.amazonaws.personalize.schema",
	"fields": [
		{
			"name": "ITEM_ID",
			"type": "string"
		},
		{
			"name": "GENRES",
			"type": "string",
			"categorical": true
		},
		{
			"name": "CREATION_TIMESTAMP",
			"type": "long"
		},
		{
			"name": "EXPIRATION_DATE",
			"type": "long"
		}
	],
	"version": "1.0"
}

フィルタ設定

今回はItemの「EXPIRATION_DATE(有効期限)」が現在時刻よりも古いアイテムを除外するフィルタを設定します。
実際にフィルタを設定した画面が下記となり、Items.EXPIRATION_DATEが現在時刻($current_time)を下回っていれば、除外する(EXCLUDE)としています。

image.png

実行結果

フィルタ適用前は、レコメンドされた25個のアイテムのうち12個が有効期限切れのアイテムでした。
しかし、フィルタを適用したことで、すべてのレコメンドが有効期限内のアイテムに限定され、不要なアイテム表示されることはなくなりました。

フィルタ適用前 フィルタ適用後
有効期限切れアイテムの数 12個 0個

結論

フィルタを適用することで、有効期限切れのアイテムを完全に除外することができました。フィルタの活用は、レコメンドの精度向上に直結します。提供するアイテムやユーザーのニーズに応じて適切にフィルタを設定し、より最適なレコメンド体験を実現していきましょう!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?