写点什么

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

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

关注

评论

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

「架构师训练营」Week5作业

Frank Zeng

架构师训练营第5周作业

时来运转

基于领域驱动设计的业务中台架构设计

冯文辉

中台 业务中台 领域驱动设计 DDD

学习总结 -- Week 5

吴炳华

极客大学架构师训练营

Week 05 学习总结

卧石漾溪

极客大学架构师训练营

陈芳,高考之后我要学计算机专业,将来干IT发财了,我就娶你!

张小方

程序员 面试 薪资 毕业

计算机操作系统基础(十五)---使用fork系统调用创建进程

书旅

php laravel 操作系统 进程 线程’

互联网中的缓存

陈皮

MQ 核心概念

陈皮

Intellij IDEA必备插件,提高效率的“七种武器”

码农神说

面试 IDEA idea插件

第5周总结

娄江国

极客大学架构师训练营

架构师训练营第五章总结

吴吴

阿里巴巴、百度、美团都在用的 Spring Cloud 微服务架构

java通天架构哪吒

Spring Cloud SpringCloud

第五周总结

秦宝齐

课程作业

第五周总结

Acker飏

极客大学架构师训练营

架构师训练营第五周作业

王铭铭

架构感悟5-算法之美

旭东(Frank)

架构 算法 感悟 极客大学架构师训练营

UC Token即将强势登陆

Geek_116789

负载均衡(Load Balance)

陈皮

【架构师训练营】第五周作业

Mr.hou

极客大学架构师训练营

分布式技术总结

LEAF

架构师训练营Week 05 学习总结

Frank Zeng

IOTA架构实战:大数据即时多维查询引擎构建【视频】

易观大数据

大数据 架构模式 查询引擎 数据算法

架构师训练营第五章作业

吴吴

架构师训练营 第五周 基于虚拟节点的一致性Hash算法作业

且听且吟

极客大学架构师训练营

架构师训练营第五周总结

王铭铭

【架构师训练营】第五周总结

Mr.hou

极客大学架构师训练营

架构师训练营第五周总结

sunnywhy

「架构师训练营」第五周作业

旭东(Frank)

算法 极客大学架构师训练营 哈希 一致性哈希

架构师训练营第5周总结

时来运转

分布式缓存 - 第五周总结

孙志平

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