步骤 3:将实体分析输出格式化为 Amazon Kendra 元数据
要将 Amazon Comprehend 提取的实体转换为 Amazon Kendra 索引所需的元数据格式,您需要运行 Python 3 脚本。转换结果存储在 Amazon S3 存储桶中的 metadata 文件夹中。
有关 Amazon Kendra 元数据格式和结构的更多信息,请参阅 S3 文档元数据。
下载和提取 Amazon Comprehend 的输出
要格式化 Amazon Comprehend 实体分析输出,您必须先下载 Amazon Comprehend 实体分析 output.tar.gz 档案并提取实体分析文件。
-
在 Amazon Comprehend 控制台导航窗格中,导航至分析作业。
-
选择您的实体分析作业
data-entities-analysis。 -
在输出下,选择输出数据位置旁边显示的链接。这会将您重定向到 S3 存储桶中的
output.tar.gz存档。 -
在概述选项卡中,选择下载。
提示
所有 Amazon Comprehend 分析作业的输出具有相同的名称。重命名存档将帮助您更轻松地对其进行跟踪。
-
将下载的 Amazon Comprehend 文件解压并提取到您的设备上。
-
要访问您的 S3 存储桶中自动生成的包含实体分析任务结果的 Amazon Comprehend 文件夹的名称,请使用 describe-entities-detection-job
命令: -
在实体作业描述中的
OutputDataConfig对象中,复制S3Uri值并将其保存为文本编辑器中的comprehend-S3uri。注意
S3Uri值的格式类似于s3://amzn-s3-demo-bucket/.../output/output.tar.gz。 -
要下载实体输出存档,请使用 copy
命令: -
要提取实体输出,请在终端窗口中运行以下命令:
完成此步骤后,您的设备上应该有一个名为 output 的文件,其中包含已识别的 Amazon Comprehend 实体的列表。
将输出上传到 S3 存储桶
下载并解压 Amazon Comprehend 实体分析文件后,您可以将提取的 output 文件上传到您的 Amazon S3 存储桶。
通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在存储桶中,单击存储桶的名称,然后选择上传。
-
在文件和文件夹中,选择添加文件。
-
在对话框中,导航到设备中提取的
output文件,将其选中,然后选择打开。 -
保留目标、权限和属性的默认设置。
-
选择上传。
将输出转换为 Amazon Kendra 元数据格式
要将 Amazon Comprehend 输出转换为 Amazon Kendra 元数据,您需要运行 Python 3 脚本。如果您使用控制台,则在此步骤中使用 AWS CloudShell。
-
将 converter.py.zip 下载到您的设备上。
-
提取 Python 3 文件
converter.py。 -
登录 AWS 管理控制台
,确保将您的 AWS 区域设置为与 S3 存储桶和 Amazon Comprehend 分析作业相同的区域。 -
选择 AWS CloudShell 图标或在顶部导航栏的搜索框中键入 AWS CloudShell 以启动环境。
注意
首次在新的浏览器窗口中启动 AWS CloudShell 时,欢迎面板将显示并列出主要功能。关闭此面板后,表示 Shell 已经准备就绪,可以进行交互。
-
终端准备就绪后,从导航窗格中选择操作,然后从菜单中选择上传文件。
-
在打开的对话框中点击选择文件,然后从您的设备中选择下载的 Python 3 文件
converter.py。选择上传。 -
在 AWS CloudShell 环境中,输入以下命令:
python3 converter.py -
当 Shell 界面提示您输入 S3 存储桶的名称时,输入您的 S3 存储桶的名称并按 Enter。
-
当 Shell 界面提示您输入 Comprehend 输出文件的完整文件路径时,输入
output并按 Enter。 -
当 Shell 界面提示您输入元数据文件夹的完整文件路径时,输入
metadata/并按 Enter。
重要
要使元数据格式正确,步骤 8-10 中的输入值必须精确。
-
要下载 Python 3 文件
converter.py,请在终端窗口中运行以下命令: -
要提取 Python 3 文件,请在终端窗口中运行以下命令:
-
通过运行以下命令确保已将 Boto3 安装在您的设备上。
注意
如果尚未安装 Boto3,请运行
pip3 install boto3进行安装。 -
要运行 Python 3 脚本以转换
output文件,请运行以下命令。 -
当 AWS CLI 提示您输入
Enter the name of your S3 bucket时,输入您的 S3 存储桶的名称,然后按 Enter。 -
当 AWS CLI 提示您
Enter the full filepath to your Comprehend output file时,输入output并按 Enter。 -
当 AWS CLI 提示您
Enter the full filepath to your metadata folder时,输入metadata/并按 Enter。
重要
要使元数据格式正确,步骤 5-7 中的输入值必须精确。
在此步骤结束时,格式化的元数据将存放在您的 S3 存储桶的 metadata 文件夹中。
清理 Amazon S3 存储桶
由于 Amazon Kendra 索引会同步存储在存储桶中的所有文件,因此我们建议您清理 Amazon S3 存储桶,以防止出现冗余的搜索结果。
通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在存储桶中,选择您的存储桶,然后选择 Amazon Comprehend 实体分析输出文件夹、Amazon Comprehend 实体分析
.temp文件和提取的 Amazon Comprehendoutput文件。 -
从概览选项卡中选择删除。
-
在删除对象中,选择永久删除对象?,然后在文本输入字段中输入
permanently delete。 -
选择删除对象。
在本步骤结束时,您已将 Amazon Comprehend 实体分析输出转换为 Amazon Kendra 元数据。现在,您可以创建 Amazon Kendra 索引。