2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

Amazon Comprehend Medical ,针对医疗保健客户的自然语言处理

  • 2019-10-18
  • 本文字数:2706 字

    阅读完需:约 9 分钟

Amazon Comprehend Medical ,针对医疗保健客户的自然语言处理

作为肠胃科医生和皮肤科医生的后代,在我的成长过程中一直充满了各种晦涩难懂的对话,包含无穷无尽的复杂医学术语:人类解剖学、外科手术、药物名称……以及它们的缩略词。充满求知欲的小孩想知道他的父母是否对这些奇怪的话语感到难以理解,这真的是一段有趣的经历。


因此,非常高兴能发布 Amazon Comprehend Medical,这是 Amazon Comprehend 针对医疗保健客户的延伸。


关于 Amazon Comprehend 的简介


Amazon Comprehend 于去年在 AWS re:Invent 启用。简单来说,该自然语言处理服务针对语言检测、个体分类、情感分析和关键词提取提供了简洁实时 的 API。此外,它还允许您采用名为“主题建模”的无导师学习技术自动编组文本档案。


使用 FINRA、LexisNexis 或 Isentia、Amazon Comprehend 可以理解一般用途的文本。然而,鉴于临床资料非常特殊的属性,医疗保健客户已经要求我们设立专为其特殊需求而定制的 Amazon Comprehend 版本。


隆重推出 Amazon Comprehend Medical


Amazon Comprehend Medical 设于 Amazon Comprehend 顶部,并增加了以下功能:


  • 支持在大量医疗术语词汇中进行个体提取和个体识别:解剖、病情、手术、药物、缩略词等。

  • 在这些类目和子类中精确查找个体提取 API (detect_entities) 。

  • 受保护健康信息提取 API (detect_phi) 可以查找详细联系信息、医疗记录号等。

  • 提醒:Amazon Comprehend Medical 可能无法准确识别所有情况下的受保护健康信息,无法满足 HIPAA 的受保护健康信息去识别化要求。您有责任审阅 Amazon Comprehend Medical 提供的任何输出信息,以确保其满足您的需求。


现在,让我向您展示如何使用这一新服务。首先,我将使用 AWS 控制台,然后会运行一个简单的 Python 示例。


在 AWS 控制台上使用 Amazon Comprehend Medical


打开 AWS 控制台,所有需要做的是粘贴部分文本并点击“分析”按钮。



正在分析文本立即处理文档。个体被提取出来并突出显示:我们看到个人信息为橙色,药物为红色,解剖学信息为紫色,病情为绿色。



准确获得个人识别信息。对于在交流或出版前需要对文档隐去姓名资料的研究者而言,这是非常重要的。而且,“皮疹”和“睡眠障碍”被准确检测为由医生诊断出的病情(‘Dx’ 是“诊断”的速记写法)。也会检测到药物。


然而,Amazon Comprehend Medical 不仅限于简单的医疗术语提取。它还可以理解复杂的关系,如药物剂量或详细的诊断信息。这有一个很好的例子。



如您所见,Amazon Comprehend Medical 可以找出 ‘po‘ 和 ‘qhs‘ 等缩略词:第一个表示药物为口服,第二个则为 ‘quaque hora somni‘(是的,拉丁语)的缩略词,即为睡前。


现在,让我们稍微深入一点,运行一个 Python 示例。


用 AWS SDK 针对 Python 使用 Amazon Comprehend Medical


首先,我们输入 boto3 SDK,创建一个服务客户端。


import boto3comprehend = boto3.client(service_name='comprehendmedical')
复制代码


现在,我们在文本样本中调用 detect_entity API,并打印检测到的个体。


text = "Pt is 40yo mother, software engineer HPI : Sleeping trouble on present dosage of Clonidine.Severe Rash  on face and leg, slightly itchy  Meds : Vyvanse 50 mgs po at breakfast daily, Clonidine 0.2 mgs -- 1 and 1 / 2 tabs po qhs HEENT : Boggy inferior turbinates, No oropharyngeal lesion Lungs : clear Heart : Regular rhythm Skin :  Papular mild erythematous eruption to hairline Follow-up as scheduled"
result = comprehend.detect_entities(Text=text)entities = result['Entities']for entity in entities: print(entity)
复制代码


看一下该药物个体:它有三个嵌套属性(剂量、路径和频率),三个属性增加了至关重要的上下文。


{u'Id': 3,u'Score': 0.9976208806037903,u'BeginOffset': 145, u'EndOffset': 152,u'Category': u'MEDICATION',u'Type': u'BRAND_NAME',u'Text': u'Vyvanse',u'Traits': [],u'Attributes': [  {u'Id': 4,     u'Score': 0.9681360125541687,     u'BeginOffset': 153, u'EndOffset': 159,     u'Type': u'DOSAGE',     u'Text': u'50 mgs',     u'Traits': []     },  {u'Id': 5,     u'Score': 0.99924635887146,     u'BeginOffset': 160, u'EndOffset': 162,     u'Type': u'ROUTE_OR_MODE',     u'Text': u'po',     u'Traits': []     },  {u'Id': 6,     u'Score': 0.9738683700561523,     u'BeginOffset': 163, u'EndOffset': 181,     u'Type': u'FREQUENCY',     u'Text': u'at breakfast daily',     u'Traits': []     }]}
复制代码


还有另一个例子。该病情个体由“否定”识别完成,意味着未检测到病情,即为该患者没有任何口咽病变。


{u'Category': u'MEDICAL_CONDITION',u'Id': 16,u'Score': 0.9825472235679626,u'BeginOffset': 266, u'EndOffset': 286,u'Type': u'DX_NAME',u'Text': u'oropharyngeal lesion',u'Traits': [    {u'Score': 0.9701067209243774, u'Name': u'NEGATION'},    {u'Score': 0.9053299427032471, u'Name': u'SIGN'}]}
复制代码


我向为您展示的最后一个功能是用 detect_phi API 提取个人信息。


result = comprehend.detect_phi(Text=text) entities = result['Entities'] for entity in entities: print(entity)
复制代码


在该文本中出现了几条个人信息,我们精确提取出了这几条个人信息。


{u'Category': u'PERSONAL_IDENTIFIABLE_INFORMATION',u'BeginOffset': 6, u'EndOffset': 10, u'Text': u'40yo',u'Traits': [],u'Score': 0.997914731502533,u'Type': u'AGE', u'Id': 0}
{u'Category': u'PERSONAL_IDENTIFIABLE_INFORMATION',u'BeginOffset': 19, u'EndOffset': 36, u'Text': u'software engineer',u'Traits': [],u'Score': 0.8865673542022705,u'Type': u'PROFESSION', u'Id': 1}
复制代码


如您所见,Amazon Comprehend 可帮助您提取复杂的信息和关系,同时操作起来特别简单。


再次提醒,请记得 Amazon Comprehend Medical 并非专业医疗设备、诊断或治疗的替代品。您肯定要仔细审阅它提供的任何信息,并在作出决定前根据经验进行判断。


现已推出


我希望这篇博文提供了丰富的有用信息。您现在就可以开始用 Amazon Comprehend Medical 在以下地区开发应用程序:美国东部(弗吉尼亚北部)、美国中部(俄亥俄)、美国西部(俄勒冈)和欧洲(爱尔兰)。


此外,该服务属于 AWS 免费套餐范畴:注册后三个月,前 25000 份(或 250 万字)文本免费。


为什么不在最近的处方或医学考试中试一试,并让我们了解您的想法呢?


— Julien;


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/amazon-comprehend-medical-natural-language-processing-for-healthcare-customers/


2019-10-18 12:31847
用户头像

发布了 1895 篇内容, 共 143.1 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

为行动而读书-《麦肯锡精英高效阅读法》读书笔记

Harris

读书笔记

Jenkins通过OpenSSH实现Windows下的CI/CD

运维研习社

jenkins CI/CD Windows Server 2012 R2

面试官一上来就问我Chrome底层原理和HTTP协议(万字长文)

我是哪吒

大前端 后端 chorme 28天写作 2月春节不断更

IO 模型知多少 | 理论篇

io

2021年目标,我打算这样去实现

谙忆

你好,2021~

数据社

程序员 2021年展望

为什么做这样一个产品之容量评估篇

数列科技杨德华

28天写作

BOE(京东方)全面发力8K 成为央视8K超高清技术合作伙伴

爱极客侠

Dart 后台开发 Aqueduct 插入数据 获取数据API

人生如梦

flutter dart

如何解决Nginx实现动静分离或反向代理时资源路径不匹配

运维研习社

nginx 反向代理 动静分离

抓包带你详解TCP的11种状态

运维研习社

三次握手 四次挥手 TCP/IP 抓包

关于Linux系统中Message中的Session日志详解

运维研习社

Centos 7

翻译:《实用的Python编程》02_02_Containers

codists

Python 人工智能 容器 后端 数据结构与算法

说说规则引擎

张老蔫

28天写作

Nginx加密套件配置不当,造成SSL无法建立连接

运维研习社

nginx zabbix SSL证书 证书监控

牛启新春|优质文章人气大挑战

InfoQ写作社区官方

热门活动

Instana:如何评价可观察性方案?

行人23

创业公司人力资源体系建设的几点思考

一笑

人力资源 28天写作

测试技术

牛鬼蛇神VS魑魅魍魉

Dart 后台开发 Aqueduct集成Swagger客户端

人生如梦

flutter dart

管理笔记 [9]:组织与督导,管理者的两个宝

L3C老司机

28天写作

Kafka.03 - Message 介绍

insight

kafka 2月春节不断更

实例详解Linux下ulimit每个参数

运维研习社

Linux ulimit linux系统资源管理 open file

京东方“8K+5G”技术助力牛年春晚 开启超高清视频直播时代

爱极客侠

一文搞懂Linux下Ulimit资源限制

运维研习社

Linux linux命令 ulimit

Nginx如何监控各server的流量

运维研习社

nginx Prometheus zabbix upstream

学习 Java 语言,你必须知道的 Java 简史

白色蜗牛

Java spring 程序员

iOS BAT面试对答题

ios 面试

做出赋能其他人的产品是技术牛人最好的证明

刘华Kenneth

敏捷 平台

【STM32】CubeMX+HAL 输出PWM

AXYZdong

硬件 stm32 2月春节不断更

第十三周 数据应用二 作业 「架构师训练营 3 期」

胡云飞

Amazon Comprehend Medical ,针对医疗保健客户的自然语言处理_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章