语音请求文本的处理方法及计算机存储介质与流程

文档序号:23007843发布日期:2020-11-20 12:02阅读:95来源:国知局
语音请求文本的处理方法及计算机存储介质与流程
本发明涉及车载信息娱乐产品语音交互
技术领域
,特别是涉及一种语音请求文本的处理方法及计算机存储介质。
背景技术
:语音请求文本处理功能是车载信息娱乐产品的核心功能。现有的车载信息娱乐产品中,采用一个后台服务器实现语音请求文本的各个功能的处理。具体地,例如,将后台服务器的处理功能划分为多个单元,如规则匹配单元、分类单元和基于神经网络的命名实体识别单元。规则匹配单元可以采用传统的语句匹配方法(如类似字典、句式、正则、语法树等匹配方式)寻找语音请求文本中的意图和词槽。分类单元可以基于神经网络的意图识别,预先训练一个基于神经网络的分类器,识别语音请求文本的意图。基于神经网络的命名实体识别单元可以基于神经网络的命名实体识别,推理识别出语音请求文本中的词槽。然后,该后台服务将意图和词槽进行组合以及过滤得到意图和词槽相匹配的组合。具体地,例如,若意图为“播放音乐”,词槽为“歌手”、“歌名”以及“专辑”等,则意图和词槽匹配。若意图为“播放音乐”,词槽为“城市名称”或者“餐厅类型”等,则意图和词槽不匹配,需要滤除。但是,将一个后台服务器的处理功能划分为多个单元以实现上述各个功能不仅导致了各个功能单元之间的紧耦合、并发性能低等缺点,也不利于对某一些功能单元做进一步的扩展。技术实现要素:鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的语音请求文本的处理方法及计算机存储介质。本发明的一个目的是要提供一种提高各个后台微服务的单独弹性扩展的语音请求文本的处理方法。本发明的一个进一步的目的是提高语音请求文本的处理效率。根据本发明的一个方面,本发明提供了一种语音请求文本的处理方法,包括:将语音请求文本分别发送至多个后台微服务;各所述后台微服务根据自身的处理规则对所述语音请求文本中的信息进行处理得到各自的语音处理结果;对各所述语音处理结果进行筛选得到语音筛选结果,并输出所述语音筛选结果。可选地,所述对各所述语音处理结果进行筛选得到语音筛选结果包括:对各所述语音处理结果进行组合得到语音组合结果;对所述语音组合结果进行筛选得到语音筛选结果。可选地,所述多个后台微服务包括第一后台微服务和第二后台微服务;所述各所述后台微服务根据自身的处理规则对所述语音请求文本中的信息进行处理得到各自的语音处理结果包括:所述第一后台微服务和所述第二后台微服务中的一个对所述语音请求文本中的意图进行处理得到所述语音请求文本中的意图;所述第一后台微服务和所述第二后台微服务中的另一个对所述语音请求文本中的词槽进行处理得到所述语音请求文本中的词槽。可选地,对各所述语音处理结果进行组合得到语音组合结果包括:将所述第一后台微服务和所述第二后台微服务其中之一处理的各所述词槽划分为一组得到第一词槽组;将所述第一后台微服务和所述第二后台微服务其中之一处理的各所述意图分别与所述第一词槽组进行组合得到各个请求作为第一组合结果;对所述语音组合结果进行筛选得到语音筛选结果包括:判断各个所述请求中的所述意图和所述第一词槽组是否匹配;若匹配,保留所述意图和所述第一词槽组匹配的请求,得到第一目标组合结果作为语音筛选结果;若各所述请求中的所述意图和所述第一词槽均不匹配,所述第一目标组合结果为空,所述语音筛选结果为空。可选地,所述多个后台微服务还包括第三后台微服务;所述第三后台微服务对所述语音请求文本中的词槽和意图进行处理得到所述语音请求文本中的词槽和意图。可选地,对各所述语音处理结果进行组合得到语音组合结果还包括:将所述第三后台微服务处理的各所述词槽划分为一组得到第二词槽组;将所述第三后台微服务处理的各所述意图分别与所述第二词槽组进行组合得到各个请求作为第二组合结果;对所述语音组合结果进行筛选得到语音筛选结果还包括:保留所述第二组合结果中的所述意图和所述第二词槽组相匹配的请求,得到第二目标组合结果作为最终的所述语音筛选结果;若所述第二组合结果中的所述意图和所述第二词槽均不匹配,所述第二目标组合结果为空,仍将所述第一目标组合结果作为所述语音筛选结果。可选地,判断各所述后台微服务在预设时间内是否完成所述语音请求文本的处理,若否,生成未处理完成的所述语音请求文本的错误信息,并清除未处理的所述语音请求文本。可选地,所述将所述语音请求文本分别发送至多个后台微服务包括:采用异步多线程的方式将所述语音请求文本分别发送至多个后台微服务。可选地,所述语音请求文本具有唯一的标识;所述唯一的标识包含用户的名称以及用户的请求。根据本发明的另一方面,提供一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行根据上述任一项所述的语音请求文本的处理方法。在本实施例的语音请求文本的处理方法中,通过多个后台微服务根据自身的处理规则对语音请求文本中的信息进行处理得到各自的语音处理结果,通过将多个后台微服务独立部署,不仅实现了多个功能之间的解耦,也利于实现各个后台微服务的功能的单独弹性扩展,使各个后台微服的部署更加灵活简单。进一步地,第三后台微服务得到第二目标组合结果的方式简单且准确度较高,更能反映语音请求文本的内容。第一后台微服务和第二后台微服务都是采用基于神经网络的机器学习方式,泛化能力比较强。但是,神经网络的机器学习方式如果训练的语料比较少,会导致第一目标组合结果不准确。所以在第二目标组合结果不为空的情况下,优先将第二目标组合结果作为最终的语音筛选结果,可以提高语音筛选结果的准确度。根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。附图说明后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:图1是现有技术中的一个后台服务器的处理语音请求文本的流程的示意图;图2是根据本发明一个实施例的语音请求文本的处理方法对应的系统架构的示意图;图3是根据本发明一个实施例的语音请求文本的处理方法的信息传递的流程的示意图;图4是根据本发明一个实施例的语音请求文本的处理方法的流程图;图5是根据本发明一个实施例的语音请求文本的处理方法的语音请求文本筛选的示意图;图6是根据本发明一个实施例的语音请求文本的处理方法的语音请求文本筛选的逻辑示意图。具体实施方式现有的车载信息娱乐产品中,采用一个后台服务器实现语音请求文本的各个功能的处理。参见图1,图1是现有技术中的一个后台服务器的处理语音请求文本的流程的示意图。该后台服务器的处理功能可以划分为多个单元。具体地,例如,将一个后台服务器的处理功能划分为接收单元、分发单元、规则匹配单元、基于神经网络的意图分类(nnclassify)单元、基于神经网络的命名实体识别(nnnamedentityrecognition,nnner)单元、校验过滤单元、合并单元以及发送单元。接收单元可以接收用户客户端的语音请求文本,并将接收的语音请求文本发送至分发单元。分发单元将语音请求文本分别发至规则匹配单元、基于神经网络的意图分类单元和基于神经网络的命名实体识别单元。意图分类单元识别语音请求文本中的意图。命名实体识别单元识别语音请求文本中的词槽。意图和词槽进行组合后,经校验过滤单元过滤得到第一组合结果。规则匹配单元识别语音请求文本中的词槽和意图,然后对词槽和意图进行组合以及过滤校验得到第二组合结果。然后,合并单元将第一过滤结果和第二过滤结果合并后发送至发送单元,并由发送单元发送至用户客户端。现有技术中,将一个后台服务器的处理功能划分为多个单元以实现上述各个功能不仅导致了各个功能单元之间的紧耦合、并发性能低等缺点,也不利于对某一些功能单元做进一步的扩展。为解决或至少部分地解决上述技术问题,本发明实施例提出了一种语音请求文本的处理方法。图2是根据本发明一个实施例的语音请求文本的处理方法对应的系统架构的示意图。参见图2。该系统架构可包括语音请求文本处理服务器、第一后台微服务、第二后台微服务以及第三后台微服务。其中,第一后台微服务可以定义为意图分类后台微服务,用于处理语音请求文本的意图;第二后台微服务可以定义为命名实体识别后台微服务,用于处理语音请求文本的词槽;第三后台微服务可以定义为规则匹配后台微服务,用于处理语音请求文本的意图和词槽。语音请求文本处理服务器内部具有过滤规则处理器、tomcat线程池以及redis数据库等。语音请求文本处理服务器可以与多个用户客户端连接。语音请求文本处理服务器将来自用户客户端的语音请求文本后,通过tomcat线程池将语音请求文本发送至三个后台微服务。各后台微服务根据自身的处理规则对语音请求文本中的信息进行处理得到各自的语音处理结果。具体地,例如,语音请求文本的内容为“从杭州到南京的导航路线”。第一后台微服务处理的意图为“源地址目的地址导航”。第二后台微服务处理的词槽为出发地:“杭州”,目的地,“南京”。第三后台微服务可以处理意图“源地址目的地址导航”以及词槽出发地:“杭州”,目的地,“南京”。三个后台微服务可以将处理的结果发送至过滤规则处理器进行过滤。当然,三个后台微服务也可以将处理的结果存储在redis数据库中,通过回调函数获取redis数据库中存储的结果,进而发送至过滤规则处理器。过滤规则服务器对各处理结果进行筛选得到语音筛选结果,将语音筛选结果输出至tomcat线程池。tomcat线程池将语音筛选结果输出至用户客户端。该系统架构的语音信息的传递过程可以参见图3。图3中,语音请求文本处理服务器获取到用户客户端的语音请求文本,并将语音请求文本分别发送至第一后台微服务、第二后台微服务以及第三后台微服务。第一后台微服务、第二后台微服务以及第三后台微服务将各自的筛选结果发送至语音请求文本处理服务器。语音请求文本处理服务器将最终的语音筛选结果发送至用户客户端。为了提高系统架构的性能,语音请求文本处理服务器和各后台微服务之间采用并行、异步访问的方式。语音请求文本处理服务器还对每个语音请求文本保存一个上下文状态信息以记录区分每一个语音请求文本。该上下文状态信息可以以表格的形式保存在redis数据库中。上下文状态信息的数据格式参见表1。表1中包含了上下文状态信息的字段名、描述和数据类型。字段名中的rulebasednluresponse、classifyresponse以及nerresponse属于对象,其描述可以根据实际情况进行确定。对于每一个语音请求文本,语音请求文本处理服务器会在表1中增加一条记录。之后,语音请求文本处理服务器可以向每个后台微服务分别发起一个http访问。在完成语音请求文本的处理后,可以删除该语音请求文本在表1中对应的记录。表1图4是根据本发明一个实施例的语音请求文本的处理方法的流程图。参见图4,语音请求文本的处理方法一般可包括以下步骤s102至步骤s106。步骤s102:将语音请求文本分别发送至多个后台微服务。在本步骤中,语音请求文本可以是获取的用户客户端输出的语音请求文本。步骤s104:各后台微服务根据自身的处理规则对语音请求文本中的信息进行处理处理得到各自的语音处理结果。步骤s106:对各语音处理结果进行筛选得到语音筛选结果,并输出语音筛选结果。在本实施例的语音请求文本的处理方法中,通过将多个后台微服务独立部署,不仅实现了多个功能之间的解耦,也利于实现各个后台微服务的功能的单独弹性扩展,使各个后台微服的部署更加灵活简单。在本发明一个实施例中,步骤s106中的对各语音处理结果进行筛选得到语音筛选结果可以包括以下步骤:对各语音处理结果进行组合得到语音组合结果。然后,对语音组合结果进行筛选得到语音筛选结果。在本实施例中,通过对各语音处理结果进行组合,可以使得到的语音组合结果更加全面的反映语音请求文本中的内容,从而提高语音筛选结果的准确性。在本发明一个实施例中,多个后台微服务可包括第一后台微服务和第二后台微服务。在后台微服务的个数为2个的情况下,步骤s104可包括以下步骤:第一后台微服务和第二后台微服务中的一个对语音请求文本中的意图进行处理得到语音请求文本中的意图。然后,第一后台微服务和第二后台微服务中的另一个对语音请求文本中的词槽进行处理得到语音请求文本中的词槽。在本实施例中,意图可以理解为语音请求文本的目的。词槽为与目的相匹配的词语。具体地,例如,意图如果为“播放音乐”,与该意图匹配的词槽可以是“歌手”、“歌名”或者“专辑”等。意图如果为“天气怎么样”,与该意图匹配的词槽可以是“城市”或“日期”等。可以将对语音请求文本的意图进行处理的一个后台微服务作为意图分类(nnclassify)后台微服务。意图分类后台微服务通过预先训练的基于神经网络的分类器识别语音请求文本中的意图。将对语音请求文本中的词槽进行处理的一个后台微服务作为命名实体识别(nnnamedentityrecognition,nnner)后台微服务。命名实体识别后台微服务也可以通过预先训练的基于神经网络的模型。通过两个后台微服务分别发挥各自的作用,使各个后台微服的部署更加灵活简单,也使各后台微服务的负载更加均衡,从而提高各后台微服务的工作效率。在本发明一个实施例中,在后台微服务的个数为2个的情况下,步骤s106中的对各语音处理结果进行组合得到语音组合结果可包括以下过程:将第一后台微服务和第二后台微服务其中之一处理的各词槽划分为一组得到第一词槽组。将第一后台微服务和第二后台微服务其中之一处理的各意图分别与第一词槽组进行组合得到各个请求作为第一组合结果。具体地,例如,意图包括“播放音乐”和“天气怎么样”;词槽包括“歌手”、“歌名”和“专辑”等。将“歌手”、“歌名”和“专辑”划分为第一词槽组。将各意图分别与第一词槽组进行组合可以得到“播放音乐”和第一词槽组的组合以及“天气怎么样”和第一词槽组的组合从而得到第一组合结果。第一组合结果可以参照如下表2。表2中包含了2个请求。意图第一词槽组天气怎么样“歌手”、“歌名”、“专辑”播放音乐“歌手”、“歌名”、“专辑”表2对语音组合结果进行筛选得到语音筛选结果可包括:判断各个请求中的意图和第一词槽组是否匹配。若匹配,保留意图和第一词槽组匹配的请求,得到第一目标组合结果作为语音筛选结果。若各请求中的意图和第一词槽均不匹配,第一目标组合结果为空,语音筛选结果为空。具体地,例如,“天气怎么样”和“歌手”、“歌名”、“专辑”显然没有关,不匹配,因此过滤到该请求。“歌手”、“歌名”、“专辑”均与音乐具有关联,所说“播放音乐”和“歌手”、“歌名”、“专辑”匹配,保留该请求得到第一目标组合结果作为语音筛选结果。当然,若各请求中的意图和第一词槽均不匹配,第一目标组合结果为空,语音筛选结果为空。在本发明一个实施例中,多个后台微服务还可包括第三后台微服务。第三后台微服务对语音请求文本中的词槽和意图进行处理得到语音请求文本中的词槽和意图。第三后台微服务可以作为规则匹配后台微服务。规则匹配后台微服务基于传统的语句匹配方法,例如类似字典、句式、正则、语法树等匹配方式,处理语音请求文本中的意图和词槽。在本发明一个实施例中,在多个后台微服务还可包括第三后台微服务的情况下,对各语音处理结果进行组合得到语音组合结果还包括:将第三后台微服务处理的各词槽划分为一组得到第二词槽组。将第三后台微服务处理的各意图分别与第二词槽组进行组合得到各个请求作为第二组合结果。对语音组合结果进行筛选得到语音筛选结果还包括:保留第二组合结果中的意图和第二词槽组相匹配的请求,得到第二目标组合结果作为最终的语音筛选结果。若第二组合结果中的意图和第二词槽均不匹配,第二目标组合结果为空,仍将第一目标组合结果作为语音筛选结果。在本实施例中,将第三后台微服务处理的各意图分别与第二词槽组进行组合以及得到第二目标组合结果的方法可以参照上述第一后台微服务和第二后台微服务的方法,这里不再赘述。第三后台微服务作为规则匹配后台微服务,基于用户自定义的模板,例如类似字典、句式、正则、语法树等匹配方式,处理语音请求文本中的意图和词槽。因此,第三后台微服务得到第二目标组合结果的方式简单且准确度较高,更能反映语音请求文本的内容。第一后台微服务和第二后台微服务都是采用基于神经网络的机器学习方式,泛化能力比较强。但是,神经网络的机器学习方式如果训练的语料比较少,会导致第一目标组合结果不准确。所以在第二目标组合结果不为空的情况下,优先将第二目标组合结果作为最终的语音筛选结果,可以提高语音筛选结果的准确度。图5是根据本发明一个实施例的语音请求文本的处理方法的语音请求文本筛选的示意图。在这里,可以将第一后台微服务作为意图分类后台微服务,第二后台微服务作为命名实体识别后台微服务。将意图分类后台微服务处理的意图(intent)和命名实体识别后台微服务处理的词槽(slot)组合。根据预先存储在数据库的筛选规则对意图和词槽的组合进行筛选得到第一目标组合结果。筛选规则即判断意图和词槽是否相互匹配。每一个特定的用户或特定的语音请求文本可以具有与自身相适配的筛选规则。筛选规则也可以理解为意图和词槽的组合在筛选规则中是否出现,若出现,则意图和词槽匹配;若未出现,则不匹配,忽略不配的组合。然后,将第三后台微服务的第二组合结果进行筛选得到第二目标组合结果。在第一目标组合结果和第二目标组合结果中选取准确度更高的结果作为语音筛选结果。筛选规则可以预先存储在数据库中,且在数据库中的存储格式如下表3。表3中包括了筛选规则的字段名、描述、数据类型和长度。其中,词槽对象数组slotarray的结构如表4所示。表3字段名描述数据类型长度(字节)type词槽种类string<=64mandatory是否是必须的bool1表4在筛选时,可以将筛选规则加载到内存中。为了提高筛选效率,可以使用bitset的方式。每一种词槽slot对应bitset的一位。在内存中存储第一map集合(mandatorymap集合)和第二map集合(optionalmap集合)。其中,mandatorymap集合:关键字key=hash(productid+intent),值value=bitset。每一个记录的mandatoryslot对应的bit为1,其余为0。optionalmap集合:关键字key=hash(productid+intent),值value=bitset,每一个记录的mandatoryslot和optionalslot对应的bit为1,其余为0。筛选的逻辑对应的流程图如图6所示。在图6中,步骤s601:意图intent+词槽slot。步骤s602:计算bitset的值value。步骤s603:计算(筛选规则(productid)+意图(intent))的哈希值。步骤s604:根据哈希值作为关键字key查找第一map集合(mandatorymap)中对应的值value1。步骤s605:判断bitset的值value和第一map集合(mandatorymap)中对应的值value1与的运算结果是否大于0。若与的结果为不大于0(即等于0),步骤s606:意图和词槽的组合为不匹配的组合。若与的结果为大于0(即为1),步骤s607:根据哈希值作为关键字key查找第二map集合(optionalmap)中对应的值value2。步骤s608:判断bitset的值value和第二map集合(optionalmap)中对应的值value2的取反值的与的运算结果是否等于0。若与的结果为0,步骤s609:意图和词槽的组合为匹配的组合。若结果不为0(即为1),步骤s610:意图和词槽的组合为不匹配的组合。例如对某一语音请求文本,处理了意图1(intent1)和意图2(intent2)以及词槽1(slot1)、词槽2(slot2)、词槽3(slot3)。假设词槽1(slot1)+词槽2(slot2)+词槽3(slot3)对应的bitset值value为0b00000111。用productid+intent生成哈希值,用该哈希值去mandatorymap集合读取关键字key对应的值value1,值value和值value1做位操作与,如果结果为0,则说明必须出现的词槽(slot)没有出现,该组合不合法;反之如果结果不为0,继续往下执行。用productid+intent生成哈希值,用该哈希值去optionalmap集合读取关键字key对应的值value2,值value和值value2的取反值做位操作与,如果结果不为0,则说明推理出来的词槽(slot)超出了规则定义的范围,该词槽(slot)无效;反之则说明匹配通过,该意图和词槽是合法的。语音请求文本计算出来的值value中具有以下特征:特征一:一定包含规则是“mandatory”的词槽。特征二:可以包含“optional”的词槽,也可以不包含。特征三:不能含有超出“mandatory”和“optional”的词槽,这里是把值value(用户推理句子计算出来的)和值value2的取反值进行与(如value&~value2),结果不为0代表语音请求文本中含有超出范围的词槽,所以要丢弃这个句子。在本发明一个实施例中,将语音请求文本分别发送至多个后台微服务包括:采用异步多线程的方式将语音请求文本分别发送至多个后台微服务。在本实施例中,可以支持多用户并发,即可以支持多个用户的多个语音请求文本。同一个用户的多个语音请求文本可以占用一个异步连接。例如,有长连接时,多个语音请求文本可以使用同一个http连接,节省了http建立的过程。采用异步多线程的方式,可以减少占用线程池和其他资源的数量,提高并发,进而提高各个后台微服务的工作效率。在本发明一个实施例中,语音请求文本具有唯一的标识。唯一的标识包含用户的名称(productid)以及用户的请求(seqnum)。在本实施例中,名称(productid)可以标识不同的用户。请求(seqnum)可以标识同一个异步连接下的不同请求。语音请求文本的数据格式可以参照如下表5。表5中,语音请求文本包含名称(productid)、请求(seqnum)以及语音请求文本内容(text)。字段名描述数据类型长度(字节)productid用户名或项目名,区分不同的产品或项目string<=64seqnum区分同一个连接下的多个请求integer4text语音请求文本内容string<=240表5在接收到语音请求文本后,可以将语音请求文本的数据保存到内存中。该数据的结构为map集合。该map集合中的每条记录的关键字(key)是(productid+seqnum)组合的哈希值,哈希值key对应的值value的数据格式为下面表6中的内容,值value包括asynccontext和text。其中asynccontext是http连接唯一标识,该唯一标识在回调函数中返回数据时用到。asynccontext的长度可以根据实际情况调整,这里不做具体限定。表6在本发明一个实施例中,语音请求文本的处理方法还可包括:判断各后台微服务在预设时间内是否完成语音请求文本的处理。若否,生成未处理完成的语音请求文本的错误信息,并清除未处理的语音请求文本。在本实施例中,考虑到各个后台微服务可能出现运行异常的情况,对每个后台微服务处理语音请求文本设置了超时机制。可以在内存中建立另一个linkedhashmap集合。该linkedhashmap集合的关键字key值是(productid+seqnum)组合哈希值,哈希值对应的value是超时绝对时间time。在接收到语音请求文本后,在linkedhashmap集合中保存接收到语音请求文本的记录。因为linkedhashmap集合中保存的记录是按照顺序依次保存的,因此,如果需要查看某个语音请求文本对应的记录是否超时,只需要查看第一个记录(存储最久的记录)的绝对时间time是否超时,若第一个记录没有超时,则全部记录均没有超时。若第一个记录超时,删掉第一个记录,并清除超时记录对应的语音请求文本。然后,查看新的第一个记录(被删除的记录的下一个记录),直至新的第一个记录为不超时的记录。每个记录之间的时间差一般为2秒,当然,也可以为3秒或者1秒等其他值,本发明实施例对此不做具体地限定。由于上述内存中的2个map集合被访问的次数比较频繁,为了降低程序的复杂度和时间开销,可以设计一个单独的定时器任务单元。该定时器任务单元可以对上述map和linkedhashmap进行读写删除操作以及超时检查操作。定时器任务单元可以使用消息队列和其他功能单元通信。消息队列本身保证了消息的串行与同步。定时器任务单元内部只有一个执行任务,所以对所有内存的操作都是单任务串行的,无需任何锁操作,简化了代码。为了使本发明中的一些数据格式更加清楚明了,下面以一个具体示例进行详细介绍。在本示例中,第一后台微服务可以定义为意图分类后台微服务,用于处理语音请求文本的意图;第二后台微服务可以定义为命名实体识别后台微服务,用于处理语音请求文本的词槽;第三后台微服务可以定义为规则匹配后台微服务,用于处理语音请求文本的意图和词槽。例如,接收的语音请求文本的内容为“从杭州到南京的导航路线”。该语音请求文本的具体格式可以参照上述表5。表5对应的程序如下所示:之后,生成语音请求文本的响应。该响应的数据格式对如下应表格7。表7中包含了该相应的字段名、描述、数据类型和长度。其中,意图结果可以优选分数最高的3个结果。表格7中意图结果对应的数据格式参照如下表格8。表格7中词槽结果对应的数据格式参照如下表格9。表7表8字段名描述数据类型长度(字节)type标签string<=64start开始offsetinteger4end结束offsetinteger4表9表7对应的程序如下所示:然后,第一后台微服务、第二后台微服务和第三后台微服务均产生语音请求文本的请求和响应。例如,表10为向第三后台微服务发出的语音请求文本的请求的数据格式。表10表10对应的程序如下:表11为第三后台微服务产生的语音请求文本的请求对应的响应的数据格式。表11表11对应的程序如下:向第一后台微服务发送的语音请求文本的请求的数据格式如表12所示。表12表12对应的程序如下:第一后台微服务产生的语音请求文本的请求对应的响应的数据格式如表13所示。表13表13对应的程序如下:向第二后台微服务发送的语音请求文本的请求的数据格式如表14所示。表14表14对应的程序如下:第二后台微服务产生的语音请求文本的请求对应的响应的数据格式如表15所示。表15表15对应的程序如下所示:筛选规则的配置格式如下表16所示。其中,筛选规则的配置可以放在数据库中,不同的规则使用productid加intent组合来区分,hash(productid,intent)可以做索引。表17为表16中slotentry的数据格式。表16字段名描述数据类型长度(字节)typeslot种类string<=64mandatory是否是必须的bool1表17基于同一发明构思,本发明还提供了一种计算机存储介质。计算机存储介质存储有计算机程序代码,当计算机程序代码在计算设备上运行时,导致计算设备执行上述任一项实施例的语音请求文本的处理方法。根据上述任意一个可选实施例或多个可选实施例的组合,本发明实施例能够达到如下有益效果:在本实施例的语音请求文本的处理方法中,通过多个后台微服务根据自身的处理规则对语音请求文本中的信息进行处理得到各自的语音处理结果,通过将多个后台微服务独立部署,不仅实现了多个功能之间的解耦,也利于实现各个后台微服务的功能的单独弹性扩展,使各个后台微服的部署更加灵活简单。至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1