本发明实施例涉及语音识别技术,尤其涉及一种多加权有限状态转换器合并方法、装置、设备及存储介质。
背景技术
在移动互联网及万物互联的大背景下,语音识别作为一种人机交互手段正在起着举足轻重的作用,其被广泛应用于生活中。
加权有限状态转换器(weightedfinite-statetransducers,wfst)作为一种目前较为成熟的技术,被广泛用于语音识别领域。wfst在语音识别的过程中作为一种解码器,可以是根据训练好的hmm声学模型、语言模型及字典建立的一个识别网络,也可以是语言模型及字典建立的一个识别网络。发明人在实现本发明的过程中,发现现有技术存在如下的缺陷:由于每个语音识别解码器引擎在进行语音识别操作时只对一个wfst进行搜索,而一般一个wfst对应解决一个场景或一个领域的语音识别问题,因而在解决多场景、多领域的语音识别问题时,只能通过合并多个领域或多个场景的wfst合并成一个大型wfst,但把wfst做的极其庞大,需要消耗极大的系统资源。而且多个wfst在进行合并时,需要进行复杂的优化操作,特别是对于大型wfst,需要耗费更多的时间。
技术实现要素:
本发明提供一种多加权有限状态转换器合并方法、装置、设备及存储介质,以解决多场景、多领域的语音识别中生成大型加权有限状态转换器带来的低效和耗费时间的问题。
第一方面,本发明实施例提供了多加权有限状态转换器合并方法,该方法包括:
获取至少两个初始加权有限状态转换器,其中,所述初始加权有限状态转换器包括节点和前向边,所述节点包括起始节点、中间节点和终止节点;
建立目标加权有限状态转换器的新起始节点和新终止节点;
在所述目标加权有限状态转换器增加新中间节点和新前向边,其中,所述新中间节点和新前向边用于建立所述新起始节点和新终止节点之间的路径,所述新中间节点和新前向边由所述初始加权有限状态转换器的节点和前向边确定;
添加每条所述新前向边的代价,所述新前向边的代价是所述初始加权有限状态转换器前向边的代价的加权值。
可选的,在所述目标加权有限状态转换器增加新中间节点和新前向边,包括:
在所述新起始节点后增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与所述初始加权有限状态转换器的第一节点和前向边所形成的路径结构相同,所述第一节点为所述初始加权有限状态转换器的中间节点;
将指向所述终止节点的前向边所对应的所述新前向边指向新终止节点。
可选的,在所述目标加权有限状态转换器增加新中间节点和新前向边,包括:
获取一个所述初始加权有限状态转换器作为当前初始加权有限状态转换器;
在所述新起始节点后增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与所述当前初始加权有限状态转换器的第二节点和前向边所形成的路径结构相同,所述第二节点为所述当前初始加权有限状态转换器的中间节点和终止节点;
增加从所述终止节点所对应的新中间节点出发且指向所述新终止节点的第一前向边,所述第一前向边执行空操作;
切换下一初始有限加权状态机为当前初始有限加权状态机;
若所述当前初始加权有限状态转换器为最后一个初始加权有限状态转换器,在所述目标加权有限状态转换器中增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与所述当前初始加权有限状态转换器的第三节点和前向边所形成的路径结构相同,所述第三节点为所述当前初始加权有限状态转换器的起始节点和中间节点;
增加从所述新起始节点到所述当前有限加权状态机的起始节点对应的新中间节点的第一前向边,所述第一前向边执行空操作;
将指向所述终止节点的前向边所对应的所述新前向边指向新终止节点。
可选的,所述第一前向边执行空操作,包括:所述前向边的输入和输出标签均为空或零。
可选的,在所述目标加权有限状态转换器增加新中间节点和新前向边之前,包括:
统计初始加权有限状态转换器的中间节点数量;
所述目标加权有限状态转换器增加新中间节点和新前向边,包括:
根据所述中间节点数量更新所述新中间节点的编号。
第二方面,本发明实施例还提供了一种多加权有限状态转换器合并装置,该装置包括:
模型获取模块,用于获取至少两个初始加权有限状态转换器,其中,所述初始加权有限状态转换器包括节点和前向边,所述节点包括起始节点、中间节点和终止节点;
端点节点建立模块,用于建立目标加权有限状态转换器的新起始节点和新终止节点;
新路径生成模块,用于在所述目标加权有限状态转换器增加新中间节点和新前向边,其中,所述新中间节点和新前向边用于建立所述新起始节点和新终止节点之间的路径,所述新中间节点和新前向边由所述初始加权有限状态转换器的节点和前向边确定;
代价添加模块,用于添加每条所述新前向边的代价,所述新前向边的代价是所述初始加权有限状态转换器前向边的代价的加权值。
可选的,所述新路径生成模块包括:
第一增加单元,用于在所述新起始节点后增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与所述初始加权有限状态转换器的第一节点和前向边所形成的路径结构相同,所述第一节点为所述初始加权有限状态转换器的中间节点;
第二增加单元,用于将指向所述终止节点的前向边所对应的所述新前向边指向新终止节点。
可选的,所述新路径生成模块包括:
初始获取单元,用于获取一个所述初始加权有限状态转换器作为当前初始加权有限状态转换器;
第三增加单元,用于在所述新起始节点后增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与所述当前初始加权有限状态转换器的第二节点和前向边所形成的路径结构相同,所述第二节点为所述当前初始加权有限状态转换器的中间节点和终止节点;
第四增加单元,用于增加从所述终止节点所对应的新中间节点出发且指向所述新终止节点的第一前向边,所述第一前向边执行空操作;
切换单元,用于切换下一初始有限加权状态机为当前初始有限加权状态机;
第五增加单元,用于若所述当前初始加权有限状态转换器为最后一个初始加权有限状态转换器,在所述目标加权有限状态转换器中增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与所述当前初始加权有限状态转换器的第三节点和前向边所形成的路径结构相同,所述第三节点为所述当前初始加权有限状态转换器的起始节点和中间节点;
第六增加单元,用于增加从所述新起始节点到所述当前有限加权状态机的起始节点对应的新中间节点的第一前向边,所述第一前向边执行空操作;
第七增加单元,用于将指向所述终止节点的前向边所对应的所述新前向边指向新终止节点。
第三方面,本发明实施例还提供了一种多加权有限状态转换器合并设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一所述的多加权有限状态转换器合并方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一所述的多加权有限状态转换器合并方法。
本发明通过获取至少两个初始加权有限状态转换器,建立目标加权有限状态转换器的新起始节点和新终止节点,根据初始加权有限状态转换器的结构在目标加权有限状态转换器增加新中间节点和新前向边,其中,新中间节点和新前向边用于建立新起始节点和新终止节点之间的路径,新中间节点和新前向边由初始加权有限状态转换器的节点和前向边确定,从而保证目标加权有限状态转换器具有初始加权有限状态转换器的结构,添加每条新前向边的代价,新前向边的代价是初始加权有限状态转换器前向边的代价的加权值,其加权值的计算是根据初始加权有限状态转换器对应的预设权重得到,解决了多场景、多领域的语音识别中生成大型加权有限状态转换器带来的低效和耗费时间的问题,达到合并过程快速、节省时间且保证准确率的技术效果。
附图说明
图1为本发明实施例一提供的一种多加权有限状态转换器合并方法的流程图;
图2为本发明实施例二提供的一种多加权有限状态转换器合并方法的流程图;
图3为本发明实施例二提供的一种初始加权有限状态转换器的结构示意图;
图4为本发明实施例二提供的另一种初始加权有限状态转换器的结构示意图;
图5为本发明实施例二提供的一种目标加权有限状态转换器的结构示意图;
图6为本发明实施例三提供的一种多加权有限状态转换器合并方法的流程图;
图7为本发明实施例三提供的一种目标加权有限状态转换器的结构示意图;
图8为本发明实施例四提供的一种多加权有限状态转换器合并装置的结构示意图;
图9为本发明实施例五提供的一种多加权有限状态转换器合并设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种多加权有限状态转换器合并方法的流程图,本实施例提供的多加权有限状态转换器合并方法可以由多加权有限状态转换器合并设备执行,该多加权有限状态转换器合并设备可以通过软件和/或硬件的方式实现,该多加权有限状态转换器合并设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。该多加权有限状态转换器合并设备可以是电脑,手机,平板或服务器等。在实施例中,以服务器是多加权有限状态转换器合并设为例进行描述,对服务器的类型不作限定,如服务器可以是独立服务器或者服务器集群,可以是真实服务器或者虚拟服务器,也可以是云端服务器。一般的,服务器用于管理资源并为用户提供服务,如本实施例中为用户提供的服务是语音识别服务,具体的,该语音识别服务是按照本实施例提供的多加权有限状态转换器合并方法,将用户需求的多个领域或多个场景的加权有限状态转换器进行合并,得到一个大型的加权有限状态转换器,用于进行涉及多领域或多场景的语音识别。
具体的,参考图1,本实施例提供的多加权有限状态转换器合并方法具体包括如下步骤:
s110、获取至少两个初始加权有限状态转换器。
其中,初始加权有限状态转换器包括节点和前向边,节点包括起始节点、中间节点和终止节点。
一般的,加权有限状态转换器wfst在语音识别的过程中作为一种解码器,用于对输入的语音数据进行解码并输出词串,即识别结果。wfst可以是根据训练好的hmm声学模型、语言模型及字典建立的一个识别网络,也可以是语言模型及字典建立的一个识别网络。其中,语言模型是用来计算一个句子出现概率的概率模型,具体的,主要用于决定出现可能性大的词序列,或者在出现了几个词的情况下,预测下一个即将出现的词语的内容。语言模型能够有效的结合汉语语法和语义的知识,描述词之间的内在关系,从而提高识别率,减少搜索范围。语言模型分为三个层次:字典知识,语法知识,句法知识。针对不同领域或不同应用场景所构建的语言模型有所区别,具体体现在词序列在不同语言模型中出现的可能性是不同的,词之间的内在关系也有区别,即针对不同领域或不同应用场景,wfst有所区别。进而要使得wfst能够具备不同领域或不同应用场景的语音识别功能,就需要将用户需求的多个领域或多个场景的初始加权有限状态转换器进行合并,得到一个大型的目标加权有限状态转换器。
进一步的,初始加权有限状态转换器具备单个领域或者单个应用场景的语音识别功能。初始加权有限状态转换器包括节点和前向边,即初始加权有限状态转换器是具有多个节点的有向图,节点通过带有方向的前向边进行连接,其上设置有输入标签、输出标签和代价,每个节点通过对比用户输入的语音转换数据和输入标签找到对应的前向边,根据前向边的指向转移到下一个状态节点,并输出该前向边对应的输出标签的内容,前向边上设置的代价,用于代表节点转移过程的概率,即转移概率。实际应用中,wfst用于针对输入的语音数据,根据搜索算法在wfst进行前向搜索出最佳的一条路径,这个最佳的路径能够以最大概率或最小代价输出由该路径上对应输出标签组成的输出词串。路径是指前向搜索过程中获得的对应语音数据经过的所有节点及其顺序,包括节点、前向边与前向边上设置的输入标签、输出标签和代价。
一般的,节点包括起始节点、中间节点和终止节点。前向边是输入或是输出,取决于前向边是否指向节点,如前向边指向节点,则该前向边为该节点的输入前向边。进一步的,起始节点只有输出前向边,中间节点具有输入前向边和输出前向边,终止节点只有输入前向边。起始节点和终止节点在实现本实施例提供的多加权有限状态转换器合并方法时,起到确定整个wfst网络两个端点的作用。
s120、建立目标加权有限状态转换器的新起始节点和新终止节点。
其中,目标加权有限状态转换器具备不同领域或不同应用场景的语音识别功能,通过将用户需求的多个初始加权有限状态转换器进行合并得到。
进一步的,通过建立目标加权有限状态转换器的新起始节点和新终止节点,可以确定目标加权有限状态转换器的两个端点(新起始节点和新终止节点),进而可在两个端点间根据至少两个初始加权有限状态转换器的结构进行新节点和新前向边的添加,完成整个目标加权有限状态转换器的构建。需要说明的是,初始加权有限状态转换器的结构指的是初始加权有限状态转换器中节点和前向边组成的路径。
s130、在目标加权有限状态转换器增加新中间节点和新前向边。
其中,新中间节点和新前向边用于建立新起始节点和新终止节点之间的路径,新中间节点和新前向边由初始加权有限状态转换器的节点和前向边确定。
需要说明的是,语音识别主要通过在加权有限状态转换器中进行最佳路径搜索得到输出词串,也就是说若两个加权有限状态转换器可以实现相同领域或相同场景的语音识别功能,则说明两个加权有限状态转换器中的结构具有相同的部分,即两个加权有限状态转换器中由节点和前向边组成的路径具有相同的部分,即两个加权有限状态转换器中都可能搜索出相同的路径作为最佳路径,从而输出相同的词串。
进一步的,本实施例对在目标加权有限状态转换器增加新中间节点和新前向边的方法不作限定,只要保证目标加权有限状态转换器中具有至少两个初始加权有限状态转换器中的结构即可。
示例性的,根据初始加权有限状态转换器的节点和前向边确定路径,并根据该路径向目标加权有限状态转换器添加新路径,该新路径是新起始节点和新终止节点之间的路径。其中,路径所经过的输入标签和输出标签与新路径上所经过的输入标签和输出标签相同。
s140、添加每条新前向边的代价。
其中,新前向边的代价是初始加权有限状态转换器前向边的代价的加权值。
进一步的,代价表示新节点转移的概率,即转移概率。在对至少两个初始加权有限状态转换器进行合并时,由于在实际需求中,代表不同场景或不同领域语音识别功能的初始加权有限状态转换器具有不同的重要性,需要对每个初始加权有限状态转换器添加预设权重。加权值即初始加权有限状态转换器前向边的代价乘以该对应的预设权重得到的数值,以此更新新前向边的代价。
需要说明的是,新前向边的代价的添加并不一定是在所有的新前向边添加完成之后再逐一添加,也可以是在每条新前向边添加时,同时添加。在此将新前向边的添加过程和代价的添加过程分成两个步骤描述,仅仅为了描述清晰,并不是限定二者之间有严格的执行顺序。
本实施例的技术方案,通过获取至少两个初始加权有限状态转换器,建立目标加权有限状态转换器的新起始节点和新终止节点,根据初始加权有限状态转换器的结构在目标加权有限状态转换器增加新中间节点和新前向边,其中,新中间节点和新前向边用于建立新起始节点和新终止节点之间的路径,新中间节点和新前向边由初始加权有限状态转换器的节点和前向边确定,从而保证目标加权有限状态转换器具有初始加权有限状态转换器的结构,添加每条新前向边的代价,新前向边的代价是初始加权有限状态转换器前向边的代价的加权值,其加权值的计算是根据初始加权有限状态转换器对应的预设权重得到,解决了多场景、多领域的语音识别中生成大型加权有限状态转换器带来的低效和耗费时间的问题,达到合并过程快速、节省时间且保证准确率的技术效果。
实施例二
图2为本发明实施例二提供的一种多加权有限状态转换器合并方法的流程图。本实施例是在上述实施例一的基础上进行具体化。参考图2,本实施例提供的多加权有限状态转换器合并方法具体包括:
s210、获取至少两个初始加权有限状态转换器。
其中,初始加权有限状态转换器包括节点和前向边,节点包括起始节点、中间节点和终止节点。
s220、建立目标加权有限状态转换器的新起始节点和新终止节点。
其中,新起始节点在目标加权有限状态转换器中以编号0表示,新终止节点在目标加权有限状态转换器中以编号f表示。
需要说明的是,节点上的编号顺序并不代表节点的顺序,只是用于在表示路径时,方便辨识。
s230、统计初始加权有限状态转换器的中间节点数量。
其中,中间节点是初始加权有限状态转换器中具有输入前向边和输出前向边的节点。通过统计初始加权有限状态转换器的中间节点数量,可以为在目标加权有限状态转换器增加新节点时,为新节点添加编号提供参考。
s240、在目标加权有限状态转换器增加新中间节点和新前向边。
其中,新中间节点和新前向边用于建立新起始节点和新终止节点之间的路径,新中间节点和新前向边由初始加权有限状态转换器的节点和前向边确定。
在本实施例中,将s240进一步优化为s241-s243:
s241、在新起始节点后增加新中间节点和新前向边。
其中,新中间节点和新前向边所形成的路径与初始加权有限状态转换器的第一节点和前向边所形成的路径结构相同,第一节点为初始加权有限状态转换器的中间节点。
进一步的,路径结构相同指的是所经过的节点和前向边相同,且前向边和新前向边上的输入标签相同,前向边和新前向边上的输出标签相同。从而保证标加权有限状态转换器中具有与初始加权有限状态转换器中相同的结构。
s242、将指向终止节点的前向边所对应的新前向边指向新终止节点。
其中,指向新终止节点的新前向边上的输入标签与对应的指向终止节点的前向边上的输入标签相同,指向新终止节点的新前向边上的输出标签与对应的指向终止节点的前向边上的输出标签相同。
进一步,将指向终止节点的前向边所对应的新前向边指向新终止节点,以使得新中间节点和新前向边构成新起始节点和新终止节点之间的路径。
s243、根据中间节点数量更新新中间节点的编号。
在本实施例中,如第一个初始加权有限状态转换器的中间节点数量为n,第二个初始加权有限状态转换器的中间节点数量为m,在根据第一个初始加权有限状态转换器添加新中间节点后,最后一个新中间节点的编号为n,则在根据第二个初始加权有限状态转换器添加新中间节点,则从n+1开始编号;在根据第二个初始加权有限状态转换器添加新中间节点后,最后一个新中间节点的编号为n+m,则在根据第三个初始加权有限状态转换器添加新中间节点,则从n+m+1开始编号,以此类推。
需要说明的是,新中间节点的编号的更新并不一定是在所有的新中间节点添加完成之后再逐一添加,也可以是在每个新中间节点添加时,同时添加。在此将新中间节点的编号的更新过程和新中间节点的添加过程分成两个步骤描述,仅仅为了描述清晰,并不是限定二者之间有严格的执行顺序。
s250、添加每条新前向边的代价。
其中,新前向边的代价是初始加权有限状态转换器前向边的代价的加权值。
以下对本实施例提供的多加权有限状态转换器合并方法的流程进行示例性详细说明。为了说明清楚,本实例以两个初始加权有限状态转换器进行说明。图3为本发明实施例二提供的一种初始加权有限状态转换器的结构示意图,为了方便说明,下文以wfst1表示。图4为本发明实施例二提供的另一种初始加权有限状态转换器的结构示意图,为了方便说明,下文以wfst2表示。图5为本发明实施例二提供的一种目标加权有限状态转换器的结构示意图,其中,图5所示的目标加权有限状态转换器是通过实施本实施例提供的多加权有限状态转换器合并方法对图3和图4所示的初始加权有限状态转换器进行合并得到。
如图3所示的初始加权有限状态转换器wfst1的中间节点数量为n,如图4所示的初始加权有限状态转换器wfst2的中间节点数量为m,建立如图5所示的目标加权有限状态转换器的新起始节点0和新终止节点f。按照wfst1的结构增加编号为1到n的新中间节点,对应的增加新前向边,将wfst1中指向终止节点的前向边所对应的新前向边指向新终止节点f,并将新前向边的代价更新为加权值,权重为对应wfst1的预设权重。进而,按照wfst2的结构增加编号为n+1到n+m的新中间节点,对应的增加新前向边,将wfst2中指向终止节点的前向边所对应的新前向边指向新终止节点f,并将新前向边的代价更新为加权值,权重为对应wfst2的预设权重。
本实施例的技术方案,通过获取至少两个初始加权有限状态转换器,并建立目标加权有限状态转换器的新起始节点和新终止节点,统计初始加权有限状态转换器的中间节点数量,根据初始加权有限状态转换器的结构在新起始节点后增加新中间节点和新前向边,将指向终止节点的前向边所对应的新前向边指向新终止节点,使得增加的新中间节点和新前向边一起构成新起始节点和新终止节点之间的路径,从而保证目标加权有限状态转换器具有初始加权有限状态转换器的结构,并且在添加过程中还根据中间节点数量更新新中间节点的编号,并添加每条新前向边的代价,其中,新前向边的代价是初始加权有限状态转换器前向边的代价的加权值,其加权值的计算是根据初始加权有限状态转换器对应的预设权重得到,解决了多场景、多领域的语音识别中生成大型加权有限状态转换器带来的低效和耗费时间的问题,达到合并过程快速、节省时间且保证准确率的技术效果。
实施例三
图6为本发明实施例三提供的一种多加权有限状态转换器合并方法的流程图。本实施例是在上述实施例的基础上进行具体化。参考图6,本实施例提供的多加权有限状态转换器合并方法具体包括:
s310、获取至少两个初始加权有限状态转换器。
其中,初始加权有限状态转换器包括节点和前向边,节点包括起始节点、中间节点和终止节点。
s320、建立目标加权有限状态转换器的新起始节点和新终止节点。
其中,新起始节点在目标加权有限状态转换器中以编号0表示,新终止节点在目标加权有限状态转换器中以编号f表示。
需要说明的是,节点上的编号顺序并不代表节点的顺序,只是用于在表示路径时,方便辨识。
s330、统计初始加权有限状态转换器的中间节点数量。
其中,中间节点是初始加权有限状态转换器中具有输入前向边和输出前向边的节点。通过统计初始加权有限状态转换器的中间节点数量,可以为在目标加权有限状态转换器增加新节点时,为新节点添加编号提供参考。
s340、在目标加权有限状态转换器增加新中间节点和新前向边。
其中,新中间节点和新前向边用于建立新起始节点和新终止节点之间的路径,新中间节点和新前向边由初始加权有限状态转换器的节点和前向边确定。
在本实施例中,将s340进一步优化为s341-s349:
s341、获取一个初始加权有限状态转换器作为当前初始加权有限状态转换器。
其中,当前初始加权有限状态转换器是指当前进行新中间节点和新前向边添加时所依据的初始加权有限状态转换器。在此,将初始加权有限状态转换器限定为当前初始加权有限状态转换器,是为了更方便和清晰的说明添加多个初始加权有限状态转换器时的流程。
s342、在新起始节点后增加新中间节点和新前向边。
其中,新中间节点和新前向边所形成的路径与当前初始加权有限状态转换器的第二节点和前向边所形成的路径结构相同,第二节点为当前初始加权有限状态转换器的中间节点和终止节点。
进一步的,路径结构相同指的是所经过的节点和前向边相同,且前向边和新前向边上的输入标签相同,前向边和新前向边上的输出标签相同。从而保证目标加权有限状态转换器中具有与初始加权有限状态转换器中相同的结构。
s343、增加从终止节点所对应的新中间节点出发且指向新终止节点的第一前向边,第一前向边执行空操作。
其中,第一前向边执行空操作,包括:前向边的输入和输出标签均为空或零。空操作是指不需要输入语音数据即可转移到该前向边指向的节点。
进一步的,增加第一前向边使得新中间节点和新前向边构成新起始节点和新终止节点之间的路径。且由于第一前向边执行空操作,不会对路径结构造成影响,即保证目标加权有限状态转换器中具有与初始加权有限状态转换器中相同的结构。
s344、切换下一初始有限加权状态机为当前初始有限加权状态机。
具体的,在根据当前初始有限加权状态机进行新中间节点和新前向边结束后,还需要再合并另外的初始有限加权状态机,则将需要被合并的下一个初始有限加权状态机作为当前初始有限加权状态机,继续执行s345。
s345、若当前初始加权有限状态转换器为最后一个初始加权有限状态转换器,在目标加权有限状态转换器中增加新中间节点和新前向边,且继续执行s346-347和s3410。若当前初始加权有限状态转换器不为最后一个初始加权有限状态转换器,则在继续执行s348-s3410后,继续执行s344。
其中,新中间节点和新前向边所形成的路径与当前初始加权有限状态转换器的第三节点和前向边所形成的路径结构相同,第三节点为当前初始加权有限状态转换器的起始节点和中间节点。
进一步的,路径结构相同指的是所经过的节点和前向边相同,且前向边和新前向边上的输入标签相同,前向边和新前向边上的输出标签相同。从而保证目标加权有限状态转换器中具有与初始加权有限状态转换器中相同的结构。
s346、增加从新起始节点到当前有限加权状态机的起始节点对应的新中间节点的第一前向边,第一前向边执行空操作。
其中,第一前向边执行空操作,包括:前向边的输入和输出标签均为空或零。空操作是指不需要输入语音转换数据即可转移到该前向边指向的节点。
进一步的,增加第一前向边使得新中间节点和新前向边构成新起始节点和新终止节点之间的路径。且由于第一前向边执行空操作,不会对路径结构造成影响,即保证目标加权有限状态转换器中具有与初始加权有限状态转换器中相同的结构。
s347、将指向终止节点的前向边所对应的新前向边指向新终止节点。
其中,指向新终止节点的新前向边上的输入标签与对应的指向终止节点的前向边上的输入标签相同,指向新终止节点的新前向边上的输出标签与对应的指向终止节点的前向边上的输出标签相同。
进一步,将指向终止节点的前向边所对应的新前向边指向新终止节点,以使得新中间节点和新前向边构成新起始节点和新终止节点之间的路径。
s348、在目标加权有限状态转换器中增加新中间节点和新前向边。
其中,新中间节点和新前向边所形成的路径与当前初始加权有限状态转换器的第四节点和前向边所形成的路径结构相同,第四节点为当前初始加权有限状态转换器的起始节点、中间节点和终止节点。
进一步的,路径结构相同指的是所经过的节点和前向边相同,且前向边和新前向边上的输入标签相同,前向边和新前向边上的输出标签相同。从而保证目标加权有限状态转换器中具有与初始加权有限状态转换器中相同的结构。
s349、增加从新起始节点到当前有限加权状态机的起始节点对应的新中间节点的第一前向边,并增加从终止节点对应的新中间节点到新终止节点的第一前向边,第一前向边执行空操作。
其中,第一前向边执行空操作,包括:前向边的输入和输出标签均为空或零。空操作是指不需要输入语音转换数据即可转移到该前向边指向的节点。
进一步的,增加第一前向边使得新中间节点和新前向边构成新起始节点和新终止节点之间的路径。且由于第一前向边执行空操作,不会对路径结构造成影响,即保证目标加权有限状态转换器中具有与初始加权有限状态转换器中相同的结构。
s3410、根据中间节点数量更新新中间节点的编号。
在本实施例中,如第一个初始加权有限状态转换器的中间节点数量为n,第二个初始加权有限状态转换器的中间节点数量为m,在根据第一个初始加权有限状态转换器添加新中间节点后,最后一个新中间节点的编号为n+1,则在根据第二个初始加权有限状态转换器添加新中间节点,则从n+2开始编号;在根据第二个初始加权有限状态转换器添加新中间节点后,最后一个新中间节点的编号为n+m+2,则在根据第三个初始加权有限状态转换器添加新中间节点,则从n+m+3开始编号,以此类推。
s350、添加每条新前向边的代价。
其中,新前向边的代价是初始加权有限状态转换器前向边的代价的加权值。
以下对本实施例提供的多加权有限状态转换器合并方法的流程进行示例性详细说明。为了说明清楚,本实例以两个初始加权有限状态转换器进行说明。图7为本发明实施例三提供的一种目标加权有限状态转换器的结构示意图,其中,图7所示的目标加权有限状态转换器是通过实施本实施例提供的多加权有限状态转换器合并方法对图3和图4所示的初始加权有限状态转换器进行合并得到。
如图3所示的初始加权有限状态转换器wfst1的中间节点数量为n,如图4所示的初始加权有限状态转换器wfst2的中间节点数量为m,建立如图7所示的目标加权有限状态转换器的新起始节点0和新终止节点f。按照wfst1的结构增加编号为1到n+1的新中间节点,对应的增加新前向边,增加从终止节点所对应的新中间节点n+1出发且指向新终止节点f的第一前向边,第一前向边执行空操作,并将新前向边的代价更新为加权值,权重为对应wfst1的预设权重。进而,按照wfst2的结构增加编号为n+2到n+2+m的新中间节点,对应的增加新前向边,并增加从新起始节点0到wfst2的起始节点对应的新中间节点n+2的第一前向边,第一前向边执行空操作,将wfst2中指向终止节点的前向边所对应的新前向边指向新终止节点f,并将新前向边的代价更新为加权值,权重为对应wfst2的预设权重。
本实施例的技术方案,通过获取至少两个初始加权有限状态转换器,并建立目标加权有限状态转换器的新起始节点和新终止节点,统计初始加权有限状态转换器的中间节点数量,获取一个初始加权有限状态转换器作为当前初始加权有限状态转换器,根据当前初始加权有限状态转换器的结构(中间节点、前向边和终止节点)在新起始节点后增加新中间节点和新前向边,进而增加从终止节点所对应的新中间节点出发且指向新终止节点的第一前向边,其中,第一前向边执行空操作,从而保证第一前向边的引入不会影响目标加权有限状态转换器中与当前初始加权有限状态转换器对应的结构,从而保证输出词串的相同,进一步的,切换下一初始有限加权状态机为当前初始有限加权状态机,若当前初始加权有限状态转换器为最后一个初始加权有限状态转换器,根据当前初始加权有限状态转换器的结构(初始节点、中间节点和前向边)在目标加权有限状态转换器中增加新中间节点和新前向边,进而增加从新起始节点到当前有限加权状态机的起始节点对应的新中间节点的第一前向边,第一前向边执行空操作,并将指向终止节点的前向边所对应的新前向边指向新终止节点,使得新中间节点和新前向边构成新起始节点和新终止节点之间的路径,并且在添加过程中还根据中间节点数量更新新中间节点的编号,并添加每条新前向边的代价,新前向边的代价是初始加权有限状态转换器前向边的代价的加权值,其加权值的计算是根据初始加权有限状态转换器对应的预设权重得到,解决了多场景、多领域的语音识别中生成大型加权有限状态转换器带来的低效和耗费时间的问题,达到合并过程快速、节省时间且保证准确率的技术效果。
实施例四
图8为本发明实施例四提供的一种多加权有限状态转换器合并装置的结构示意图,本实施例可适用于语音数据处理的情况,该装置可以由硬件和/或软件实现。本发明实施例所提供的一种多加权有限状态转换器合并装置可以执行本发明上述任一实施例所提供的多加权有限状态转换器合并方法。如图8所示,本实施例提供的多加权有限状态转换器合并装置具体结构如下:模型获取模块410、端点节点建立模块420、新路径生成模块430和代价添加模块440。
模型获取模块410,用于获取至少两个初始加权有限状态转换器,其中,初始加权有限状态转换器包括节点和前向边,节点包括起始节点、中间节点和终止节点。
端点节点建立模块420,用于建立目标加权有限状态转换器的新起始节点和新终止节点。
新路径生成模块430,用于在目标加权有限状态转换器增加新中间节点和新前向边,其中,新中间节点和新前向边用于建立新起始节点和新终止节点之间的路径,新中间节点和新前向边由初始加权有限状态转换器的节点和前向边确定。
代价添加模块440,用于添加每条新前向边的代价,新前向边的代价是初始加权有限状态转换器前向边的代价的加权值。
本实施例的技术方案,通过获取至少两个初始加权有限状态转换器,建立目标加权有限状态转换器的新起始节点和新终止节点,根据初始加权有限状态转换器的结构在目标加权有限状态转换器增加新中间节点和新前向边,其中,新中间节点和新前向边用于建立新起始节点和新终止节点之间的路径,新中间节点和新前向边由初始加权有限状态转换器的节点和前向边确定,从而保证目标加权有限状态转换器具有初始加权有限状态转换器的结构,添加每条新前向边的代价,新前向边的代价是初始加权有限状态转换器前向边的代价的加权值,其加权值的计算是根据初始加权有限状态转换器对应的预设权重得到,解决了多场景、多领域的语音识别中生成大型加权有限状态转换器带来的低效和耗费时间的问题,达到合并过程快速、节省时间且保证准确率的技术效果。
在上述实施例的基础上,进一步优化,本实施例提供的新路径生成模块430包括:第一增加单元和第二增加单元。
第一增加单元,用于在新起始节点后增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与初始加权有限状态转换器的第一节点和前向边所形成的路径结构相同,第一节点为初始加权有限状态转换器的中间节点。
第二增加单元,用于将指向终止节点的前向边所对应的新前向边指向新终止节点。
在上述实施例的基础上,进一步优化,本实施例提供的新路径生成模块430包括:初始获取单元、第三增加单元、第四增加单元、切换单元、第五增加单元、第六增加单元和第七增加单元。
初始获取单元,用于获取一个初始加权有限状态转换器作为当前初始加权有限状态转换器。
第三增加单元,用于在新起始节点后增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与当前初始加权有限状态转换器的第二节点和前向边所形成的路径结构相同,第二节点为当前初始加权有限状态转换器的中间节点和终止节点。
第四增加单元,用于增加从终止节点所对应的新中间节点出发且指向新终止节点的第一前向边,第一前向边执行空操作,其中,第一前向边执行空操作,包括:前向边的输入和输出标签均为空或零。
切换单元,用于切换下一初始有限加权状态机为当前初始有限加权状态机。
第五增加单元,用于若当前初始加权有限状态转换器为最后一个初始加权有限状态转换器,在目标加权有限状态转换器中增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与当前初始加权有限状态转换器的第三节点和前向边所形成的路径结构相同,第三节点为当前初始加权有限状态转换器的起始节点和中间节点。
第六增加单元,用于增加从新起始节点到当前有限加权状态机的起始节点对应的新中间节点的第一前向边,第一前向边执行空操作,其中,第一前向边执行空操作,包括:前向边的输入和输出标签均为空或零。
第七增加单元,用于将指向终止节点的前向边所对应的新前向边指向新终止节点。
在上述实施例的基础上,进一步优化,本实施例提供的多加权有限状态转换器合并装置还包括:中间节点数量统计模块。
中间节点数量统计模块,用于统计初始加权有限状态转换器的中间节点数量。
在上述实施例的基础上,进一步优化,本实施例提供的新路径生成模块430还包括:编号单元。
编号单元,用于根据中间节点数量更新新中间节点的编号。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例五
图9为本发明实施例五提供的一种多加权有限状态转换器合并设备的结构示意图,如图9所示,该多加权有限状态转换器合并设备包括存储器510以及一个或多个处理器520、输入装置530、输出装置540以及通信装置560;该多加权有限状态转换器合并设备中处理器520的数量可以是一个或者多个,图9中以一个处理器520为例。该多加权有限状态转换器合并设备中存储器510的数量可以是一个或者多个,图9中以一个存储器510为例。该多加权有限状态转换器合并设备的处理器520、存储器510、输入装置530、输出装置540以及通信装置560可以通过总线或者其他方式连接,图9中以通过总线连接为例。实施例中,多加权有限状态转换器合并设备可以是电脑,手机,平板或服务器等。实施例中,以多加权有限状态转换器合并设备为手机或平板等智能便携终端为例进行描述。存储器510作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例所述的多加权有限状态转换器合并方法对应的程序指令/模块(例如,多加权有限状态转换器合并装置中的模型获取模块410、端点节点建立模块420、新路径生成模块430和代价添加模块440)。存储器510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器510可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信装置560,用于与其他设备建立通信连接,其可以是有线通信装置和/或无线通信装置。
输入装置530可用于接收输入的数字或者字符信息,以及产生与多加权有限状态转换器合并设备的用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置540可以包括扬声器等音频设备。需要说明的是,输入装置530和输出装置540的具体组成可以根据实际情况设定。
处理器520通过运行存储在存储器510中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的多加权有限状态转换器合并方法。
具体的,实施例中,处理器520执行存储器510中存储的一个或多个程序时,
具体实现如下操作:
获取至少两个初始加权有限状态转换器,其中,初始加权有限状态转换器包括节点和前向边,节点包括起始节点、中间节点和终止节点;
建立目标加权有限状态转换器的新起始节点和新终止节点;
在目标加权有限状态转换器增加新中间节点和新前向边,其中,新中间节点和新前向边用于建立新起始节点和新终止节点之间的路径,新中间节点和新前向边由初始加权有限状态转换器的节点和前向边确定;
添加每条新前向边的代价,新前向边的代价是初始加权有限状态转换器前向边的代价的加权值。
在上述实施例的基础上,处理器520还实现如下的操作:在目标加权有限状态转换器增加新中间节点和新前向边,包括:
在新起始节点后增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与初始加权有限状态转换器的第一节点和前向边所形成的路径结构相同,第一节点为初始加权有限状态转换器的中间节点;
将指向终止节点的前向边所对应的新前向边指向新终止节点。
在上述实施例的基础上,处理器520还实现如下的操作:在目标加权有限状态转换器增加新中间节点和新前向边,包括:
获取一个初始加权有限状态转换器作为当前初始加权有限状态转换器;
在新起始节点后增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与当前初始加权有限状态转换器的第二节点和前向边所形成的路径结构相同,第二节点为当前初始加权有限状态转换器的中间节点和终止节点;
增加从终止节点所对应的新中间节点出发且指向新终止节点的第一前向边,第一前向边执行空操作;
切换下一初始有限加权状态机为当前初始有限加权状态机;
若当前初始加权有限状态转换器为最后一个初始加权有限状态转换器,在目标加权有限状态转换器中增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与当前初始加权有限状态转换器的第三节点和前向边所形成的路径结构相同,第三节点为当前初始加权有限状态转换器的起始节点和中间节点;
增加从新起始节点到当前有限加权状态机的起始节点对应的新中间节点的第一前向边,第一前向边执行空操作;
将指向终止节点的前向边所对应的新前向边指向新终止节点。
在上述实施例的基础上,处理器520还实现如下的操作:第一前向边执行空操作,包括:前向边的输入和输出标签均为空或零。
在上述实施例的基础上,处理器520还实现如下的操作:在目标加权有限状态转换器增加新中间节点和新前向边之前,包括:
统计初始加权有限状态转换器的中间节点数量;
目标加权有限状态转换器增加新中间节点和新前向边,包括:
根据中间节点数量更新新中间节点的编号。
上述提供的多加权有限状态转换器合并设备可用于执行上述任意实施例提供的多加权有限状态转换器合并方法,具备相应的功能和有益效果。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种多加权有限状态转换器合并方法,该方法包括:
获取至少两个初始加权有限状态转换器,其中,初始加权有限状态转换器包括节点和前向边,节点包括起始节点、中间节点和终止节点;
建立目标加权有限状态转换器的新起始节点和新终止节点;
在目标加权有限状态转换器增加新中间节点和新前向边,其中,新中间节点和新前向边用于建立新起始节点和新终止节点之间的路径,新中间节点和新前向边由初始加权有限状态转换器的节点和前向边确定;
添加每条新前向边的代价,新前向边的代价是初始加权有限状态转换器前向边的代价的加权值。
可选的,在目标加权有限状态转换器增加新中间节点和新前向边,包括:
在新起始节点后增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与初始加权有限状态转换器的第一节点和前向边所形成的路径结构相同,第一节点为初始加权有限状态转换器的中间节点;
将指向终止节点的前向边所对应的新前向边指向新终止节点。
可选的,在目标加权有限状态转换器增加新中间节点和新前向边,包括:
获取一个初始加权有限状态转换器作为当前初始加权有限状态转换器;
在新起始节点后增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与当前初始加权有限状态转换器的第二节点和前向边所形成的路径结构相同,第二节点为当前初始加权有限状态转换器的中间节点和终止节点;
增加从终止节点所对应的新中间节点出发且指向新终止节点的第一前向边,第一前向边执行空操作;
切换下一初始有限加权状态机为当前初始有限加权状态机;
若当前初始加权有限状态转换器为最后一个初始加权有限状态转换器,在目标加权有限状态转换器中增加新中间节点和新前向边,其中,新中间节点和新前向边所形成的路径与当前初始加权有限状态转换器的第三节点和前向边所形成的路径结构相同,第三节点为当前初始加权有限状态转换器的起始节点和中间节点;
增加从新起始节点到当前有限加权状态机的起始节点对应的新中间节点的第一前向边,第一前向边执行空操作;
将指向终止节点的前向边所对应的新前向边指向新终止节点。
可选的,第一前向边执行空操作,包括:前向边的输入和输出标签均为空或零。
可选的,在目标加权有限状态转换器增加新中间节点和新前向边之前,包括:
统计初始加权有限状态转换器的中间节点数量;
目标加权有限状态转换器增加新中间节点和新前向边,包括:
根据中间节点数量更新新中间节点的编号。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的多加权有限状态转换器合并方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述多加权有限状态转换器合并装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。