1. 需求分析与业务理解
1.1 临床诊断流程
根据临床经验,眩晕的临床诊断是有固定流程的,如下图所示:
参考来源:吉林大学中日联谊医院耳鼻咽喉头颈外科 郑军 眩晕概述
1.2 临床痛点
根据临床经验,对于眩晕的诊断和问诊已经形成了比较明确的诊断流程,但医生需要询问的问题比较多,对于每位患者,大部分问诊都是重复的,而且还需要书写问诊记录,所以需要耗费较长的时间。在医生比较繁忙和疲惫时,或者对于没有经验的医生,往往可能会漏掉某些问题,导致漏诊或误诊。
从技术上来说,语音问诊最大的难点和痛点就是通话质量差、有回声、噪声感染、在网络差的时候会表现出更差的通话等,这些问题都是技术上需要克服的难点,如果进行自研,会消耗很大的时间和精力在这上面,但同时又不得不重视这一领域,所以业内对这一问题的解决呼声很高,希望出现技术可靠、功能稳定,快速集成的解决方案。
1.3 临床需求
为了提升临床上对眩晕诊断的准确性以及诊断的效率,拟研发眩晕智能语音问诊产品,其应用场景有如下两种模式:
模式1:线上模式
模式2:线下模式
2. 整体设计方案
2.1 产品架构
整个产品在逻辑上可以划分为客户端和服务端两部分,客户端分为患者端和医生端,基本功能相似,包括交互界面、登录管理、语义播放和语音接收等功能,医生端还包括问诊记录的浏览及编辑交互界面。服务端包括问答管理子系统、问诊记录管理子系统、系统管理子系统和支撑数据库。
2.2 技术架构
技术架构可分为客户端和服务端两大部分,客户端直接面向终端客户,包括患者端和医生端,其中的核心技术包括回声消除、噪音抑制(NS)、语音端点检测(VAD)等,集成QttAudio SDK提供的先进技术,QttAudio专注于为企业提供跨平台的音频解决方案,实现通话过程中的回声消除、噪音抑制、会议混音等。另外QttAudio内置Opus、Speex以及PCM编解码;实时接收多路音频输入,输出混音音频。而且QttAudio提供多平台支持,支持Android、iOS、Windows、Linux及嵌入式Linux系统。
服务端包括语音数据处理层、文本数据处理层、程序逻辑层、技术支撑层和数据支持层。语音数据处理层包括语音合成(TTS)和自动语音识别(ASR)。文本数据处理层包括自然语言处理、知识图谱和知识推理。程序逻辑层包括问答系统和问诊记录管理,承载了系统的业务核心。技术支撑层为整个系统提供了基础技术的支撑。数据支持层为上层提供模型、词库、问答库、推理依赖的本体知识库以及业务中间和结果数据的存储服务。
2.3 总体设计亮点或优势
整体架构设计的亮点主要体现在以下两个方面:
(1)集成了先进的QttAudio SDK:整个系统以语音作为交互指令,所以对接收的语音的质量控制直接关系到服务端提供服务的质量。QttAudio SDK提供的回声消除、噪音抑制等关键技术很好地保证了接收的语音数据的质量。
(2)文本语义的理解:对自然语言处理后的结果,通过知识图谱和知识推理对结构化数据进行了比较准确的语义理解和语义扩展,使得问答系统在理解回答的语义以及是否答非所问起到的关键的作用,也决定了问答系统的正确问答逻辑,最终决定了问诊的质量。
3. 项目实施方案
3.1 项目培训
3.2 费用预算
4. 成品SDK调研对比
实现音视频通话需要解决回音消除、降噪、混音等核心技术问题,在QttAudio面市前,市面上有大致三种解决方案可供选择:
第一种是免费的开源方案WebRTC,SPEEX等,对于企业用户来说,这其实是最昂贵的解决方案,这需要企业投入大量的人力、财力和时间去解决音频技术问题,而减慢了核心业务功能的开发进度;
第二种是国外老牌音频处理公司的解决方案,中小企业无力承受其昂贵的价格,而且技术支持和服务没有本地化,交流沟通多有不便;
第三种是国内云服务厂商,比如腾讯语音云,环信等云方案,采用云方案的优点就是最快速的接入,缺点一是技术方案整体化,不灵活,一些企业只是需要回音消除模块接入现有的IM通讯系统中,就不必采用云方案;二是部署方案单一,一些企业需要离线使用,需要私有云或者局域网环境部署,也不能采用云方案;三是成本不可控,按照通话分钟数或者终端数量收费,稍微一上量这个成本就很高。
有太多的企业和开发者苦恼于复杂的音频处理技术,恼人的回音啸叫等现象,而上述已存在的解决方案又都有明显的缺点。没有一种真正优秀,站在客户角度的解决方案,这就是QttAudio诞生的原因。
5. 总结陈述
眩晕智能问诊产品用于解决临床医生当前面临的临床痛点问题,提升临床上对眩晕诊断的准确性以及诊断的效率,让临床医生和患者同时收益。产品在架构设计上,选用了先进和成熟的QttAudio SDK以及其他第三方解决方案,既有丰富的开发文档支持,也有及时的远程人工支持,避免了研发过程中的技术风险和时间风险。