為訓練準備項目中繼資料 - Amazon Personalize

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

為訓練準備項目中繼資料

項目中繼資料包括與您的使用者互動之項目的數值和類別資料。項目中繼資料的範例包括建立時間戳記、價格、類型、說明和可用性。您可以將項目相關的中繼資料匯入 Amazon 個人化項目資料集

根據您的網域使用案例或自訂配方,項目中繼資料可協助 Amazon Personalize 向使用者推薦更相關的項目、更準確地預測類似項目,或建議更有意義的使用者細分。它可以幫助 Amazon Personalize 化功能在建議中添加新項目。某些網域使用案例需要項目中繼資料,而所有自訂配方都是選用的。如需詳細資訊,請參閱中網域使用案例的資料需求或方案將您的使用案例與 Amazon 個人化資源相符

訓練時,Amazon Personalize 不會使用非分類字串項目資料,例如項目標題或作者資料。不過,匯入這些資料仍然可以增強建議。如需詳細資訊,請參閱非分類字串資料

Amazon Personalize 在訓練期間考慮的最大項目數取決於您的使用案例或配方。只有在訓練期間考慮的項目才能顯示在建議中。

  • 對於使用者個人化-V2 或個人化排名-v2,在訓練期間,模型所考慮的項目的最大數目為 500 萬。這些項目來自「項目」和「項目」互動資料集。

  • 對於所有網域使用案例和使用者個人化 V2 和個人化排名-v2 以外的自訂配方,在訓練和產生建議期間,模型所考慮的項目數目上限為 750,000。

對於所有網域使用案例和自訂配方,您的大量項目資料必須位於CSV檔案中。檔案中的每一列都應代表一個唯一的項目。準備完資料之後,您就可以建立結構描述JSON檔案了。該文件告訴 Amazon Personalize 化您的數據的結構。如需詳細資訊,請參閱為 Amazon Personalize 結構描述建立結構描述JSON檔案

以下各節提供有關如何為 Amazon Personalize 準備項目中繼資料的詳細資訊。如需所有資料類型的大量資料格式準則,請參閱大量資料格式準則

項目資料需求

以下是 Amazon Personalize 化的項目元數據要求。

如果您不確定自己有足夠的資料,或者對資料品質有任何疑問,可以將資料匯入 Amazon Personalize 資料集,然後使用 Amazon Personalize 資料集進行分析。如需詳細資訊,請參閱分析 Amazon Personalize 資料集中的資料品質和數量

  • 對於所有網域使用案例和自訂配方,您必須具有儲存每個項目的唯一識別碼的 ITEM _ID 欄。每個項目都必須有一個物品 ID。它必須是 256 string 個字元的最大長度。

  • 對於自訂配方,您的資料必須至少有一個分類字串或數值中繼資料欄。項目中繼資料欄可以包含空值/空值。我們建議這些欄至少要完成 70%。

  • 對於網域使用案例,必要的欄取決於您的網域。如需詳細資訊,請參閱 VIDEO_ON_ 網域名稱DEMAND要求ECOMMERCE網域需求

  • 中繼資料行的最大數目為 100。

VIDEO_ON_ 網域名稱DEMAND要求

某些使用案例需要項目中繼資料 (請參閱視頻隨需使用案例)。如果選用,我們仍建議您匯入項目中繼資料,以取得最相關的建議。如果匯入項目中繼資料,資料必須包含下列欄:

  • ITEM_ID

  • GENRES(分類string

  • CREATION_ TIMESTAMP (採用 Unix 紀元時間格式)

以下列出其他建議欄及其必要類型。該null類型表示該列可以有缺少值。我們建議這些欄至少要完成 70%。包括這些資料欄可以改善建議。

  • PRICE(浮動)

  • DURATION(浮動)

  • GENRE_L2 (分類string,) null

  • GENRE_L3 (分類string,) null

  • AVERAGE_RATING (float, null)

  • PRODUCT_ DESCRIPTION (文字stringnull)

  • CONTENT_OWNER(分類stringnull)— 擁有視頻的公司。例如,值可能是HBO派拉蒙和NBC。

  • CONTENT_ CLASSIFICATION (分類stringnull) — 內容的評級。例如,值可能是 G、PG、PG-13、R、NC-17 和未分級。

ECOMMERCE網域需求

項目中繼資料對於所有ECOMMERCE使用案例都是選用的 如果你有物品資料,我們建議你匯入物品資料,以取得最相關的建議。如果匯入項目中繼資料,資料必須包含下列欄:

  • ITEM_ID

  • PRICE (float)

  • CATEGORY_L1 (分類string) — 如需有關格式化分類資料的資訊,請參閱。分類中繼資料

以下列出其他建議欄及其必要類型。該null類型表示該列可以有缺少值。我們建議這些欄至少要完成 70%。包括這些資料欄可以改善建議。

  • CATEGORY_L2 (分類string,) null

  • CATEGORY_L3 (分類string,) null

  • PRODUCT_ DESCRIPTION (文字stringnull)

  • CREATION_TIMESTAMP (float)

  • AGE_ GROUP (分類stringnull) — 項目所屬的年齡群組。價值觀可能是新生兒,嬰兒,兒童和成人。

  • ADULT(分類stringnull)— 該項目是否僅限於成年人,例如酒精。值可能是「是」或「否」。

  • GENDER(分類stringnull)— 項目所用的性別。值可能是男性,女性和中性。

創建時間戳數據

建立時間戳記資料必須採用 Unix 紀元時間格式 (以秒為單位)。例如,2020 年 7 月 31 日日期的紀元時間戳記 (以秒為單位) 為 1596238243。要將日期轉換為 Unix 紀元時間戳,請使用 E poch 轉換器-Unix 時間戳轉換器。

Amazon Personalize 會使用建立時間戳記資料 (採用 Unix 紀元時間格式,以秒為單位) 來計算項目的年齡,並相應地調整建議。

如果缺少一個或多個項目的建立時間戳記資料,Amazon Personalize 會從互動資料 (如果有的話) 推斷此資訊,並使用項目最舊互動資料的時間戳記作為項目的建立時間戳記。如果項目沒有互動資料,則其建立時間戳記會設定為訓練集中最新互動的時間戳記,Amazon Personalize 會將其視為新項目。

分類中繼資料

在某些配方和所有網域使用案例中,Amazon Personalize 在識別出與使用者最相關項目的基礎模式時,會使用分類中繼資料,例如項目的類型或顏色。您可以根據您的使用案例定義自己的值範圍。分類中繼資料可以是任何語言。

對於具有多個類別的項目,請使用垂直列「|」分隔每個值。例如,對於GENRES欄位,項目的資料可能是Action|Crime|Biopic。如果您有多層級的分類資料,而某些項目在階層中的每個層級都有多個類別,請為每個層級使用個別欄,並在每個欄位名稱後面附加一個層級指示器:GENRES、GENRE _L2、_L3。GENRE這可讓您根據子類別篩選建議,即使某個項目屬於多個多層級類別 (有關建立和使用篩選器的資訊,請參閱篩選建議和使用者區段)。例如,每個類別層級的影片可能包含下列資料:

  • GENRES: 動作 | 冒險

  • GENRE_L2:犯罪 | 西方

  • GENRE_L3:傳記片

在這個例子中,視頻是在動作 > 犯罪 > 傳記片層次結構冒險 > 西方 > 傳記片層次結構。我們建議僅使用最多 L3,但如有必要,您可以使用更多級別。

分類值最多可包含 1000 個字元。如果您的項目分類值超過 1000 個字元,則資料集匯入工作將會失敗。我們建議分類列具有最多 1000 個可能的值。匯入具有更多值的分類資料可能會對建議產生負面影響。下列項目可協助您減少分類資料行的可能值數目:

  • 請確定值遵循一致的命名慣例,並檢查錯別字。例如,使用「男鞋」而不是混合「男鞋」,「男鞋」和「男鞋」。

  • 合併類似類別,這些類別使用與相同基礎類別略有不同的術語,例如「鞋子」和「運動鞋」。

  • 如果您的資料具有階層結構,其中更廣泛的類別 (例如「鞋類」) 包含更具體的子類別 (例如「男鞋」、「女鞋」、「童鞋」),請為每個層級使用單獨的欄,並在每個欄位名稱後附加層級指示器。例如,CATEGORY_1、CATEGORY _2 和 CATEGORY _3。這樣可以減少不明確或重疊的品類。

對於所有配方和網域,您可以匯入分類資料,並根據項目的屬性來篩選建議。如需篩選建議的相關資訊,請參閱篩選建議和使用者區段

非結構化文本元數據

透過某些配方和網域,Amazon Personalize 可以從非結構化文字中繼資料擷取有意義的資訊,例如產品說明、產品評論或電影摘要。Amazon Personalize 會使用非結構化文字來識別使用者的相關項目,尤其是當項目是新項目或互動資料較少時。您最多可以添加 1 個文本字段。在項目資料集中加入非結構化文字資料,以提高目錄中新項目的點進率和對話率。

當您準備非結構化文字中繼資料時,請以雙引號括住文字,並移除任何新行字元。使用\字元可逸出資料中的任何雙引號或\ 字元。Amazon Personalize 化在字符限制下截斷文本字段。請確定文字中最相關的資訊位於欄位的開頭。

非結構化文字值在所有語言中最多可有 20,000 個字元 (中文和日文除外)。對於中文和日文,您最多可以有 7,000 個字符。Amazon Personalize 化會截斷超過字符限制的字符限制的值。

您可以使用多種語言提交非結構化文字項目,但每個項目的文字只能使用一種語言。文字可以使用下列語言:

  • 簡體中文

  • 繁體中文

  • 英文

  • 法文

  • 德文

  • 日文

  • 葡萄牙文

  • 西班牙文

數值資料

Amazon Personalize 可以使用數字項目中繼資料 (例如價格或影片持續時間),為使用者產生更相關的建議。此數值資料可以表示為整數或十進位值。

如果您使用用戶個性化個人化排名自訂配方,您還可以針對項目中繼資料相關目標最佳化 Amazon Personalize 解決方案,以達到最大的相關性,例如最大化收入。設定解決方案時,您可以在項目資料集中選擇與目標相關的數值中繼資料欄。例如,您可以選擇 VIDEO _ LENGTH 欄以最大化串流分鐘數,或選擇PRICE欄以最大化收益。

如需詳細資訊,請參閱針對額外目標最佳化解決方案

非分類字串資料

除項目外IDs,Amazon Personalize 在訓練時不會使用非分類的非文字字串資料,例如項目標題或作者資料。但是,Amazon Personalize 化可以將其與以下功能一起使用。非分類值最多可包含 1000 個字元。

  • Amazon Personalize 可以在建議中包含項目中繼資料,包括非分類字串值。您可以使用中繼資料來豐富使用者介面中的建議項目,例如將導演的名稱新增至影片推薦輪播。如需詳細資訊,請參閱建議中的項目中繼資料

  • 如果您使用類似物品,您可以產生包含佈景主題的批次建議。當您產生包含主題的批次建議時,必須在批次推論工作中指定項目名稱欄。如需詳細資訊,請參閱包含內容生成器主題的 Batch 推薦

  • 您可以建立篩選器,以根據非分類字串資料在建議中包含或移除項目。如需篩選條件的詳細資訊,請參閱篩選建議和使用者區段

項目元數據示例

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

ITEM_ID,GENRES,CREATION_TIMESTAMP,DESCRIPTION 1,Adventure|Animation|Children|Comedy|Fantasy,1570003267,"This is an animated movie that features action, comedy, and fantasy. Audience is children. This movie was released in 2004." 2,Adventure|Children|Fantasy,1571730101,"This is an adventure movie with elements of fantasy. Audience is children. This movie was release in 2010." 3,Comedy|Romance,1560515629,"This is a romantic comedy. The movie was released in 1999. Audience is young women." 4,Comedy|Drama|Romance,1581670067,"This movie includes elements of both comedy and drama as well as romance. This movie was released in 2020." ... ...

ITEM_ID欄為必要欄,並儲存每個個別項目的唯一識別碼。此GENRE欄會儲存每部影片的分類中繼資料,而該DESCRIPTION欄則是非結構化的文字中繼資料。該CREATION_TIMESTAMP列以 Unix 紀元時間格式存儲每個項目的創建時間,以秒為單位。

準備完資料之後,您就可以建立結構描述JSON檔案了。該文件告訴 Amazon Personalize 化您的數據的結構。如需詳細資訊,請參閱為 Amazon Personalize 結構描述建立結構描述JSON檔案。對於上述範例資料,這就是結構描述JSON檔案的外觀。

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