CN116670760A - 语音交互的方法、装置和存储介质 - Google Patents
语音交互的方法、装置和存储介质 Download PDFInfo
- Publication number
- CN116670760A CN116670760A CN202180041317.8A CN202180041317A CN116670760A CN 116670760 A CN116670760 A CN 116670760A CN 202180041317 A CN202180041317 A CN 202180041317A CN 116670760 A CN116670760 A CN 116670760A
- Authority
- CN
- China
- Prior art keywords
- audio signal
- text
- voice
- timer
- determining
- 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 194
- 230000003993 interaction Effects 0.000 title claims abstract description 171
- 238000003860 storage Methods 0.000 title claims abstract description 9
- 230000005236 sound signal Effects 0.000 claims abstract description 505
- 238000012545 processing Methods 0.000 claims description 70
- 238000004590 computer program Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 16
- 230000002028 premature Effects 0.000 abstract description 4
- 238000001514 detection method Methods 0.000 description 102
- 230000008569 process Effects 0.000 description 73
- 238000012549 training Methods 0.000 description 59
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 22
- 238000010438 heat treatment Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 7
- 230000007935 neutral effect Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004378 air conditioning Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 239000002689 soil Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
- G10L25/87—Detection of discrete points within a voice signal
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
- Machine Translation (AREA)
Abstract
一种语音交互的方法、装置和存储介质,该方法包括:获取第一音频信号,所述第一音频信号中包括第一语音指令(S410);根据所述第一语音指令对应的第一文本,确定第一定时器的时长(S420);启动所述第一定时器(S430);获取第二音频信号,所述第二音频信号的起始时刻等于或晚于所述第一音频信号的结束时刻(S440);在所述第二音频信号中的语音指令对应的文本为空时,将所述第一定时器的结束时刻确定为语音端点(S450),在确定所述语音端点之后,响应所述第一语音指令(S460)。本方法可以灵活地确定语音端点,从而可以缓解由于噪音造成的语音响应延迟过长的问题,以及减少由于用户说话停顿而造成的语音交互截断过早的情况。
Description
本申请涉及人机交互领域,并且更具体地,涉及一种语音交互的方法、装置和存储介质。
语音识别功能广泛应用于智能家居设备,智能车载设备等设备中,以实现自然地人机语音交互体现。自动语音识别(automatic speech recognition,ASR)对于音频信号中的有效语言片段的判断,涉及到前端点检测和后端点检测,即检测语音开始和结束。语音后端点检测经常由于背景噪音、用户语速差异、用户说话停顿而造成延迟过长或过早截断的问题。
发明内容
本申请实施例提供一种语音交互的方法、装置和存储介质,能够提高用户对于语音响应的体验。
第一方面,提供了一种语音交互的方法,该方法包括:获取第一音频信号,该第一音频信号中包括第一语音指令;根据该第一语音指令对应的第一文本,确定第一定时器的时长;启动该第一定时器;获取第二音频信号,该第二音频信号的起始时刻等于或晚于该第一音频信号的结束时刻;在该第二音频信号中的语音指令对应的文本为空时,将该第一定时器的结束时刻确定为语音端点;在确定语音端点之后,响应第一语音指令。
本申请实施例中,根据语音交互中的语音指令所对应的文本,可以确定定时器时长,并且根据该定时器和第二音频信号,可以灵活地确定语音端点,从而可以缓解由于噪音造成的语音响应延迟过长的问题,以及减少由于用户说话停顿而造成的语音交互截断过早的情况。进一步地,可以在缩短系统响应延迟的情况下,提高语音指令响应的速度,提高用户体验。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:在该第二音频信号的音频帧的能量小于或等于第一阈值时,可以将该第一定时器的结束时刻确定为语音端点。
本申请实施例中,可以通过第二音频信号的音频帧的能量来确定该第二音频信号是否包括语音指令,可以降低对语音端点的误判率。
结合第一方面,在第一方面的某些实现方式中,在该第二音频信号中的语音指令对应的文本为空时,将该第一定时器的结束时刻确定为语音端点,包括:在该第二音频信号中的语音指令对应的文本为空,且该第二音频信号的音频帧的能量小于或等于第一阈值时,将该第一定时器的结束时刻确定为该语音端点。
本申请实施例中,通过结合第二音频信号的音频帧的能量以及根据该音频信号所得到的文本,使得能够更为准确地确定第二音频信号是否包括语音指令,从而可以提高所确定 的语音端点的准确度。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:获取第二文本,该第二文本通过显示屏显示;该方法还包括,在该第一语音指令对应的该第一文本与该第二文本匹配时,执行该第二文本所指示的操作。
本申请实施例中,通过执行该第二文本所指示的操作,可以实现可见即可说的功能,使得用户可以在避免与用户设备接触的情况下,通过语音实现与用户设备间的交互,可以提升用户体验。另外,在本申请实施例中,语音指令所对应的第一文本与通过显示屏显示的第二文本间的匹配过程,可以在语音端点检测之前进行,而并非在确定到完整的语音指令后再进行,通过该方式,可以显著缩短对于用户语音指令的响应时间,从而可以提高用户体验。而且,当无法匹配时,可以使用该第一文本进行语音端点检测,也并不会对语音端点的检测造成影响。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:获取在显示屏上显示的第二文本;该根据第一语音指令对应的第一文本,确定第一定时器的时长,包括:在该第一语音指令对应的该第一文本与该第二文本不匹配时,根据该第一语音指令对应的该第一文本,确定该第一定时器的时长。
本申请实施例中,在用户下达的语音指令与显示屏上所显示的文字无法匹配时,可以根据语音交互中的语音指令确定第一定时器的时长,并响应于用户的语音指令,使得对于用户语音指令的响应不止局限于显示屏中的文字所指示的操作,可以具有更广泛的适用范围。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:获取第三音频信号,该第三音频信号包括第一预设时间内接收到的音频信号,该第一预设时间的起始时刻,等于或晚于该第一音频信号的结束时刻;该根据该第一语音指令对应的第一文本,确定第一定时器的时长,包括:在该第三音频信号不包括语音指令时,根据该第一语音指令对应的该第一文本,确定该第一定时器的时长。
本申请实施例中,通过获取第一预设时间内接收的第三音频信号,可以在确定第三音频信号不包括语音指令时,再根据第一文本确定第一定时器的时长,可以降低检测语音端点的频次,由此可以节省检测语音端点所占用的资源。
结合第一方面,在第一方面的某些实现方式中,该获取该第一音频信号之前,该方法还包括:获取第四音频信号,该第四音频信号中包括第三语音指令;根据该第三语音指令对应的第三文本,确定第二定时器的时长;开启该第二定时器,在该第二定时器运行时获取第五音频信号,该第二定时器的结束时刻,早于或等于该第一定时器的开始时刻;在该第五音频信号中的语音指令对应的文本为非空时,根据该第四音频信号和该第五音频信号,确定该第一音频信号,该第一音频信号包括该第四音频信号和该第五音频信号。
在语音交互中,用户可能存在多次停顿,因此在确定语音交互中的语音端点的过程中,可以进行多次检测,当语音端点检测失败时,可以根据语音交互中的音频信号,再次进行语音端点检测,直至成功检测到语音端点,并由此响应语音指令。为了对多次语音检测过程中所使用的音频信号和文本进行区分,可以将本次语音端点检测中所使用的文本,定义为第一文本,相应地,将对应的音频信号定义为第一音频信号,将此前检测语音端点过程中确定定时器时所使用的文本定义为第三文本,相应地,将对应的音频信号定义为第四音 频信号,第四音频信号可以作为第一音频信号的一部分,第三文本可以作为第一文本的一部分。
本申请实施例中,将此前语音端点检测失败时所使用的文本,作为本次语音端点检测中所使用的第一文本的一部分,可以充分利用在语音交互中所获取到的语音指令及其对应的文本,可以更为准确地确定第一定时器,从而可以提高语音端点检测的准确性,从而可以避免对语音交互的不恰当截断,缓解由于噪音和用户说话停顿所造成的影响。
结合第一方面,在第一方面的某些实现方式中,该第一音频信号的起始时刻,早于或等于该第四音频信号的起始时刻,该第一音频信号的结束时刻,等于或晚于第五音频信号的结束时刻。
本申请实施例中,对于第四音频信号的起始时刻至第五音频信号的结束时刻之间的时间段,该第一音频信号可以包括该时间段内音频信号中的全部的语音指令,由此可以提高所确定的第一定时器的准确性,从而可以提高语音端点检测的准确性,进一步地,可以提高用户体验。
结合第一方面,在第一方面的某些实现方式中,根据该第一语音指令对应的第一文本,确定第一定时器的时长,包括:将该第一语音指令对应的该第一文本输入预测模型,得到该第一文本的语义完整度;根据该第一文本的语义完整度,确定该第一定时器的时长。
可选地,语义完整度可以指语义的完整的程度,示例性地,第一文本的语义完整度可以指该第一文本的语义的完整的程度。可选地,可以使用第一信息表征语义完整度。
本申请实施例中,通过将第一文本输入预测模型,可以得到该第一文本的语义完整度,由此可以根据该第一文本的语义完整度,确定其对应的语音指令是否完整,以此可以灵活地确定语音端点。
第二方面,提供了一种语音交互的装置,其特征在于,该装置包括:获取模块,用于获取第一音频信号,该第一音频信号中包括第一语音指令;还用于获取第二音频信号,第二音频信号的起始时刻等于或晚于该第一音频信号的结束时刻;处理模块,用于根据该第一语音指令对应的第一文本,确定该第一定时器的时长;启动该第一定时器;在该第二音频信号中的语音指令对应的文本为空时,将该第一定时器的结束时刻确定为语音端点;在确定所述语音端点之后,响应第一语音指令。
结合第二方面,在第二方面的某些实现方式中,该处理模块,还可以用于,在该第二音频信号的音频帧的能量小于或等于第一阈值时,将该第一定时器的结束时刻确定为该语音端点。
结合第二方面,在第二方面的某些实现方式中,该处理模块,具体用于:在该第二音频信号中的语音指令对应的文本为空,且该第二音频信号的音频帧的能量小于或等于第一阈值时,将该第一定时器的结束时刻确定为该语音端点。
结合第二方面,在第二方面的某些实现方式中,该获取模块还用于:获取在显示屏上显示的第二文本;该处理模块,具体用于:在该第一语音指令对应的该第一文本与该第二文本不匹配时,根据该第一语音指令对应的该第一文本,确定该第一定时器的时长。
结合第二方面,在第二方面的某些实现方式中,该获取模块还用于:获取第三音频信号,该第三音频信号包括第一预设时间内接收到的音频信号,该第一预设时间的起始时刻等于或晚于该第一音频信号的结束时刻;该处理模块,具体用于:在该第三音频信号不包 括语音指令时,根据该第一语音指令对应的该第一文本,确定该第一定时器的时长。
结合第二方面,在第二方面的某些实现方式中,该获取模块还用于:在获取该第一音频信号之前,获取第四音频信号,该第四音频信号中包括第三语音指令;在第二定时器运行时获取第五音频信号;该处理模块,还用于:根据该第三语音指令对应的第三文本,确定第二定时器的时长;启动该第二定时器,该第二定时器的结束时刻早于或等于该第一定时器的开始时刻;在该第五音频信号中的语音指令对应的文本为非空时,根据该第四音频信号和该第五音频信号,确定该第一音频信号,该第一音频信号包括该第四音频信号和该第五音频信号。
结合第二方面,在第二方面的某些实现方式中,该第一音频信号的起始时刻早于或等于该第四音频信号的起始时刻,该第一音频信号的结束时刻等于或晚于第五音频信号的结束时刻。
结合第二方面,在第二方面的某些实现方式中,该处理模块,具体用于:将该第一语音指令对应的该第一文本输入预测模型,得到该第一文本的语义完整度;根据该第一文本的语义完整度,确定该第一定时器的时长。
第三方面,提供了一种用于语音交互的预测模型的训练的方法,该方法包括:获取文本数据集,该文本数据集包括多个第四文本,该第四文本标注了第一信息,该第一信息用于表示该文本的语义完整度;根据该文本数据集进行模型训练,得到预测模型,该预测模型用于预测语音指令的语义完整度。
本申请实施例中,根据文本数据集可以进行模型训练,可以得到预测模型,通过该训练的过程,该预测模型可以从文本数据集中的第四文本学习出文本与其语义完整度间的关系,从而在模型预测阶段,可以基于预测模型,预测待分析的文本的语义完整度,从而可以在语音交互过程中,通过确定音频信号中的语音指令对应的文本的语义完整度,确定用户是否具有继续说话的意图。
结合第三方面,在第三方面的某些实现方式中,该方法还包括:获取文本语料集,该文本语料集中包括多个具有完整语义的文本;根据该文本语料集确定该文本数据集。
本申请实施例中,根据文本语料集确定文本数据集,使得可以仅准备具有完整语义的文本,可以减少用于构建文本数据集时所需准备的文本的数量,可以简化构建文本数据集的过程。
结合第三方面,在第三方面的某些实现方式中,该根据文本语料集确定该文本数据集,可以包括:根据该文本语料集中的具有完整语义的文本,确定一个或多个第四文本;根据文本语料集中多个具有完整语义的文本所确定的多个第四文本,确定文本数据集。
本申请实施例中,根据文本语料集中具有完整语义的文本确定一个或多个第四文本,可以简化确定该一个或多个第四文本的语义完整度的过程,从而可以简化确定和标注第一信息的过程。
结合第三方面,在第三方面的某些实现方式中,该方法还包括:根据该文本语料集,确定字典树,该字典树包括多个节点;根据该字典树中的节点的子节点数目,确定第四文本的语义完整度。
示例性地,根据该字典树中的节点,可以确定与该节点对应的第四文本,例如,该第四文本可以是以该节点为结尾的文本。可选地,可以根据字典树中该节点的子节点数目, 确定该节点对应的第四文本的语义完整度。
本申请实施例中,通过确定字典树,可以确定该节点的子节点数目,从而可以确定文本数据集中该节点对应的第四文本的语义完整度,从而提高确定第四文本语义完整度的效率。
结合第三方面,在第三方面的某些实现方式中,该根据字典树中的节点的子节点数目,确定第四文本的语义完整度,包括:根据该字典树中的节点的子节点数目,以及该具有完整语义的文本对应的尾节点标记,确定第四文本的语义完整度。
本申请实施例中,通过字典树的子节点数目,以及尾节点标记,能够以更细的粒度确认第四文本的语义完整度,从而通过训练能够得到更加准确的预测模型。
第四方面,提供了一种训练用于语音交互的预测模型的装置,该装置包括获取模块和训练模块,其中,获取模块可以用于:获取文本数据集,该文本数据集包括多个第四文本,该第四文本标注了第一信息,该第一信息可以用于表示第四文本的语义完整度;该训练模块可以用于:根据文本数据集进行模型训练,得到预测模型,该预测模型用于预测语音指令的语义完整度。
结合第四方面,在第四方面的某些实现方式中,该获取模块,还可以用于获取文本语料集,该文本语料集中可以包括多个具有完整语义的文本;该装置还可以包括处理模块,该处理模块可以用于,根据该文本语料集确定文本数据集。
结合第四方面,在第四方面的某些实现方式中,该处理模块具体用于,根据该文本语料集中的具有完整语义的文本,确定一个或多个第四文本;根据文本语料集中多个具有完整语义的文本所确定的多个第四文本,确定文本数据集。
结合第四方面,在第四方面的某些实现方式中,该处理模块,还可以用于:根据文本语料集确定字典树,该字典树包括多个节点;可以根据该字典树中的节点的子节点数目,确定第四文本的语义完整度。
示例性地,根据该字典树中的节点,可以确定与该节点对应的第四文本,例如,该第四文本可以是以该节点为结尾的文本。可选地,可以根据字典树中该节点的子节点数目,确定该节点对应的第四文本的语义完整度。
结合第四方面,在第四方面的某些实现方式中,该处理模块,还可以用于:根据字典树中的节点的子节点数目,以及具有完整语义的文本所确定的尾节点标记,确定第四文本的语义完整度。
第五方面,提供了一种装置,该装置包括:包括处理器和存储器,该存储器用于存储程序指令,该处理器用于调用该程序指令来执行第一方面或者第一方面中任一可能的实现方式中的方法。该装置可以设置在各类语音交互、语音识别、语音助手或智能音箱等可以进行语音端点检测的设备或系统中,例如可以为手机终端、车载终端或可穿戴设备等各类终端设备,也可以为电脑、主机或服务器等各类具备运算能力的设备。该装置还可以为芯片。
第六方面,提供了一种装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第三方面或者第三方面中任一可能的实现方式中的方法。该装置可以为电脑、主机或服务器等各类具备运算能力的设备。该装置还可以为芯片。
第七方面,提供了一种终端设备,该终端设备可以包括第二方面或者第二方面中任一可能的实现方式中的装置,或,第五方面或者第五方面中任一可能的实现方式中的装置。
示例性地,终端设备具体可以包括电脑、智能手机、平板电脑、个人数字助理(personal digital assistant,PDA)、可穿戴设备、智能音箱、电视、无人机、车辆、车载芯片、车载装置(例如车机、车载电脑)或机器人等装置中的一个或多个。
结合第七方面,在第七方面的某些实现方式中,该终端设备可以是手机或者车辆。
第二方面至第七方面及任一方面中任一可能的实现方式中的装置,可以是车载芯片、车载装置(例如车机、车载电脑)或车。本申请实施例中的车可以理解为一种交通工具,本申请实施例所提出的方案也可以应用于其他交通工具或装置中。
第八方面,提供了一种电子设备,该电子设备可以包括第四方面及第四方面中任一可能的实现方式中的装置,或者第六方面及第六方面中任一可能的实现方式中的装置。
结合第八方面,在第八方面的某些实现方式中,该电子设备可以是云服务设备。
第九方面,提供了一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行上述第一方面或者第一方面中任一可能的实现方式中的装置,或,第三方面或者第三方面中的任意一种实现方式中的方法。
第十方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或者第一方面中任一可能的实现方式中的装置,或,第三方面或者第三方面中的任意一种实现方式中的方法。
图1为本申请实施例提供的一种语音交互的应用场景。
图2为本申请提供的一种利用语音活性检测技术检测语音端点的方法的示意图。
图3是本申请实施例提供的一种用于语音交互的预测模型的训练方法的示意性流程图。
图4是本申请实施例提供的一种根据示例性的文本语料集所确定的字典树的示意图。
图5为本申请提供的一种预测模型的输入格式的示意图。
图6是本申请实施例提供的一种语音交互的方法的示意性流程图。
图7是本申请实施例提供的一种语音交互中的音频信号的示意图。
图8是本申请实施例提供的另一种语音交互中的音频信号的示意图。
图9是本申请实施例提供的一种确认音频帧分类的方法的示意图。
图10是本申请实施例提供的另一种语音交互中的音频信号的示意图。
图11为本申请实施例提供的语音交互方法的另一示意性流程图。
图12是本申请实施例提供的语音交互方法的另一示意性流程图。
图13为本申请实施例提供的一种显示屏的用户界面的示例性示意图。
图14是本申请实施例提供的一种语音交互的装置的结构示意图。
图15是本申请实施例提供的一种用于训练语音交互的预测模型的装置的结构示意图。
图16为本申请实施例提供的一种装置的结构示例图。
下面将结合附图,对本申请实施例中的技术方案进行描述。
图1为本申请实施例提供的一种语音交互的应用场景。如图1所示,在该应用场景中,可以包括用户和用户设备,用户与用户设备可以进行语音交互。用户设备,可以是车载终端、智能手机、智能机器人、车辆等支持语音交互的设备,也可以是其他支持语音交互功能的设备,例如,智能音箱、智能家居设备、智能电视、台式计算器等,为了简洁,不再一一举例。示例性地,该设备可以进行语音识别。应理解,本申请实施例对用户设备的类型不做限定。
可选地,可以是一个用户与用户设备进行语音交互,也可以是多个用户与用户设备进行语音交互,还可以是通过其他用户设备与该用户设备进行语音交互,还可以是多个用户同时与多个用户设备进行语音交互。例如:用户可以通过麦克风与具有语音识别功能的用户设备进行语音交互;可以通过录音机播放录制好的音频,具有语音交互功能的用户设备可以采集、识别该音频并进行响应。应理解,以上关于用于与用户设备语音交互的方式只是举例以便于说明,本申请实施例对此不做限定。
示例性的,用户设备可以运行有支持语音交互的应用程序。例如,该应用程序可以是导航应用、语音助手、智能问答应用等。本申请实施例对此不做限定。示例性地,该用户设备可以是电脑、智能手机、平板电脑、个人数字助理、可穿戴设备、智能音箱、电视、无人机、车辆、车载芯片、车载装置(例如车机、车载电脑)或机器人等装置中的一个或多个终端设备。
示例性地,该应用场景中还可以包括语音检测平台,该语音检测平台可以为支持语音交互的应用程序提供后台服务。例如,通过对模型进行训练,语音检测平台可以得到预测模型,用户设备可以获取该语音检测平台训练得到的预测模型,用户设备在进行语音交互时,可以利用该预测模型进行语音识别、检测语音端点等,为了简洁此处不再一一举例。应理解,终端设备也可以具有上述功能,即也可以无需语音检测平台提供后台服务的情况下实现语音交互,本申请实施例对此不做限定。
在语音交互的过程中,可以通过语音端点检测技术来确定响应语音指令的契机,当用户说话后,通过对音频进行端点检测,可以确定语音起始点和语音结束点,可以截取语音起始点语音和结束点之间的音频,作为一条语音指令。示例性地,语音交互可以由用户主动发起,比如,触发语音交互的方式可以是一按即说的方式,例如,用户可以通过按键启动语音交互,该按键可以是实体的也可以是虚拟的;又比如,触发语音交互的方式也可以是语音唤醒的方式,例如,通过说出唤醒词,用户可以启动语音交互。因此,语音起始点(或称为语音前端点),比较容易准确检测。示例性地,语音交互也可以由用户设备发起,例如,用户设备在通过语音播报信息后,向用户征询决策指令(比如,“警告:左侧摄像头可能粘附污渍,是否需要自动对其清洗”)。语音结束点(或称为语音结束点、语音后端点)可以通过机器自动检测来确定。例如,可以基于语音活性检测技术来进行语音结束点的检测。
语音活性检测(voice activity detection,VAD)技术,可以用于检测一定时间窗内的信号是否是语音信号。示例性地,图2为本申请提供的一种利用VAD技术检测语音端点的方法的示意图。其中,音频信号如图2中的(a)所示,图2中的(b)为该音频信号对应的VAD输出。例如,可以将VAD输出中的低值的时间段所对应的音频信号确定为非 语音信号,或称为非语音,比如,将图2中的(b)中VAD输出为0的音频确定为非语音,反之,可以将其他时间段的音频信号确定为语音信号。
示例性地,基于语音活性检测技术检测到一段时长的非语音后,可以确定语音端点,以此可以对以获取的语音指令进行响应,例如,执行该语音指令所指示的操作和/或结束语音交互等。该时长可称为语音尾部静音时长,可以设置为固定时长。语音尾部静音时长是这种检测方式的重要参数。示例性地,例如,语音尾部静音时长可以为800毫秒(millisecond,ms),当根据VAD技术检测到超过800ms的非语音时,可以确定语音结束,触发语音端点。但是很难设定一个固定的时长参数以适配所有的场景和环境,例如,如果语音尾部静音时长设定过大,用户感受到的延迟会较长;如果该时长参数设定过小,用户的语音指令很容易被截断。即便根据不同的业务类型设定不同的时长参数,在语音交互中,当用户说话出现停顿时,依然很容易导致语音指令被截断。
在本申请实施例中,根据用户语音指令所对应的文本,可以确定定时器时长,并且可以根据该定时器和第二音频信号,灵活地确定语音端点,从而可以避免对于语音指令的不恰当截断,可以避免由于不恰当截断所导致的语音指令的执行错误,从而可以适配于更广泛的场景和环境,进一步地,还可以在缩短系统响应延迟的情况下,提高语音指令响应的速度,提高用户体验。
以上示例性地介绍了语音交互的应用场景。以下示例性地,对在该应用场景中对语音端点进行检测的方法的示意性流程进行介绍。
示例性地,可以采用预测模型对语音交互中的语音端点进行检测,本申请实施例中的语音端点可以指语音结束点。
对于预测模型的使用可以包括模型训练阶段和模型预测阶段,在模型训练阶段,通过对预测模型进行训练可以得到文本与其语义完整度间的关系,可以获得预测准确度较高的预测模型。
示例性地,图3是本申请实施例提供的一种用于语音交互的预测模型的训练方法的示意性流程图,该方法200可以包括:
S210,获取文本数据集,该文本数据集包括多个文本,该多个文本标注了第一信息,该第一信息可以用于表示该文本的语义完整度。
为方便说明,可以将该标注有第一信息的文本定义为第四文本,也就是说,该文本数据集包括多个第四文本,进一步地,该文本数据集可以是第四文本的集合。语义完整度,可以用于表示该文本所具有的语义的完整的程度。例如,文本1“我要打游戏”可以具有完整的语义,比如,该文本1可以是在语义交互中用户下达的语音指令所对应的文本,相应地,对文本1进行不同的截断可以得到文本2“我要打”和文本3“我要”,虽然文本2和文本3都不具备完整的语义,但是文本2的语义的完整程度大于文本3,为了简洁不再一一举例说明。
应理解,该文本数据集包括多个第四文本,可以是该文本数据集仅包括多个第四文本,也可以是该文本数据集还包括除第四文本以外的其他文本,本申请实施例对此不作限定。
示例性地,用户设备可以运行语音交互的应用程序,在语音检测平台可以为支持语音交互的应用程序提供后台服务时,该语音检测平台通过获取该文本数据集,对该用于语音交互的预测模型进行训练,语音检测平台对于预测模型的训练可以是通过在线训练的方式, 也可以是通过离线训练的方式,本申请实施例对此不做限定。例如,语音检测平台可以包括处理模块和训练模块,该获取模块可以用于获取该文本数据集,该训练模块可以用于根据该文本数据集,以离线训练的方式进行模型训练,得到预测模型,后续用户设备可以获取该预测模型并根据该预测模型确定语音端点;又例如,用户可以参与该预测模型的改进过程,语音检测平台可以在线获取用户通过其用户设备上传的多个语音指令,该语音检测平台进行模型训练时,其所使用的文本数据集可以根据用户的语音指令持续更新,由此得到的预测模型可以更符合用户的表达习惯;又例如,语音检测平台可以包括芯片,该芯片通过获取文本数据集,可以进行模型训练得到该预测模型。
示例性地,用户设备在获取文本数据集后,可以将其用于进行模型训练得到预测模型,从而可以将该预测模型用于语音交互,为了简洁此处不再赘述。应理解,以上只是示例以便于说明,本申请实施例对此不做限定。
为方便说明,本申请实施例后续,以语音检测平台获取文本数据集并进行模型训练为例,进行说明,应理解,本申请对此不做限定。
示例性地,可以根据文本语料集确定该文本数据集,该文本语料集包括多个具有完整语义的文本。可选地,该文本语料集可以是具有完整语义的文本的集合,也就是说,文本语料集中的文本可以组成完整语句。例如,语音检测平台的获取模块可以获取文本语料集,该文本语料集可以包括“打开音乐”、“我要打游戏”等具有完整语义的文本,语音检测平台还可以包括处理模块,该处理模块可以根据该文本语料集确定该文本数据集,从而训练模块可以根据该文本数据集进行模型训练;又例如,语音检测平台可以包括芯片,该芯片通过获取文本语料集可以确定文本数据集;再例如,语音交互的场景还可以包括预处理系统,其中,该预处理系统可以用于语音预测平台在训练预测模型前所需的准备工作,该预处理系统可以在获取文本语料集后,根据文本语料集确定该文本数据集,语音检测平台通过获取由预处理系统所确定的文本数据集后,可以对预测模型进行训练。应理解,以上关于文本语料集的说明只是举例,关于获取文本语料集的方式,本申请实施例对此不做限定。
示例性地,根据文本语料集确定文本数据集,可以是根据文本语料集具有完整语义的文本确定一个或多个文本数据集中的第四文本,从而可以根据文本语料集中多个具有完整语义的文本确定多个第四文本,从而可以确定文本数据集。
示例性地,该文本语料集中的文本,可以划分为一个或多个节点,一个节点可以包括一个字或字符。例如,以“打开音乐”为例,预处理系统可以将其划分为“打”、“开”、“音”、“乐”多个节点。进一步地,该文本的最后一个节点可以表示该文本完结,例如,文本“打开音乐”中的最后一个节点“乐”可以用于表示该具有完整语义的文本“打开音乐”在此节点完结,也就是说,该节点可以包括该文本的尾节点标记,尾节点标记可以用T
tail表示。其中,该尾节点标记T
tail可以表示,以该节点为结尾的文本具有完整的语义,该文本属于文本语料集。应理解,以上关于文本语料集的说明只是举例,本申请对此不做限定。
示例性地,根据文本语料集中的具有完整语义的文本,基于其划分的节点,可以确定一个或多个属于文本数据集的第四文本,由于文本语料集中包括多个具有完整语义的文本,由此可以确定多个第四文本,以此可以确定文本数据集,该文本数据集可以包括该多个第 四文本。示例性地,可以将文本语料集中文本的第一个节点作为起始节点,基于对该文本的节点的划分,可以以该节点及其之后的节点作为最后一个节点确定一个或多个第四文本。例如,以文本语料集中的文本“打开空调”为例,其对应的节点可以分别为“打”、“开”、“空”、“调”,可以将节点“打”作为文本的起始节点,分别以“打”、“开”、“空”、“调”作为最后一个节点,可以确定4个属于文本数据集的第四文本,分别为“打”、“打开”、“打开空”、“打开空调”,并可以由此确定该多个第四文本的语义完整度,为了简洁,此处不再赘述。应理解,以上确定一个或多个文本数据集中的文本的方法只是示例,本申请对此不做限定。
可选地,为了便于根据文本语料集确定文本数据集,可以根据文本语料集所确定的字典树,确定多个第四文本,从而确定文本数据集。例如,在将文本语料集中的文本分别划分为一个或多个节点之后,比如预处理系统、语音检测平台的处理模块、芯片等,可以根据所划分的多个节点,确定字典树,可以根据该字典树确定第四文本以及其语义完整度。
示例性地,文本语料集包括多个具有完整语义的文本,其中,该具有完整语义的文本可以划分为一个或多个节点,由此根据文本语料集确定字典树,可以是根据该文本语料集中的多个具有完整语义的文本,确定多个节点,根据该多个节点,可以确定字典树。示例性地,图4是本申请实施例提供的一种根据示例性的文本语料集所确定的字典树的示意图,其中,该文本语料集可以包括“我要打游戏”、“打电话”、“打开音乐”、“打开空调”和“打开空调加热”,共五个具有完整语义的文本。例如,如图4所示字典树中,字典树的根节点262可以不包括任何字或字符,除根节点262以外的多个节点可以只包含一个字,比如,节点263可以包含字符“打”,节点264可以包含字符“开”等。进一步地,通过将根节点至某节点的整个路径上所包括的节点依次连接,可以得到以该节点为最后一个节点的文本,或称为以该节点为结尾的文本,该文本可以作为该节点对应的文本。为方便说明,本申请实施例后续,将以该节点为结尾的文本作为该节点对应的文本为例,进行说明,也就是说,本申请后续所描述的该节点对应的文本,均可以替代为以该节点为结尾的文本。例如,如图4所示的字典树,从根节点262至节点266“调”,可以确定以节点266“调”为结尾的文本为“打开空调”;又例如,从根节点262至节点268“热”,可以确定节点268“热”对应的文本为“打开空调加热”。可选地,节点可以包括尾节点标记T
tail。例如,如图4所示,节点“乐”、节点266“调”所分别对应的文本“打开音乐”、“打开空调”,上述两个文本具有完整的语义,可以包含在图4所对应的文本语料集中,由此上述节点可以包括尾节点标记,为了简洁不再一一举例。应理解,以上根据文本语料集确定字典树的方法只是举例,本申请对此不做限定。
进一步地,基于该字典树,可以确定文本数据集。例如,在根据文本语料集{“我要打游戏”、“打电话”、“打开音乐”、“打开空调”、“打开空调加热”}确定的图4所示字典树中,包括“我”、“要”、“打”等16个节点,可以以根节点262作为文本的起始节点,以其他节点作为文本的最后一个节点,由此可以确定“我”、“我要”、“我要打”等15个第四文本,根据该15个第四文本,可以构成包括15个第四文本的文本数据集,为了简洁此处不再一一举例。
示例性地,根据文本语料集所确定的字典树可以包括多个节点,根据该字典树中的节点的子节点数目,可以确定文本数据集中的第四文本的语义完整度。
示例性地,根据字典树中的节点的子节点数目,可以确定该节点所对应的文本的语义完整度。示例性地,当节点的子节点数目为0时,该节点对应的文本可以具有完整的语义。例如,如图4所示,节点264“开”的子节点,包括节点“音”、“乐”、节点265“空”等6个子节点,节点265“空”的子节点数目为3,该节点264、节点265对应的文本不具有完整的语义,无法组成完成的语句,而且,节点264“开”对应的文本的语义的完整的程度,小于节点265“空”对应的文本的语义的完整的程度;又例如,节点268“热”的子节点数目为0,该节点对应的文本“打开空调加热”具有完整的语义,可以组成完整的语句。
进一步地,可以根据文本数据集中的第四文本的语义完整度,对该第四文本标注第一信息,该第一信息可以用于表示该文本的语义完整度。
示例性,可以根据字典树中的节点的子节点数目,确定该节点对应的文本的语义完整度,从而可以确定文本数据集中的第四文本的语义完整度,也就是说,可以根据字典树中的节点的子节点的数量,确定该节点对应的第四文本的第一信息,并可以对该第四文本标注其对应的第一信息。
应理解,以上根据文本语料集基于字典树确定文本数据集的方法只是示例,本申请对此不做限定。
可选地,第一信息可以以数字的方式表征语义完整度。示例性地,为便于表征和统计,基于字典树,可以将该节点的子节点数目映射至区间[0,1],生成该节点的第一频次信息,该第一频次信息可以反映该节点的子节点的数量的多少,可以将该第一频次信息作为该节点对应的文本的第一信息,以此表示该文本的语义完整度,也就是说,第一频次信息,可以指第一信息以数字的方式表征语义完整度。例如,如图4所示,“戏”、“话”等节点的子节点的数量为0,“游”、“电”等节点的子节点数目为1,节点269“打”、节点266“调”的子节点数目为2,节点“要”、节点265“空”的子节点数目为3,节点“我”的子节点数目为4,节点264“开”的子节点数目为6,节点263“打”的子节点数目为9,共15个节点,其中,节点“我”的子节点数目不为0,其对应的文本不具有完整的语义,根据累积概率分布统计,子节点数目小于或等于节点“我”的节点共有13个,因此,节点“我”的第一频次信息,可以为13/15,约为0.867,可以将该第一频次信息作为该节点对应的第四文本“我”的第一信息;又比如,子节点数目小于或等于节点264“开”的节点共有14个,节点264“开”对应的文本“打开”的第一信息可以为14/15,约为0.933,比如预处理系统、语音检测平台的处理模块等,由此可以对第四文本标注其对应的第一信息。应理解,以上确定第四文本的第一信息的方法只是举例,还可以采用其他方法根据子节点数目确定第一信息,本申请实施例对此不做限定。
可选地,第一信息可以以标签的形式表征语义完整度。
示例性地,第一信息可以是第一标签或第二标签,其中,第一标签可以用于表示该文本具有完整的语义,该第二标签可以用于表示该文本不具有完整的语义。例如,如图4所示,节点“乐”的子节点个数为0,以该节点为结尾的文本“打开音乐”具有完整的语义,其第一信息可以为第一标签;以节点265“空”为结尾的文本“打开空”不具有完整的语义,其第一信息可以为第二标签。
示例性地,第一信息还可以是第三标签,第三标签可以用于表示该文本在某些语境中 可能具有完整的语义,而在其他某些语境中也可能不具有完整的语义,也就是说仅凭该文本的内容无法确定该文本是否具有完整的语义。例如,在如图4所示字典树所对应的文本语料集中,包括具有完整语义的文本A“打开空调”和文本B“打开空调加热”,以节点266“调”为结尾的文本“打开空调”,可以是文本A“打开空调”的全部,此时节点266对应的文本可以具有文本A的全部的语义,节点266“调”对应的文本也可以是文本B“打开空调加热”的一部分,此时节点266对应的文本只能表示文本B的全部语义的一部分,而无法表示文本B所具有的语义,由此,第四文本“打开空调”的第一信息可以是第三标签。应理解,以上确定第四文本的第一信息的方式只是举例以便于说明,本申请实施例对此不做限定。
应理解,第一标签、第二标签、第三标签可以是任意的数据格式,例如数字、字母、字符串等。例如,第一标签可以是“完整(complete)”,第二标签可以是“其他(other)”,第三标签可以是“部分(part)”,比如,如图4所示,以节点268“热”为结尾的文本“打开空调加热”具有完整的语义,由此该文本的第一信息可以为complete;又比如,以节点265“空”为结尾的文本“打开空”不具有完整的语义,其第一信息可以为other。应理解,本申请实施例对此不做限定。
为方便说明,本申请实施例后续,以complete为第一标签、other为第二标签、part为第三标签为例,进行说明。也就是说,本申请后续所描述的complete均可替代为第一标签,other均可替代为第二标签,part均可替代为第三标签。
示例性地,当节点的子节点数目为0时,即该节点无任何子节点时,可以确定该节点对应的文本的第一信息为complete。例如,如图4所示节点268“热”的子节点数目为0,以该节点为结尾的文本“打开空调加热”具有完整语义,则该文本的第一信息可以为complete,为了简洁此处不再赘述。
可选地,可以根据节点的子节点数目,以及尾节点标记,确定该节点对应的文本语义完整度,从而确定待标注的第一信息。
示例性地,当节点的子节点数目不为0,且该节点包括尾节点标记时,可以将该节点对应的文本的第一信息确定为第三标签。例如,如图4所示,节点266“调”的子节点数目为2,同时,该节点可以作为具有完整语义的文本“打开空调”的尾节点,即该节点可以包括尾节点标记,由此可以确定其对应的文本的第一信息为part,为了简洁此处不再赘述。可选地,当节点包括尾节点标记时,该节点的子节点数目可以体现以该节点为结尾的文本的语义的完整程度,子节点数目越多表示该文本的语义的完整程度越低,即该文本的语义完整度越低。
示例性地,当节点的子节点数目大于0,且该节点不包括尾节点标记时,可以将该节点的对应的文本的第一信息确定为第二标签,用于表示以该节点为结尾的文本不具有完整的语义。例如,如图4所示,节点265“空”子节点数目为3,其对应的第一频次信息大于0,且该节点无尾节点标记,由此将该节点的标签信息确定为other,用于表示以节点265“空”作为结尾的文本“打开空”不具备完整语义。为了简洁,此处不再一一举例。
可选地,第一信息可以结合数字和标签以表征语义完整度。示例性地,可以结合第一频次信息和第一、第二、第三标签以表征文本的语义完整度。为了简洁,此处不再赘述。应理解,本申请实施例对此不做限定。
可选地,可以根据第四文本所包括的节点的数目,调整该文本的第一信息。示例性地,使用标签结合数字作为第一信息,表征文本的语义完整度时,在该文本的长度,即该文本所包括的节点的数目,小于或等于长度阈值时,可以对该文本的第一信息进行调整。例如,比如长度阈值为10个节点,文本为图4所示的“打开空调”,该文本的第一信息可以是part和8/15,其中8/15为节点“调”的第一频次信息,由于该文本所包括的节点数目为4,小于长度阈值,可以将其第一信息中的数字由8/15调整为0.4。应理解,以上关于调整第一信息的方式只是举例,本申请实施例对此不做限定。
由于文本语料集中的具有完整语义的文本的使用频次可能与用户实际说话方式存在差异,比如,用户使用短句的频次可能相对长句会更多,在本申请实施例中,通过调整第四文本的第一信息,可以使得文本数据集更加符合实际的语音交互过程,从而可以在对模型进行训练后得到更为准确的预测模型。
本申请实施例中,根据文本语料集确定文本数据集,使得可以仅准备具有完整语义的文本,通过该方式可以减少用于构建文本数据集过程中所需准备的文本的数量。进一步地,根据文本语料集中的文本可以确定一个或多个第四文本,可以简化确定第四文本的语义完整度的过程,从而可以简化确定和标注第一信息的过程。
应理解,还可以通过其他方式获取文本数据集,例如,可以直接构建语料集合,该集合可以包括具有完整语义的文本和不具有完整语义的文本,可以根据该集合中文本的语义完整度确定其第一信息,由此可以确定文本数据集。应理解,本申请对获取文本数据集的方法不做限定。
S220,根据文本数据集进行模型训练,得到预测模型,该预测模型用于预测语音指令的语义完整度。
示例性地,预测模型可以通过预测语音指令对应的文本的语义完整度,确定该语音指令的语义的完整的程度,从而确定用户是否具有继续说话的意图。示例性地,预测模型可以根据输入的文本,确定该文本的第一信息,根据输出的第一信息确定该文本是否具有完整的语义,以此确定该文本对应的语音指令是否为完整的语音指令,以此可以确定用户是否有继续说话的意图。
预测模型可以是人工智能(artificial intelligence,AI)模型。预测模型的具体类型可以包括多种,例如,预测模型可以包括神经网络、支持向量机、线性回归模型、逻辑回归模型、决策树或者随机森林中的至少一种。示例性地,预测模型可以是神经网络,例如,预测模型可以是卷积神经网络或者循环神经网络等。应理解,上述预测模型只是举例以便于说明,本申请实施例对此不做限定。
可选地,预测模型可以是来自转换器的双向解码表象(bidirectional encoder representations from transformers,BERT)模型。该模型输入可以为[CLS]+文本+[SEP],其中[CLS]为表示一段文本由此开始的特殊字符,[SEP]为表示一段文本由此结尾的特殊字符。示例性地,图5为本申请提供的一种预测模型的输入格式的示意图,其中,该预测模型可以BERT模型,根据不同的时间节点,待预测的文本可以是“打开天窗”、“打开天窗到”、“打开天窗到百分之”、“打开天窗到百分之六十”,可以将上述文本划分为不同的节点“打”、“开”、“天”、“窗”等,为了简洁此处不再赘述。
示例性地,在语音交互过程中,随着时间的推移,获得的音频信号中的用户指令可以 不断趋近于完整,可以由此不断获得新的流式文本结果,可以将这些流式的文本结果(或称作流式文本)输入至预测模型中确定当前文本的语义完整度以确定用户是否有继续说话的意图。例如,如图5所示,假如第0秒(second,s)开始进行语音交互,在第2s时已获取的音频信号中的语音指令对应的文本为“打开天窗到”,可以将该文本以图5所示的格式[CLS]+“打”“开”“天”“窗”“到”+[SEP]输入至该预测模型,预测其语义完整度,以此可以确定用户有继续说话的意图;又例如,在第5s时已获取的音频信号中的语音指令对应的文本为“打开天窗到百分之六十”,可以将该文本以图5所示的格式输入至该预测模型,预测其语义完整度,以此可以确定用户不具有继续说话的意图,从而可以由此确定用户在语音交互中所下达的完整的语音指令为“打开天窗到百分之六十”。应理解,以上关于BERT模型的输入只是举例,本申请实施例对此不做限定。
应理解,关于BERT模型的相关内容可以参考相关技术,为了简洁,本申请对此不再赘述。本申请实施例中,示例性地,该模型的输出可以为该文本的第一信息,以表征该文本的语义完整度。例如,以图5所示格式[CLS]+“打开天窗到百分之六十”+[SEP]输出至BERT模型后,可以输出该文本的第一信息,比如该第一信息为0,即第一信息可以是数字的形式表征语义完整度,也可以为complete,即第一信息也可以是标签的形式表征语义完整度,本申请对此不做限定。
示例性地,模型训练的过程可以包括多种实现方式。在一些实施例中,模型训练可以包括多次迭代的过程。一次迭代的过程可以包括以下步骤:
S305,将文本数据集中的第四文本输入预测模型,通过预测模型对该文本进行处理,输出预测结果。
S310,根据预测结果与该第四文本的第一信息,可以通过损失函数计算第一损失值,该第一损失值可以表示预测结果与第一信息之间的偏差,预测结果与第一信息之间的偏差越大,则第一损失值越大。
S315,根据第一损失值调整预测模型的参数。
以上示出了训练的一次迭代过程,当进行一次迭代后,语音检测平台可以检测当前是否已经满足训练终止条件,当不满足训练终止条件时,进行下一次迭代过程;当满足训练终止条件时,将本次迭代过程所采用的预测模型输出为训练完成的预测模型。
其中,该训练终止条件可以为迭代次数达到目标次数或者损失函数满足预设条件,还可以为基于验证数据集验证时,其能力在一段时间内没有提升。其中,该目标次数可以是预先设置的迭代次数,用以确定训练结束的时机,避免对训练资源的浪费;该预设条件可以是训练过程中损失函数值在一段时间内不变或者不下降,此时说明训练过程已经达到了训练的效果,即预测模型具有了根据语句文本确定用户是否具有继续说话的意图;该验证数据集,可以区别于文本数据集,可以用于对训练效果的评估。
应理解,以上关于训练模型的方式只是举例,本申请对此不做限定。
本申请实施例提供了一种用于语音检测的预测模型的训练方法,根据获取的文本数据集可以进行模型训练,从而得到预测模型。预测模型可以通过训练的过程,从文本数据集中的文本的语义完整度学习出文本与其语义完整度间的关系,从而在模型预测阶段,可以基于预测模型,预测待分析的文本的语义完整度,从而可以在语音交互过程中,通过确定音频信号中的语音指令对应的文本的语义完整度,确定用户是否具有继续说话的意图,并 以此准确地确定语音交互的语音指令进行响应。
示例性地,图6是本申请实施例提供的一种语音交互的方法的示意性流程图,该方法400可以包括步骤S410至S460。
S410,获取第一音频信号,该第一音频信号中包括第一语音指令。
其中,第一音频信号可以是用于确定语音端点的音频信号,第一语音指令可以是第一音频信号所包含的语音指令。
示例性地,用户设备支持语音交互时,该用户设备可以获取语音交互中的音频信号。例如,以交互场景为人与车辆进行语音交互为例,该车辆可以包括语音交互装置,该语音交互装置可以包括获取模块和处理模块,该获取模块可以第一音频信号;又例如,该车辆可以包括一个或多个处理器,该一个或多个处理器可以用于执行方法400,可以获取第一音频信号;再例如,该车辆可以包括用于语音交互的芯片,该芯片可以用于执行方法400,可以获取第一音频信号,为了简洁,此处不再一一举例说明。应理解,以上关于场景的描述只是示例,本申请实施例对此不做限定。
示例性地,在语音交互过程中,用户设备可以持续地获取音频信号,当进行语音端点检测时,可以将语音交互中已获取的音频信号中的部分或全部作为第一音频信号,其中,该已获取的音频信号包括语音指令。例如,从时刻0开始的语音交互中,可以持续获取从时刻0开始的音频信号,直至语音交互结束,该音频信号中包括语音指令,当时刻3进行语音端点检测时,此时已获取时刻0至时刻3间的音频信号,可以将时刻0与时刻3间的部分或全部音频信号作为第一音频信号,以用于确定语音端点,比如,可以将时刻1至时刻3之间的音频信号作为第一音频信号,又比如,可以将时刻0至时刻3间的音频信号作为第一音频信号,若根据该第一音频信号可以确定出语音端点,则可以将该语音端点作为此次语音交互的结束时刻;若根据该第一音频信号无法确定出语音端点,也就是说,语音交互未结束时,由于可以持续获取音频信号,比如可以在时刻5时再次进行语音端点检测,则可以将时刻0与时刻5之间的部分或全部音频信号作为新的第一音频信号,以再次用于确定语音端点。应理解,时刻0<时刻1<时刻3<时刻5,即时刻0最早,时刻5最晚。
应理解,以上获取第一音频信号的方法仅为示例,以便于说明,本申请实施例对此不做限定。
S420,根据第一语音指令对应的第一文本,确定第一定时器的时长。
应理解,在确定第一定时器的时长之前,可以获取该第一语音指令对应的第一文本。
示例性地,第一文本为第一语音指令所对应的文本,可以是由第一音频信号中的语音指令经语音识别得到的文本。例如,以交互场景为人与车辆进行语音交互为例,该车辆可以包括语音交互装置,该语音交互装置可以包括获取模块和处理模块,在语音交互中,用户说话时所下达语音指令为“dǎkāitiānchuāng(即,打开天窗)”,该获取模块可以获取包括该语音指令的第一音频信号,处理模块可以通过对第一音频信号的语音识别,确定该语音指令对应的第一文本为“打开天窗”,可以根据该第一文本确定第一定时器的时长;又例如,车辆还可以包括语音识别装置,该语音识别装置可以对音频信号进行语音识别,得到该音频信号中的语音指令对应的第一文本,处理模块可以根据该第一文本确定第一定时的时长,该语音识别装置也可以位于该语音交互装置的内部,即也可以体现为语音交互装置的语音识别模块,本申请实施例对此不做限定。为了简洁,此处不再一一举例说明。
示例性地,在语音交互过程中,可以持续地获取音频信号,根据自动语音识别技术可以获取流式的文本结果,可以根据该流式的文本结果,确定第一文本。例如,从时刻0开始的语音交互中,可以持续地获取音频信号,可以对已获取的音频信号进行自动语音识别,在时刻1时,已获取的音频信号中未包含任何语音指令,该时刻的流式的文本结果为空,在时刻2时,该时刻的流式的文本结果为“打开”,在时刻3时,获取的实时的流式文本结果为“打开天窗”,当在时刻3触发语音端点检测时,可以将该时刻的流式文本结果“打开天窗”作为第一文本,相应地,比如,可以将时刻0至时刻3,或时刻1至时刻3之间的音频信号作为第一音频信号,也就是说,可以是先根据流式的文本结果确定第一文本后,再基于该第一文本从已获取的音频信号中确定所对应的第一音频信号;又例如,流式的文本结果可以包括时间戳,根据流式的文本结果确定第一文本之后,可以基于时间戳,从已获取的音频信号中确定所对应的第一音频信号,以此避免语音识别用时过长以及延迟过长所造成的影响。应理解,时刻0<时刻1<时刻2<时刻3,即时刻0最早,时刻3最晚。
应理解,以上获取第一文本的方式只是举例以便于说明,本申请实施例对此不做限定。
示例性地,由于语音识别技术存在处理时间,获取第一文本的时间,可以等于或晚于获取第一音频信号的时间,本申请实施例对此不做限定。
示例性地,可以根据方法200所训练的预测模型确定第一定时器的时长。例如,可以将该第一文本输入预测模型,根据预测模型,可以得到第一文本的第一信息,根据第一信息确定第一定时器的时长;又例如,也可以是将第一文本调整为该预测模型所需的输入格式后,将其输入该预测模型,并由此确定第一定时器的时长。其中,该第一定时器可以用于确定语音端点。
由于在模型训练阶段,预测模型利用文本数据集进行训练,学习了文本与其语义完整度之间的映射关系,由此在步骤S420中,预测模型可以基于学习出的映射关系,对第一文本进行识别,确定第一文本的语义完整度,可以确定第一文本的第一信息,从而判断用户是否具有继续说话的意图。
可选地,可以根据第一文本的第一信息,确定第一定时器的时长。例如,以交互场景为人与车辆进行语音交互为例,该车辆可以包括语音交互装置,该语音交互装置可以包括获取模块和处理模块,在确定第一文本之后,处理模块可以将第一文本输入由方法200训练得到的预测模型,得到该第一文本的第一信息,以表征第一文本的语义完整度,进一步地,处理模块可以根据该第一信息确定第一定时器的时长。
示例性地,当第一信息以标签的形式表征语义完整度时,可以根据该标签确定第一定时器的时长。例如,比如第一、第二、第三标签分别为complete、other、part,当第一信息为complete时,表示根据预测模型可以确定该第一文本具有完整的语义,可以认为用户继续说话的可能性较小,由此可以设定较小的第一定时器的时长(比如400ms),以减少语音交互过程的延迟,提升用户体验;当标签信息为other时,表示根据预测模型确定该第一文本不具有完整的语义,可以认为用户有继续说话的意图,由此可以设定较大的第一定时器的时长(比如1500ms),以避免提前截断用户语音,避免由此可能导致的语音指令执行错误,从而可以兼顾用户的说话习惯,比如语速慢或者频繁停顿等;当标签信息为part时,表示根据预测模型确定该第一文本可以具有较完整的语义,由此可以设定适中的第一定时器的时长(比如800ms),以便于在兼顾延迟和提前截断用户语音的情况下,提 供较好的用户体验。为了简洁,不再一一举例。
示例性地,当第一信息以数字的方式表征语义完整度时,可以根据该数字确定第一定时器的时长。例如,若根据预测模型确定的第一信息为0,可以认为该第一文本可以具有完整的语义,由此可以设定较小的第一定时器的时长(比如400ms),以减少语音交互过程的延迟,提升用户体验;若第一信息(比如,根据预测模型得到该第一文本的第一频次信息为0.58)大于或等于第二阈值(比如0.4)时,可以认为该第一文本不具有完整的语义,由此可以设定较大的第一定时器的时长(比如1500ms);当第一信息大于0且小于第二阈值时,可以认为该第一文本具有较完整的语义,由此可以设定适中的第一定时器的时长,以便于提供较好的用户体验。应理解,以上根据第一信息确定第一时长的方法只是示例,本申请对此不做限定。
示例性地,可以第一信息可以结合标签和数字的形式表征语义完整度,并由此确定第一定时器的时长。示例性地,可以结合标签,根据第一频次信息,确定第一定时器的时长。例如,当第一信息中的标签为part时,若第一频次信息为0.3时,可以将第一定时器的时长设定为1200ms,若第一频次信息为0.05,可以将第一定时器的时长设定为500ms,以此可以对第一定时器的时长进行更为细致的设定,可以更好地兼顾延迟和语音的提前截断,可以为用户提供较好的体验。
应理解,以上根据第一信息确定第一定时器的时长的方法只是举例,以便于说明,本申请对此不做限定。
应理解,以上基于预测模型确定第一定时器的时长的方法只是示例,还可以采用其他的方法确定第一定时器的时长。
示例性地,在获取第一文本后,可以通过查询数据库的方式确定第一定时器的时长,该数据库中可以包括多个文本,以及该多个文本所对应的第一定时器的时长。例如,数据库中可以包括语音交互中的常用语句的文本,在确定第一文本后,处理模块可以根据该第一文本与该数据库中的文本的匹配情况,确定第一定时器的时长。为了简洁,此处不再一一举例说明。
示例性地,在获取第一文本后,可以根据第一文本的结构,词语的性质等对该第一文本添加标点符号,当该第一文本末尾无法添加合适的标点符号时,可以认为该第一文本没有完整的语义,可以设定较长的第一定时器的时长(比如1500ms);当该第一文本末尾可以添加标点符号时(比如,句号、逗号等),可以根据所添加的标点符号设定相应的第一定时器的时长。比如,标点为句号时,可以表示第一文本具有完整的语义,可以设定较短的第一定时器的时长(比如500ms);又比如,标点为逗号时,可以表示第一文本具有较完整的语义,可以设定适中的第一定时器的时长(比如800ms),为了简洁,不再一一举例说明。
应理解,以上根据第一文本确定第一定时器的时长的方法只是举例,以便于说明,本申请实施例对此不做限定。
可选地,可以获取第三音频信号,在第三音频信号不包括语音指令时,可以根据第一文本,确定第一定时器的时长,其中,该第三音频信号包括在第一预设时间内接受到的音频信号,该第一预设时间的起始时刻为第一音频信号的结束时刻。例如,以交互场景为人与车辆进行语音交互为例,该车辆可以包括语音交互装置,该语音交互装置可以包括获取 模块和处理模块,该获取模块可以获取该第三音频信号,该处理模块可以确定该第三音频信号是否包括语音指令;又例如该语音交互装置可以包括处理器,该处理器可以执行方法400,可以获取第三音频信号,可以确定该第三音频信号中是否包括语音指令,为了简洁此处不再赘述。
示例性地,可以根据第三音频信号识别出的文本是否为空,确定第三音频信号是否包括语音指令。例如,从时刻0开始的语音交互中,可以自时刻0起持续获取音频信号,可以实时获取自动语音识别处理后的流式的文本结果,在时刻3时,流式文本结果为“打开天窗”,当在时刻3触发语音端点检测时,可以将时刻0至时刻3之间的音频信号作为第一音频信号,将该流式文本结果“打开天窗”作为第一文本,在时刻3起的第一预设时间内,比如该第一预设时间的结束时刻为时刻4,可以将时刻3与时刻4间的音频信号作为第三音频信号,可以将时刻3与时刻4间的音频信号单独进行语音识别,若识别得到文本结果为空,可以确定该第三音频信号不包括语音指令;又例如,为了避免语音识别过程的处理或延迟过长,也可以根据时刻3时的流式的文本结果的时间戳,确定第一音频信号,若该第一音频信号结束时刻起的第一预设时间内接收到的音频信号,即第三音频信号,语音识别处理后得到的文本结果为空时,可以确定第三音频信号不包括语音指令;又例如,可以认为语音识别的处理时间和延迟基本不变,当时刻4的流式的文本结果为“打开天窗”,与时刻3一致时,也就是说,流式的文本结果在时刻3之后的第一预设时间内未更新时,可以认为第三音频信号中未包含语音指令。为了简洁,不再一一举例。应理解,时刻0<时刻3<时刻4,即时刻0最早,时刻4最晚。
示例性地,可以根据第三音频信号的音频帧的能量,确定第三音频信号是否包括语音指令。例如,当第三音频信号的音频帧的能量小于或等于预设阈值(比如第一阈值)时,可以确定第三音频信号不包括语音指令。
应理解,以上确定第三音频信号是否包括语音指令的方法只是举例,以便于说明,本申请实施例对此不做限定。
示例性地,当第三音频信号中包括语音指令时,可以确定在第一音频信号后依然获取到新的语音指令,从而可以确定新的第一音频信号,以重新对语音端点进行检测,以重新确认进行语音端点的检测。
本申请实施例中,当确定第三音频信号不包括语音指令时,再根据第一文本确定第一定时器的时长,可以降低检测语音端点的频次,由此可以节省检测语音端点所占用的资源。
S430,启动第一定时器。
示例性地,可以在确定第一定时器时长之后,启动第一定时器,该第一定时器的开始时刻可以不早于第一音频信号的结束时刻。
示例性地,在语音交互过程中,当接收到的音频信号出现静音时,可以进行语音端点检测,也就是说,可以将已获取的音频信号的部分或全部作为第一音频信号,确认其中的第一语音指令所对应的第一文本,并在确定第一定时器的时长后,开启该第一定时器,以此确定语音端点。
S440,获取第二音频信号,所述第二音频信号的起始时刻晚于所述第一音频信号的结束时刻。
示例性地,所获取的第二音频信号的起始时刻,可以不早于第一音频信号的结束时刻, 该第二音频信号的结束时刻,可以与第一定时器的结束时刻相同。
示例性地,该第二音频信号的起始时刻和结束时刻可以与第一定时器相同,第二音频信号的起始时刻可以等于第一音频信号的结束时刻。示例性地,图7是本申请实施例提供的一种语音交互中的音频信号的示意图。例如,语音交互过程中,可以持续获取音频信号,在第一定时器运行时获取第二音频信号,可以是将该持续获取的音频信号中,起始时刻和结束时刻与该第一定时器相同的部分,作为第二音频信号,比如,如图7所示的第二音频信号,该第二音频信号可以包括语音指令,也可以不包括语音指令,本申请对此不做限定。
示例性地,该第二音频信号的起始时刻和结束时刻可以与第一定时器相同,第二音频信号的起始时刻可以晚于第一音频信号的结束时刻。示例性地,获取第一文本以及确定第一定时器的时长的过程中,可能消耗一段时间,由此,当第二音频信号的起始时刻与第一定时器的起始时刻相同时,在第一音频信号的结束时刻与第一定时器的开始时刻间可以存在一段时长。示例性地,图8是本申请实施例提供的另一种语音交互中的音频信号的示意图。例如,如图8所示的第二音频信号;又例如,该第一音频信号的结束时刻与第一定时器的开始时刻间的时长,可以等于第一预设时间,第三音频信号的结束时刻可以是第二音频信号的开始时刻,从而可以在降低对语音端点的检测频次同时,避免对部分音频信号进行重复处理。为了简洁,此处不再一一举例说明。
示例性地,在第一定时器运行时获取第二音频信号,该第二音频信号的起始时刻可以早于第一定时器的启动时刻。例如,在可以持续获取语音交互中的音频信号时,开启第一定时器的时刻可以晚于第一音频信号的结束时刻,对于第二音频信号的获取,可以将此前所确定的第一音频信号结束时刻作为该第二音频信号的开始时刻,并随着第一定时器的运行,持续获取语音交互中的音频信号,可以将第一定时器的结束时刻作为第二音频信号的结束时刻,当语音识别响应较慢、确定第一定时器的时长的过程中所需的时间较长时,通过该方式可以避免对第二音频信号的选取不恰当而造成的对语音端点的检测错误。
示例性地,在第一定时器运行时获取第二音频信号,该第二音频信号的起始时刻可以晚于第一音频信号的结束时刻,该第二音频信号的结束时刻也可以早于第一定时器的结束时刻,为了简洁此处不再赘述。
应理解,以上获取第二音频信号的方法只是举例以便于说明,本申请实施例对此不做限定。
S450,在第二音频信号中的语音指令对应的文本为空时,将所述第一定时器的结束时刻确定为语音端点。
示例性地,通过确定语音端点,可以确定待执行的语音指令。例如,在语音交互中,比如用户下达了“dǎkāitiānchuāng(即,打开天窗)”的语音指令,处理模块在基于包括此语音指令的第一音频信号确定语音端点后,可以将该指令确定为待执行的语音指令,从而可以对此指令进行响应,为了简洁此处不再赘述。
示例性地,可以根据语音识别技术获取该第二音频信号中的语音指令对应的文本。应理解,根据音频信号获取文本的方法可以参考相关技术,本申请实施例对此不做限定。
示例性地,通过对音频信号进行语音识别可以获知其中的语音指令,在对该音频信号进行语音识别前,可能无法准确地获知其中的语音指令,由此,第二音频信号中的语音指令对应的文本为空,可以是第二音频信号不包括语音指令,也可以是对第二音频信号进行 语音识别后未得到语音指令,也就是说,第二音频信号中的语音指令对应的文本为空,可以是,在对第二音频信号进行语音识别后,未得到对应的文本结果;相应地,第二音频信号中的语音指令对应的文本不为空,可以是在对第二音频信号进行语音识别后,得到了对应的文本结果。
示例性地,可以对获取的第二音频信号进行语音识别,若对第二音频信号进行语音识别后,未得到文本结果,可以确定第二音频信号中的语音指令对应的文本为空,为了简洁此处不再赘述。
示例性地,在语音端点检测过程中,当第二音频信号中的语音指令对应的文本为空时,可以将第一定时器的结束时刻确定为语音端点,由此可以对语音交互中的语音指令进行响应;而在第二音频信号中的语音指令对应的文本不为空时,可以表示在本次语音端点检测所使用第一音频信号之后,依然接收到新的语音指令,将该第一定时器的结束时刻作为语音端点,可能会导致提前截断用户语音指令,由此可以确定新的第一音频信号,以再次进行语音端点的检测。
示例性地,可以对该第二音频信号进行语音识别处理,确定第二文本中的语音指令对应的文本是否为空,为了简洁,此处不再赘述。
示例性地,语音交互过程中,可以持续获取音频信号,可以实时自动语音识别获取流式的文本结果时,第二音频信号对应的文本结果为空,可以是在第一定时器运行期间,流式的文本结果未更新。例如,以交互场景为人与车辆进行语音交互为例,该车辆可以包括语音交互装置,该语音交互装置可以包括获取模块和处理模块,从0时刻开始的语音交互中,在时刻0之后可以持续获取音频信号,经自动语音识别处理后,可以得到实时的流式的文本结果,在时刻3时,流式的文本结果为“打开天窗”,可以将其作为第一文本,在语音识别的响应时间较短时,可以将时刻0至时刻3间获取的音频信号视作第一音频信号,或者也可以根据时间戳确定第一音频信号,由此在根据第一文本确定第一定时器的时长之后,可以在时刻4时开启该第一定时器,若直至第一定时器结束前(比如,第一定时器的结束时刻为时刻5),时刻5的流式的文本结果相较时刻4未更新时,可以认为第二音频信号中的语音指令对应的文本为空,可以将该第一定时器的结束时刻确定为语音端点,从而可以对语音交互中的语音指令进行响应,比如处理模块可以将该语音指令发送至车辆控制模块,比如电子控制单元(electronic control unit,ECU),ECU可以控制天窗电机运转直至天窗打开;若时刻4的流式的文本结果相对于时刻3存在更新时,可以认为用户在时刻3之前下达的语音指令不完整,或者在第一音频信号之后,用户下达了新的语音指令,由此可以不开启该第一定时器,以减少检测语音端点的检测次数;若第一定时器运行期间,流式的文本结果发生更新,即时刻5的流式文本结果相较于时刻4更新时,可以确定用户下达了新的语音指令,可以确定第二音频信号中的语音指令对应的文本不为空,由此可以关闭或暂停该第一定时器,并结束本次语音端点的检测。
本申请实施例中,由于语音交互中可以持续获取音频信号,可以根据具体情形从该音频信号中确认并得到第一音频信号和第二音频信号,因此通过流式的文本结果的更新情况确定第二音频信号中是否包括语音指令,并由此确定语音端点,可以节省确认第一音频信号和第二音频信号的过程,可以降低系统运行的复杂度,节省该方法所消耗的资源。而且,由于该方式仅依赖于流式的文本结果,对于语音端点判断可以不依赖于语音识别的内部算 法,可以适用于任何ASR引擎。
应理解,以上确定第二音频信号语音端点的方法只是举例,以便于说明,本申请实施例对此不做限定。
可选地,在根据第二音频信号的音频帧的能量小于或等于第一阈值时,可以将所述第一定时器的结束时刻确定为语音端点。
示例性地,可以基于短时能量分析的方法,确定第二音频信号的音频帧的能量。进一步地,第二音频信号的音频帧的能量小于或等于第一阈值,可以是单个该音频帧的能量不大于第一阈值,也可以是多个该音频帧的能量不大于第一阈值,也可以是所有的第二音频帧的能量不大于第一阈值,还可以是根据多个该音频帧的能量加权平均后的结果不大于第一阈值,本申请实施例对此不做限定。例如,基于短时能量分析的方法,对第二音频信号分帧之后,可以获取第二音频信号中的一个或多个音频帧的能量,可以是当音频帧的能量大于第一阈值时,认为用户在该音频帧中包括语音指令;也可以是对多个音频帧的能量进行加权平均之后,得到多个音频帧的短时平均能量,当该短时平均能量大于第一阈值时,可以认为该多个音频帧中包括语音指令;可以当第二音频信号中所有的音频帧的能量小于或等于第一阈值时,认为第二音频信号不包括语音指令;可以是第二音频信号中能量小于或等于第一阈值的音频帧的个数或者比例,超过某一限值时,认为第二音频信号中不包括语音指令,为了简洁不再一一举例。应理解,以上关于确定音频帧的能量的方法只是举例以便于说明,本申请实施例对此不做限定。
示例性地,可以基于第二音频信号中的音频帧的能量,确定该音频帧的分类。例如,可以将能量大于第一阈值的音频帧,确定为第一类音频帧,可以表示在该音频帧中包括语音指令,即采集该音频帧的时间段内用户明确有下达语音指令;可以将能量小于或等于第三阈值的音频帧,确定为第二类音频帧,表示该音频帧中明确不包含语音指令,该第三阈值可以小于或等于第一阈值;又例如,当第三阈值小于第一阈值时,可以将大于第三阈值,且小于或等于第一阈值的音频帧,确定为第三类音频帧,可以表示无法明确该音频帧中是否包括语音指令。应理解,以上关于音频信号的音频帧的分类方法只是举例以便于说明,本申请实施例对此不做限定。
应理解,可以以任意数据格式表示音频帧的分类,例如数字、字母、字符串等。示例性地,对于音频帧的分类,可以以“讲话(speech,SPE)”代表第一类音频帧,以“沉默(silence,SIL)”代表第二类音频帧,以“中立(neutral,NEU)”代表第三类音频帧。为了简洁不再一一举例。
为方便说明,本申请实施例后续,以SPE为第一类音频帧,以SIL为第二类音频帧,以NEU为第三类音频帧,为例进行说明。即本申请后续所描述的SPE均可替代为第一类音频帧,SIL均可替代为第二类音频帧,NEU均可替代为第三类音频帧。
示例性地,图9是本申请实施例提供的一种确认音频帧分类的方法的示意图,其中可以将音频信号划分为第一类音频帧的部分(即SPE部分),第二类音频帧的部分(即SIL部分)和第三类音频帧的部分(即NEU部分),或称为第一类音频信号的部分、第二类音频信号的部分、第三类音频信号的部分。如图9所示,可以根据音频帧的能量,根据不同的阈值,比如第一阈值和第三阈值,将音频信号中能量高于第一阈值的部分确定为SPE部分,将音频信号中能量低于第三阈值的部分确定为SIL部分,将音频信号中能量处于第 一阈值与第三阈值之间的部分确定为NEU部分。其中,第一阈值与第三阈值可以是固定值,也可以根据环境能量值确定,环境能量值可以指语音交互环境中环境噪音的音频帧的能量值。应理解,在获取音频信号的过程中,可以实时对音频信号进行分类。应理解,根据能量对音频信号分类的方法也可以参考相关技术中的其他方式,本申请对此不做限定。
应理解,若第二音频信号中包括第一类音频帧,可以认为第二音频信号中包括语音指令,由此可以结束本次语音端点检测,可以通过获取新的第一音频信号,再次进行语音端点检测。
示例性地,当第二音频信号中不包括第一类音频帧时,可以将第一定时器的结束时刻确定为语音端点,为了简洁,此处不再赘述。
示例性地,当第二音频信号中的语音指令对应的文本为空,而且,第二音频信号中的音频帧的能量小于或等于第一阈值时,可以将第一定时器的结束时刻确定为语音端点。为了简洁,此处不再赘述。
应理解,以上根据第二音频信号的音频帧的能量确定语音端点的方法只是举例,本申请实施例对此不做限定。
本申请实施例中,可以根据音频信号的文本信息灵活地设定语音端点,从而可以缓解背景噪音和用户说话习惯,从而可以为提高用户体验。另外,通过根据音频信号对应的文本信息,并结合音频帧的能量,确定语音端点,可以提高所检测的语音端点的准确率。
可选地,在根据第一文本确定第一定时器的时长之前,可以获取第二文本,该第二文本可以通过显示屏显示。例如,当该方法应用于车辆时,第二文本可以是显示于车载显示屏的文本,比如显示于车辆中控屏、安装在座椅的头枕显示器等显示屏的文字;又例如,当该方法应用于手机、平板电脑等包括显示屏的终端设备时,第二文本可以是显示于该终端设备的屏幕,或者与该终端设备关联的显示屏的文字等;又例如,当该方法应用于芯片时,该芯片可以获取显示于其关联显示屏的第二文本。为了简洁不再一一举例说明,应理解,本申请实施例对此不做限定。
示例性地,当第一文本可以与第二文本匹配时,可以结束本次语音端点检测,执行该第二文本对应的操作。例如,比如该显示屏中显示正在播放的音乐,且显示的文本中包括“下一首”,用户通过唤醒词进入语音交互后,在用户说出“播放下一首”时,通过获取音频信号可以获取第一文本,当该第一文本中包括“下一首”时,此时第一文本与第二文本可以匹配,可以直接执行显示屏中的文本“下一首”所对应的操作,即播放下一首歌曲,该方式也可以称作可见可说的方式。为了简洁,不再一一举例说明。本申请实施例中,通过直接执行第二文本对应的操作,可以更快地对用户的语音指令进行响应,提高用户的使用体验。
应理解,第一文本和第二文本匹配,可以是第一文本与第二文本相同或相似,也可以是第一文本包括第二文本,还可以是第一文本和第二文本包括相同的关键字,本申请实施例对此不做限定。
示例性地,在第一文本与第二不匹配时,可以根据该第一文本确定第一定时器的时长,为了简洁,此处不再赘述。
示例性地,在一次语音交互中,用户在下达语音指令时,可能存在多次停顿,因此在确定语音交互中的语音端点时,可以存在多次尝试,当语音端点检测失败时,也就是说, 在确定用户当前未下达完整的语音指令时,可以根据持续获取的音频信号,后续再次进行语音端点检测直至成功检测到语音端点,并由此响应语音指令。应理解,在任一次进行语音端点检测时,都可以确认此次检测过程中所使用的第一音频信号和第一文本,该多次语音端点检测过程中,所确认的多个第一音频信号和第一文本可以存在关联关系,比如,本次检测过程中所使用的第一音频信号,可以包括其前一次检测过程中所使用的第一音频信号;也可以毫无关联,比如,本次检测过程中所使用的第一音频信号,可以不包括其前一次检测过程中所使用的第一音频信号等,本申请实施例对此不做限定。
为了便于理解和说明,本申请实施例对多次语音检测过程中所使用的音频信号和文本进行区分,示例性地,将本次语音端点检测中所使用的文本,定义为第一文本,将其对应的音频信号定义为第一音频信号,将此前一次或多次语音端点检测中所使用的文本定义为第三文本,将其所对应的音频信号定义为第四音频信号。
示例性地,在获取第一音频信号之前,可以获取第四音频信号,该第四音频信号中可以包括第三语音指令,根据该第三语音指令对应的第三文本,可以确定第二定时器的时长,确定该第二定时器的时长之后,可以开启该第二定时器,还可以获取第五音频信号,在该第五音频信号中的语音指令对应的文本为非空时,可以根据该第四音频信号和第五音频信号,确定第一音频信号,该第一音频信号可以包括该第四音频信号和第五音频信号。其中,该第四音频信号,可以理解为,在此前的语音端点检测过程中,比如前一次,所使用的“第一音频信号”;该第三语音指令可以理解为,在此前的语音端点检测过程中,所使用的“第一音频信号”中包含的“第一语音指令”;该第三文本,可以理解为,在此前的语音端点检测过程中,所使用的“第一文本”;该第二定时器,可以理解为,在此前的语音端点检测过程中,所使用的“第一定时器”,第一定时器的开始时刻不早于第二定时器的结束时刻;该第五音频信号,可以理解为,在此前的语音端点检测过程中,所获取的“第二音频信号”。也就是说,可以是在此前确定语音端点失败后,或者说,在此前检测语音端点失败后,根据本次检测中所确认的第一音频信号再次确定语音端点。
示例性地,根据第四音频信号和第五音频信号,可以确定第一音频信号。例如,语音交互中,在可以持续获取语音交互的音频信号时,根据前一次确定语音端点时所采用的“第一音频信号”和“第二音频信号”,或者说旧的第一音频信号和旧的第二音频信号,即第四音频信号和第五音频信号,可以确定第一音频信号,也就是说,可以确定本次检测语音端点时所使用的第一音频信号。
示例性地,根据第四音频信号和第五音频信号确定第一音频信号,可以结合图10进行说明。示例性地,图10是本申请实施例提供的另一种语音交互中的音频信号的示意图。例如,该第一音频信号,可以仅包括第四音频信号和第五音频信号,比如,如图10中的(a)所示;又例如,由于可以持续获取语音交互中的音频信号,该第一音频信号,可以包括第四音频信号、第五音频信号,以及第四音频信号和第五音频信号间的音频信号,比如,如图13中的(b)所示;再例如,该第一音频信号,还可以包括第四音频信号、第五音频信号之后的音频信号,比如,如图13中的(c)和(d)所示;再例如,如果前一次语音端点检测中使用的“第一音频信号”(即第四音频信号),其起始点晚于语音交互的起始点时,在本次语音端点检测的过程中,第一音频信号的起始点也可以早于该第四音频信号的起始点,比如,以语音交互的起始点作为第一音频信号的起始时刻。为了简洁不再一一举例,应理 解,以上关于获取第一音频信号的方法只是举例以便于说明,本申请实施例对此不做限定。
S460,在确定语音端点后,可以响应第一语音指令。
示例性地,响应该第一语音指令,可以是指仅响应该第一语音指令,也可以是所响应的语音指令中包括第一语音指令,也就是说,该第一语音指令可以是所响应的语音指令的一部分。例如,由于在语音交互过程中,可能进行多次语音端点检测,在确定语音端点后,可以响应于语音交互起始时刻起所获取的语音指令,由于第一音频信号的起始时刻可以晚于语音交互的起始时刻,由此,第一音频信号中的第一语音指令可以是所响应的语音指令的一部分。应理解,本申请实施例对此不做限定。
示例性地,响应第一语音指令,可以是执行该第一语音指令所指示的操作。例如,以交互场景为人与车辆进行语音交互为例,当第一语音指令为“打开天窗”时,处理模块可以指示车辆控制器执行该操作,相应地,可以启动车辆的天窗电机直至天窗打开;又例如,当第一语音指令为“搜索地点A”,车辆可以在其中控屏显示地图并突出地点A,还可以显示当前地点至地点A的多个导航路线,车辆还可以通过扬声器发声“请您选择导航路线”,以便于用户下达新的语音指令;再例如,当第一语音指令为“下一首”时,车辆可以切换所播放的音乐,并保持语音交互的静默,当用户在一段时间(比如10s)内未下达新的语音指令时,可以结束语音交互,当用户在该时间段内下达了新的语音指令,可以及时获取用户所下达的语音指令。应理解,以上响应第一语音指令的方式只是示例,以便于说明,本申请实施例对此不做限定。
本申请实施例提供了一种语音交互的方法,通过文本确定第一定时器的时长,可以根据文本中确定用户是否存在继续说话的意图,从而可以灵活地确定语音端点,由此可以避免由于噪音造成的系统延迟过长,也可以避免由于用户说话停顿而造成的语音交互截断过早,从而可以在缩短系统延迟的情况下,准确地得到语音交互中的语音指令。
示例性地,图11为本申请实施例提供的语音交互方法的另一示意性流程图,该方法500可以包括步骤S510至S580中的部分或全部。
S510,开始语音识别。
示例性地,在开始语音交互后,可以持续地获取该语音交互中的音频信号,直至语音交互结束,而且在语音交互过程中对该音频信号进行语音识别。例如,可以在用户说出唤醒词后开始语音交互,开始语音交互后可以调用语音识别模块,使得在获取音频信号后,可以对其进行语音识别,从而可以获取该音频信号语音识别后的处理结果。为了简洁此处不再赘述,应理解,本申请实施例对此不做限定。
S520,根据音频信号进行语音识别,获得流式的文本结果。
示例性地,通过对该持续获取到的音频信号进行语音识别,可以得到流式的文本结果。可选地,该流式的文本结果,可以用于确定第一文本,该持续获取到的音频信号,可以用于确定第一音频信号。例如,可以将该时刻的流式的文本结果确定为第一文本,将该时刻前已获取的音频信号作为第一音频信号。为了简洁此处不再赘述。
S530,根据第一预设时间设定第三定时器。
S535,若第三定时器结束前,流式的文本结果未更新,跳转S540;若流式的文本结果有更新,可以重置第三定时器,跳转S520。
示例性地,若第三定时器结束时,流式的文本结果相较第三定时器开启时未更新,可 以认为第一预设时间内接收到的第三音频信号中,不包括语音指令,由此可以将该时刻的流式的文本结果确定为第一文本,并以此从持续获取的音频信号中确定第一音频信号。示例性地,关于第三音频信号的描述可以参考步骤S420,为了简洁,此处不再赘述。
应理解,通过根据设定第三定时器,可以降低检测语音端点的频次,可以节省用于确定语音端点的过程中所使用的资源。
S540,基于预测模型,根据第一文本确定第一定时器的时长。
示例性地,可以将第一文本输入预测模型,得到该第一文本的第一信息,该第一信息可以用于表征该第一文本的语义完整度。进一步地,根据该第一信息,可以确定第一定时器的时长。
示例性地,该预测模型可以是根据方法200训练而得到的预测模型。为了简洁,此处不再赘述。
示例性地,关于第一文本和第一定时器的描述,可以参考步骤S410至S420,为了简洁,此处不再赘述。
S550,开启第一定时器。
示例性地,可以在确定第一定时器的时长之后启动第一定时器,为了简洁此处不再赘述。
S560,在第一定时器结束前,流式的文本结果有更新时,可以跳转S520;若流式的文本结果未更新,跳转S570。
示例性地,在第一定时器结束前,流式的文本结果无更新时,可以认为获取的第二音频信号中的语音指令对应的文本为空,从而可以将第一定时器的结束时刻作为语音端点;在第一定时器结束前,流式的文本结果有更新时,可以认为第二音频信号中的语音指令对应的文本为非空,由此可以结束本次语音端点的检测,后续可以根据更新后的流式文本结果,再次进行语音端点的检测。
应理解,若第一定时器结束前,流式的文本结果更新,可以暂停、关闭或重置第一定时器,本申请实施例对此不做限定。
示例性地,关于第二音频信号的获取以及第二音频信号中的语音指令对应的文本是否为空的描述,可以参考步骤S430至S440,为了简洁,此处不再赘述。
S570,根据音频信号分类,确定是否停止语音识别。若当前音频信号包括为第一类音频帧,跳转S520,否则,跳转S580。
示例性地,当第一定时器运行过程中,可以获取自第一音频信号结束时刻起所持续接收的音频信号,若第一定时器结束时,该音频信号中包括分类为SPE的音频帧,可以认为第一音频信号后的音频信号中包括语音指令,可以跳转S520,从而可以获取该音频信号中的语音指令对应的文本;在该音频信号中不包括SPE分类的音频帧时,可以根据该第一定时器的结束时刻确定语音端点。
示例性地,关于音频信号的分类的描述,可以参考步骤S450,为了简洁,此处不再赘述。
本申请实施例中,在语音识别延迟较大时,通过确认音频帧的分类,可以避免由于该延迟导致的对语音端点的误判,可以提高检测的准确率,而且,结合文本和音频帧的分类,可以提高所确定的语音端点的准确度。
S580,响应语音指令。
示例性地,可以在确定语音端点之后,可以将第一文本发送至语义理解模块,用于分析和执行用户在语音交互中所指示的指令。本申请实施例对此不做限定。
本申请实施例中,可以根据音频信号中的语义指令,其所对应的文本的语义完整程度灵活地设定第一时长,并以此确定语音交互的结束点,从而可以兼顾由于所确定的语音结束点过晚而导致的延迟,以及用户在语音交互中的停顿,使得用户可以有较好的用户体验。同时,由于在确定语音结束点时结合了当前音频的分类,使得可以缓解背景噪声对判断语音结束点的影响,可以提高语音端点检测的准确率。而且本申请实施例中,仅使用了ASR引擎输出的流式的文本结果进行端点检测,并在外部发送停止识别的指令而不依赖于ASR引擎的内部算法,从而可以适用于任何ASR引擎,对于ASR引擎有较好的适配性。
示例性地,图12是本申请实施例提供的语音交互方法的另一示意性流程图,该方法600可以包括步骤S610至步骤S660中的部分或全部。
S610,开始语音识别。
应理解,步骤S610可以对应步骤S510,为了简洁,此处不再赘述。
S615,获取界面热词。
示例性地,以用户与车辆进行语音交互为例,车辆包括显示屏,可以获取该车辆的显示屏中文本,界面热词可以是该显示屏所显示的控件对应的文本,应理解,该界面热词可以作为第二文本。
S620,根据音频信号进行语音识别,获得流式的文本结果。
应理解,步骤S620可以对应步骤S520,为了简洁,此处不再赘述。
可选地,S630,若流式的文本结果非空,可以跳转S634;若流式的文本结果为空,可以跳转S620。
示例性地,获取界面热词,可以与获取流式的文本结果同时进行,也可以先获取界面热词,还可以先获取文本结果,也就是说,步骤S615,与步骤S620至S630中的部分或全部步骤,可以同时进行,也可以先执行步骤S615,也可以先执行S620至S630,还可以先执行S620至S630中的部分或全部步骤,本申请对此不做限定。
S634,匹配获取的界面热词,与获取的流式的文本结果,若界面热词与流式的文本结果匹配,可以跳转S636;若界面热词与流式的文本结果不匹配,跳转S635。
为简要说明匹配界面热词与流式的文本结果的方法,示例性地,图13为本申请实施例提供的一种显示屏的用户界面的示例性示意图,其中,该显示屏可以应用于车辆,可以在其用户界面上显示地图,音乐,广播,驾驶设置等不同的信息。应理解,该用户界面只是示例,本申请实施例对此不做限定,例如,还可以包括灯光,车辆行驶参数等其他信息。用户可以通过点击用户界面的控件,车辆可以执行该控件所对应的操作,比如,如图13所示,用户点击控件“音乐”中的“歌曲1”后,车辆可以播放音乐,并播放“歌曲1”。为了简洁,此处不再一一举例。
示例性地,当用户开启语音识别功能后,可以获取流式的文本结果以及界面热词,并对二者进行匹配。例如,用户通过说出唤醒词启动语音识别后,可以获取如图13所示的界面热词“地图”、“常用地点1”、“音乐”、“歌曲1”等,当根据音频信号获取的流式的文本结果(比如“播放歌曲1”)中包括“歌曲1”时,该流式的文本结果与获取 的界面热词相匹配,可以跳转S636;或根据音频信号获取的流式文本结果(比如“打开车窗”)中,不包括如图13所示的界面热词时,可以将该流式的文本结果作为第一文本,以此确定第一定时器的时长,也就是说,第一文本和第二文本不匹配时,可以跳转S640。
应理解,以上获取界面热词的方法只是举例以便于说明,本申请实施例对此不做限定。关于匹配第一文本和第二文本的描述,可以参考步骤S450,本申请实施例对此不再赘述。
可选地,S636,确定音频信号的分类,若当前音频信号分类为第一类音频信号,跳转S620,否则,可以跳转S638。
示例性地,由于语音交互中,可以持续地获取音频信号,在获取界面热词、获取流式的文本结果、以及对二者进行匹配的过程中,在该过程中所接收的音频信号,或称为更新的音频信号,其中可能会包括语音指令,若完成界面热词与流式的文本结果间的匹配后,该更新的音频信号中,包括分类为SPE的音频帧,即包括用户的语音指令时,可以跳转S620,以获取该更新的音频信号对应的流式文本的结果;否则,可以跳转S638。
示例性地,在确定界面热词与流式的文本结果匹配时,可以根据持续获取的音频信号中包括当前时刻的音频帧的能量,确定该音频帧的分类,若该音频帧的分类为SPE时,可以跳转S620;否则可以跳转S638。
应理解,通过确定音频信号的分类,可以避免忽略在匹配界面热词与流式文本结果过程中用户新下达的指令,避免执行的操作与用户的实际意图存在明显偏差。
示例性地,关于音频信号的分类的方法,可以参考步骤S450,为了简洁,本申请实施例对此不做限定。
S638,可见可说模块可以执行界面热词指示的操作。
示例性地,可以向可见可说模块发送第一消息,该第一消息可以用于指示执行成功匹配的界面热词所指示的操作,相应地,可见可说模块可以执行该界面热词所指示的操作,也可以指示执行装置执行该界面热词所指示的操作,本申请实施例对此不做限定。
本申请实施例中,通过执行界面热词指示的操作,可以实现可见即可说的功能,使得用户可以仅通过语音交互,实现与车载终端间的交互,从而可以避免接触车载终端,可以提升用户体验。另外,由于本申请实施例中,可以在语音端点检测之前进行界面热词与语音指令的匹配,即并非在语音交互结束后而是在语音交互中,进行界面热词的匹配,可以显著缩短可见可说方式的响应时间,提高用户体验。
应理解,当获取的界面热词与流式的文本结果匹配时,可以直接执行界面热词指示的操作,即步骤S634完成界面热词与流式的文本结果的匹配后,也可以直接跳转S638。
可选地,S635,若界面热词与流式的文本结果不匹配时,可以根据第一预设时间设定第三定时器。
示例性地,步骤S635的描述可以参考步骤S530,为了简洁,此处不再赘述。
S637,若第三定时器结束前,流式的文本结果未更新,可以跳转S640;若流式的文本结果有更新,可以跳转S620。
示例性地,步骤S637的描述可以参考步骤S535,为了简洁,此处不再赘述。
S640,基于预测模型,根据第一文本确定第一定时器的时长。
示例性地,步骤S640的描述可以参考步骤S540,为了简洁,对此不再赘述。
S645,开启第一定时器。
S650,若第一定时器结束前,流式的文本结果有更新,可以跳转S620;若流式的文本结果未更新,跳转S655。
示例性地,步骤S650的描述可以参考步骤S560,为了简洁,对此不再赘述。
S655,根据音频信号的分类,确定是否停止语音识别。若当前音频信号中包括第一类音频帧,跳转S620,否则,跳转S660。
示例性地,步骤S655的描述可以参考步骤S570,为了简洁,对此不再赘述。
S660,响应语音指令。
示例性地,步骤S660的描述可以参考步骤S580,为了简洁,此处不再赘述。
应理解,以上方法400可以和方法500、方法600相互结合,本申请实施例对此不作限定。
本申请实施例还提供用于实现以上任一种方法的装置,例如,提供一种装置包括用以实现以上任一种方法中用户设备、车辆、语音交互装置等所执行的各步骤的单元。例如,请参考图14,其为本申请实施例提供的一种语音交互的装置的结构示意图。该装置700可以包括获取模块710和处理模块720。
其中,获取模块710,可以用于获取第一音频信号,该第一音频信号中可以包括第一语音指令;还可以用于获取第二音频信号,该第二音频信号的起始时刻等于或晚于该第一音频信号的结束时刻;处理模块720,可以用于:根据该第一语音指令对应的第一文本,确定第一定时器的时长;启动该第一定时器;在该第二音频信号中的语音指令对应的文本为空时,将第一定时器的结束时刻确定为语音端点;在确定语音端点之后,响应该第一语音指令。
示例性地,关于响应第一语音指令的描述可以参照步骤S460,为了简洁,此处不再赘述。
示例性地,在处理模块720确定第二音频信号中的语音指令对应的文本为非空时,可以确定在第一音频信号结束时刻之后,依然获取到新的语音指令,可以确定本次语音端点检测失败,无法根据第一定时器确定语音端点。由此,获取模块710可以重新获取新的第一音频信号,处理模块720可以根据该新的第一音频信号,再次进行语音端点检测,直至确定到语音端点。
可选地,处理模块720,可以用于:当第二音频信号的音频帧的能量小于或等于第一阈值时,将该第一定时器的结束时刻确定为语音端点。
进一步地,处理模块720,具体用于:在该第二音频信号中的语音指令对应的文本为空,且第二音频信号的音频帧的能量小于或等于第一阈值时,将该第一定时器的结束时刻确定为语音端点。
示例性地,可以是当第二音频信号中不包括第一类音频帧时,将第一定时器的结束时刻确定为语音端点。
示例性地,关于第二音频信号的描述可以参照步骤S450,为了简洁,本申请实施例对此不再赘述。
可选地,获取模块710,还用于:获取第二文本,该第二文本可以通过显示屏显示;处理模块720,具体用于:在该第一语音指令对应的第一文本与该第二文本不匹配时,根据该第一语音指令对应的第一文本,确定该第一定时器的时长。
可选地,处理模块720,还可以用于,在该第一语音指令对应的该第一文本与该第二文本匹配时,执行该第二文本所指示的操作。
示例性地,可以将该第二文本所指示的操作发送至控制装置或执行装置,使得其可以执行该第二文本所指示的操作。
示例性地,关于第二文本的描述,可以参考步骤S450,为了简洁,此处不再赘述。其中,第一文本和第二文本匹配,可以是第一文本与第二文本相同或相似,可以是第一文本包括第二文本,还可以是第一文本和第二文本包括相同的关键字,本申请实施例对此不做限定。
可选地,获取模块710,还用于:获取第三音频信号,第三音频信号包括第一预设时间内接收到的音频信号,第一预设时间的起始时刻等于或晚于第一音频信号的结束时刻;处理模块720,具体用于:在第三音频信号不包括语音指令时,根据该第一语音指令对应的第一文本,确定该第一定时器的时长。
示例性地,当第三音频信号包括语音指令时,可以确定第一音频信号之后依然接收到新的语音指令,由此可以结束本次语音端点的检测,可以重新确定新的第一音频信号,以重新进行语音端点的检测。
示例性地,关于第三音频信号的描述,可以参考步骤S420,为了简洁,此处不再赘述。
示例性地,在语音交互中,用户可能存在多次停顿,因此在确定语音交互中的语音端点时,可以存在多次尝试,当语音端点检测失败时,可以根据持续获取的音频信号,后续再次进行语音端点检测以确认语音端点,直至成功检测到语音端点,并由此响应第一语音指令。该多次语音端点检测过程中,所使用的多个音频信号,可以存在关联关系,也可以不存在关联关系。
为了对多次语音检测过程中所使用的音频信号和文本进行区分,可以将本次语音端点检测中所使用的文本,定义为第一文本,将其对应的音频信号定义为第一音频信号,将此前一次或多次语音端点检测中所使用的文本定义为第三文本,将其所对应的音频信号定义为第四音频信号。
可选地,获取模块710,还用于:在获取第一音频信号之前,获取第四音频信号,该第四音频信号中包括第三语音指令;在第二定时器运行时获取第五音频信号;处理模块720,还可以用于:根据该第三语音指令对应的第三文本,确定第二定时器的时长;启动第二定时器,该第二定时器的结束时刻早于或等于所述第一定时器的开始时刻;在该第五音频信号中的语音指令对应的文本为非空时,根据该第四音频信号和第五音频信号,确定第一音频信号,该第一音频信号包括该第四音频信号和所述第五音频信号。
可选地,该第一音频信号的起始时刻早于或等于第四音频信号的起始时刻,该第一音频信号的结束时刻等于或晚于第五音频信号的结束时刻。
示例性地,关于第三语音指令、第二定时器、第三文本、第五音频信号等的描述,可以参考步骤S450,为了简洁,此处不再赘述。
可选地,处理模块720,具体用于:将该第一语音指令对应的第一文本输入预测模型,得到该第一文本的语义完整度;根据该第一文本的语义完整度,确定第一定时器的时长。
示例性地,该预测模型,可以是通过方法200训练而得到的预测模型,关于该预测模 型的训练的方法的描述,可以参考步骤S210至S220,为了简洁,此处不再赘述。
示例性地,该装置可以应用于终端设备,该终端设备可以与用户进行语音交互。示例性地,终端设备具体可以包括电脑、智能手机、平板电脑、个人数字助理、可穿戴设备、智能音箱、电视、无人机、车辆、车载芯片、车载装置(例如车机、车载电脑)或机器人等装置中的一个或多个。例如,该终端设备可以是手机、车辆等,也可以是其他电子设备,为了简洁不再一一举例。应理解,以上终端设备只是举例以便于说明,本申请实施例对此不做限定。
应理解,图14所示的语音交互的装置可以用于实现上述语音交互的方法400,图14所示的语音交互的装置还可以用于实现方法500、方法600所述的语音交互的方法,具体步骤可以参照上述对于图6至图13的描述,为了简洁,本申请实施例对此不再赘述。
示例性地,本申请实施例还提供用于实现方法200的装置,例如,提供一种装置包括用以实现以上任一种方法中用户设备、语音检测平台等所执行的各步骤的单元。例如,请参考图15,其为本申请实施例提供的一种用于训练语音交互的预测模型的装置的结构示意图。如图15所示,该装置800,可以包括获取模块810和训练模块820。
其中,获取模块810可以用于:获取文本数据集,该文本数据集包括多个第四文本,该第四文本标注了第一信息,该第一信息可以用于表示文本的语义完整度;该训练模块820可以用于:根据文本数据集进行模型训练,得到预测模型,该预测模型用于预测语音指令的语义完整度。
示例性地,关于文本数据集和第一信息的描述,可以参照步骤S210,为了简洁,此处不再赘述。
可选地,获取模块810,还可以用于获取文本语料集,该文本语料集中可以包括多个具有完整语义的文本,该装置800还可以包括处理模块830(图15未示出),该处理模块可以用于,根据该文本语料集确定文本数据集。
可选地,该处理模块830,具体可以用于,根据该文本语料集中的具有完整语义的文本,确定一个或多个第四文本;根据文本语料集中多个具有完整语义的文本所确定的多个第四文本,确定文本数据集。
可选地,该处理模块830,还可以用于:根据文本语料集确定字典树,该字典树包括多个节点;可以根据字典树中的节点的子节点数目,确定第四文本的语义完整度。
示例性地,根据文本语料集中的具有完整语义的文本,可以确定一个或多个节点,根据文本语料集中的多个具有完整语义的文本,可以确定字典树的多个节点。
示例性地,以上关于文本语料集和字典树的描述,可以参照步骤S210,为了简洁,此处不再赘述。
可选地,该处理模块830,还可以用于:根据字典树中的节点的子节点数目,以及具有完整语义的文本所确定的尾节点标记,确定第四文本的语义完整度。
示例性地,关于尾节点标记的描述,可以参照步骤S210,为了简洁,此处不再赘述。
示例性地,该装置800可以用于图1实施例中所描述的语音检测平台,该语音检测平台可以用于为用户与终端设备的语音交互过程提供后台服务。本申请实施例对此不做限定。
应理解,根据图15所示的用于训练语音交互中所使用的预测模型的装置,可以用于实现方法200,具体的步骤可以参照上述对于图3至图5的描述,为了简洁,本申请实施 例对此不再赘述。
应理解,以上装置中各单元或模块的划分仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。此外,装置中的单元或模块可以以处理器调用软件的形式实现;例如装置包括处理器,处理器与存储器连接,存储器中存储有指令,处理器调用存储器中存储的指令,以实现以上任一种方法或实现该装置各单元的功能,其中处理器例如为通用处理器,例如中央处理单元(Central Processing Unit,CPU)或微处理器,存储器为装置内的存储器或装置外的存储器。或者,装置中的单元可以以硬件电路的形式实现,可以通过对硬件电路的设计实现部分或全部单元的功能,该硬件电路可以理解为一个或多个处理器;例如,在一种实现中,该硬件电路为专用集成电路(application-specific integrated circuit,ASIC),通过对电路内元件逻辑关系的设计,实现以上部分或全部单元的功能;再如,在另一种实现中,该硬件电路为可以通过可编程逻辑器件(programmable logic device,PLD)实现,以现场可编程门阵列(Field Programmable Gate Array,FPGA)为例,其可以包括大量逻辑门电路,通过配置文件来配置逻辑门电路之间的连接关系,从而实现以上部分或全部单元的功能。以上装置的所有单元可以全部通过处理器调用软件的形式实现,或全部通过硬件电路的形式实现,或部分通过处理器调用软件的形式实现,剩余部分通过硬件电路的形式实现。
在本申请实施例中,处理器是一种具有信号的处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如CPU、微处理器、图形处理器(graphics processing unit,GPU)(可以理解为一种微处理器)、或数字信号处理器(digital singnal processor,DSP)等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为专用集成电路ASIC或可编程逻辑器件PLD实现的硬件电路,例如FPGA。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部单元的功能的过程。此外,还可以是针对人工智能设计的硬件电路,其可以理解为一种ASIC,例如神经网络处理单元(Neural Network Processing Unit,NPU)、张量处理单元(Tensor Processing Unit,TPU)、深度学习处理单元(Deep learning Processing Unit,DPU)等。
可见,以上装置中的各单元可以是被配置成实施以上方法的一个或多个处理器(或处理电路),例如:CPU、GPU、NPU、TPU、DPU、微处理器、DSP、ASIC、FPGA,或这些处理器形式中至少两种的组合。
此外,以上装置中的各单元可以全部或部分可以集成在一起,或者可以独立实现。在一种实现中,这些单元集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。该SOC中可以包括至少一个处理器,用于实现以上任一种方法或实现该装置各单元的功能,该至少一个处理器的种类可以不同,例如包括CPU和FPGA,CPU和人工智能处理器、CPU和GPU等。
示例性地,图16为本申请实施例提供的一种装置1300的结构示例图。装置1300包括处理器1302、通信接口1303和存储器1304。装置1300的一种示例为芯片。装置1300的另一种示例为计算设备。
处理器1302、存储器1304和通信接口1303之间可以通过总线通信。存储器1304中 存储有可执行代码,处理器1302读取存储器1304中的可执行代码以执行对应的方法。存储器1304中还可以包括操作系统等其他运行进程所需的软件模块。
例如,存储器1304中的可执行代码用于实现图3至图13所示的方法,处理器1302读取存储器1304中的该可执行代码以执行图3至图13所示的方法。
其中,处理器1302可以为CPU。存储器1304可以包括易失性存储器(volatile memory,VM),例如随机存取存储器(random access memory,RAM)。存储器1304还可以包括非易失性存储器(non-volatile memory,NVM),例如只读存储器(read-only memory,ROM),快闪存储器,硬盘驱动器(hard disk drive,HDD)或固态启动器(solid state disk,SSD)。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。例如,“第一文本”和“第二文本”仅用于区分,不代表“第一文本”和“第二文本”的优先级不同。
应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际情形选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (17)
- 一种语音交互的方法,其特征在于,包括:获取第一音频信号,所述第一音频信号中包括第一语音指令;根据所述第一语音指令对应的第一文本,确定第一定时器的时长;启动所述第一定时器;获取第二音频信号,所述第二音频信号的起始时刻等于或晚于所述第一音频信号的结束时刻;在所述第二音频信号中的语音指令对应的文本为空时,将所述第一定时器的结束时刻确定为语音端点;在确定所述语音端点之后,响应所述第一语音指令。
- 如权利要求1所述的方法,其特征在于,所述在所述第二音频信号中的语音指令对应的文本为空时,将所述第一定时器的结束时刻确定为语音端点,包括:在所述第二音频信号中的语音指令对应的文本为空,且所述第二音频信号的音频帧的能量小于或等于第一阈值时,将所述第一定时器的结束时刻确定为所述语音端点。
- 如权利要求1或2所述的方法,其特征在于,所述方法还包括:获取在显示屏上显示的第二文本;所述根据所述第一语音指令对应的第一文本,确定第一定时器的时长,包括:在所述第一语音指令对应的所述第一文本与所述第二文本不匹配时,根据所述第一语音指令对应的所述第一文本,确定所述第一定时器的时长。
- 如权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:获取第三音频信号,所述第三音频信号包括第一预设时间内接收到的音频信号,所述第一预设时间的起始时刻,等于或晚于所述第一音频信号的结束时刻;所述根据所述第一语音指令对应的第一文本,确定第一定时器的时长,包括:在所述第三音频信号不包括语音指令时,根据所述第一语音指令对应的所述第一文本,确定所述第一定时器的时长。
- 如权利要求1至4中任一项所述的方法,其特征在于,所述获取所述第一音频信号之前,所述方法还包括:获取第四音频信号,所述第四音频信号中包括第三语音指令;根据所述第三语音指令对应的第三文本,确定第二定时器的时长;启动所述第二定时器且在所述第二定时器运行时获取第五音频信号,所述第二定时器的结束时刻,早于或等于所述第一定时器的开始时刻;在所述第五音频信号中的语音指令对应的文本为非空时,根据所述第四音频信号和所述第五音频信号,确定所述第一音频信号,所述第一音频信号包括所述第四音频信号和所述第五音频信号。
- 如权利要求5所述的方法,其特征在于,所述第一音频信号的起始时刻,早于或等于所述第四音频信号的起始时刻,所述第一音频信号的结束时刻,等于或晚于所述第五音频信号的结束时刻。
- 如权利要求1至6中任一项所述的方法,其特征在于,所述根据所述第一语音指令对应的第一文本,确定第一定时器的时长,包括:将所述第一语音指令对应的所述第一文本输入预测模型,得到所述第一文本的语义完整度;根据所述第一文本的语义完整度,确定所述第一定时器的时长。
- 一种语音交互的装置,其特征在于,所述装置包括:获取模块,用于获取第一音频信号,所述第一音频信号中包括第一语音指令;还用于获取第二音频信号,所述第二音频信号的起始时刻等于或晚于所述第一音频信号的结束时刻;处理模块,用于根据所述第一语音指令对应的第一文本,确定所述第一定时器的时长;启动所述第一定时器;在所述第二音频信号中的语音指令对应的文本为空时,将所述第一定时器的结束时刻确定为语音端点;在确定所述语音端点之后,响应所述第一语音指令。
- 如权利要求8所述的装置,其特征在于,所述处理模块,具体用于:在所述第二音频信号中的语音指令对应的文本为空,且所述第二音频信号的音频帧的能量小于或等于第一阈值时,将所述第一定时器的结束时刻确定为所述语音端点。
- 如权利要求8或9所述的装置,其特征在于,所述获取模块还用于:获取在显示屏上显示的第二文本;所述处理模块,具体用于:在所述第一语音指令对应的所述第一文本与所述第二文本不匹配时,根据所述第一语音指令对应的所述第一文本,确定所述第一定时器的时长。
- 如权利要求8至10中任一项所述的装置,其特征在于,所述获取模块还用于:获取第三音频信号,所述第三音频信号包括第一预设时间内接收到的音频信号,所述第一预设时间的起始时刻等于或晚于所述第一音频信号的结束时刻;所述处理模块,具体用于:在所述第三音频信号不包括语音指令时,根据所述第一语音指令对应的所述第一文本,确定所述第一定时器的时长。
- 如权利要求8至11中任一项所述的装置,其特征在于,所述获取模块还用于:在获取所述第一音频信号之前,获取第四音频信号,所述第四音频信号中包括第三语音指令;在第二定时器运行时获取第五音频信号;所述处理模块,还用于:根据所述第三语音指令对应的第三文本,确定所述第二定时器的时长;启动所述第二定时器,所述第二定时器的结束时刻早于或等于所述第一定时器的开始时刻;在所述第五音频信号中的语音指令对应的文本为非空时,根据所述第四音频信号和所述第五音频信号,确定所述第一音频信号,所述第一音频信号包括所述第四音频信号和所述第五音频信号。
- 如权利要求12所述的装置,其特征在于,所述第一音频信号的起始时刻早于或等于所述第四音频信号的起始时刻,所述第一音频信号的结束时刻等于或晚于所述第五音 频信号的结束时刻。
- 如权利要求8至13中任一项所述的装置,其特征在于,所述处理模块,具体用于:将所述第一语音指令对应的所述第一文本输入预测模型,得到所述第一文本的语义完整度;根据所述第一文本的语义完整度,确定所述第一定时器的时长。
- 一种装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至7中任一项所述的方法。
- 一种计算机程序产品,其特征在于,包括计算机程序代码,所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1至7中任意一项所述的方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读介质存储有程序代码,当所述程序代码在计算机上运行时,使得计算机执行如权利要求1至7中任意一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/141405 WO2023115588A1 (zh) | 2021-12-25 | 2021-12-25 | 语音交互的方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116670760A true CN116670760A (zh) | 2023-08-29 |
Family
ID=86901127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180041317.8A Pending CN116670760A (zh) | 2021-12-25 | 2021-12-25 | 语音交互的方法、装置和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116670760A (zh) |
WO (1) | WO2023115588A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10943606B2 (en) * | 2018-04-12 | 2021-03-09 | Qualcomm Incorporated | Context-based detection of end-point of utterance |
CN108877778B (zh) * | 2018-06-13 | 2019-09-17 | 百度在线网络技术(北京)有限公司 | 语音端点检测方法及设备 |
CN109346074B (zh) * | 2018-10-15 | 2020-03-03 | 百度在线网络技术(北京)有限公司 | 一种语音处理方法及系统 |
CN110689877A (zh) * | 2019-09-17 | 2020-01-14 | 华为技术有限公司 | 一种语音结束端点检测方法及装置 |
CN110910863B (zh) * | 2019-11-29 | 2023-01-31 | 上海依图信息技术有限公司 | 从音频文件中提取有声片段的方法、装置设备及存储介质 |
CN112995419B (zh) * | 2021-02-05 | 2022-05-24 | 支付宝(杭州)信息技术有限公司 | 一种语音对话的处理方法和系统 |
CN113345473B (zh) * | 2021-06-24 | 2024-02-13 | 中国科学技术大学 | 语音端点检测方法、装置、电子设备和存储介质 |
-
2021
- 2021-12-25 CN CN202180041317.8A patent/CN116670760A/zh active Pending
- 2021-12-25 WO PCT/CN2021/141405 patent/WO2023115588A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023115588A1 (zh) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509619B (zh) | 一种语音交互方法及设备 | |
US11270074B2 (en) | Information processing apparatus, information processing system, and information processing method, and program | |
CN110473531B (zh) | 语音识别方法、装置、电子设备、系统及存储介质 | |
CN108520743B (zh) | 智能设备的语音控制方法、智能设备及计算机可读介质 | |
CN111797632B (zh) | 信息处理方法、装置及电子设备 | |
CN108281138B (zh) | 年龄判别模型训练及智能语音交互方法、设备及存储介质 | |
JP7213943B2 (ja) | 車載機器の音声処理方法、装置、機器及び記憶媒体 | |
US11615784B2 (en) | Control method and control apparatus for speech interaction | |
CN110544473B (zh) | 语音交互方法和装置 | |
CN108766431B (zh) | 一种基于语音识别的自动唤醒方法及电子设备 | |
CN110428854A (zh) | 车载端的语音端点检测方法、装置和计算机设备 | |
CN112466302A (zh) | 语音交互的方法、装置、电子设备和存储介质 | |
CN114420102B (zh) | 语音断句方法、装置、电子设备及存储介质 | |
CN106649253A (zh) | 基于后验证的辅助控制方法及系统 | |
CN110956958A (zh) | 搜索方法、装置、终端设备及存储介质 | |
US20240046931A1 (en) | Voice interaction method and apparatus | |
CN110310632A (zh) | 语音处理方法及装置、以及电子设备 | |
CN113611316A (zh) | 人机交互方法、装置、设备以及存储介质 | |
CN116670760A (zh) | 语音交互的方法、装置和存储介质 | |
CN115831109A (zh) | 语音唤醒方法、装置、存储介质及电子设备 | |
CN111048068A (zh) | 语音唤醒方法、装置、系统及电子设备 | |
CN107967308B (zh) | 一种智能交互的处理方法、装置、设备和计算机存储介质 | |
CN111785259A (zh) | 信息处理方法、装置及电子设备 | |
CN111028830A (zh) | 一种本地热词库更新方法、装置及设备 | |
CN111797631B (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 |