共用方式為


多位置個人化 (預覽)

重要

從 2023 年 9 月 20 日起,您將無法建立新的個人化工具資源。 個人化工具服務將於 2026 年 10 月 1 日淘汰。

多位置個人化 (預覽) 可讓您在網頁版面配置、浮動切換和清單中設定內容目標,並向使用者顯示其中的多個動作 (例如一項產品或一段內容)。 使用個人化工具多位置 API,您可以讓個人化工具中的 AI 模型了解哪些使用者內容和產品會驅動特定行為,以及考慮其在使用者介面中的位置並從中學習。 例如,個人化工具可能會學到,某些產品或內容作為側邊欄或頁尾,會比作為頁面上的主要醒目提示獲得更多點擊次數。

在本文中,您將了解多位置個人化為何可以改善結果、其啟用方式,以及使用時機。 本文假設您已熟悉個人化工具 API (例如 RankReward),並對如何在應用程式中使用有概念性了解。 如果您不熟悉個人化工具及其運作方式,請檢閱下列文章,再繼續進行:

重要

多位置個人化處於公開預覽狀態。 其功能、方法和程序會根據使用者意見反應而改變。 啟用多位置預覽將會永久停用迴圈中的其他個人化工具功能。 一旦為個人化工具迴圈啟用多位置個人化,就無法加以關閉。 請先閱讀本文件並考慮其影響,再為多位置個人化設定個人化工具迴圈。

何時使用多位置個人化

每當您向使用者顯示產品和/或內容時,您可能會想要向客戶顯示多個專案。 例如:

  • 首頁的網站版面配置:包含許多專用的磚和頁面區域,以各種不同形狀和大小的方塊、橫幅和側邊欄來醒目提示內容。 多位置個人化將了解此版面配置的特性如何影響客戶的選擇和動作。
  • 浮動切換:動態變更內容的浮動切換需要一些循環顯示的項目。 多位置個人化可以了解順序甚至顯示持續時間如何影響點擊次數和互動。
  • 相關產品/內容和內嵌參考:在橫幅、側邊欄、小插圖和頁尾方塊中內嵌或穿插其他內容和產品的參考,都是常見的使用者互動方式。 多位置個人化可協助您將參考配置在最有可能實現更多使用的位置。
  • 搜尋結果或清單:如果您在應用程式搜尋功能中以清單或磚的形式提供結果,則可以使用多位置個人化來選擇要在最上方醒目提示的項目,這會比傳統排名工具考慮更多中繼資料。
  • 動態頻道和播放清單:多位置個人化可協助您決定要在動態頻道中播放下一個影片或歌曲的簡短清單順序。

多位置個人化可讓您在使用者介面中,宣告需要為其選擇動作的「位置」。 它也可讓您提供位置的詳細資訊,讓個人化工具能夠用來改善產品位置,例如這是大型方塊或小型方塊? 會顯示標題,還是只顯示功能? 是在頁尾,還是在側邊欄?

如何使用多位置個人化

  1. 啟用多位置個人化
  2. 建立排名要求的 JSON 物件
  3. 呼叫排名 API 以定義位置和基準動作
  4. 呼叫獎勵 API

啟用多位置個人化

請參閱下面的單一位置個人化與多位置個人化之間的差異,以了解並決定多位置個人化對您是否有用。 多位置個人化是一項預覽功能:由於啟用後即無法還原,而且會影響在生產中執行的個人化工具迴圈,因此如果您想要測試多位置個人化 API,建議您建立新的個人化工具迴圈。

決定將迴圈轉換成多位置個人化之後,您必須針對此個人化工具迴圈執行下列步驟一次:

將個人化工具執行個體升級為多位置

注意

多位置個人化 (預覽) 會影響個人化工具服務的其他功能。 這項變更無法復原。 啟用多位置個人化之前,請參閱多位置個人化 (預覽)

  1. 停用自動最佳化。在 Azure 入口網站的個人化工具資源中,於 [資源管理] 下的 [Model and learning settings] \(模型和學習設定\) 頁面上,關閉自動最佳化並儲存。

注意

除非您停用自動最佳化,否則多位置個人化將無法運作。 未來將會支援多位置個人化的自動最佳化。

  1. 將個人化服務工具更新為多插槽。在 Azure 入口網站的個人化服務工具資源中,於 [資源管理] 下的 [模型和學習設定] 頁面上,選取 [匯出學習設定]。 已下載 JSON 檔案中的 [引數] 欄位會以 --cb_explore_adf 開頭。 請將此變更為 --ccb_explore_adf 並儲存檔案。 CB (Contextual Bandit) 和 CCB (Conditional Contextual Bandit) 是個人化工具針對單一位置個人化和多位置個人化分別使用的演算法。 ADF (動作相依功能) 表示動作是以功能表示/識別。

變更前的學習設定

變更後的學習設定

在入口網站的相同索引標籤中,於 [import learning settings] \(匯入學習設定\) 下,瀏覽並找到您最近修改的 JSON 檔案,然後將其上傳。 這會將您的個人化工具執行個體更新為「多位置」個人化工具,現在會支援多位置排名和獎勵呼叫。

建立排名要求的 JSON 物件

使用多位置個人化所需的 API 與單一位置個人化 API 稍微不同。

您會在位置物件中,宣告可將動作指派給每個排名呼叫要求的位置:

  • 位置的陣列:您需要宣告位置的陣列。 這些位置「已排序」:陣列中每個位置的位置都很重要。 強烈建議您根據每個位置通常會獲得的獎勵/點擊/轉換次數來排序位置定義,並從獲得最多的位置開始。 例如,您會將網站的大型首頁「主圖」方塊作為位置 1 放置,而不是作為小型頁尾。 所有其他項目則一視平等,個人化工具會指派動作,將有更多機會獲得獎勵的動作放在較前面的順序。
  • 位置識別碼:您必須為每個位置提供 slotId,這是有別於此排名呼叫中所有其他位置的唯一字串。
  • 位置功能:您應該提供其他中繼資料,以描述並進一步與其他位置區分。 這些中繼資料稱為「功能」。 判斷位置功能時,您必須遵循為內容和動作的功能所建議的相同方針 (請參閱:內容和動作的功能)。 一般位置功能可協助識別使用者介面元素的大小、位置或視覺特性。 例如,position: "top-left"size: "big"animated: "no"sidebar: "true"sequence: "1"
  • 基準動作:您必須指定每個位置的基準動作識別碼。 換句話說,如果個人化工具不存在,就會在該位置顯示動作的識別碼。 必須在新手模式中訓練個人化工具,並在執行離線評估時使用有意義的號碼。
  • 有足夠的動作:確定您呼叫的排名具有比位置更多的動作,讓個人化工具可以為每個位置指派至少一個動作。 個人化工具不會在不同位置重複動作建議:排名回應會將每個動作只指派給一個位置。

您可以在一段時間內新增或移除位置、新增和變更其功能,或重新排序陣列:個人化工具會根據新資訊來調整和保留訓練。

以下是具有一些範例功能的範例 slots 物件。 大部分的 slots 物件都是穩定的 (因為 UI 通常很久才會改變),而且大多數都不會經常改變:但您必須確定將適當的 BaselineAction 識別碼指派給每個排名呼叫。

"slots": [ 
    { 
      "id": "BigHighlight", 
      "features": [ 
            { 
              "size": "Large", 
              "position": "Left-Middle" 
            }
        ],
        "baselineAction": "BlackBoot_4656" 
    }, 

    { 
      "id": "Sidebar1", 
      "features": [ 
            { 
              "size": "Small", 
              "position": "Right-Top" 
            } 
        ],
        "baselineAction": "TrekkingShoe_1122"  
    }  
  ]

使用排名 API 的回應

上述要求中的多位置排名回應可能如下所示:

{ 
  "slots": [ 
        { 
          "id": "BigHighlight", 
          "rewardActionId": "WhiteSneaker_8181" 
        }, 
        { 
          "id": "SideBar1", 
          "rewardActionId": "BlackBoot_4656" 
        } 
    ], 
  "eventId": "123456D0-BFEE-4598-8196-C57383D38E10" 
} 

擷取每個位置的 rewardActionId,並用來適當地呈現您的使用者介面。

呼叫獎勵 API

個人化工具將了解如何選擇能夠將所獲得獎勵最大化的動作。 您的應用程式會觀察使用者行為,並根據觀察到的反應來計算個人化工具的「獎勵分數」。 例如,如果使用者按一下 "slotId": "SideBar1", 中的動作,您會將 "1" 傳送至個人化工具,為動作選項提供正面增強。

獎勵 API 會在 URL 中指定獎勵的 eventId:

https://{endpoint}/personalizer/v1.0/events/{eventId}/reward

例如,上述具有識別碼 123456D0-BFEE-4598-8196-C57383D38E10/reward 的事件獎勵將會傳送至 https://{endpoint}/personalizer/v1.0/events/123456D0-BFEE-4598-8196-C57383D38E10/reward/reward

{ 
  "reward": [ 
    { 
      "slotId": "BigHighlight", 
      "value": 0.2 
    }, 
    { 
      "slotId": "SideBar1", 
     "value": 1.0 
    }, 
  ] 
} 

您不需要在獎勵 API 的一次呼叫中提供所有獎勵分數。 您可以多次呼叫獎勵 API,每個 API 都有適當的 eventId 和 slotId。 如果事件中的某個位置沒有收到獎勵分數,則個人化工具會隱含地指派為迴圈設定的預設獎勵 (通常為 0)。

單一位置個人化與多位置個人化之間的差異

搭配單一位置個人化使用排名和獎勵 API 的方式與搭配多位置個人化有一些差異:

描述 單一位置個人化 多位置個人化
排名 API 呼叫要求元素 您可以傳送內容物件和動作清單 您可以傳送內容、動作清單和位置的排序清單
指定基準的排名要求 個人化工具會擷取動作清單中的第一個動作作為基準動作 (如果個人化工具不存在,則您的應用程式已選擇此項目)。 您必須指定每個位置中已使用的基準 ActionID。
排名 API 呼叫回應 您的應用程式會醒目提示 [rewardActionId] 欄位中指出的動作 回應會針對要求中所指定的每個位置,包含不同的 rewardActionId。 您的應用程式會在每個位置中顯示這些 rewardActionId 動作。
獎勵 API 呼叫 您可以使用獎勵分數來呼叫獎勵 API,該分數是透過使用者與此特定 eventId 之 rewardActionId 互動的方式來計算。 例如,如果使用者按一下此項目,您會傳送 1 的獎勵。 您可以根據具有 rewardActionId 的動作對於引發所需使用者行為的成效,為每個位置指定獎勵。 這可以透過一個獎勵 API 呼叫或多個具有相同 eventId 的獎勵 API 呼叫來傳送。

為個人化工具迴圈啟用多位置的影響

此外,當啟用多位置時,請考慮下列各項:

描述 單一位置個人化 多位置個人化
非作用中事件和啟用 呼叫啟用 API 時,個人化工具會啟用事件,並預期有獎勵分數,或在超過獎勵等候時間時指派設定的預設獎勵。 個人化工具會啟用並預期 eventId 中指定的所有位置都有獎勵
新手模式 個人化工具排名 API 一律會傳回基準動作,並模仿基準動作來訓練內部模型。 個人化工具排名 API 會針對在 [baselineAction] 欄位中指定的每個位置,傳回基準動作。 個人化工具會模仿第一個動作來訓練內部模型
學習速度 只會從一個醒目提示的動作中學習 可從與任何位置的互動中學習。 這通常表示可產生獎勵的更多使用者行為,進而加快個人化工具的學習速度。
離線評估 視選擇的動作而定,根據基準和最佳化學習設定來比較個人化工具的效能。 (預覽限制) 只會評估陣列中第一個位置的效能。 為了取得更精準的評估,建議您確定具有最多獎勵的位置是陣列中的第一個位置。
自動最佳化 (預覽) 您的個人化工具迴圈可以在背景定期執行離線評估,並將學習設定最佳化,而不需要系統管理介入 (預覽限制) 已啟用多位置 API 的個人化工具迴圈會停用自動最佳化。

下一步