1.本公开涉及人工智能中的语音技术、自然语言处理技术领域,尤其涉及一种语音处理方法、装置、设备、存储介质及程序。
背景技术:2.随着人工智能技术的发展,越来越多的终端设备支持语音交互功能。在语音交互过程,用户向终端设备输入语音信息,终端设备向用户输出与语音信息对应的应答信息。
3.相关技术中,语音交互场景中对语音信息的处理过程为:终端设备在接收到完整语音信息后,将完整的语音信息发送至服务器。服务器对完整的语音信息进行意图识别得到用户意图,根据用户意图获取对应的应答信息,并将应答信息发送给终端设备。进而,终端设备向用户输出应答信息。
4.然而,上述相关技术中,语音交互时延较高。
技术实现要素:5.本公开提供了一种语音处理方法、装置、设备、存储介质及程序。
6.根据本公开的第一方面,提供了一种语音处理方法,包括:
7.在接收第一语音信息的过程中,向服务器发送至少一个语音意图,每个语音意图为所述第一语音信息中的部分语音信息对应的语音意图;
8.响应于接收完成所述第一语音信息,向所述服务器发送所述第一语音信息;
9.从所述服务器接收第一语音意图对应的应答信息,所述应答信息为所述服务器在接收到所述第一语音意图后确定的,所述第一语音意图与所述第一语音信息对应的第二语音意图相同,所述至少一个语音意图包括所述第一语音意图;
10.输出所述应答信息。
11.根据本公开的第二方面,提供了一种语音处理方法,包括:
12.接收终端设备在接收第一语音信息的过程中发送的至少一个语音意图,并获取所述至少一个语音意图对应的应答信息,每个语音意图为所述第一语音信息中的部分语音信息对应的语音意图;
13.接收所述终端设备发送的所述第一语音信息,并获取所述第一语音信息对应的第二语音意图;
14.向所述终端设备发送第一语音意图对应的应答信息,所述第一语音意图为所述至少一个语音意图中与所述第二语音意图相同的语义意图。
15.根据本公开的第三方面,提供了一种语音处理装置,包括:发送模块、接收模块和输出模块;
16.所述发送模块,用于在接收第一语音信息的过程中,向服务器发送至少一个语音意图,每个语音意图为所述第一语音信息中的部分语音信息对应的语音意图;
17.所述发送模块,还用于响应于接收完成所述第一语音信息,向所述服务器发送所
述第一语音信息;
18.所述接收模块,用于从所述服务器接收第一语音意图对应的应答信息,所述应答信息为所述服务器在接收到所述第一语音意图后确定的,所述第一语音意图与所述第一语音信息对应的第二语音意图相同,所述至少一个语音意图包括所述第一语音意图;
19.所述输出模块,用于输出所述应答信息。
20.根据本公开的第四方面,提供了一种语音处理装置,包括:接收模块、获取模块和发送模块;
21.所述接收模块,用于接收终端设备在接收第一语音信息的过程中发送的至少一个语音意图;
22.所述获取模块,用于获取所述至少一个语音意图对应的应答信息,每个语音意图为所述第一语音信息中的部分语音信息对应的语音意图;
23.所述接收模块,还用于接收所述终端设备发送的所述第一语音信息;
24.所述获取模块,还用于获取所述第一语音信息对应的第二语音意图;
25.所述发送模块,用于向所述终端设备发送第一语音意图对应的应答信息,所述第一语音意图为所述至少一个语音意图中与所述第二语音意图相同的语义意图。
26.根据本公开的第五方面,提供了一种电子设备,包括:
27.至少一个处理器;以及
28.与所述至少一个处理器通信连接的存储器;其中,
29.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面任一项所述的方法,或者,执行第二方面任一项所述的方法。
30.根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据第一方面任一项所述的方法,或者,执行第二方面任一项所述的方法。
31.根据本公开的第七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法,或者,执行第二方面所述的方法。
32.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
33.附图用于更好地理解本方案,不构成对本公开的限定。其中:
34.图1为语音交互场景的示意图;
35.图2为相关技术中语音交互时延的示意图;
36.图3为本公开实施例提供的一种语音处理方法的交互流程示意图;
37.图4为本公开实施例提供的另一种语音处理方法的交互流程示意图;
38.图5为本公开实施例提供的一种语音处理过程的示意图;
39.图6为本公开实施例提供的另一种语音处理过程的示意图;
40.图7为本公开实施例中语音交互时延的示意图;
41.图8为本公开实施例提供的一种语音处理装置的结构示意图;
42.图9为本公开实施例提供的另一种语音处理装置的结构示意图;
43.图10为本公开实施例提供的电子设备的结构示意图。
具体实施方式
44.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
45.本公开提供一种语音处理方法、装置、设备、存储介质及程序,应用于人工智能中的语音技术、自然语言处理技术领域,以降低语音交互时延。
46.本公开实施例适用于语音交互场景。图1为语音交互场景的示意图。如图1所示,该场景包括终端设备10和服务器20。终端设备10和服务器20之间通过网络连接。终端设备10提供有语音交互功能。用户向终端设备10输入语音信息。终端设备10接收到语音信息后,通过与服务器20的交互获取语音信息对应的应答信息。进而,终端设备10向用户输出应答信息。
47.举例而言,参见图1,用户向终端设备10输入语音信息“深圳今天的天气怎么样”。终端设备10向用户输出应答信息“深圳今天晴,温度10
‑
20度”。
48.本实施例中,终端设备10可以是支持语音交互功能的任意电子设备,包括但不限于:智能音箱、智能手机、车载语音设备、智能家具、智能穿戴设备等。服务器20可以是提供有语义解析功能的服务器。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
49.相关技术中,上述语音交互场景对语音信息的处理过程为:终端设备在接收到完整语音信息后,将完整的语音信息发送至服务器。其中,完整的语音信息是指用户表达的一句完整语句,例如:“深圳今天的天气怎么样”,或者,“深圳今天会不会下雨”等。服务器对完整的语音信息进行意图识别得到用户意图,根据用户意图获取对应的应答信息,并将应答信息发送给终端设备。进而,终端设备向用户输出应答信息。
50.然而,发明人在实现本公开的过程中发现,上述相关技术中,语音交互时延较高。本公开实施例中,语音交互时延是指:从用户说出语音信息,到用户接收到应答信息之间的时长。图2为相关技术中语音交互时延的示意图。在用户说出“深圳今天的天气怎么样”以后,需要等待一段时间才能听到“深圳今天晴,温度10
‑
20度”,该段时间即为语音交互时延。
51.参见图2,上述相关技术中,终端设备在接收到完整的语音信息之后,将完整的语音信息发送至服务器,服务器对完整的语音信息进行意图识别得到用户意图,根据用户意图获取对应的应答信息,并将应答信息发送给终端设备。发明人对上述过程中各处理阶段的耗时进行分析发现,服务器获取对应的应答信息的耗时较长。原因在于服务器根据用户意图获取对应的应答信息时,通常需要与第三方资源服务器进行交互。例如,当用户意图为
“
查询深圳今天的天气”时,服务器需要向天气服务器发送查询请求,并从天气服务器接收查询到的天气信息(该天气信息即为用户意图对应的应答信息)。这样,服务器根据用户意图获取对应的应答信息所需时长,一方面取决于服务器与第三方资源服务器之间的网络通信时延,另一方面取决于第三方资源服务器获取应答信息所需时长。
52.为了解决上述相关技术中语音交互时延较高的问题,本公开发明人在上述分析的基础上,创造性地提出了如下发明构思:在接收用户输入的语音信息的过程中,提前预测得到用户意图,并基于该用户意图提前获取对应的应答信息,这样,在接收到完整的语音信息之后,若上述提前预测到的用户意图准确,则可以直接输出该应答信息。这样,通过提前预测用户意图并提前获取预测意图对应的应答信息,降低了语音交互时延。
53.下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
54.图3为本公开实施例提供的一种语音处理方法的交互流程示意图。本实施例的方法由终端设备和服务器交互执行。如图3所示,本实施例的方法包括:
55.s301:终端设备在接收第一语音信息的过程中,向服务器发送至少一个语音意图,每个语音意图为所述第一语音信息中的部分语音信息对应的语音意图。
56.s302:服务器获取所述至少一个语音意图对应的应答信息。
57.其中,第一语音信息为用户向终端设备输入的语音信息。例如,第一语音信息可以为图1中用户输入的“深圳今天的天气怎么样”。第一语音信息中的部分语音信息是指第一语音信息中的某一部分音节,例如“深圳”、“深圳今天”“深圳今天的天气”等。应答信息是指终端设备需要向用户输出的内容。例如,应答信息可以为图1中终端设备输出的“深圳今天晴,温度10
‑
20度”。
58.本实施例中,终端设备在接收用户输入的第一语音信息的过程中,对当前已接收的部分语音信息进行意图预测,得到至少一个语音意图。每个语音意图为所述第一语音信息中的部分语音信息对应的语音意图。当终端设备向服务器发送的语音意图的数量为多个时,该多个语音意图可以是第一语音信息中的不同部分语音信息对应的语音意图。
59.一种可能的实现方式中,终端设备可以对当前接收的部分语音信息进行实时地意图预测。举例而言,终端设备接收到用户输入的“深”时,对“深”进行意图预测。终端设备接收到用户输入的“深圳”时,对“深圳”进行意图预测。终端设备接收到用户输入的“深圳今”时,对“深圳今”进行意图预测。终端设备接收到用户输入的“深圳今天”时,对“深圳今天”进行意图预测。以此类推。
60.另一种可能的实现方式中,终端设备可以按照预设时间间隔,每隔预设时间间隔对当前接收到的部分语音信息进行意图预测。应理解的是,由于用户说话语速可能变化,终端设备在不同预设时间间隔内接收到的音节数量可能相同也可能不同。举例而言,终端设备在第一个预设时间间隔内接收到“深圳”,则对“深圳”进行意图预测。终端设备在第二个预设时间间隔内接收到“今天的天气”,则对“深圳今天的天气”进行意图预测。
61.又一种可能的实现方式中,终端设备可以按照预设音节数量,每当检测到新接收到音节数量大于或者等于预设音节数量时,对当前接收到的部分语音信息进行意图预测。例如,假设每新接收到2个音节进行一次意图预测,则在终端设备接收到“深圳”、“深圳今天”、“深圳今天的天”等时,对当前已接收到的部分语音信息进行意图预测。
62.应理解的是,上述各实现方式中,终端设备对当前接收的部分语音信息进行意图预测时,可能预测到语音意图,也可能预测不到语音意图。例如,终端设备针对“深”、“深圳”进行意图预测时,很难预测到语音意图。终端设备针对“深圳今天的天气”进行意图预测时,能够预测得到语音意图是“查询深圳今天的天气”。
63.可选的,终端设备在预测得到语音意图的情况下,还可以预测出该语音意图的得分,得分用于指示语音意图准确的概率。例如,终端设备针对“深圳今天”进行意图预测时,预测得到如下两个语音意图“查询深圳今天的天气”和“查询深圳今天的交通”,其中,“查询深圳今天的天气”的得分为0.5,“查询深圳今天的交通”的得分为0.5。
64.基于上述终端设备的意图预测过程,进一步的,终端设备在接收第一语音信息的过程中,可以向服务器发送一个语音意图,也可以向服务器发送多个语音意图。下面结合几种可能的实现方式进行说明。
65.一种可能的实现方式中,终端设备可以按照上述提及的各实现方式进行意图预测,直至预测得到一个语音意图,则将该预测意图发送至服务器。在向服务器发送一个语音意图之后,停止后续的意图预测过程。该实现方式中,在终端设备接收第一语音信息的过程中,终端设备只会向服务器发送一个语音意图。这样,后续流程中,服务器只需要针对这一个语音意图提前获取对应的应答信息,不会对服务器带来较大的处理负荷。
66.上述实现方式中,终端设备可以按照上述提及的各实现方式进行意图预测,直至预测得到一个得分较高(例如,得分高于预设阈值)的语音意图,则将该得分较高的语音意图发送至服务器。在向服务器发送一个语音意图之后,停止后续的意图预测过程。该实现方式中,在终端设备接收第一语音信息的过程中,终端设备只会向服务器发送一个语音意图。这样,后续流程中,服务器只需要针对这一个语音意图提前获取对应的应答信息,不会对服务器带来较大的处理负荷。另外,由于终端设备向服务器发送的是得分较高的语音意图,保证了语音意图的准确性,进而保证了后续流程中服务器提前获取的应答信息的准确性。
67.又一种可能的实现方式中,终端设备可以按照上述提及的各实现方式进行意图预测,在预测得到语音意图,或者预测得到得分较高(例如,得分高于预设阈值)的语音意图后,将该语音意图发送至服务器。然后继续后续的意图预测过程。也就是说,在终端设备接收第一语音信息的过程中,终端设备会向服务器先后发送多个语音意图。进而,服务器可以针对每个语音意图分别获取对应的应答信息,即,提前获取所有可能需要的应答信息,保证了提前获取的应答信息的准确性和完备性。
68.上述各实现方式中,服务器接收到终端设备发送的语音意图后,可以获取该语音意图对应的应答信息。进一步的,还可以对应答信息进行存储。
69.其中,服务器获取语音意图对应的应答信息时,可以通过与第三方资源服务器进行交互获取。例如,若语音意图为“查询深圳今天的天气”,则服务器可以向天气服务器发送查询请求,进而从天气服务器接收查询到的天气信息,将该天气信息作为应答信息,并进行存储。
70.需要说明的是,在终端设备向服务器发送多个语音意图的情况下,本实施例s301中,终端设备先后向服务器发送多个语音意图。例如,终端设备在接收第一语音信息的过程中,当终端设备预测得到语音意图1后,向服务器发送语音意图1;后续过程中当终端设备预测得到语音意图2后,向服务器发送语音意图2。相应的,服务器从终端设备先后接收到多个
语音意图,每次接收到一个语音意图后,便获取该该语音意图对应的应答信息。
71.这样,终端设备每次预测到一个语音意图,则及时向服务器发送该语音意图,使得服务器可以及时获取该语义意图对应的应答信息,确保能够降低语音交互时延。
72.s303:终端设备响应于接收完成所述第一语音信息,向所述服务器发送所述第一语音信息。
73.也就是说,终端设备在接收到完整的第一语音信息后,向服务器发送完整的第一语音信息。
74.应理解的是,终端设备接收到的第一语音信息为音频形式,终端设备可以直接将音频形式的第一语音信息发送至服务器。或者,终端设备可以利用语音识别技术,对第一语音信息进行语音识别转换为文本形式,进而将文本形式的第一语音信息发送至服务器。
75.s304:服务器获取所述第一语音信息对应的第二语音意图。
76.服务器从终端设备接收到完整的第一语音信息后,对第一语音信息进行意图识别处理,得到第二语音意图。由于服务器是对完整的第一语音信息进行意图识别处理,因此识别到的第二语音意图能够反映用户的真实意图。
77.可能的实现方式中,服务器中部署有意图识别模型。意图识别模型具有语义解析能力。服务器接收到完整的第一语音信息后,将第一语音信息输入到意图识别模型,通过意图识别模型进行语义解析处理,从而得到第二语音意图。
78.s305:服务器向终端设备发送第一语音意图对应的应答信息,所述第一语音意图为所述至少一个语音意图中与所述第二语音意图相同的语义意图。
79.具体而言,服务器在获取到第一语音信息对应的第二语音意图之后,将第二语音意图与终端设备发送的所述至少一个语音意图进行比对,从所述至少一个语音意图中确定出第一语音意图,所述第一语音意图与所述第二语音意图相同。也就是说,第一语音意图是所述至少一个语音意图中预测准确的语义意图。进而,服务器将所述第一语音意图对应的应答信息发送至终端设备。
80.本实施例s303至s305中,终端设备在接收到第一语音信息之后,将第一语音信息发送至服务器,服务器获取所述第一语音信息对应的第二语音意图。由于服务器已提前获取了所述至少一个语音意图对应的应答信息,因此,只需要从所述至少一个语音意图中找到与第二语音意图相同的第一语音意图,直接向终端设备发送第一语音意图对应的应答信息即可。这样,在终端设备接收到第一语音信息之后,服务器不再需要与第三方资源服务器交互以获取应答信息,从而降低语音交互时延。
81.s306:终端设备输出所述第一语音意图对应的应答信息。
82.示例性的,终端设备可以采用语音形式输出应答信息,也可以采用文本形式输出应答信息,还用图文形式输出应答信息,本实施例对此不作限定。
83.本实施例提供的语音处理方法,包括:终端设备在接收第一语音信息的过程中,向服务器发送至少一个语音意图,每个语音意图为所述第一语音信息中的部分语音信息对应的语音意图;服务器获取所述至少一个语音意图对应的应答信息;终端设备响应于接收完成所述第一语音信息,向所述服务器发送所述第一语音信息;服务器获取所述第一语音信息对应的第二语音意图,向终端设备发送第一语音意图对应的应答信息,所述第一语音意图为所述至少一个语音意图中与所述第二语音意图相同的语义意图;终端设备输出所述应
答信息。上述过程中,终端设备在接收第一语音信息的过程中,可以提前预测出至少一个语音意图,并使得服务器可以提前获取各语音意图对应的应答信息。这样,在终端设备接收到第一语音信息之后,服务器可以向终端设备返回提前获取的应答信息,从而降低了语音交互时延。
84.在上述实施例的基础上,下面结合具体的实施例,对终端设备提前预测语音意图,以及服务器提前获取应答信息的过程进行详细说明。
85.本实施例中,终端设备在接收第一语音信息的过程中,会先后接收到n个部分语音信息。其中,每次接收到的部分语音信息是指从第一语音信息的第一个音节到当前接收到的音节之间的语音信息。这样,第i+1部分语音信息包括第i部分语音信息。所述第一语音信息对应语音时长与第n部分语音信息对应的语音时长之间的差值小于或等于第一阈值,或者,所述第一语音信息对应的音节数量与所述第n部分语音信息对应的音节数量的差值小于或等于第二阈值。其中,上述的音节可以对应用户表达的一个单词或者字。例如,以中文为例,用户说出的每个字对应一个音节。
86.举例而言,终端设备在接收“深圳今天的天气怎么样”的过程中,先后接收到:第1部分语音信息“深”、第2部分语音信息“深圳”、第3部分语音信息“深圳今”、第4部分语音信息“深圳今天”、第5部分语音信息“深圳今天的”、第6部分语音信息“深圳今天的天”、第7部分语音信息“深圳今天的天气”、第8部分语音信息“深圳今天的天气怎”、第9部分语音信息“深圳今天的天气怎么”。
87.应理解的是,上述对各部分语音信息的举例仅为示例,还可以存在其他形式,本实施例对此不作限定。例如,当终端设备按照预设时间间隔进行意图预测时,各部分语音信息可以为:第1部分语音信息“深圳”、第2部分语音信息“深圳今天的天气”、第3部分语音信息“深圳今天的天气怎么”。又例如,当终端设备按照预设音节数量进行意图预测时,各部分语音信息可以为:第1部分语音信息“深圳”、第2部分语音信息“深圳今天”、第3部分语音信息“深圳今天的天”、第4部分语音信息“深圳今天的天气怎”。
88.作为一种可能的实现方式,在终端设备接收第一语音信息的过程中,可以采用图4所示实施例的方法提前预测语音意图,并提前获取应答信息。
89.图4为本公开实施例提供的另一种语音处理方法的交互流程示意图。本实施例的方法在终端设备接收第一语音信息的过程中执行。在具体执行过程中,i依次取1、2、3、
…
、n。如图4所示,本实施例的方法包括:
90.s401:终端设备在接收到第i部分语音信息后,确定所述第i部分语音信息对应的第i语音意图。
91.本实施例中,终端设备可以部署有意图预测模型,意图预测模型具有对部分语音信息进行意图预测的功能,可以利用意图预测模型对第i部分语音信息进行意图预测。
92.一种可能的实现方式中,将所述第i部分语音信息输入意图预测模型,获取意图预测模型输出的多个预测意图对应的概率;根据所述多个预测意图对应的概率,确定所述第i部分语音信息对应的第i语音意图。通过利用意图预测模型来对第i部分语音信息进行意图预测,能够保证预测意图的准确性。
93.一种可能的实现方式中,从所述多个预测意图中确定目标预测意图,所述目标预测意图的概率最大;将所述目标预测意图,确定为所述第i部分语音信息对应的第i语音意
图。
94.另一种可能的实现方式中,将所述多个预测意图中,概率大于预设概率的预测意图确定为所述第i部分语音信息对应的第i语音意图。
95.本实施例中,意图预测模型可以为事先训练得到的机器学习模型。意图预测模型通过对多组训练样本学习得到的,每组训练样本包括:样本语音信息和所述样本语音信息对应的样本意图;其中,所述样本语音信息是从历史语音信息中提取出的部分语音信息。
96.具体而言,根据现有的大数据技术,统计出用户与终端设备交互的高频意图。进而,收集用户在语音交互过程中针对这些高频意图输入的历史语音信息。通过对每个历史语音信息进行加工处理,可以生成一组训练样本。
97.举例而言,每组训练样本的生成方式可以为:从每个历史语音信息中提取出部分语音信息作为样本语音信息。例如,将历史语音信息中的前k个音节作为样本语音信息,或者,将历史语音信息中的中间m个音节作为样本语音信息,等。其中,m和k均为整数。进一步的,对该历史语音信息的意图进行人工标注处理,得到样本意图。这样,根据上述样本语音信息和样本意图,生成一组训练样本。
98.生成多组训练样本之后,利用机器学习算法对多组训练样本进行训练,即可得到意图预测模型。需要说明的是,本实施例对于意图预测模型的结构以及训练过程不作限定。
99.s402:终端设备向服务器发送所述第i语音意图。
100.一种可能的实现方式中,当i为大于1的整数时,终端设备确定出第i语义意图之后,可以先判断第i语音意图与前i
‑
1语音意图是否相同,若所述第i语音意图与前i
‑
1语音意图均不相同,则向服务器发送所述第i语音意图,否则,不向服务器发送所述第i语音意图。这样,可以避免服务器接收到重复的语音意图。
101.s403:服务器获取所述第i语音意图对应的应答信息。
102.本实施例中,服务器可以与多个资源服务器通信连接,每个资源服务器用于存储一种语音意图对应的应答信息。例如,多个资源服务器可以包括:天气信息服务器、交通信息服务器、违章信息服务器等。服务器可以通过与上述任一资源服务器的交互来获取应答信息。
103.一种可能的实现方式中,服务器可以采用如下方式获取所述第i语音意图对应的应答信息:服务器根据所述第i语音意图,确定目标资源服务器,所述目标资源服务器用于存储所述第i语音意图对应的应答信息;向所述目标资源服务器发送请求消息,所述请求消息中包括所述第i语音意图,从所述目标资源服务器接收所述应答信息。
104.一种可能的实现方式中,服务器在获取到每个语音意图对应的应答信息之后,还可以将每个语音意图以及该语音意图对应的应答信息存储至缓存中。这样,在终端设备接收到完整的第一语音信息之后,向服务器发送第一语音信息。服务器获取第一语音信息对应的第二语音意图,并根据第二语音意图,从缓存存储的所述至少一个语音意图中确定出第一语音意图,所述第一语音意图与第二语音意图相同。进而,服务器从缓存中获取第一语音意图对应的应答信息,并向终端设备发送该应答信息。
105.在上述任意实施例的基础上,下面结合具体的示例对本公开的语音处理过程进行举例说明。
106.图5为本公开实施例提供的一种语音处理过程的示意图。图5以用户输入第一语音
信息“深圳今天的天气怎么样”为例。如图5所示,在终端设备接收到“深圳”时,终端设备利用意图预测模型对当前接收的“深圳”进行意图预测,由于当前接收到的信息较少,无法预测得到语音意图,或者说,意图预测模型输出的各预测意图的概率均较低。因此,终端设备未向服务器发送语音意图。
107.继续参见图5,在终端设备接收到“深圳今天”时,终端设备利用意图预测模型对当前接收到的“深圳今天”进行意图预测,意图预测模型预测得到两个语音意图,分别为“查询深圳今天的天气”和“查询深圳今天的交通”,这两个语音意图的得分均为0.5。该情况下,终端设备可以将上述两个语音意图均发送至服务器。
108.继续参见图5,服务器针对上述两个语音意图获取对应的应答信息,并将每个语音意图及其对应的应答信息存储至缓存中。
109.继续参见图5,在终端设备接收到“深圳今天的天气”时,终端设备利用意图预测模型对当前接收到的“深圳今天的天气”进行意图预测,得到语音意图为“查询深圳今天的天气”。由于已经向服务器发送过该语音意图,因此,无需再次重复发送。
110.继续参见图5,在终端设备接收到完整的第一语音信息“深圳今天的天气怎么样”时,终端设备将该完整的第一语音信息发送至服务器。服务器对该第一语音信息进行语义识别处理,得到第二语音意图为“查询深圳今天的天气”。因此,服务器从缓存中获取“查询深圳今天的天气”对应的应答信息,并将该应答信息发送至终端设备。
111.图6为本公开实施例提供的另一种语音处理过程的示意图。图6以用户输入第一语音信息“深圳今天的天气怎么样”为例。如图6所示,在终端设备接收到“深圳”时,终端设备利用意图预测模型对当前接收的“深圳”进行意图预测,由于当前接收到的信息较少,无法预测得到语音意图,或者说,意图预测模型输出的各预测意图的概率均较低。因此,终端设备未向服务器发送语音意图。
112.继续参见图6,在终端设备接收到“深圳今天”时,终端设备利用意图预测模型对当前接收到的“深圳今天”进行意图预测,意图预测模型预测得到两个语音意图,分别为“查询深圳今天的天气”和“查询深圳今天的交通”,这两个语音意图的得分均为0.5。该情况下,终端设备无法识别那个语音意图更加准确,因此,未向服务器发送语音意图。
113.继续参见图6,在终端设备接收到“深圳今天的天气”时,终端设备利用意图预测模型对当前接收到的“深圳今天的天气”进行意图预测,得到语音意图为“查询深圳今天的天气”,且该语音意图的得分为0.95。终端设备将该语音意图发送至服务器。
114.继续参见图6,服务器针对该语音意图获取对应的应答信息,并将该语音意图及其对应的应答信息存储至缓存中。
115.继续参见图6,在终端设备接收到完整的第一语音信息“深圳今天的天气怎么样”时,终端设备将该完整的第一语音信息发送至服务器。服务器对该第一语音信息进行语义识别处理,得到第二语音意图为“查询深圳今天的天气”。因此,服务器从缓存中获取“查询深圳今天的天气”对应的应答信息,并将该应答信息发送至终端设备。
116.图7为本公开实施例中语音交互时延的示意图。结合图5和图6所示示例,终端设备在第一语音信息还未接收完整的情况下,先对当前接收到的部分语音信息进行意图预测,并将预测到的语音意图发送至服务器,以使服务器提取获取语音意图对应的应答信息,并存储到缓存中。这样,如图7所示,在终端设备接收到完整的第一语音信息,只需要对完整的
第一语音信息进行意图识别处理,并根据识别出的意图,直接从缓存中获取对应的应答信息,而不再需要与第三方资源服务器交互获取应答信息。从而降低了语音交互时延。
117.图8为本公开实施例提供的一种语音处理装置的结构示意图。该装置可以为软件和/或硬件的形式。如图8所示,本实施例提供的语音处理装置800,包括:发送模块801、接收模块802和输出模块803。
118.其中,所述发送模块801,用于在接收第一语音信息的过程中,向服务器发送至少一个语音意图,每个语音意图为所述第一语音信息中的部分语音信息对应的语音意图;
119.所述发送模块801,还用于响应于接收完成所述第一语音信息,向所述服务器发送所述第一语音信息;
120.所述接收模块802,用于从所述服务器接收第一语音意图对应的应答信息,所述应答信息为所述服务器在接收到所述第一语音意图后确定的,所述第一语音意图与所述第一语音信息对应的第二语音意图相同,所述至少一个语音意图包括所述第一语音意图;
121.所述输出模块803,用于输出所述应答信息。
122.一种可能的实现方式中,所述发送模块801包括:
123.确定单元,用于在接收第i部分语音信息后,确定所述第i部分语音信息对应的第i语音意图;
124.发送单元,用于向所述服务器发送所述第i语音意图,所述i依次取1、2、
…
、n,第i+1部分语音信息包括所述第i部分语音信息,所述n为大于或等于1的整数;
125.其中,所述第一语音信息对应语音时长与第n部分语音信息对应的语音时长之间的差值小于或等于第一阈值,或者,所述第一语音信息对应的音节数量与所述第n部分语音信息对应的音节数量的差值小于或等于第二阈值。
126.一种可能的实现方式中,所述确定单元包括:
127.输入子单元,用于将所述第i部分语音信息输入意图预测模型,获取所述意图预测模型输出的多个预测意图对应的概率;
128.确定子单元,用于根据所述多个预测意图对应的概率,确定所述第i部分语音信息对应的第i语音意图。
129.一种可能的实现方式中,所述确定子单元具体用于:
130.从所述多个预测意图中确定目标预测意图,所述目标预测意图的概率最大;
131.将所述目标预测意图,确定为所述第i部分语音信息对应的第i语音意图。
132.一种可能的实现方式中,所述意图预测模型通过对多组训练样本学习得到的,每组训练样本包括:样本语音信息和所述样本语音信息对应的样本意图;其中,所述样本语音信息是从历史语音信息中提取出的部分语音信息。
133.一种可能的实现方式中,当i为大于1的整数时,所述发送单元具体用于:
134.若所述第i语音意图与前i
‑
1语音意图均不相同,则向所述服务器发送所述第i语音意图。
135.本实施例提供的语音处理装置,可用于执行上述任意方法实施例中由终端设备执行的语音处理方法,其实现原理和技术效果类似,此处不作赘述。
136.图9为本公开实施例提供的另一种语音处理装置的结构示意图。该装置可以为软件和/或硬件的形式。如图9所示,本实施例提供的语音处理装置900可包括:接收模块901、
获取模块902和发送模块903。
137.其中,所述接收模块901,用于接收终端设备在接收第一语音信息的过程中发送的至少一个语音意图;
138.所述获取模块902,用于获取所述至少一个语音意图对应的应答信息,每个语音意图为所述第一语音信息中的部分语音信息对应的语音意图;
139.所述接收模块901,还用于接收所述终端设备发送的所述第一语音信息;
140.所述获取模块902,还用于获取所述第一语音信息对应的第二语音意图;
141.所述发送模块903,用于向所述终端设备发送第一语音意图对应的应答信息,所述第一语音意图为所述至少一个语音意图中与所述第二语音意图相同的语义意图。
142.一种可能的实现方式中,所述接收模块901具体用于:接收所述终端设备发送的第i语音意图;
143.所述获取模块902具体用于:获取所述第i语音意图对应的应答信息;所述第i语音意图是所述终端设备在接收到第i部分语音信息后确定的,第i+1部分语音信息包括所述第i部分语音信息;所述i依次取1、2、
…
、n,所述n为大于或等于1的整数;
144.其中,所述第一语音信息对应语音时长与第n部分语音信息对应的语音时长之间的差值小于或等于第一阈值,或者,所述第一语音信息对应的音节数量与所述第n部分语音信息对应的音节数量的差值小于或等于第二阈值。
145.一种可能的实现方式中,所述获取模块902包括:
146.第一确定单元,用于根据所述第i语音意图,确定目标资源服务器,所述目标资源服务器用于存储所述第i语音意图对应的应答信息;
147.发送单元,用于向所述目标资源服务器发送请求消息,所述请求消息中包括所述第i语音意图;
148.接收单元,用于从所述目标资源服务器接收所述应答信息。
149.一种可能的实现方式中,所述装置还包括:存储模块(附图未示出);
150.所述存储模块,用于将每个语音意图以及该语音意图对应的应答信息存储至缓存中;
151.所述发送模块903包括:
152.第二确定单元,用于根据所述第二语音意图,从所述缓存存储的所述至少一个语音意图中,确定所述第一语音意图;
153.获取单元,用于从所述缓存中获取所述第一语音意图对应的应答信息;
154.发送单元,用于向所述终端设备发送所述第一语音意图对应的应答信息。
155.本实施例提供的语音处理装置,可用于执行上述任一方法实施例中由服务器执行的语音处理方法,其实现原理和技术效果类似,此处不作赘述。
156.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
157.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。该电子设备可以为终端设备,还可以为服务器。
158.根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可
读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
159.图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
160.如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(rom)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(ram)1003中的计算机程序,来执行各种适当的动作和处理。在ram 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
161.设备1000中的多个部件连接至i/o接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
162.计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如终端设备执行的语音处理方法和服务器执行的语音处理方法。例如,在一些实施例中,语音处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由rom 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到ram 1003并由计算单元1001执行时,可以执行上文描述的语音处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行语音处理方法。
163.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
164.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
165.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd
‑
rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
166.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
167.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
168.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端
‑
服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
169.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
170.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。