接入自动语音识别系统的制作方法

文档序号:18325509发布日期:2019-08-03 10:58阅读:152来源:国知局
接入自动语音识别系统的制作方法

本发明属于语音识别技术领域,具体涉及接入自动语音识别系统。



背景技术:

自动语音识别系统负责将收集到的语音信号转换成文字信息,并将文字信息发送给其它负责自然语言处理和文本处理的模块。

但是现有的自动语音识别系统的功能单一、固定,且不受其它后续模块变动的影响,因此将自动语音识别系统模块化、黑盒化符合技术人员的开发逻辑,且可以明显降低行业开发语音聊天设备的投入和难度。



技术实现要素:

针对现有技术中的缺陷,本发明提供了一种接入自动语音识别系统,实现自动语音识别系统模块化,且能够定制与上下游模块的交互逻辑和交互规则。

一种接入自动语音识别系统,包括:

接入模块:用于接收来自用户客户端的请求报文,包括start报文、音频报文和stop报文;对所述请求报文进行预处理,放入待处理消息队列;还用于在读取到待处理消息队列的应答数据后,将所述应答数据返回给相应的用户客户端,并断开与该用户客户端的连接;

待处理消息队列;

负载均衡模块:用于分别将待处理消息队列中的数据分发给不同的计算模块;

至少一个计算模块:用于对所述下发的数据进行识别处理,并在接收到stop报文的数据时,生成包含对音频报文的数据进行识别处理得到的识别结果的应答数据,将应答数据放入待处理消息队列中。

优选地,所述接入模块具体用于:

当接收到的请求报文为start报文或stop报文时,将所述start报文或stop报文翻译为start脚本或stop脚本,放入待处理消息队列;

当接收到的请求报文为音频报文时,将所述音频报文放入待处理消息队列。

优选地,所述计算模块具体用于:

利用虚拟机执行接收到的start脚本;

还用于将接收到的音频报文翻译为文字报文,以得到所述识别结果;

还用于利用虚拟机执行接收到的stop脚本,并生成包含所述识别结果的应答数据,将应答数据放入待处理消息队列中。

优选地,start报文的协议头包括:

消息内容类型:包括应答型和其他型;

消息长度:包括start报文中数据部分的长度;

消息识别码:用于标识同一次请求报文;

start报文的数据部分包括:

请求的计算模块类型;

请求的类型:start;

请求的优先级;

请求的计算模型类型和参数:包括请求来源,是否过滤空格,目标热词库,是否启用语法配置,使用的语法配置文件;

音频信息的参数:包括音频的类型,音频的采样率,音频的采样位数,音频的通道数,是否为立体声。

优选地,音频报文的协议头包括:

消息的类型;

消息长度:包括音频报文中数据部分的长度;

消息识别码;

音频报文的数据部分包括:

音频数据。

优选地,stop报文的协议头包括:

消息内容类型:包括应答型和其他型;

消息长度:包括stop报文中数据部分的长度;

消息识别码;

stop报文的数据部分包括:

请求的类型:stop。

优选地,应答数据的协议头包括:

http协议版本号;

回复信息的类型:包括回复正确与否,是否为本次答复的最后一条数据,计算模块是否出错;

消息内容类型:包括应答型和其他型;

消息长度:应答数据中数据部分的长度;

消息识别码。

优选地,所述应答数据的数据部分包括正确应答信息的数据部分;

正确应答信息的数据部分包括:

使用的识别引擎版本号;

识别引擎所使用的资源版本号;

所述识别结果;

识别结果的可信度;

识别的时间统计参数。

优选地,所述应答数据的数据部分包括出错应答信息的数据部分;

出错应答信息的数据部分包括:

错误识别码;

错误描述。

本发明提供的接入自动语音识别系统,采用模块化设计,该系统分为接入模块、待处理消息队列、负载均衡模块和计算模块四个部分,且能够定制与上下游模块的交互逻辑和交互规则。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1为本发明实施例一提供的接入自动语音识别系统的模块框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

实施例一:

一种接入自动语音识别系统,参见图1,包括:

接入模块:用于接收来自用户客户端的请求报文,包括start报文、音频报文和stop报文;对所述请求报文进行预处理,放入待处理消息队列;还用于在读取到待处理消息队列的应答数据后,将所述应答数据返回给相应的用户客户端,并断开与该用户客户端的连接;

优选地,所述接入模块具体用于:

当接收到的请求报文为start报文或stop报文时,将所述start报文或stop报文翻译为start脚本或stop脚本,放入待处理消息队列;

当接收到的请求报文为音频报文时,将所述音频报文放入待处理消息队列。

具体地,接入模块接收到start报文时,将接收到的start报文按照定义的规则翻译为start脚本,并把start脚本放入待处理消息队列中。接入模块接收到stop报文时,将接收到的stop报文按照定义的规则翻译为stop脚本,并把stop脚本放入待处理消息队列中。接入模块当接收到应答数据时,说明用户的请求报文已处理完毕,此时读取应答数据,并将应答数据返回给用户客户端后,就断开与该用户客户端的连接。

待处理消息队列;

负载均衡模块:用于分别将待处理消息队列中的数据分发给不同的计算模块;

具体地,负载均衡模块根据自身的逻辑和算法将待处理消息队列中的数据分发给某一个计算模块,例如发布给某个计算模块订阅的topic中。其中,负载均衡模块的分发方法是行业常用的方法。即当有多个模块执行同一操作时,需要尽量保证每个模块都有工作,且使得工作能在最短时间内完成。

至少一个计算模块:用于对所述下发的数据进行识别处理,并在接收到stop报文的数据时,生成包含对音频报文的数据进行识别处理得到的识别结果的应答数据,将应答数据放入待处理消息队列中。

优选地,所述计算模块具体用于:

利用虚拟机执行接收到的start脚本;

还用于将接收到的音频报文翻译为文字报文,以得到所述识别结果;

还用于利用虚拟机执行接收到的stop脚本,并生成包含所述识别结果的应答数据,将应答数据放入待处理消息队列中。

具体地,计算模块接收到start脚本后,在vm(即虚拟机)中执行脚本,为即将输入的音频报文申请识别引擎备用,然后等待音频报文输入,然后接入模块就会会源源不断地收到音频报文(包含来自用户客户端的待处理音频消息的报文),接入通过消息队列的方式将这些音频报文传递给计算模块,直到接入模块收到stop报文。最后计算模块接收到stop脚本后,在vm(即虚拟机)中执行脚本,然后将翻译得到的文字报文作为应答,返回给接入模块,由接入模块返回给用户客户端。

该系统采用模块化设计,该系统分为接入模块、待处理消息队列、负载均衡模块和计算模块四个部分,各个部分负责执行不同的操作,计算模块负责核心的计算工作,上述模块可以部署在不同的服务器上,也可以部署在同一台服务器上。该系统能够定制与上下游模块的交互逻辑和交互规则。

实施例二:

实施例二在实施例一的基础上,增加了以下内容:

本实施例提供的协议为流式,用户客户端的请求报文为http格式。本实施例中应答数据也应遵循以下协议,包括一个start报文+若干个音频报文+一个stop报文。

1、start报文格式。

start报文的协议头包括:

消息内容类型:包括应答型和其他型;例如:应答型用“text”表示,其他类用“plain”表示。如果是应答数据,消息内容类型填应答型,其他数据填其他型。

消息长度:包括start报文中数据部分的长度;

消息识别码:用于标识同一次请求报文;例如:同一次请求报文中的start报文、音频报文和stop报文中消息识别码一致。

start报文的数据部分包括:

请求的计算模块类型;请求的计算模块类型是指,何种计算模块能完成本次请求,比如语音文件较大需要计算力较强的计算模块。计算模块的类型与start指令没有关系,start指令只是标志了有任务即将开始。

请求的类型:start;

请求的优先级;请求优先级是指请求的紧急程度。具体实施时,管理人员可以自行设定。如:以数字0-9代表优先级,数字越小优先级越高。

请求的计算模型类型和参数:包括请求来源(例如是真实用户还是测试用户),是否过滤空格,目标热词库,是否启用语法配置,使用的语法配置文件;

音频信息的参数:包括音频的类型(wavmp4等),音频的采样率,音频的采样位数,音频的通道数,是否为立体声。音频信息的参数用于体现音频报文中音频数据的参数。

2、音频报文格式。

音频报文的协议头包括:

消息的类型;(wavmp4等)

消息长度:包括音频报文中数据部分的长度;

消息识别码;

音频报文的数据部分包括:

音频数据。即用户客户端上传的用户原音。用户原音按照长度大小可以分为多个音频报文进行传输。

3、stop报文格式

stop报文的协议头包括:

消息内容类型:包括应答型和其他型;

消息长度:包括stop报文中数据部分的长度;

消息识别码;

stop报文的数据部分包括:

请求的类型:stop。

4、应答数据格式。

应答数据的协议头包括:

http协议版本号;http协议的版本号是行业公知,http协议版本号根据官方组织发布得到。

回复信息的类型:包括回复正确与否,是否为本次答复的最后一条数据,计算模块是否出错;如果回复正确,应答数据的数据部分采用以下正确应答信息的数据部分。如果回复不正确,应答数据的数据部分采用以下出错应答信息的数据部分。该系统还用于对自身应答数据做出的判断,包括是否对接收到的信息完成了正确处理;是否正确解析了接收到的信息;是否按照约定对信息进行了正确的分发(分发到正确的计算服务器)等。

消息内容类型:包括应答型和其他型;

消息长度:应答数据中数据部分的长度;

消息识别码。

其中,所述应答数据的数据部分包括正确应答信息的数据部分;

正确应答信息的数据部分包括:

使用的识别引擎版本号;

识别引擎所使用的资源版本号;

具体地,识别引擎版本号是开发人员在开发时设定的,如开发人员仅上线了一个识别引擎,则只有一个识别引擎版本号。如果开发人员上传了多个识别引擎,则各个引擎的版本号也是由开发人员在上线识别引擎时自行约定的。同理,资源版本号也是开发人员在开发时设定的。

所述识别结果,即计算模块将音频报文翻译得到的文字报文。

识别结果的可信度;可信度一般以数字形式出现,一般设定在0--10或0-100,数字高可信度高。

识别的时间统计参数。统计参数用以说明本次语音识别所用的时间。

优选地,所述应答数据的数据部分包括出错应答信息的数据部分;

出错应答信息的数据部分包括:

错误识别码;错误识别码用于表示错误类型

错误描述,错误描述可以简单介绍本次语音识别的错误。当回复不正确的情况下,出错应答信息负责标明错误的类型和具体的错误描述。

本发明实施例所提供的系统,为简要描述,实施例部分未提及之处,可参考前述系统实施例中相应内容。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1