示例:使用 Azure 机器学习 (存档) 生成和部署自定义技能

此示例已存档,不受支持。 它介绍了如何使用 Azure 机器学习创建自定义技能,以从评审中提取基于方面的情绪。 这允许在同一评价中正确分配积极和消极情绪,将其归为已识别的实体,如员工、房间、大厅或游泳池。

为了在 Azure 机器学习中训练基于方面的情绪模型,你将使用 nlp recipes 存储库。 然后,你会将该模型部署为 Azure Kubernetes 群集上的终结点。 部署后,该终结点将作为 AML 技能添加到扩充管道中,供认知搜索服务使用。

提供了两个数据集。 如果希望自己训练模型,你需要 hotel_reviews_1000.csv 文件。 希望跳过训练步骤? 下载 hotel_reviews_100.csv 文件。

  • 创建 Azure 认知搜索实例
  • 创建 Azure 机器学习工作区(搜索服务和工作区应在同一订阅中)
  • 训练模型并将其部署到 Azure Kubernetes 群集
  • 将 AI 扩充管道链接到已部署的模型
  • 从已部署的模型引入输出作为自定义技能

重要

此技能根据补充使用条款处于公开预览状态。 预览版 REST API 支持此技能。

先决条件

  • Azure 订阅 - 获取免费订阅
  • 认知搜索服务
  • 认知服务资源
  • Azure 存储帐户)
  • Azure 机器学习工作区

设置

  • 克隆或下载此示例存储库的内容。
  • 如果下载的是 zip 文件,则提取内容。 确保文件是可读写的。
  • 在设置 Azure 帐户和服务时,将名称和密钥复制到易于访问的文本文件中。 名称和密钥将添加到笔记本中的第一个单元格,其中定义了用于访问 Azure 服务的变量。
  • 如果不熟悉 Azure 机器学习及其要求,最好先查看以下文档再开始使用:
  • 配置 Azure 机器学习的开发环境
  • 在 Azure 门户中创建和管理 Azure 机器学习工作区
  • 为 Azure 机器学习配置开发环境时,请考虑使用基于云的计算实例,以便更快、更轻松地开始使用。
  • 将数据集文件上传到存储帐户中的容器。 如果想在笔记本中执行训练步骤,则需要较大的文件。 如果想跳过训练步骤,建议使用较小的文件。

打开笔记本并连接到 Azure 服务

  1. 对于允许访问 Azure 服务的变量,将其所有必要信息放置在第一个单元中,然后运行该单元。
  2. 运行第二个单元将确认你已为订阅连接到搜索服务。
  3. 第 1.1 - 1.5 节将创建搜索服务数据存储、技能组、索引和索引器。

此时,可以选择跳过在 Azure 机器学习中创建训练数据集和试验的步骤,直接跳到对 GitHub 存储库的 models 文件夹中提供的两个模型进行注册的步骤。 如果跳过这些步骤,则在笔记本中将跳至第 3.5 节,即“编写评分脚本”。 这样可以节省时间;数据下载和上传步骤最多可能需要 30 分钟才能完成。

创建和训练模型

第 2 节包含六个单元,从 nlp recipes 存储库下载手套嵌入文件。 下载之后,会将该文件上传到 Azure 机器学习数据存储。 .zip 文件约有 2G,执行这些任务将需要一些时间。 上传后,便会提取训练数据,现在你可以继续学习第 3 节。

训练基于方面的情绪模型并部署终结点

笔记本的第 3 节将训练在第 2 节中创建的模型,注册这些模型,并将其部署为 Azure Kubernetes 群集中的终结点。 如果不熟悉 Azure Kubernetes,强烈建议先查看以下文章再尝试创建推理群集:

创建和部署推理群集最多需要 30 分钟。 建议先测试 Web 服务,然后再执行最终步骤:更新技能组并运行索引器。

更新技能组

笔记本的第 4 节有四个单元,用于更新技能组和索引器。 或者,可以使用门户选择新技能并将其应用于技能组,然后运行索引器以更新搜索服务。

在门户中,转到“技能组”,然后选择“技能组定义 (JSON)”链接。 门户将显示在笔记本的第一个单元中创建的技能组的 JSON。 屏幕右侧有一个下拉菜单,可以在其中选择技能定义模板。 选择 Azure 机器学习 (AML) 模板。 提供 Azure ML 工作区的名称以及部署到推理群集的模型的终结点。 将使用终结点 URI 和密钥更新模板。

技能组定义模板

从窗口复制技能组模板,然后将其粘贴到左侧的技能组定义中。 编辑模板,为以下对象提供缺失的值:

  • 名称
  • 说明
  • 上下文
  • “输入”名称和源
  • “输出”名称和 targetName

保存技能组。

保存技能组后,转到索引器并选择“索引器定义 (JSON)”链接。 门户将显示在笔记本的第一个单元中创建的索引器的 JSON。 需要使用其他字段映射来更新输出字段映射,以确保索引器可以正确处理和传递它们。 保存更改,然后选择“运行”。

清理资源

在自己的订阅中操作时,最好在项目结束时确定是否仍需要已创建的资源。 持续运行资源可能会产生费用。 可以逐个删除资源,也可以删除资源组以删除整个资源集。

可以使用左侧导航窗格中的“所有资源”或“资源组”链接 ,在门户中查找和管理资源。

如果使用的是免费服务,请记住只能设置三个索引、索引器和数据源。 可以在门户中删除单个项目,以不超出此限制。