使用命名实体识别 (NER) 和 Power Automate 在 Excel 中提取信息

本教程将创建 Power Automate 流,以便在 Excel 电子表格中提取文本,而无需编写代码。

此流将获取有关公寓大楼的问题的电子表格,并将其分为两个类别:管道和其他。 它还将提取发送问题的租户的姓名和电话号码。 最后,此流将此信息附加到 Excel 工作表。

在本教程中,你将学习如何执行以下操作:

  • 使用 Power Automate 创建流
  • 从 OneDrive for Business 上传 Excel 数据
  • 从 Excel 中提取文本,并将其发送以进行命名实体识别 (NER)
  • 使用 API 中的信息更新 Excel 工作表。

先决条件

将 Excel 文件复制到 OneDrive for Business

GitHub 下载示例 Excel 文件。 此文件必须存储在 OneDrive for Business 帐户。

Excel 文件中的示例

问题以原始文本报告。 我们将使用 NER 功能提取人员姓名和电话号码。 然后该流将在描述中查找“管道”一词,以对问题进行分类。

创建新的 Power Automate 工作流

转到 Power Automate 站点并登录。 然后,选择“创建”和“计划的流”。

工作流创建屏幕

在“生成计划的云流”页上,使用以下字段初始化你的流:

字段
流名称 计划的审查或其他名称。
正在启动 输入当前日期和时间。
重复间隔 1 小时

向流添加变量

创建表示将添加到 Excel 文件的信息的变量。 选择“新建步骤”并搜索“初始化变量”。 执行此操作四次,创建四个变量。

用于初始化变量的步骤

将以下信息添加到创建的变量中。 它们表示 Excel 文件的列。 如果任何变量已折叠,可以选择它们将其展开。

操作 名称 类型
初始化变量 var_person 字符串 人员
初始化变量 2 var_phone 字符串 电话号码
初始化变量 3 var_plumbing 字符串 管道
初始化变量 4 var_other 字符串 其他

流变量中包含的信息

读取 Excel 文件

选择“新建步骤”,键入“Excel”,然后从操作列表中选择“列出表中显示的行”。

将 Excel 行添加到流中

通过填写此操作中的字段,将 Excel 文件添加到流。 本教程要求文件已上传到 OneDrive for Business。

在流中填充 Excel 行

选择“新建步骤”,添加“应用到每一个”操作。

添加“应用到每一个”操作

选择“从先前的步骤中选择一个输出”。 在显示的动态内容框中选择“值”。

从 Excel 文件中选择输出

发送实体识别的请求

如果尚未创建语言资源,则需要在 Azure 门户中创建语言资源

创建语言服务连接

在“应用到每一个”中,选择“添加操作”。 在 Azure 门户中,转到语言资源的“密钥和终结点”页,获取语言资源的密钥和终结点。

在你的流中,输入以下信息以创建新的语言连接。

注意

如果已创建语言连接并想要更改连接详细信息,请选择右上角的省略号,然后选择“+ 添加新连接”。

字段
连接名称 与语言资源的连接的名称。 例如 TAforPowerAutomate
帐户密钥 语言资源的密钥。
站点 URL 语言资源的终结点。

将语言资源凭据添加到流中

提取 Excel 内容

创建连接后,搜索“文本分析”并选择“命名实体识别”。 这将从问题的说明列中提取信息。

从 Excel 表中提取实体

选择“文本”字段,然后从显示的“动态内容”窗口中选择“说明”。 输入 en 作为语言,并输入唯一名称作为文档 ID(可能需要选择“显示高级选项”)。

从 Excel 表中获取说明列文本

在“应用到每一个”中选择“添加操作”,然后再创建一个“应用到每一个”操作。 在文本框内进行选择,然后在出现的“动态内容”窗口中选择“文档”。

创建另一个“应用到每一个”操作。

提取人名

接下来,我们将在 NER 输出中找到人员实体类型。 在“应用到每一个 2”中选择“添加操作”,然后再创建一个“应用到每一个”操作。 在文本框内进行选择,然后在出现的“动态内容”窗口中选择“实体”。

在 NER 输出中查找人员实体

在新创建的“应用到每一个 3”操作中,选择“添加操作”并添加“条件”控件。

在“应用到每一个 3”操作中添加条件控件

在“条件”窗口中,选择第一个文本框。 在“动态内容”窗口中搜索“类别”并选择它。

将类别添加到控制条件中

确保第二个框设为“等于”。 然后选择第三个框,并在“动态内容”窗口中搜索 var_person

添加人员变量

在“如果是”条件中,在 Excel 中键入并选择“更新行”。

更新“是”条件

输入 Excel 信息,更新“键列”、“键值”和“PersonName”字段。 这将 API 检测到的名字附加到 Excel 工作表。

添加 Excel 信息

获取电话号码

通过单击名称,最小化“应用到每一个 3”操作。 然后,像之前一样,向“应用到每一个 2”添加另一个“应用到每一个”操作。 它将被命名为“应用到每一个 4”。 选择文本框,并添加“实体”作为此操作的输出。

将文本分析输出中的实体添加到另一个“应用到每一个”操作。

在“应用到每一个 4”中添加“条件”控件。 它将命名为“条件 2”。 从第一个文本框的“动态内容”窗口中搜索并添加“类别”。 确保第中间框设为“等于”。 然后在右侧文本框中输入 var_phone

添加第二个条件控件

在“如果是”条件中添加“更新行”操作。 然后像之前那样输入 Excel 工作表电话号码列的信息。 这将 API 检测到的电话号码附加到 Excel 工作表。

向第二个“如果是”条件添加 Excel 信息

获取管道问题

通过单击名称,最小化“应用到每一个 4”操作。 然后在父操作中创建另一个“应用到每一个”操作。 选择文本框,从“动态内容”窗口添加“实体”作为此操作的输出。

创建另一个“应用到每一个”操作

接下来,流将检查 Excel 表行中的问题说明是否包含“管道”一词。 如果是,它将在“问题类型”列中添加“管道”。 如果不是,我们将输入“其他”。

在“应用到每一个 4”操作中添加“条件”控件 。 它将命名为“条件 3”。 在第一个文本框中,使用“动态内容”窗口搜索并添加 Excel 文件中的“说明”。 确保中间框显示“包含”。 然后在右侧文本框中查找并选择 var_plumbing

创建新的条件控件

在“如果是”条件中选择“添加操作”,然后选择“更新行”。 然后像之前那样输入信息。 在“问题类型”列中选择 var_plumbing。 这将向行应用“管道”标签。

在“如果否”条件中选择“添加操作”,然后选择“更新行”。 然后像之前那样输入信息。 在“问题类型”列中选择 var_other。 这将向行应用“其他”标签。

向两个条件中添加信息

测试工作流

在屏幕右上角,依次选择“保存”和“测试”。 在“测试流”下,选择“手动”。 然后,选择“测试”和“运行流”。

Excel 文件将在 OneDrive 帐户中更新。 它看起来如下。

测试工作流并查看输出

后续步骤