CN114299955A - 语音交互的方法、装置、电子设备及存储介质 - Google Patents
语音交互的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114299955A CN114299955A CN202111338960.5A CN202111338960A CN114299955A CN 114299955 A CN114299955 A CN 114299955A CN 202111338960 A CN202111338960 A CN 202111338960A CN 114299955 A CN114299955 A CN 114299955A
- Authority
- CN
- China
- Prior art keywords
- recognition result
- result
- request statement
- final
- complete
- 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 60
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000008859 change Effects 0.000 claims abstract description 62
- 230000004044 response Effects 0.000 claims abstract description 51
- 238000001514 detection method Methods 0.000 claims abstract description 16
- 230000000694 effects Effects 0.000 claims abstract description 14
- 238000004458 analytical method Methods 0.000 claims description 62
- 238000004590 computer program Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 9
- 238000013473 artificial intelligence Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000003058 natural language processing Methods 0.000 abstract description 2
- 238000012549 training Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 241000209094 Oryza Species 0.000 description 6
- 235000007164 Oryza sativa Nutrition 0.000 description 6
- 235000009566 rice Nutrition 0.000 description 6
- 239000003205 fragrance Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Machine Translation (AREA)
Abstract
本公开提供了语音交互的方法、装置、电子设备及可读存储介质,涉及计算机技术领域,具体涉及语音技术、自然语言处理等人工智能技术领域。一种具体实现方案为:对用户发送的请求语句进行语音识别,在接收到所述请求语句后的第一预设时间内,得到至少一个中间识别结果;其中,所述第一预设时间的结束时刻,早于所述请求语句的语音活动检测的尾点时刻;基于从所述至少一个中间识别结果中识别出的第一个语义完整的中间识别结果,确定所述请求语句是否会导致数据库的状态变化;响应于所述请求语句不会导致所述数据库的状态变化,根据所述第一个语义完整的中间识别结果,确定第一答复语句。
Description
技术领域
本公开涉及计算机技术领域,具体涉及语音技术、自然语言处理等人工智能技术领域,尤其涉及语音交互的方法、装置、电子设备及存储介质。
背景技术
随着人工智能技术的进步,人机语音交互(简称:语音交互)也得到了迅速发展和广泛应用,例如,可广泛应用于智能电视、智能音箱、虚拟现实(virtual reality,VR)眼镜等智能设备,以及各种语音助手应用(APP)中。
在传统的人机语音交互中,语音识别和后续调用对话服务进行响应是串行进行的,即在语音活动检测(Voice Activity Detection,VAD)的尾点后才将进行语音识别并根据该语音识别结果调用对话服务进行响应。由此导致语音交互的响应时间较长,影响用户体验。针对该问题,现有技术提出了流式提前拉取对话资源的方案,通过提前进行流式语音识别,将VAD过程与后续调用对话服务进行响应的过程并行化,从而减少语音交互的响应时间。
本公开的发明人通过研究发现,上述流式提前拉取对话资源的方案,虽然可以减少语音交互的响应时间,但是在流式语音识别的过程中,并不知道用户何时会停止说话,需要在语音识别结果变化时,不停的调用对话服务,在一些涉及到重云端逻辑并与数据库状态相耦合的对话服务中,针对语义完整、而与最终识别结果不同的中间识别结果,也会在数据库中写入相应的任务,从而导致错误的任务执行,例如:错误的闹钟响铃,订单服务类查询语句的中间结果出现下单相关的解析结果会导致错误的订单被下达等,严重影响用户体验。
发明内容
本公开提供了一种语音交互的方法、装置、电子设备及存储介质。
根据本公开的一方面,提供了一种语音交互的方法,包括:
对用户发送的请求语句进行语音识别,在接收到所述请求语句后的第一预设时间内,得到至少一个中间识别结果;其中,所述第一预设时间的结束时刻,早于所述请求语句的语音活动检测的尾点时刻;
基于从所述至少一个中间识别结果中识别出的第一个语义完整的中间识别结果,确定所述请求语句是否会导致数据库的状态变化;
响应于所述请求语句不会导致所述数据库的状态变化,根据所述第一个语义完整的中间识别结果,确定第一答复语句。
根据本公开的另一方面,提供了一种语音交互的装置,包括:
语音识别单元,用于对用户发送的请求语句进行语音识别,在接收到所述请求语句后的第一预设时间内,得到至少一个中间识别结果;其中,所述第一预设时间的结束时刻,早于所述请求语句的语音活动检测的尾点时刻;
第一确定单元,用于基于从所述至少一个中间识别结果中识别出的第一个语义完整的中间识别结果,确定所述请求语句是否会导致数据库的状态变化;
第二确定单元,用于响应于所述请求语句不会导致所述数据库的状态变化,根据所述第一个语义完整的中间识别结果,确定第一答复语句。
根据本公开的又一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方面和任一可能的实现方式的方法。
根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的方面和任一可能的实现方式的方法。
根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方面和任一可能的实现方式的方法。
根据本公开的又一方面,提供了一种人工智能设备,包括如上所述的电子设备。
由上述技术方案可知,本公开实施例在接收到请求语句后的第一预设时间内得到至少一个中间识别结果,在识别出第一个语义完整的中间识别结果时,确定该请求语句是否会导致数据库的状态变化,只有在请求语句不会导致数据库的状态变化时,才根据第一个语义完整的中间识别结果确定第一答复语句,而在请求语句会导致数据库的状态变化时,不执行根据第一个语义完整的中间识别结果确定第一答复语句的操作,从而不会在数据库中写入相应的任务、导致错误的任务被执行,能够避免中间识别结果导致错误的任务执行,提高语音交互结果的正确性。
另外,本公开实施例提前进行流式语音识别,在识别出第一个语义完整的中间识别结果、且请求语句不会导致数据库的状态变化时时,即根据所述第一个语义完整的中间识别结果调用对话服务确定第一答复语句以播放给用户,既可以通过提前拉取对话资源减少语音交互的响应时间,又可以避免基于语义不完整的中间识别结果大量调用对话服务进行对话模型的计算和资源拉取,能够大幅度减少对对话服务的无效调用,减少对话服务的请求量,从而节省对话服务的计算资源和存储资源、以及收费资源服务,从而降低成本。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开第二实施例的示意图;
图3是根据本公开第三实施例的示意图;
图4是根据本公开实施例的一个应用实施例的示意图;
图5是根据本公开第四实施例的示意图;
图6是根据本公开第五实施例的示意图;
图7是用来实现本公开实施例的语音交互的方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
需要说明的是,本公开实施例中所涉及的终端设备可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(TabletComputer)、车辆上的计算设备等智能设备;显示设备可以包括但不限于个人电脑、电视、车辆上耦合的显示器等具有显示功能的设备。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
现有流式提前拉取对话资源的方案,虽然可以显著减少语音交互的响应时间,但是在流式语音识别的过程中,并不知道用户何时会停止说话,需要在语音识别结果变化时,不停的调用对话服务,例如针对第一轮用户的请求语句“给我定个闹钟”,语音交互的装置回复“好的,几点呢”,第二轮用户发送请求语句“明天六点五十”,针对该第二轮请求语句,对话服务会依次收到:
A.明
B.明天
C.明天六点
D.明天六点五十(VAD的尾点时刻前得到的中间识别结果,对应图4中的时刻1.5)
E.明天六点五十(VAD的尾点时刻后得到的最终识别结果,对应图4中的时刻3)
其中,由于语义完整的中间识别结果B、C、D都发生了变化,每一个与之前的均不同,均需要调用对话服务,获取对应的结果并缓存起来,导致对话服务的请求量增加,对话服务的请求量约是传统方案的n-1倍,其中n是所有中间识别结果和最终识别结果的平均长度。因此,会造成大量的对话服务计算资源浪费,尤其是针对一些需要调用收费资源服务API的情况,例如调用天气服务商、音频内容提供商的接口以获取响应资源时,是按次收费的,会进一步增加相应的经济成本。
另外,针对中间识别结果C,也调用了对话服务,在重云端逻辑并与数据库状态相耦合的对话服务中,会在云端的数据库中写入“明天六点”的闹钟,并在明天六点时,推送给用户设备响铃。而实际用户并未定义过”明天六点”的闹钟,从而造成错误的闹钟响铃。类似地,在其他重云端逻辑并与数据库状态相耦合的对话服务中,都会存在类似的问题,例如订单服务类查询语句的中间结果出现下单相关的解析结果会导致错误的订单被下达等,严重影响用户体验。
因此,亟需提供一种语音交互处理方法,以在减少语音交互的响应时间的情况下,避免中间识别结果导致错误的任务执行,提高语音交互结果的正确性。
图1是根据本公开第一实施例的示意图,如图1所示。
101、对用户发送的请求语句进行语音识别,在接收到所述请求语句后的第一预设时间内,得到至少一个中间识别结果。
其中,请求语句是用户发送的想要得到回复的语句,例如可以是“播放儿歌”、“我想听稻香”等不同需求的话语,本公开实施例对此不做限定。
其中,第一预设时间的结束时刻,早于所述请求语句的语音活动检测的尾点时刻(VAD end)。第一预设时间是指,在用户发送的请求语句的尾音落下之后开始计时的一段时间,即该第一预设时间为语音交互的装置检测到的静音状态持续的时间。第一预设时间的长度可以根据需要设置。在实际使用时,为了减少用户的等待时间,第一预设时间的长度可以设置为5ms、10ms、20ms等,这里只是举例说明,不能作为本公开中,对第一预设时间长度的限定。
其中,中间识别结果,是在用户发送的请求语句的尾音落下之后,第一预设时间内,对查询语句进行语音识别所得到的结果。
102、基于从所述至少一个中间识别结果中识别出的第一个语义完整的中间识别结果,确定所述请求语句是否会导致数据库的状态变化。
其中,中间识别结果的语义完整,表示该中间识别结果具有完整的语义,表达的意思完整。
103、响应于所述请求语句不会导致数据库的状态变化,根据所述第一个语义完整的中间识别结果,确定第一答复语句。
本公开实施例中,数据库用于存储待执行任务的信息,其中包括任务执行条件(例如时间)、执行任务的用户设备等等。数据库的状态对应于数据库中的内容,在数据库中的内容发生变化时,例如被写入新数据、已有内容被修改或者删除,会导致数据库的状态变化。请求语句会导致数据库的状态变化,是指该请求语句会触发向数据库中写入待执行任务的信息、或者删除数据库中待执行任务的信息、或者修改数据库中待执行任务的信息。
其中,第一答复语句,是根据第一个语义完整的中间识别结果去调用对话服务,对话服务根据该第一个语义完整的中间识别结果及所处的对话状态,判定用户的意图,进行对话模型的计算和资源获取,生成要给用户播报的答复语句。
需要说明的是,101~103的执行主体的部分或全部可以为位于本地终端即服务提供商的终端设备的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,或者还可以为位于网络侧的分布式系统,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行特别限定。
这样,只有在请求语句不会导致数据库的状态变化时,才根据第一个语义完整的中间识别结果确定第一答复语句,而在请求语句会导致数据库的状态变化时,不执行根据第一个语义完整的中间识别结果确定第一答复语句的操作,从而不会在数据库中写入相应的任务、导致错误的任务被执行,能够避免中间识别结果导致错误的任务执行,提高语音交互结果的正确性。
另外,在识别出第一个语义完整的中间识别结果、且请求语句不会导致数据库的状态变化时时,即根据所述第一个语义完整的中间识别结果调用对话服务确定第一答复语句以播放给用户,既可以通过提前拉取对话资源减少语音交互的响应时间,又可以避免基于语义不完整的中间识别结果大量调用对话服务进行对话模型的计算和资源拉取,能够大幅度减少对对话服务的无效调用,减少对话服务的请求量,从而节省对话服务的计算资源和存储资源、以及收费资源服务,从而降低成本。
图2是根据本公开第二实施例的示意图,如图2所示。在图1所示实施例的基础上,还可以包括:
201、在接收到所述请求语句后的第二预设时间内,得到所述请求语句的最终识别结果。
其中,第二预设时间的结束时刻,晚于所述请求语句的语音活动检测的尾点时刻。第二预设时间,是在用户发送的请求语句的尾音落下之后开始计时的一段时间,这一段计时时间的长度大于第一预设时间的长度。可以理解的是,第二预设时间,也是语音交互的装置检测到的静音状态的持续时间。
响应于所述请求语句会导致数据库的状态变化,执行操作202。
202、根据所述最终识别结果确定最终答复语句,并播放所述最终答复语句。
基于本实施例,针对会导致数据库的状态变化的请求语句,不再基于中间识别结果调用对话服务,而是根据最终识别结果确定最终答复语句并播放,能够避免中间识别结果导致错误的任务执行,提高语音交互结果的正确性。
可选地,在本实施例的一个可能的实现方式中,还可以包括:根据所述第一个语义完整的中间识别结果,确定第一答复语句;在接收到所述请求语句后的第二预设时间内,得到所述请求语句的最终识别结果,其中,第二预设时间的结束时刻,晚于所述请求语句的语音活动检测的尾点时刻;响应于所述请求语句会导致数据库的状态变化,比较所述第一个语义完整的中间识别结果与所述最终识别结果后是否一致;响应于所述第一个语义完整的中间识别结果与所述最终识别结果一致,播放所述第一答复语句。
基于本实施例,从所述至少一个中间识别结果中识别出的第一个语义完整的中间识别结果后,先根据该第一个语义完整的中间识别结果确定第一答复语句,然后在得到请求语句的最终识别结果后,比较该第一个语义完整的中间识别结果与最终识别结果后是否一致,若二者一致,则可以直接播放第一答复语句,而不用等到得到最终识别结果后再确定给用户的答复语句,既可以通过提前拉取对话资源减少语音交互的响应时间,又可以确保给用户的答复语句的正确性,还可以避免在数据库中写入错误的待执行任务的信息、导致错误的任务被执行,提高语音交互结果的正确性。
可选地,在上述实现方式中,在得到所述请求语句的最终识别结果之后,响应于所述请求语句会导致所述数据库的状态变化,还可以基于所述最终识别结果确定待执行任务的信息并写入数据库,响应于达到该待执行任务的信息中的任务执行条件,向用户设备发送执行该待执行任务的通知消息。
基于本实施例,可以基于最终识别结果准确确定待执行任务的信息并写入数据库,在达到该待执行任务的信息中的任务执行条件,向用户设备发送执行该待执行任务的通知消息,以确保任务的正确执行。
图3是根据本公开第三实施例的示意图,如图3所示。在图2所示实施例的基础上,还可以包括:
301、响应于得到所述至少一个中间识别结果中的第一个中间识别结果,按照得到所述至少一个中间识别结果的时间顺序,依次识别所述至少一个中间识别结果的语义是否完整。
响应于从所述至少一个中间识别结果中识别出第一个语义完整的中间识别结果,基于该第一个语义完整的中间识别结果,确定所述请求语句是否会导致数据库的状态变化,即执行上述操作102。
否则,响应于从所述至少一个中间识别结果中未识别出语义完整的中间识别结果,根据所述最终识别结果确定最终答复语句,并播放该最终答复语句,即执行上述操作202。
基于本实施例,在识别出第一个语义完整的中间识别结果时,才根据该第一个语义完整的中间识别结果确定请求语句是否会导致数据库的状态变化并执行后续流程,可以避免基于语义不完整的中间识别结果进行后续流程导致的计算资源的浪费,节省计算资源。
本公开实施例中,在301中,可以采用多种方式识别所述至少一个中间识别结果中各中间识别结果的语义是否完整。
例如,在本实施例的一个可能的实现方式中,可以采用如下方式识别各中间识别结果的语义是否完整:
依次针对各中间识别结果,利用语义完整性模型,获取各中间识别结果作为历史最终识别结果中前缀的第一概率,以及各中间识别结果作为历史最终识别结果的第二概率,然后,基于所述第一概率和所述第二概率确定各中间识别结果语义完整的第三概率;进而,根据所述第三概率是否大于预设阈值,确定各中间识别结果的语义是否完整。
其中,语义完整性模型基于用户日志中的最终识别结果进行统计计算得到,例如,统计大规模线上用户日志中,最终识别结果“我想听稻香”总共出现过多少次,最终识别结果“我想订明天早上六点五十的闹铃”总共出现过多少次,等等,对线上大规模用户日志中的各最终识别结果总共出现的次数分别进行统计计算,得到语义完整性模型。语义完整性模型可以按照一定更新周期,例如一周,基于线上用户日志的更新而更新,本公开实施例对语义完整性模型的是否更新、以及更新周期不做限制。
本公开实施例中,历史最终识别结果是线上大规模用户日志中的最终识别结果,线上各用户每次进行语音交互发出请求语句时,会得到至少一个中间识别结果和一个最终识别结果,用于实现本公开实施例的语音交互的装置会针对各用户生成用户日志,记录该用户的每次语音交互中的至少一个中间识别结果和一个最终识别结果。
本公开实施例中,中间识别结果作为历史最终识别结果中前缀的第一概率,即该中间识别结果仅作为历史最终识别结果中前面一部分内容、而非完整的历史最终识别结果出现的概率。中间识别结果作为历史最终识别结果的第二概率,即该中间识别结果单独作为历史最终识别结果(即作为一个完整的历史最终识别结果)出现的概率。
本公开实施例中,第一概率越高,第二概率越低,则该中间识别结果语义完整的第三概率就越低。例如对于中间结果“我想听”,在用户的表述中,很少会单独作为一个请求语句出现,几乎都是作为请求语句的前缀出现,则中间结果“我想听”的第三概率就比较低,以将该中间结果“我想听”判定为语义不完整。本公开实施例中,可以在第三概率大于预设阈值时,确定该中间识别结果的语义完整,所表达的意思比较完整,是一个完整的语句,从而即可将该中间识别结果作为完整的语句使用,进而根据该中间识别结果确定第一答复语句;否则,在第三概率小于或等于预设阈值时,确定中间识别结果的语义不完整,所表达的意思不够完整,可能不是一个完整的句子,该中间识别结果不可靠。其中的预设阈值可以根据实际需求设定,例如可以设定为0.5,并可以根据实际需求调整。
或者,在本实施例的另一个可能的实现方式中,也可以采用如下方式识别各中间识别结果的语义是否完整:
依次针对各中间识别结果,获取各中间识别结果的词向量。例如,可以通过词到向量(Word to the vector)方式,将中间识别结果从文本转换为词向量;
获取各中间识别结果作为历史最终识别结果中前缀的第一概率,以及各中间识别结果作为历史最终识别结果的第二概率。例如,可以利用上述语义完整性模型,获取各中间识别结果作为历史最终识别结果中前缀的第一概率,以及各中间识别结果作为历史最终识别结果的第二概率;
获取各中间识别结果的热度。其中,中间识别结果的热度,即某一时间段内或者过去的所有历史时间内,用户通过用于实现本公开实施例的语音交互的装置,发送包含该中间识别结果的请求语句的使用度,可以通过大规模线上用户日志中的中间识别结果和最终识别结果统计计算得到;
将所述词向量、所述第一概率、所述第二概率和所述热度输入预先训练得到的神经网络模型,经该神经网络模型输出各中间识别结果语义完整的第四概率;
根据所述第四概率是否大于预设阈值,确定各中间识别结果的语义是否完整。
本公开实施例中,可以在第四概率大于预设阈值时,确定该中间识别结果的语义完整,所表达的意思比较完整,是一个完整的语句,从而即可将该中间识别结果作为完整的语句使用,进而根据该中间识别结果确定第一答复语句;否则,在第四概率小于或等于预设阈值时,确定中间识别结果的语义不完整,所表达的意思不够完整,可能不是一个完整的句子,该中间识别结果不可靠。其中的预设阈值可以根据实际需求设定,例如可以设定为0.5,并可以根据实际需求调整。
可选地,在本实施例的一个可能的实现方式中,在102中,可以对所述第一个语义完整的中间识别结果进行语义解析,得到第一语义解析结果,该第一语义解析结果包括:意图(intent),具体基于该意图确定所述请求语句是否会导致数据库状态变化。另外,第一语义解析结果还可以包括:领域(domain)和槽位信息(slot)。
其中,领域即请求语句所属的领域,例如闹钟、天气、音乐等。意图即请求语句在当前领域下的具体意图,例如在闹钟领域,存在设定闹钟、删除闹钟等意图。槽位即请求语句在当前领域和意图下具体的槽位信息,例如请求语句“北京天气如何”,领域是天气,意图是查询天气,槽位信息包括:槽位“city”,槽位值是“北京”;请求语句“我要听周杰伦的歌”,领域是音乐,意图是音乐搜索,槽位信息是:槽位“singer”,槽位值是“周杰伦”。
可选地,在本实施例的一个可能的实现方式中,若基于第一个语义完整的中间识别结果进行语义解析得到的第一语义解析结果,无法确定请求语句是否会导致数据库状态变化,则可以查询该用户的上文信息,获取该用户发送的上一轮或者上几轮请求语句,例如第二轮用户发送请求语句“明天六点五十”的上一轮请求语句“给我定个闹钟”,结合该上一轮请求语句对应的第一个语义完整的中间识别结果对应的语义解析结果确定是否会导致数据库状态变化,针对上一轮请求语句的具体处理方式与针对当前请求语句的方式相同,此处不再赘述。
本公开的发明人通过研究发现,任务型对话处理(例如音乐点播、设定闹钟提醒)的执行结果,强依赖于语义解析的结果,本实施例通过语义解析结果中的意图,可以提前预知用户发送的请求语句是否会引起数据库的状态变化,例如定闹钟、删除闹钟等意图会进行数据库的写或删除操作,会引起数据库的状态变化;而查询天气等意图只是进行数据库检索的工作,并不会写、删除或者修改数据库中的内容,不会引起数据库的状态变化。
可选地,在本实施例的一个可能的实现方式中,对所述第一个语义完整的中间识别结果进行语义解析,得到第一语义解析结果之后,还可以包括:
响应于所述请求语句不会导致数据库的状态变化,且从所述至少一个中间识别结果中识别出第二个语义完整的中间识别结果,获取该第二个语义完整的中间识别结果的第二语义解析结果,该第二语义解析结果包括:意图。另外,第二语义解析结果还可以包括:领域和槽位信息;
确定第一语义解析结果与第二语义解析结果是否一致;
响应于第一语义解析结果与第二语义解析结果一致,播放所述第一答复语句;
否则,响应于第一语义解析结果与第二语义解析结果不一致,根据所述第二个语义完整的中间识别结果,确定第二答复语句。
基于本实施例,若请求语句不会导致数据库的状态变化,识别出前两个语义完整的中间识别结果且这前两个语义完整的中间识别结果的语义解析结果相同时,直接采用第一答复语句作为对话结果而不再针对第二个语义完整的中间识别结果调用对话服务,既可以通过提前拉取对话资源减少语音交互的响应时间,又可以减少对对话服务的重复调用,减少对话服务的请求量,节省对话服务的计算资源和存储资源、以及收费资源服务,从而降低成本。若这两个语义完整的中间识别结果的语义解析结果不一致,则说明用户的请求语句的内容尚未完整表述出来,二者对应的答复语句不同,此时便不再将第一答复语句作为回复用户的对话结果,而是将第二个语义完整的中间识别结果对应的第二答复语句作为可能的对话结果,以确定语义完整且用户请求信息准确、完整的中间识别结果,从而准确确定对用户的对话结果,提高对话结果的准确性。
可选地,在本实施例的一个可能的实现方式中,可以利用预先训练得到的语义解析模型,获取所述第一个语义完整的中间识别结果的第一语义解析结果,以及获取所述第二个语义完整的中间识别结果的第二语义解析结果。
本公开实施例中的语义解析模型,可以基于深度学习方式的神经网络模型实现,例如深度神经网络(Deep Neural Network,DNN)、长短期记忆(Long Short Term Memory,LSTM)、由LSTM和条件随机场(conditional random fields,CRF)构成的LSTM+CRF模型、基于多头注意力机制的模型(transformer)等,本公开实施例对此不做限制。
可选地,可以预先通过多个具有语义解析标注信息的训练样本训练得到所述语义解析模型。例如,在本实施例的一个可能的实现方式中,可以通过如下方式训练得到所述语义解析模型:
分别将至少一个训练样本中各训练样本输入待训练的语义解析模型,经所述待训练的语义解析模型输出各训练样本的语义解析预测结果。其中,所述语义解析预测结果包括:领域,意图和槽位信息;所述训练样本标注有语义解析标注信息,该语义解析标注信息包括:领域,意图和槽位信息;
基于各训练样本的语义解析预测结果与对应的语义解析标注信息之间的差异,对所述待训练的语义解析模型进行训练,即调整待训练的语义解析模型的网络参数,直至满足预设训练完成条件。
本公开实施例中,上述训练得到所述语义解析模型的过程可以是迭代操作,即迭代执行上述训练得到所述语义解析模型的过程,直至满足预设训练完成条件,即可由待训练的语义解析模型得到所述语义解析模型。其中的预设训练完成条件,例如可以包括但不限于以下任意一项或多项:上述多个训练样本的语义解析预测结果与对应的语义解析标注信息之间的差异小于预设差异阈值,或者迭代执行上述训练得到所述语义解析模型的过程的次数达到预设次数(例如2000次),等,本公开实施例对此不做限制。
可选地,在分别将至少一个训练样本中各训练样本输入待训练的语义解析模型之前,可以预先将各训练样本转换成嵌入(embedding)的形式,即将各训练样本由离散变量转变为连续向量的方式,以便于语义解析模型语义解析模型可以理解和更快处理。
可选地,在本实施例的一个可能的实现方式中,得到所述请求语句的最终识别结果之后,还可以响应于所述至少一个中间识别结果中任意两个相邻的语义完整的中间识别结果的语义解析结果均不一致,根据所述最终识别结果确定最终答复语句,并播放该最终答复语句,即执行上述操作202。
基于本实施例,可以在所述至少一个中间识别结果中任意两个相邻的语义完整的中间识别结果的语义解析结果均不一致时,根据请求语句的最终识别结果确定第二答复语句并播放,以确保语音交互结果的准确性,避免错误的语音交互结果影响用户体验。
图4是根据本公开实施例的一个应用实施例的示意图,如图4所示。以一个具体的语音交互过程为例,对本公开实施例做进一步的说明。
如图4所示,在一次完成的语音交互过程中,从用户发送请求语句的话音落到播放语交互装置返回的答复语句的话音起,会经历如下各阶段:
用户发出“明天六点五十”的请求语句,该请求语句的语音信号的尾音(即用户话音落的时刻)时刻为1;
在时刻1之后即进入VAD检测,即连续检测到第二预设时间t1的静音,直到到达时刻2,即VAD end点,语音交互的装置才会认为用户已经说完;
在时刻1之后经过第一预设时间到达时刻1.5,即得到至少一个中间识别结果,包括:A.明;B.明天;C.明天六点;D.明天六点五十;
依次识别上述各中间识别结果A、B、C、D的语义是否完整,识别出中间识别结果A的语义不完整,中间识别结果B、C、D的语义完整;
识别出中间识别结果B后,确定所述请求语句会导致数据库的状态变化,不根据中间识别结果B、C、D调用对话服务进行对话模型的计算和资源获取;
从时刻1经过第二预设时间达到时刻2(VAD end点),语音交互的装置持续检测到静音,认为用户已经说完,继续进行语音识别,到达时刻3,才得到最终识别结果:E.明天六点五十;
根据最终识别结果调用对话服务进行对话模型的计算和资源获取,得到最终答复文本,即语音合成(Text To Speech,tts)文本;
对该最终答复文本进行语音合成,得到最终答复语句“好的”,开始调用相应的系统接口,播放该最终答复语句,用户听到最终答复语句的播放音频。
否则,若用户发出“我想听稻香这首歌”的请求语句,该请求语句的语音信号的尾音(即用户话音落的时刻)时刻为1;
在时刻1之后即进入VAD检测,即连续检测到第二预设时间t1的静音,直到到达时刻2,即VAD end点,语音交互的装置才会认为用户已经说完;
在时刻1之后经过第一预设时间到达时刻1.5,即得到至少一个中间识别结果,包括:A.我;B.我想;C.我想听;D.我想听稻;E.我想听稻香;
依次识别上述各中间识别结果A、B、C、D、E的语义是否完整,识别出中间识别结果A、B、C、D的语义不完整,中间识别结果E的语义完整;
识别出中间识别结果E后,确定所述请求语句不会导致数据库的状态变化,则根据中间识别结果E调用对话服务进行对话模型的计算和资源获取,从时刻1.5经历时间t3后,在时刻4得到第一答复文本,即语音合成(Text To Speech,tts)文本;
对该第一答复文本进行语音合成,从时刻4经历时间t4后,在时刻5得到第一答复语句“好的”,开始调用相应的系统接口,播放该第一答复语句,经历时间t5到达时刻6,用户听到第一答复语句的播放音频;
同时,从时刻1经过第二预设时间达到时刻2(VAD end点),语音交互的装置持续检测到静音,认为用户已经说完,继续进行语音识别,到达时刻3,才得到最终识别结果:F.我想听稻香。
具体实现时,时刻6可能早于时刻3,也可以由于第二预设时间相对较短使得时刻6晚于时刻3,但是,由于中间识别结果E比最终识别结果F更早得到,会提前拉取对话资源从而减少语音交互的响应时间,使得用户可以更早的听到回复语句的音频,从而提高用户体验;同时,仅针对语义完整、且不会导致数据库的状态变化的中间识别结果调用对话服务,可以避免基于语义不完整的中间识别结果大量调用对话服务进行对话模型的计算和资源拉取,能够大幅度减少对对话服务的无效调用,减少对话服务的请求量,从而节省对话服务的计算资源和存储资源、以及收费资源服务,从而降低成本,同时可以避免在数据库中写入错误的任务、导致错误的任务被执行,从而提高语音交互结果的正确性。
本实施例中,只有在请求语句不会导致数据库的状态变化时,才根据第一个语义完整的中间识别结果确定第一答复语句,而在请求语句会导致数据库的状态变化时,不执行根据第一个语义完整的中间识别结果确定第一答复语句的操作,从而不会在数据库中写入相应的任务、导致错误的任务被执行,能够避免中间识别结果导致错误的任务执行,提高语音交互结果的正确性。
另外,在识别出第一个语义完整的中间识别结果、且请求语句不会导致数据库的状态变化时时,即根据所述第一个语义完整的中间识别结果调用对话服务确定第一答复语句以播放给用户,既可以通过提前拉取对话资源减少语音交互的响应时间,又可以避免基于语义不完整的中间识别结果大量调用对话服务进行对话模型的计算和资源拉取,能够大幅度减少对对话服务的无效调用,减少对话服务的请求量,从而节省对话服务的计算资源和存储资源、以及收费资源服务,从而降低成本。
另外,针对会导致数据库的状态变化的请求语句,不再基于中间识别结果调用对话服务,而是根据最终识别结果确定最终答复语句并播放,能够避免中间识别结果导致错误的任务执行,提高语音交互结果的正确性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本公开所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图5是根据本公开第四实施例的示意图,如图5所示。本实施例的语音交互的装置500可以包括语音识别单元501、第一确定单元502和第二确定单元503。其中,语音识别单元501,用于对用户发送的请求语句进行语音识别,在接收到所述请求语句后的第一预设时间内,得到至少一个中间识别结果,其中的第一预设时间的结束时刻,早于所述请求语句的语音活动检测的尾点时刻;第一确定单元502,用于基于从所述至少一个中间识别结果中识别出的第一个语义完整的中间识别结果,确定所述请求语句是否会导致数据库的状态变化;第二确定单元503,用于响应于所述请求语句不会导致数据库的状态变化,根据所述第一个语义完整的中间识别结果,确定第一答复语句。
需要说明的是,本实施例的语音交互的装置500的部分或全部可以为位于本地终端即服务提供商的终端设备的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,或者还可以为位于网络侧的分布式系统,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行特别限定。
图6是根据本公开第五实施例的示意图,如图6所示。在图5所示实施例的基础上,本实施例语音交互的装置600中还可以包括播放单元601。该实施例中,语音识别单元501,还可用于在接收到所述请求语句后的第二预设时间内,得到该请求语句的最终识别结果,其中的第二预设时间的结束时刻,晚于所述请求语句的语音活动检测的尾点时刻;第二确定单元503,还可用于响应于所述请求语句会导致数据库的状态变化,根据所述最终识别结果确定最终答复语句。播放单元601,用于播放所述最终答复语句。
可选地,再参见图6,本实施例语音交互的装置600中还可以包括比较单元602,用于响应于所述请求语句会导致数据库的状态变化,比较所述第一个语义完整的中间识别结果与所述最终识别结果后是否一致。相应地,播放单元601,还可用于响应于所述第一个语义完整的中间识别结果与所述最终识别结果一致,播放所述第一答复语句。
可选地,再参见图6,本实施例语音交互的装置600中还可以包括第三确定单元603和发送单元604。其中,第三确定单元603,用于基于所述最终识别结果确定待执行任务的信息并写入所述数据库;发送单元604,用于响应于达到所述待执行任务的信息中的任务执行条件,向用户设备发送执行所述待执行任务的通知消息。
可选地,再参见图6,本实施例语音交互的装置600中还可以包括语义完整识别单元605,用于响应于得到所述至少一个中间识别结果中的第一个中间识别结果,按照得到所述至少一个中间识别结果的时间顺序,依次识别所述至少一个中间识别结果的语义是否完整。相应地,第一确定单元502,具体用于响应于从所述至少一个中间识别结果中识别出第一个语义完整的中间识别结果,执行所述基于从所述至少一个中间识别结果中识别出的第一个语义完整的中间识别结果,确定所述请求语句是否会导致数据库的状态变化的操作;第二确定单元503,具体用于响应于从所述至少一个中间识别结果中未识别出语义完整的中间识别结果,执行所述根据所述最终识别结果确定最终答复语句的操作;播放单元601,具体用于执行播放所述最终答复语句的操作。
可选地,在本实施例的一个可能的实现方式中,第一确定单元501,具体用于:对所述第一个语义完整的中间识别结果进行语义解析,得到第一语义解析结果,该第一语义解析结果包括:意图;基于该意图确定所述请求语句是否会导致数据库状态变化。
可选地,在本实施例的一个可能的实现方式中,第一确定单元501,还可用于响应于所述请求语句不会导致数据库的状态变化,且从所述至少一个中间识别结果中识别出第二个语义完整的中间识别结果,获取该第二个语义完整的中间识别结果的第二语义解析结果,该第二语义解析结果包括:意图;以及确定第一语义解析结果与第二语义解析结果是否一致。相应地,播放单元601,具体用于响应于第一语义解析结果与第二语义解析结果一致,播放所述第一答复语句;第二确定单元503,还用于响应于所述第一语义解析结果与所述第二语义解析结果不一致,根据所述第二个语义完整的中间识别结果,确定第二答复语句。
可选地,在本实施例的一个可能的实现方式中,第二确定单元503,还可用于响应于所述至少一个中间识别结果中任意两个相邻的语义完整的中间识别结果的语义解析结果均不一致,根据所述最终识别结果确定最终答复语句;播放单元601,还可用于播放该最终答复语句。
本实施例中,只有在请求语句不会导致数据库的状态变化时,才根据第一个语义完整的中间识别结果确定第一答复语句,而在请求语句会导致数据库的状态变化时,不执行根据第一个语义完整的中间识别结果确定第一答复语句的操作,从而不会在数据库中写入相应的任务、导致错误的任务被执行,能够避免中间识别结果导致错误的任务执行,提高语音交互结果的正确性。
另外,在识别出第一个语义完整的中间识别结果、且请求语句不会导致数据库的状态变化时时,即根据所述第一个语义完整的中间识别结果调用对话服务确定第一答复语句以播放给用户,既可以通过提前拉取对话资源减少语音交互的响应时间,又可以避免基于语义不完整的中间识别结果大量调用对话服务进行对话模型的计算和资源拉取,能够大幅度减少对对话服务的无效调用,减少对话服务的请求量,从而节省对话服务的计算资源和存储资源、以及收费资源服务,从而降低成本。
另外,针对会导致数据库的状态变化的请求语句,不再基于中间识别结果调用对话服务,而是根据最终识别结果确定最终答复语句并播放,能够避免中间识别结果导致错误的任务执行,提高语音交互结果的正确性。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品,进一步地,还提供了一种包括所提供的电子设备的人工智能设备。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如语音交互的方法。例如,在一些实施例中,语音交互的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的语音交互的方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行语音交互的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种语音交互的方法,包括:
对用户发送的请求语句进行语音识别,在接收到所述请求语句后的第一预设时间内,得到至少一个中间识别结果;其中,所述第一预设时间的结束时刻,早于所述请求语句的语音活动检测的尾点时刻;
基于从所述至少一个中间识别结果中识别出的第一个语义完整的中间识别结果,确定所述请求语句是否会导致数据库的状态变化;
响应于所述请求语句不会导致所述数据库的状态变化,根据所述第一个语义完整的中间识别结果,确定第一答复语句。
2.根据权利要求1所述的方法,还包括:
在接收到所述请求语句后的第二预设时间内,得到所述请求语句的最终识别结果,其中,所述第二预设时间的结束时刻,晚于所述请求语句的语音活动检测的尾点时刻;
响应于所述请求语句会导致所述数据库的状态变化,根据所述最终识别结果确定最终答复语句,并播放所述最终答复语句。
3.根据权利要求1所述的方法,还包括:
根据所述第一个语义完整的中间识别结果,确定第一答复语句;
在接收到所述请求语句后的第二预设时间内,得到所述请求语句的最终识别结果,其中,所述第二预设时间的结束时刻,晚于所述请求语句的语音活动检测的尾点时刻;
响应于所述请求语句会导致所述数据库的状态变化,比较所述第一个语义完整的中间识别结果与所述最终识别结果后是否一致;
响应于所述第一个语义完整的中间识别结果与所述最终识别结果一致,播放所述第一答复语句。
4.根据权利要求2或3所述的方法,其中,所述得到所述请求语句的最终识别结果之后,还包括:
基于所述最终识别结果确定待执行任务的信息并写入所述数据库;
响应于达到所述待执行任务的信息中的任务执行条件,向用户设备发送执行所述待执行任务的通知消息。
5.根据权利要求2-4中任一项所述的方法,还包括:
响应于得到所述至少一个中间识别结果中的第一个中间识别结果,按照得到所述至少一个中间识别结果的时间顺序,依次识别所述至少一个中间识别结果的语义是否完整;
响应于从所述至少一个中间识别结果中识别出第一个语义完整的中间识别结果,执行所述基于从所述至少一个中间识别结果中识别出的第一个语义完整的中间识别结果,确定所述请求语句是否会导致数据库的状态变化的操作;
响应于从所述至少一个中间识别结果中未识别出语义完整的中间识别结果,执行所述根据所述最终识别结果确定最终答复语句,并播放所述最终答复语句的操作。
6.根据权利要求1-5中任一项所述的方法,其中,所述确定所述请求语句是否会导致数据库状态变化,包括:
对所述第一个语义完整的中间识别结果进行语义解析,得到第一语义解析结果,所述第一语义解析结果包括:意图;
基于所述意图确定所述请求语句是否会导致数据库状态变化。
7.根据权利要求6所述的方法,其中,所述对所述第一个语义完整的中间识别结果进行语义解析,得到第一语义解析结果之后,还包括:
响应于所述请求语句不会导致所述数据库的状态变化,且从所述至少一个中间识别结果中识别出第二个语义完整的中间识别结果,获取所述第二个语义完整的中间识别结果的第二语义解析结果,所述第二语义解析结果包括:意图;
确定所述第一语义解析结果与所述第二语义解析结果是否一致;
响应于所述第一语义解析结果与所述第二语义解析结果一致,播放所述第一答复语句;
响应于所述第一语义解析结果与所述第二语义解析结果不一致,根据所述第二个语义完整的中间识别结果,确定第二答复语句。
8.根据权利要求7所述的方法,其中,所述得到所述请求语句的最终识别结果之后,还包括:
响应于所述至少一个中间识别结果中任意两个相邻的语义完整的中间识别结果的语义解析结果均不一致,执行所述根据所述最终识别结果确定最终答复语句,并播放所述最终答复语句的操作。
9.一种语音交互的装置,包括:
语音识别单元,用于对用户发送的请求语句进行语音识别,在接收到所述请求语句后的第一预设时间内,得到至少一个中间识别结果;其中,所述第一预设时间的结束时刻,早于所述请求语句的语音活动检测的尾点时刻;
第一确定单元,用于基于从所述至少一个中间识别结果中识别出的第一个语义完整的中间识别结果,确定所述请求语句是否会导致数据库的状态变化;
第二确定单元,用于响应于所述请求语句不会导致所述数据库的状态变化,根据所述第一个语义完整的中间识别结果,确定第一答复语句。
10.根据权利要求9所述的装置,其中,
所述语音识别单元,还用于在接收到所述请求语句后的第二预设时间内,得到所述请求语句的最终识别结果,其中,所述第二预设时间的结束时刻,晚于所述请求语句的语音活动检测的尾点时刻;
所述第二确定单元,还用于响应于所述请求语句会导致所述数据库的状态变化,根据所述最终识别结果确定最终答复语句;
所述装置还包括:
播放单元,用于播放所述最终答复语句。
11.根据权利要求10所述的装置,还包括:
比较单元,用于响应于所述请求语句会导致所述数据库的状态变化,比较所述第一个语义完整的中间识别结果与所述最终识别结果后是否一致;
所述播放单元,还用于响应于所述第一个语义完整的中间识别结果与所述最终识别结果一致,播放所述第一答复语句。
12.根据权利要求10或11所述的装置,其中,所述得到所述请求语句的最终识别结果之后,还包括:
第三确定单元,用于基于所述最终识别结果确定待执行任务的信息并写入所述数据库;
发送单元,用于响应于达到所述待执行任务的信息中的任务执行条件,向用户设备发送执行所述待执行任务的通知消息。
13.根据权利要求10-12中任一项所述的装置,还包括:
语义完整识别单元,用于响应于得到所述至少一个中间识别结果中的第一个中间识别结果,按照得到所述至少一个中间识别结果的时间顺序,依次识别所述至少一个中间识别结果的语义是否完整;
所述第一确定单元,具体用于响应于从所述至少一个中间识别结果中识别出第一个语义完整的中间识别结果,执行所述基于从所述至少一个中间识别结果中识别出的第一个语义完整的中间识别结果,确定所述请求语句是否会导致数据库的状态变化的操作;
所述第二确定单元,具体用于响应于从所述至少一个中间识别结果中未识别出语义完整的中间识别结果,执行所述根据所述最终识别结果确定最终答复语句的操作;
所述播放单元,具体用于执行播放所述最终答复语句的操作。
14.根据权利要求9-13中任一项所述的装置,其中,所述第一确定单元,具体用于:
对所述第一个语义完整的中间识别结果进行语义解析,得到第一语义解析结果,所述第一语义解析结果包括:意图;
基于所述意图确定所述请求语句是否会导致数据库状态变化。
15.根据权利要求14所述的装置,其中,
所述第一确定单元,还用于响应于所述请求语句不会导致所述数据库的状态变化,且从所述至少一个中间识别结果中识别出第二个语义完整的中间识别结果,获取所述第二个语义完整的中间识别结果的第二语义解析结果,所述第二语义解析结果包括:意图;以及确定所述第一语义解析结果与所述第二语义解析结果是否一致;
所述播放单元,具体用于响应于所述第一语义解析结果与所述第二语义解析结果一致,播放所述第一答复语句;
所述第二确定单元,还用于响应于所述第一语义解析结果与所述第二语义解析结果不一致,根据所述第二个语义完整的中间识别结果,确定第二答复语句。
16.根据权利要求15所述的装置,其中,
所述第二确定单元,还用于响应于所述至少一个中间识别结果中任意两个相邻的语义完整的中间识别结果的语义解析结果均不一致,根据所述最终识别结果确定最终答复语句;
所述播放单元,还用于播放所述最终答复语句。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111338960.5A CN114299955B (zh) | 2021-11-12 | 2021-11-12 | 语音交互的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111338960.5A CN114299955B (zh) | 2021-11-12 | 2021-11-12 | 语音交互的方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114299955A true CN114299955A (zh) | 2022-04-08 |
CN114299955B CN114299955B (zh) | 2022-09-23 |
Family
ID=80963895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111338960.5A Active CN114299955B (zh) | 2021-11-12 | 2021-11-12 | 语音交互的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114299955B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114822540A (zh) * | 2022-06-29 | 2022-07-29 | 广州小鹏汽车科技有限公司 | 车辆语音交互方法、服务器和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080154870A1 (en) * | 2006-12-26 | 2008-06-26 | Voice Signal Technologies, Inc. | Collection and use of side information in voice-mediated mobile search |
US9558740B1 (en) * | 2015-03-30 | 2017-01-31 | Amazon Technologies, Inc. | Disambiguation in speech recognition |
US20190027135A1 (en) * | 2017-07-18 | 2019-01-24 | Samsung Electronics Co., Ltd. | Method for operating speech recognition service and electronic device and server for supporting the same |
CN111583933A (zh) * | 2020-04-30 | 2020-08-25 | 北京猎户星空科技有限公司 | 一种语音信息的处理方法、装置、设备及介质 |
CN112466302A (zh) * | 2020-11-23 | 2021-03-09 | 北京百度网讯科技有限公司 | 语音交互的方法、装置、电子设备和存储介质 |
CN113053392A (zh) * | 2021-03-26 | 2021-06-29 | 京东数字科技控股股份有限公司 | 语音识别方法、语音识别装置、电子设备及介质 |
WO2021208703A1 (zh) * | 2020-11-19 | 2021-10-21 | 平安科技(深圳)有限公司 | 问题解析方法、装置、电子设备及存储介质 |
-
2021
- 2021-11-12 CN CN202111338960.5A patent/CN114299955B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080154870A1 (en) * | 2006-12-26 | 2008-06-26 | Voice Signal Technologies, Inc. | Collection and use of side information in voice-mediated mobile search |
US9558740B1 (en) * | 2015-03-30 | 2017-01-31 | Amazon Technologies, Inc. | Disambiguation in speech recognition |
US20190027135A1 (en) * | 2017-07-18 | 2019-01-24 | Samsung Electronics Co., Ltd. | Method for operating speech recognition service and electronic device and server for supporting the same |
CN111583933A (zh) * | 2020-04-30 | 2020-08-25 | 北京猎户星空科技有限公司 | 一种语音信息的处理方法、装置、设备及介质 |
WO2021208703A1 (zh) * | 2020-11-19 | 2021-10-21 | 平安科技(深圳)有限公司 | 问题解析方法、装置、电子设备及存储介质 |
CN112466302A (zh) * | 2020-11-23 | 2021-03-09 | 北京百度网讯科技有限公司 | 语音交互的方法、装置、电子设备和存储介质 |
CN113053392A (zh) * | 2021-03-26 | 2021-06-29 | 京东数字科技控股股份有限公司 | 语音识别方法、语音识别装置、电子设备及介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114822540A (zh) * | 2022-06-29 | 2022-07-29 | 广州小鹏汽车科技有限公司 | 车辆语音交互方法、服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114299955B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11217236B2 (en) | Method and apparatus for extracting information | |
CN113327609B (zh) | 用于语音识别的方法和装置 | |
CN111428010B (zh) | 人机智能问答的方法和装置 | |
CN110019742B (zh) | 用于处理信息的方法和装置 | |
US20210125600A1 (en) | Voice question and answer method and device, computer readable storage medium and electronic device | |
CN104142909A (zh) | 一种汉字注音方法及装置 | |
CN110956955B (zh) | 一种语音交互的方法和装置 | |
CN114840671A (zh) | 对话生成方法、模型的训练方法、装置、设备及介质 | |
CN113674742B (zh) | 人机交互方法、装置、设备以及存储介质 | |
CN112669842A (zh) | 人机对话控制方法、装置、计算机设备及存储介质 | |
CN112767916A (zh) | 智能语音设备的语音交互方法、装置、设备、介质及产品 | |
CN116521841A (zh) | 用于生成回复信息的方法、装置、设备及介质 | |
CN114299955B (zh) | 语音交互的方法、装置、电子设备及存储介质 | |
CN114171016B (zh) | 语音交互的方法、装置、电子设备及存储介质 | |
JP7182584B2 (ja) | スピーチ理解における解析異常の情報を出力するための方法 | |
CN113611316A (zh) | 人机交互方法、装置、设备以及存储介质 | |
CN114299941B (zh) | 语音交互的方法、装置、电子设备及存储介质 | |
CN114187903A (zh) | 语音交互的方法、装置、系统、电子设备及存储介质 | |
CN113360590B (zh) | 兴趣点信息的更新方法、装置、电子设备及存储介质 | |
CN114078478B (zh) | 语音交互的方法、装置、电子设备及存储介质 | |
CN113421565A (zh) | 搜索方法、装置、电子设备以及存储介质 | |
CN111883126A (zh) | 数据处理方式的选择方法、装置及电子设备 | |
CN114360532A (zh) | 语音交互的方法、装置、电子设备及存储介质 | |
CN114512125A (zh) | 语音交互的系统、方法、设备及介质 | |
CN107967308A (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 |