### 1️⃣ 背景
#### ♈ 什么是 RPA
**RPA(Robotic process automation)** 代表**机器人过程自动化**。
它是一种软件程序,可在与计算机应用程序交互时模仿人类行为并实现重复的、基于规则的流程的自动化。
#### ♉ 什么是 UiPath
**UiPath** 是一种**机器人流程自动化工具**,用于自动化枯燥和重复的任务。它由罗马尼亚企业家 Daniel Dines 和 Marius Trica 于2005年创立。它还消除了自动化无聊任务的人工干预,并为所有活动提供了拖放功能,它是最简单的 RPA 工具。
#### ♊ 为什么使用 UiPath
UiPath 在传统的 RPA 的基础上,增加了 **See**(AI 通过计算机视觉阅读用户的计算机屏幕)和 Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断**帮助用户自动化构建流程**,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了 **Low-code** 甚至是 **No-code** 的程度,让每一位员工都可以自主使用。
#### ♋ 环境
● UiPath Studio Community 2022.4.3
● Windows 10
● .Net
### 2️⃣ Amazon Comprehend 概述
#### ♈ Amazon Comprehend Activity 概述
Amazon Comprehend 是亚马逊的自然语言处理和文本分析服务。客户的电子邮件、支持票、产品评论、社交媒体,甚至广告文案都代表了客户的某些信息,这些可用于您的业务。Amazon Comprehend Activity 使您能够快速与 Amazon Comprehend 服务的交互,而不是通过写代码调用 API。
通过使用 Amazon Comprehend APIs,此活动包为您提供以下文本和文档分析功能:
● 关键词提取:返回关键短语或谈话要点和信心分数,以支持这是一个关键短语。
● 情绪分析:文本的整体情绪(正面、负面、中性或混合)。
● 语法分析:标记动词等。
● 实体识别:返回根据提供的文本自动分类的命名实体(“人物”、“地点”、“位置”等)。
● Comprehend Medical
● 自定义实体
● 语言检测
● 自定义分类
● 主题建模
● 多语言支持
● Medical Ontology Linkage
如果您已经准备好开始使用 Amazon Comprehend Activity,请参阅下面的入门部分。要了解有关该软件包的更多信息,请继续阅读它的工作原理和技术参考。
#### ♉ 工作原理
为了实现 **UiPath** 和 **AmazonComprehend** **之间的自动化**,Amazon Comprehend Activity通过Amazon Scope建立到**亚马逊云科技资源的认证连接**。
建立连接后,您可以添加其他 Amazon Comprehend Activity 以创建新的自动化项目,或将其添加到现有项目中。
##### ⭐ 如何连接
1. 要建立经过身份验证的连接,Amazon Textract Activity 需要亚马逊云科技身份和访问管理(IAM)服务的授权。
2. 要启用 **Amazon IAM 授权**,请创建或使用现有 IAM 用户并生成访问密钥(访问密钥Id和密钥访问密钥)。创建IAM用户时,您将分配策略和权限,以指定Robot可以访问的资源(例如AmazonTextractFullAccess)。
3. 创建IAM用户并分配策略后,在Amazon Scope中输入访问密钥Id和密码访问密钥。当您运行自动化项目时,密钥用于对每个活动发出的API请求进行签名。

#### ♊ 技术参考文件
> 每个 Amazon Comprehend Activity 都使用您在 Activity 的输入请求参数调用 Amazon Comprechend APIs。如果调用成功,Activity 将输出相关的响应元素(即输出属性),您可以将其用作后续活动中的输入属性值、现有队列中的队列项等。
有关每个 Activity 使用的 Amazon Comprehend APIs 的完整列表以及相关 API 文档的链接,请参阅
| Activity | API Reference |
| --- | ----- |
| [Invoke Method](https://docs.uipath.com/activities/docs/amazoncomprehend-invoke-method?trk=cndc-detail) | [Amazon Comprehend API](https://docs.aws.amazon.com/comprehend/latest/dg/API_Operations_Amazon_Comprehend.html?trk=cndc-detail) |
| [PHI Analysis](https://docs.uipath.com/activities/docs/amazoncomprehend-phi-analysis?trk=cndc-detail) | [Amazon Comprehend Medical](https://docs.aws.amazon.com/comprehend/latest/dg/API_Operations_Amazon_Comprehend_Medical.html?trk=cndc-detail) PHI 分析相关 API. |
| [Medical Entities Analysis](https://docs.uipath.com/activities/docs/amazoncomprehend-medical-entities-analysis?trk=cndc-detail) | [Amazon Comprehend Medical](https://docs.aws.amazon.com/comprehend/latest/dg/API_Operations_Amazon_Comprehend_Medical.html?trk=cndc-detail) Medical Entities 分析相关 API. |
| [Infer RxNorm](https://docs.uipath.com/activities/docs/amazoncomprehend-infer-rxnorm?trk=cndc-detail) | [InferRxNorm](https://docs.aws.amazon.com/comprehend/latest/dg/API_medical_InferRxNorm.html?trk=cndc-detail) API. |
| [Infer ICD10CM](https://docs.uipath.com/activities/docs/amazoncomprehend-infer-icd10cm?trk=cndc-detail) | [nferICD10CM](https://docs.aws.amazon.com/comprehend/latest/dg/API_medical_InferICD10CM.html?trk=cndc-detail) API. |
使用这些 Activity 不需要熟悉 Amazon Comprehend APIs。这些链接仅供参考,以防您想了解有关的更多信息。
#### ♋ 准备工作
在构建第一个项目之前,请完成安装指南中的步骤,具体步骤见下一个章节。
#### ♌ 兼容性
您可以通过 UiPath Studio 中的不同项目兼容性检查包及其活动的可用性。

### 3️⃣ 安装步骤
#### ♈ 介绍
在开始使用 Amazon Comprehend Activity 之前,必须完成几个步骤,以启用亚马逊云科技身份和访问管理(IAM)服务的授权。
要启用授权并开始构建自动化项目,请完成以下操作:
1. 创建 IAM 用户
2. 构建项目

#### ♉ 创建 IAM 用户
请遵循 Amazon Comprehend 文档中的创建 IAM 用户步骤。
下面是创建 IAM 用户的示例,以供参考。
> 如果您已经有一个 IAM 用户具有访问密钥 ID 和秘密访问密钥(包括 Amazon ComprehendFullAccess 和 AmazonS3ReadOnlyAccess权限),则可以继续执行2.构建项目步骤。
##### ⭐ 使用亚马逊云科技帐户凭据登录亚马逊云科技控制台
##### ⭐ 打开身份和访问管理(IAM)服务
您可以在“查找服务”搜索栏中输入 IAM。

##### ⭐ 在左侧导航面板中,单击 Groups。
在创建 IAM 用户之前,请创建 IAM 组。有关更多信息,请参阅 IAM 最佳实践文档中的“使用组为 IAM 用户分配权限”。
##### ⭐ 单击“创建新组”。

##### ⭐ 输入组名,然后单击页面底部的下一步。
##### ⭐ 选择要附加到组和 IAM 用户的策略。
● 建议您遵循 IAM 最佳实践文档中的授予最低权限指南。
● Amazon Comprehend Activity 至少需要 AmazonComprehendFullAccess 和 AmazonS3ReadOnlyAccess。


建立最小特权原则确保认证身份仅被允许执行完成特定任务所需的最少量功能,同时平衡可用性和效率。根据这一原则操作,可限制不适当使用有效证件的爆炸半径或潜在影响。最小特权原则允许您强制执行监督和治理职责的分离,并使审计资源的权利更加简单。
##### ⭐ 查看您的组详细信息,然后单击页面底部的“创建组”。
##### ⭐ 在左侧导航面板中,单击用户。
##### ⭐ 单击添加用户。

##### ⭐ 输入用户名并选择访问类型-编程访问。

##### ⭐ 在“设置权限”下,单击“将用户添加到组”,然后选择在上述步骤中创建的组。

##### ⭐ 查看用户详细信息,然后单击页面底部的创建用户。
##### ⭐ 创建用户后,将显示一个成功窗口,其中包含IAM用户访问密钥ID和密钥访问密钥。
● 注意这些值,当您向项目中添加 Amazon Comprehend Scope 时,您将需要它们。
● 有关访问密钥的更多信息,请参阅亚马逊云科技文档中的管理 IAM 用户的访问密钥。
#### ♊ 构建项目
##### ⭐ 创建新的自动化项目
● 打开 UiPath Studio。
● 在“新建项目”下,单击“流程”(这将打开“新建空白流程”窗口)。
● 输入项目名称、位置和说明。
● 单击“创建”。

##### ⭐ 安装 UiPath.Amazon.Comprehend.Activities 包
● 在“设计”功能区中,单击“管理软件包”(这将打开“管理软件”窗口)。
● 在所有软件包下,单击 Go!
● 在搜索栏中,输入理解。
● 单击、安装并接受 UiPath.Amazon.Comprehend.Activities 的许可证。

现在您已经完成了设置,您可以开始向项目中添加 Amazon Comprehend Activity。
### 4️⃣ Amazon Comprehend Activity 具体用法
#### ♈ Amazon Comprehend Scope
Amazon Comprehend Activity 使用亚马逊云科技身份和访问管理(IAM)服务在 UiPath 和亚马逊云科技资源之间建立经过身份验证的连接。这种连接使 Robot 能够调用 Amazon Comprehend API 来代替您读写资源。
要建立经过身份验证的连接,请创建或使用现有 IAM 用户并生成访问密钥(访问密钥 Id 和秘密访问密钥)。当您创建 IAM 用户时,您将分配策略和权限,以指定 Robot 可以访问的资源(例如 AmazonComprehendFullAccess)。
创建 IAM 用户并分配策略后,您可以在 Amazon Comprehend Scope 中输入访问密钥 Id 和秘密访问密钥。当您运行自动化项目时,密钥用于对每个活动发出的 API 请求进行签名。
##### ⭐ 工作原理
以下步骤和消息序列图是活动从设计时(即活动相关性和输入/输出属性)到运行时如何工作的示例。
1. 完成安装步骤。
2. 将 Amazon Comprehend Scope 添加到项目中。
3. 输入位于活动主体中的属性值。
4. 如果希望在下游范围活动中重用连接,请在 Output 属性中输入一个变量。
##### ⭐ Activity 正文
● **Authentication Type** -要使用的身份验证类型。您可以选择 Amazon Comprehend 或 Existing Connection。您选择的身份验证决定了您看到的其他身份验证属性。
● **Access Key** -要验证的 IAM 用户的访问密钥 ID。此字段仅支持字符串或字符串变量。要检索访问密钥ID,请参阅亚马逊云科技文档中的以下部分之一,
○ 管理访问密钥(控制台)
○ 管理访问密钥(Amazon CLI)
○ 管理访问密钥(Amazon API)
● **Region**-要用于连接的亚马逊云科技服务端点。
> 根据您正在使用的活动,选择服务可用的地区。
>
> 可以通过键入 “RegionEndpoint”(对象类型),然后键入句点(.)来查找区域列表。
>
> 未来版本的 Amazon Comprehend 将提供一个下拉列表,使选择更容易。
● **Secret**-您要连接到 Amazon Rekognition 服务的 IAM 用户的秘密访问密钥。此字段仅支持字符串或字符串变量。要检索密钥,请参阅亚马逊云科技文档中的以下部分之一:
○ 管理访问密钥(控制台)
○ 管理访问密钥(Amazon CLI)
○ 管理访问密钥(Amazon API)
> 如果您使用的是现有 IAM 用户,并且不再具有密钥访问密钥,则可以通过单击 IAM 用户摘要中的“创建访问密钥”按钮来创建一个新的访问密钥-此操作还会创建一个访问密钥 Id
>
> 单击创建访问键按钮后,将打开一个对话框。按照亚马逊云科技说明:“选择下载.csv文件将访问密钥 ID 和机密访问密钥保存到计算机上的 csv 文件中。将文件存储在安全位置。此对话框关闭后,您将无法再次访问机密访问密钥。下载 csv 文件后,选择关闭。”
>
> 亚马逊建议经常轮换密钥,因此如果您找不到与您的访问密钥 ID 相关联的秘密访问密钥,您可以随时创建新密钥。如果您确实创建了新密钥,请确保更新现有项目中的任何 Amazon Scope 活动。
>
> 要了解更多信息,请参阅亚马逊云科技文档中的管理 IAM 用户的访问密钥。
● **Existing Connection**(现有连接)-以前验证过的 Amazon Comprehend 连接对象。输入 Amazon Comprehend Connection 变量。
##### ⭐ 属性
**DisplayName** -活动的显示名称。此字段仅支持字符串或字符串变量。
**ReportApiErrorAsException** -选中时,使用此应用程序范围的所有子活动都会在 BusinessActivityExecutionException 中报告 API 错误响应。清除后,子活动将在 ResponseStatus 输出属性中填充 API 错误消息,工作流将继续执行。检查 ResponseStatus 属性以确认成功执
**Connection** -可以传递给子应用程序作用域的连接。此字段仅支持 AmazonComprehendConnection 变量。
#### ♊ Invoke Method
Invoke Method 活动使用 Amazon Comprehend API 来调用特定的 Amazon Comprehend 的方法。
执行该功能后,活动将在 Response Status 对象(ResponseState)中输出特定于操作的字段值(如果适用)和请求状态(成功/失败信息),您可以在后续活动中使用这些值(例如,条件逻辑)。
##### ⭐ 工作原理
以下步骤是活动从设计时(即活动相关性和输入/输出属性)到运行时如何工作的示例。
1. 完成安装步骤。
2. 将 Amazon Comprehend Scope 添加到项目中;
3. 将 Invoke Method 活动添加到 Amazon Comprehend Scope 活动中;
4. 单击 Invoke Method 活动中的“配置”按钮(这将打开“对象向导”);
5. 选择要使用的方法,并为“对象向导”中返回的字段输入值;
6. 为 Output 属性创建并输入 ResponseStatus 变量。
##### ⭐ Activity 正文
要输入 Invoke Method 属性值,必须单击“配置”按钮使用“对象向导”。要了解有关对象向导的更多信息,请参阅业务活动框架页面。
##### ⭐ 属性
**DisplayName** -活动的显示名称。此字段仅支持字符串或字符串变量。
**ResponseStatus**—请求的状态(成功/失败信息)。此字段仅支持 ResponseStatus 变量(UiPath.BAF.Models.ResponseState)。ResponseStatus 对象包括三个可用于其他活动的属性。
● **Success**-Boolean-指定 API 请求是否成功;
● **ErrorCode**-字符串-如果 API 请求失败(Success=False),则返回错误;
● **Message**-字符串-错误消息。
#### ♋ PHI Analysis
PHI Analysis 活动使用 Amazon Comprehend Medical API 来调用特定于 PHI 分析的 Amazon Comprehend Medical API。
执行该功能后,活动将在 ResponseStatus 对象(ResponseState)中输出特定于操作的字段值(如果适用)和请求状态(成功/失败信息),您可以在后续活动中使用这些值(例如,条件逻辑)。
##### ⭐ 工作原理
以下步骤是活动从设计时(即活动相关性和输入/输出属性)到运行时如何工作的示例。
1. 完成安装步骤;
2. 将 Amazon Comprehend Scope 添加到项目中;
3. 将 PHI 分析活动添加到 Amazon 理解范围活动中;
4. 单击 PHI 分析活动中的配置按钮(这将打开对象向导);
5. 选择要调用的方法,并为对象向导中返回的字段输入值;
6. 为 Output 属性创建并输入 ResponseStatus 变量。
##### ⭐ Activity 正文
要输入 PHI 分析属性值,必须单击“配置”按钮使用“对象向导”。
要了解有关对象向导的更多信息,请参阅业务活动框架页面。
##### ⭐ 属性
**ResponseStatus**—请求的状态(成功/失败信息)。此字段仅支持 ResponseStatus 变量(UiPath.BAF.Models.ResponseState)。ResponseStatus 对象包括三个可用于其他活动的属性。
● **Success**-Boolean-指定 API 请求是否成功。
● **ErrorCode**-字符串-如果 API 请求失败(Success=False),则返回错误。
● **Message**-字符串-错误消息。
#### ♌ Medical Entities Analysis
Medical Entitys Analysis 活动使用 Amazon Comprehend Medical API 调用特定于 Medical Entity Analysis 的 Amazon Comprehender API 方法。
执行该功能后,活动将在 ResponseStatus 对象(ResponseState)中输出特定于操作的字段值(如果适用)和请求状态(成功/失败信息),您可以在后续活动中使用这些值(例如,条件逻辑)。
##### ⭐ 工作原理
以下步骤是活动从设计时(即活动相关性和输入/输出属性)到运行时如何工作的示例。
1. 完成安装步骤;
2. 将 Amazon Comprehend Scope 添加到项目中;
3. 在 Amazon Comprehend Scope 中添加医疗实体分析活动;
4. 单击“医疗实体分析”活动中的“配置”按钮(这将打开“对象向导”);
5. 选择要调用的方法,并为对象向导中返回的字段输入值;
6. 为 Output 属性创建并输入 ResponseStatus 变量。
##### ⭐ Activity 正文
要输入“医疗实体分析”属性值,必须单击“配置”按钮使用“对象向导”。要了解有关对象向导的更多信息,请参阅业务活动框架页面。
##### ⭐ 属性
**ResponseStatus**—请求的状态(成功/失败信息)。此字段仅支持 ResponseStatus 变量(UiPath.BAF.Models.ResponseState)。ResponseStatus 对象包括三个可用于其他活动的属性。
● **Success**-Boolean-指定API请求是否成功。
● **ErrorCode**-字符串-如果API请求失败(Success=False),则返回错误。
● **Message**-字符串-错误消息。
#### ♍ Infer RxNorm
Infer RxNorm 活动使用 Amazon Comprehend Medical API 从文本字符串中推断 RxNor 信息。
##### ⭐ 工作原理
以下步骤是活动从设计时(即活动相关性和输入/输出属性)到运行时如何工作的示例。
1. 完成安装步骤;
2. 将 Amazon Comprehend Scope 添加到项目中;
3. 将推理 RxNorm 活动添加到 Amazon 理解范围活动中;
4. 输入 Intput 属性的值;
5. 为 Input 属性创建并输入 String 或 String 变量;
6. 为 Output 属性创建并输入 Entity\[] 变量。
##### ⭐ Activity正文
**输入**
文本-要分析的文本。此字段仅支持字符串或字符串变量。
**输出**
InferRxNormResponse-来自 InferRxMnorm 操作的响应对象。此字段仅支持 InferRxNormResponse 变量。
##### ⭐ 属性
**ResponseStatus**—请求的状态(成功/失败信息)。此字段仅支持 ResponseStatus 变量(UiPath.BAF.Models.ResponseState)。ResponseStatus 对象包括三个可用于其他活动的属性。
● **Success**-Boolean-指定API请求是否成功;
● **ErrorCode**-字符串-如果API请求失败(Success=False),则返回错误;
● **Message**-字符串-错误消息。
#### ♎ Infer ICD10CM
Infer ICD10CM 活动使用 Amazon Comprehend Medical API 从文本字符串中推断 ICD10CM 信息。
##### ⭐ 工作原理
以下步骤是活动从设计时(即活动相关性和输入/输出属性)到运行时如何工作的示例。
1. 完成安装步骤;
2. 将 Amazon Comprehend Scope 添加到项目中;
3. 将推断 ICD10CM 活动添加到 Amazon 理解范围活动中;
4. 输入位于活动主体中的属性值。
##### ⭐ Activity 正文
文本-要分析的文本。此字段仅支持字符串或字符串变量。
InferICD10CMResponse-来自 InferICD1CM 的响应对象。此字段仅支持 InferICD10CM 变量。
##### ⭐ 属性
**ResponseStatus**—请求的状态(成功/失败信息)。此字段仅支持 ResponseStatus 变量(UiPath.BAF.Models.ResponseState)。ResponseStatus 对象包括三个可用于其他活动的属性。
● **Success**-Boolean-指定 API 请求是否成功;
● **ErrorCode**-字符串-如果 API 请求失败(Success=False),则返回错误;
● **Message**-字符串-错误消息。
### 5️⃣ 参考资料
[Comprehend API Reference](https://docs.aws.amazon.com/comprehend/latest/APIReference/welcome.html?trk=cndc-detail)
文章审核:wqx