

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# リアルタイムのアクションインタラクションイベントの記録
<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)に新しいデータを追加します。

アクションインタラクションイベントには、次のいずれかのイベントタイプ属性が必要です。
+ 実行済み - ユーザーが推奨されるアクションを実行したときの実行済みイベントを記録します。**
+ 未実行 - ユーザーが閲覧後にアクションを実行しないという意図的な選択をした場合に、未実行イベントを記録します。**例えば、ユーザーに対してアクションを表示したときに、ユーザーが*いいえ*を選択した場合です。未実行イベントは、お客様がそのアクションに興味がないことを示している可能性があります。**
+ 閲覧済み - ユーザーがアクションを実行するかしないかの選択をする前にアクションを示したときに、閲覧済みイベントを記録します。**Amazon Personalize は、閲覧イベントを使用してユーザーの関心を学習します。**例えば、ユーザーが表示されたアクションを実行しなかった場合、このユーザーは今後、このアクションに興味を持たなくなる可能性があります。

 リアルタイムイベントは、 AWS SDKsまたは AWS Command Line Interface () を使用して記録できますAWS CLI。まったく同じタイムスタンプとプロパティを持つ 2 つのイベントを記録した場合、Amazon Personalize はどちらかのイベントのみを保持します。

**Topics**
+ [アクションインタラクションイベントを記録するための要件](#recording-action-interaction-requirements)
+ [アクションインタラクションイベントトラッカーの ID を検索する](action-interaction-tracker-id.md)
+ [1 つのアクションインタラクションイベントの記録](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。この ID は PutActionInteractions オペレーションで指定します。アクションインタラクションデータセットを作成すると、Amazon Personalize は自動的にアクションインタラクションイベントトラッカーを作成します。詳細については、「[アクションインタラクションイベントトラッカーの ID を検索する](action-interaction-tracker-id.md)」を参照してください。
+ [PutActionInteractions](API_UBS_PutActionInteractions.md) オペレーションの呼び出し。

# アクションインタラクションイベントトラッカーの ID を検索する
<a name="action-interaction-tracker-id"></a>

アクションインタラクションデータセットを作成すると、Amazon Personalize は自動的にアクションインタラクションイベントトラッカーを作成します。**トラッカーの ID は PutActionInteractions API オペレーションで指定します。Amazon Personalize は、これを使用して、データセットグループのアクションインタラクションデータセットに新しいデータを送信します。**

 イベントトラッカーの ID は、Amazon Personalize コンソールのアクションインタラクションデータセットの詳細ページで確認できます。また、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'])
```

# 1 つのアクションインタラクションイベントの記録
<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` を使用する必要があります。Amazon 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'
  }]
)
```

------