CN116343776A - 语音识别方法、装置、***、设备、介质和程序产品 - Google Patents
语音识别方法、装置、***、设备、介质和程序产品 Download PDFInfo
- Publication number
- CN116343776A CN116343776A CN202310368994.1A CN202310368994A CN116343776A CN 116343776 A CN116343776 A CN 116343776A CN 202310368994 A CN202310368994 A CN 202310368994A CN 116343776 A CN116343776 A CN 116343776A
- Authority
- CN
- China
- Prior art keywords
- audio
- voice
- network state
- state data
- agent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000009432 framing Methods 0.000 claims abstract description 46
- 230000002787 reinforcement Effects 0.000 claims abstract description 37
- 230000009471 action Effects 0.000 claims description 133
- 238000011156 evaluation Methods 0.000 claims description 48
- 230000006870 function Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 239000003795 chemical substances by application Substances 0.000 description 63
- 238000010586 diagram Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 12
- 230000015654 memory Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000009825 accumulation Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000002955 isolation Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000037433 frameshift Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Telephonic Communication Services (AREA)
Abstract
本公开提供了一种语音识别方法,可以应用于云计算技术领域以及人工智能技术领域。该语音识别方法应用于用户终端,所述方法包括:获取当前时刻的网络状态数据;基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,其中,所述第一智能体是基于强化学习形成的;将所述音频切片发送至语音识别服务器;以及接收来自所述语音识别服务器的语音识别信息。本公开还提供了一种语音识别装置、***、设备、存储介质和程序产品。
Description
技术领域
本公开涉及云计算技术领域以及人工智能技术领域,具体地涉及一种语音识别方法、装置、***、设备、介质和程序产品。
背景技术
云端语音识别一种将语音放置在远端实现语音识别处理的技术方案,一般情况下,该方案将语音识别引擎放置于云端的服务器中,将语音采集/发送的逻辑放置于用户终端的客户端中,客户端采集用户语音,并作一些预处理后传输到识别引擎所在的服务器,在服务器将语音识别后,返回识别的结果至用户终端。
在该方案的背景下,现有存放云端语音识别逻辑服务器处于机房中心,在某个城市距离机房中心所在城市距离较远的情况下,会导致链路延时较长。在语音数据传输至机房中心,再从机房返回识别后的结果时加剧延时。现有方案,并不能保证在复杂网络链路中,制定符合当前网络状态的数据流发送策略,难以保证语音数据传输的及时性。
发明内容
鉴于上述问题,本公开提供了提高远端语音识别效率和语音识别稳定性的语音识别方法、装置、***、设备、介质和程序产品。
根据本公开的第一个方面,提供了一种语音识别方法,所述方法应用于用户终端,所述方法包括:获取当前时刻的网络状态数据;基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,其中,所述第一智能体是基于强化学习形成的;将所述音频切片发送至语音识别服务器;以及接收来自所述语音识别服务器的语音识别信息。
根据本公开的实施例,其中,所述基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,包括:获取预设的多个切片动作;基于所述当前时刻的网络状态数据和所述预设的第一智能体,对所述多个切片动作进行评价打分,得到多个动作评价值,其中,所述多个动作评价值至少包括第一动作评价值,所述第一动作评价值是所述多个动作评价值中分数最高的值,所述第一动作评价值对应第一切片动作;以及基于所述第一切片动作,对所述用户语音音频流进行分帧。
根据本公开的实施例,其中,在所述接收来自所述语音识别服务器的语音识别信息后,还包括:获取下一时刻的网络状态数据;基于所述当前时刻的网络状态数据和所述下一时刻的网络状态数据,计算奖励值;基于所述奖励值和所述网络状态数据,计算标准目标值;获取所述第一智能体的第一模型参数;以及基于所述标准目标值、所述第一动作评价值以及所述第一模型参数,计算第二模型参数,其中,所述第二模型参数用于形成第二智能体。
根据本公开的实施例,其中,所述智能体是基于动作价值函数形成的,所述基于所述当前时刻的网络状态数据和所述预设的第一智能体,对所述多个切片动作进行评价打分,得到多个动作评价值,包括:对于一个所述切片动作,将所述当前时刻的网络状态数据、所述切片动作和所述第一模型参数作为输入数据,通过所述动作价值函数计算,得到动作评价值。
根据本公开的实施例,其中,所述网络状态数据至少包括音频识别速度,所述获取当前时刻的网络状态数据,包括:获取音频时长、开始时间以及识别结果拿到时间;基于所述音频时长、所述开始时间以及所述识别结果拿到时间计算所述音频识别速度。
根据本公开的实施例,其中,所述基于所述当前时刻的网络状态数据和所述下一时刻的网络状态数据,计算奖励值,包括:基于当前时刻的所述音频识别速度和上一时刻的所述音频识别速度,计算所述奖励值。
本公开的第二个方面,提供了一种语音识别方法,其中,所述语音接收方法应用于语音识别服务器,所述方法包括:接收来自用户终端的音频切片,所述用户终端是所述音频切片初始的发送端,所述音频切片是所述用户终端通过获取到的当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧得到的;按照预设的语音识别逻辑,识别所述音频切片,得到语音识别信息;以及将所述语音识别信息发送至所述用户终端。
本公开的第三个方面,提供了一种语音识别方法,其中,所述方法应用于语音识别***,所述语音识别***包括:用户终端和语音识别服务器,所述方法包括:由所述用户终端获取当前时刻的网络状态数据;基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,其中,所述第一智能体是基于强化学习形成的;由所述语音识别服务器接收来自所述用户终端的音频切片;按照预设的语音识别逻辑,识别所述音频切片,得到语音识别信息;以及将所述语音识别信息发送至所述用户终端。
本公开的第四个方面,提供了一种语音识别装置,所述装置应用于用户终端,所述装置包括:网络状态获取模块,用于获取当前时刻的网络状态数据;音频切片模块,用于基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,其中,所述第一智能体是基于强化学习形成的;切片发送模块,用于将所述音频切片发送至语音识别服务器;以及语音识别信息接收模块,用于接收来自所述语音识别服务器的语音识别信息。
根据本公开的实施例,其中,所述音频切片模块,用于获取预设的多个切片动作;基于所述当前时刻的网络状态数据和所述预设的第一智能体,对所述多个切片动作进行评价打分,得到多个动作评价值,其中,所述多个动作评价值至少包括第一动作评价值,所述第一动作评价值是所述多个动作评价值中分数最高的值,所述第一动作评价值对应第一切片动作;以及基于所述第一切片动作,对所述用户语音音频流进行分帧。
根据本公开的实施例,其中,所述装置还包括智能体更新模块,用于获取下一时刻的网络状态数据;基于所述当前时刻的网络状态数据和所述下一时刻的网络状态数据,计算奖励值;基于所述奖励值和所述网络状态数据,计算标准目标值;获取所述第一智能体的第一模型参数;以及基于所述标准目标值、所述第一动作评价值以及所述第一模型参数,计算第二模型参数,其中,所述第二模型参数用于形成第二智能体。
根据本公开的实施例,其中,所述智能体是基于动作价值函数形成的,所述音频切片模块,用于对于一个所述切片动作,将所述当前时刻的网络状态数据、所述切片动作和所述第一模型参数作为输入数据,通过所述动作价值函数计算,得到动作评价值。
根据本公开的实施例,其中,所述网络状态数据至少包括音频识别速度,所述网络状态获取模块,用于获取音频时长、开始时间以及识别结果拿到时间;基于所述音频时长、所述开始时间以及所述识别结果拿到时间计算所述音频识别速度。
根据本公开的实施例,其中,所述智能体更新模块,用于基于当前时刻的所述音频识别速度和上一时刻的所述音频识别速度,计算所述奖励值。
本公开的第五个方面,提供了一种语音识别装置,所述装置应用于语音识别服务器,所述装置包括:切片接收模块,用于接收来自用户终端的音频切片,所述用户终端是所述音频切片初始的发送端,所述音频切片是所述用户终端通过获取到的当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧得到的;语音识别模块,用于按照预设的语音识别逻辑,识别所述音频切片,得到语音识别信息;以及语音识别信息发送模块,用于将所述语音识别信息发送至所述用户终端。
本公开的第六个方面,提供了一种语音识别***,所述***包括:用户终端和语音识别服务器,其中,所述用户终端被配置为获取当前时刻的网络状态数据;基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,其中,所述第一智能体是基于强化学习形成的;以及所述语音识别服务器被配置为接收来自所述用户终端的音频切片;按照预设的语音识别逻辑,识别所述音频切片,得到语音识别信息;将所述语音识别信息发送至所述用户终端。
本公开的第七个方面,提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述语音识别方法。
本公开的第八个方面,还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述语音识别方法。
本公开的第九个方面,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述语音识别方法。
在本公开的实施例中,通过强化学习的方法对用户语音音频实现动态分帧,使得在客户端与服务器距离较远,网络状况较为复杂的情况下,能够避免音频堆积而导致的识别延迟严重,调整分帧增加的延迟对用户基本无感,从而达到准实时的效果,大大提升了用户体验,并以最低的开发量和机房成本达到了最好的效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1A示意性示出了根据本公开实施例的语音识别方法的应用场景图;
图1B示意性示出了根据本公开实施例的强化学习方法的示意框图;
图1C示意性示出了根据本公开实施例的强化学习过程演示图;
图2示意性示出了根据本公开实施例的语音识别方法的流程图;
图3示意性示出了根据本公开实施例的音频分帧方法的流程图;
图4示意性示出了根据本公开实施例的智能体更新方法的流程图;
图5示意性示出了根据本公开实施例的网络状态数据获取方法的流程图;
图6示意性示出了根据本公开实施例的数据采集和模型更新方法的流程图;
图7示意性示出了根据本公开实施例的语音识别方法的流程图;
图8示意性示出了根据本公开实施例的语音识别***之间的交互流程图;
图9示意性示出了根据本公开实施例的语音识别***的架构图。
图10示意性示出了根据本公开实施例的语音识别装置的结构框图;
图11示意性示出了根据本公开实施例的语音识别装置的结构框图;以及
图12示意性示出了根据本公开实施例的适于实现语音识别方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
在对本公开的实施例进行详细揭示之前,对本公开涉及的关键技术术语进行一一说明,如下所示:
自动语音识别:(Automatic Speech Recognition,缩写为ASR),是将声音转化为文字的技术。原理在于:把声音切开成多个小段,每小段称为一帧。分帧操作一般不是简单的切开,而是使用移动窗函数来实现,帧与帧之间一般是有交叠的,如图一(见第五章)所示,每帧的长度为25毫秒,每两帧之间有25-10=15毫秒的交叠。我们称为以帧长25ms、帧移10ms分帧。本***中这个动作是在服务端做的,与客户端的采集分帧不同。分帧后,语音就变成了很多小段。但波形在时域上几乎没有描述能力,因此必须将波形作变换。常见的一种变换方法是提取MFCC特征,根据人耳的生理特性,把每一帧波形变成一个多维向量,可以简单地理解为这个向量包含了这帧语音的内容信息。这个过程叫做声学特征提取。至此,声音就成了一个12行(假设声学特征是12维)、N列的一个矩阵,称之为观察序列,这里N为总帧数。然后输入深度学习模型进行End2End识别。
语音识别工具包:又称ASR SDK,用于将声音转化为文字。
TCP:一种基于连接的网络传输协议。
UDP:一种基于报文的网络传输协议。
因为语音是实时流式产生的,没产生前不能提前发送数据,产生后要马上发送数据给服务器,以便服务器尽快收到数据并识别,为了保证低延迟音频要实时发送,而为了保证稳定性又使用了TCP协议,并且是单线程串行发送,这样会导致的后果是如果客服端与服务端距离较远或者其他原因导致的RTT较久时,会导致识别结果返回很慢。
现有的方案是固定以80ms的音频时长为单位,切割音频数据,当SDK发送80ms音频数据出去后,需要等请求返回,这时用户还会继续说话,如果80ms音频数据在路上耽误了,比如花了160ms才会回来。如果花了160ms则当前就有160ms的音频等着发送了,如果下一个包(对应的音频时长为80ms)发送还要这么久,那么等它发完时,待发送队列就是240ms时长的音频包(三个音频包)了,如此类推,用户说4s的语音,需要约4s后才能出结果,而不是只是单个包的延时80ms(160ms-80ms)。这里的关键就是延时是网络决定,又不能并发传输,而传输一次时长80ms的音频包延时不可控,有时90ms,有时1s,导致识别效率完全不可控。
为了解决现有技术中存在的技术问题,本公开的实施例提供了一种语音识别方法,所述方法应用于用户终端,所述方法包括:获取当前时刻的网络状态数据;基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,其中,所述第一智能体是基于强化学习形成的;将所述音频切片发送至语音识别服务器;以及接收来自所述语音识别服务器的语音识别信息。
在本公开的实施例中,通过强化学习的方法对用户语音音频实现动态分帧,使得在客户端与服务器距离较远,网络状况较为复杂的情况下,能够避免音频堆积而导致的识别延迟严重,调整分帧增加的延迟对用户基本无感,从而达到准实时的效果,大大提升了用户体验,并以最低的开发量和机房成本达到了最好的效果。
图1A示意性示出了根据本公开实施例的语音识别方法的应用场景图。
如图1A所示,根据该实施例的应用场景100可以包括终端设备101、102、103、网络104以及服务器105中。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的语音识别方法可以按照需求由终端设备101、102、103或服务器105执行。相应地,本公开实施例所提供的数据发送装置一般可以按照需求设置于终端设备101、102、103或服务器105中。
应该理解,图1A中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1A描述的场景,通过图1B~图9对公开实施例的语音识别方法进行详细描述。
图1B示意性示出了根据本公开实施例的强化学习方法的示意框图。
如图1B所示,强化学习,通俗的讲就是通过Agent,也就是动作的发起者,发起一个动作(记作A),之后对环境()造成一个影响,环境接受该动作后状态发生变化,同时产生一个强化信号(奖或惩)回馈给Agent,Agent根据强化信号和环境当前状态再选择下一个动作,选择的原则是使受到正强化(奖)的概率增大。选择的动作不仅影响当前强化值(回馈值),而且影响环境下一时刻的状态及最终的强化值。在强化学习中,包含两种基本的元素:状态与动作,在某个状态下执行某种动作,这便是一种策略,学习器要做的就是通过不断地探索学习策略,从而获得一个好的策略。
具体的,对于动作的选择是通过动作价值函数Qπ实现的,该动作价值函数的表达式如下所示:
Ut=Rt+γRt+1+γ2Rt+2+...式(1)
其中,Y是指[0,1]区间中的因子,R是指回报奖励。
Qπ(st,at)=E[Ut|st,at] 式(2)
其中,S是指状态的集合,A是指动作的集合,π是指执行动作的策略。
结合该式(1)和式(2),便可以基于状态S和动作A为模型的输入,结合奖励R,计算出不同动作对应的不同回报,并选出回报最大的值,进而通过该回报最大的值对应的动作A指定相应的策略。
图1C示意性示出了根据本公开实施例的强化学习过程演示图。
如图1C所示,该实施例中展示立深度Q神经网络(Deep Q-learning Network,缩写为DQN)的强化学习过程,具体的,把DQN记为Q*(s,a;w),其中,神经网络的参数是w,神经网络的输入是状态s,神经网络的输出所有动作的打分,我们通过奖励来学习神经网络,神经网络给动作的打分就会逐渐改进,打分会越来越准。当前观测到状态st,用DQN把st作为输入,给所有的动作打分,选出分数最高的动作,作为at,Agent执行at这个动作后,环境会改变状态,得到新的状态st+1,环境还会告诉我们这一步的奖励rt,奖励可以是正的可以是负的,也可以是0。
奖励就是强化学习中的监督信号,DQN要靠这些奖励来训练,有了新的状态st+1,再次输入DQN对所有的动作打分,Agent选择分数最高的动作作为at+1,Agent执行at+1后,环境会再更新状态s,还会再给一个奖励r。
然后还是重复这个过程,让DQN给动作打分,Agent选择分数最高的动作来执行,然后环境再更新状态s,再给奖励r,不断重复这个过程。
图2示意性示出了根据本公开实施例的语音识别方法的流程图。
如图2所示,该实施例的语音识别方法包括操作S210~操作S240,该语音识别方法可以由终端101、102、103执行。
在操作S210中,获取当前时刻的网络状态数据。
根据本公开的实施例,所述网络状态数据包括:平均带宽、识别延时、网络最小包平均往返时间以及音频包识别耗时。
其中,平均带宽是指当前时刻所处的时段观测到的平均带宽,记作“bw”;识别延时是指当前时刻所处的时段的识别延时,记作“reg_speed”;网络最小包平均往返时间是指当前时刻所处的时段的网络最小包平均往返时间,记作“rtt_avg”;音频包识别耗时是指当前时刻所处时段(识别结果对应的)音频包ASR引擎识别耗时,记作“server_reg_time”。上述的“平均带宽、识别延时、网络最小包平均往返时间以及音频包识别耗时”统一记作状态“St”,状态“St”是强化学习网络算法的输入。其中,时段可以是一个固定时间长度的时间段,该固定时间长度的时间段可以是由研发人员自行设定,例如,将一个时段的周期设置为1S或2S,在控制语音切片时,可以参考1S或2S的时间段内的可表征网络状况的数据。当然,时段也可以是一个非固定时间长度的时间段,该时间段的长度可以是根据。
需要说明的是,上述的网络状态数据中各个数据都是在一定的时间周期内进行统计的,由于不同的网络状态数据的数据采集的差异性,上述每个网络状态数据在采集周期方面各有不同,即采集的时刻一致,但采集的周期不同。例如,对于平均带宽“bw”和网络最小包平均往返时间“rtt_avg”的一次探测间隔为10S,而识别延时“reg_speed”的一次探测间隔周期为1S。
在操作S220中,基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,其中,所述第一智能体是基于强化学习形成的。
具体的,智能体节点观察环境状态并根据动作选择策略选出动作来控制音频分帧大小,得到执行此动作后的新状态和奖励,然后将状态、选择的动作、新状态和奖励存入经验池。智能体是强化学习网络算法的执行单元,用DQN函数实现。
其中,智能体是基于强化学习算法形成的,经典的强化学习算法包括Q-learning以及Sarsa等基于值函数的方法,以及REUNFORCE,Actor-Critic等基于策略搜索的方法。此外,强化学习的变体还包括基于模型的强化学习、逆强化学习以及元强化学习等。在本公开的实施例中,可以采用如图1C中的深度神经网络算法,将切片动作作为输入的动作集合A,当前的网络状态数据作为输入的状态集合S,基于当前的DQN模型的中的参数w,输出切片动作的策略。
可以理解的是,上述第一智能体中的“第一”是指在某个非初始阶段的时刻,对于其他的某个非初始阶段的时刻,也可以是例如“第二”、“第三”等表述。
在操作S230中,将所述音频切片发送至语音识别服务器。
在操作S240中,接收来自所述语音识别服务器的语音识别信息。
在专用的语音识别服务器将该语音识别完成,返回识别结果,其中,该识别结果通常是通过文字的形式存在的。
在本公开的实施例中,通过强化学习的方法对用户语音音频实现动态分帧,使得在客户端与服务器距离较远,网络状况较为复杂的情况下,能够避免音频堆积而导致的识别延迟严重,调整分帧增加的延迟对用户基本无感,从而达到准实时的效果,大大提升了用户体验,并以最低的开发量和机房成本达到了最好的效果。
图3示意性示出了根据本公开实施例的音频分帧方法的流程图。
如图3所示,该实施例的音频分帧方法包括操作S310~操作S330,该操作S310~操作S330至少可以部分执行上述操作S220。
在操作S310中,获取预设的多个切片动作。
切片动作是指将音频切割的长度,这些切割的长度都是预先设定好的。
举个例子,动作用于控制音频的切割大小,以函数的形式表达,如下所示:
SplitAudio(x)=50+10x 式(3)
其中,SplitAudio(x)是一个离散函数,x取值从0至45。SplitAudio函数值表示切割原始音频的时长,比如当x为1时,其值为60,那么当用户说话说了60ms就把这个音频数据包发送到服务器识别。这里我们设置了46个动作,分别对应不同的分帧长度(时间单位)。
在操作S320中,基于所述当前时刻的网络状态数据和所述预设的第一智能体,对所述多个切片动作进行评价打分,得到多个动作评价值,其中,所述多个动作评价值至少包括第一动作评价值,所述第一动作评价值是所述多个动作评价值中分数最高的值,所述第一动作评价值对应第一切片动作。
根据本公开的实施例,其中,所述智能体是基于动作价值函数形成的,所述基于所述当前时刻的网络状态数据和所述预设的第一智能体,对所述多个切片动作进行评价打分,得到多个动作评价值,包括:对于一个所述切片动作,将所述当前时刻的网络状态数据、所述切片动作和所述第一模型参数作为输入数据,通过所述动作价值函数计算,得到动作评价值。
结合上述图1B和图1C,基于上述式(1)和式(2)的原理,通过将当前时刻的网络状态数据和切片动作作为入参,在当前第一智能体的参数w,的出切片动作的打分。
具体的,观察到当前的状态st,输入状态st到DQN做一次计算,输出对动作at的打分,并找出分值最高的at。
在操作S330中,基于所述第一切片动作,对所述用户语音音频流进行分帧。
根据该第一切片动作的切割长度,将采集到的音频流进行切割,完成分帧。
需要说明的是,上述操作S310~操作S330需要在非初始化阶段执行,即智能体中的参数w已经是基于历史数据算出的,而非是某些初始化过程中生成的随机数。而对于使用过程中,智能体中的w的迭代过程如下所示:
图4示意性示出了根据本公开实施例的智能体更新方法的流程图。
如图4所示,该实施例的智能体更新方法包括操作S410~操作S450。该操作S410~操作S450执行于上述操作S250后。
在操作S410中,获取下一时刻的网络状态数据。
由于该智能体已经执行了动作at,此时环境会更新状态s为St+1,因此,获取到下一时刻的网络状态数据。
在操作S420中,基于所述当前时刻的网络状态数据和所述下一时刻的网络状态数据,计算奖励值。
当然,在得到了不同时刻的网络状态数据后,可以基于该不同时刻的网络状态数据之间的差异计算出奖励值rt。
根据本公开的实施例,其中,所述基于所述当前时刻的网络状态数据和所述下一时刻的网络状态数据,计算奖励值,包括:基于当前时刻的所述音频识别速度和上一时刻的所述音频识别速度,计算所述奖励值。
具体的,奖励值的计算方式如下所示:
reward=α(reg_speed-reg_speed_last+β) 式(4)
其中,reward也即奖励r,reg_speed为最近时段内音频识别速度,reg_speed_last上一时段内识别速度。
α是增益系数。reward可能是正数也可能是负数,当reward的值是正数时,说明当前分帧策略与当前网络相对之前的策略要匹配;当reward的值是负数时,说明当前分帧策略与当前网络相对之前的策略匹配性差,说明可能网络发生拥塞,需调整分帧长度。β>0,为了避免网络不拥塞但奖励却不增加设置的一个超参数。
在操作S430中,基于所述奖励值和所述网络状态数据,计算标准目标值。
具体的,有了状态St+1和奖励rt,我们就可以用这个公式求出标准目标值,该标准目标值可以理解为有监督学习中的的标注值,也就是正确的目标值,记为yt。标准目标值的具体计算方式如下所示:
其中,γ是指[0,1]区间中的因子,yt是通过奖励rt结合最大动作评价值计算出的。
在操作S440中,获取所述第一智能体的第一模型参数。
该第一模型参数则是第一智能体中的模型参数,智能体是基于外部的网络状态数据不断迭代的,因此,第一智能体中的模型参数第一模型参数可以看作是当前时刻未更新的模型参数,记作wt
在操作S450中,基于所述标准目标值、所述第一动作评价值以及所述第一模型参数,计算第二模型参数,其中,所述第二模型参数用于形成第二智能体。
相应的,第二模型参数是指当前时刻更新智能体的模型参数,记作wt+1。
具体的,结合上述操作S320,该第一动作评价值即最高的at,在此记作qt。则第二模型参数的计算方式如下所示:
Loss=(yt-qt) 式(6)
wt+1=wt-η(yt-qt)dt 式(7)
其中,用反向传播对DQN求导得到梯度dt,具体可以采用Tensorflow和pytorch,两者都能够自动求梯度。η是超参数,指学习率。
而对于上述式(4)中需要计算reward的变量reg_speed如下图5所示:
图5示意性示出了根据本公开实施例的网络状态数据获取方法的流程图。
如图5所示,该实施例的智能体更新方法包括操作S510~操作S520。该操作S510~操作S520至少可以部分执行上述操作S210。
根据本公开的实施例,其中,所述网络状态数据至少包括音频识别速度
在操作S510中,获取音频时长、开始时间以及识别结果拿到时间。
在操作S520中,基于所述音频时长、所述开始时间以及所述识别结果拿到时间计算所述音频识别速度。
具体的,本公开的实施例所应用的场景中,奖励是体现在识别相应速度上,其中,识别响应速度记为reg_speed,指端到端的音频时长(记为audio_len)除以其开始时间(记为audio_gen_time)到识别结果拿到的时间(记为audio_reg_res_time)之差。计算公式如下:
图6示意性示出了根据本公开实施例的数据采集和模型更新方法的流程图。
如图6所示,该数据采集和模型更新方法包括操作S610~操作S640。
在操作S610中,随机初始化DQN。
在操作S620中,在T0时刻,未获取到观测数据。
即在T0时刻,没有观测数据。
在操作S630中,在T1时刻,通过观测到的识别结果计算出reg_speed和server_reg_time,并在历史数据中找到原始音频数据对应的时间的当时的bw和rtt_avg,通过reg_speed、server_reg_time、bw和rtt_avg计算并选择动作。
此时无法计算奖励值。但可以基于当前网络参数计算每个动作的预期值,即将46个动作对应的分帧时长(SplitAudio(a))代入Q*函数,找到最大值及最大值时对应的动作,选择这个动作。
在操作S640中,在T2时刻,收到第二个识别结果,通过标准值计算并更新模型参数。
在之后进行时刻进行音频的切片处理时,重复执行上述操作S630~操作S640即可,当然,重复执行过程中,所对应的时刻需要调整。
图7示意性示出了根据本公开实施例的语音识别方法的流程图。
如图7所示,该语音识别的方法包括操作S710~操作S730。该操作S710~操作S730可以由服务器105执行。
在操作S710中,接收来自用户终端的音频切片,所述用户终端是所述音频切片初始的发送端,所述音频切片是所述用户终端通过获取到的当前时刻的网络状态数据和预设的第一智能体模型,对采集到的用户语音音频流分帧得到的。
在操作S720中,按照预设的语音识别逻辑,识别所述音频切片,得到语音识别信息。
其中,该预设的语音识别逻辑即是ASR引擎,该引擎可以直接对接收到的语音进行识别,并转化为文字。
在操作S730中,将所述语音识别信息发送至所述用户终端。
在本公开的实施例中,通过强化学习的方法对用户语音音频实现动态分帧,使得在客户端与服务器距离较远,网络状况较为复杂的情况下,能够避免音频堆积而导致的识别延迟严重,调整分帧增加的延迟对用户基本无感,从而达到准实时的效果,大大提升了用户体验,并以最低的开发量和机房成本达到了最好的效果。
图8示意性示出了根据本公开实施例的语音识别***内部的数据交互流程图。
如图8所示,收集麦克风采集用户语音,将采集的音频流发送至ASR-SDK进行音频切片,对切片后的数据发送至负载均衡服务器,由负载均衡服务器传输至内外网隔离服务器,再由内外网隔离服务器传输到ASR引擎服务器(语音识别服务器)。
在ASR引擎服务器(语音识别服务器)对该音频切片内容识别后,再将文本返回至内外网隔离服务器,内外网隔离服务器直接将识别后的文本返回到用户终端相应的客户端APP。至此,完成了远端的语音识别。
图9示意性示出了根据本公开实施例的语音识别***的架构图。
如图9所示,音频流通过预处理线程进行预处理后,通过数据发送线程控制音频流的切片大小并实现切片后音频的发送,将音频发送至ASR服务器中。其中,探测线程用于周期性地获取网络状态数据,并进行反馈。
基于上述语音识别方法,本公开还提供了一种语音识别装置。以下将结合图10和图11对该装置进行详细描述。
图10示意性示出了根据本公开实施例的语音识别装置的结构框图。
如图10所示,该实施例的语音识别装置1000包括网络状态获取模块1010、音频切片模块1020、切片发送模块1030以及语音识别信息接收模块1040。该语音识别装置1000应用于终端设备101、102、103中。
网络状态获取模块1010用于获取当前时刻的网络状态数据。在一实施例中,网络状态获取模块1010可以用于执行前文描述的操作S210,在此不再赘述。
音频切片模块1020用于基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,其中,所述第一智能体是基于强化学习形成的。在一实施例中,音频切片模块1020可以用于执行前文描述的操作S220,在此不再赘述。
切片发送模块1030用于将所述音频切片发送至语音识别服务器。在一实施例中,切片发送模块1030可以用于执行前文描述的操作S230,在此不再赘述。
语音识别信息接收模块1040用于接收来自所述语音识别服务器的语音识别信息。在一实施例中,语音识别信息接收模块1040可以用于执行前文描述的操作S240,在此不再赘述。
在本公开的实施例中,通过强化学习的方法对用户语音音频实现动态分帧,使得在客户端与服务器距离较远,网络状况较为复杂的情况下,能够避免音频堆积而导致的识别延迟严重,调整分帧增加的延迟对用户基本无感,从而达到准实时的效果,大大提升了用户体验,并以最低的开发量和机房成本达到了最好的效果。
根据本公开的实施例,其中,所述音频切片模块,用于获取预设的多个切片动作;基于所述当前时刻的网络状态数据和所述预设的第一智能体,对所述多个切片动作进行评价打分,得到多个动作评价值,其中,所述多个动作评价值至少包括第一动作评价值,所述第一动作评价值是所述多个动作评价值中分数最高的值,所述第一动作评价值对应第一切片动作;以及基于所述第一切片动作,对所述用户语音音频流进行分帧。
根据本公开的实施例,其中,所述装置还包括智能体更新模块,用于获取下一时刻的网络状态数据;基于所述当前时刻的网络状态数据和所述下一时刻的网络状态数据,计算奖励值;基于所述奖励值和所述网络状态数据,计算标准目标值;获取所述第一智能体的第一模型参数;以及基于所述标准目标值、所述第一动作评价值以及所述第一模型参数,计算第二模型参数,其中,所述第二模型参数用于形成第二智能体。
根据本公开的实施例,其中,所述智能体是基于动作价值函数形成的,所述音频切片模块,用于对于一个所述切片动作,将所述当前时刻的网络状态数据、所述切片动作和所述第一模型参数作为输入数据,通过所述动作价值函数计算,得到动作评价值。
根据本公开的实施例,其中,所述网络状态数据至少包括音频识别速度,所述网络状态获取模块,用于获取音频时长、开始时间以及识别结果拿到时间;基于所述音频时长、所述开始时间以及所述识别结果拿到时间计算所述音频识别速度。
根据本公开的实施例,其中,所述智能体更新模块,用于基于当前时刻的所述音频识别速度和上一时刻的所述音频识别速度,计算所述奖励值。
根据本公开的实施例,网络状态获取模块1010、音频切片模块1020、切片发送模块1030以及语音识别信息接收模块1040中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,网络状态获取模块1010、音频切片模块1020、切片发送模块1030以及语音识别信息接收模块1040中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,网络状态获取模块1010、音频切片模块1020、切片发送模块1030以及语音识别信息接收模块1040中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图11示意性示出了根据本公开实施例的语音识别装置的结构框图。
如图11所示,该实施例的语音识别装置1100包括切片接收模块1110、语音识别模块1120和语音识别信息发送模块1130。该语音识别装置1100应用于服务器105中。
接收模块1110用于接收来自用户终端的音频切片,所述用户终端是所述音频切片初始的发送端,所述音频切片是所述用户终端通过获取到的当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧得到的。在一实施例中,接收模块1110可以用于执行前文描述的操作S710,在此不再赘述。
语音识别模块1120用于按照预设的语音识别逻辑,识别所述音频切片,得到语音识别信息。在一实施例中,语音识别模块1120可以用于执行前文描述的操作S720,在此不再赘述。
语音识别信息发送模块1130用于将所述语音识别信息发送至所述用户终端。在一实施例中,语音识别信息发送模块1130可以用于执行前文描述的操作S730,在此不再赘述。
在本公开的实施例中,通过强化学习的方法对用户语音音频实现动态分帧,使得在客户端与服务器距离较远,网络状况较为复杂的情况下,能够避免音频堆积而导致的识别延迟严重,调整分帧增加的延迟对用户基本无感,从而达到准实时的效果,大大提升了用户体验,并以最低的开发量和机房成本达到了最好的效果。
根据本公开的实施例,切片接收模块1110、语音识别模块1120和语音识别信息发送模块1130中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,切片接收模块1110、语音识别模块1120和语音识别信息发送模块1130中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,切片接收模块1110、语音识别模块1120和语音识别信息发送模块1130中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图12示意性示出了根据本公开实施例的适于实现语音识别方法的电子设备的方框图。
如图12所示,根据本公开实施例的电子设备1200包括处理器1201,其可以根据存储在只读存储器(ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(RAM)1203中的程序而执行各种适当的动作和处理。处理器1201例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1201还可以包括用于缓存用途的板载存储器。处理器1201可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1203中,存储有电子设备1200操作所需的各种程序和数据。处理器1201、ROM1202以及RAM1203通过总线1204彼此相连。处理器1201通过执行ROM 1202和/或RAM1203中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM1202和RAM 1203以外的一个或多个存储器中。处理器1201也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1200还可以包括输入/输出(I/O)接口1205,输入/输出(I/O)接口1205也连接至总线1204。电子设备1200还可以包括连接至I/O接口1205的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM1202和/或RAM 1203和/或ROM 1202和RAM 1203以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机***中运行时,该程序代码用于使计算机***实现本公开实施例所提供的方法。
在该计算机程序被处理器1201执行时执行本公开实施例的***/装置中限定的上述功能。根据本公开的实施例,上文描述的***、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1209被下载和安装,和/或从可拆卸介质1211被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被处理器1201执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (14)
1.一种语音识别方法,所述方法应用于用户终端,所述方法包括:
获取当前时刻的网络状态数据;
基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,其中,所述第一智能体是基于强化学习形成的;
将所述音频切片发送至语音识别服务器;以及
接收来自所述语音识别服务器的语音识别信息。
2.根据权利要求1所述的方法,其中,所述基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,包括:
获取预设的多个切片动作;
基于所述当前时刻的网络状态数据和所述预设的第一智能体,对所述多个切片动作进行评价打分,得到多个动作评价值,其中,所述多个动作评价值至少包括第一动作评价值,所述第一动作评价值是所述多个动作评价值中分数最高的值,所述第一动作评价值对应第一切片动作;以及
基于所述第一切片动作,对所述用户语音音频流进行分帧。
3.根据权利要求2所述的方法,其中,在所述接收来自所述语音识别服务器的语音识别信息后,还包括:
获取下一时刻的网络状态数据;
基于所述当前时刻的网络状态数据和所述下一时刻的网络状态数据,计算奖励值;
基于所述奖励值和所述网络状态数据,计算标准目标值;
获取所述第一智能体的第一模型参数;以及
基于所述标准目标值、所述第一动作评价值以及所述第一模型参数,计算第二模型参数,其中,所述第二模型参数用于形成第二智能体。
4.根据权利要求3所述的方法,其中,所述智能体是基于动作价值函数形成的,
所述基于所述当前时刻的网络状态数据和所述预设的第一智能体,对所述多个切片动作进行评价打分,得到多个动作评价值,包括:
对于一个所述切片动作,将所述当前时刻的网络状态数据、所述切片动作和所述第一模型参数作为输入数据,通过所述动作价值函数计算,得到动作评价值。
5.根据权利要求3或4所述的方法,其中,所述网络状态数据至少包括音频识别速度,
所述获取当前时刻的网络状态数据,包括:
获取音频时长、开始时间以及识别结果拿到时间;
基于所述音频时长、所述开始时间以及所述识别结果拿到时间计算所述音频识别速度。
6.根据权利要求5所述的方法,其中,所述基于所述当前时刻的网络状态数据和所述下一时刻的网络状态数据,计算奖励值,包括:
基于当前时刻的所述音频识别速度和上一时刻的所述音频识别速度,计算所述奖励值。
7.一种语音识别方法,其中,所述语音接收方法应用于语音识别服务器,所述方法包括:
接收来自用户终端的音频切片,所述用户终端是所述音频切片初始的发送端,所述音频切片是所述用户终端通过获取到的当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧得到的;
按照预设的语音识别逻辑,识别所述音频切片,得到语音识别信息;以及
将所述语音识别信息发送至所述用户终端。
8.一种语音识别方法,其中,所述方法应用于语音识别***,所述语音识别***包括:用户终端和语音识别服务器,所述方法包括:
由所述用户终端获取当前时刻的网络状态数据;
基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,其中,所述第一智能体是基于强化学习形成的;
由所述语音识别服务器接收来自所述用户终端的音频切片;
按照预设的语音识别逻辑,识别所述音频切片,得到语音识别信息;以及
将所述语音识别信息发送至所述用户终端。
9.一种语音识别装置,所述装置应用于用户终端,所述装置包括:
网络状态获取模块,用于获取当前时刻的网络状态数据;
音频切片模块,用于基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,其中,所述第一智能体是基于强化学习形成的;
切片发送模块,用于将所述音频切片发送至语音识别服务器;以及
语音识别信息接收模块,用于接收来自所述语音识别服务器的语音识别信息。
10.一种语音识别装置,所述装置应用于语音识别服务器,所述装置包括:
切片接收模块,用于接收来自用户终端的音频切片,所述用户终端是所述音频切片初始的发送端,所述音频切片是所述用户终端通过获取到的当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧得到的;
语音识别模块,用于按照预设的语音识别逻辑,识别所述音频切片,得到语音识别信息;以及
语音识别信息发送模块,用于将所述语音识别信息发送至所述用户终端。
11.一种语音识别***,所述***包括:用户终端和语音识别服务器,其中,
所述用户终端被配置为获取当前时刻的网络状态数据;基于所述当前时刻的网络状态数据和预设的第一智能体,对采集到的用户语音音频流分帧,得到音频切片,其中,所述第一智能体是基于强化学习形成的;以及
所述语音识别服务器被配置为接收来自所述用户终端的音频切片;按照预设的语音识别逻辑,识别所述音频切片,得到语音识别信息;将所述语音识别信息发送至所述用户终端。
12.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~8中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~8中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310368994.1A CN116343776A (zh) | 2023-04-07 | 2023-04-07 | 语音识别方法、装置、***、设备、介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310368994.1A CN116343776A (zh) | 2023-04-07 | 2023-04-07 | 语音识别方法、装置、***、设备、介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116343776A true CN116343776A (zh) | 2023-06-27 |
Family
ID=86885682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310368994.1A Pending CN116343776A (zh) | 2023-04-07 | 2023-04-07 | 语音识别方法、装置、***、设备、介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116343776A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116825137A (zh) * | 2023-07-03 | 2023-09-29 | 国家计算机网络与信息安全管理中心天津分中心 | 基于多粒度注意力机制的深度合成音频检测方法和装置 |
-
2023
- 2023-04-07 CN CN202310368994.1A patent/CN116343776A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116825137A (zh) * | 2023-07-03 | 2023-09-29 | 国家计算机网络与信息安全管理中心天津分中心 | 基于多粒度注意力机制的深度合成音频检测方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11322138B2 (en) | Voice awakening method and device | |
US10817667B2 (en) | Method and system for a chat box eco-system in a federated architecture | |
US10204097B2 (en) | Efficient dialogue policy learning | |
EP3360313B1 (en) | Feedback controller for data transmissions | |
CN107741976B (zh) | 智能应答方法、装置、介质和电子设备 | |
US20220310072A1 (en) | Two-pass end to end speech recognition | |
US10824664B2 (en) | Method and apparatus for providing text push information responsive to a voice query request | |
US20180213062A1 (en) | Speed and accuracy of computers when resolving client queries by using graph database model | |
WO2017092582A1 (zh) | 一种数据处理方法和装置 | |
CN116127020A (zh) | 生成式大语言模型训练方法以及基于模型的搜索方法 | |
US11706172B2 (en) | Method and device for sending information | |
WO2018149363A1 (zh) | 点击模型应用方法、服务器、存储介质及搜索*** | |
CN116343776A (zh) | 语音识别方法、装置、***、设备、介质和程序产品 | |
CN110956955A (zh) | 一种语音交互的方法和装置 | |
US20200328990A1 (en) | Intelligent Scheduler for Chatbot Sessions | |
US20230051413A1 (en) | Voice call control method and apparatus, computer-readable medium, and electronic device | |
CN109829117B (zh) | 用于推送信息的方法和装置 | |
US20210119927A1 (en) | Service traffic distribution based on time window | |
CN113823282A (zh) | 语音处理方法、***和装置 | |
CN114064943A (zh) | 会议管理方法、装置、存储介质及电子设备 | |
JP2022547418A (ja) | 全二重による音声対話の方法 | |
CN115146775A (zh) | 边缘设备推理加速方法、装置和数据处理*** | |
CN111131354B (zh) | 用于生成信息的方法和装置 | |
CN114564581A (zh) | 基于深度学习的文本分类展示方法、装置、设备和介质 | |
CN113076932A (zh) | 训练音频语种识别模型的方法、视频检测方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |