CN111916082A - 语音交互方法、装置、计算机设备和存储介质 - Google Patents
语音交互方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111916082A CN111916082A CN202010817186.5A CN202010817186A CN111916082A CN 111916082 A CN111916082 A CN 111916082A CN 202010817186 A CN202010817186 A CN 202010817186A CN 111916082 A CN111916082 A CN 111916082A
- Authority
- CN
- China
- Prior art keywords
- text
- voice
- target
- response data
- recognition
- 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
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000004044 response Effects 0.000 claims abstract description 223
- 238000001514 detection method Methods 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 38
- 230000015572 biosynthetic process Effects 0.000 claims description 28
- 238000003786 synthesis reaction Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 21
- 238000003058 natural language processing Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
-
- 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/28—Constructional details of speech recognition systems
- G10L15/34—Adaptation of a single recogniser for parallel processing, e.g. by use of multiple processors or cloud computing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及云服务器,提供了一种语音交互方法、装置、计算机设备和存储介质。所述方法包括:接收终端依次发送的语音数据包;在依次接收语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长;当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本一致时,将基于所述目标文本的语义解析结果,通过异步方式预先得到的应答数据作为目标应答数据;所述目标文本是最晚进行语义解析的识别文本;将所述目标应答数据反馈至所述终端。采用本方法能够提高语音交互效率。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种语音交互方法、装置、计算机设备和存储介质。
背景技术
随着人工智能技术的不断发展,基于人工智能技术的语音交互模式逐渐发展起来,给人们生活的各方面提供了方便快捷的服务。语音交互模式主要涉及语音识别、语义解析与应答数据获取等操作。目前的语音交互模式,通常是对交互语音进行语音识别,在得到完整的语音识别结果后,对该完整的语音识别结果进行语义解析,再根据语义解析结果获取并反馈相应的应答数据。但是该种语音交互模式需要耗费大量的响应等待时间,存在语音交互效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高语音交互效率的语音交互方法、装置、计算机设备和存储介质。
一种语音交互方法,所述方法包括:
接收终端依次发送的语音数据包;
在依次接收语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长;
当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本一致时,将基于所述目标文本的语义解析结果,通过异步方式预先得到的应答数据作为目标应答数据;所述目标文本是最晚进行语义解析的识别文本;
将所述目标应答数据反馈至所述终端。
一种语音交互装置,所述装置包括:
接收模块,用于接收终端依次发送的语音数据包;
识别模块,用于在依次接收语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长;
获取模块,用于当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本一致时,将基于所述目标文本的语义解析结果通过异步方式预先得到的应答数据作为目标应答数据;所述目标文本是最晚进行语义解析的识别文本;
应答模块,用于将所述目标应答数据反馈至所述终端。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收终端依次发送的语音数据包;
在依次接收语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长;
当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本一致时,将基于所述目标文本的语义解析结果,通过异步方式预先得到的应答数据作为目标应答数据;所述目标文本是最晚进行语义解析的识别文本;
将所述目标应答数据反馈至所述终端。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收终端依次发送的语音数据包;
在依次接收语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长;
当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本一致时,将基于所述目标文本的语义解析结果,通过异步方式预先得到的应答数据作为目标应答数据;所述目标文本是最晚进行语义解析的识别文本;
将所述目标应答数据反馈至所述终端。
上述语音交互方法、装置、计算机设备和存储介质,在依次接收终端发送的语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长,在连续累计静音时长大于或等于静音时长阈值时,表明当前得到的识别文本为完整识别文本,若该当前得到的识别文本与最晚进行语义解析的识别文本一致时,则将基于该最晚进行语义解析的识别文本的语义解析结果,通过异步方式预先得到的应答数据,作为该当前得到的识别文本对应的目标应答数据,并反馈至终端,由于该最晚进行语义解析的识别文本对应的应答数据,是在按照接收时间依次对所接收到的语音数据包进行语音识别与静音检测的过程中,通过异步方式进行并行处理得到的,由此,能够在不影响语音数据包的识别过程的情况下,能够节省基于识别文本获取相应应答数据的耗时,从而能够提高获取目标应答数据的效率。这样,在识别得到完整识别文本时,将基于与该完整识别文本一致的识别文本预先得到的应答数据,直接作为该完整识别文本对应的应答数据,而无需通过解析该完整识别文本,再基于所得到的语义解析结果进一步获取目标应答数据,能够减少语义解析与应答数据获取的时间,从而能够降低响应等待时间,进而能够提高语音交互效率。
附图说明
图1为一个实施例中语音交互方法的应用环境图;
图2为一个实施例中语音交互方法的流程示意图;
图3为另一个实施例语音交互方法的流程示意图;
图4为一个实施例中语音交互方法所应用于的语音交互***的框架图;
图5为一个实施例中智能语音助手的架构图;
图6为一个实施例中完整识别文本与中间识别文本一致情况下的语音交互时序图;
图7为一个实施例中完整识别文本与中间识别文本不一致,但二者的语义解析结果一致的情况下的语音交互时序图;
图8为一个实施例中语音交互过程的耗时分布对比图;
图9为一个实施例中语音交互装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的语音交互方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。服务器104接收终端102依次发送的语音数据包,在依次接收语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长,当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与最晚进行语义解析的识别文本一致时,将基于该最晚进行语义解析的识别文本的语义解析结果,通过异步方式预先得到的应答数据作为目标应答数据,并将该目标应答数据反馈至终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种语音交互方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,接收终端依次发送的语音数据包。
其中,语音数据包是对语音进行封装得到的数据包。语音数据包中的有效数据部分为封装在该语音数据包中的语音。
具体地,终端从环境中实时采集语音,对所采集到的语音按照语音采集时间依次进行封装,得到相应的语音数据包,并在依次封装的语音的过程中,将所得到的语音数据包依次发送至服务器。相应地,服务器接收终端依次生成并发送的语音数据包。语音采集时间是指终端采集语音的时间。
在一个实施例中,终端从环境中实时采集语音,并按照单次发送语音的语音时长,依次对所采集到的语音进行封装,得到相应的多个语音数据包。其中,单次发送语音的语音时长,可根据实际需求自定义,比如64毫秒,也可根据动态检测的网络性能动态确定。网络性能用于表示网络的运行状况,比如说网络运行带宽,或数据传输的速率等。
在一个实施例中,终端在检测到语音交互触发条件时,执行上述实时采集语音,并将基于所采集的语音封装得到的语音数据包依次发送至服务器的相关步骤。语音交互触发条件比如检测到用户的语音交互触发操作,或者,检测到预设唤醒词,在此不作具体限定。
步骤204,在依次接收语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长。
其中,接收时间是指服务器接收到语音数据包的时间。识别文本是指对语音数据包中的语音进行语音识别所得到的文本,也即是对语音数据包中的语音进行文本转换所得到的文本。连续累计静音时长是指连续检测到静音的累计时长,比如,若连续的多个语音数据包中的语音均为静音,则对该多个语音数据包各自对应的语音时长进行累计求和,能够得到相应的连续累计静音时长。
具体地,服务器在依次接收终端发送的数据包的过程中,按照各语音数据包的接收时间,依次对所接收到的语音数据包进行语音识别与静音检测,得到所接收到的每个语音数据包对应的识别文本与连续累计静音时长。
在一个实施例中,服务器在依次接收语音数据包的过程中,通过异步方式按照接收时间依次对所接收到的语音数据包进行语音识别与静音检测。这样,服务器一边依次接收终端发送的语音数据包,一边按照接收时间依次对所接收到的语音数据包进行语音识别与静音检测。
在一个实施例中,服务器在依次对所接收到的语音数据包进行语音识别与静音检测的过程中,对当前的语音数据包中的语音进行语音识别与静音检测,并基于该当前的语音数据包对应的语音识别结果,以及前一个语音数据包对应的识别文本,得到该当前的语音数据包对应的识别文本,相应地,基于该当前的语音数据包对应的静音检测结果,以及前一个语音数据包对应的连续累计静音时长,得到该当前的语音数据包对应的连续累计静音时长。可以理解,若当前的语音数据包中的静音时间与前一个语音数据包中的静音时间是不连续的,则仅根据当前的语音数据包中的静音检测结果,得到相应的连续累计静音时长。
步骤206,当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本一致时,将基于目标文本的语义解析结果,通过异步方式预先得到的应答数据作为目标应答数据;目标文本是最晚进行语义解析的识别文本。
其中,静音时长阈值是用于与连续累计静音时长进行比较,以判定是否已得到完整识别文本的时长阈值,也即是用于判断用户是否已停止说话的依据。静音时长阈值可根据已有经验进行自定义,比如500毫秒。语义解析结果是指对识别文本进行语义解析所得到的解析结果。最晚进行语义解析的识别文本是指语义解析的时间最近的识别文本,语义解析的时间是指对识别文本进行语义解析的时间点。异步方式是指并行地执行两个不同的且相对独立的操作,比如,在依次对语音数据包进行语音识别与静音检测的同时,依次对所得到的识别文本进行语义解析,并基于语义解析结果获取相应的应答数据。应答数据是指基于识别文本的语义解析结果,所获取到的作为该识别文本所对应的语音的应答结果的数据,比如识别文本为“今天天气怎么样”,相应的应答数据为“今天天气晴”。
具体地,服务器在依次对所接收到的语音数据包进行语音识别与静音检测的过程中,在针对当前的语音数据包进行语音识别与静音检测,得到相应的识别文本与连续累计静音时长后,将当前得到的连续累计静音时长与预设的静音时长阈值进行比较。当判定该当前得到的连续累计静音时长小于静音时长阈值时,表明当前得到的识别文本为中间识别文本,服务器则通过异步方式对该当前得到的识别文本进行语义解析得到相应的语义解析结果,并基于该语义解析结果获取该中间识别文本对应的应答数据。当判定该当前得到的连续累计静音时长大于或等于静音时长阈值时,表明用户已经停止说话,服务器则判定已经获取到完整识别文本,将该当前得到的识别文本作为完整识别文本,并将该当前得到的识别文本与最晚进行语义解析的识别文本进行比较。
进一步地,当判定该当前得到的识别文本与最晚进行语义解析的识别文本一致时,服务器则将该最晚进行语义解析的识别文本作为目标文本,并将通过异步方式基于该目标文本的语义解析结果,针对该目标文本预先获取到的应答数据,作为该当前得到的识别文本对应的目标应答数据,也即是将基于该目标文本通过异步方式预先获取到的应答数据,作为完整识别文本对应的目标应答数据。
在一个实施例中,在按照接收时间依次对所接收到的语音数据包进行语音识别与静音检测的过程中,若当前得到的连续累计静音时长小于静音时长阈值,服务器则判定用户尚未停止说话,则将当前得到的识别文本确定为中间识别文本,并通过异步方式对该中间识别文本进行语义解析,以及基于语义解析结果获取相应的应答数据,若当前得到的连续累计静音时长大于或等于静音时长阈值,服务器则判定用户已停止说话,则将当前得到的识别文本确定为完整识别文本,并将最晚进行语义解析的中间识别文本作为目标文本,当该完整识别文本与目标文本一致时,则将基于该目标文本预先获取的应答数据,作为该完整识别文本对应的目标应答数据。
可以理解,由于服务器需要基于连续累计静音时长与静音时长阈值来判定用户是否已经停止说话,由此,可能存在服务器判定用户已停止说话相较于用户实际已停止说话存在延迟的情况,换而言之,可能存在用户实际已停止说话,但是服务器因所得到的连续累计静音时长仍然小于静音时长阈值而判定用户尚未停止说话的情况。
举例说明,假设依次接收到的语音数据包有20个,在第12个语音数据包时,用户实际已停止说话,服务器对第12个语音数据包进行语音识别所得到的识别文本,是用户实际已停止说话时实际得到的完整识别文本,但是由于服务器对该第12个语音数据包进行静音检测,所得到的连续累计静音时长小于静音时长阈值,服务器则判定用户尚未停止说话,则会将基于第12个语音数据包得到的识别文本确定为中间识别文本。
进一步地,由于在第12个语音数据包时用户实际已停止说话,则在后续的连续多个语音数据包中的语音均为静音,也即是第13至20个语音数据包中的语音均为静音,服务器在按照接收时间依次该连续的多个语音数据包进行语音识别与静音检测时,所得到的识别文本均与基于第12个语音数据包得到的识别文本一致,而对应得到的连续累计静音时长不断增加,比如基于第19个语音数据包得到的连续累计静音时长仍然小于静音时长阈值,服务器则仍然判定用户尚未停止说话,并仍然将基于该第19个语音数据包得到的识别文本确定为中间识别文本,在基于第20个语音数据包得到的连续累计静音时长大于或等于静音时长阈值时,服务器则判定用户已停止说话,并将基于该第20个语音数据包得到的识别文本判定为完整识别文本。
由此可见,在第12个语音数据包时用户实际已停止说话,但是服务器基于第20个语音数据包才判定用户已停止说话,而服务器基于第12个语音数据包得到的识别文本与基于第20个语音数据包得到的识别文本一致,由此,服务器在按照接收时间依次对所接收到的语音数据包进行语音识别与静音检测的过程中,针对中间识别文本通过异步方式预先获取相应的应答数据,若存在与最终得到的完整识别文本一致的中间识别文本,则基于该完整识别文本的语义解析结果获取到的应答数据,与基于与该完整识别文本一致的中间识别文本所获取到的应答数据一致,由此,服务器在判定所得到的完整识别文本与最晚进行语义解析的中间识别文本一致时,将该最晚进行语义解析的中间识别文本对应的应答数据作为目标应答数据,以避免对该完整识别文本进行语义解析,然后再基于语义解析结果获取相应目标应答数据,从而能够提高目标应答数据的获取效率。
值得说明的是,上述实例中用户实际已停止说话时对应的语音数据包,服务器检测到大于或等于静音时长阈值的连续累计静音时长所需的语音数据包,以及服务器判定用户已停止说话时对应的语音数据包等,仅作为示例,并不用于具体限定。
在一个实施例中,当当前得到的连续累计静音时长小于静音时长阈值时,服务器将基于当前得到的识别文本的语义解析结果所得到的应答数据,与该当前得到的识别文本对应缓存在本地。可以理解,服务器可通过覆盖式缓存方式,将该当前得到的识别文本与相应的应答数据对应缓存在本地,也可通过更新式缓存方式将该当前得到的识别文本与相应应答数据对应缓存在本地。覆盖式缓存方式,是指本地仅缓存当前得到的识别文本与相应的应答数据。更新式缓存方式,是指本地缓存有在单次语音交互过程中所得到的多个识别文本与相应的应答数据。对于更新式缓存方式,针对所缓存的每个识别文本还可缓存有相应的语义解析时间。这样,当判定得到完整识别文本时,服务器能够直接从本地缓存中获取最晚进行语义解析的识别文本,并在判定完整识别文本与该最晚进行语义解析的识别文本一致时,能够从缓存中快速获取相应的应答数据作为目标应答数据,从而能够降低目标应答数据的获取耗时,也即能够提高语音交互效率。
在一个实施例中,当当前得到的连续累计静音时长小于静音时长阈值时,服务器还将当前得到的识别文本对应的语义解析结果,对应于该识别文本缓存在本地。
步骤208,将目标应答数据反馈至终端。
具体地,服务器在按照上述方式得到完整识别文本对应的目标应答数据后,将所得到的目标应答数据反馈至终端。终端将所接收到的目标应答数据展示给相应用户,以实现语音交互。可以理解,该完整识别文本是在用户停止说话后,基于单次语音交互过程中的完整语音得到的识别文本,也即是该完整识别文本与单次语音交互过程中的完整语音相对应。
在一个实施例中,服务器可将目标应答数据直接反馈至相应终端,也可对该目标应答数据进行语音合成得到相应应答数据包,并将该应答数据包反馈至终端,以指示终端基于所接收的应答数据包通过语音播报方式向用户展示该目标应答数据。
上述语音交互方法,在依次接收终端发送的语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长,在连续累计静音时长大于或等于静音时长阈值时,表明当前得到的识别文本为完整识别文本,若该当前得到的识别文本与最晚进行语义解析的识别文本一致时,则将基于该最晚进行语义解析的识别文本的语义解析结果,通过异步方式预先得到的应答数据,作为该当前得到的识别文本对应的目标应答数据,并反馈至终端,由于该最晚进行语义解析的识别文本对应的应答数据,是在按照接收时间依次对所接收到的语音数据包进行语音识别与静音检测的过程中,通过异步方式进行并行处理得到的,由此,能够在不影响语音数据包的识别过程的情况下,能够节省基于识别文本获取相应应答数据的耗时,从而能够提高获取目标应答数据的效率。这样,在识别得到完整识别文本时,将基于与该完整识别文本一致的识别文本预先得到的应答数据,直接作为该完整识别文本对应的应答数据,而无需通过解析该完整识别文本,再基于所得到的语义解析结果进一步获取目标应答数据,能够减少语义解析与应答数据获取的时间,从而能够降低响应等待时间,进而能够提高语音交互效率。
在一个实施例中,上述语音交互方法还包括:当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本不一致时,将当前得到的识别文本的语义解析结果与目标文本的语义解析结果一致进行比较;当当前得到的识别文本的语义解析结果与目标文本的语义解析结果相匹配时,将基于目标文本的语义解析结果,通过异步方式预先得到的应答数据作为目标应答数据。
具体地,当判定当前得到的连续累计静音时长大于或等于静音时长阈值,而当前得到的识别文本与最晚进行语义解析的识别文本不一致时,表明用户已停止说话,该当前得到的识别文本即为单次语音交互过程中所得到的完整识别文本,但该完整识别文本与该单次语音交互过程中最晚进行语义解析的识别文本不一致,服务器则对该当前得到的识别文本进行语义解析得到相应的语义解析结果,将处于该当前得到的识别文本之前、且最晚进行语义解析的识别文本确定为目标文本,并将该当前得到的识别文本的语义解析结果与目标文本的语义解析结果进行比较。当判定该当前得到的识别文本的语义解析结果与目标文本的语义解析结果相匹配时,服务器则将基于该目标文本的语义解析结果,通过异步方式预先获取到的应答数据,作为该当前得到的识别文本对应的目标应答数据。
在一个实施例中,服务器从缓存中直接获取目标文本对应的语义解析结果,并在判定目标文本的语义解析结果与当前得到的识别文本的语义解析结果一致时,从本地缓存中获取该目标文本对应的应答数据作为目标应答数据。在目标文本的语义解析结果与当前得到的识别文本的语义解析结果一致时,基于该当前得到的识别文本的语义解析结果获取的应答数据,与基于该目标文本的语义解析结果获取到的应答数据是一致的,由此,将基于该目标文本预先获取到的应答数据,作为该当前得到的识别文本对应的目标应答数据,能够在保证目标应答数据的准确性的情况下,提高目标应答数据的获取效率,而无需基于该当前得到的识别文本的语义解析结果动态的获取相应的应答数据。
在一个实施例中,当判定当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本不一致、且当前得到的识别文本的语义解析结果与目标文本的语义解析结果也不一致时,服务器根据该当前得到的识别文本的语义解析结果获取相应的应答数据作为目标应答数据。这样,在完整识别文本与中间识别文本各自对应的文本与语义解析结果均不一致时,基于该完整识别文本的语义解析结果仍然能够获取相应的目标应答数据,由此在保证语音交互效率的情况下,能够保证语音交互的准确性。其中,中间识别文本是指在单次语音交互过程中,在完整识别文本之前获取到的、且最晚进行语义解析的识别文本。
上述实施例中,当完整识别文本与中间识别文本不一致,但二者的语义解析结果一致时,将基于该中间识别文本预先获取到的应答数据,直接作为该完整识别文本对应的目标应答数据,由此,能够减少基于完整识别文本的语义解析结果动态获取相应应答数据的耗时,从而能够提高语音交互效率。
在一个实施例中,上述语音交互方法还包括:当当前得到的连续累计静音时长小于静音时长阈值时,对当前得到的识别文本进行语义解析,得到语义解析结果;根据当前得到的语义解析结果确定服务领域与服务意图;按照服务领域与服务意图获取相应的应答数据。
其中,服务领域是指请求的服务所属的领域,具体可以是指用户通过语音所请求的服务所属的领域。服务领域包括但不限于是天气、新闻与音乐等。服务意图是指请求的服务内容,具体可以是是用户通过语音所请求的服务内容。服务意图包括但不限于是专辑、歌曲与时事新闻等。比如,识别文本为“今天天气怎么样”,通过对该识别文本进行语义解析,所得到的语义解析结果可表示为“用户想要查询天气”,基于该语义解析结果所确定的服务领域为“天气”,服务意图为“查询”。
具体地,当当前得到的连续累计静音时长小于静音时长阈值时,服务器则将当前得到的识别文本确定为中间识别文本,并对该当前得到的识别文本进行语义解析,得到相应的语义解析结果。服务器对当前得到的语义解析结果进行分析,得到相应识别文本所对应的服务领域与服务意图。服务器按照当前得到的识别文本对应的服务领域与服务意图,通过异步方式获取该识别文本对应的应答数据。可以理解,服务器在根据当前得到的识别文本执行上述获取应答数据的相关操作的同时,按照语音数据包的接收时间依次对所接收到的语音数据包进行语音识别与静音检测。
在一个实施例中,服务器按照当前得到的识别文本对应的服务领域与服务意图,调用相应的服务来获取该识别文本对应的应答数据。其中,用于获取应答数据的服务与服务领域及服务意图相对应,这样,基于服务领域与服务意图调用相应的服务即可快速而准确的获取相应应答数据。
在一个实施例中,服务领域可理解为服务技能。针对语音助手可预先配置一个或多个服务技能。当根据当前得到的识别文本的语义解析结果确定所请求的服务技能时,服务器调用该服务技能获取相应的应答数据。
上述实施例中,当识别得到中间识别文本时,基于该中间识别文本的语义解析结果确定相应的服务领域与服务意图,并按照该服务领域与服务意图获取相应的应答数据,能够提高应答数据的获取准确性。
在一个实施例中,当当前得到的连续累计静音时长小于静音时长阈值时,对当前得到的识别文本进行语义解析,得到语义解析结果,包括:当当前得到的连续累计静音时长小于静音时长阈值时,将当前得到的识别文本与预设解析条件进行比较;当当前得到的识别文本满足预设解析条件时,对当前得到的识别文本进行语义解析,得到语义解析结果。
其中,预设解析条件是用于触发对识别文本的语义解析操作的条件或依据。预设解析条件包括但不限于是,当前得到的识别文本的文本长度大于或等于文本长度阈值,和/或,当前得到的识别文本与前一次得到的识别文本不一致。
具体地,当判定当前得到的连续累计静音时长小于静音时长阈值时,服务器将当前得到的识别文本与预设解析条件进行比较。当判定该当前得到的识别文本满足该预设解析条件时,服务器对该当前得到的识别文本进行语义解析,得到相应的语义解析结果,以便于基于该语义解析结果获取相应应答数据。
在一个实施例中,当判定当前得到的识别文本不满足预设解析条件时,服务器则不再针对该当前得到的识别文本执行语义解析的相关操作,而是按照时序针对下一个满足预设解析条件的识别文本执行语义解析的相关操作。
上述实施例中,按照时序依次对满足预设解析条件的识别文本进行语义解析,而不是针对每个识别文本依次进行语义解析,能够避免针对不满足预设解析条件的识别文本执行不需要的语义解析相关操作,从而能够节省计算机资源,提高语义解析效率,以免在得到完整识别文本时,尚未基于与该完整识别文本的文本或语义解析结果一致的中间识别文本,通过异步方式获取到相应的应答数据,从而能够提高目标应答数据的获取效率,进而能够提高语音交互效率。
在一个实施例中,预设解析条件包括当前得到的识别文本的文本长度大于或等于文本长度阈值,以及当前得到的识别文本与前一次得到的识别文本不一致。
其中,文本长度阈值是用于与识别文本的文本长度进行比较,以判断该识别文本是否满足预设解析条件的长度阈值,也即是用于判定识别文本是否满足预设解析条件的依据。文本长度阈值可自定义,比如4。
具体地,当当前得到的连续累计静音时长小于静音时长阈值时,服务器获取当前得到的识别文本的文本长度,并将该文本长度与预设的文本长度阈值进行比较。当判定该文本长度大于或等于文本长度阈值时,服务器获取在该当前得到的识别文本之前最晚得到的识别文本,并将所获取到的识别文本与该当前得到的识别文本进行比较。当判定该所获取到的识别文本与该当前得到的识别文本一致时,服务器则判定该当前得到的识别文本满足预设解析条件。可以理解,在当前得到的识别文本之前最晚得到的识别文本,也即是用于与该当前得到的识别文本进行比较的前一次得到的识别文本。
举例说明,假设当前得到的识别文本,是对所接收到的第三个语音数据包进行语音识别得到的识别文本,则当该识别文本的文本长度大于或等于文本长度阈值、且该识别文本与对第二个语音数据包进行语音识别得到的识别文本一致时,则判定该当前得到的识别文本满足预设解析条件。
在一个实施例中,预设解析条件包括当前得到的识别文本的文本长度大于或等于文本长度阈值,和/或,文本变化次数小于变化次数阈值。文本变化次数是指当前得到的识别文本相对于前一次得到的识别文本的变化次数,用于表征当前得到的识别文本与前一次得到的识别文本是否一致。当当前得到的识别文本与前一次得到的识别文本一致时,相应的文本变化次数为0,当二者不一致时,文本变化次数为1。变化次数阈值自定义,比如为1。
上述实施例中,根据当前得到的识别文本的文本长度,以及该当前得到的识别文本与前一次得到的识别文本是否一致,来判定该当前得到的识别文本是否满足预设解析条件,以便于在判定识别文本满足预设解析条件时,触发相应的语义解析流程。
在一个实施例中,按照服务领域与服务意图获取相应的应答数据,包括:从应答配置集合中查询与服务领域相匹配的目标服务领域,以及与服务意图相匹配的目标服务意图;通过目标服务意图对应的接口,调用目标服务领域对应的服务获取相应的应答数据。
其中,应答配置集合是指预先配置的用于获取识别文本对应的应答数据的索引集合,具体可包括用于索引应答数据的候选服务邻域与每个候选服务领域对应的候选服务意图。应答配置集合中还可包括每个候选服务领域对应的服务标识,以及每个候选服务意图对应的服务接口标识。
具体地,服务器在根据当前得到的识别文本的语义解析结果确定相应的服务领域与服务意图后,从预配置的应答配置集合中查询与该服务领域相匹配的候选服务领域,作为目标服务领域,并从该应答配置集合中查询与该目标服务领域对应、且与该服务意图相匹配的候选服务意图,作为目标服务意图。进一步地,服务器根据目标服务领域确定待调用的服务,以及根据目标服务意图确定调用服务的接口,并通过所确定的接口调用该待调用的服务,以通过该服务获取该当前得到的识别文本对应的应答数据。
在一个实施例中,服务器根据目标服务领域获取相应的服务标识,以及根据目标服务意图获取相应的服务接口标识,并通过该服务接口标识对应的接口,调用该服务标识对应的服务来获取相应的应答数据。
在一个实施例中,服务器可按照上述方式调用本地的服务来获取相应的应答数据,也可按照上述方式调用运行于其他计算机设备上的服务来获取相应的应答数据。其他计算机设备比如用于存储应答数据的终端获取服务器。
在一个实施例中,服务器通过目标服务意图对应的接口,根据当前得到的识别文本调用目标服务领域对应的服务,来获取该识别文本对应的应答数据时,还需要获取当前进行语音交互的用户对应的用户信息,并调用服务根据该用户信息获取相应的应答数据。用户信息是指用户对应的、且与识别文本对应的服务领域相关联的信息,比如用户位置信息,在此不作具体限定。比如当识别文本为“今天天气怎么样”时,获取相应用户位置信息,假设用户位置信息为“福田”,则调用服务获取福田的天气信息,作为应答数据。
在一个实施例中,当在应答配置集合中没有查询到与服务领域相匹配的目标服务领域,和/或,没有查询到与服务意图相匹配的目标服务意图时,服务器则不会针对相应识别文本获取相应的应答数据,而是按照时序针对下一个识别文本执行语义解析的相关操作。这样,当用户请求的服务技能不是语音助手已预先配置好的服务技能时,则不会反馈相应的应答数据。可以理解,若按照本申请中一个或多个实施例提供的语音交互方法,没有获取到完整识别文本对应的目标应答数据,则动态生成相应的提示信息或询问信息,并将该提示信息或询问信息作为目标应答数据反馈至终端。当完整识别文本为“今天天气怎么样”,相应的提示信息比如为“抱歉,没有查询到今天的天气信息”,询问信息比如为“请问您是想查询福田今天的天气吗”。
上述实施例中,从应答配置集合中获取识别文本所匹配的目标服务领域与目标服务意图,并通过目标服务意图对应的接口,调用目标服务领域对应的服务来获取该识别文本对应的应答数据,能够提高应答数据的获取效率与准确性。
在一个实施例中,步骤208,包括:对目标应答数据进行语音合成得到应答数据包;将应答数据包发送至终端;发送的应答数据包用于指示终端解析应答数据包,并播报解析得到的应答语音。
其中,应答数据包是指对目标应答数据进行语音合成得到相应的应答语音,并对应答语音进行封装所得到的语音数据包。
具体地,服务器在得到单次语音交互过程中的完整识别文本所对应的目标应答数据后,对该目标应答数据进行语音合成得到相应的应答语音。服务器对所得到的应答语音进行封装得到相应的的应答数据包,并将该应答数据包发送至相应终端。终端解析所接收到的应答数据包,得到相应的应答语音,并通过语音播报方式播报该应答语音。
上述实施例中,将对目标应答数据进行语音合成所得到的应答数据包发送至终端,以指示终端根据该应答数据包向用户播报相应应答语音,而无需通过终端对目标应答数据进行语音合成,再进一步播报合成得到的应答语音,使得语音交互效率不会受限于终端的语音合成效率,从而能够提高语音交互效率。
如图3所示,在一个实施例中,提供了一种语音交互方法,该方法具体包括以下步骤:
步骤302,接收终端依次发送的语音数据包。
步骤304,在依次接收语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长。
步骤306,当当前得到的连续累计静音时长小于静音时长阈值时,将当前得到的识别文本与预设解析条件进行比较;预设解析条件包括当前得到的识别文本的文本长度大于或等于文本长度阈值,以及当前得到的识别文本与前一次得到的识别文本不一致。
步骤308,当当前得到的识别文本满足预设解析条件时,对当前得到的识别文本进行语义解析,得到语义解析结果。
步骤310,根据当前得到的语义解析结果确定服务领域与服务意图。
步骤312,从应答配置集合中查询与服务领域相匹配的目标服务领域,以及与服务意图相匹配的目标服务意图。
步骤314,通过目标服务意图对应的接口,调用目标服务领域对应的服务获取相应的应答数据。
步骤316,当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本一致时,将基于目标文本的语义解析结果,通过异步方式预先得到的应答数据作为目标应答数据;目标文本是最晚进行语义解析的识别文本。
步骤318,当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本不一致时,将当前得到的识别文本的语义解析结果与目标文本的语义解析结果一致进行比较。
步骤320,当当前得到的识别文本的语义解析结果与目标文本的语义解析结果相匹配时,将基于目标文本的语义解析结果,通过异步方式预先得到的应答数据作为目标应答数据。
步骤322,对目标应答数据进行语音合成得到应答数据包。
步骤324,将应答数据包发送至终端;发送的应答数据包用于指示终端解析应答数据包,并播报解析得到的应答语音。
上述实施例中,在依次接收语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长,并在连续累计静音时长大于或等于静音时长阈值时,则判定得到完整识别文本,该种语音识别模式可理解为流式语音识别,并当语音数据包对应的连续累计静音时长小于静音时长阈值时,将该语音数据包对应的识别文本确定为该流式语音识别的中间识别文本。而在流式语音识别过程中,通过异步方式对流式语音识别的中间识别文本进行服务预取,也即是提前对该中间识别文本进行语义解析与服务调用,得到该中间识别文本对应的应答数据,若在静音检测结束后,所得到的完整识别文本与该中间识别文本一致,或者,该完整识别文本的语义解析结果与该中间识别文本的语义解析结果一致,则将基于该中间识别文本预先得到的应答数据,作为反馈至终端的目标应答数据,由此,能够节省对完整识别文本进行语义解析或服务调用的时间,从而能够提高语音交互效率。其中,服务预取是指在得到完整识别文本之前,通过异步方式提前对中间识别文本进行语义解析与服务调用。服务调用是指基于语义解析结果获取相应中间识别文本所对应的应答数据。
在一个实施例中,本申请中的一个或多个实施例中提供的语音交互方法,应用于智能语音助手,智能语音助手也即语音助手。对于采用流式语音识别的智能语音助手,都可以利用本申请提供的语音交互方法来提升端到端的响应速度,也即是提升语音交互效率,从而提升用户体验。
在一个实施例中,本申请提供的语音交互方法所应用于的智能语音助手,主要包括接入服务、语音识别、语义解析、技能中控与领域服务等部分。其中,接入服务是指智能语音助手接入层,技能中控用于实现服务技能的调用控制,具体用于根据中间识别文本对应的服务领域与服务意图,调用领域服务中的相应服务来获取该中间识别文本对应的应答数据。
图4为一个实施例中语音交互方法所应用于的语音交互***的框架图。如图4所示,该语音交互***包括终端层与服务器层,服务器层包括接入层与逻辑层,终端层中的终端包括但不限于是车机、音箱与机器人,接入层包括AIProxy(智能语音助手接入层),是连接终端层与逻辑层的语音请求通道,逻辑层包括语音识别(ASR)、自然语言处理(NLP)、语音合成(TTS)、技能中控(TSK),以及音乐、查天气与新闻等领域服务。其中,语音识别(ASR)、自然语言处理(NLP)与语音合成(TTS),通过接入层进行数据交互。其中,图4所示的S1-S6用于表征本申请提供的语音交互方法的大体交互流程。
图5为一个实施例中智能语音助手的架构图。如图5所示,智能语音助手主要包括接入层、语音识别(ASR)、自然语言处理(NLP)与语音合成(TTS)等部分,其中,自然语言处理(NLP)的架构主要包括对话管理(DM)、语义解析(NLU)与技能中控(TSK),语音识别(ASR)、自然语言处理(NLP)和语音合成(TTS)分别与接入层进行数据交互,语义解析(NLU)和技能中控(TSK)分别与对话管理(DM)进行数据交互。其中,接入层、语音识别(ASR)、对话管理(DM)、语义解析(NLU)、技能中控(TSK)与语音合成(TTS)可理解为智能语音助手的功能单元。语义解析单元基于模板匹配、语料匹配、kbqa(知识图谱)与qapairs(问答对)等中的一种或多种对识别文本进行语义解析,得到相应的语义解析结果。其中,图5所示的S1-S6用于表征本申请提供的语音交互方法中,服务器内部的的大体交互流程,S4.1是指可以基于模板匹配、语料匹配、kbqa与qapairs等中的一种或多种对识别文本进行语义解析。
在一个实施例中,接入层用于接收终端层依次发送的语音数据包,并按照时序将所接收到的语音数据包依次发送至语音识别单元。语音识别单元用于按照接收时间依次对所接收到的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长,并根据当前得到的连续累计静音时长判断当前得到的识别文本是否为完整识别文本,也即是判断用户是否已停止说话,在判定当前得到的识别文本为完整识别文本时,触发生成语音尾包标识,并将该完整识别文本与相应的语音尾包标识反馈至接入层,当判定当前得到的识别文本为中间识别文本时,直接将该中间识别文本反馈至接入层。接入层用于判断所接收到的中间识别文本是否满足预设解析条件,并在判定中间识别文本满足预设解析条件时,根据该中间识别文本对对话管理单元发起异步调用。对话管理单元用于根据接入层发起的异步调用,对相应的中间识别文本进行语义解析,得到相应的语义解析结果,并基于语义解析结果向技能中控单元发起服务技能的调用,并接收并缓存技能中控单元对应反馈的应答数据,该应答数据可理解为技能调用结果或预取结果。
由此,接入层主要用于控制语音识别单元回包后的预取时机转发,对话管理单元主要用于控制预取领域与预取意图的配置,以及预取结果的缓存。预取时间是指向对话管理单元发起异步调用的时机,预取领域与预取意图分别是指上述一个或多个实施例中提及的服务领域与服务意图。
图6为一个实施例中完整识别文本与中间识别文本一致情况下的语音交互时序图。接入层接收终端根据所采集的语音依次生成并发送的语音数据包,并将所接收到的语音数据包依次发送至语音识别单元,比如终端从用户处采集到的语音为“今天天气怎么样”,接入层依次接收并发送的语音数据包比如语音数据包1、语音数据包2与语音数据包3。语音识别单元按照接收时间(也可理解为接收顺序)依次对所接收的语音数据进行语音识别与静音检测,得到相应的识别文本与连续累计静音时长,当根据连续累计静音时长判定得到完整识别文本时,向接入层反馈该完整识别文本与相应的语音尾包标识,否则,将当前得到的识别文本作为中间识别文本并反馈至接入层,比如,语音数据包1、语音数据包2与语音数据包3对应的识别文本,分别为“今天”、“今天天气怎么样”与“今天天气怎么样”,语音识别单元按照上述方式判定语音数据包1与语音数据包2对应的识别文本为中间识别文本,则将该中间识别文本直接反馈至接入层,并按照上述方式判定语音数据包3对应的识别文本为完整识别文本,则将该完整识别文本与相应的语音尾包标识一并反馈至接入层。
接入层根据所接收到的中间识别文本想对话管理单元发起异步调用,对话管理单元对异步调用所指定的中间识别文本进行语义解析,根据语义解析结果向技能中控单元发起服务技能调用,以获取相应的技能调用结果,并将该中间识别文本对应的语义解析结果与技能调用结果,以及该中间识别文本缓存在本地,比如,基于语音数据包2对应的中间识别文本的语义解析结果,确定所需调用的服务技能为天气技能,则向技能中控单元发起天气技能调用。相应地,接入层在接收到语音识别单元反馈的完整识别文本与语音尾包标识时,根据该完整识别文本向对话管理单元发起调用。对话管理单元将该完整识别文本与本地缓存的中间识别文本进行比较,当二者一致时,将对应于该中间识别文本缓存的技能调用结果反馈至接入层,比如,由于语音数据包2对应的中间识别文本“今天天气怎么样”,与语音数据包3对应的完整识别文本“今天天气怎么样”一致,则直接从缓存中获取技能调用结果。接入层将所接收到的技能调用结果作为目标应答数据反馈至终端,比如,目标应答数据为“福田今天天气晴”。
可以理解,图6所示的语音数据包的数量、接入层基于中间识别文本向对话管理单元发起异步调用的时机,以及最终反馈的目标应答数据仅作为示例,并不用于具体限定。值得说明的是,图6所示1的基于单个语音数据包1即可识别得到识别文本“今天”,也仅作为示例,并不用于具体限定,比如可能基于多个语音数据包才能识别得到“今天”这一识别文本。图6中未示例出处于接入层与用户之间的终端。
上述实施例中,当完整识别文本与中间识别文本一致时,将基于中间识别文本通过异步方式预先获取到的技能调用结果,作为目标应答数据,能够减少对完整识别文本进行语义解析与服务技能调用的耗时,从而能够提高语音交互效率。
图7为一个实施例中完整识别文本与中间识别文本不一致,但二者的语义解析结果一致的情况下的语音交互时序图。由于图6与图7所示的交互时序图中,终端、接入层、语音识别单元与技能中控单元所执行的操作类似,在此不再一一进行说明。如图7所示,用户在语音交互过程中发起的语音为“今天天气怎么样”,语音识别单元根据语音数据包1、语音数据包2与语音数据包3,分别得到的识别文本为“今天”、“今天天气”与“今天天气怎么样”,接入层将语音数据包2对应的识别文本“今天天气”作为中间识别文本,并基于该中间识别文本向对话管理单元发起异步调用。对话管理单元基于该中间识别文本的语义解析结果,向技能中控单元发起天气技能调用,获取相应的技能调用结果,并缓存该中间识别文本与相应的语义解析结果及技能调用结果。对话管理单元在接收到接入层基于完整识别文本发起的调用时,将该完整识别文本与缓存的中间识别文本进行比较,由于完整识别文本“今天天气怎么样”与中间识别文本“今天天气”不一致,对话管理单元则对该完整识别文本进行语义解析,并进一步判断该完整识别文本的语义解析结果是否与中间识别文本的语义解析结果一致,由于二者语义解析结果一致,则将对应于中间识别文本“今天天气”缓存的技能调用结果反馈至接入层。接入层将该技能调用结果作为最终的目标应答数据反馈至终端,以指示终端向用户展示该目标应答数据。
可以理解,类似于图6的说明,图7所示的语音交互时序图仅作为示例,并不用于具体限定。图7中也未示例出处于接入层与用户之间的终端。
上述实施例中,当完整识别文本与中间识别文本不一致,但二者的语义解析结果一致时,将基于中间识别文本通过异步方式预先获取到的技能调用结果,作为目标应答数据,能够减少根据完整识别文本的语义解析结果进行服务技能调用的耗时,从而能够提高语音交互效率。
图8为一个实施例中语音交互过程的耗时分布对比图。图8(a)为目前的语音交互模式下的耗时分布图,图8(b)与(c)分别为本申请提供的语音交互模式下的耗时分布图,其中,图8(b)是完整识别文本与中间识别文本一致情况下的耗时分布图,图8(c)是完整识别文本与中间识别文本不一致,但二者的语义解析结果一致的情况下的耗时分布图。该三个耗时分布图的耗时组成部分依次包括:尾部静音检测、语音识别尾包、对话管理、语音合成首包、终端处理语音合成首包与写入硬件等,对话管理还包括语义解析与技能中控调用。其中,用户在语音交互过程中发起语音流,在用户说话结束时,终端通过尾部静音检测能够确定用户已经停止说话。可以理解,服务器也会进行尾部静音检测,并生成相应的语音识别尾包,服务器在得到目标应答数据后,会对该目标应答数据进行语音合成得到相应的语音合成首包,该语音合成首包也即是应答数据包。终端在接收到服务器发送的语音合成首包后,通过对该语音合成首包进行处理得到相应的应答语音,并将该应答语音写入硬件,以通过硬件向用户播报该应答语音,由此,当终端将应答语音写入硬件后触发了语音播放流程,也即是播放开始之后,用户即能够获取到与自身发起的语音流对应的应答语音。
如图8(a)所示,目前的语音交互模式下,尾部静音检测、语音识别尾包、对话管理、语音合成首包、终端处理语音合成首包,各自的耗时分别为880ms、65ms、198ms、13ms与399ms,其中,对话管理的耗时包括语义解析与技能中控调用的耗时,还包括其他耗时,语义解析与技能中控调用的耗时分别为92ms与47ms,由此,该语音交互模式下的总耗时为1555ms,服务器侧总耗时为276ms。
如图8(b)所示,本申请提供的语音交互模式下,完整识别文本与中间识别文本一致情况时,尾部静音检测、语音识别尾包、对话管理、语音合成首包、终端处理语音合成首包,各自的耗时分别为880ms、65ms、21ms、13ms与399ms,其中,对话管理的耗时包括语义解析与技能中控调用的耗时,还包括其他耗时,语义解析与技能中控调用的耗时分别为0ms与0ms,由此,该语音交互模式下的总耗时为1378ms,服务器侧总耗时为99,其中,由于语义解析与技能中控调用是异步执行的,所以不存在串行的耗时统计,而对话管理的耗时还包括将完整识别文本与中间识别文本进行比较的耗时,由此存在21ms的其他耗时。由此可见,当完整识别文本与中间识别文本一致时,能够减少语义解析与技能中控调用的耗时,从而能够减少语音交互的总耗时。
如图8(c)所示,本申请提供的语音交互模式下,完整识别文本与中间识别文本一致情况时,尾部静音检测、语音识别尾包、对话管理、语音合成首包、终端处理语音合成首包,各自的耗时分别为880ms、65ms、148ms、13ms与399ms,其中,对话管理的耗时包括语义解析与技能中控调用的耗时,还包括其他耗时,语义解析与技能中控调用的耗时分别为91ms与0ms,由此,该语音交互模式下的总耗时为1505ms,服务器侧总耗时为226,其中,由于中间识别文本的语义解析与技能中控调用是异步执行的,所以不存在串行的耗时统计,但是在中间识别文本与完整识别文本不一致时,还需要对完整识别文本进行语义解析,由此存在91ms的语义解析耗时,而对话管理的耗时还包括将完整识别文本与中间识别文本进行比较,以及将完整识别文本的语义解析结果与中间识别文本的语义解析结果进行比较的耗时,由此存在148ms的其他耗时。由此可见,当完整识别文本与中间识别文本一致,但是二者语义解析结果不一致时,能够减少技能中控调用的耗时,从而能够减少语音交互的总耗时。
基于图8所示的耗时分布对比图可知,本申请提供的基于流式语义识别做服务预取的语音交互方式,能够提升语音助手端到端响应的速度,也即能够提高语音交互效率。
在一个实施例中,上述一个或多个实施例中,用于与完整识别文本进行比较的中间识别文本,具体可以是指处于该完整识别文本之前、且最晚进行语义解析的识别文本。
在一个实施例中,上述一个或多个实施例中由服务器执行的步骤,具体可由部署于服务器的语音助手来执行。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种语音交互装置900,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:接收模块901、识别模块902、获取模块903和应答模块904,其中:
接收模块901,用于接收终端依次发送的语音数据包;
识别模块902,用于在依次接收语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长;
获取模块903,用于当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本一致时,将基于目标文本的语义解析结果通过异步方式预先得到的应答数据作为目标应答数据;目标文本是最晚进行语义解析的识别文本;
应答模块904,用于将目标应答数据反馈至终端。
在一个实施例中,获取模块903,还用于当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本不一致时,将当前得到的识别文本的语义解析结果与目标文本的语义解析结果一致进行比较;当当前得到的识别文本的语义解析结果与目标文本的语义解析结果相匹配时,将基于目标文本的语义解析结果,通过异步方式预先得到的应答数据作为目标应答数据。
在一个实施例中,获取模块903,还用于当当前得到的连续累计静音时长小于静音时长阈值时,对当前得到的识别文本进行语义解析,得到语义解析结果;根据当前得到的语义解析结果确定服务领域与服务意图;按照服务领域与服务意图获取相应的应答数据。
在一个实施例中,获取模块903,还用于当当前得到的连续累计静音时长小于静音时长阈值时,将当前得到的识别文本与预设解析条件进行比较;当当前得到的识别文本满足预设解析条件时,对当前得到的识别文本进行语义解析,得到语义解析结果。
在一个实施例中,预设解析条件包括当前得到的识别文本的文本长度大于或等于文本长度阈值,以及当前得到的识别文本与前一次得到的识别文本不一致。
在一个实施例中,获取模块903,还用于从应答配置集合中查询与服务领域相匹配的目标服务领域,以及与服务意图相匹配的目标服务意图;通过目标服务意图对应的接口,调用目标服务领域对应的服务获取相应的应答数据。
在一个实施例中,应答模块904,还用于对目标应答数据进行语音合成得到应答数据包;将应答数据包发送至终端;发送的应答数据包用于指示终端解析应答数据包,并播报解析得到的应答语音。
关于语音交互装置的具体限定可以参见上文中对于语音交互方法的限定,在此不再赘述。上述语音交互装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储所接收到的语音数据包,以及相应的识别文本与连续累计静音时长。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音交互方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种语音交互方法,其特征在于,所述方法包括:
接收终端依次发送的语音数据包;
在依次接收语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长;
当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本一致时,将基于所述目标文本的语义解析结果,通过异步方式预先得到的应答数据作为目标应答数据;所述目标文本是最晚进行语义解析的识别文本;
将所述目标应答数据反馈至所述终端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本不一致时,将所述当前得到的识别文本的语义解析结果与所述目标文本的语义解析结果一致进行比较;
当所述当前得到的识别文本的语义解析结果与所述目标文本的语义解析结果相匹配时,将基于所述目标文本的语义解析结果,通过异步方式预先得到的应答数据作为目标应答数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当当前得到的连续累计静音时长小于静音时长阈值时,对当前得到的识别文本进行语义解析,得到语义解析结果;
根据当前得到的语义解析结果确定服务领域与服务意图;
按照所述服务领域与所述服务意图获取相应的应答数据。
4.根据权利要求3所述的方法,其特征在于,所述当当前得到的连续累计静音时长小于静音时长阈值时,对当前得到的识别文本进行语义解析,得到语义解析结果,包括:
当当前得到的连续累计静音时长小于静音时长阈值时,将当前得到的识别文本与预设解析条件进行比较;
当所述当前得到的识别文本满足所述预设解析条件时,对所述当前得到的识别文本进行语义解析,得到语义解析结果。
5.根据权利要求4所述的方法,其特征在于,所述预设解析条件包括所述当前得到的识别文本的文本长度大于或等于文本长度阈值,以及所述当前得到的识别文本与前一次得到的识别文本不一致。
6.根据权利要求3所述的方法,其特征在于,所述按照所述服务领域与所述服务意图获取相应的应答数据,包括:
从应答配置集合中查询与所述服务领域相匹配的目标服务领域,以及与所述服务意图相匹配的目标服务意图;
通过所述目标服务意图对应的接口,调用所述目标服务领域对应的服务获取相应的应答数据。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述将所述目标应答数据反馈至所述终端,包括:
对所述目标应答数据进行语音合成得到应答数据包;
将所述应答数据包发送至所述终端;发送的所述应答数据包用于指示所述终端解析所述应答数据包,并播报解析得到的应答语音。
8.一种语音交互装置,其特征在于,所述装置包括:
接收模块,用于接收终端依次发送的语音数据包;
识别模块,用于在依次接收语音数据包的过程中,按照接收时间依次对所接收的语音数据包进行语音识别与静音检测,得到每个语音数据包对应的识别文本与连续累计静音时长;
获取模块,用于当当前得到的连续累计静音时长大于或等于静音时长阈值、且当前得到的识别文本与目标文本一致时,将基于所述目标文本的语义解析结果通过异步方式预先得到的应答数据作为目标应答数据;所述目标文本是最晚进行语义解析的识别文本;
应答模块,用于将所述目标应答数据反馈至所述终端。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010817186.5A CN111916082B (zh) | 2020-08-14 | 2020-08-14 | 语音交互方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010817186.5A CN111916082B (zh) | 2020-08-14 | 2020-08-14 | 语音交互方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111916082A true CN111916082A (zh) | 2020-11-10 |
CN111916082B CN111916082B (zh) | 2024-07-09 |
Family
ID=73283112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010817186.5A Active CN111916082B (zh) | 2020-08-14 | 2020-08-14 | 语音交互方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111916082B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463939A (zh) * | 2020-11-12 | 2021-03-09 | 深圳市欢太科技有限公司 | 人机对话方法、***、服务设备及计算机存储介质 |
CN112558491A (zh) * | 2020-11-27 | 2021-03-26 | 青岛海尔智能家电科技有限公司 | 基于语音识别的家庭场景联动智能家居***及其控制方法、控制装置 |
CN113066473A (zh) * | 2021-03-31 | 2021-07-02 | 建信金融科技有限责任公司 | 一种语音合成方法、装置、存储介质及电子设备 |
CN113241071A (zh) * | 2021-05-10 | 2021-08-10 | 湖北亿咖通科技有限公司 | 一种语音处理方法、电子设备及存储介质 |
CN113643696A (zh) * | 2021-08-10 | 2021-11-12 | 阿波罗智联(北京)科技有限公司 | 语音处理方法、装置、设备、存储介质及程序 |
CN114360530A (zh) * | 2021-11-30 | 2022-04-15 | 北京罗克维尔斯科技有限公司 | 语音测试方法、装置、计算机设备和存储介质 |
WO2022143048A1 (zh) * | 2020-12-31 | 2022-07-07 | 华为技术有限公司 | 对话任务管理方法、装置及电子设备 |
CN115457945A (zh) * | 2022-11-10 | 2022-12-09 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器和存储介质 |
WO2023246609A1 (zh) * | 2022-06-24 | 2023-12-28 | 华为技术有限公司 | 语音交互的方法、电子设备和语音助手开发平台 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201400604D0 (en) * | 2013-01-25 | 2014-03-05 | Pantel Lothar | Method for voice activation of a software agent from standby mode |
WO2016127550A1 (zh) * | 2015-02-13 | 2016-08-18 | 百度在线网络技术(北京)有限公司 | 人机语音交互方法和装置 |
CN107146602A (zh) * | 2017-04-10 | 2017-09-08 | 北京猎户星空科技有限公司 | 一种语音识别方法、装置及电子设备 |
CN107665706A (zh) * | 2016-07-29 | 2018-02-06 | 科大讯飞股份有限公司 | 快速语音交互方法及*** |
CN108009303A (zh) * | 2017-12-30 | 2018-05-08 | 北京百度网讯科技有限公司 | 基于语音识别的搜索方法、装置、电子设备和存储介质 |
CN108305628A (zh) * | 2017-06-27 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、计算机设备和存储介质 |
CN108877804A (zh) * | 2018-06-26 | 2018-11-23 | 苏州思必驰信息科技有限公司 | 语音服务方法、***、电子设备及存储介质 |
CN110287303A (zh) * | 2019-06-28 | 2019-09-27 | 北京猎户星空科技有限公司 | 人机对话处理方法、装置、电子设备及存储介质 |
CN111429899A (zh) * | 2020-02-27 | 2020-07-17 | 深圳壹账通智能科技有限公司 | 基于人工智能的语音响应处理方法、装置、设备及介质 |
-
2020
- 2020-08-14 CN CN202010817186.5A patent/CN111916082B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201400604D0 (en) * | 2013-01-25 | 2014-03-05 | Pantel Lothar | Method for voice activation of a software agent from standby mode |
WO2016127550A1 (zh) * | 2015-02-13 | 2016-08-18 | 百度在线网络技术(北京)有限公司 | 人机语音交互方法和装置 |
CN107665706A (zh) * | 2016-07-29 | 2018-02-06 | 科大讯飞股份有限公司 | 快速语音交互方法及*** |
CN107146602A (zh) * | 2017-04-10 | 2017-09-08 | 北京猎户星空科技有限公司 | 一种语音识别方法、装置及电子设备 |
CN108305628A (zh) * | 2017-06-27 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、计算机设备和存储介质 |
CN108009303A (zh) * | 2017-12-30 | 2018-05-08 | 北京百度网讯科技有限公司 | 基于语音识别的搜索方法、装置、电子设备和存储介质 |
CN108877804A (zh) * | 2018-06-26 | 2018-11-23 | 苏州思必驰信息科技有限公司 | 语音服务方法、***、电子设备及存储介质 |
CN110287303A (zh) * | 2019-06-28 | 2019-09-27 | 北京猎户星空科技有限公司 | 人机对话处理方法、装置、电子设备及存储介质 |
CN111429899A (zh) * | 2020-02-27 | 2020-07-17 | 深圳壹账通智能科技有限公司 | 基于人工智能的语音响应处理方法、装置、设备及介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463939A (zh) * | 2020-11-12 | 2021-03-09 | 深圳市欢太科技有限公司 | 人机对话方法、***、服务设备及计算机存储介质 |
CN112463939B (zh) * | 2020-11-12 | 2024-05-24 | 深圳市欢太科技有限公司 | 人机对话方法、***、服务设备及计算机存储介质 |
CN112558491A (zh) * | 2020-11-27 | 2021-03-26 | 青岛海尔智能家电科技有限公司 | 基于语音识别的家庭场景联动智能家居***及其控制方法、控制装置 |
WO2022143048A1 (zh) * | 2020-12-31 | 2022-07-07 | 华为技术有限公司 | 对话任务管理方法、装置及电子设备 |
CN113066473A (zh) * | 2021-03-31 | 2021-07-02 | 建信金融科技有限责任公司 | 一种语音合成方法、装置、存储介质及电子设备 |
CN113241071A (zh) * | 2021-05-10 | 2021-08-10 | 湖北亿咖通科技有限公司 | 一种语音处理方法、电子设备及存储介质 |
CN113643696A (zh) * | 2021-08-10 | 2021-11-12 | 阿波罗智联(北京)科技有限公司 | 语音处理方法、装置、设备、存储介质及程序 |
CN114360530A (zh) * | 2021-11-30 | 2022-04-15 | 北京罗克维尔斯科技有限公司 | 语音测试方法、装置、计算机设备和存储介质 |
WO2023246609A1 (zh) * | 2022-06-24 | 2023-12-28 | 华为技术有限公司 | 语音交互的方法、电子设备和语音助手开发平台 |
CN115457945A (zh) * | 2022-11-10 | 2022-12-09 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111916082B (zh) | 2024-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111916082B (zh) | 语音交互方法、装置、计算机设备和存储介质 | |
CN109378000B (zh) | 语音唤醒方法、装置、***、设备、服务器及存储介质 | |
CN107833574B (zh) | 用于提供语音服务的方法和装置 | |
WO2021004481A1 (zh) | 一种媒体文件推荐方法及装置 | |
US10824664B2 (en) | Method and apparatus for providing text push information responsive to a voice query request | |
CN111105782B (zh) | 会话交互处理方法、装置、计算机设备和存储介质 | |
JP2021071733A (ja) | オーディオ透かしによるキーフレーズ検出 | |
CN111210829A (zh) | 语音识别方法、装置、***、设备和计算机可读存储介质 | |
WO2019228138A1 (zh) | 音乐播放方法、装置、存储介质及电子设备 | |
WO2022142031A1 (zh) | 无效通话判断方法、装置、计算机设备及存储介质 | |
CN111341315A (zh) | 语音控制方法、装置、计算机设备和存储介质 | |
CN110942764B (zh) | 一种流式语音识别方法 | |
CN111933149A (zh) | 语音交互方法、穿戴式设备、终端及语音交互*** | |
CN115050372A (zh) | 一种音频片段的聚类方法、装置、电子设备和介质 | |
WO2021103741A1 (zh) | 内容处理方法、装置、计算机设备及存储介质 | |
CN110502631B (zh) | 一种输入信息响应方法、装置、计算机设备和存储介质 | |
CN111354350B (zh) | 语音处理方法及装置、语音处理设备、电子设备 | |
CN112148754A (zh) | 一种歌曲识别方法和装置 | |
CN111899737A (zh) | 音频数据处理方法、装置、服务器及存储介质 | |
CN114391165A (zh) | 语音信息处理方法、装置、设备及存储介质 | |
CN114822506A (zh) | 一种消息播报方法、装置、移动终端及存储介质 | |
CN116229962A (zh) | 终端设备及语音唤醒方法 | |
CN113516963B (zh) | 音频数据的生成方法、装置、服务器和智能音箱 | |
CN112306560B (zh) | 用于唤醒电子设备的方法和装置 | |
CN113936655A (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 |