기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
실시간 추천의 항목 홍보
모든 도메인 사용 사례와 일부 사용자 지정 레시피를 사용하여 실시간 추천을 받을 때 홍보를 지정할 수 있습니다.
홍보는 추천 항목의 구성 가능한 하위 집합에 적용되는 추가 비즈니스 규칙을 정의합니다. 예를 들어 스트리밍 앱이 있는데 자체 프로그램과 영화를 홍보하면서 관련 타이틀도 추천하고 싶을 수 있습니다. 홍보를 통해 특정 비율의 추천 항목이 사내 카테고리에 속하도록 지정할 수 있습니다. 나머지 추천 항목은 레시피와 요청 필터를 기반으로 한 관련 추천 항목으로 계속 제공될 것입니다.
홍보를 적용하려면 추천 요청에 다음을 지정합니다.
-
홍보 필터를 적용할 추천 항목의 비율.
-
홍보 기준을 지정하는 필터. 자세한 내용은 홍보 필터단원을 참조하세요.
추천 응답에서 홍보 대상 항목은 다른 추천 항목을 기준으로 무작위로 배치되지만 다른 홍보 대상 항목을 기준으로 정렬된 순서로 배치됩니다. 레시피에 따라 홍보에 포함되지 않은 추천 항목은 사용자와의 관련성, 인기도 또는 유사도를 기준으로 정렬됩니다. 홍보 기준을 충족하는 항목이 충분하지 않은 경우, 결과에는 최대한 많은 홍보 대상 항목이 포함될 것입니다.
Personalize 콘솔, AWS Command Line Interface (AWS CLI) 또는 AWS SDKs.
홍보를 지원하는 사용 사례 및 레시피
모든 사용 사례는 홍보를 지원합니다. 홍보를 지원하는 사용자 지정 레시피는 다음과 같습니다.
홍보 필터
추천 요청에 홍보를 적용할 때는 홍보 기준을 지정하는 필터를 선택합니다. 기존 데이터세트를 사용하거나 데이터세트를 새로 만들어도 됩니다. 홍보용 필터도 Personalize의 다른 필터와 마찬가지로 생성하고 관리합니다. 필터를 생성하고 관리하는 방법에 대한 자세한 내용은 결과 필터링단원을 참조하세요.
홍보 필터와 홍보 외부에서 선택하는 필터(요청 필터) 간의 유일한 차이점은 Personalize가 이들 필터를 적용하는 방식입니다. 홍보 필터는 홍보 대상 항목에만 적용되고, 요청 필터는 나머지 추천 아이템에만 적용됩니다. 요청 필터와 홍보 필터를 지정하고 홍보 대상 항목에 두 필터를 모두 적용하려는 경우 홍보 필터의 표현식에 두 표현식이 모두 포함되어야 합니다. 두 표현식을 결합하는 방법은 사용하는 데이터세트에 따라 달라집니다. 필터 표현식, 규칙, 생성 방법에 대한 자세한 내용은 필터 표현식단원을 참조하세요.
필터 표현식 예제
다음 표현식에는 "사내"범주의 항목만 포함됩니다. 추천에서 자체 콘텐츠를 홍보하려는 경우 이 표현식을 사용할 수 있습니다.
INCLUDE ItemID WHERE Items.OWNER IN ("in-house")
다음 표현식에는 지정한 타임스탬프보다 최근에 생성된 항목만 포함됩니다. 이 표현식을 사용하여 추천에서 새 항목을 홍보할 수도 있습니다.
INCLUDE ItemID WHERE Items.CREATION_TIMESTAMP > $DATE
다음 표현식은 홍보 대상 항목에 요청 필터를 적용하는 방법을 보여줍니다. 여기에는 홍보 대상 항목으로 사용 가능한 의류 품목만 포함됩니다. 이 시나리오에서는 요청 필터 표현식에도 Items.AVAILABLE IN ("True")
이 사용되므로 모든 추천은 사용 가능한 항목에 적용됩니다.
INCLUDE ItemID WHERE Items.CATEGORY IN ("clothing") AND Items.AVAILABLE IN ("True")
전체 필터 목록 예제를 더 살펴보려면 필터 표현식 예제단원을 참조하세요.
새 항목 홍보
User-Personalization-v2 레시피를 사용하는 경우 Amazon Personalize는 사용자에게 가장 관련성이 높은 항목을 추천하고 상호작용 데이터가 있는 기존 항목을 더 자주 추천합니다. 추천에 일부 새 항목이 포함되도록 하려면 생성 타임스탬프를 기반으로 항목이 포함된 추천 요청에 프로모션을 적용할 수 있습니다.
프로모션을 아직 사용하지 않은 경우 필터 표현식은 특정 날짜 이후에 생성된 항목을 프로모션할 수 있습니다.
INCLUDE ItemID WHERE Items.CREATION_TIMESTAMP > $DATE
이미 프로모션을 사용하는 경우 프로모션과 새 항목 조건 문을 모두 연결하는 표현식을 생성합니다.
INCLUDE ItemID WHERE Items.CATEGORY IN ("clothing") OR Items.CREATION_TIMESTAMP > $DATE
항목 홍보(콘솔)
Personalize 콘솔을 사용하여 추천의 특정 항목을 홍보하려면 필터를 생성한 다음 추천 요청에 홍보 세부 정보를 제공합니다. 다른 필드에 대한 자세한 내용은 항목 추천 받기(콘솔)단원을 참조하세요.
추천의 항목을 홍보하려면
-
https://console.aws.amazon.com/acm-pca/home
에서 Personalize 콘솔을 열고 계정에 로그인합니다. -
사용 중인 캠페인 또는 추천자가 포함된 데이터세트 그룹을 선택합니다.
-
아직 만들지 않았다면 홍보 기준을 지정하는 필터를 만듭니다. 요청 필터를 생성하는 것과 동일한 방식으로 홍보용 필터를 생성합니다. 필터를 생성하고 관리하는 방법에 대한 자세한 내용은 결과 필터링단원을 참조하세요.
-
탐색 창에서 추천자나 캠페인을 선택합니다.
-
대상 캠페인 또는 추천자를 선택합니다.
-
캠페인의 경우 캠페인 결과 테스트에서, 사용한 레시피를 기반으로 추천 요청 세부 정보를 입력합니다. 추천자의 경우 추천자 테스트를 선택하고 추천 요청 세부 정보를 입력합니다.
-
(선택 사항) 요청에 사용할 필터를 선택합니다. 이 필터는 비 홍보 대상 항목에만 적용됩니다. 필터를 생성하고 관리하는 방법에 대한 자세한 내용은 결과 필터링단원을 참조하세요.
-
컨텍스트 메타데이터를 사용하는 경우 각 컨텍스트에 대한 데이터를 제공합니다. 각 컨텍스트에 대해 키에 메타데이터 필드를 입력합니다. 값에 컨텍스트 데이터를 입력합니다. 자세한 내용은 컨텍스트 메타데이터로 추천 관련성 높이기단원을 참조하세요.
-
홍보에 다음을 지정합니다.
-
홍보 대상 항목 비율: 홍보를 적용할 추천 아이템의 비율을 입력합니다.
-
필터: 홍보 기준을 지정하는 필터를 선택합니다. 이 필터는 7단계에서 지정한 요청 필터 대신 홍보 대상 항목에 적용됩니다.
-
필터 파라미터: 홍보에서 자리 표시자 파라미터가 포함된 필터를 사용하는 경우 각 파라미터에 대해 값을 입력하여 필터 기준을 설정합니다. 한 파라미터에 여러 값을 사용하려면 각 값을 쉼표로 구분합니다.
-
-
추천 받기를 선택합니다. 사용자의 상위 25개 추천 항목이 포함된 표가 표시됩니다. 홍보 대상 항목 열에는 홍보 때문에 해당 항목이 포함되었는지 여부가 표시됩니다. 홍보 대상 항목은 다른 추천 항목을 기준으로 무작위로 배치되지만 다른 홍보 대상 항목을 기준으로 정렬된 순서로 배치됩니다. 사용 사례 또는 레시피에 따라 홍보에 포함되지 않은 추천 항목은 사용자와의 관련성, 인기도 또는 유사성을 기준으로 정렬됩니다. 홍보 기준을 충족하는 항목이 충분하지 않은 경우, 결과에는 최대한 많은 홍보 대상 항목이 포함될 것입니다.
항목 홍보(AWS CLI)
다음 코드는 AWS CLI 및 사용자 지정 캠페인을 사용하여 추천에서 항목을 승격하는 방법을 보여줍니다. 추천자를 사용하여 항목을 홍보하려면 campaign-arn
파라미터를 recommender-arn
로 바꾸고 추천자의 Amazon 리소스 이름(ARN)을 지정합니다. 홍보 필드에 다음을 지정합니다.
-
이름: 홍보 이름을 지정합니다. 추천 응답은 이름을 사용하여 홍보 대상 항목을 식별합니다.
-
홍보 대상-항목-비율: 홍보를 적용할 추천 항목의 비율입니다. 이 예제에서는 항목의 50%가 홍보 대상 항목이 됩니다.
-
filterArn: 홍보 기준을 정의하는 필터의 Amazon 리소스 이름(ARN)을 지정합니다. 자세한 내용은 홍보 필터단원을 참조하세요.
-
파라미터 이름 및 값: 필터 표현식에 파라미터가 있는 경우 파라미터 이름(대소문자 구분)과 값을 제공합니다. 예를 들어 필터 표현식에
$GENRE
파라미터가 있는 경우 GENRE를 키로 입력하고 장르(예: 코미디)를 값으로 입력합니다. 값이 여러 개인 경우 쉼표로 구분합니다. 를 사용할 때 각 값에 AWS CLI대해/
문자를 사용하여 따옴표와/
문자를 모두 이스케이프 처리해야 합니다. 다음 코드 예제는 값의 형식을 지정하는 방법을 보여줍니다.
코드는 요청 필터와 홍보 필터를 모두 사용하는 방법을 보여줍니다. 홍보 필터는 홍보 대상 항목에만 적용되고, 요청 필터는 나머지 추천 아이템에만 적용됩니다. 자세한 내용은 홍보 필터단원을 참조하세요.
추가 필드에 대한 자세한 내용은 항목 권장 사항(AWS SDKs) 가져오기및 상황별 메타데이터를 사용하여 개인 맞춤형 순위 받기단원을 참조하세요.
aws personalize-runtime get-recommendations \ --campaign-arn
CampaignArn
\ --user-id1
\ --num-results10
\ --filter-arnRequestFilterArn
\ --filter-values '{ "RequestFilterParameterName
": "\"value
\"", "RequestFilterParameterName
": "\"value1
\",\"value2
\",\"value3
\"" }' \ --promotions "[{ \"name\": \"promotionName
\", \"percentPromotedItems\":50
, \"filterArn\": \"PromotionFilterARN
\", \"filterValues\": {\"PromotionParameterName
\":\"\\\"value1
,value2
\\\"\"} }]"
추천 항목 목록이 표시됩니다. 홍보 대상 항목은 다른 추천 항목을 기준으로 무작위로 배치되지만 다른 홍보 대상 항목을 기준으로 정렬된 순서로 배치됩니다. 레시피에 따라 홍보에 포함되지 않은 추천 항목은 사용자와의 관련성, 인기도 또는 유사도를 기준으로 정렬됩니다. 홍보 기준을 충족하는 항목이 충분하지 않은 경우, 결과에는 최대한 많은 홍보 대상 항목이 포함될 것입니다.
{
"itemList": [
{
"itemId1": "123",
"score": .0117211,
"promotionName": "promotionName"
},
{
"itemId2": "456",
"score": .0077976
},
{
"itemId3": "789",
"score": .0067171
},
.....
]
항목 승격(AWS SDKs)
다음 코드는 Python용 SDK(Boto3) 및 Java 2.x용 SDK와 사용자 지정 캠페인을 사용하여 추천의 항목을 홍보하는 방법을 보여줍니다. 추천을 사용하여 항목을 홍보하려면 campaignArn
파라미터를 recommenderArn
로 대체하고 추천자의 Amazon 리소스 이름(ARN)을 지정합니다. 홍보 필드에 다음을 지정합니다.
-
이름: 홍보 이름을 지정합니다. 추천 응답에는 홍보 대상 항목을 식별할 수 있는 이름이 포함됩니다.
-
percentPromotedItems: 항목을 적용할 홍보 대상 항목의 비율입니다.
-
promotionFilterARN: 홍보 기준을 정의하는 필터의 Amazon 리소스 이름(ARN)입니다. 자세한 내용은 홍보 필터단원을 참조하세요.
-
모든 파라미터 이름 및 값: 필터 표현식에 파라미터가 있는 경우 필터 표현식의 각 파라미터에 대해 파라미터 이름(대소문자 구분)과 값을 제공합니다. 예를 들어 필터 표현식에
$GENRE
파라미터가 있는 경우"GENRE"
를 키로 제공하고 장르(예: "\"Comedy"\")를 값으로 제공합니다. 값이 여러 개인 경우 쉼표로 구분합니다. 예:"\"comedy\",\"drama\",\"horror"\"
.
다음 코드는 요청 필터와 홍보 필터를 모두 사용하는 방법을 보여줍니다. 홍보 필터는 홍보 대상 항목에만 적용되고, 요청 필터는 나머지 추천 아이템에만 적용됩니다. 자세한 내용은 홍보 필터단원을 참조하세요.
추가 필드에 대한 자세한 내용은 항목 권장 사항(AWS SDKs) 가져오기및 상황별 메타데이터를 사용하여 개인 맞춤형 순위 받기단원을 참조하세요.
import boto3
personalizeRt = boto3.client('personalize-runtime')
response = personalizeRt.get_recommendations(
campaignArn = "CampaignARN
",
userId = '1
',
numResults = 10
,
filterArn = 'RequestFilterARN
',
filterValues = {
"RequestFilterParameterName
": "\"value1\"",
"RequestFilterParameterName
": "\"value1\",\"value2\",\"value3\""
....
},
promotions = [{
"name" : "promotionName
",
"percentPromotedItems" : 50
,
"filterArn": "promotionFilterARN
",
"filterValues": {
"PromotionParameterName
": "\"Value1
\",\"Value2
\""
...
}
}]
)
print("Recommended items")
for item in response['itemList']:
print (item['itemId'])
if ("promotionName" in item):
print(item['promotionName'])
추천 항목 목록이 표시됩니다. 홍보 대상 항목은 다른 추천 항목을 기준으로 무작위로 배치되지만 다른 홍보 대상 항목을 기준으로 정렬된 순서로 배치됩니다. 레시피에 따라 홍보에 포함되지 않은 추천 항목은 사용자와의 관련성, 인기도 또는 유사도를 기준으로 정렬됩니다. 홍보 기준을 충족하는 항목이 충분하지 않은 경우, 결과에는 최대한 많은 홍보 대상 항목이 포함될 것입니다.
{
"itemList": [
{
"itemId1": "123",
"score": .0117211,
"promotionName": "promotionName"
},
{
"itemId2": "456",
"score": .0077976
},
{
"itemId3": "789",
"score": .0067171
},
.....
]