什麼是個人化工具?
重要
從 2023 年 9 月 20 日起,您將無法建立新的個人化工具資源。 個人化工具服務將於 2026 年 10 月 1 日淘汰。
Azure AI 個人化服務工具是一項 AI 服務,可協助您的應用程式使用增強式學習大規模採取更明智的決策。 個人化工具會處理應用程式、案例和/或使用者 (內容) 的狀態相關資訊,以及一組可能的決策和相關屬性 (動作) 來判斷所要進行的最佳決策。 來自應用程式的意見反應 (獎勵) 會傳送給個人化工具,以了解如何近乎即時地改善其決策能力。
個人化工具可以判斷各種案例中要採取的最佳動作:
- 電子商務:應向客戶顯示哪些產品,以將購買的可能性最大化?
- 內容建議:應該顯示哪些文章來增加點擊率?
- 內容設計:應在哪裡放置廣告,以優化網站上的使用者參與度?
- 通訊:何時及如何傳送通知,以將回應的機會最大化?
若要開始使用個人化工具,請遵循快速入門手冊 (部分機器翻譯),或在瀏覽器中使用此互動式示範 (英文) 試用個人化工具。
此文件包含下列類型的文章:
- 快速入門提供逐步指示,引導您完成設定和範例程式碼,以開始對服務提出 API 要求。
- 操作指南包含使用個人化工具特性和進階功能的指示。
- 程式碼範例示範如何使用個人化工具,協助您輕鬆地連接應用程式與服務。
- 教學課程是更長的逐步解說,可將個人化工具當作更廣泛商務解決方案的一部分實作。
- 概念提供個人化工具特性、功能和基本概念的進一步詳細資料。
個人化工具的運作方式
個人化工具會使用增強式學習,為所有使用者選取指定「內容」的最佳「動作」,以將平均「獎勵」最大化。
- 內容:描述可能與決策相關的應用程式、案例或使用者狀態的資訊。
- 範例:造訪網站的使用者的位置、裝置類型、年齡和我的最愛主題。
- 動作:一組可選擇的離散專案,以及描述每個專案的屬性。
- 範例:一組新聞文章和每篇文章中討論的主題。
- 獎勵:介於 0 與 1 之間的數值分數,其指出決策為「不良」(0) 還是「良好」(1)
- 範例:「1」表示使用者按一下建議的文章,而「0」表示使用者未這麼做。
排名 API 和獎勵 API
個人化工具讓您只使用兩個主要 API,即可利用增強式學習的強大功能和彈性。
每次要進行決策時,您的應用程式都會呼叫排名 API。 應用程式會傳送 JSON,其中包含一組動作、描述每個動作的特性,以及描述目前內容的特性。 每個排名 API 呼叫也稱為事件,並以唯一的事件識別碼來標註。 接著,個人化工具會傳回最佳動作的識別碼,以將基礎模型所決定的總平均獎勵最大化。
每當有意見反應可協助個人化工具了解「排名」呼叫所提供的值中傳回的動作識別碼時,您的應用程式就會呼叫獎勵 API。 例如,如果使用者按一下建議的新聞文章,或完成建議產品的購買。 接著,對獎勵 API 的呼叫可以為即時 (緊接在排名呼叫後) 或延遲,以更符合案例的需求。 獎勵分數是由您的商務計量和目標決定,而且可由應用程式中的演算法或規則產生。 分數是介於 0 與 1 之間的實值數字。
學習模式
新手模式:與新手如何經由觀察專家學習技藝類似,新手模式可讓個人化工具藉由觀察您應用程式的目前決策邏輯來學習。 這有助於減輕新的未定型模型所謂的「冷啟動」問題,並可讓您驗證傳送至個人化工具的動作和內容特性。 在 [新手模式] 中,對 Rank API 的每次呼叫都會傳回「基準動作」或「預設動作」,也就是應用程式在不使用個人化工具的情況下所採取的動作。 這會由您的應用程式傳送至排名 API 中的個人化工具,作為一組可能動作中的第一項。
線上模式:個人化工具會針對指定的內容,傳回如基礎 RL 模型所判斷的最佳動作,以及探索其他可能改善效能的動作。 個人化工具會從對獎勵 API 的呼叫中提供的意見反應學習。
請注意,個人化工具會對所有使用者使用共同資訊,以根據目前的內容來學習最佳動作。 此服務不會:
- 保存和管理使用者設定檔資訊。 不得將唯一的使用者識別碼傳送至個人化工具。
- 記錄個別使用者的喜好設定或歷史資料。
範例案例
這裡有一些範例,其中個人化工具可用於選取要為使用者呈現的最佳內容。
內容類型 | 動作 {特性} | 內容功能 | 傳回的獎勵動作識別碼 (顯示此內容) |
---|---|---|---|
新聞文章 | a. The president... , {national, politics, [text]}b. Premier League ... {global, sports, [text, image, video]}c. Hurricane in the ... {regional, weather, [text,image]} |
Country='USA'、 Recent_Topics=('politics', 'business')、 Month='October' |
一個 The president... |
電影 | 1. Star Wars {1977, [action, adventure, fantasy], George Lucas}2. Hoop Dreams {1994, [documentary, sports], Steve James}3. Casablanca {1942, [romance, drama, war], Michael Curtiz} |
Device='smart TV'、 Screen_Size='large'、 Favorite_Genre='classics' |
3. Casablanca |
電子商務產品 | i. Product A {3 kg, $$$$, deliver in 1 day}ii. Product B {20 kg, $$, deliver in 7 days}iii. Product C {3 kg, $$$, deliver in 2 days} |
Device='iPhone'、 Spending_Tier='low'、 Month='June' |
ii. Product B |
情節需求
當您的案例有下列情況時,請使用個人化工具:
- 在每個個人化事件中只有一組有限的動作或項目可選取。 建議每個排名 API 呼叫中不超過 ~50 個動作。 如果可能動作比較多,建議您使用建議引擎或其他機制,以在呼叫 Rank API 之前縮減動作清單。
- 用以描述動作 (動作特性) 的資訊。
- 用以描述目前內容 (內容特性) 的資訊。
- 足夠的資料量可讓個人化工具學習。 一般而言,我們建議每天至少約 1,000 個事件,讓個人化工具能有效地學習。 如果個人化工具未收到足夠的資料,則服務需要更長的時間來決定最佳動作。
使用負責任 AI
Microsoft 承諾 AI 的進展,由以人為先的原則所驅動。 個人化工具服務中可用的 AI 模型具有顯著的潛在優點,但是若沒有仔細設計和謹慎的緩和措施,這類模型可能會產生不正確或甚至是有害的內容。 Microsoft 已進行大量投資來協助防範濫用和非預期的損害,納入 Microsoft 負責任 AI 使用的準則 (英文)、建置內容篩選以支援客戶,以及為上線的客戶提供負責任 AI 實作指引。 請參閱個人化工具的負責任 AI 文件。
將個人化工具整合到應用程式中
設計及規劃 動作和內容。 決定如何將意見反應解譯為獎勵分數。
您所建立的每個個人化工具資源都會被定義為一個「學習迴圈」。 此迴圈將會接收該內容或使用者體驗的 Rank 和 Reward 呼叫,以及定型基礎 RL 模型。 分別有:
資源類型 目的 新手模式 - E0
訓練個人化工具以模擬您目前的決策邏輯,而不會影響現有的應用程式,再使用「線上模式」來了解生產環境中更好的原則。 線上模式 - 標準、 S0
個人化工具會使用 RL 來判斷生產環境中的最佳動作。 線上模式 - 免費、 F0
在有限的非生產環境中試用個人化工具。 將個人化工具新增至您的應用程式、網站或系統:
在您的應用程式、網站或系統中新增對個人化工具的排名呼叫,以決定最佳動作。
使用最佳動作,如您案例中的「獎勵動作識別碼」所指定。
將「商務邏輯」套用至使用者行為或意見反應資料,以判斷獎勵分數。 例如:
行為 計算的獎勵分數 使用者選取了個人化工具所建議的新聞文章 1 使用者選取了「不是」個人化工具所建議的新聞文章 0 使用者猶豫不決地選取新聞文章、優柔寡斷地捲動,最終選取了個人化工具所建議的新聞文章 0.5 新增獎勵呼叫,以傳送 0 到 1 之間的獎勵分數
- 在收到意見反應之後立即進行。
- 或稍後在預期有延遲意見反應的情況中進行。
在個人化工具收到大量資料以進行線上決策之後,使用離線評估來評估您的迴圈。 離線評估可讓您測試及評估個人化工具服務的效用,而不會變更程式碼或影響使用者。