速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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:31739
用户头像

发布了 1851 篇内容, 共 119.3 次阅读, 收获喜欢 78 次。

关注

评论

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

架构师训练营第二周作业 - 命题作业

阿德儿

龙归科技 |企业办公自动化的未来

龙归科技

三分钟快速掌握 maven插件

田维常

maven

废弃fastjson!大型项目迁移Gson保姆级攻略

Zhendong

Java json Gson Fastjson

图解 | 原来这就是网络

编程 网络 计算机

运维大规模ES集群的思考和实践

京东科技开发者

数据库 elasticsearch 数据分析

“直男”审美?不存在的!来看看 “攻城狮”对一款IoT App的UI改造吧!

IoT云工坊

android App 物联网 IoT sdk

架构师训练营第二周作业 - 学习总结

阿德儿

springboot整合Shiro

Java架构师迁哥

工信部:推动区块链等与工业互联网的融合技术研究

CECBC

大数据

智慧building之一 智能家居

张老蔫

28天写作

数字货币量化对冲搬砖套利交易软件APP系统开发

系统开发

枪手博弈 - 在强者的世界,弱者的生存法则

石云升

博弈论 28天写作 枪手博弈

区块链未来三年内将广泛落地

CECBC

区块链

Kubernetes介绍篇:是什么?为什么要用?

xcbeyond

Docker Kubernetes 容器 28天写作 Kubernetes从入门到精通

全网独家首发!—份破解大厂面试官千层套路的算法+数据结构笔记!真是太TM重要了

比伯

Java 架构 面试 程序人生 算法

币值管理机器人系统开发|量化交易系统开发

W13902449729

币值管理机器人系统开发 量化交易系统开发

量化交易系统开发软件源码

京东搜索排序在线学习的 Flink 优化实践

Apache Flink

flink

【小菜学网络】MAC地址详解

fasionchan

网络编程 网络协议 TCP/IP

又出神作!阿里技术官再出山,操作性超强的Spring事务+AOP实践手册

比伯

Java 编程 程序员 架构 面试

Redis 用的很溜,了解过它用的什么协议吗?

古时的风筝

redis RESP Redis 协议

一周信创舆情观察(1.4~1.10)

统小信uos

【Mysql-InnoDB 系列】锁定读

程序员架构进阶

MySQL innodb 锁机制 28天写作

案例研究之聊聊 QLExpress 源码 (五)

小诚信驿站

刘晓成 小诚信驿站 28天写作 QLExpress源码 聊聊源码

Spring Boot 中的MVC支持

武哥聊编程

Java mvc springboot SpringBoot 2 28天写作

区块链:行业应用即将“引爆”

CECBC

区块链

keycloak集群化的思考

程序那些事

架构设计 架构师 权限系统 程序那些事 集群服务

TRX智能合约系统开发案例详解

DevSecOps:好处和挑战

啸天

敏捷开发 运维自动化 DevSecOps 应用安全

不要用+""代替强转

BerryMew

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