Amazon Polly借助远距离通信为用户提供医疗服务
2017年07月04日 由 yining 发表
53299
0
随着人口持续增长,医疗保健服务正在不断地改变提升。有哪种技术能应对人类在医疗保健相关服务的需求呢?
这篇文章将会提到英国的Inhealthcare医疗保健平台怎样使NHS(英国国家医疗服务系统)提供者利用Amazon Polly在远程通讯方面的能力为用户提供医疗服务的。
Amazon Polly 是一种可将文本转换为逼真语音的服务,具有交互式语音应答技术。借助 Amazon Polly,您可以构建支持聊天的应用程序,从而打造全新类别的具有语音功能的产品。Amazon Polly 是一种 Amazon AI 服务,它使用高级深度学习技术来合成很像人声的语音。这篇文章将会展示Amazon Polly是如何用呼叫脚本设计工具帮助设计和模拟自动电话呼叫?电话呼出如何被安置?还有合成语音如何通过Amazon Polly产生等等。
交互式语音应答(IVR)
交互式语音应答技术已经存在很久了,几乎每个人都知道如何使用它。它有着双向沟通能力;计算机可以用合成音与人类沟通,而人类使用双音多频(DTMF)代码与计算机交流。
Amazon Polly是如何工作的?
Inhealthcare平台包括可以自动管理和安排远程通讯的数字通道引擎(Digital pathway engine),集成开发环境(IDE)提供工具用来设计和建立临床路径和方案,它们将会被发布到数字通道引擎上。呼叫脚本设计者(Call script designer)作为集成开发环境的一部分被用来构建自动电话。
在适当的时间,临床方案已经被发布到数字通道引擎,短信发送到语音信息传送系统(VMS),微服务(Micro-service)对电话呼叫进行管理。电话呼叫可以持续从几秒到几分钟时间不等,取决于它的呼叫脚本的复杂度。VMS的责任是解释呼叫脚本,管理电话呼叫状态,并且报告回数字通道引擎。在通过呼叫脚本的工程中,VMS排队等候电话界面管理指令(TIM)执行。第一个指令是打电话,使用星号来完成。一个开放源码PBX系统配置去连接一个远程会话初始化协议(SIP)的提供者。SIP是一个通用的电话系统协议。
在呼叫建立之前,VMS逐句通过呼叫脚本。信息随着合成通话从Amazon Polly中恢复而被传递,并且呼叫接收人的回复将采取电话按键形式(DTMF代码)。听起来像是现实中的交谈,但Amazon Polly会回复地非常快。因为延迟和停播时间会让人沮丧并增加挂断的可能性。
在使用Amazon Polly之前,我们使用一个本地文字转语音引擎(TTS)。初始时我们担心Amazon Polly可能不能足够快的做出反应,但是相反地,我们发现它有着非常低的延迟。Amazon Polly的一大优势是成本效率:我们不再需要担心TTS能使用有效的CPU和RAM。它有一个非常简单的基于使用情况的现收现付制定价模式。成本随着缓存策略可以更进一步减少。使用一种简单的算法,我们能将文本分离成句子,如果句子已经被合成,它会从一个本地缓存中直接恢复。我们当前看到的一个缓存命中概率超过80%。
监控
Amazon Polly度量与原装Amazon CloudWatch结合,因此很容易安装监视器和警报来记录Amazon Polly的活动。然而,我们也有我们自己的监视,主要基于Coda Hale度量库,从而我们可以检查像往返时间和缓存命中等事情。如下面的图表所示,我们发现Amazon Polly一般有大概50ms的潜伏期。
节流
Amazon Polly强制执行节流在并发请求数量和每秒的请求率上。超过这些限制的话,异常将会被传回。针对于这一点,我们创建了一个为执行语音合成的多线程组可以配置的pool size。尽管我们能处理许多同时发生的呼叫,但是我们只能对一个配有内存阻塞队列的小的线程组讲话。
文本至语音(TTS)的线程池
Java代码限制Amazon Polly同时连线数为10
为了确保总体速率不被破坏,我们使用一个Google Guava项目里的限速器。
速率限制
Java代码限制Amazon Polly每秒请求的速率为20
语音合成标记语言(SSML)
输入到Amazon Polly里可以是原始文本或是SSML。我们使用SSML因为它允许更好的控制语音是怎样合成的。现在我们不能使用许多像这样的控制特性,但在未来,我们期待能更多地使用,并且将它们整合到呼叫脚本设计工具中。例如,我们可以控制语速减慢。运用‘x-loud’韵律来确保语音可以很容易的听到,因为我们的许多听者都是老年人。同时也使用8 kHz的取样率和一个脉冲编码调制(PCM)格式,一般都是电话通常期望的数据。
呼叫Amazon Polly
Java代码请求Amazon Polly的合成语音
呼叫脚本设计工具
我们也在设计呼叫脚本时使用Amazon Polly,因为它在电话呼叫听起来怎样上面提供即时反馈。呼叫脚本设计工具(下图表所示)简化了这个过程,通过模拟电话呼叫来提供即时反馈。右侧的软件电话键盘被用来与模拟电话互动,并且副本在它的上面被打印出来。此外,这些模拟通过呼叫脚本来核实和审计流程。
领域特定语言(DSL)
一个简单的DSL被用来描述呼叫脚本。在前述图表中,右侧面板通过呼叫脚本给出了一个流程的视觉再现。DSL允许分支,条件逻辑还有变量被使用,因此流程会根据需要来变得简单或困难。
下面的DSL片段读出合成语音来请求电话1或2按键的响应。
呼叫脚本设计者允许合成语音可以通过点击一个图表上的节点来自动生成。在设计阶段准确地听到正在运行的生产系统上的声音是一种强大的特性。它给出即时反馈,引领了更快更有效的设计过程。
注:此文为编译作品,作者为Michael Wray,原网站:
https://amazonaws-china.com/cn/blogs/ai/using-amazon-polly-to-deliver-health-care-for-people-with-long-term-conditions/