CN110322884B - 一种解码网络的插词方法、装置、设备及存储介质 - Google Patents

一种解码网络的插词方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110322884B
CN110322884B CN201910614108.2A CN201910614108A CN110322884B CN 110322884 B CN110322884 B CN 110322884B CN 201910614108 A CN201910614108 A CN 201910614108A CN 110322884 B CN110322884 B CN 110322884B
Authority
CN
China
Prior art keywords
node
triphone
arc
entry
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910614108.2A
Other languages
English (en)
Other versions
CN110322884A (zh
Inventor
陆梦寒
张滔
费大勇
王从涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
iFlytek Co Ltd
Original Assignee
iFlytek Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by iFlytek Co Ltd filed Critical iFlytek Co Ltd
Priority to CN201910614108.2A priority Critical patent/CN110322884B/zh
Publication of CN110322884A publication Critical patent/CN110322884A/zh
Application granted granted Critical
Publication of CN110322884B publication Critical patent/CN110322884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种解码网络的插词方法、装置、设备及存储介质,方法包括:获取目标词条集合,目标词条集合包括至少一条待插入词条;将目标词条集合中的词条拓展成三音素级网络,作为待插入三音素级网络;将待插入三音素级网络插入作为解码网络的目标三音素级网络,获得插词后的解码网络。本申请提供的方法可实现在用于语音识别的解码网络中插入词条,且本申请提供的方法内存占用小,插词效率高,用户体验较好。

Description

一种解码网络的插词方法、装置、设备及存储介质
技术领域
本申请涉及语音识别技术领域,尤其涉及一种解码网络的插词方法、装置、设备及存储介质。
背景技术
随着移动互联网时代的来临,语音识别作为人机交互的重要接口,已经受到越来越多公司和厂商的重视,特别是在嵌入式端应用领域,语音交互已经成为一种必须的功能。
语音识别的大致过程为:获取输入音频,计算输入音频的后验特征,将后验特征在解码网络上解码,解码结果即为语音识别结果,经由该过程可知,解码网络是实现语音识别的重要部分。
对于适用于本地语音识别的解码网络而言,在某些时候,用户需要在解码网络中插入一些词条,比如,用户在使用电话功能时,其电话簿中的联系人在解码网络中并不存在,此时,需要将这些联系人作为待插入词条插入解码网络,即,需要提供一种解码网络的插词方法。
发明内容
有鉴于此,本申请提供了一种解码网络的插词方法、装置、设备及存储介质,用以将待插入词条插入解码网络,其技术方案如下:
一种解码网络的插词方法,包括:
获取目标词条集合,所述目标词条集合包括至少一条待插入词条;
将所述目标词条集合中的词条拓展成三音素级网络,作为待插入三音素级网络;
将所述待插入三音素级网络插入作为解码网络的目标三音素级网络,获得插词后的解码网络。
其中,所述待插入三音素级网络和所述目标三音素级网络均包括:若干个节点和节点间的有向弧,其中,每个有向弧上标注有按预设的三音素拼接规则拼接而成的三音素;
优选的,所述解码网络的插词方法,还包括:
对所述插词后的解码网络的结构进行优化,以去除所述插词后的解码网络中重复的三音素以及冗余的节点和有向弧。
可选的,所述将所述目标词条集合中的词条拓展成三音素级网络,包括:
确定所述目标词条集合中的每一词条对应的起始节点标识和结束节点标识,其中,任一词条对应的起始节点标识和结束节点标识为该词条在所述目标三音素级网络中的起始节点标识和结束节点标识;
根据所述每一词条对应的起始节点标识和结束节点标识,以及每一词条的音素序列,将所述目标词条集合中的词条拓展成三音素级网络。
可选的,所述确定所述目标词条集合中的每一词条对应的起始节点标识和结束节点标识,包括:
针对所述目标词条集合中的每一词条:
根据该词条的音素序列中头部的两个音素以及所述目标三音素级网络的头部三元组集合,确定该词条对应的起始节点标识,其中,所述目标三音素级网络的头部三元组集合包括所述目标三音素级网络中各词条分别对应的头部三元组,任一词条对应的头部三元组包括该词条的音素序列中头部的两个音素和该词条对应的起始节点标识;
根据该词条对应的音素序列中尾部的两个音素以及所述目标三音素级网络的尾部三元组集合,确定该词条对应的结束节点标识,其中,所述目标三音素级网络的尾部三元组集合包括所述目标三音素级网络中各词条分别对应的尾部三元组,任一词条对应的尾部三元组包括该词条的音素序列中尾部的两个音素和该词条对应的结束节点标识;
以得到所述目标词条集合中的每一词条对应的起始节点标识和结束节点标识。
优选的,所述解码网络的插词方法还包括:
获取所述目标词条集合中每一词条对应的头部三元组和尾部三元组;
针对所述目标词条集合中的每一词条:
若该词条对应的头部三元组未存在于所述目标三音素级网络的头部三元组集合中,则将该词条对应的头部三元组添加至所述目标三音素级网络的头部三元组集合中;
若该词条对应的尾部三元组未存在于所述目标三音素级网络的尾部三元组集合中,则将该词条对应的尾部三元组添加至所述目标三音素级网络的尾部三元组集合中。
可选的,所述根据所述每一词条对应的起始节点标识和结束节点标识,以及每一词条的音素序列,将所述目标词条集合中的词条拓展成三音素级网络,包括:
针对所述目标词条集合中的每一词条:根据该词条的音素序列,在以该词条对应的起始节点标识为标识的起始节点和以该词条对应的结束节点标识为标识的结束节点之间,生成有向弧和中间节点,并在生成的每个有向弧上标注三音素,其中,生成的每个有向弧上标注的三音素为将该词条的音素序列按所述三音素拼接规则拼接而成的三音素;
其中,具有相同起始节点标识的词条共用一个起始节点,具有相同结束节点标识的词条共用一个结束节点。
可选的,所述将所述待插入的三音素级网络插入作为解码网络的目标三音素级网络,包括:
获取所述待插入的三音素级网络在所述目标三音素级网络中的左侧邻接节点的信息以及右侧邻接节点的信息;
根据所述左侧邻接节点的信息,将所述待插入的三音素级网络的左侧接入所述目标三音素级网络,并根据所述右侧邻接节点的信息,将所述待插入的三音素级网络的右侧接入所述目标三音素级网络。
可选的,所述左侧邻接节点的信息为各左侧邻接节点分别对应的三元组组成的左侧三元组集合,所述右侧邻接节点的信息为各右侧邻接节点分别对应的三元组组成的右侧三元组集合,任一侧邻接节点对应的三元组包括该侧邻接节点对应的两个音素和该侧邻接节点对应的节点标识;
所述根据所述左侧邻接节点的信息,将所述待插入的三音素级网络的左侧接入所述目标三音素级网络,并根据所述右侧邻接节点的信息,将所述待插入的三音素级网络的右侧接入所述目标三音素级网络,包括:
根据所述左侧三元组集合和所述待插入三音素级网络的头部三元组集合,将所述待插入的三音素级网络的左侧接入所述目标三音素级网络,并根据所述右侧三元组集合和所述待插入三音素级网络的尾部三元组集合,将所述待插入的三音素级网络的右侧接入所述目标三音素级网络;
其中,所述待插入三音素级网络的头部三元组集合包括所述目标词条集合中各词条分别对应的头部三元组,任一词条对应的头部三元组包括该词条的音素序列中头部的两个音素和该词条对应的起始节点标识;所述待插入三音素级网络的尾部三元组集合包括所述目标词条集合中各词条分别对应的尾部三元组,任一词条对应的尾部三元组包括该词条的音素序列中尾部的两个音素和该词条对应的结束节点标识。
可选的,所述对所述插词后的解码网络的结构进行优化,包括:
根据所述插词后的解码网络中的出弧等价节点和/或入弧等价节点,对所述插词后的解码网络进行优化;
其中,两个节点为出弧等价节点满足:两个节点的出弧数量相同,且,两个节点的出弧一一对应是等价出弧,两个出弧为等价出弧满足:两个出弧分别对应的三音素和终止节点相同;
其中,两个节点为入弧等价节点满足:两个节点的入弧数量相同,且,两个节点的入弧一一对应是等价入弧,两个入弧为等价入弧满足:两个入弧分别对应的三音素和起始节点相同。
可选的,根据所述插词后的解码网络中的出弧等价节点,对所述插词后的解码网络进行优化,包括:
从所述插词后的解码网络中获取出弧等价节点组,组成出弧等价节点组集合,其中,任一出弧等价节点组中的各节点为出弧等价节点;
遍历所述出弧等价节点组集合中的出弧等价节点组,针对当前遍历到的出弧等价节点组:
将当前遍历到的出弧等价节点组中的一节点作为第一目标节点,将其它节点的入弧中与所述第一目标节点的入弧不为等价出弧的入弧的终止节点调整为所述第一目标节点,将其它节点的入弧中与所述第一目标节点的入弧为等价出弧的入弧删除,并将其它节点以及其它节点的出弧删除。
可选的,根据所述插词后的解码网络中的入弧等价节点,对所述插词后的解码网络进行优化,包括:
从所述插词后的解码网络中获取入弧等价节点组,组成入弧等价节点组集合,其中,任一入弧等价节点组中的各节点为入弧等价节点;
遍历所述入弧等价节点组集合中的入弧等价节点组,针对当前遍历到的入弧等价节点组:
将当前遍历到的入弧等价节点组中的一节点作为第二目标节点,将其它节点的出弧中与所述第二目标节点的出弧不为等价入弧的出弧的起始节点调整为所述第二目标节点,将其它节点的出弧中与所述第二目标节点的出弧为等价入弧的出弧删除,并将其它节点以及其它节点的入弧删除。
一种解码网络的插词装置,包括:获取模块、拓展模块和插词模块;
所述获取模块,用于获取目标词条集合,所述目标词条集合包括至少一条待插入词条;
所述拓展模块,用于将所述目标词条集合中的词条拓展成三音素级网络,作为待插入三音素级网络;
所述插词模块,用于将所述待插入三音素级网络插入作为解码网络的目标三音素级网络,获得插词后的解码网络。
一种解码网络的插词设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现所述解码网络的插词方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述解码网络的插词方法的各个步骤。
经由上述方案可知,本申请提供的解码网络的插词方法、装置、设备及存储介质,首先获取包含待插入词条的目标词条集合,然后将目标词条集合中的词条拓展成三音素级网络作为待插入三音素级网络,最后将待插入三音素级网络插入作为解码网络的目标三音素级网络,获得插词后的解码网络。经由上述方案可知,本申请提供的解码网络的插词方法不但可以实现解码网络的插词,而且,由于插词过程直接在目标三音素级网络上进行,因此,内存占用较小,且插词效率较高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的解码网络的插词方法的流程示意图;
图2为本申请实施例提供的将目标词条集合中的词条拓展成三音素级网络的流程示意图;
图3为本申请实施例提供的对待插入词条进行拓展的一示例的示意图;
图4为本申请实施例提供的将多个待插入词条拓展成三音素级网络的一示例的一示意图;
图5为本申请实施例提供的将多个待插入词条拓展成三音素级网络的一示例的另一示意图;
图6为本申请实施例提供的将待插入的三音素级网络插入作为解码网络的目标三音素级网络的流程示意图;
图7a和图7b分别为本申请实施例提供的等价出弧和出弧等价节点的示意图;
图8a和图8b分别为本申请实施例提供的等价入弧和入弧等价节点的示意图;
图9a和图9b分别为本申请实施例提供的优化前网络和根据出弧等价节点进行优化后的网络的示意图;
图10a和图10b分别为本申请实施例提供的优化前网络和根据入弧等价节点进行优化后的网络的示意图;
图11为本申请实施例提供的解码网络的插词装置的结构示意图;
图12为本申请实施例提供的解码网络的插词设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
适用于本地语音识别的解码网络通常是离线编译好的,离线编译的过程为:首先将词级网络拓展为音素级网络,然后将音素级网络拓展为三音素级网络,三音素级网络作为最终的解码网络,用于进行语音识别,用户在使用时,直接加载解码网络即可。
鉴于在某些时候,用户有在解码网络中上传个性化内容的需求,需要实现解码网络的插词,为了实现解码网络的插词,本案发明人进行研究,起初的思路为:
针对待插入词条,首先查询其发音,然后根据其发音在音素级网络上完成插词,接着将插词后的音素级网络拓展成三音素级网络,最后对三音素级网络进行合并,从而获得最终的三音素级网络。
然而,发明人经研究发现,上述在解码网络中插词的思路存在如下问题:
1、内存占用大。
导致内存占用大的原因主要有两个:其一,由于用户端插词时需要先在音素级网络上插词,再拓展成新的三音素级网络,因此,用户端既要保存一份音素级网络,又要保存一份三音素级网络,并且,为了便于快速将音素级网络拓展成新的三音素级网络,需要预存许多额外的节点信息;其二,优化网络会耗费额外的时间,为了兼顾插词效率,无法对三音素级网络进行充分优化,导致网络规模过大。
2、插词效率低。
导致插词效率低的原因主要有两个:其一,插词时,需要先在音素级网络上插词,再重新拓展成新的三音素级网络,耗时较长;其二,插词的效率和网络的大小和复杂程度成反比,在一个很大的复杂网络上插一个词花费的时间,比在一个较小的简单网络上插词要多的多,由于三音素级网络没有充分优化,网络规模过大,影响了插词的效率。
鉴于上述思路存在的问题,本案发明人进行了深入研究,最终提出了一种效果较好的解码网络的插词方法,该方法适用于需要对用于语音识别的解码网络进行插词的应用场景,该评估方法能够高效地将待插入词条插入解码网络,该解码网络的插词方法可应用于具有数据处理能力的终端,也可应用于服务器。接下来通过下述实施例对本申请提供的解码网络的插词方法进行介绍。
请参阅图1,示出了本申请实施例提供的解码网络的插词方法的流程示意图,该方法可以包括:
步骤S101:获取目标词条集合。
其中,目标词条集合包括至少一条待插入词条。
步骤S102:将目标词条集合中的词条拓展成三音素级网络,作为待插入三音素级网络。
具体的,根据目标词条集合中各词条的音素序列,将目标词条集合中的词条拓展成三音素级网络,作为待插入三音素级网络。
其中,待插入三音素级网络包括若干个节点和节点间的有向弧,每个有向弧上标注有三音素。
待插入三音素级网络的有向弧上标注的三音素是对目标词条集合中的词条的音素序列按预设的三音素拼接规则拼接而成的三音素。
示例性的,待插入词条为“张三丰”,“张三丰”的音素序列为(zh,ang1,s,an1,f,eng1),则对该音素序列按预设的三音素拼接规则拼接而成的三音素包括:zh+ang1-s、ang1+s-an1、s+an1-f、an1+f-eng。
步骤S103:将待插入三音素级网络插入作为解码网络的目标三音素级网络,获得插词后的解码网络。
其中,作为解码网络的目标三音素级网络同样包括若干个节点和节点间的有向弧,每个有向弧上标注有按预设的三音素拼接规则拼接而成的三音素。
由于本实施例的插词过程直接在作为解码网络的目标三音素级网络上进行,因此,不需要保存音素级网络,这使得内存占用大大减小,并且,由于插词过程直接针对目标三音素级网络,不再涉及音素级网络,因此,减少了插词流程,提高了插词效率。
本申请实施例提供的解码网络的插词方法,首先获取包含待插入词条的目标词条集合,然后将目标词条集合中的词条拓展成三音素级网络作为待插入三音素级网络,最后将待插入三音素级网络插入作为解码网络的目标三音素级网络,获得插词后的解码网络。经由上述方案可知,本申请实施例提供的解码网络的插词方法不但可以实现解码网络的插词,而且,由于插词过程直接在目标三音素级网络上进行,因此,内存占用较小,且插词效率较高,用户体验较好。
在本申请的另一实施例中,对上述实施例中的“步骤S102:将目标词条集合中的词条拓展成三音素级网络,作为待插入三音素级网络”进行介绍。
请参阅图2,示出了将目标词条集合中的词条拓展成三音素级网络的实现过程的流程示意图,可以包括:
步骤S201:确定目标词条集合中的每一词条对应的起始节点标识和结束节点标识。
其中,任一词条对应的起始节点标识和结束节点标识为该词条在目标三音素级网络中的起始节点标识和结束节点标识。
需要说明的是,作为解码网络的目标三音素级网络中的每个节点都具有一唯一的标识,标识可以为节点的编号,确定目标词条集合中的每一词条对应的起始节点标识和结束节点标识,即确定目标词条集合中的每一词条将来在目标三音素级网络中的起始节点标识和结束节点标识。
具体的,确定目标词条集合中的每一词条对应的起始节点标识和结束节点标识的过程可以包括:针对所述目标词条集合中的每一待插入词条,根据该待插入词条的音素序列中头部的两个音素以及目标三音素级网络的头部三元组集合Head,确定该待插入词条对应的起始节点标识;根据该待插入词条对应的音素序列中尾部的两个音素以及目标三音素级网络的尾部三元组集合Tail,确定该待插入词条对应的结束节点标识;以得到目标词条集合中的每一待插入词条对应的起始节点标识和结束节点标识。
其中,目标三音素级网络的头部三元组集合Head包括目标三音素级网络中各词条分别对应的头部三元组,任一词条对应的头部三元组包括该词条的音素序列中头部的两个音素和该词条对应的起始节点标识;目标三音素级网络的尾部三元组集合Tail包括目标三音素级网络中各词条分别对应的尾部三元组,任一词条对应的尾部三元组包括该词条的音素序列中尾部的两个音素和该词条对应的结束节点标识。
需要说明的是,一个词条对应一个头部三元组和一个尾部三元组,而一个头部三元组可对应一个或多个词条,比如,词条X的音素序列中头部的两个因素为ab,词条Y的音素序列中头部的两个音素也为ab,则词条X和词条Y对应同一头部三元组,同样的,一个尾部三元组也可对应一个或多个词条。
具体的,对于目标词条集合中的任一待插入词条,根据该待插入词条的音素序列中头部的两个音素以及目标三音素级网络的头部三元组集合Head,确定该待插入词条对应的起始节点标识的过程包括:在目标三音素级网络的头部三元组集合Head中查找目标头部三元组,若查找到目标头部三元组,则将目标头部三元组中的起始节点标识确定为该待插入词条对应的起始节点标识。其中,目标头部三元组为包含该待插入词条的音素序列中头部的两个音素的头部三元组。另外,若在目标三音素级网络的头部三元组集合中查找到目标头部三元组,则将目标头部三元组作为该待插入词条对应的头部三元组。
示例性的,待插入词条为“张三丰”,“张三丰”的音素序列为(zh,ang1,s,an1,f,eng1),则在目标三音素级网络的头部三元组集合中查找包含zh和ang1的头部三元组,作为目标头部三元组,假设查找到目标头部三元组(zh,ang1,35),则将35作为待插入词条“张三丰”对应的起始节点标识,将(zh,ang1,35)作为待插入词条“张三丰”对应的头部三元组。
需要说明的是,若在目标三音素级网络的头部三元组集合中未查找到目标头部三元组,则获取目标三音素级网络中节点的当前总数量N,将N+1作为该待插入词条对应的起始节点标识。另外,将该待插入词条的音素序列中头部的两个音素以及N+1组成三元组,作为该待插入词条对应的头部三元组,由于该待插入词条对应的头部三元组未存在于目标三音素级网络的头部三元组集合Head中,因此,将该待插入词条对应的头部三元组添加至目标三音素级网络的头部三元组集合Head中,并更新目标三音素级网络中节点的当前总数量。
示例性的,待插入词条为“张三丰”,“张三丰”的音素序列为(zh,ang1,s,an1,f,eng1),若在目标三音素级网络的头部三元组集合中未查找到包含zh和ang1的头部三元组,则将目标三音素级网络中节点的当前总数量N+1作为待插入词条“张三丰”对应的起始节点标识,并将(zh,ang1,N+1)作为待插入词条“张三丰”对应的头部三元组,并将(zh,ang1,N+1)添加至目标三音素级网络的头部三元组集合中。
具体的,对于目标词条集合中的任一待插入词条,根据该待插入词条的音素序列中尾部的两个音素以及目标三音素级网络的尾部三元组集合Tail,确定该待插入词条对应的结束节点标识的过程包括:在目标三音素级网络的尾部三元组集合Tail中查找目标尾部三元组,若查找到目标尾部三元组,则将目标尾部三元组中的结束节点标识确定为该待插入词条对应的结束节点标识。其中,目标尾部三元组为包含该待插入词条的音素序列中尾部的两个音素的尾部三元组。另外,若在目标三音素级网络的尾部三元组集合中查找到目标尾部三元组,则将目标尾部三元组作为该待插入词条对应的尾部三元组。
需要说明的是,若在目标三音素级网络的尾部三元组集合Tail中未查找到目标尾部三元组,则获取目标三音素级网络中节点的当前总数量M,将M+1作为该待插入词条对应的结束节点标识。另外,将该待插入词条的音素序列中尾部的两个音素以及M+1组成三元组,作为该待插入词条对应的尾部三元组,将该待插入词条对应的尾部三元组添加至目标三音素级网络的尾部三元组集合Tail中,并更新目标三音素级网络中节点的当前总数量。
在本实施例中,需要维护目标三音素级网络的头部三元组集合Head和尾部三元组集合Tail,以便在插入词条时,确定待插入词条在目标三音素级网络中的起始节点标识和结束节点标识,并在每次插入词条时,对目标三音素级网络的头部三元组集合Head和尾部三元组集合Tail进行更新。
步骤S202:根据每一词条对应的起始节点标识和结束节点标识,以及每一词条的音素序列,将目标词条集合中的词条拓展成三音素级网络,作为待插入三音素级网络。
具体的,对于目标词条集合中的任一待插入词条,根据该待插入词条对应的起始节点标识和结束节点标识,以及每一词条的音素序列,将目标词条集合中的词条拓展成三音素级网络的过程可以包括:根据该待插入词条的音素序列,在以该待插入词条对应的起始节点标识为标识的起始节点和以该待插入词条对应的结束节点标识为标识的结束节点之间,生成有向弧和中间节点,并在生成的每个有向弧上标注三音素,以获得待插入三音素级网络。
其中,生成的每个有向弧上标注的三音素为将该词条的音素序列按预设的三音素拼接规则拼接而成的三音素。另外,生成的有向弧和中间节点的数量由该待插入词条的音素序列中音素的数量和预设的三音素拼接规则确定。
示例性的,待插入词条为“张三丰”,“张三丰”的音素序列为(zh,ang1,s,an1,f,eng1),对“张三丰”的音素序列按预设的三音素拼接规则拼接而成的三音素分别为:zh+ang1-s、ang1+s-an1、s+an1-f、an1+f-eng,假设“张三丰”对应的起始节点标识为start_nodeid,对应的结束节点标识为end_nodeid,则在以start_nodeid为标识的起始节点和以end_nodeid为标识的结束节点之间生成四个有向弧和三个中间节点,并在每个有向弧上标注一三音素,如图3所示。
需要说明的是,若目标词条集合包括多个待插入词条,按前述确定起始节点标识和结束节点标识的方式,可能存在多个待插入词条具有相同的起始节点标识、多个待插入词条具有相同的结束节点标识的情况,基于此,生成的待插入三音素级网络中,具有相同起始节点标识的词条共用一个起始节点,具有相同结束节点标识的词条共用一个结束节点。
示例性的,目标词条集合中包括四个待插入词条,四个待插入词条的音素序列分别为:ABCDEF、ABFTKG、HBCFKG、HBAPLK,对四个待插入词条进行拓展,得到的三音素级网络如图4所示,由于ABCDEF头部的两个音素与ABFTKG头部的两个音素相同,因此,ABCDEF与ABFTKG对应的起始节点标识相同,即,拓展得到三音素级网络中,ABCDEF与ABFTKG共用一个起始节点,同样的,HBCFKG与HBAPLK共用一个起始节点,由于ABFTKG尾部的两个音素与HBCFKG尾部的两个音素相同,因此,ABFTKG与HBCFKG对应的结束节点标识相同,即拓展得到三音素级网络中,ABFTKG与HBCFKG共用一个结束节点。
由于出现了节点共用的情况,图4示出的三音素级网络的左端节点只有2个,右端节点只有3个。之所以出现节点共用的情况,是因为维护了头部三元组集合和尾部三元组集合,这使得头部两个音素相同的词条共用一个左端节点,尾部两个音素相同的词条共用一个右端节点。如果不进行节点共用,那么对上述示例中的四个待插入词条进行拓展,得到的三音素级网络如图5所示,图5示出的三音素级网络的左端节点有4个,右端节点也有4个。
需要说明的是,影响插词效率和插词后解码网络规模的因素并非是目标词条集合中待插入词条的数目或待插入词条的长度,而是基于目标词条集合中的待插入词条生成的待插入三音素级网络中左端节点的数量和右端节点的数量。假设待插入词条为3000条,每个词条的音素序列包含有9个音素,那么实际会拓展出3000*8=24000条弧,而将待插入三音素级网络插入目标三音素级网络时,假设目标三音素级网络中接入的左右端节点各有200个,那么在插入到目标三音素级网络时,将新增400*3000*2=2400000条弧,由此可见,真正决定插词效率和插词后解码网络规模的是待插入三音素级网络左右端节点的数量。
本申请实施例中,具有相同起始节点标识的词条共用一个起始节点,具有相同结束节点标识的词条共用一个结束节点,这使得生成的待插入三音素级网络的左右端节点数量大大减少,进而使得插词后的解码网络的规模大大减小。实验表明,待插入词条为3000个时,与不进行节点共用的情况相比,待插入三音素级网络的左右端节点可以缩小到500个左右,如此,将待插入三音素级网络插入目标三音素级网络时,将新增200*500*2=200000条弧,相比之前预估的2400000条弧,优化了90%以上,同时提高了插词效率。
经由前述过程,可获得待插入三音素级网络,在获得待插入三音素级网络后,需要将待插入三音素级网络插入作为解码网络的目标三音素级网络。
请参阅图6,示出了将待插入的三音素级网络插入作为解码网络的目标三音素级网络的实现过程可以包括:
步骤S601:获取待插入三音素级网络在目标三音素级网络中的左侧邻接节点的信息以及右侧邻接节点的信息。
需要说明的是,本实施例中的解码网络根据语法文本生成,语法文本中包括至少一槽,与每一槽对应的至少一个词条,以及每一槽的位置信息。在生成解码网络时,会记录每个槽在三音素级网络中的左侧邻接节点的信息和右侧邻接节点的信息。在本实施例中,待插入三音素级网络需要插入指定槽,指定槽的左侧邻接节点的信息和右侧邻接节点的信息已知,因此,可获得待插入三音素级网络在目标三音素级网络中的左侧邻接节点的信息以及右侧邻接节点的信息。
步骤S602:根据左侧邻接节点的信息,将待插入的三音素级网络的左侧接入目标三音素级网络,并根据右侧邻接节点的信息,将待插入的三音素级网络的右侧接入目标三音素级网络。
优选的,左侧邻接节点的信息为各左侧邻接节点分别对应的三元组组成的左侧三元组集合Left,任一左侧邻接节点对应的三元组包括该左侧邻接节点对应的两个音素和该左侧邻接节点对应的节点标识。相应的,右侧邻接节点的信息为各右侧邻接节点分别对应的三元组组成的右侧三元组集合Right,任一右侧邻接节点对应的三元组包括该右侧邻接节点对应的两个音素和该右侧邻接节点对应的节点标识。
具体的,根据左侧邻接节点的信息,将待插入的三音素级网络的左侧接入目标三音素级网络,并根据右侧邻接节点的信息,将待插入的三音素级网络的右侧接入目标三音素级网络的实现过程可以包括:获取待插入三音素级网络的头部三元组集合和尾部三元组集合;根据左侧三元组集合和待插入三音素级网络的头部三元组集合,将待插入三音素级网络的左侧接入目标三音素级网络,并根据右侧三元组集合和待插入三音素级网络的尾部三元组集合,将待插入的三音素级网络的右侧接入目标三音素级网络。
其中,待插入三音素级网络的头部三元组集合包括目标词条集合中各待插入词条分别对应的头部三元组,任一待插入词条对应的头部三元组包括该待插入词条的音素序列中头部的两个音素和该待插入词条对应的起始节点标识;待插入三音素级网络的尾部三元组集合包括目标词条集合中各待插入词条分别对应的尾部三元组,任一待插入词条对应的尾部三元组包括该待插入词条的音素序列中尾部的两个音素和该待插入词条对应的结束节点标识。
进一步的,根据左侧三元组集合和待插入三音素级网络的头部三元组集合,将待插入的三音素级网络的左侧接入目标三音素级网络的过程包括:针对待插入三音素级网络的头部三元组集合中的每个头部三元组:
遍历左侧三元组集合中的左侧三元组,对于当前遍历到的左侧三元组,根据该头部三元组和当前遍历到的左侧三元组中的音素,在该头部三元组中的节点标识对应的节点与当前遍历到的左侧三元组中的节点标识对应的节点之间生成有向弧和节点,以将该头部三元组中的节点标识对应的节点与当前遍历到的左侧三元组中的节点标识对应的节点链接起来。
示例性的,左侧三元组集合中的一左侧三元组为(d,I,50),待插入三音素级网络的头部三元组集合中的一头部三元组为(s,an,20),则根据头部三元组(s,an,20)中的音素s和an,以及左侧三元组(d,I,50)中的音素d和I,在待插入三音素级网络的节点20和目标三音素级网络的节点50之间构建两条新弧和位于两条新弧之间的一个新节点,以将节点20和节点50链接起来,其中,一条新弧上标注三音素s+an-d,另一新弧上标注三音素an+d-I。
同样的,根据右侧三元组集合和待插入三音素级网络的尾部三元组集合,将待插入的三音素级网络的右侧接入目标三音素级网络的过程包括:针对待插入三音素级网络的尾部三元组集合中的尾部三元组:
遍历右侧三元组集合中的右侧三元组,对于当前遍历到的右侧三元组,根据该尾部三元组和当前遍历到的右侧三元组中的音素,在该尾部三元组中的节点标识对应的节点与当前遍历到的右侧三元组中的节点标识对应的节点之间生成有向弧和节点,以将该尾部三元组中的节点标识对应的节点与当前遍历到的右侧三元组中的节点标识对应的节点链接起来。
经由上述过程,可将待插入三音素级网络插入作为解码网络的目标三音素及网络。
需要说明的是,在作为解码网络的目标三音素级网络中插入待插入三音素级网络后,插词后的解码网络中可能存在重复的三音素和冗余的节点及有向弧,为了简化插词后的解码网络,缩小网络规模,优选的,上述实施例提供的解码网络的插词方法还包括:对插词后的解码网络的结构进行优化,以去除插词后的解码网络中重复的三音素以及冗余的节点和有向弧。
具体的,对插词后的解码网络的结构进行优化的过程可以包括:根据插词后的解码网络中的出弧等价节点和/或入弧等价节点,对插词后的解码网络进行优化。
需要说明的是,两个节点为出弧等价节点满足:两个节点的出弧数量相同,并且,两个节点的出弧一一对应是等价出弧,两个出弧为等价出弧满足:两个出弧分别对应的三音素和终止节点相同;两个节点为入弧等价节点满足:两个节点的入弧数量相同,且,两个节点的入弧一一对应是等价入弧,两个入弧为等价入弧满足:两个入弧分别对应的三音素和起始节点相同。其中,任一弧对应的三音素为该弧上标注的三音素。
示例性的,请参阅图7a,图7a中节点A的出弧(节点A与节点C之间的弧)与节点B的出弧(节点B与节点C之间的弧)分别对应的三音素相同,均为abc,并且,节点A的出弧与节点B的出弧对应的终止节点相同,即节点A的出弧与节点B的出弧对应的终止节点为同一节点C,因此,节点A的出弧与节点B的出弧为等价出弧。请参阅图7b,图7b中节点A的出弧有两条,节点B的出弧也有两条,并且,节点A的一条出弧(节点A与节点C之间的弧)与节点B的一条出弧(节点B与节点C之间的弧)为等价出弧,节点A的另一条出弧(节点A与节点D之间的弧)与节点B的另一条出弧(节点B与节点D之间的弧)为等价出弧,即节点A与节点B的出弧一一对应是等价出弧,则节点A和节点B为出弧等价节点。
示例性的,请参阅图8a,图8a中节点A的入弧(节点E与节点A之间的弧)与节点B的入弧(节点E与节点B之间的弧)分别对应的三音素相同,均为abc,并且,节点A的入弧与节点B的入弧对应的起始节点相同,即节点A的入弧与节点B的入弧对应的起始节点为同一节点E,因此,节点A的入弧与节点B的入弧为等价入弧。请参阅图8b,图8b中节点A的入弧有两条,节点B的入弧也有两条,并且,节点A的一条入弧(节点C与节点A之间的弧)与节点B的一条入弧(节点C与节点B之间的弧)为等价入弧,节点A的另一条入弧(节点D与节点A之间的弧)与节点B的另一条入弧(节点D与节点B之间的弧)为等价入弧,即节点A与节点B的入弧一一对应是等价入弧,则节点A和节点B为入弧等价节点。
进一步的,根据插词后的解码网络中的出弧等价节点对插词后的解码网络进行优化的过程可以包括:从插词后的解码网络中获取出弧等价节点组,组成出弧等价节点组集合,其中,任一出弧等价节点组中的各节点为出弧等价节点;遍历出弧等价节点组集合中的出弧等价节点组,针对当前遍历到的出弧等价节点组:将当前遍历到的出弧等价节点组中的一节点作为第一目标节点,将其它节点的入弧中与第一目标节点的入弧不为等价出弧的入弧的终止节点调整为第一目标节点,将其它节点的入弧中与第一目标节点的入弧为等价出弧的入弧删除,并将其它节点以及其它节点的出弧删除。
需要说明的是,针对任一出弧等价节点组,由于该出弧等价节点组中的节点为出弧等价节点,因此,这些节点中最终只需要保留一个节点作为第一目标节点,其它节点都需要删除,可以理解的,若要将其它节点删除,需要考虑其它节点的出弧和入弧,出弧都需要删除,而入弧则需要确定哪些需要删除,哪些需要调整为第一目标节点的入弧。
示例性的,当前遍历到的出弧等价节点组包括节点A和节点B,由于节点A和节点B为出弧等价节点,因此最终只需要保留一个节点,假设保留节点A(当然,也可保留节点B),则需要将节点B和节点B的出弧均删除,由于节点B需要删除,因此,需要对节点B的入弧进行处理,具体的,将节点B的入弧中,与节点A的入弧不为等价出弧的入弧对应的终止节点调整为节点A,如图9a所示,将节点F与节点B之间的弧对应的终止节点调整为节点A,将节点B的入弧中,与节点A的入弧为等价出弧的入弧删除,即,将节点E与节点B之间的弧删除,并将节点B和节点B的出弧均删除。对图9a示出的网络按上述过程进行优化后得到图9b示出的网络。
前述内容给出了根据插词后的解码网络中的出弧等价节点对插词后的解码网络进行优化的实现过程,接下来对根据插词后的解码网络中的入弧等价节点,对插词后的解码网络进行优化的实现过程进行介绍。
根据插词后的解码网络中的入弧等价节点,对插词后的解码网络进行优化的实现过程可以包括:从插词后的解码网络中获取入弧等价节点组,组成入弧等价节点组集合,其中,任一入弧等价节点组中的各节点为入弧等价节点;遍历入弧等价节点组集合中的入弧等价节点组,针对当前遍历到的入弧等价节点组:将当前遍历到的入弧等价节点组中的一节点作为第二目标节点,将其它节点的出弧中与第二目标节点的出弧不为等价入弧的出弧的起始节点调整为第二目标节点,将其它节点的出弧中与第二目标节点的出弧为等价入弧的出弧删除,并将其它节点以及其它节点的入弧删除。
需要说明的是,针对任一入弧等价节点组,由于该入弧等价节点组中的节点为入弧等价节点,因此,这些节点中最终只需要保留一个节点作为第二目标节点,其它节点都需要删除,可以理解的,若要将其它节点删除,需要考虑其它节点的出弧和入弧,入弧都需要删除,而出弧则需要确定哪些需要删除,哪些需要调整为第二目标节点的出弧。
示例性的,当前遍历到的入弧等价节点组包括节点A和节点B,由于节点A和节点B为入弧等价节点,因此,最终只需要保留一个节点,假设保留节点A(当然,也可保留节点B),删除节点B,由于节点B需要进行删除,因此,需要对节点B的入弧和出弧进行处理,节点B的入弧均需要删除,对于节点B的出弧而言,将节点B的出弧中,与节点A的出弧不为等价入弧的出弧所对应的起始节点调整为节点A,如图10a所示,将节点B与节点F之间的弧对应的起始节点调整为节点A,将节点B的出弧中,与节点A的出弧为等价入弧的出弧删除,即,将节点B与节点E之间的弧删除,并将节点B和节点B的入弧均删除。对图10a示出的网络按上述过程进行优化后得到图10b示出的网络。
本申请实施例提供的解码网络的插词方法,相较于在音素级网络上插词的方法,由于插词直接在作为解码网络的目标三音素级网络上操作,因此,只需要保存目标三音素级网络,内存占用大大减少,并且,在将目标词条集合中的词条拓展成三音素网络时,由于采用了节点共用的策略(头部两个音素相同的词条共用一个起始节点,尾部两个音素相同的词条共用一个结束节点),因此,扩展得到三音素网络的左端节点和右端节点数量减少,这使得插词效率大幅提高,且插词后的解码网络的规模缩小。相较于在音素级网络上插词的方法,本申请实施例提供的解码网络的插词方法的内存占用减少90%,插词时间加快70%。本申请提供的解码网络的插词方法尤其适用于计算性能有限、内存稀缺的终端设备,比如,车载终端、手机等。
本申请实施例还提供了一种解码网络的插词装置,下面对本申请实施例提供的解码网络的插词装置进行描述,下文描述的解码网络的插词装置与上文描述的解码网络的插词方法可相互对应参照。
请参阅图11,示出了本申请实施例提供的一种解码网络的插词装置的结构示意图,该装置可以包括:获取模块1101、拓展模块1102和插词模块1103。
获取模块1101,用于获取目标词条集合,所述目标词条集合包括至少一条待插入词条。
拓展模块1102,用于将所述目标词条集合中的词条拓展成三音素级网络,作为待插入三音素级网络。
插词模块1103,用于将所述待插入三音素级网络插入作为解码网络的目标三音素级网络,获得插词后的解码网络。
本申请实施例提供的解码网络的插词装置,首先获取包含待插入词条的目标词条集合,然后将目标词条集合中的词条拓展成三音素级网络作为待插入三音素级网络,最后将待插入三音素级网络插入作为解码网络的目标三音素级网络,获得插词后的解码网络。本申请实施例提供的解码网络的插词装置不但可以实现解码网络的插词,而且,由于插词过程直接在目标三音素级网络上进行,因此,内存占用较小,且插词效率较高,用户体验较好。
上述的待插入三音素级网络和所述目标三音素级网络均包括:若干个节点和节点间的有向弧,其中,每个有向弧上标注有按预设的三音素拼接规则拼接而成的三音素。
优选的,上述实施例提供的解码网络的插词装置还可以包括:网络优化模块。
网络优化模块,用于对所述插词后的解码网络的结构进行优化,以去除所述插词后的解码网络中重复的三音素以及冗余的节点和有向弧。
在一种可能的实现方式中,上述实施例提供的解码网络的插词装置中,拓展模块可以包括:节点标识确定子模块和拓展子模块。
节点标识确定子模块,用于确定所述目标词条集合中的每一词条对应的起始节点标识和结束节点标识。
其中,任一词条对应的起始节点标识和结束节点标识为该词条在所述目标三音素级网络中的起始节点标识和结束节点标识;
拓展子模块,用于根据所述每一词条对应的起始节点标识和结束节点标识,以及每一词条的音素序列,将所述目标词条集合中的词条拓展成三音素级网络。
在一种可能的实现方式中,节点标识确定子模块,具体用于针对所述目标词条集合中的每一词条:根据该词条的音素序列中头部的两个音素以及所述目标三音素级网络的头部三元组集合,确定该词条对应的起始节点标识,其中,所述目标三音素级网络的头部三元组集合包括所述目标三音素级网络中各词条分别对应的头部三元组,任一词条对应的头部三元组包括该词条的音素序列中头部的两个音素和该词条对应的起始节点标识;根据该词条对应的音素序列中尾部的两个音素以及所述目标三音素级网络的尾部三元组集合,确定该词条对应的结束节点标识,其中,所述目标三音素级网络的尾部三元组集合包括所述目标三音素级网络中各词条分别对应的尾部三元组,任一词条对应的尾部三元组包括该词条的音素序列中尾部的两个音素和该词条对应的结束节点标识;以得到所述目标词条集合中的每一词条对应的起始节点标识和结束节点标识。
优选的,上述实施例提供的解码网络的插词装置还可以包括:三元组获取模块和更新模块。
三元组获取模块,用于获取所述目标词条集合中每一词条对应的头部三元组和尾部三元组。
更新模块,用于针对所述目标词条集合中的每一词条:若该词条对应的头部三元组未存在于所述目标三音素级网络的头部三元组集合中,则将该词条对应的头部三元组添加至所述目标三音素级网络的头部三元组集合中;若该词条对应的尾部三元组未存在于所述目标三音素级网络的尾部三元组集合中,则将该词条对应的尾部三元组添加至所述目标三音素级网络的尾部三元组集合中。
在一种可能的实现方式中,拓展子模块,具体用于针对所述目标词条集合中的每一词条:根据该词条的音素序列,在以该词条对应的起始节点标识为标识的起始节点和以该词条对应的结束节点标识为标识的结束节点之间,生成有向弧和中间节点,并在生成的每个有向弧上标注三音素。
其中,生成的每个有向弧上标注的三音素为将该词条的音素序列按所述三音素拼接规则拼接而成的三音素;具有相同起始节点标识的词条共用一个起始节点,具有相同结束节点标识的词条共用一个结束节点。
在一种可能的实现方式中,上述实施例提供的解码网络的插词装置中,插词模块包括:邻接节点信息获取子模块和插词子模块。
邻接节点信息获取子模块,用于获取所述待插入的三音素级网络在所述目标三音素级网络中的左侧邻接节点的信息以及右侧邻接节点的信息;
插词子模块,用于根据所述左侧邻接节点的信息,将所述待插入的三音素级网络的左侧接入所述目标三音素级网络,并根据所述右侧邻接节点的信息,将所述待插入的三音素级网络的右侧接入所述目标三音素级网络。
在一种可能的实现方式中,所述左侧邻接节点的信息为各左侧邻接节点分别对应的三元组组成的左侧三元组集合,所述右侧邻接节点的信息为各右侧邻接节点分别对应的三元组组成的右侧三元组集合,任一侧邻接节点对应的三元组包括该侧邻接节点对应的两个音素和该侧邻接节点对应的节点标识,则插词子模块,具体用于根据所述左侧三元组集合和所述待插入三音素级网络的头部三元组集合,将所述待插入的三音素级网络的左侧接入所述目标三音素级网络,并根据所述右侧三元组集合和所述待插入三音素级网络的尾部三元组集合,将所述待插入的三音素级网络的右侧接入所述目标三音素级网络。
其中,所述待插入三音素级网络的头部三元组集合包括所述目标词条集合中各词条分别对应的头部三元组,任一词条对应的头部三元组包括该词条的音素序列中头部的两个音素和该词条对应的起始节点标识;所述待插入三音素级网络的尾部三元组集合包括所述目标词条集合中各词条分别对应的尾部三元组,任一词条对应的尾部三元组包括该词条的音素序列中尾部的两个音素和该词条对应的结束节点标识。
在一种可能的实现方式中,上述实施例提供的解码网络的插词装置中,网络优化模块,具体用于根据所述插词后的解码网络中的出弧等价节点和/或入弧等价节点,对所述插词后的解码网络进行优化。
其中,两个节点为出弧等价节点满足:两个节点的出弧数量相同,且,两个节点的出弧一一对应是等价出弧,两个出弧为等价出弧满足:两个出弧分别对应的三音素和终止节点相同;
其中,两个节点为入弧等价节点满足:两个节点的入弧数量相同,且,两个节点的入弧一一对应是等价入弧,两个入弧为等价入弧满足:两个入弧分别对应的三音素和起始节点相同。
在一种可能的实现方式中,网络优化模块在根据所述插词后的解码网络中的出弧等价节点,对所述插词后的解码网络进行优化时,具体用于从所述插词后的解码网络中获取出弧等价节点组,组成出弧等价节点组集合,其中,任一出弧等价节点组中的各节点为出弧等价节点;遍历所述出弧等价节点组集合中的出弧等价节点组,针对当前遍历到的出弧等价节点组:将当前遍历到的出弧等价节点组中的一节点作为第一目标节点,将其它节点的入弧中与所述第一目标节点的入弧不为等价出弧的入弧的终止节点调整为所述第一目标节点,将其它节点的入弧中与所述第一目标节点的入弧为等价出弧的入弧删除,并将其它节点以及其它节点的出弧删除。
在一种可能的实现方式中,网络优化模块在根据所述插词后的解码网络中的入弧等价节点,对所述插词后的解码网络进行优化时,具体用于从所述插词后的解码网络中获取入弧等价节点组,组成入弧等价节点组集合,其中,任一入弧等价节点组中的各节点为入弧等价节点;遍历所述入弧等价节点组集合中的入弧等价节点组,针对当前遍历到的入弧等价节点组:将当前遍历到的入弧等价节点组中的一节点作为第二目标节点,将其它节点的出弧中与所述第二目标节点的出弧不为等价入弧的出弧的起始节点调整为所述第二目标节点,将其它节点的出弧中与所述第二目标节点的出弧为等价入弧的出弧删除,并将其它节点以及其它节点的入弧删除。
本申请实施例还提供了一种解码网络的插词设备,请参阅图12,示出了该解码网络的插词设备的结构示意图,该解码网络的插词设备可以包括:至少一个处理器1201,至少一个通信接口1202,至少一个存储器1203和至少一个通信总线1204;
在本申请实施例中,处理器1201、通信接口1202、存储器1203、通信总线1204的数量为至少一个,且处理器1201、通信接口1202、存储器1203通过通信总线1204完成相互间的通信;
处理器1201可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器1203可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
获取目标词条集合,所述目标词条集合包括至少一条待插入词条;
将所述目标词条集合中的词条拓展成三音素级网络,作为待插入三音素级网络;
将所述待插入三音素级网络插入作为解码网络的目标三音素级网络,获得插词后的解码网络。
可选的,所述程序的细化功能和拓展功能可参照上文描述。
本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:
获取目标词条集合,所述目标词条集合包括至少一条待插入词条;
将所述目标词条集合中的词条拓展成三音素级网络,作为待插入三音素级网络;
将所述待插入三音素级网络插入作为解码网络的目标三音素级网络,获得插词后的解码网络。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (14)

1.一种解码网络的插词方法,其特征在于,包括:
获取目标词条集合,所述目标词条集合包括至少一条待插入词条;
将所述目标词条集合中的词条拓展成三音素级网络,作为待插入三音素级网络;
将所述待插入三音素级网络插入作为解码网络的目标三音素级网络,获得插词后的解码网络。
2.根据权利要求1所述的解码网络的插词方法,其特征在于,所述待插入三音素级网络和所述目标三音素级网络均包括:若干个节点和节点间的有向弧,其中,每个有向弧上标注有按预设的三音素拼接规则拼接而成的三音素;
所述解码网络的插词方法,还包括:
对所述插词后的解码网络的结构进行优化,以去除所述插词后的解码网络中冗余的节点和冗余的有向弧,并在去除所述冗余的有向弧时,将所述冗余的有向弧上标注的三音素去除。
3.根据权利要求2所述的解码网络的插词方法,其特征在于,所述将所述目标词条集合中的词条拓展成三音素级网络,包括:
确定所述目标词条集合中的每一词条对应的起始节点标识和结束节点标识,其中,任一词条对应的起始节点标识和结束节点标识为该词条在所述目标三音素级网络中的起始节点标识和结束节点标识;
根据所述每一词条对应的起始节点标识和结束节点标识,以及每一词条的音素序列,将所述目标词条集合中的词条拓展成三音素级网络。
4.根据权利要求3所述的解码网络的插词方法,其特征在于,所述确定所述目标词条集合中的每一词条对应的起始节点标识和结束节点标识,包括:
针对所述目标词条集合中的每一词条:
根据该词条的音素序列中头部的两个音素以及所述目标三音素级网络的头部三元组集合,确定该词条对应的起始节点标识,其中,所述目标三音素级网络的头部三元组集合包括所述目标三音素级网络中各词条分别对应的头部三元组,任一词条对应的头部三元组包括该词条的音素序列中头部的两个音素和该词条对应的起始节点标识;
根据该词条对应的音素序列中尾部的两个音素以及所述目标三音素级网络的尾部三元组集合,确定该词条对应的结束节点标识,其中,所述目标三音素级网络的尾部三元组集合包括所述目标三音素级网络中各词条分别对应的尾部三元组,任一词条对应的尾部三元组包括该词条的音素序列中尾部的两个音素和该词条对应的结束节点标识;
以得到所述目标词条集合中的每一词条对应的起始节点标识和结束节点标识。
5.根据权利要求4所述的解码网络的插词方法,其特征在于,还包括:
获取所述目标词条集合中每一词条对应的头部三元组和尾部三元组;
针对所述目标词条集合中的每一词条:
若该词条对应的头部三元组未存在于所述目标三音素级网络的头部三元组集合中,则将该词条对应的头部三元组添加至所述目标三音素级网络的头部三元组集合中;
若该词条对应的尾部三元组未存在于所述目标三音素级网络的尾部三元组集合中,则将该词条对应的尾部三元组添加至所述目标三音素级网络的尾部三元组集合中。
6.根据权利要求3或4所述的解码网络的插词方法,其特征在于,所述根据所述每一词条对应的起始节点标识和结束节点标识,以及每一词条的音素序列,将所述目标词条集合中的词条拓展成三音素级网络,包括:
针对所述目标词条集合中的每一词条:根据该词条的音素序列,在以该词条对应的起始节点标识为标识的起始节点和以该词条对应的结束节点标识为标识的结束节点之间,生成有向弧和中间节点,并在生成的每个有向弧上标注三音素,其中,生成的每个有向弧上标注的三音素为将该词条的音素序列按所述三音素拼接规则拼接而成的三音素;
其中,具有相同起始节点标识的词条共用一个起始节点,具有相同结束节点标识的词条共用一个结束节点。
7.根据权利要求2所述的解码网络的插词方法,其特征在于,所述将所述待插入的三音素级网络插入作为解码网络的目标三音素级网络,包括:
获取所述待插入的三音素级网络在所述目标三音素级网络中的左侧邻接节点的信息以及右侧邻接节点的信息;
根据所述左侧邻接节点的信息,将所述待插入的三音素级网络的左侧接入所述目标三音素级网络,并根据所述右侧邻接节点的信息,将所述待插入的三音素级网络的右侧接入所述目标三音素级网络。
8.根据权利要求7所述的解码网络的插词方法,其特征在于,所述左侧邻接节点的信息为各左侧邻接节点分别对应的三元组组成的左侧三元组集合,所述右侧邻接节点的信息为各右侧邻接节点分别对应的三元组组成的右侧三元组集合,任一侧邻接节点对应的三元组包括该侧邻接节点对应的两个音素和该侧邻接节点对应的节点标识;
所述根据所述左侧邻接节点的信息,将所述待插入的三音素级网络的左侧接入所述目标三音素级网络,并根据所述右侧邻接节点的信息,将所述待插入的三音素级网络的右侧接入所述目标三音素级网络,包括:
根据所述左侧三元组集合和所述待插入三音素级网络的头部三元组集合,将所述待插入的三音素级网络的左侧接入所述目标三音素级网络,并根据所述右侧三元组集合和所述待插入三音素级网络的尾部三元组集合,将所述待插入的三音素级网络的右侧接入所述目标三音素级网络;
其中,所述待插入三音素级网络的头部三元组集合包括所述目标词条集合中各词条分别对应的头部三元组,任一词条对应的头部三元组包括该词条的音素序列中头部的两个音素和该词条对应的起始节点标识;所述待插入三音素级网络的尾部三元组集合包括所述目标词条集合中各词条分别对应的尾部三元组,任一词条对应的尾部三元组包括该词条的音素序列中尾部的两个音素和该词条对应的结束节点标识。
9.根据权利要求3所述的解码网络的插词方法,其特征在于,所述对所述插词后的解码网络的结构进行优化,包括:
根据所述插词后的解码网络中的出弧等价节点和/或入弧等价节点,对所述插词后的解码网络进行优化;
其中,两个节点为出弧等价节点满足:两个节点的出弧数量相同,且,两个节点的出弧一一对应是等价出弧,两个出弧为等价出弧满足:两个出弧分别对应的三音素和终止节点相同;
其中,两个节点为入弧等价节点满足:两个节点的入弧数量相同,且,两个节点的入弧一一对应是等价入弧,两个入弧为等价入弧满足:两个入弧分别对应的三音素和起始节点相同。
10.根据权利要求9所述的解码网络的插词方法,其特征在于,根据所述插词后的解码网络中的出弧等价节点,对所述插词后的解码网络进行优化,包括:
从所述插词后的解码网络中获取出弧等价节点组,组成出弧等价节点组集合,其中,任一出弧等价节点组中的各节点为出弧等价节点;
遍历所述出弧等价节点组集合中的出弧等价节点组,针对当前遍历到的出弧等价节点组:
将当前遍历到的出弧等价节点组中的一节点作为第一目标节点,将其它节点的入弧中与所述第一目标节点的入弧不为等价出弧的入弧的终止节点调整为所述第一目标节点,将其它节点的入弧中与所述第一目标节点的入弧为等价出弧的入弧删除,并将其它节点以及其它节点的出弧删除。
11.根据权利要求9所述的解码网络的插词方法,其特征在于,根据所述插词后的解码网络中的入弧等价节点,对所述插词后的解码网络进行优化,包括:
从所述插词后的解码网络中获取入弧等价节点组,组成入弧等价节点组集合,其中,任一入弧等价节点组中的各节点为入弧等价节点;
遍历所述入弧等价节点组集合中的入弧等价节点组,针对当前遍历到的入弧等价节点组:
将当前遍历到的入弧等价节点组中的一节点作为第二目标节点,将其它节点的出弧中与所述第二目标节点的出弧不为等价入弧的出弧的起始节点调整为所述第二目标节点,将其它节点的出弧中与所述第二目标节点的出弧为等价入弧的出弧删除,并将其它节点以及其它节点的入弧删除。
12.一种解码网络的插词装置,其特征在于,包括:获取模块、拓展模块和插词模块;
所述获取模块,用于获取目标词条集合,所述目标词条集合包括至少一条待插入词条;
所述拓展模块,用于将所述目标词条集合中的词条拓展成三音素级网络,作为待插入三音素级网络;
所述插词模块,用于将所述待插入三音素级网络插入作为解码网络的目标三音素级网络,获得插词后的解码网络。
13.一种解码网络的插词设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~11中任一项所述的解码网络的插词方法的各个步骤。
14.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~11中任一项所述的解码网络的插词方法的各个步骤。
CN201910614108.2A 2019-07-09 2019-07-09 一种解码网络的插词方法、装置、设备及存储介质 Active CN110322884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910614108.2A CN110322884B (zh) 2019-07-09 2019-07-09 一种解码网络的插词方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910614108.2A CN110322884B (zh) 2019-07-09 2019-07-09 一种解码网络的插词方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110322884A CN110322884A (zh) 2019-10-11
CN110322884B true CN110322884B (zh) 2021-12-07

Family

ID=68121555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910614108.2A Active CN110322884B (zh) 2019-07-09 2019-07-09 一种解码网络的插词方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110322884B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110610700B (zh) * 2019-10-16 2022-01-14 科大讯飞股份有限公司 解码网络构建方法、语音识别方法、装置、设备及存储介质
CN111477217B (zh) * 2020-04-08 2023-10-10 北京声智科技有限公司 一种命令词识别方法及装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1674092A (zh) * 2004-03-26 2005-09-28 松下电器产业株式会社 连续数字识别的声韵母跨词建模、解码方法及系统
WO2011037562A1 (en) * 2009-09-23 2011-03-31 Nuance Communications, Inc. Probabilistic representation of acoustic segments
CN103092928A (zh) * 2012-12-31 2013-05-08 安徽科大讯飞信息科技股份有限公司 语音查询方法及系统
CN103095911A (zh) * 2012-12-18 2013-05-08 苏州思必驰信息科技有限公司 一种通过语音唤醒寻找手机的方法及系统
CN103971686A (zh) * 2013-01-30 2014-08-06 腾讯科技(深圳)有限公司 自动语音识别方法和系统
CN105529027A (zh) * 2015-12-14 2016-04-27 百度在线网络技术(北京)有限公司 语音识别方法和装置
CN105869624A (zh) * 2016-03-29 2016-08-17 腾讯科技(深圳)有限公司 数字语音识别中语音解码网络的构建方法及装置
CN106653007A (zh) * 2016-12-05 2017-05-10 苏州奇梦者网络科技有限公司 一种语音识别系统
CN106816148A (zh) * 2015-11-30 2017-06-09 三星电子株式会社 语音识别设备和方法
CN107123417A (zh) * 2017-05-16 2017-09-01 上海交通大学 基于鉴别性训练的定制语音唤醒优化方法及系统
CN109087645A (zh) * 2018-10-24 2018-12-25 科大讯飞股份有限公司 一种解码网络生成方法、装置、设备及可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090326945A1 (en) * 2008-06-26 2009-12-31 Nokia Corporation Methods, apparatuses, and computer program products for providing a mixed language entry speech dictation system
RU2692051C1 (ru) * 2017-12-29 2019-06-19 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для синтеза речи из текста

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1674092A (zh) * 2004-03-26 2005-09-28 松下电器产业株式会社 连续数字识别的声韵母跨词建模、解码方法及系统
WO2011037562A1 (en) * 2009-09-23 2011-03-31 Nuance Communications, Inc. Probabilistic representation of acoustic segments
CN103095911A (zh) * 2012-12-18 2013-05-08 苏州思必驰信息科技有限公司 一种通过语音唤醒寻找手机的方法及系统
CN103092928A (zh) * 2012-12-31 2013-05-08 安徽科大讯飞信息科技股份有限公司 语音查询方法及系统
CN103971686A (zh) * 2013-01-30 2014-08-06 腾讯科技(深圳)有限公司 自动语音识别方法和系统
CN106816148A (zh) * 2015-11-30 2017-06-09 三星电子株式会社 语音识别设备和方法
CN105529027A (zh) * 2015-12-14 2016-04-27 百度在线网络技术(北京)有限公司 语音识别方法和装置
CN105869624A (zh) * 2016-03-29 2016-08-17 腾讯科技(深圳)有限公司 数字语音识别中语音解码网络的构建方法及装置
CN106653007A (zh) * 2016-12-05 2017-05-10 苏州奇梦者网络科技有限公司 一种语音识别系统
CN107123417A (zh) * 2017-05-16 2017-09-01 上海交通大学 基于鉴别性训练的定制语音唤醒优化方法及系统
CN109087645A (zh) * 2018-10-24 2018-12-25 科大讯飞股份有限公司 一种解码网络生成方法、装置、设备及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Split Acoustic Modeling in Decoder for Phoneme Recognition;R Pradeep;《2017 14th IEEE India Council International Conference (INDICON)》;20181011;1-5 *
连续数字语音识别系统的研究及应用;刘胜江;《中国优秀硕士学位论文全文数据库信息科技辑》;20170630;I136-68 *

Also Published As

Publication number Publication date
CN110322884A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN110610700B (zh) 解码网络构建方法、语音识别方法、装置、设备及存储介质
CN110322884B (zh) 一种解码网络的插词方法、装置、设备及存储介质
CN111696545B (zh) 语音识别纠错方法、装置以及存储介质
CN109087645B (zh) 一种解码网络生成方法、装置、设备及可读存储介质
US20130024649A1 (en) Method and device for storing routing table entry
CN107577629B (zh) 一种数据接口处理方法、装置、服务器及介质
US10897702B2 (en) Method and device for calling SIM card, method and device for pushing information, and SIM card allocation system
KR20140039696A (ko) Url 리스트에서 url 주소 검색 방법 및 장치
CN106657433B (zh) 一种多网卡环境下物理网卡的命名方法和装置
CN108875035B (zh) 分布式文件系统的数据存储方法及相关设备
CN109408682A (zh) 一种正则表达式匹配的方法、系统及设备
CN112102840A (zh) 语义识别方法、装置、终端及存储介质
EP3361782A1 (en) Routing method, device, nfcc and dh
CN104063377A (zh) 信息处理方法和使用其的电子设备
CN114064668A (zh) 用于存储管理的方法、电子设备和计算机程序产品
CN115865843A (zh) 规则存储方法、报文处理方法、装置、电子设备及介质
CN111176830B (zh) 信息流的分配方法、装置及服务器系统
CN108509478B (zh) 规则引擎文件的拆分调用方法、电子装置及存储介质
CN111863043A (zh) 音频转写文件生成方法、相关设备及可读存储介质
CN112398666B (zh) 软件差分升级方法、装置、设备及存储介质
JPWO2019187463A1 (ja) 対話サーバ
CN114676071B (zh) 数据处理方法、装置、电子设备及存储介质
CN117370456A (zh) 请求分配方法、装置、设备及存储介质
CN113779020A (zh) 数据存储方法、数据读取方法、装置、介质及电子设备
CN117499521A (zh) 数据管理结构、数据管理方法及装置、电子设备、介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant