掌桥专利:专业的专利平台
掌桥专利
首页

基于长连接的流式语音识别方法和系统

文献发布时间:2023-06-19 09:29:07


基于长连接的流式语音识别方法和系统

技术领域

本公开属于信息交互技术领域,具体提供了一种基于长连接的流式语音识别方法和系统。

背景技术

随着技术的不断进步,家用电器也越来越智能化。现有的一些家用电器能够通过接收用户的语音来识别用户的意图,进而执行相应的操作。

在通过用户的语音来识别用户的意图的过程中,一般都是家用电器先获取用户的语音,然后将语音上传至语音处理服务器(通常为家用电器厂家提供),然后再使语音处理服务器将该语音发送给语音识别服务器,由语音识别服务器将该语音识别成文字信息。然后再使语音识别服务器将识别出的文字信息返回给语音处理服务器,进而使语音处理服务器将该文字信息发送给家用电器。最后使家用电器将该文字信息与自身的功能指令进行匹配,并根据匹配成功的功能指令执行相应的动作。

但是,由于语音处理服务器接收到的语音的数量是实时变化的,导致语音处理服务器向语音识别服务器发送的数据量也是实时变化地,这就导致了语音处理服务器与语音识别服务器之间需要频繁地创建、销毁短连接,增压了系统的通信压力,语音处理服务器与语音识别服务器之间的通信能力较差。

发明内容

为了解决现有技术中的上述问题,即为了解决语音处理服务器与语音识别服务器之间因频繁创建、销毁短连接而导致的通信能力较差的问题,本公开提供了一种基于长连接的语音识别方法,应用于语音处理服务器,前述语音识别方法包括:

接收多个终端设备发送的语音流;

对每一个前述语音流进行分片以获取分片语音数据,前述分片语音数据携带有分片标记;

通过长连接的方式将前述分片语音数据发送给语音识别服务器以进行识别。

可选地,前述语音处理服务器与前述语音识别服务器之间的长连接的数量小于或等于前述语音流的数量。

可选地,前述语音处理服务器与前述语音识别服务器之间的长连接的数量小于前述语音流的数量,前述分片标记包括前述语音流的流号和片号;

前述通过长连接的方式将前述分片语音数据发送给语音识别服务器以进行识别,包括:

通过长连接的方式将携带前述流号和前述片号的分片语音数据发送给语音识别服务器,以使前述语音识别服务器根据前述流号和前述片号识别出每一个前述语音流对应的文字信息。

可选地,前述语音处理服务器与前述语音识别服务器之间的长连接的数量等于前述语音流的数量,前述分片标记包括片号;

前述通过长连接的方式将前述分片语音数据发送给语音识别服务器以进行识别,包括:

将同属于一个语音流的携带所述片号的分片语音数据通过同一个长连接发送给前述语音识别服务器,以使前述语音识别服务器根据通过每一个前述长连接接收到的分片语音数据的片号,识别出每一个前述语音流对应的文字信息。

可选地,在前述通过长连接的方式将前述分片语音数据发送给语音识别服务器以进行识别之后,前述语音识别方法还包括:

接收前述语音识别服务器识别出的文字信息;

对前述文字信息进行纠错处理。

可选地,前述对前述文字信息进行纠错处理包括:

将接收到的前述文字信息进行分词处理,以获取多个分词;

将前述多个分词中的至少一个分词代入映射数据库中,以获取映射分词;

使前述映射分词替代前述至少一个分词,以获取纠错后的文字信息。

可选地,前述将前述多个分词中的至少一个分词代入映射数据库中,以获取映射分词;包括:

按照预设顺序,将前述多个分词依次代入前述映射数据库中,直至获取到前述映射分词为止;

其中,前述预设顺序是由长至短或名词优先的顺序。

可选地,其特征在于,前述语音识别方法还包括:将纠错后的文字信息发送给前述终端设备。

此外,本公开还提供了一种基于长连接的语音识别系统,该语音识别系统包括多个终端设备、与前述终端设备通信连接的语音处理服务器和与前述语音处理服务器长连接的语音识别服务器,每一个前述终端设备都被配置为,能够录制或接收到语音流,并将前述语音发送给前述语音处理服务器;前述语音处理服务器被配置为,能够接收多个终端设备发送的语音流,对每一个前述语音流进行分片以获取分片语音数据,通过长连接的方式将前述分片语音数据发送给语音识别服务器;前述语音识别服务器被配置成,能够将前述分片语音数据识别成文字信息;其中,前述分片语音数据携带有分片标记。

可选地,前述语音处理服务器还配置为,能够接收前述语音识别服务器识别出的文字信息,将接收到的前述文字信息进行分词处理,以获取多个分词,将前述多个分词中的至少一个分词代入映射数据库中,以获取映射分词,使前述映射分词替代前述至少一个分词,以纠正前述文字信息,并将纠正后的前述文字信息发送给相应的终端设备;

或者,

前述终端设备配置成,能够接收前述语音识别服务器识别出的文字信息。

基于前文的描述,本领域技术人员能够理解的是,在本公开前述的技术方案中,通过使语音处理服务器将语音流进行分片,并因此获得分片语音数据,然后再将所有的分片语音数据以长连接的方式发送给语音识别服务器进行语音识别,使得语音处理服务器与语音识别服务器之间能够通过长连接的方式始终保持着通信状态并进行数据传输,避免了频繁创建和销毁短连接,而导致占用语音处理服务器和/或语音识别服务器运行内存的情形,进而提升了语音处理服务器与语音识别服务器之间的通信能力。

进一步,通过使分片语音数据携带的分片标记包括语音流的流号和片号,使得每一个分片语音数据都具有唯一的身份标识,使得多个语音流能够共同使用一个长连接进行传输,而不会出现信息传输错误,不仅减少了长连接的数量,而且还提升了长连接的利用率,节约了语音处理服务器和语音识别服务器的运行资源。本领域技术人员能够理解的是,多个语音流共同使用一个长连接进行传输,可以是多个完整的语音流共同使用一个长连接进行传输,也可以是多个不完整的语音流共同使用一个长连接进行传输,还可以是多个完整的语音流和多个不完整的语音流共同使用一个长连接进行传输。其中,不完整的语音流指代的是,该语音流仅有一部分的分片语音数据通过该一个长连接进行传输,其他部分的分片语音数据通过其他长连接进行传输。

进一步,通过使语音处理服务器将从语音识别服务器接收到的文字信息进行纠错处理,以将纠错后的文字信息发送给终端设备,提升了语音识别的准确率,进而提升了用户对家用电器的使用体验。避免了在第三方的语音识别服务器上设置文字信息纠错算法时带来的成本增加。

附图说明

下面参照附图来描述本公开的部分实施例,附图中:

图1是本公开第一实施例中语音识别方法的步骤流程图;

图2是本公开第一实施例中信息处理端的构成示意图;

图3是本公开第二实施例中语音识别方法的步骤流程图;

图4是本公开第三实施例中语音识别系统的构成示意图;

图5是本公开第四实施例中语音识别系统的构成示意图。

附图标记列表:

1、终端设备;2、语音处理服务器;3、语音识别服务器。

具体实施方式

本领域技术人员应当理解的是,下文所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,该一部分实施例旨在用于解释本公开的技术原理,并非用于限制本公开的保护范围。基于本公开提供的实施例,本领域普通技术人员在没有付出创造性劳动的情况下所获得的其它所有实施例,仍应落入到本公开的保护范围之内。

需要说明的是,在本公开中“语音流”作为一个名词使用,其所指代的是一种数据,具体表示的是采用流式传输的方式的语音数据音流。

进一步,需要说明的是,本公开所说的终端设备可以是任意可行的终端设备,例如电饭煲、蒸汽煲、压力煲、电磁炉、豆浆机、扫地机器人、空调、手机、平板电脑等。

本实施例的基于长连接的语音识别方法应用于语音处理服务器。

如图1和图2所示,本实施例的语音识别方法包括:

步骤S110,使语音处理服务器2接收多个终端设备1发送的语音流。

需要说明的是,这里的“多个”可以是任意数量,例如1个、3个,256个、459个、4564个等。

步骤S120,使语音处理服务器2对每一个语音流进行分片,以获取分片语音数据。

其中,分片语音数据携带有分片标记。该分片标记至少包括片号,以便语音识别服务器3能够根据该片号将每一个语音流内所有的分片语音数据进行排序,进而获得原来的语音流。

步骤S130,使语音处理服务器2通过长连接的方式将分片语音数据发送给语音识别服务器3以进行识别,从而将每一个语音流识别成文字信息。

需要说明的是,将语音处理服务器2和语音识别服务器3连接到一起的长连接的数量小于或等于语音流的数量。

作为示例一,将语音处理服务器2和语音识别服务器3连接到一起的长连接的数量等于语音流的数量。每一个语音流分别通过一个长连接进行传输。

作为示例二,将语音处理服务器2和语音识别服务器3连接到一起的长连接的数量小于语音流的数量。此时,多个语音流可以共同通过一个长连接进行传输。本领域技术人员能够理解的是,多个语音流共同使用一个长连接进行传输,可以是多个完整的语音流共同使用一个长连接进行传输,也可以是多个不完整的语音流共同使用一个长连接进行传输,还可以是多个完整的语音流和多个不完整的语音流共同使用一个长连接进行传输。其中,不完整的语音流指代的是,该语音流仅有一部分的分片语音数据通过该一个长连接进行传输,其他部分的分片语音数据通过其他长连接进行传输。

可选地,将语音处理服务器2和语音识别服务器3连接到一起的长连接的数量是可变的,举例说明,当待传输的语音流的数据量超出了当前所有长连接的承载能力时,则增加至少一个长连接。

作为示例三,将语音处理服务器2和语音识别服务器3连接到一起的长连接的数量大于语音流的数量。此时,部分长连接起到传输语音流的作用,另一份长连接处于空闲状态不传输语音流。

进一步,本实施例的语音识别方法包括可选的步骤:使语音处理服务器2接收语音识别服务器3发出的文字信息,并将该文字信息发送给终端设备1。进一步可选地,使语音处理服务器2先将接收到的文字信息进行纠错处理,然后再将纠错之后的文字信息发送给终端设备1。

其中,语音处理服务器2对于文字信息的纠错过程如下:先将所述文字信息进行分词处理,以获得多个分词;再从多个分词中选取至少一个分词代入映射数据库中,以获取映射分词;最后,再将获取的映射分体替代前述至少一个分词,并因此获得纠错后的文字信息。其中,映射数据库被提前预存到语音处理服务器2的数据库。

或者,本领域技术人员也可以根据需要,使语音识别服务器3直接将识别出的文字信息发送给终端设备1。

基于前文的描述,本领域技术人员能够理解的是,本实施例通过使语音处理服务器2将语音流进行分片,并因此获得分片语音数据,然后再将所有的分片语音数据以长连接的方式发送给语音识别服务器3进行语音识别,使得语音处理服务器2与语音识别服务器3之间能够通过长连接的方式始终保持着通信状态并进行数据传输,避免了频繁创建和销毁短连接,而导致占用语音处理服务器2和/或语音识别服务器3运行内存的情形,进而提升了语音处理服务器2与语音识别服务器3之间的通信能力。

为了方便本领域技术人员的理解,本实施例将以多端交互的方式对本公开语音识别方法的进行详细说明。

如图3所示,本实施例的语音识别方法包括:

步骤S210,使终端设备1录制或接收到语音流,并将语音发送给语音处理服务器2。

其中,终端设备1的数量可以是任意多个,并且任意多个中的全部或部分可以同时录制或接收到语音流,并将语音发送给语音处理服务器2。

作为示例一,本领域技术人员可以根据需要,在终端设备1上设置声音采集模块,然后使终端设备1可以通过该声音采集模块来采集并录制用户的声音,并因此生成语音流。

作为示例二,可以使用户先将声音录制到手机、平板电脑等移动终端上,然后再使该移动终端与终端设备1通信连接到一起,然后使移动终端设备将录制的语音流发送至终端设备1上。

步骤S220,使语音处理服务器2将接收到的语音流进行分片处理,以获取分片语音数据。

具体地,语音处理服务器2在接收到了终端设备1发送的语音流之后,将每一个语音流分别做分片处理,并因此获得多个分片语音数据。其中,每一个分片语音数据都包括其所对应的流号和片号。其中,流号用于表示该分片语音数据属于哪一个语音流,片号用于表示该分片语音数据在该其所述语音流中的位置。

步骤S230,使语音处理服务器2将分片语音数据发送给语音识别服务器3。

具体地,在语音处理服务器2建立了与语音识别服务器3之间的长连接之后,使语音处理服务器2通过长连接的方式将所有的分片语音数据发送给语音识别服务器3。进一步,语音处理服务器2将所有的分片语音数据发送给语音识别服务器3。

优选地,语音处理服务器2与语音识别服务器3之间长连接的数量大于语音流的数量,以便使一个长连接可以传输多个语音流。

当然,本领域技术人员也可以根据需要,使语音处理服务器2与语音识别服务器3之间长连接的数量等于语音流的数量,以便使一个长连接在同一时段只能传输一个语音流,以便降低语音识别服务器3的运算量。

步骤S240,使语音识别服务器3根据接收到的分片语音数据将语音流识别成文字信息并发送给语音处理服务器2。

具体地,使语音识别服务器3根据流号和片号识别出每一个语音流对应的文字信息。

作为示例一,使语音识别服务器3在接收到了分片语音数据之后,分别将每一个分片语音数据进行识别,并因此获得分片文字信息,然后使语音识别服务器3将每一个分片文字信息都通过长连接发送给语音处理服务器2。

作为示例二,使语音识别服务器3在接收到了分片语音数据之后,分别将每一个分片语音数据进行识别,并因此获得分片文字信息。然后使语音识别服务器3根据每一个分片语音数据的流号和片号,将所有分片文字信息进行排列组合,以获得每一个语音流所对应的、完整的文字信息。然后再使语音识别服务器3将所有的文字信息都通过长连接发送给语音处理服务器2。

作为示例三,使语音识别服务器3在接收到了分片语音数据之后,先根据每一个分片语音数据的流号和片号,将所有的分片语音数据进行排列组合,以获得分片之前的语音流,然后再对语音流进行识别,以获得每一个语音流所对应的文字信息。最后再将所有的文字信息都通过长连接发送给语音处理服务器2。

步骤S250,使语音处理服务器2将接收到的文字信息进行纠正处理。

具体地,如果语音处理服务器2接收到的是分片文字信息,则先根据每一个分片语音数据的流号和片号,对所有的分片文字信息进行排列组合,以获得每一个语音流所对应的、完整的文字信息。

进一步,首先,使语音处理服务器2先将每一个所述文字信息进行分词处理,以获得多个分词;然后,使语音处理服务器2再从多个分词中选取至少一个分词代入映射数据库中,以获取映射分词;最后,使语音处理服务器2再将获取的映射分体替代前述至少一个分词,并因此获得纠错后的文字信息。

其中,映射数据库是提前预存到语音处理服务器2的数据库。

对于获取映射分词的过程,具体为:按照预设顺序,将多个分词依次代入映射数据库中,直至获取到映射分词为止。其中,该设顺序是由长至短或名词优先的顺序。

对步骤S250举例说明如下:

用户实际说的是:蒸的食谱;但语音识别服务器3识别出的结果为:真的是不。语音处理服务器2对“真的是不”分词的结果为:真|的|是不。

将三个分词“真”、“的”和“是不”按照分词由长至短或名词优先的顺序,代入映射数据库中。当将“是不”代入映射数据库中之后获得映射分词“食谱”,此时,分词“真”和“的”便可不用再代入映射数据库中。

语音处理服务器2将“食谱”替换原来的分词“是不”,获得初步纠正结果:真的食谱。然后,语音处理服务器2根据语义识别,再将“真的食谱”进行纠错,获取最终的纠正结果“蒸的食谱”。

需要说明的是,该在示例中,映射数据库中包括“是不”和“食谱”的映射关系。

步骤S260,使语音处理服务器2将纠正后的文字信息发送给相应的终端设备1。

具体地,使语音处理服务器2根据每一个语音流中携带的终端设备1的身份信息,将纠正后的文字信息发送给相应的终端设备1,以使终端设备1根据该文字信息执行相应的操作指令。

基于前文的描述,本领域技术人员能够理解的是,本实施例通过在语音处理服务器2与语音识别服务器3之间建立多个长连接,使得语音处理服务器2与语音识别服务器3之间能够通过长连接的方式始终保持着通信状态并进行数据传输,避免了频繁创建和销毁短连接,而导致占用语音处理服务器2和/或语音识别服务器3运行内存的情形,进而提升了语音处理服务器2与语音识别服务器3之间的通信能力。进一步,通过使语音处理服务器2将接收到的语音流进行分片处理,并且分片语音数据携带的分片标记包括语音流的流号和片号,使得每一个分片语音数据都具有唯一的身份标识,进而使得多个语音流能够共同使用一个长连接进行传输,而不会出现信息传输错误,不仅减少了长连接的数量,而且还提升了长连接的利用率,节约了语音处理服务器2和语音识别服务器3的运行资源。再进一步,通过使语音处理服务器2将从语音识别服务器3接收到的文字信息进行纠错处理,以将纠错后的文字信息发送给终端设备1,提升了语音识别的准确率。同时还避免了在第三方的语音识别服务器上设置文字信息纠错算法时带来的成本增加。

如图4所示,本实施例提供了一种基于长连接的语音识别系统,包括多个终端设备1、语音处理服务器2和语音识别服务器3。其中,每一个终端设备1分别与语音处理服务器2通信连接到一起,以便终端设备1与语音处理服务器2之间可以进行信息交互;语音处理服务器2与语音识别服务器3也通信连接到一起,以便语音处理服务器2与语音识别服务器3之间可以进行信息交互。

其中,语音处理服务器2与语音识别服务器3以长连接的方式通信连接到一起。

终端设备1能够录制或接收到语音流,并将语音流发送给语音处理服务器2。优选地,语音处理服务器2与语音识别服务器3之间长连接的个数小于语音流的个数。

语音处理服务器2能够接收终端设备1发送的语音流并进行分片处理,以获取分片语音数据,然后将该分片语音数据发送给语音处理服务器3。其中,每一个分片语音数据都包括其所对应的流号和片号。其中,流号用于表示该分片语音数据属于哪一个语音流,片号用于表示该分片语音数据在该其所述语音流中的位置。

作为示例一,语音识别服务器3在接收到了分片语音数据之后,分别将每一个分片语音数据进行识别,并因此获得分片文字信息,然后语音识别服务器3将每一个分片文字信息都通过长连接发送给语音处理服务器2。

作为示例二,语音识别服务器3在接收到了分片语音数据之后,分别将每一个分片语音数据进行识别,并因此获得分片文字信息。然后语音识别服务器3根据每一个分片语音数据的流号和片号,将所有分片文字信息进行排列组合,以获得每一个语音流所对应的、完整的文字信息。然后再语音识别服务器3将所有的文字信息都通过长连接发送给语音处理服务器2。

作为示例三,语音识别服务器3在接收到了分片语音数据之后,先根据每一个分片语音数据的流号和片号,将所有的分片语音数据进行排列组合,以获得分片之前的语音流,然后再对语音流进行识别,以获得每一个语音流所对应的文字信息。最后再将所有的文字信息都通过长连接发送给语音处理服务器2。

语音识别服务器3根据接收到的分片语音数据将语音流识别成文字信息并发送给语音处理服务器2。

语音处理服务器2将接收到的文字信息进行纠正处理,并将纠正后的文字信息发送给终端设备1。具体地,先将所述文字信息进行分词处理,以获得多个分词;再从多个分词中选取至少一个分词代入映射数据库中,以获取映射分词;最后,再将获取的映射分体替代前述至少一个分词,并因此获得纠错后的文字信息。其中,映射数据库被提前预存到语音处理服务器2的数据库。

终端设备1根据从语音处理服务器2接收到的文字信息执行相应的操作指令。

本实施例的语音识别系统至少能够取得与前述第二实施例相同的技术效果。

如图5所示,本实施例提供了一种基于长连接的语音识别系统,包括多个终端设备1、语音处理服务器2和语音识别服务器3。其中,每一个终端设备1分别与语音处理服务器2通信连接到一起,以便终端设备1能够向语音处理服务器2发送信息;语音处理服务器2与语音识别服务器3也通信连接到一起,以便语音处理服务器2能够向语音识别服务器3发送信息;语音识别服务器3与每一个终端设备1分别通信连接到一起,以便语音识别服务器3能够向每一个终端设备1发送信息。

其中,语音处理服务器2与语音识别服务器3以长连接的方式通信连接到一起。

终端设备1能够录制或接收到语音流,并将语音流发送给语音处理服务器2。优选地,语音处理服务器2与语音识别服务器3之间长连接的个数小于语音流的个数。

语音处理服务器2能够接收终端设备1发送的语音流并进行分片处理,以获取分片语音数据,然后将该分片语音数据发送给语音处理服务器3。其中,每一个分片语音数据都包括其所对应的流号和片号。其中,流号用于表示该分片语音数据属于哪一个语音流,片号用于表示该分片语音数据在该其所述语音流中的位置。

语音识别服务器3根据接收到的分片语音数据将语音流识别成文字信息并发送给终端设备1。

作为示例一,使语音识别服务器3在接收到了分片语音数据之后,分别将每一个分片语音数据进行识别,并因此获得分片文字信息。然后使语音识别服务器3根据每一个分片语音数据的流号和片号,将所有分片文字信息进行排列组合,以获得每一个语音流所对应的、完整的文字信息。然后再使语音识别服务器3将所有的文字信息都通过长连接发送给语音处理服务器2。

作为示例二,使语音识别服务器3在接收到了分片语音数据之后,先根据每一个分片语音数据的流号和片号,将所有的分片语音数据进行排列组合,以获得分片之前的语音流,然后再对语音流进行识别,以获得每一个语音流所对应的文字信息。最后再将所有的文字信息都通过长连接发送给语音处理服务器2。

终端设备1根据从语音识别服务器3接收到的文字信息执行相应的操作指令。

至此,已经结合前文的多个实施例描述了本公开的技术方案,但是,本领域技术人员容易理解的是,本公开的保护范围并不仅限于这些具体实施例。在不偏离本公开技术原理的前提下,本领域技术人员可以对上述各个实施例中的技术方案进行拆分和组合,也可以对相关技术特征作出等同的更改或替换,凡在本公开的技术构思和/或技术原理之内所做的任何更改、等同替换、改进等都将落入本公开的保护范围之内。

相关技术
  • 基于长连接的流式语音识别方法和系统
  • 一种流式和非流式混合语音识别系统及流式语音识别方法
技术分类

06120112187434