
基于语音识别的智能电子病历(二)
在上一篇文章里介绍了的运营模式和发展历史,有网友问了一些问题,俺就回答一下。
在上一篇文章里介绍了基于语音识别的智能电子病历的运营模式和发展历史,有网友问了一些问题,俺就回答一下。
回答网友的一些问题
1:语音识别是不是实时的?
有实时的服务,一般是用于 局部录音(Partial Dictation)。这部分服务一般是免费的,用的医生也不多。另外我们还开发了微软Teams(类似我们的微信或者钉钉)的语音识别机器人,这个也是提供免费的实时语音识别。整体录音是收费的服务,这个是有一定的时间要求的。不同类型的病历要求不一样,有的要求0.5小时内完成,有的要求12小时内完成。当然价格也不一样,那种时间要求比较急的,每行会贵1-3美分,大约贵15%-50%
2:基于语音识别的智能电子病历能用起来吗?
这个已经发展了很久,大规模使用很多年了。俺在的公司应该是这个细分行业的第三或者第四,“年收入将超过3.3亿美元,并在全球拥有超过14,000名员工,为美国许多最大的医院、医疗系统和专科集团的150,000多名临床医生提供服务” (从百度上复制的,百度上这么介绍的)。关于这个问题,俺和网友讨论了很久,在国内落地确实存在着一些问题。 例如:
- 费用的支付方式
- ME人员的人力成本太大
- 运营模式不确定
过于这个问题,昨天晚上又和一些网友聊了一下,运营模式中的ME的关键,或许请在校医科学生 远程 处理ME工作是一条可行的路。
3:医生说话的口音严重,识别质量不高怎么办?
美国有很多其他裔的医生,印度的、墨西哥的等等。他们的口音非常严重。在实际业务中,医生说话很随意(这和我们使用语音识别软件不同,我们在使用时会下意识的发音清晰),医生经常说着说着, 就开始 嘟嘟囔囔、叽里咕噜,特别是那些时间长的录音。我们都知道医生写的字经常很潦草,其实医生的这种录音也是很潦草的。我们曾经做过测试,随机挑选了200份录音,使用Google的语音识别,然后把识别的结果和我们自己的识别结果比较,Google识别的单词不到我们的75%。其实这说明Google足够好了。因为Google不是医疗行业的非特定人群语音识别,能做到这个地步,已经很不错了。毕竟不是一个赛道。
那么下面开始介绍是如何是如何提高识别质量的。核心就是一个“特定”,其实就是私人定制。我们为每个医生都训练了专属模型。成品衣服肯定不如一个好裁缝的量体裁衣更合身。例如:一个人的左手右手不一样长,他购买的成品西装总是不合身。有口音的医生就是这种情况。
基于语音识别的智能电子病历 的核心之一就是再训练。俺接下来讲一个具体的例子,看了这个例子之后,就清楚了高识别质量是如何做到的。
一个口音严重的医生第一次使用我们的服务,我们的识别引擎在处理这个音频时,发现是新医生(医生是需要先登录的,或者绑定了电话号码。所以我们知道那个医生,所以我们是“特定”),就使用默认模型进行识别。识别之后的质量肯定不好,我们会综合每个单词的识别分数、时长、单词数 等等多个因素 ,计算出一个识别质量的总分。如果这个质量分低于预设值,就交给ME(Medical Editor 岗位,如果感兴趣,可以搜一下 medical editor jobs ,工资待遇还行)人员进行处理。ME会反复听音频,完成电子病历。完成之后,电子病历的内容会回传给 识别引擎。识别引擎针对这个医生进行训练,生成这个医生的专属模型。经过一段时间后,这个医生的识别质量就上去了(哪怕这个医生很多单词的发音是错的,也没有关系)。 所以 基于语音识别的智能电子病历 的一个本质是提供服务,为每一位医生训练语音识别模型。而且这个专属模型是通过长期的再训练不断地提高语音识别质量的。在这个过程中,是有可观的收益(是按行收费的,英文单词又特别长,这个收费还不错)。这就形成了一个完美的闭环。这就是小模型的魅力。在实际的过程中,需要不少存储,一个医生的模型和配置文件等等,也有几百M。所以有了这幅图(俺们那个系统的存储,这只是一小部分)
语音识别服务平台
语音识别服务平台管理着大量的语音识别服务器,完成各种识别任务的调度,完成模型的再训练。我们自己的识别引擎是由 36台语音识别服务器和若干台文件服务器组成的。我们开发的语音识别服务平台,管理了这些服务器、管理了每个医生的模型、实现了每个医生的再训练、实现了对识别请求的调度,优先处理优先级高的请求,还处理了数据的备份和转储。这个平台有着很多细节,是研发和运维慢慢打磨好的。包含了非常多的设置。上面说的语言识别质量的评分规则,也是在这里设置的。我们的平台对接了3个识别引擎:
- Nuance 的离线识别引擎。
- M*Modal 的在线识别引擎。
- 自己的识别引擎,改自 CMU Sphinx,做了一下修改,增加了一些功能
根据业务规则,不同的语音识别请求,走不同的识别引擎。这些识别引擎生成的结果是不一样的,我们在平台中,对识别的结果进行了转换,形成了统一的格式数据。可能有人问,语音识别的结果不就是个文本吗?不是的,识别的结果是有很多内容,例如每个单词的时间点和识别准确率,每个单词的多个结果可能。每个句子基于语义的推测结果。这些内容在后面的业务中是非常重要的,例如:
- 时间点信息和单词准确率会在质量得分计算中使用。
- 时间点信息在音频播放时 会和 电子病历的编辑器 相关联,从而做到 相互定位。
更多推荐
所有评论(0)