亚马逊AWS官方博客

Amazon Comprehend Medical 批处理模式处理简介

在 AWS re:Invent 2018 大会上发布的 Amazon Comprehend Medical,是一种符合 HIPAA 要求的自然语言处理服务,可利用机器学习技术轻松从非结构化文本中提取相关医疗信息。

例如,诸如 Roche DiagnosticsFred Hutchinson Cancer Research Center客户可以从医生笔记、临床试验报告和患者病历等多种来源快速、准确地提取信息,例如病情、用药、剂量、强度和频率。他们还可以识别这些文档中出现的受保护健康信息 (PHI),以便在数据交换之前将其匿名化

在之前的博文中,我为大家介绍了如何使用 Amazon Comprehend Medical API 从单个文档中提取实体并检测 PHI。今天,我们很高兴地宣布,该 API 现在可以处理存储在 Amazon Simple Storage Service (S3) 存储桶中的成批文档。下面我们来看一个演示吧!

批处理模式 API 简介
首先,我们需要获取一些数据来测试批处理模式:MT Samples 是包含大量可免费使用和分发的真实匿名化医疗记录的集合。我从中挑选了一些记录,并将其转换为符合 Amazon Comprehend Medical 要求的简单 JSON 格式:在生产工作流程中,您可以轻松地通过应用程序代码或我们的一项分析服务(例如 AWS Glue)将文档转换为这种格式。

{"Text": " VITAL SIGNS: The patient was afebrile.He is slightly tachycardic, 105,
but stable blood pressure and respiratory rate.GENERAL: The patient is in no distress.
Sitting quietly on the gurney.HEENT: Unremarkable.His oral mucosa is moist and well
hydrated.Lips and tongue look normal.Posterior pharynx is clear.NECK: Supple.His
trachea is midline.There is no stridor.LUNGS: Very clear with good breath sounds in
all fields.There is no wheezing.Good air movement in all lung fields.
CARDIAC: Without murmur.Slight tachycardia.ABDOMEN: Soft, nontender.
SKIN: Notable for a confluence erythematous, blanching rash on the torso as well
as more of a blotchy papular, macular rash on the upper arms.He noted some on his
buttocks as well.Remaining of the exam is unremarkable.}

然后,我直接将这个样例上传到与服务位于同一区域的 Amazon S3 存储桶中…您没看错,“esophagogastroduodenoscopy”是一个单词。

现在,让我们转到 AWS 控制台并创建实体检测作业。对于 PHI,后续部分的处理流程是相同的。


样例存储在“input/”前缀下,可以在“output/”前缀下找到结果。当然,如果您愿意,可以使用不同的存储桶。您还可以选择使用 AWS Key Management Service (KMS) 加密输出结果。为了简洁起见,我在这里不会演示 KMS 的设置,但在实际生产工作流程中,您必定要考虑设置问题。

我还需要在 AWS Identity and Access Management (IAM) 中提供一个数据访问角色,以允许 Amazon Comprehend Medical 访问相关的 S3 存储桶。您可以使用先前在 AWS Identity and Access Management (IAM) 中设置的角色,也可以使用 Amazon Comprehend Medical 控制台中的向导。有关权限的详细信息,请参阅文档

然后,我要创建批处理作业,并等待它完成。几分钟后,作业执行完毕。

可在输出位置找到结果:每项输入对应一个输出,包含实体及其关系的 JSON 格式描述。

清单还包括全局信息:已处理文档的数量、数据总量等。为了清晰起见,我在编辑过程中去掉了路径。

{
"Summary" : {
    "Status" : "COMPLETED",
    "JobType" : "EntitiesDetection",
    "InputDataConfiguration" : {
        "Bucket" : "jsimon-comprehend-medical-uswest2",
        "Path" : "input/"
    },
    "OutputDataConfiguration" : {
        "Bucket" : "jsimon-comprehend-medical-uswest2",
        "Path" : ...
    },
    "InputFileCount" : 4,
    "TotalMeteredCharacters" : 3636,
    "UnprocessedFilesCount" : 0,
    "SuccessfulFilesCount" : 4,
    "TotalDurationSeconds" : 366,
    "SuccessfulFilesListLocation" : ... ,
    "UnprocessedFilesListLocation" : ...
}
}

从 S3 检索“rash.json.out”对象后,我可以使用 JSON 编辑器查看其内容。以下是我们检测到的一些实体。

当然,这些数据并非意在供人类阅读。在生产工作流程中,它将由 Amazon Comprehend Medical API 自动处理。然后将结果存储在 AWS 后端中,并通过业务应用程序提供给医疗保健专业人员。

现已推出!
如您所见,即使是超大规模的数据,批处理模式的 Amazon Comprehend Medical 也能非常轻松地处理。完全不需要执行任何与机器学习和基础架构相关的工作!

现在,该服务已在以下 AWS 区域推出:

  • 美国东部(北弗吉尼亚)、美国东部(俄亥俄)、美国西部(俄勒冈)、
  • 加拿大(中部)、
  • 欧洲(爱尔兰)、欧洲(伦敦)、
  • 亚太地区(悉尼)。

免费套餐包含 25000 个文本单元(250 万个字符),可供您在开始使用服务的前三个月内使用,适用于实体提取或 PHI 检测。

与以往一样,我们希望收到您的反馈:请将反馈发布到 AWS 论坛的 Amazon Comprehend 版块,或通过您熟悉的 AWS 联系人提交反馈。

Julien