

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 실시간 작업 상호 작용 이벤트 기록
<a name="recording-action-interaction-events"></a>

*작업 상호 작용* 이벤트는 사용자와 *작업* 간의 상호 작용입니다. 멤버십 프로그램에 등록하거나 신용카드를 신청하는 사용자를 예로 들 수 있습니다.

PERSONALIZED\$1ACTIONS 사용자 지정 레시피를 사용하는 경우 고객이 작업 추천에 반응할 때 실시간 작업 상호 작용 이벤트를 기록하세요. 이렇게 하면 상호 작용 데이터가 쌓이고 데이터를 최신으로 유지할 수 있습니다. 또한 Amazon Personalize에 사용자의 현재 관심사를 알려주므로, 추천 관련성을 높일 수 있습니다. PERSONALIZED\$1ACTIONS 사용자 지정 레시피만 작업 상호 작용 데이터를 사용합니다.

[PutActionInteractions](API_UBS_PutActionInteractions.md) API 작업을 사용하여 작업 상호 작용 이벤트를 기록합니다. Amazon Personalize는 이 데이터를 데이터 세트 그룹의 [작업 상호 작용 데이터 세트](action-interactions-datasets.md)에 추가합니다.

작업 상호 작용 이벤트에는 이벤트 유형 속성이 있어야 하며, 이벤트 유형 속성은 다음 중 하나일 수 있습니다.
+ Taken – 사용자가 추천 작업을 실행할 때 *Taken* 이벤트가 기록됩니다.
+ Not Taken – 사용자가 작업을 본 후 작업을 실행하지 않기로 의도적으로 선택한 경우 *Not Taken* 이벤트가 기록됩니다. 작업을 보여줄 때 *아니요*를 선택하는 경우를 예로 들 수 있습니다. *Not Taken* 이벤트는 고객이 해당 작업에 관심이 없음을 의미할 수 있습니다.
+ Viewed – 작업을 수행할지 여부를 결정하기 전에 사용자에게 작업을 보여주면 *Viewed* 이벤트가 기록됩니다. Amazon Personalize는 *View* 이벤트를 통해 사용자의 관심도를 파악합니다. 예를 들어, 사용자가 작업을 보고 실행하지 않는 경우 이 사용자는 앞으로 해당 작업에 관심이 없을 수 있습니다.

 AWS SDKs AWS CLI. AWS Command Line Interface 타임스탬프와 속성이 정확히 동일한 두 이벤트를 기록할 경우 Personalize는 이벤트 중 하나만 보관합니다.

**Topics**
+ [작업 상호 작용 이벤트를 기록하기 위한 요구 사항](#recording-action-interaction-requirements)
+ [작업 상호 작용 이벤트 트래커 ID 찾기](action-interaction-tracker-id.md)
+ [단일 작업 상호 작용 이벤트 기록](record-single-action-interaction.md)
+ [여러 작업 상호 작용 이벤트 기록](recording-multiple-action-interactions.md)

## 작업 상호 작용 이벤트를 기록하기 위한 요구 사항
<a name="recording-action-interaction-requirements"></a>

실시간 작업 상호 작용 이벤트를 기록하려면 다음이 필요합니다.
+ `Action interactions dataset`를 포함하는 데이터 세트 그룹(비워 둘 수 있음). 데이터세트 그룹 및 데이터세트 생성에 대한 자세한 내용은 [Amazon Personalize 데이터세트로 학습 데이터 가져오기](import-data.md)단원을 참조하세요.
+ 이벤트 트래커의 ID. PutActionInteractions 작업에서 이 ID를 지정합니다. 작업 상호 작용 데이터 세트를 생성하면 Amazon Personalize가 자동으로 작업 상호 작용 이벤트 트래커를 생성합니다. 자세한 내용은 [작업 상호 작용 이벤트 트래커 ID 찾기](action-interaction-tracker-id.md) 단원을 참조하십시오.
+ [PutActionInteractions](API_UBS_PutActionInteractions.md) 작업에 대한 호출.

# 작업 상호 작용 이벤트 트래커 ID 찾기
<a name="action-interaction-tracker-id"></a>

작업 상호 작용 데이터 세트를 생성하면 Amazon Personalize가 자동으로 *작업 상호 작용* 이벤트 트래커를 생성합니다. PutActionInteractions API 작업에서 트래커의 ID를 지정합니다. Amazon Personalize는 이를 사용하여 새 데이터를 데이터 세트 그룹의 *작업 상호 작용 데이터 세트*로 전달합니다.

 Amazon Personalize 콘솔에 있는 작업 상호 작용 데이터 세트의 세부 정보 페이지에서 이벤트 트래커의 ID를 찾을 수 있습니다. 그리고 DescribeDataset API 작업을 호출하여 ID를 찾을 수 있습니다. 다음 Python 코드는 작업 상호 작용 데이터세트의 추적 ID를 출력합니다.

```
import boto3
      
personalize = boto3.client(service_name='personalize')

response = personalize.describe_dataset(
  datasetArn="Action interactions dataset ARN"
)

print(response['trackingId'])
```

# 단일 작업 상호 작용 이벤트 기록
<a name="record-single-action-interaction"></a>

작업 상호 작용 데이터 세트를 만들었으면 [PutActionInteractions](API_UBS_PutActionInteractions.md) 작업과 함께 작업 상호 작용 이벤트를 기록할 준비가 된 것입니다. 다음 코드는 하나의 TAKEN 이벤트를 전달하는 `PutActionInteractions` 작업을 보여줍니다. Amazon Personalize의 사용자 추천을 보여주고 사용자가 신용카드 신청과 같은 작업를 행하면, 이 이벤트를 기록할 수 있습니다.

`actionInteractions`는 ActionInteraction 객체의 배열입니다. `trackingId`는 작업 상호 작용 데이터 세트를 생성할 때 Amazon Personalize가 생성한 이벤트 트래커에서 가져옵니다. 자세한 내용은 [작업 상호 작용 이벤트 트래커 ID 찾기](action-interaction-tracker-id.md) 단원을 참조하십시오.

애플리케이션은 사용자가 웹 사이트를 처음 방문하거나 애플리케이션을 사용할 때 고유한 `sessionId`을 생성합니다. 세션 전체의 모든 이벤트에서 동일한 `sessionId`을 사용해야 합니다. Personalize는 사용자가 로그인하기 전에 `sessionId`를 사용하여 이벤트를 사용자와 연결합니다(익명 처리). 자세한 내용은 [익명 사용자를 위한 이벤트 기록](recording-events.md#recording-anonymous-user-events) 단원을 참조하십시오.

`userId`, `actionId`, `sentAt` 파라미터는 작업 상호 작용 데이터 세트의 USER\$1ID, ACTION\$1ID, EVENT\$1TYPE, TIMESTAMP 필드에 매핑됩니다.

**해당 작업 상호 작용 데이터 세트**

```
USER_ID, ACTION_ID, TIMESTAMP, EVENT_TYPE
user123, action-xyz, 1543631760, TAKEN
```

**코드 예제**

------
#### [ AWS CLI ]

```
aws personalize-events put-action-interactions \
--tracking-id 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--action-interactions '[{
  "userId": "user123",
  "sessionId": "abcdefg",
  "timestamp": 1543631760,
  "eventType": "TAKEN",
  "actionId": "action-xyz"}]'
```

------
#### [ SDK for Python (Boto3) ]

```
import boto3

personalize_events = boto3.client(service_name='personalize-events')

response = personalize_events.put_action_interactions(
  trackingId='12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
  actionInteractions=[{
    'userId': 'user123',
    'sessionId': 'abcdefg',
    'timestamp': 1543631760,
    'eventType': 'Taken',
    'actionId': 'action-xyz'
  }]
)
```

------

# 여러 작업 상호 작용 이벤트 기록
<a name="recording-multiple-action-interactions"></a>

다음 코드는 동일한 sessionId를 가진 같은 사용자에 대한 여러 작업 상호 작용 이벤트를 기록하는 방법을 보여줍니다.

**해당 작업 상호 작용 데이터 세트**

```
USER_ID, ACTION_ID, EVENT_TYPE, TIMESTAMP
user123, action123, Taken, 1543531139
user123, action345, Not Taken, 1543531139
```

------
#### [ AWS CLI ]

```
aws personalize-events put-action-interactions \
--tracking-id 6ddfe6b7-cd83-4dd4-b09d-4c35ecbacfe1 \
--action-interactions '[{
  "userId": "user123",
  "sessionId": "abcdefg",
  "timestamp": 1543531139,
  "eventType": "Taken",
  "actionId": "action123"
},
{
  "userId": "user123",
  "sessionId": "abcdefg",
  "timestamp": 1543531139,
  "eventType": "Not Taken",
  "actionId": "action345"}]'
```

------
#### [ SDK for Python (Boto3) ]

```
import boto3

personalize_events = boto3.client(service_name='personalize-events')

response = personalize_events.put_action_interactions(
  trackingId='12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
  actionInteractions=[{
    'userId': 'user123',
    'sessionId': 'abcdefg',
    'timestamp': 1697848587,
    'eventType': 'Taken',
    'actionId': 'action123'
  },
  {
    'userId': 'user123',
    'sessionId': 'abcdefg',
    'timestamp': 1697848622,
    'eventType': 'Not Taken',
    'actionId': 'action345'
  }]
)
```

------