準備將推薦者模型與 Amazon Pinpoint 搭配使用 - Amazon Pinpoint

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

準備將推薦者模型與 Amazon Pinpoint 搭配使用

若要使用 Amazon Pinpoint,必須將推薦者模型部署為 Amazon Personalize 行銷活動。此外,需要建立某些 AWS Identity and Access Management (IAM) 角色和政策。若要加強 Amazon Pinpoint 從模型收到的建議,也需要一個 AWS Lambda 函數處理這些建議。

在 Amazon Pinpoint 中設定推薦者模型之前,請與資料科學和開發團隊一起設計和建立這些資源,並確保模型符合特定技術要求,才能與 Amazon Pinpoint 搭配使用。建立這些資源之後,請向管理員確認,您和 Amazon Pinpoint 都有存取權。執行這些步驟時,請在 Amazon Pinpoint 中收集設定模型所需的資訊。

Amazon Personalize 行銷活動

Amazon Personalize 是項 AWS 服務,旨在協助您建立機器學習模型,為使用您應用程式的客戶,提供即時、個人化的建議。Amazon Personalize 主要透過資料和配方,引導您完成建立和訓練機器學習模型的程序。配方是一種演算法,可設定為支援特定使用案例,例如預測人員喜歡與互動的項目。

這種資料和配方的組合稱為解決方案。解決方案經培訓後,就會變成解決方案版本。然後解決方案版本會經測試、改良,並準備好使用。解決方案版本可供使用時,會部署為 Amazon Personalize 行銷活動。然後,該行銷活動會用於提供即時、個人化的建議。若要進一步了解 Amazon Personalize,請參閱《Amazon Personalize 開發人員指南》

為了讓 Amazon Pinpoint 能從 Amazon Personalize 行銷活動擷取建議,行銷活動及其元件必須符合以下要求:

  • 配方必須是 USER_PERSONALIZATION 配方。它可以針對這種類型的配方使用任何支援的演算法設定 (超參數)。如需此類配方的相關資訊,請參閱《Amazon Personalize 開發人員指南》中的使用預先定義的配方

  • 必須使用可與 Amazon Pinpoint 專案中端點 ID 或使用者 ID 相互關聯的使用者 ID 來訓練此解決方案。Amazon Pinpoint 使用 Amazon Personalize 的 userId 欄位,將 Amazon Personalize 中的使用者與 Amazon Pinpoint 專案中的端點或使用者之間的資料相互關聯。

  • 該解決方案必須支援使用 Amazon Personalize Runtime API 的 GetRecommendations 操作。

  • 該行銷活動必須使用您想要從中擷取建議的解決方案版本。

  • 該行銷活動必須經過部署,且狀態為作用中

  • 行銷活動的執行區域,必須是 Amazon Pinpoint 專案所用建議來源區域 AWS。否則 Amazon Pinpoint 將無法從該行銷活動擷取建議,這可能會導致 Amazon Pinpoint 行銷活動或旅程活動失敗。

除了這些需求之外,我們建議您將行銷活動設定為每秒至少支援 20 個佈建的交易。

與團隊一起實作與前述要求相符的 Amazon Personalize 行銷活動時,亦請務必回答以下問題:

哪個行銷活動?

若要在 Amazon Pinpoint 中設定模型,您必須知道您要在哪個 Amazon Personalize 行銷活動擷取建議。稍後,如果您與管理員合作,手動設定對行銷活動的存取權時,您還需要知道該行銷活動的 Amazon Resource Name (ARN)。

哪種類型的 ID?

在 Amazon Pinpoint 中設定模型時,您可以選擇是否將 Amazon Personalize 行銷活動中的使用者與 Amazon Pinpoint 專案中的端點或使用者建立關聯。這可讓模型提供確實為特定訊息收件人特有的建議。

在 Amazon Personalize 行銷活動中,每個使用者都有使用者 ID (userIdUSER_ID,視內容而定)。這是在行銷活動中唯一識別特定使用者的字元序列。在 Amazon Pinpoint 專案中,訊息收件人可以有兩種類型的 ID:

  • 端點 ID – 這是一串字元,代表訊息目的地的唯一識別碼,例如電子郵件地址、行動電話號碼或行動裝置。

  • 使用者 ID – 這是一串字元,代表特定使用者的唯一識別碼。每個使用者可以與一或多個端點建立關聯。假設您透過電子郵件、SMS 和電話與使用者通訊,使用者可能與三個端點建立關聯,一個是使用者的電子郵件地址,另一個是使用者的行動電話號碼,還有一個是使用者的行動裝置。

選擇要與 Amazon Personalize 使用者 ID 建立關聯的 Amazon Pinpoint ID 類型時,請選擇您在 Amazon Pinpoint 專案中最常使用的類型。如果您或應用程式尚未將 ID 指派給端點或使用者,Amazon Pinpoint 將無法為該端點或使用者擷取建議。這可能會讓 Amazon Pinpoint 無法將訊息傳送給該端點或使用者,或者導致 Amazon Pinpoint 傳送的訊息,不能依預期的方式正常顯示。

建議數量?

每次 Amazon Pinpoint 擷取建議時,Amazon Personalize 都會傳回每個訊息收件人的排序建議清單。您可以設定 Amazon Pinpoint 為每個收件人擷取 1 到 5 個建議。如果您選擇一個建議,Amazon Pinpoint 只會為每個收件人擷取清單中的第一個建議,例如最值得推薦給收件人的電影。如果您選擇兩個建議,Amazon Pinpoint 會從清單中為每個收件人擷取第一個和第二個建議,例如最值得推薦給收件人的兩部電影。依此類推。

您對此設定的選擇主要取決於訊息的目標,其中會包含模型中的建議。不過,這也可能取決於您的團隊如何設計解決方案,以及團隊對解決方案效能的評估。因此,請與您的團隊合作,以確保您為此設定選擇適當的數量。

建議包含的內容是什麼?

Amazon Pinpoint 擷取建議時,Amazon Personalize 會根據您要為每個訊息收件人擷取的建議數,傳回 1-5 個推薦項目的排序清單。每個項目只包含文字,例如產品 ID 或電影標題。然而這些項目的性質和內容在每個 Amazon Personalize 行銷活動中,可能會因基礎解決方案和行銷活動的設計而有所不同。

因此,最好先詢問您的團隊,了解行銷活動確切提供的建議項目內容。他們的回答可能會影響使用行銷活動中建議之訊息的設計方式。如果您想要增強行銷活動提供的內容,也可以選擇實作可執行此任務的 AWS Lambda 函數。

AWS Identity and Access Management 角色和政策

AWS Identity and Access Management (IAM) 這項 AWS 服務,可幫助管理員控制 AWS 資源的存取權。若要進一步了解 IAM 以及 IAM 如何與 Amazon Pinpoint 搭配使用,請參閱《Amazon Pinpoint 開發人員指南》中的 Amazon Pinpoint 身分和存取管理

在 Amazon Pinpoint 中設定推薦者模型時,可以指定要從哪個 Amazon Personalize 行銷活動擷取建議。若要選擇行銷活動,管理員必須先允許您檢視組織 AWS 帳戶的行銷活動。否則,該行銷活動將不會出現在您可以從中選擇的行銷活動清單中。如果您在清單中沒有看到該行銷活動,請要求管理員為您提供此存取權。

此外您或您的管理員需要建立 IAM 角色和政策,以允許 Amazon Pinpoint 從 Amazon Personalize 行銷活動擷取建議。設定推薦者模型時,可以選擇讓 Amazon Pinpoint 自動為您建立此角色和政策。另一個選擇是讓您或管理員在 Amazon Pinpoint 中設定推薦者模型之前,手動建立此角色和政策。若要了解如何執行此操作,請參閱《Amazon Pinpoint 開發人員指南》中的擷取建議的 IAM 角色

AWS Lambda 函式

對於某些模型,您可能想要增強 Amazon Pinpoint 從 Amazon Personalize 接收的建議。例如,您可能不想在訊息中包含單一建議值 (例如產品名稱),而是想要在訊息中包含其他內容 (例如產品名稱、描述和影像)。您可以與團隊合作,設計並建立 AWS Lambda 函數,此函數會將建議資料轉換成您想要的內容。

AWS Lambda 是一種 AWS 服務,旨在協助人員在不佈建或管理伺服器的情況下執行程式碼。您或團隊開發並封裝程式碼,並將其當作 Lambda 函數上傳到 AWS Lambda。接著 AWS Lambda 會在每次應用程式或服務 (例如 Amazon Pinpoint) 調用函數時,執行該函數。若要進一步了解 AWS Lambda,請參閱《AWS Lambda 開發人員指南》

在 Amazon Pinpoint 中設定推薦者模型時,可以指定 Amazon Pinpoint 要以什麼方法處理收到的建議。一種選擇是使用 Lambda 函數。如果您要使用 Lambda 函數,請與團隊一起執行以下操作:

  • 定義函數的作用。

  • 定義您希望函數在處理建議時使用的自訂建議屬性。這包括屬性的數目,以及每個屬性的名稱和用途。Lambda 函數最多可為每個訊息收件人使用 10 個自訂屬性。在 Amazon Pinpoint 中設定建議者模型時,需要輸入這些屬性的相關資訊。

  • 確認此函數託管的區域,與要使用該函數的 Amazon Pinpoint 專案同一個區域 (AWS)。否則 Amazon Pinpoint 無法將建議資料傳送到該函數,進而導致 Amazon Pinpoint 行銷活動或旅程活動失敗。

最後請與管理員一起建立一個政策,讓 Amazon Pinpoint 在每次傳送包含模型建議的訊息時,即調用 Lambda 函數。

如需使用 Lambda 函數處理建議的詳細資訊,請參閱《Amazon Pinpoint 開發人員指南》中的使用 AWS Lambda 自訂建議。