Speech框架详细解析(一) —— 基本概览

Speech框架详细解析(一) —— 基本概览,第1张

下面我们就看一下该框架的基本信息。

iOS用户习惯于使用Siri与应用进行交互,并在键盘可见时使用听写来捕捉他们的语音。 Speech API允许您在应用程序中扩展和增强语音识别体验,而不需要键盘。

下面看一下该框架的基本结构。

Speech API通过与Apple服务器通信或使用设备上的语音识别器(如果可用)来执行语音识别。 要找出语音识别器是否可用于特定语言,请使用 SFSpeechRecognizerDelegate 协议。

由于您的应用可能需要连接到服务器才能执行识别,因此尊重用户的隐私并将其话语视为敏感数据是非常重要的。 因此,在启动语音识别之前,您必须获得用户的明确许可。

要开始在您的应用程序中使用语音识别:

例如,如果您的待办事项列表应用程序在用户说完“done”时将项目的状态更改为完成,则可以编写 “Lets you mark an item as finished by saying Done” 。

如果用户拒绝许可(或者语音识别不可用),请妥善处理。例如,您可能会禁用指示语音识别可用性的用户界面项目。

使用 SFSpeechURLRecognitionRequest 类对预先记录的磁盘上的音频文件执行识别,并使用 SFSpeechAudioBufferRecognitionRequest 类识别实时音频或内存中的内容。

语音是逐渐识别的,所以你的识别器的处理程序可能会被多次调用。 (检查识别完成时 final 属性的值。)如果您正在使用实时音频,则在识别过程中使用 SFSpeechAudioBufferRecognitionRequest 并将音频缓冲区附加到请求。

这是创建一个简单的识别器的方法,默认为用户当前的语言环境并启动语音识别。

你好华镇电子拥有跨平台的多语种语音识别、语音合成、声纹识别以及系统集成的核心技术。能够应用于各种电子及通信设备,包括:智能玩具,智能家居系统,智能汽车导航及声控,智能手机Smartphone、 PDA、固定电话、移动电话,电信级的服务器及个人电脑等。

分布式语音识别(DSR)是近年来出现的新技术,具有广阔的应用前景。结合ETSI关于DSR的最新标准介绍了DSR系统的组成,分析了DSR的主要技术,如前端特征提取算法、特征压缩与纠检错、服务器端的语音重构算法等,最后对DSR技术的应用做了简单展望。

语音识别开发平台有很多,具体总结如下:(更详细的介绍参见本人的博文:几个常见的语音交互平台的简介和比较)1商业化的语音交互平台1)微软SpeechAPI微软的SpeechAPI(简称为SAPI)是微软推出的包含语音识别(SR)和语音合成(SS)引擎的应用编程接口(API),在Windows下应用广泛。目前,微软已发布了多个SAPI版本(最新的是SAPI54版),这些版本要么作为于SpeechSDK开发包发布,要么直接被包含在windows *** 作系统中发布。SAPI支持多种语言的识别和朗读,包括英文、中文、日文等。2)IBMviaVoiceIBM是较早开始语音识别方面的研究的机构之一,早在20世纪50年代末期,IBM就开始了语音识别的研究,计算机被设计用来检测特定的语言模式并得出声音和它对应的文字之间的统计相关性。1999年,IBM发布了VoiceType的一个免费版。2003年,IBM授权ScanSoft公司拥有基于ViaVoice的桌面产品的全球独家经销权,随后ScanSoft与Nuance合并,如今viaVoice早已淡出人们的视线,取而代之的是Nuance。3)NuanceNuance通讯是一家跨国计算机软件技术公司,总部设在美国马萨诸塞州伯灵顿,主要提供语音和图像方面的解决方案和应用。目前的业务集中在服务器和嵌入式语音识别,电话转向系统,自动电话目录服务等。Nuance语音技术除了语音识别技术外,还包扩语音合成、声纹识别等技术。世界语音技术市场,有超过80%的语音识别是采用Nuance识别引擎技术,其名下有超过1000个专利技术,公司研发的语音产品可以支持超过50种语言,在全球拥有超过20亿用户。苹果的iPhone4S的Siri语音识别中就应用了Nuance的语音识别服务。4)科大讯飞科大讯飞作为中国最大的智能语音技术提供商,在智能语音技术领域有着长期的研究积累,并在中文语音合成、语音识别、口语评测等多项技术上拥有国际领先的成果。占有中文语音技术市场60%以上市场份额,语音合成产品市场份额达到70%以上。5)其他其他的影响力较大商用语音交互平台有谷歌的语音搜索(GoogleVoiceSearch),百度和搜狗的语音输入法等等。2开源的语音交互平台1)CMU-SphinxCMU-Sphinx也简称为Sphinx(狮身人面像),是卡内基-梅隆大学(CarnegieMellonUniversity,CMU)开发的一款开源的语音识别系统,它包括一系列的语音识别器和声学模型训练工具。最早的Sphinx-I由@李开复(Kai-FuLee)于1987年左右开发,使用了固定的HMM模型(含3个大小为256的codebook),它被号称为第一个高性能的连续语音识别系统(在ResourceManagement数据库上准确率达到了90%+)。最新的Sphinx语音识别系统包含如下软件包:Pocketsphinx—recognizerlibrarywritteninCSphinxbase—supportlibraryrequiredbyPocketsphinxSphinx4—adjustable,modifiablerecognizerwritteninJavaCMUclmtk—languagemodeltoolsSphinxtrain—acousticmodeltrainingtools这些软件包的可执行文件和源代码在sourceforge上都可以免费下载得到。2)HTKHTK是HiddenMarkovModelToolkit(隐马尔科夫模型工具包)的简称,HTK主要用于语音识别研究,最初是由剑桥大学工程学院(CambridgeUniversityEngineeringDepartment,CUED)的机器智能实验室(前语音视觉及机器人组)于1989年开发的,它被用来构建CUED的大词汇量的语音识别系统。HTK的最新版本是09年发布的341版,关于HTK的实现原理和各个工具的使用方法可以参看HTK的文档HTKBook。3)JuliusJulius是一个高性能、双通道的大词汇量连续语音识别(largevocabularycontinuesspeechrecognition,LVCSR)的开源项目,适合于广大的研究人员和开发人员。它使用3-gram及上下文相关的HMM,在当前的PC机上能够实现实时的语音识别,单词量达到60k个。4)RWTHASR该工具箱包含最新的自动语音识别技术的算法实现,它由RWTHAachen大学的HumanLanguageTechnologyandPatternRecognitionGroup开发。RWTHASR工具箱包括声学模型的构建、解析器等重要部分,还包括说话人自适应组件、说话人自适应训练组件、非监督训练组件、个性化训练和单词词根处理组件等。5)其他上面提到的开源工具箱主要都是用于语音识别的,其他的开源语音识别项目还有Kaldi、simon、iATROS-speech、SHoUT、ZanzibarOpenIVR等。

序言

随着人工智能命题的提出,近年来涌现出一大批基于人工智能的呼叫中心业务服务商和集成商,仅智能外呼这一模块儿就将近百家公司在推广和运营。可以说整个基于人工智能技术的市场开始蓬勃的发展起来了。
简单介绍一下什么叫做智能语音交互平台。其实大实话就是在呼叫中心基础上,集成 ASR、 TTS、的呼叫服务平台。
那么如何我们自己去搭建智能语音系统呢?
我们先列出搭建智能外呼系统的搭建需要那些技术和服务:

个人认为:
[if !supportLists]·        [endif] 首先最重要的是交换机:

[if !supportLists]1    [endif]PBX也就是交换机,商用设备原厂包括像华为、Avaya、思科、东汇等这些生产硬件交换机,

[if !supportLists]2    [endif]还有就是目前FreeSitch、asterrisk、OpenPBX这些软件交换机。
[if !supportLists]·        [endif] 其次是AI技术: 及包含语音识别、语义理解、语音合成这三种技术是核心组成部分。语音识别相当于人的“耳朵”,接进电话后,对人的话语进行处理转义成系统能够识别的数据交由系统处理去识别。在进一步的话,可以转义为文字。语义理解相当于人的"大脑",根据话语识别人的意图。语音合成,相当于人的”嘴巴“,识别人的意图之后,依照特定的回答方式,去回复和引导对话。
[if !supportLists]·        [endif] 再者是前端服务平台:即用户登录、配置呼叫流程,建立呼叫任务、统计呼叫数据、导出呼叫报表的网站,这个是终端用户唯一可以看到并且 *** 作的界面。
[if !supportLists]·        [endif] 最后是外呼线路:其中包括三大运营商以及其他小型的集成线路供应商,主要目的是外呼电话或者是接入电话。
也有人可能有疑问:”智能语音交互系统最重要的不是人工智能么,和交换机有啥关系?”为什么说最重要的是交换机呢,原因是不管我们是外呼还是接入电话、都需要前端服务平台把外呼请求发送给交换机,通过外呼线路而拨出去。换句话说交换机是控制整体的外呼情况。硬件的交换机,比如说像华为的交换机,价格在大约几万到几百万不等的价格。对于想要建立自己的智能语音交互系统来说,价格对于一些小型公司来说承受不起,而FreeSitch这种软交换则大大方便了小型公司建立自己的智能语音交互系统。
什么是FreeSwitch?
FreeSitch是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSitch 可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。支持多种通讯技术标准,包括 SIP, H323, IAX2 以及 GoogleTalk ,同时也可以方便的与其他开源的PBX系统进行对接。而且具有很强的伸缩性。旨在为音频、视频、文字或任何其他形式的媒体,提供路由和互连 通信协议 。
FreeSwitch 的典型功能

[if !supportLists]·        [endif]在线计费、预付费功能。 

[if !supportLists]·        [endif]电话路由服务器。 

[if !supportLists]·        [endif]语音转码服务器。 

[if !supportLists]·        [endif]支持资源优先权和QoS的服务器。 

[if !supportLists]·        [endif]多点会议服务器。 

[if !supportLists]·        [endif]IVR、语音通知服务器。 

[if !supportLists]·        [endif]VoiceMail服务器。 

[if !supportLists]·        [endif]PBX应用和软交换。 

[if !supportLists]·        [endif]应用层网关。 

[if !supportLists]·        [endif]防火墙/NAT穿越应用。 

[if !supportLists]·        [endif]私有服务器。 

[if !supportLists]·        [endif]SIP网间互联网关。 

[if !supportLists]·        [endif]SBC及安全网关。 
FreeSwitch最典型的功能是作为一个服务器,并用电话客户端软件连接到它。虽然FreeSwitch支持众多的通信协议,但其最主要的协议还是SIP,通过SIP中继发起会话协议。

使用FreeSwitch这种软交换的好处在于,你只需要一台服务器就可以随时搭建自己的外呼中心,而且FreeSwitch支持跨平台运行。能够原生运行Windows、Linux、BSD等诸多32/64位平台。
FreeSwitch内部使用线程模型来处理并发请求,每个连接都在单独的线程中进行处理,不同的线程间通过Mutex互斥访问共享资源,并通过消息和异步事件等方式进行通信。FreeSwitch本身是比较稳定的,它是比较优秀的开源软件。另一方面来讲,FreeSwitch又是比较激进的,它的开发分支里会有大量的新特性加入,因此在测试不全面的情况下,很容易出现不稳定的情况。而在用于生产环境的情况下,系统的稳定性是系统能否正常被使用的关键。之前我们在做项目的过程中,就遇到一些FreeSwitch不稳定的情况,导致外呼情况不理想。举一个例子:我们在进行测试外呼的时候,语音通话断断续续,虽然前端服务平台可以很好的接受到数据的传输,但是,真正在与人工进行沟通的时候,会出现各种各样的沟通障碍,为了解决这一个问题,我们花费了几个月的时间,去研究FreeSwitch的结构特性。终于把这个问题解决掉。我们的项目才得以继续推动,最终得以真正落地部署实施。
也有人可能有疑问:”FreeSwitch软交换虽然重要,但是既然是智能语音交互系统人工智能不重要吗?”,重要,当然重要!容我慢慢道来~

AI 技术
1 通信原理
先简单解释一下正常打电话这个流程

流程:A→PSTN→B

解释:PSTN是Public

Switched Telephone Network,意思为公共交换电话网络,也就是我们的运营商的网络电话,

那我们平时如何给呼叫中心比如打电话是如何打的?:个人A打电话给呼叫中心16 打电话,拨通后听到录音,您好,拨打人工台,请按0键,按键之后,出现盲音,真正接通之后,客服接通了电话。

流程:A→PSTN→PBX→IVR→客服

解释:PBX也叫交换机、相当于整个呼叫中心的出入口

IVR也叫互动/交互式语音应答,语音导航,也就是相当于咨询业务请按键,这一环节,根据业务去分流到客服。

智能语音交互平台(智能机器人)落实到具体具体业务场景是如何实现的:

如:”个人A要在某一个大型酒店预订位子“,

A拨通后先听到了声音,“您好,我是机器人小岳,需要我帮您订位子是吗?
个人A说,“我不要和机器人说话,找个真人来”。
然后听到录音,“为您转接很贵的真人客服,排队中,请稍后”。
几分钟后接通,真人客服接了电话。

流程:A→PSTN→PBX→IVR(TTS→ASR→NLP→TTS)→ACD→客服

解释:在IVR部分:不再需要提示按键,而是直接问来电方需要办理什么业务,然后识别语音、理解意图后,根据用户的需求,回答后转入对应的业务队列排队。

上边是接通的流程,呼出的流程与之相反,就不在赘述了。
2 现在市场上的AI技术的运用
目前市场上的不管是ASR、TTS、NLP都被阿里百度科大讯飞等巨头公司所占据,这些技术在国内基本已经成为定局。像ASR这类引擎市场上大部分都是用的阿里云和讯飞云的,要不就是百度云。阿里云和讯飞云的识别率高一些,可以达到97%左右、百度的差一些,识别率在80%左右,我们当初在做项目的时候选择ASR做过测试,事实证明阿里云识别率更高同时也可以识别方言。因此,我们在做项目的时候,当仁不让的选择了阿里云的

TTS我们选择的是讯飞的,选择的理由很简单,毕竟科大讯飞是人工智能领域巨头级的公司,质量当然有的保证。
3 AI 能力对接
在具体落地中,这个领域的常规参与者通常具备呼叫中心能力或者AI能力其中一种,而主要的对接点也就在于AI能力与呼叫中心设备去对接,而ASR/TTS与呼叫中心设备对接的常规协议主要是mrcp/sip。

媒体资源控制协议(Media Resource Control

Protocol, MRCP)是一种通讯协议,用于语音服务器向客户端提供各种语音服务(如语音识别和语音合成)。有两个版本的MRCP协议,版本2使用SIP作为控制协议,版本1使用RTSP。

实际对接的时候,会遇到不少技术问题,当我们ASR/TTS引擎做私有云部署,为了避免了内外网穿透时防火墙的诸多设置和语音流的时延。这在我们当时对接的时候也花费了好大一番功夫。
前端服务平台:

其中最重要的就是配置呼叫流程这一块儿了,
这一块儿很容易被忽视,但是这反而是可以出成绩的地方。一般来说一套最佳话术模板,可以以一敌万。心理学基础必须要有,一句话怎么说能让接电话的人最大概率的顺着自己的思路走,达成目的,从而形成特定细分领域机器人话术模板,得到最佳的外呼效果(接通率、通话时长、电销意愿、催收意愿)或者是接通效果(满意度)
其余的基本就是web端的东西了,具体功能点呢,即用户登录、配置呼叫流程,建立呼叫任务、统计呼叫数据、导出呼叫报表,这些功能点基本实现就可以,因为站在产品角度,产品最重要的价值就是可以呼通或者接通用户的电话,并且能够准确的识别用户的意图,并且准确的回答用户。这就是智能语音交互系统的最终目标,也一直是我们的最终目标。
外呼线路厂商:

一般如果是购买系统的话,是给提供线路的,只需交一些线路费用。如果是自己做项目的话,网上、淘宝上一大堆,费用可以谈,也给提供线路对接的接口。
结语

虽然现在市场上做智能语音交互系统的比较多,但一般只限于各个行业的电话销售,真正意义上的智能语音交互还是很少的。原因很简单,虽然原理不是很难但是真正落地实施的时候,遇到的困难非常的多,几乎是一步一个坑。好在现在已经真正的落地实施了,方方面面的效果都还是很不错的。一年多的辛苦没有白费。哈哈~

写这篇文章尝试给大家简单介绍一下智能语音交互系统,然才疏学浅,疏漏和不当之处在所难免,权当给大家抛砖引玉。
诸多细节限于主题和篇幅的要求不做详细记述,如有问题,欢迎随时交流。

不知道你用的是什么语音识别的软件,当我觉得可能有如下三个原因。
可能是以下原因:1,你的网络有问题,请检查一下!
2,语音识别的服务提供商服务器出现问题,使得联网连不上,可以与讯飞的客服联系
3,可能是语音识别的服务提供商在迁移服务器什么的。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13200528.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-19
下一篇 2023-06-19

发表评论

登录后才能评论

评论列表(0条)

保存