你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

什么是个性化体验创建服务?

重要

从 2023 年 9 月 20 日开始,将无法创建新的个性化体验创建服务资源。 个性化体验创建服务将于 2026 年 10 月 1 日停用。

注意

截至 2023 年 7 月,Azure AI 服务包含之前称为认知服务和 Azure 应用 AI 服务的所有内容。 定价不变。 Azure 计费、成本分析、价目表和价格 API 中将继续使用名称“认知服务”和“Azure 应用 AI”。 应用程序编程接口 (API) 或 SDK 没有中断性变更。

Azure AI 个性化体验创建服务是一项 AI 服务,可帮助应用程序使用“强化学习”大规模做出更明智的决策。 个性化体验创建服务处理有关应用程序、方案和/或用户(上下文)的信息,以及一组可能的决策和相关属性(操作),以确定要做出的最佳决策。 应用程序的反馈 (奖励) 发送给个性化体验创建服务,了解如何在近实时情况下提高其决策能力。

个性化体验创建服务可以确定在各种方案中要采取的最佳操作:

  • 电子商务:应向客户展示哪些产品,以最大限度地提高购买的可能性?
  • 内容建议:应显示哪些文章以增加点击率?
  • 内容设计:应在何处放置广告来优化网站上的用户参与度?
  • 通信:何时以及如何发送通知,以最大程度地增加响应的可能性?

若要开始使用个性化体验创建服务,请遵循快速入门指南,或尝试通过此交互式演示在浏览器中试用个性化体验创建服务。

本文档包含以下类型的文章:

  • 快速入门提供了分步说明,指导你完成设置和示例代码,以开始向服务发出 API 请求。
  • 操作指南包含有关使用个性化体验创建服务功能和高级功能的说明。
  • 代码示例演示如何使用个性化体验创建服务,并帮助你轻松将应用程序与服务连接。
  • 教程是实现个性化体验创建服务作为更广泛的业务解决方案的一部分的较长演练。
  • 概念提供有关个性化体验创建服务特性、功能和基础知识的进一步详细信息。

个性化体验创建服务的工作原理

个性化体验创建服务使用强化学习为所有用户选择给定上下文的最佳操作,以便最大程度地获得平均奖励

  • 上下文:描述可能与做出决策相关的应用程序、方案或用户的状态的信息。
    • 示例:访问网站的用户访问的位置、设备类型、年龄和收藏夹主题。
  • 操作:可以选择的离散项集,以及描述每个项的属性。
    • 示例:一组新闻文章和每篇文章中讨论的主题。
  • 奖励:一个介于 0 和 1 之间的数字分数,指示决策是错误的 (0) ,还是正确的 (1)
    • 示例:“1”表示用户单击建议的文章,而“0”表示用户未单击。

排名 API 和奖励 API

个性化体验创建服务使你只需使用两个主要 API 即可利用强化学习的强大功能和灵活性。

每次做出决策时,应用程序都会调用排名API。 应用程序发送 JSON,其中包含一组操作、描述每个操作的功能以及描述当前上下文的功能。 每个排名 API 调用称为事件,并用唯一的事件 ID 进行记录。 然后,个性化体验创建服务返回最佳操作的 ID,以最大化基础模型确定的总平均奖励。

每当有反馈有助于个性化体验创建服务了解在“排名”调用提供的值中返回的操作 ID 时,应用程序都会调用奖励API。 例如,如果用户单击了建议的新闻文章,或完成了建议产品购买。 对当时的奖励 API 的调用可以实时(在排名调用之后)也可以延迟,以便更好地满足方案的需求。 奖励分数由业务指标和目标确定,并且可以由应用程序中的算法或规则生成。 分数是介于 0 和 1 之间的实值数字。

学习模式

  • 学徒模式 就像学徒通过观察专家来学习技能一样,学徒模式允许个性化体验创建服务通过观察应用程序的当前决策逻辑来学习。 这有助于缓解新的未训练模型出现所谓的“冷启动”问题,并允许验证发送到个性化体验创建服务的操作和上下文功能。 在学徒模式下,每次调用排名 API 都会返回基线操作或默认操作,即应用程序在不使用个性化体验创建服务的情况下将执行的操作。 应用程序会将此项作为可能操作集中的第一项发送到排名 API 中的个性化体验创建服务。

  • 联机模式 根据基础 RL 模型确定的上下文,个性化体验创建服务将返回最佳操作,并探索可能提高性能的其他可能操作。 个性化体验创建服务从调用奖励 API 时提供的反馈中学习。

请注意,个性化体验创建服务使用所有用户的集体信息来根据当前上下文了解最佳操作。 服务不会:

  • 保留和管理用户配置文件信息。 不应将唯一用户 ID 发送到个性化体验创建服务。
  • 记录单个用户的首选项或历史记录。

示例方案

以下为可使用个性化体验创建服务来选择要为用户呈现的最佳内容的几种方案。

内容类型 操作 {features} 上下文特征 返回的奖励操作 ID
(显示此内容)
新闻文章 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'
a 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、$$$$、1 天交付}
ii. Product B {20 kg、$$、7 天交付}
iii. Product C {3 kg、$$$、2 天交付}
Device='iPhone',
Spending_Tier='low',
Month='June'
ii. Product B

方案要求

当方案具有以下情况时,请使用个性化体验创建服务:

  • 每个个性化事件中都有一组有限的操作或项可供选择。 建议在每个排名 API 调用中不超过 50 个操作。 如果你有一组更大的可能操作,我们建议使用建议引擎或其他机制,以减少在调用排名 API 之前的操作列表。
  • 描述操作的信息(操作功能)。
  • 描述当前上下文的信息(上下文功能)。
  • 足够的数据量,使个性化体验创建服务能够学习。 一般情况下,我们建议每天至少 1000 个事件,使个性化体验创建服务能够有效地学习。 如果个性化体验创建服务未接收足够的数据,服务需要更多时间才能确定最佳操作。

负责使用 AI

Microsoft 致力于遵照“以人为本”的原则推动 AI 的进步。 AI 模型(例如个性化体验创建服务中提供的模型)提供显著的潜在优势,但如果不经过精心设计和采用全方位的缓解措施,此类模型有可能会生成错误甚至有害的内容。 Microsoft 已做出大量投资来帮助防范滥用和意外损害,其中包括融入 Microsoft 的负责任 AI 使用原则、生成内容筛选器以支持客户,并向已加入的新客户提供负责任 AI 实施指导。 请参阅有关个性化体验创建服务的负责任 AI 文档

将个性化体验创建服务集成到应用程序中

  1. 设计和计划操作上下文。 确定如何将反馈解释为奖励分数。

  2. 创建的每个个性化体验创建服务资源视为一个学习循环。 该循环会收到针对该内容或用户体验的排名和奖励调用,并训练基础 RL 模型。 分别是

    资源类型 目的
    学徒模式 - E0 在使用联机模式了解生产环境中更好的策略之前,训练个性化体验创建服务来模拟当前的决策逻辑,而不会影响现有应用程序。
    联机模式 - 标准、S0 个性化体验创建服务使用 RL 来确定生产中的最佳操作。
    联机模式 - 免费、F0 在有限的非生产环境中试用个性化体验创建服务。
  3. 将个性化体验创建服务添加到应用程序、网站或系统:

    1. 排名调用添加到应用程序、网站或系统中的个性化体验创建服务来确定最佳操作。

    2. 使用最佳操作,如方案中指定的奖励操作 ID。

    3. 业务逻辑应用于用户行为或反馈数据,以确定奖励分数。 例如:

      行为 计得的奖励分数
      用户选择了个性化体验创建服务建议的新闻文章 1
      用户选择了个性化体验创建服务建议的新闻文章 0
      用户在犹豫要不要选择某篇新闻文章,有些优柔寡断地滚动鼠标,最终选择了个性化体验创建服务建议的新闻文章 0.5
    4. 添加一个奖励调用,发送的奖励分数在 0 到 1 之间

      • 在收到反馈后不久。
      • 或者稍后在预期延迟反馈的情况下。
    5. 在个性化体验创建服务收到大量数据后,使用脱机评估评估循环以做出联机决策。 使用脱机评估,可以在不更改代码或影响用户体验的情况下测试和评估个性化体验创建服务的有效性。

后续步骤