

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 準備要訓練的動作中繼資料
<a name="actions-datasets"></a>

 *動作*是您可能想要向使用者建議的參與或產生收入的活動。動作可能包括安裝您的行動應用程式、完成成員資格設定檔、加入您的忠誠度計劃，或註冊促銷電子郵件。您可以將動作的資料匯入 Amazon Personalize *Actions 資料集*。動作的資料範例包括動作的唯一 ID、動作的預估值或動作的過期時間戳記。

如果您使用 [Next-Best-Action](native-recipe-next-best-action.md)，則必須匯入動作中繼資料。在此配方中，Amazon Personalize 會從您匯入動作資料集的動作預測下一個最佳動作。沒有其他配方或使用案例使用動作中繼資料。您無法在網域資料集群組中建立動作資料集。

 訓練時，Amazon Personalize 不會使用非分類字串動作資料，例如動作標題或標籤。不過，匯入此資料仍然可以增強建議。如需詳細資訊，請參閱[非分類字串資料](#action-string-data)。

您的大量動作資料必須位於 CSV 檔案中。檔案中的每一列都應該代表唯一的動作。完成資料準備後，您就可以建立結構描述 JSON 檔案。此檔案會告知 Amazon Personalize 您資料的結構。如需詳細資訊，請參閱[為 Amazon Personalize 結構描述建立結構描述 JSON 檔案](how-it-works-dataset-schema.md)。

下列各節提供如何為 Amazon Personalize 準備動作中繼資料的詳細資訊。如需所有資料類型的大量資料格式準則，請參閱[大量資料格式準則](preparing-training-data.md#general-formatting-guidelines)

**Topics**
+ [動作資料需求](#action-data-requirements)
+ [動作過期時間戳記資料](#action-expiration-timestamp-data)
+ [重複頻率資料](#action-repeat-frequency)
+ [值資料](#action-value-data)
+ [建立時間戳記資料](#action-creation-timestamp-data)
+ [分類中繼資料](#action-categorical-data)
+ [非分類字串資料](#action-string-data)
+ [動作中繼資料範例](#actions-data-example)

## 動作資料需求
<a name="action-data-requirements"></a>

 以下是 Amazon Personalize 的動作資料需求。
+ 您必須有一個 ACTION\$1ID 資料欄，該資料欄會儲存每個動作的唯一識別符。每個動作都必須有項目 ID。它必須是長度`string`上限為 256 個字元的 。
+ 您的資料必須至少有一個分類字串或數值中繼資料欄。動作中繼資料資料欄可以包含空值/空值。我們建議這些資料欄至少完成 70%。
+ 在模型訓練期間，Amazon Personalize 會考慮最多 1000 個動作。如果您匯入超過 1000 個動作，Amazon Personalize 會決定要在訓練中包含哪些動作，並優先考慮新動作 （您最近新增但沒有互動的動作），以及具有最近互動資料的現有動作。
+ 欄數上限為 10。

## 動作過期時間戳記資料
<a name="action-expiration-timestamp-data"></a>

 動作過期時間戳記會指定動作不再有效的日期。您可以提供 Unix epoch 時間格式的動作過期時間戳記資料，以秒為單位。如果動作已過期，Amazon Personalize 不會將其包含在建議中。

 如果您想要將建議中的外觀限制為特定時間範圍，請為您的動作指定動作過期時間戳記。例如，您可能有一個應用程式正在執行特定月份的成員資格磁碟機。您可以為該月底的*註冊*動作設定過期時間戳記。達到此日期時，Amazon Personalize 會自動停止建議此動作。

 如果您將新動作的過期時間戳記設定為過去的時間，或者您將動作時間戳記更新為過去的時間，則從建議中移除動作最多可能需要 2 小時。

## 重複頻率資料
<a name="action-repeat-frequency"></a>

 重複頻率資料會根據使用者在動作互動資料集中的歷史記錄，指定 Amazon Personalize 在使用者與其互動後應等待多少天才建議特定動作。您指定動作的重複頻率，以天為單位，上限為 30。

例如，您可能有一個電子商務應用程式，其中每個使用者都會建立帳戶和設定檔。如果您有`complete profile`動作，而且想要在使用者與其互動後等待一週，然後再建議它，您可以指定 7 天做為動作的 `REPEAT_FREQENCY`。7 天後，Amazon Personalize 會開始考慮建議的動作。

 如果您未提供動作的重複頻率，Amazon Personalize 不會對建議中顯示的次數設定任何限制。

## 值資料
<a name="action-value-data"></a>

 值資料是每個動作的商業價值或重要性。動作`value`可以是 1 – 10，其中 10 是資料集中最有價值的動作。

 例如，您可能有兩個動作，一個用於註冊基本訂閱，另一個用於註冊您的高級服務。對於基本服務，您可以指定 值`5`，而對於高級，指定 值`10`。

 Amazon Personalize 會在決定要建議使用者的最佳動作時，使用值資料做為一個輸入。例如，如果使用者同樣可能採取一個動作，Amazon Personalize 會將建議中值較高的動作進行排名。

## 建立時間戳記資料
<a name="action-creation-timestamp-data"></a>

Amazon Personalize 使用建立時間戳記資料 （以秒為單位，以 Unix epoch 時間格式） 來計算動作的存留期，並相應地調整建議。

如果您沒有建立時間戳記資料，Amazon Personalize 會從任何動作互動資料推斷此資訊。它使用動作最舊互動資料的時間戳記作為動作的建立時間戳記。如果動作沒有互動資料，其建立時間戳記會設定為訓練集中最新互動的時間戳記，而 Amazon Personalize 會將其視為新動作。

## 分類中繼資料
<a name="action-categorical-data"></a>

 Amazon Personalize 在識別可為您的使用者顯示最佳動作的基礎模式時，會使用有關動作的分類中繼資料，例如季節性或動作排他性。您可以根據使用案例定義自己的值範圍。分類中繼資料可以是任何語言。

 您可以匯入分類資料，並根據動作的屬性來篩選建議。如需篩選建議的相關資訊，請參閱 [篩選建議和使用者客群](filter.md)。

分類值最多可有 1000 個字元。如果您有具有超過 1000 個字元分類值的動作，資料集匯入任務將會失敗。

## 非分類字串資料
<a name="action-string-data"></a>

 除了動作 IDs 之外，Amazon Personalize 不會在訓練時使用非分類字串資料，例如動作的名稱、有關動作的關鍵字或標籤。不過，Amazon Personalize 可以在篩選建議時使用它。您可以建立篩選條件，以根據非分類字串資料從建議中包含或移除動作。如需篩選條件的詳細資訊，請參閱[篩選建議和使用者客群](filter.md)。非分類值最多可有 1000 個字元。

## 動作中繼資料範例
<a name="actions-data-example"></a>

CSV 檔案中的前幾行動作中繼資料可能如下所示。

```
ACTION_ID,VALUE,MEMBERSHIP_LEVEL,CREATION_TIMESTAMP,REPEAT_FREQUENCY
1,10,Deluxe|Premium,1510003267,7
2,5,Basic,1580003267,7
3,5,Preview,1590003267,3
4,10,Deluxe|Platinum,1560003267,4
...
...
```

`ACTION_ID` 欄是必填欄。資料`MEMBERSHIP_LEVEL`欄是分類字串欄位。`VALUE`、 `CREATION_TIMESTAMP`和 `REPEAT_FREQUENCY` 欄位是具有必要類型的預留關鍵字。

 完成資料準備後，您就可以建立結構描述 JSON 檔案。此檔案會告知 Amazon Personalize 您資料的結構。如需詳細資訊，請參閱[為 Amazon Personalize 結構描述建立結構描述 JSON 檔案](how-it-works-dataset-schema.md)。這是上述範例資料結構描述 JSON 檔案的外觀。

```
{
  "type": "record",
  "name": "Actions",
  "namespace": "com.amazonaws.personalize.schema",
  "fields": [
    {
      "name": "ACTION_ID",
      "type": "string"
    },
    {
      "name": "VALUE",
      "type": [
        "null",
        "long"
      ]
    },
    
    {
      "name": "MEMBERSHIP_LEVEL",
      "type": [
        "null",
        "string"
      ],
      "categorical": true
    },
    
    {
      "name": "CREATION_TIMESTAMP",
      "type": "long"
    },
    {
      "name": "REPEAT_FREQUENCY",
      "type": [
        "long",
        "null"
      ]
    }
  ],
  "version": "1.0"
}
```