CN117457003A - 一种流式语音识别方法、装置、介质及设备 - Google Patents

一种流式语音识别方法、装置、介质及设备 Download PDF

Info

Publication number
CN117457003A
CN117457003A CN202311801603.7A CN202311801603A CN117457003A CN 117457003 A CN117457003 A CN 117457003A CN 202311801603 A CN202311801603 A CN 202311801603A CN 117457003 A CN117457003 A CN 117457003A
Authority
CN
China
Prior art keywords
voice recognition
time
time stamp
voice
module
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.)
Granted
Application number
CN202311801603.7A
Other languages
English (en)
Other versions
CN117457003B (zh
Inventor
周舒婷
王帅
周宏超
蒋维中
陈玉梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Shutian Information Technology Co ltd
Original Assignee
Sichuan Shutian Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Shutian Information Technology Co ltd filed Critical Sichuan Shutian Information Technology Co ltd
Priority to CN202311801603.7A priority Critical patent/CN117457003B/zh
Publication of CN117457003A publication Critical patent/CN117457003A/zh
Application granted granted Critical
Publication of CN117457003B publication Critical patent/CN117457003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请的实施例公开了一种流式语音识别方法、装置、介质及设备,涉及智能语音对话技术领域,本申请通过启动监听任务来监听流式语音识别,实时获取后端与语音识别模块的连接状态,在其处于断开状态时,通过断开时对应的时间戳与启动监听任务对应的时间戳之间的差值大小,确认引起中断的原因并进而确定中断事件类别,确认后根据不同情况的中断对应发起重连请求,并与语音识别模块重新连接继续进行流式语音识别,既能确保对话交互的流畅,又能保证有效信息不丢失,提升语音识别的质量。

Description

一种流式语音识别方法、装置、介质及设备
技术领域
本申请涉及智能语音对话技术领域,具体涉及一种流式语音识别方法、装置、介质及设备。
背景技术
随着科技的不断发展,各种穿戴式、便携式的智能设备,以及大量的应用软件已经完全融入大众生活,常用的输入法、在线会议、直播、实时翻译等一系列应用存在着语音识别的需求。现阶段大部分语音识别模型都是针对非流式语音识别设计的,这意味着语音识别模型需要等待用户停顿或结束说话才能开始识别,并且只能在用户停顿或结束语音输入后才能输出完整的识别结果。如此会造成语音识别延迟时间较长和交互不连贯的问题,因此在人机交互等大量应用场景下基于流式语音识别的需求显得尤为重要。
目前,市面上较为典型的基于流式语音识别的产品可以实时地对接收到的语音数据进行识别,达到边接收用户语音输入数据边返回识别结果的效果。但是,该产品只能识别单轮特定时长(1分钟内)的语音数据,超过上述时长或一定时间内未接收到语音数据则均会中断语音识别功能,因而无法针对长时间多轮语音对话场景实现无间断地实时语音识别,易造成对话交互过程不流畅、错误理解用户意图等现象,导致对话交互效果较差的问题。
发明内容
本申请的主要目的在于提供一种流式语音识别方法、装置、介质及设备,旨在解决现有技术中在流式语音识别过程中由于时间限制导致中断其语音识别功能,进而导致对话交互效果差,语音识别的质量降低的问题。
为实现上述目的,本申请的实施例采用的技术方案如下:
第一方面,本申请实施例提供一种流式语音识别方法,流式语音识别方法包括:
在流式语音识别的过程中,启动第一监听任务,以监听后端与语音识别模块的连接状态是否断开;
在后端与语音识别模块的连接状态为断开时,根据第一时间戳与第二时间戳的差值大小,确定中断事件类别;其中,第一时间戳为连接状态断开时对应的时间戳,第二时间戳为第一监听任务的启动时间对应的时间戳;
根据中断事件类别,向语音识别模块发起重连请求;
响应于重连请求,与语音识别模块重新建立连接,更新第二时间戳为当前时间的时间戳,并继续进行流式语音识别。
在第一方面的一种可能实现方式中,中断事件类别至少包括第一中断事件,第一中断事件是基于第一时间戳与第二时间戳的差值小于预设时间阈值而被标记的中断事件;根据中断事件类别,向语音识别模块发起重连请求包括:
基于第一中断事件连续被标记的次数判断是否大于或等于预设次数;
若是,则终止当前对话任务的所有数据处理并进入待唤醒状态;
若否,向语音识别模块发起重连请求。
在第一方面的一种可能实现方式中,基于第一中断事件连续被标记的次数判断是否大于或等于预设次数包括:
基于第一中断事件被标记次数进行累计加1操作,得到计数值,计数值的初始值为零;
判断第一时间戳与第二时间戳的差值是否大于或等于预设时间阈值;
若是,则重置计数值为零;
若否,则对计数值进行累计加1操作以得到更新后的计数值;
基于更新后的计数值判断是否大于或等于预设次数。
在第一方面的一种可能实现方式中,在后端与语音识别模块的连接状态为断开之后,流式语音识别方法还包括:
基于第一时间戳对前端传输的语音数据进行缓存,得到缓存数据;
在与语音识别模块重新建立连接之后,基于第二时间戳在预设延迟时间后将缓存数据发送至语音识别模块中进行流式语音识别。
在第一方面的一种可能实现方式中,在流式语音识别的过程中,启动第一监听任务,以监听后端与语音识别模块的连接状态是否断开之前,流式语音识别方法还包括:
前端启动第二监听任务,获得第三时间戳和第四时间戳;其中,第三时间戳为语音采集设备开始采集语音流数据的时间戳,第四时间戳为实时采集语音流数据的时间戳;
根据第三时间戳与第四时间戳的差值,获得第二时间差;
判断第二时间差是否大于或等于第一预设时间;
在第二时间差大于或等于第一预设时间的情况下,前端将采集的语音流数据传输至后端,更新第三时间戳为当前时间的时间戳;
后端向语音识别模块发起语音识别请求;
响应于语音识别请求,后端向语音识别模块传输语音流数据以进行流式语音识别。
在第一方面的一种可能实现方式中,前端将采集的语音流数据传输至后端包括:
前端将采集的语音流数据以预设数据传输速率传输至后端。
在第一方面的一种可能实现方式中,预设数据传输速率的获取方法包括:
获取前端音频采集设备的设置参数和预设传输时间,设置参数至少包括采样率、音频通道数以及每次采样样本位数;预设传输时间小于或等于第一预设时间;
基于设置参数和第二时间差计算,得到音频文件大小;
基于音频文件大小和预设传输时间的比值,得到预设数据传输速率。
第二方面,本申请实施例提供一种流式语音识别装置,流式语音识别装置包括用于执行如上述第一方面中任一项提供的一种流式语音识别方法的步骤的多个模块,模块包括监听模块、获得模块、请求模块和重连模块,其中:
监听模块,监听模块用于在流式语音识别的过程中,启动第一监听任务,以监听后端与语音识别模块的连接状态是否断开;
获得模块,获得模块用于在后端与语音识别模块的连接状态为断开时,根据第一时间戳与第二时间戳的差值大小,确定中断事件类别;其中,第一时间戳为连接状态断开时对应的时间戳,第二时间戳为第一监听任务的启动时间对应的时间戳;
请求模块,请求模块用于根据中断事件类别,向语音识别模块发起重连请求;
重连模块,重连模块用于响应于重连请求,与语音识别模块重新建立连接,更新第二时间戳为当前时间的时间戳,并继续进行流式语音识别。
第三方面,本申请实施例提供一种电子设备,电子设备包括:
存储器,用于存储程序指令;
处理器,用于调用存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项提供的一种流式语音识别方法。
第四方面,本申请实施例提供一种存储介质,存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行如上述第一方面中任一项提供的一种流式语音识别方法。
与现有技术相比,本申请的有益效果是:
本申请实施例提出的一种流式语音识别方法、装置、介质及设备,该方法包括:在流式语音识别的过程中,启动第一监听任务,以监听后端与语音识别模块的连接状态是否断开;在后端与语音识别模块的连接状态为断开时,根据第一时间戳与第二时间戳的差值大小,确定中断事件类别;其中,第一时间戳为连接状态断开时对应的时间戳,第二时间戳为第一监听任务的启动时间对应的时间戳;根据中断事件类别,向语音识别模块发起重连请求;响应于重连请求,与语音识别模块重新建立连接,更新第二时间戳为当前时间的时间戳,并继续进行流式语音识别。本申请通过启动监听任务来监听流式语音识别,实时获取后端与语音识别模块的连接状态,在其处于断开状态时,通过断开时对应的时间戳与启动监听任务对应的时间戳之间的差值大小,确认引起中断的原因并进而确定中断事件类别,确认后根据不同情况的中断对应发起重连请求,并与语音识别模块重新连接继续进行流式语音识别,既能确保对话交互的流畅,又能保证有效信息不丢失,提升语音识别的质量。
附图说明
图1为本申请实施例涉及的硬件运行环境的电子设备结构示意图;
图2为本申请实施例提供的流式语音识别方法的流程示意图;
图3为本申请实施例提供的流式语音识别方法在一种实施方式下的流程示意图;
图4为本申请实施例提供的流式语音识别方法在另一种实施方式下的流程示意图;
图5为本申请实施例提供的流式语音识别装置的模块示意图;
图中标记:101-处理器,102-通信总线,103-网络接口,104-用户接口,105-存储器。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决方案是:在流式语音识别的过程中,启动第一监听任务,以监听后端与语音识别模块的连接状态是否断开;在后端与语音识别模块的连接状态为断开时,根据第一时间戳与第二时间戳的差值大小,确定中断事件类别;其中,第一时间戳为连接状态断开时对应的时间戳,第二时间戳为第一监听任务的启动时间对应的时间戳;根据中断事件类别,向语音识别模块发起重连请求;响应于重连请求,与语音识别模块重新建立连接,更新第二时间戳为当前时间的时间戳,并继续进行流式语音识别。
随着科技的不断发展,各种穿戴式、便携式的智能设备,以及大量的应用软件已经完全融入大众生活,常用的输入法、在线会议、直播、实时翻译等一系列应用存在着语音识别的需求。现阶段大部分语音识别模型都是针对非流式语音识别设计的,这意味着语音识别模型需要等待用户停顿或结束说话才能开始识别,并且只能在用户停顿或结束语音输入后才能输出完整的识别结果,如此会造成语音识别延迟时间较长和交互不连贯的问题,因此在人机交互等大量应用场景下基于流式语音识别的需求显得尤为重要。
相对于现有语音识别模型只能针对非流式语音识别,流式语音识别虽然能够实现连贯的交互,但该产品在识别过程中存在时间限制,一旦超过其限制条件则会自动停止语音识别功能,无法不间断地对持续语音数据进行识别。若在用户输入中途该产品中断语音识别功能,则造成对话交互过程不流畅、错误理解用户意图、有效信息缺失等现象产生,进而导致对话交互效果差,语音识别的质量降低。
为此,本申请提供一种解决方案,通过启动监听任务来监听流式语音识别,实时获取后端与语音识别模块的连接状态,在其处于断开状态时,通过断开时对应的时间戳与启动监听任务对应的时间戳之间的差值大小,确认引起中断的原因并进而确定中断事件类别,确认后根据不同情况的中断对应发起重连请求,并与语音识别模块重新连接继续进行流式语音识别,既能确保对话交互的流畅,又能保证有效信息不丢失,提升语音识别的质量。
参照附图2,本申请的实施例提供一种流式语音识别方法,该方法的执行主体为后端设备(在本实施例中也被称为后端),后端设备可以为前述实施例中的电子设备,可以理解的是,后端设备与前端设备(在本实施例中也被称为前端)通信连接,且与语音识别模块通信连接。其中,前端设备可以是如麦克风、声音采集器或录音器等具有语音采集功能的设备,语音识别模块是基于语音识别技术建立的功能模块,可以是一种基于嵌入式的语音识别技术的模块,主要包括语音识别芯片和一些其他的附属电路。
本实施例的方法包括以下步骤:
S10:在流式语音识别的过程中,启动第一监听任务,以监听后端与语音识别模块的连接状态是否断开。
在具体实施过程中,流式语音识别又称语音识别流式服务,语音识别是前端将采集的语音流数据传输至后端,再由后端发送给语音识别模块进行语音识别的过程,流式服务则是在采集的过程中,将前端采集到的语音数据实时地分批次传输至后端,再由后端调用语音识别模块进行识别,实现端到端的流式语音识别,以缩短端到端的等待时间,提升语音识别效率。监听任务,可以是通过如任务监听器、脚本程序等生成的任务,监听任务的启动时间可人为控制,也可将其与另一相关任务关联,相关任务发生时则自动触发监听任务的启动。在保持连接的状态下,后端持续地将分批接收的语音流数据发送至语音识别模块,语音识别模块基于语音识别技术对语音数据进行识别并可返回识别结果得到对应文字,后端与语音识别模块的连接与否将直接决定语音识别能否进行。
S20:在后端与语音识别模块的连接状态为断开时,根据第一时间戳与第二时间戳的差值大小,确定中断事件类别;其中,第一时间戳为连接状态断开时对应的时间戳,第二时间戳为第一监听任务的启动时间对应的时间戳。
在具体实施过程中,后端与语音识别模块的连接状态为断开,当前语音识别任务中断,记录连接断开时的时间戳为第一时间戳,在第二时间戳为监听任务启动时的时间戳的情况下,通过时间戳将时刻进行唯一的标识,以清楚、快速地得到第一时间戳与第二时间戳的差值大小,也即从监听任务启动到连接状态发生变化时的时间长短。根据这段时间的长短则可以确定出中断事件类别,也即引起中断的原因,比如时间较短,则可能是因为语音识别模块接收到了无效的语音,为减少资源浪费而主动与后端断开;而时间较长,则可能是因为语音识别模块接收的有效语音时长超过了其预设时间而与后端断开。
S30:根据中断事件类别,向语音识别模块发起重连请求。
在具体实施过程中,从监听任务启动到连接状态发生变化时的时间长短,可分别标记为不同的中断事件,设定一个预设时间阈值来卡控相对时间的长短,比如基于第一时间戳与第二时间戳的差值小于预设时间阈值,则可标记中断事件类别为第一中断事件,第一时间戳与第二时间戳的差值大于或等于预设时间阈值,则可标记中断事件类别为第二中断事件。
中断事件类别至少包括第一中断事件,第一中断事件是基于第一时间戳与第二时间戳的差值小于预设时间阈值而被标记的中断事件;基于此,根据中断事件类别,向语音识别模块发起重连请求包括:
基于第一中断事件连续被标记的次数判断是否大于或等于预设次数;
若是,则终止当前对话任务的所有数据处理并进入待唤醒状态;
若否,向语音识别模块发起重连请求。
在具体实施过程中,由于对流式语音识别的监听是持续进行的,每一次中断之后都会进行重连,而针对不同的中断事件对应处理方式不同。针对接收无效语音出现的断开情况,如用户输入的当前语音数据流均为一些无意义的语气词无法形成有效的完整可识别语音;或者用户离开用户终端后再没有输入语音的情况下,由于噪声的存在语音识别模块也会识别到诸如“啊”、“呃”等无意义的字段。如上述后端与语音识别模块之间断开被标记为第一中断事件,在进行重连之前将根据其连续出现次数进行决策是否需要重连,同时主动断开前端与后端之间的连接,即停止当前所有数据的处理使得终端进入待唤醒状态,节约资源。而针对接收有效语音出现的断开的情况,直接进行重连。可选地,第一中断事件可以用字母标记,也可以用图像标记等。
具体地,通过设置预设次数来对标记第一中断事件的次数进行卡控,判断标记的次数是否大于或等于预设次数,若否,则表明由于接收无效语音而中断的次数暂时较少,可以向语音识别模块发起重连请求以继续进行流式语音识别的监听,若是,则表明因接收无效语音而中断的情况在持续发生,可判断已经完成了对话任务。比如预设次数设置为N次,标记的次数在初始时为零,那么在连续标记N次第一中断事件后,终止当前对话任务的所有数据处理并进入待唤醒状态,利用上述方式使得后端能自动根据中断情况来结束当前对话任务,而非采用现有技术中获取用户在终端界面的操作信息以用户意志结束对话,同时也能避免通过简单的时间控制对话结束的规则策略而导致的错误中断对话,防止用户因频繁中断对话或由中断造成用户意图理解不完整而产生的烦躁与排斥感,提升对话过程流畅度,提高用户粘度。同时也有效避免了资源浪费,对流式语音识别进行更为全面的管理。
进一步的,基于第一中断事件连续被标记的次数判断是否大于或等于预设次数包括:
基于第一中断事件被标记次数进行累计加1操作,得到计数值,计数值的初始值为零;
判断第一时间戳与第二时间戳的差值是否大于或等于预设时间阈值;
若是,则重置计数值为零;
若否,则对计数值进行累计加1操作以得到更新后的计数值;
基于更新后的计数值判断是否大于或等于预设次数。
在具体实施过程中,第一中断事件为表征语音识别模块因接收到无效语音而产生中断的事件,在连续出现第一中断事件并达到预设次数的情况下,可以认为用户已结束当前对话任务或用户已离开当前终端设备。而且,本申请中,在连续出现第一中断事件的次数没有达到预设次数的情况下,语音识别模块识别到当前语音数据是有意义的有效数据(差值大于或等于预设时间阈值),可认为用户输入了可识别的数据信息,则对计数值进行重置以保证用户后续正常、流程的交互体验,如不重置计数值则在用户正常交互过程中终端会频繁进入待唤醒状态,降低用户体验感。而且,该设计既能允许用户正常交互过程中在一定时间内可静默思考,又能及时发现用户结束当前对话任务的意图进而进入到待唤醒状态,尽可能多的节约资源。
S40:响应于重连请求,与语音识别模块重新建立连接,更新第二时间戳为当前时间的时间戳,并继续进行流式语音识别。
在具体实施过程中,为实现持续对流式语音识别的监听,响应重连请求将语音识别模块重新与后端建立连接,并更新第二时间戳为当前时间的时间戳后,继续进行流式语音识别。简单来说,为了实现时间序列的完整,将前一次的结束时间作为下一次的开始时间进行时间戳的标记,实现持续的实时监听,并避免了数据的遗漏。
本实施例中,通过启动监听任务来监听流式语音识别,实时获取后端与语音识别模块的连接状态,在其处于断开状态时,通过断开时对应的时间戳与启动监听任务对应的时间戳之间的差值大小,确认引起中断的原因并进而确定中断事件类别,确认后根据不同情况的中断对应发起重连请求,并与语音识别模块重新连接继续进行流式语音识别,既能确保对话交互的流畅,又能保证有效信息不丢失,提升语音识别的质量。
在一种实施例中,在后端与语音识别模块的连接状态为断开之后,流式语音识别方法还包括:
基于第一时间戳对前端传输的语音数据进行缓存,得到缓存数据;
在与语音识别模块重新建立连接之后,基于第二时间戳在预设延迟时间后将缓存数据发送至语音识别模块中进行流式语音识别。
在具体实施过程中,为避免有效信息丢失,确保识别语音的完整性,需要基于第一时间戳,在后端与语音识别模块断连产生时立即对前端继续向后端传输的语音数据进行缓存,并在后端与语音识别模块重连后将缓存数据发送至语音识别模块中进行流式语音识别,为避免在后端与语音识别模块之间重连状态不稳定的情况下,缓存数据就已经提前被发送而造成语音数据缺失,在建立重连之后将第二时间戳作为参照点延迟一定时间后,确保重连稳定后再进行缓存数据的发送,保证语音数据的完整性。
参照附图3,在如附图3所示的实施方式下,对本申请实施例提供的流式语音识别方法中,后端与语音识别模块的重连做进一步说明:
前端进行流式语音数据的采集,并将其传输至后端,由后端传输至语音识别模块进行识别,构成了完整的流式语音识别过程,在流式语音识别过程中,为监听后端与语音识别模块的连接状态,通过后端构建第一监听任务并启动,获取第一监听任务启动对应时间为第二时间戳。
基于第一监听任务判断后端与语音识别模块之间的连接状态是否断开,若为否,则返回前述步骤继续监听;若为是,则说明后端与语音识别模块断连,获取连接断开时对应时间的第一时间戳,然后基于第一时间戳与第二时间戳计算第一时间差;通过判断第一时间差是否小于预设时间阈值,区分产生中断的原因,并对应标记中断事件分别处理。
若第一时间差小于预设时间阈值,说明中断原因是接收到了无效语音数据,后端与语音识别模块重连,且将其标记为第一中断事件,后端向语音识别模块发起第一重连请求,同时对该第一中断事件计数值进行加1处理,第一中断事件对应计数值的初始值为零,将前端传输给后端的语音流数据进行缓存,得到缓存数据。
无效语音数据产生的原因有多种,比如人为产生的无效语音,或者噪声带来的无效语音,这并不意味着对话就需要终止,为避免对话的误终结,需要判断第一中断事件的计数值是否大于或等于预设次数,在判断结果为是的情况下,说明已持续性接收到无效数据,可以终结当前所有对话任务并等待唤醒;在判断结果为否的情况下,当前情况还不足以结束对话,更新当前时间戳为第二时间戳,为了保证重连后数据传输的完整,于第一预设延迟时间后再将缓存数据传输至语音识别模块中进行识别,并返回判断连接状态是否断开的步骤,继续监听流式语音识别。
若第一时间差大于或等于预设时间阈值,则说明中断原因是接收到了超过处理能力的单段语音数据,则后端向语音识别模块发起第二重连请求,将前端传输给后端的语音流数据进行缓存,得到缓存数据;后端与语音识别模块重连,并更新当前时间戳为第二时间戳,同时重置第一中断事件的计数值为零,然后将前端传输至后端的缓存数据延迟预设时间后发送至语音识别模块中进行识别,最终返回判断连接状态是否断开的步骤,继续监听流式语音识别。
本申请中,基于第一时间差的大小对不同的中断事件进行区分,并在第一中断事件的基础上结合其连续出现次数判断用户当前对话任务是否结束,以当前对话任务是否结束确定是否需要结束当前所有对话任务,等待下一次唤醒,通过上述双重判断机制的协同工作确定用户结束当前对话的时间节点,然后针对不同的对话交互中断事件对应进行相应的处理,避免语音机器人在调用语音识别模块时基于简单时间控制规则造成对话的错误中断。同时针对用户在静默一定时间后继续输入有效语音数据(当前对话还未结束场景下)则重置第一中断事件出现次数的计数,可防止用户因频繁中断对话或由中断造成用户意图理解不完整而产生的烦躁与排斥感,提升对话过程流畅度,提高用户粘度。
在一种实施例中,在流式语音识别的过程中,启动第一监听任务,以监听后端与语音识别模块的连接状态是否断开之前,流式语音识别方法还包括:
前端启动第二监听任务,获得第三时间戳和第四时间戳;其中,第三时间戳为语音采集设备开始采集语音流数据的时间戳,第四时间戳为实时采集语音流数据的时间戳;
在具体实施过程中,为更准确实现流式语音识别,精准控制流式传输中每一批次分段语音数据的长度,通过第二监听任务来对流式语音识别中语音数据采集部分进行监听,并由第三时间戳与第四时间戳来反映已经采集的时长。与第一监听任务类似的,第二监听任务的启动也可以通过人为控制启动,也可以通过关联相关任务进行触发,比如前端触发唤醒条件后,后端向前端发送播放欢迎语请求的第一请求,前端则响应该请求播放欢迎语,表明有用户开始使用智能对话服务,随之可触发第二监听任务自动启动,开始流式数据的采集并发送。
根据第三时间戳与第四时间戳的差值,获得第二时间差;
判断第二时间差是否大于或等于第一预设时间;
在第二时间差大于或等于第一预设时间的情况下,前端将采集的语音流数据传输至后端,更新第三时间戳为当前时间的时间戳;
后端向语音识别模块发起语音识别请求;
响应于语音识别请求,后端向语音识别模块传输语音流数据以进行流式语音识别。
在具体实施过程中,第三时间戳与第四时间戳分别为语音采集设备开始采集语音流数据的时间戳与实时采集语音流数据的时间戳,将两个时间戳的差值记为第二时间差,第一预设时间也就是传输流式语音数据中,每一批次语音数据的采集时间长度,可根据实际需求设置,将其设置在一定范围内,比如最大间隔时间与最小间隔时间之间,既能避免后端向语音识别模块过于频繁发送语音流数据而将其分割太细碎致使识别准确率下降,又能避免后端间隔太长时间向语音识别模块发送语音流数据无法实时进行流式识别,降低识别效率。
判断该时间差是否大于或等于第一预设时间,在判断为否的情况下,将返回继续监听,在第二时间差大于或等于第一预设时间时,说明已采集的语音数据长度满足批次需求,则将采集的数据先传输至后端,然后更新第三时间戳为当前时间的时间戳,以继续下一批次语音数据的采集。简单来说,将相邻的两段语音数据中,前一段数据的采集结束时间作为下一段数据的采集开始时间,以此进行持续的实时语音数据采集。后端向语音识别模块发起语音识别请求,通过响应于该请求,后端将接收的语音流数据实时、分批次传输至语音识别模块,实现流式语音识别,不需要等待用户说完整句或者整段话,就可以开始识别,减少了人机交互过程中用户的等待时间,提高语音识别交互的效果。
参照附图4,在如附图4所示的实施方式下,对本申请实施例提供的流式语音识别方法中,前端的流式语音数据的采集做进一步说明:
为监测到有用户需要使用智能对话,基于前端触发唤醒条件,后端向前端发送播放欢迎语请求的第一请求,前端响应于第一请求播放欢迎语,增强用户体验感,并可作为第二监听任务的启动条件;前端构建第二监听任务并启动,获取第三时间戳和第四时间戳,然后基于第三时间戳和第四时间戳计算第二时间差,得到实时采集的语音数据的时长;判断第二时间差是否大于或等于第一预设时间,如果判断结果为否,则返回前述步骤再次获取第三时间戳和第四时间戳,也就是不断监听已采集的时长,在满足第二时间差大于或等于第一预设时间后,前端将当前采集的语音数据发送至后端;后端向语音识别模块发出语音识别请求,语音识别请求是将后端接收到的语音数据实时地传输至语音识别模块中进行语音识别的指令;由于前端在发送数据的同时将当前时间更新为第三时间戳,前端即可持续地采集分段语音数据,实现语音数据的流式采集,确保了流式语音识别中语音数据采集的准确性,为流式语音识别质量的提升打下基础。
在一种实施例中,前端将采集的语音流数据传输至后端包括:
前端将采集的语音流数据以预设数据传输速率传输至后端。
在具体实施过程中,在流式语音识别的基础上,通过控制前端向后端传输语音流数据的速率,在保证音频流数据传输不走样的基础上,提升传输的效率,从而提升识别的效率,避免预设数据传输速率过慢导致过多语音数据流堆砌在前端而未被传输至后端,进而无法完成语音识别模块的识别任务,造成语音识别效率降低。
具体来说,预设数据传输速率的获取方法包括:
获取前端音频采集设备的设置参数和预设传输时间,设置参数至少包括采样率、音频通道数以及每次采样样本位数;预设传输时间小于或等于第一预设时间;
基于设置参数和第二时间差计算,得到音频文件大小;
基于音频文件大小和预设传输时间的比值,得到预设数据传输速率。
在具体实施过程中,在语音识别的过程中,若干音频帧对应一个状态,多个状态组合成一个音素,若干个音素组成一个文字,该文字即为识别结果,基于前端音频采集设备的设置参数以及预设传输之间两个参数,对预设数据传输速率进行自适应性调整,在保证音频流数据传输不走样的基础上,能在第一预设时间内传输更多文字对应的多个音频帧到后端,便于后端将其实时的传输至语音识别模块中进行语音识别,且能快速的得到多个文字的识别结果,提高识别准确率的同时也提高文字识别效率,避免传输速度过慢需要对单个文字对应的音频帧分多次传输进而需要更多的时间对该单个文字进行识别得到单文字的识别结果,解决出字延迟的问题。
音频文件大小与预设传输时间的比值,得到预设数据传输速率,这是根据音频文件的大小自适应调整,为使传输速率能够基于设备配置的差异进行调整,避免固定预设数据传输速率在不同配置设备上使用时,因性能不匹配而造成的语音识别模块出故障的问题,在音频文件大小的获得中引入前端音频采集设备的设置参数,计算方式如下:
其中,采样率指在单位时间内对采集对象的采集频率,音频通道数指声道数量,每次采样样本位数指在数字音频中,用于表示每个采样点的数值精度的位数,第一预设时间为前述采集语音流数据中设置的时间,预设传输时间需要小于或等于第一预设时间,以保证每一批次的语音流数据都能在下一批次数据接收之前被全部发送。
参照附图5,基于与前述实施例中同样的发明构思,本申请实施例还提供一种流式语音识别装置,流式语音识别装置包括用于执行本申请实施例提供的一种流式语音识别方法的步骤的多个模块,模块包括监听模块、获得模块、请求模块和重连模块,其中:
监听模块,监听模块用于在流式语音识别的过程中,启动第一监听任务,以监听后端与语音识别模块的连接状态是否断开;
获得模块,获得模块用于在后端与语音识别模块的连接状态为断开时,根据第一时间戳与第二时间戳的差值大小,确定中断事件类别;其中,第一时间戳为连接状态断开时对应的时间戳,第二时间戳为第一监听任务的启动时间对应的时间戳;
请求模块,请求模块用于根据中断事件类别,向语音识别模块发起重连请求;
重连模块,重连模块用于响应于重连请求,与语音识别模块重新建立连接,更新第二时间戳为当前时间的时间戳,并继续进行流式语音识别。
本领域技术人员应当理解,实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际应用时可以全部或部分集成到一个或多个实际载体上,且这些模块可以全部以软件通过处理单元调用的形式实现,也可以全部以硬件的形式实现,或是以软件、硬件结合的形式实现,需要说明的是,本实施例中流式语音识别装置中各模块是与前述实施例中的流式语音识别方法中的各步骤一一对应,因此,本实施例的具体实施方式可参照前述流式语音识别方法的实施方式,这里不再赘述。
基于与前述实施例中同样的发明构思,本申请的实施例还提供一种存储介质,存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行如本申请实施例提供的一种流式语音识别方法。
基于与前述实施例中同样的发明构思,本申请的实施例还提供一种电子设备,电子设备包括:
存储器,用于存储程序指令;
处理器,用于调用存储器中存储的程序指令,按照获得的程序指令执行如本申请实施例提供的一种流式语音识别方法。
参照附图1,附图1为本申请实施例方案涉及的硬件运行环境的电子设备结构示意图,该电子设备可以包括:处理器101,例如中央处理器(Central Processing Unit,CPU),通信总线102、用户接口104,网络接口103,存储器105。其中,通信总线102用于实现这些组件之间的连接通信。用户接口104可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口104还可以包括标准的有线接口、无线接口。网络接口103可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器105可选的可以是独立于前述处理器101的存储装置,存储器105可能是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可能是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器;处理器101可以是通用处理器,包括中央处理器、网络处理器等,还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本领域技术人员可以理解,附图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如附图1所示,作为一种存储介质的存储器105中可以包括操作系统、网络通信模块、用户接口模块以及流式语音识别装置。
在附图1所示的电子设备中,网络接口103主要用于与网络服务器进行数据通信;用户接口104主要用于与用户进行数据交互;处理器101、存储器105可以设置在电子设备中,电子设备通过处理器101调用存储器105中存储的流式语音识别装置,并执行本申请实施例提供的流式语音识别方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。计算机可以是包括智能终端和服务器在内的各种计算设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的 技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光 盘)中,包括若干指令用以使得一台多媒体终端设备(可以是手机,计算机,电视接收机,或者网络设备等)执行本申请各个实施例所述的方法。
综上,本申请提供的一种流式语音识别方法、装置、介质及设备,该方法包括:在流式语音识别的过程中,启动第一监听任务,以监听后端与语音识别模块的连接状态是否断开;在后端与语音识别模块的连接状态为断开时,根据第一时间戳与第二时间戳的差值大小,确定中断事件类别;其中,第一时间戳为连接状态断开时对应的时间戳,第二时间戳为第一监听任务的启动时间对应的时间戳;根据中断事件类别,向语音识别模块发起重连请求;响应于重连请求,与语音识别模块重新建立连接,更新第二时间戳为当前时间的时间戳,并继续进行流式语音识别。本申请通过启动监听任务来监听流式语音识别,实时获取后端与语音识别模块的连接状态,在其处于断开状态时,通过断开时对应的时间戳与启动监听任务对应的时间戳之间的差值大小,确认引起中断的原因并进而确定中断事件类别,确认后根据不同情况的中断对应发起重连请求,并与语音识别模块重新连接继续进行流式语音识别,既能确保对话交互的流畅,又能保证有效信息不丢失,提升语音识别的质量。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种流式语音识别方法,其特征在于,所述流式语音识别方法包括:
在流式语音识别的过程中,启动第一监听任务,以监听后端与语音识别模块的连接状态是否断开;
在所述后端与所述语音识别模块的连接状态为断开时,根据第一时间戳与第二时间戳的差值大小,确定中断事件类别;其中,所述第一时间戳为所述连接状态断开时对应的时间戳,所述第二时间戳为所述第一监听任务的启动时间对应的时间戳;
根据所述中断事件类别,向所述语音识别模块发起重连请求;
响应于所述重连请求,与所述语音识别模块重新建立连接,更新所述第二时间戳为当前时间的时间戳,并继续进行所述流式语音识别。
2.根据权利要求1所述的流式语音识别方法,其特征在于,所述中断事件类别至少包括第一中断事件,所述第一中断事件是基于所述第一时间戳与所述第二时间戳的差值小于预设时间阈值而被标记的中断事件;所述根据所述中断事件类别,向所述语音识别模块发起重连请求包括:
基于所述第一中断事件连续被标记的次数判断是否大于或等于预设次数;
若是,则终止当前对话任务的所有数据处理并进入待唤醒状态;
若否,向所述语音识别模块发起重连请求。
3.根据权利要求2所述的流式语音识别方法,其特征在于,所述基于所述第一中断事件连续被标记的次数判断是否大于或等于预设次数包括:
基于所述第一中断事件被标记次数进行累计加1操作,得到计数值,所述计数值的初始值为零;
判断所述第一时间戳与所述第二时间戳的差值是否大于或等于所述预设时间阈值;
若是,则重置所述计数值为零;
若否,则对所述计数值进行累计加1操作以得到更新后的所述计数值;
基于更新后的所述计数值判断是否大于或等于预设次数。
4.根据权利要求1-3任一项所述的流式语音识别方法,其特征在于,在所述后端与所述语音识别模块的连接状态为断开之后,所述流式语音识别方法还包括:
基于所述第一时间戳对前端传输的语音数据进行缓存,得到缓存数据;
在与所述语音识别模块重新建立连接之后,基于所述第二时间戳在预设延迟时间后将所述缓存数据发送至所述语音识别模块中进行所述流式语音识别。
5.根据权利要求1所述的流式语音识别方法,其特征在于,所述在流式语音识别的过程中,启动第一监听任务,以监听后端与语音识别模块的连接状态是否断开之前,所述的流式语音识别方法还包括:
前端启动第二监听任务,获得第三时间戳和第四时间戳;其中,所述第三时间戳为语音采集设备开始采集语音流数据的时间戳,所述第四时间戳为实时采集所述语音流数据的时间戳;
根据所述第三时间戳与第四时间戳的差值,获得第二时间差;
判断所述第二时间差是否大于或等于第一预设时间;
在所述第二时间差大于或等于所述第一预设时间的情况下,所述前端将采集的所述语音流数据传输至所述后端,更新所述第三时间戳为当前时间的时间戳;
所述后端向所述语音识别模块发起语音识别请求;
响应于所述语音识别请求,所述后端向所述语音识别模块传输所述语音流数据以进行所述流式语音识别。
6.根据权利要求5所述的流式语音识别方法,其特征在于,所述前端将采集的所述语音流数据传输至所述后端包括:
所述前端将采集的所述语音流数据以预设数据传输速率传输至所述后端。
7.根据权利要求6所述的流式语音识别方法,其特征在于,所述预设数据传输速率的获取方法包括:
获取前端音频采集设备的设置参数和预设传输时间,所述设置参数至少包括采样率、音频通道数以及每次采样样本位数;所述预设传输时间小于或等于所述第一预设时间;
基于所述设置参数和所述第二时间差计算,得到音频文件大小;
基于所述音频文件大小和所述预设传输时间的比值,得到所述预设数据传输速率。
8.一种流式语音识别装置,其特征在于,所述流式语音识别装置包括用于执行权利要求1-7任一项所述的一种流式语音识别方法的步骤的多个模块,所述模块包括监听模块、获得模块、请求模块和重连模块,其中:
所述监听模块,所述监听模块用于在流式语音识别的过程中,启动第一监听任务,以监听后端与语音识别模块的连接状态是否断开;
所述获得模块,所述获得模块用于在所述后端与所述语音识别模块的连接状态为断开时,根据第一时间戳与第二时间戳的差值大小,确定中断事件类别;其中,所述第一时间戳为所述连接状态断开时对应的时间戳,所述第二时间戳为所述第一监听任务的启动时间对应的时间戳;
所述请求模块,所述请求模块用于根据所述中断事件类别,向所述语音识别模块发起重连请求;
所述重连模块,所述重连模块用于响应于所述重连请求,与所述语音识别模块重新建立连接,更新所述第二时间戳为当前时间的时间戳,并继续进行所述流式语音识别。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-7中任一所述的流式语音识别方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1-7中任一所述的流式语音识别方法。
CN202311801603.7A 2023-12-26 2023-12-26 一种流式语音识别方法、装置、介质及设备 Active CN117457003B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311801603.7A CN117457003B (zh) 2023-12-26 2023-12-26 一种流式语音识别方法、装置、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311801603.7A CN117457003B (zh) 2023-12-26 2023-12-26 一种流式语音识别方法、装置、介质及设备

Publications (2)

Publication Number Publication Date
CN117457003A true CN117457003A (zh) 2024-01-26
CN117457003B CN117457003B (zh) 2024-03-08

Family

ID=89589669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311801603.7A Active CN117457003B (zh) 2023-12-26 2023-12-26 一种流式语音识别方法、装置、介质及设备

Country Status (1)

Country Link
CN (1) CN117457003B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9514747B1 (en) * 2013-08-28 2016-12-06 Amazon Technologies, Inc. Reducing speech recognition latency
AU2017100486A4 (en) * 2016-06-11 2017-06-08 Apple Inc. Intelligent device arbitration and control
CN107004410A (zh) * 2014-10-01 2017-08-01 西布雷恩公司 语音和连接平台
US10777186B1 (en) * 2018-11-13 2020-09-15 Amazon Technolgies, Inc. Streaming real-time automatic speech recognition service
CN114582333A (zh) * 2022-02-21 2022-06-03 中国第一汽车股份有限公司 语音识别方法、装置、电子设备及存储介质
CN116417003A (zh) * 2021-12-31 2023-07-11 科大讯飞股份有限公司 语音交互系统、方法、电子设备和存储介质
CN116884390A (zh) * 2023-09-06 2023-10-13 四川蜀天信息技术有限公司 一种提高用户交互流畅度的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9514747B1 (en) * 2013-08-28 2016-12-06 Amazon Technologies, Inc. Reducing speech recognition latency
CN107004410A (zh) * 2014-10-01 2017-08-01 西布雷恩公司 语音和连接平台
AU2017100486A4 (en) * 2016-06-11 2017-06-08 Apple Inc. Intelligent device arbitration and control
US10777186B1 (en) * 2018-11-13 2020-09-15 Amazon Technolgies, Inc. Streaming real-time automatic speech recognition service
CN116417003A (zh) * 2021-12-31 2023-07-11 科大讯飞股份有限公司 语音交互系统、方法、电子设备和存储介质
CN114582333A (zh) * 2022-02-21 2022-06-03 中国第一汽车股份有限公司 语音识别方法、装置、电子设备及存储介质
CN116884390A (zh) * 2023-09-06 2023-10-13 四川蜀天信息技术有限公司 一种提高用户交互流畅度的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S CHANG等: "Turn-taking prediction for natural conversational speech", HTTPS://DOI.ORG/10.48550/ARXIV.2208.13321, 29 August 2022 (2022-08-29) *

Also Published As

Publication number Publication date
CN117457003B (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
US10600415B2 (en) Method, apparatus, device, and storage medium for voice interaction
CN108962283B (zh) 一种发问结束静音时间的确定方法、装置及电子设备
CN107277272A (zh) 一种基于软件app的蓝牙设备语音交互方法及系统
US8972262B1 (en) Indexing and search of content in recorded group communications
CN109417583B (zh) 一种将音频信号实时转录为文本的系统和方法
CN110557451A (zh) 对话交互处理方法、装置、电子设备和存储介质
CN111540349A (zh) 一种语音的打断方法和装置
CN112885329B (zh) 一种提高混音音质的控制方法、装置及存储介质
WO2021082133A1 (zh) 人机对话模式切换方法
US10511713B1 (en) Identifying recorded call data segments of interest
CN112767936A (zh) 语音对话方法、装置、存储介质及电子设备
CN103514882A (zh) 一种语音识别方法及系统
CN111933149A (zh) 语音交互方法、穿戴式设备、终端及语音交互系统
CN109587664A (zh) 一种边缘计算与云计算结合的语音拨号系统
CN113779208A (zh) 用于人机对话的方法和装置
CN117457003B (zh) 一种流式语音识别方法、装置、介质及设备
CN111128166B (zh) 连续唤醒识别功能的优化方法和装置
CN111429879A (zh) 一种语音播报方法、装置、设备及存储介质
CN112714058B (zh) 一种即时打断ai语音的方法、系统及电子设备
JP7375089B2 (ja) 音声応答速度確定方法、装置、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム
CN111464644B (zh) 一种数据传输方法及电子设备
CN113936655A (zh) 语音播报处理方法、装置、计算机设备和存储介质
CN114155857A (zh) 语音唤醒方法、电子设备和存储介质
CN112689112A (zh) 视频交流系统的耗时分析及优化方法、装置、设备及介质
CN113808592A (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
GR01 Patent grant
GR01 Patent grant