基于NLG算法的智慧医疗在未来将大放光彩
扫描二维码
随时随地手机看文章
(文章来源:人人都是产品经理)
人工智能正处于非常火热的时期,自然语言处理(NLP)领域也令人兴奋了十年。在阅读理解、语言翻译和创意写作等复杂的任务上,计算机的表现将会和人类一样出色。语言理解能力受益于免费的深度学习库(如Pytext和BERT这样的语言模型),大数据(Hadoop,Spark,Spark NLP),以及云计算(提供GPU和与服务商的NLP服务功能)。
目前市面上做自然语言处理领域的公司有:腾讯、科大讯飞、微软、思必驰、华为等。在医疗领域,一些应用已经从科幻小说变为现实。人工智能系统通过了中国和英国的医学执照考试 ,而且它们比普通医生考得更好。最新的系统比初级医生能更好地诊断出55种儿科疾病。但是,这些系统比第一批计算机视觉深度学习应用中的一些更难构建,因为它们需要具有更广泛常见的医学知识,要处理更多种类的输入,并且必须理解上下文。
自然语言处理由自然语言理解(NLU)和自然语言生成(NLG)构成。NLG是计算机的“编写语言”,它将结构化数据转换为文本,以人类语言表达。即能够根据一些关键信息及其在机器内部的表达形式,经过一个规划过程,来自动生成一段高质量的自然语言文本。如今的数据量巨大,人们根本处理不过来;NLG把数据人性化,帮助人们处理。
NLG系统使用数据分析和人工智能技术来分析复杂的数据集,并采用计算语言学技术在高品质的文字说明来交流分析结果。NLG的工作原理:输入抽象的命题,然后对你输入的自然语言进行语义分析、语法分析进行语言组织然后生成无限接近你想要的文本。例子:输入麦当娜,接下来通过NLG自然语言生成:麦当娜 “歌星”
NLG可以用来帮助患者,让他们了解自己的健康状况,并对自身的医疗保健作出更好的选择;NLG还可以帮助患者更好地照顾自己:包括改变生活方式、自我管理慢性疾病、并配合治疗方案。
最重要的是用NLG来加强病人对病情的了解和支持病人,更好的作出治疗方案。在系统构建的实践中,为中文构建的现成的NLP库和算法在医疗行业的这种“不同的语言”上会遇到各种挫败。不仅是因为命名实体识别或实体解析模型会失败,甚至像符号化、词性标注和句子分割这样的基本任务,现成的模型对大多数医疗行业的句子都没用。
再者医疗行业有数百种语言,千万不要去建立通用的医疗NLP系统。现实是,每个子专业和它的沟通形式都和别专业根本不同,你根本无法做到统一通用。而且,每个医学专业都有很多变化。例如,对于决定是否批准针对MRI的预授权请求,针对植入式脊髓刺激器,需要从预授权表格中查看的项目内容就和别的请求完全不同。另一个例子是在病理学中使用不同的术语来讨论不同类型的癌症。
这些对实际问题会带来影响:我所工作的公司正在进行一个项目,该项目需要训练不同的NLP模型,以从病理报告中提取有关肺癌、乳腺癌和结肠癌的事实。到目前为止,亚马逊的Comprehend Medical仅关注药物价值的正规化(参见上面最后一个“阿司匹林”的例子)。该服务还具有标准的医疗命名实体识别功能,但不能满足任何特定应用的需求。
构建一个AI系统有一种方法是从构建标注验证数据集。例如,如果你对自动化门诊病例成ICD-10编码感兴趣,请让临床医生定义一些代表性样本,对样本进行脱敏,并让专业的临床编码人员对其进行标注(分配正确的代码)。如果你有兴趣从放射学报告中提取关键事件或从患者病例中找出被忽视的安全事件,请首先让临床医生定义一些样本,并正确标注。
这样做通常会在让数据科学团队加入(并浪费很多时间)前提前发现一些“坑”。如果你无法获得足够的数据,或者无法大规模地进行脱敏,那就无法构建可靠的模型。如果在某些情况下临床医生不能一致同意正确的标注,那么要解决的第一个问题是就临床指南达成一致,而不是让数据科学家参与尝试去自动化这种不一致。
最后,如果你发现自己面临非常不平衡的类别(比如你寻找的是每年只有少数人患病的情况),那么在引入数据科学家之前修改问题的定义可能是明智之举。标注的验证集以及数据集其目标是使用标准库或云服务来发现它们能达到的满足用户特定需求的最高准确度。这样做就可以评估下面每项服务的难易程度,包括:训练自定义的模型、定义领域专有的特征、解决方案所需的pipeline步骤和把结果解释给客户。
一旦有了一个有代表性的和已商定并正确标注的验证集,你就可以开始用它来测试现有的库和云服务提供商的服务了。很可能的是,这个测试将立即发现每个产品与你的需求之间的差距。