CN117690434A - 多命令词的语音解码识别方法、装置、设备及存储介质 - Google Patents

多命令词的语音解码识别方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117690434A
CN117690434A CN202410156317.8A CN202410156317A CN117690434A CN 117690434 A CN117690434 A CN 117690434A CN 202410156317 A CN202410156317 A CN 202410156317A CN 117690434 A CN117690434 A CN 117690434A
Authority
CN
China
Prior art keywords
token
sequence
node
prefix
time step
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.)
Granted
Application number
CN202410156317.8A
Other languages
English (en)
Other versions
CN117690434B (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.)
Shenzhen Youjie Zhixin Technology Co ltd
Original Assignee
Shenzhen Youjie Zhixin Technology 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 Shenzhen Youjie Zhixin Technology Co ltd filed Critical Shenzhen Youjie Zhixin Technology Co ltd
Priority to CN202410156317.8A priority Critical patent/CN117690434B/zh
Publication of CN117690434A publication Critical patent/CN117690434A/zh
Application granted granted Critical
Publication of CN117690434B publication Critical patent/CN117690434B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及语音解码技术领域,特别是涉及到一种多命令词的语音解码识别方法、装置、设备及存储介质,其中方法包括:基于转换为token序列的所述命令词列表生成前缀树;基于用户指令的语音识别模型输出,结合前缀树在模型输出中计算当前时间步对应的指定数量的候选序列;识别所述候选序列的前缀序列在所述前缀树中确认当前时间步对应的节点,并基于所述节点的子节点,确定下一个时间步的token搜索范围;对所述token搜索范围进行目标搜索,并根据搜索结果更新扩展所述前缀序列;直到最后一个时间步搜索完毕后,对获得的预选数量的所述候选序列进行二次打分,得到识别结果。本申请解码时长受命令词数量变化影响小,确保了系统处理大量命令词时保持高效性。

Description

多命令词的语音解码识别方法、装置、设备及存储介质
技术领域
本申请涉及语音解码领域,特别是涉及到一种多命令词的语音解码识别方法、装置、设备及存储介质。
背景技术
命令词识别属于语音识别,广泛应用于智能家居领域,比如智能语音音箱、智能语音耳机、智能语音灯、智能语音风扇等。嵌入式设备由于成本考虑,相比手机等智能设备,其算力低、内存和闪存空间小。一般的命令词识别方法,是对特定的命令词路径进行打分,选取出命令词列表中得分最高的,且满足设定阈值的,为识别结果。此方式随着命令词个数的增多,解码时间也会线性增加。这对低资源设备而言,增加了语音识别的处理时间,使得识别可能无法做到实时处理。
因此,现有的识别方法在针对多命令词识别时会增加低资源设备的语音识别处理时间的问题。
发明内容
本申请的主要目的为提供一种多命令词的语音解码识别方法、装置、设备及存储介质,旨在解决现有的识别方法在针对多命令词识别时会增加低资源设备的语音识别处理时间的技术问题。
为了实现上述发明目的,本申请提出一种多命令词的语音解码识别方法,所述方法包括:
将命令词列表中的命令词转换为token序列;
基于转换为token序列的所述命令词列表,生成前缀树;
基于用户指令的语音识别模型输出,结合所述前缀树在模型输出中计算当前时间步对应的指定数量的候选序列;
识别所述候选序列的前缀序列在所述前缀树中确认当前时间步对应的节点,并基于所述节点的子节点,确定下一个时间步的token搜索范围;
对所述token搜索范围进行目标搜索,并根据搜索结果更新扩展所述前缀序列;
直到最后一个时间步搜索完毕后,对获得的预选数量的所述候选序列进行二次打分,得到识别结果。
进一步地,所述将命令词列表中的命令词转换为token序列的步骤,包括:
识别所述命令词列表中的命令词;
基于预设的建模单元,将所述命令词转换为预设字符;
将所述预设字符转换为对应的token序列并存储。
进一步地,所述基于转换为token序列的所述命令词列表,生成前缀树的步骤,包括:
基于前缀树数据结构,创建一个空的前缀树;
针对每个所述token序列,从根节点开始遍历,依次将每个token添加到所述前缀树中;
为每个添加的token创建对应节点,并将对应节点连接到前一个token所在的节点上,直到遍历完所有所述token序列。
进一步地,所述基于用户指令的语音识别模型输出,结合所述前缀树在模型输出中计算当前时间步对应的指定数量的候选序列的步骤,包括:
设定一个初始的Beam,所述Beam为预设数量大小;
从前缀树的根节点开始,对所述根节点的子节点进行搜索,获取对应的token序列;
将获取的token序列输入到语音识别模型中,计算对应的得分值;
将前beam个得分最高的所述候选序列以及对应的所述得分值,加入对应的Beam中。
进一步地,所述识别所述候选序列的前缀序列在所述前缀树中确认当前时间步对应的节点,并基于所述节点的子节点,确定下一个时间步的token搜索范围的步骤,包括:
根据当前时间步对应的所述前缀序列,识别所述前缀序列中最后一个token在所述前缀树中对应的节点;
基于所述节点中确定所述节点下对应的所有子节点;
获取所有所述子节点对应的token,并将所有所述子节点对应的token判定为下一个时间步的token搜索范围。
进一步地,所述对所述token搜索范围进行目标搜索,并根据搜索结果更新扩展所述前缀序列的步骤,包括:
将所述token搜索范围包含的所有token作为搜索目标输入到语音识别模型中,计算对应的得分值;
根据所述得分值的排序筛选出指定数量的token,作为所述搜索结果;
将所述搜索结果加入到对应的所述候选序列中,完成对所述前缀序列的更新扩展。
进一步地,所述直到最后一个时间步搜索完毕后,对获得的预选数量的所述候选序列进行二次打分,得到识别结果的步骤,包括:
当识别到时间步为最大时间步时搜索完毕,判定当前获得的预选数量的所述候选序列为最终候选序列;
将所述最终候选序列使用前向算法进行二次打分,并获取打分结果;
根据所述打分结果,筛选出所述识别结果。
本申请的第二方面还提出一种多命令词的语音解码识别装置,包括:
转换模块,用于将命令词列表中的命令词转换为token序列;
前缀树生成模块,用于基于转换为token序列的所述命令词列表,生成前缀树;
序列获取模块,用于基于用户指令的语音识别模型输出,结合所述前缀树在模型输出中计算当前时间步对应的指定数量的候选序列;
节点确认模块,用于识别所述候选序列的前缀序列在所述前缀树中确认当前时间步对应的节点,并基于所述节点的子节点,确定下一个时间步的token搜索范围;
搜索模块,用于对所述token搜索范围进行目标搜索,并根据搜索结果更新扩展所述前缀序列;
二次打分模块,用于直到最后一个时间步搜索完毕后,对获得的预选数量的所述候选序列进行二次打分,得到识别结果。
本申请的第三方面还包括一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述中任一项所述方法的步骤。
本申请的第四方面还包括一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述中任一项所述方法的步骤。
有益效果:
本申请在prefix beam search算法基础上,结合了命令词列表,在命令词列表对应的前缀树的节点中进行候选序列中的token的预测和评估,实现了不同场景的定制化,优化了搜索算法,大幅降低了前缀搜索的耗时,大大减少了搜索次数,将通用的识别搜索限定于命令词列表,大大提高了解码的识别准确率,使解码时长基本不随命令词数量变化,确保了系统在处理大量命令词时仍能保持高效性。
附图说明
图1 为本申请一实施例的多命令词的语音解码识别方法的流程示意图;
图2 为本申请一实施例的多命令词的语音解码识别装置的结构示意框图;
图3 为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”“一个”“上述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件、模块和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、模块、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一模块和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
参照图1,本发明实施例提供一种多命令词的语音解码识别方法,包括步骤S1-S6,具体地:
S1、将命令词列表中的命令词转换为token序列;
S2、基于转换为token序列的所述命令词列表,生成前缀树;
S3、基于用户指令的语音识别模型输出,结合所述前缀树在模型输出中计算当前时间步对应的指定数量的候选序列;
S4、识别所述候选序列的前缀序列在所述前缀树中确认当前时间步对应的节点,并基于所述节点的子节点,确定下一个时间步的token搜索范围;
S5、对所述token搜索范围进行目标搜索,并根据搜索结果更新扩展所述前缀序列;
S6、直到最后一个时间步搜索完毕后,对获得的预选数量的所述候选序列进行二次打分,得到识别结果。
如上述步骤S1所示,针对预设的建模单元,将命令词转换为预设字符。例如,将中文命令词 "打开空调" 转换为拼音序列 "d a k ai k ong t iao”。将预设字符转换为对应的token序列并存储。这里的token可以是音素、拼音或其他建模单元。例如,将拼音序列"d a kai kong tiao" 转换为对应的音素序列 "d a k ai k ong t iao”。通过将命令词转换为token序列,可以将命令词的语音信息转化为更易于处理的离散符号序列,方便后续的数据处理和算法应用。基于预设的建模单元进行转换,可以灵活地选择合适的建模单元,如音素或拼音,以适应不同语言和语音识别任务的需求。提高后续步骤的处理效率,并为多命令词的语音解码识别方法奠定基础。
如上述步骤S2所示,在这一步,首先创建一个空的前缀树,作为存储命令词列表的容器。针对每个命令词的token序列,在前缀树中从根节点开始遍历,依次将每个token添加到前缀树中。对于每个token,都创建一个对应的节点,并将该节点连接到前一个token对应的节点上,直到遍历完整个token序列。前缀树可以高效地支持前缀匹配操作,这对于语音解码识别中的搜索和匹配步骤非常重要,特别是在处理多命令词的情况下,前缀树允许快速查询一个前缀是否存在于树中,以及查询前缀后续的孩子节点范围等操作。这对于确定搜索范围和提高搜索效率非常有利。
如上述步骤S3-S5所示,首先,用户的语音指令经过语音识别模型处理后,得到了模型的输出,通常该输出即为解码矩阵,这个输出包含了对语音的解码结果,即模型对语音信号的理解和翻译成token序列的能力。使用步骤S2生成的前缀树,将模型输出的token序列与前缀树进行匹配,按照时间步的顺序,首先在第一个时间步,从根节点对其包含的子节点进行搜索,识别可能匹配的候选序列,这个过程结合了模型的输出和前缀树的结构,用于确定当前时间步对应的指定数量的候选序列,然后实现候选序列在前缀树中的定位,由于前缀树的结构,可以同时处理多个命令词的匹配。每个命令词对应于前缀树中的一个分支,系统能够在不同分支上同时搜索,前缀树允许按照token序列的前缀进行匹配,从而减少了搜索的时间复杂度,对于在大量可能的命令词中快速定位候选序列是非常有效的。
如上述步骤S4-S5所示,对于每个候选序列,系统会检查前缀序列在前缀树中的位置。前缀序列是已经识别的部分序列,它可能对应于前缀树中的一个节点或部分节点。系统需要确认前缀序列的位置,以便进一步确定下一个时间步的token搜索范围。一旦前缀序列的位置确认,系统会识别当前时间步对应的节点。这个节点表示前缀序列已经匹配到的部分。根据前缀树的结构,该节点可能有多个子节点,这些子节点代表了当前节点对应的命令词转换为的token序列中的后续(下一个)token的范围,一旦确定了初始的节点,就可以根据前缀树确定对应的子节点,然后根据子节点获取对应token,确定token搜寻范围,系统会在下一个时间步开始在token搜寻范围内对当前候选序列的token进行搜寻,这个搜寻过程包括对每个可能的下一个token使用解码矩阵进行评估(匹配),然后根据评估的结果选择对应数量的最佳的token,并更新候选序列,一直循环步骤S4-S5,直到完成整个解码识别的过程。通过这个过程,系统能够根据前缀树的结构,动态地确定后续token的范围,并在每个时间步根据用户输入和上下文进行下一个token的搜寻,逐步构建出最终的候选序列(候选命令词)。本步骤通过在以命令词列表为基础构建的前缀树中确定当前候选序列的前缀序列中的token在前缀树中对应节点,然后通过子节点将搜索范围限定在命令词(列表)内,由于搜索空间被限制在命令词列表包含的命令词(对应的token)内,系统更有可能正确地理解用户的意图并选择正确的下一个token,同时减少了需要搜索的可能性,提高了搜索效率。通过排除不相关的信息,有助于提高系统的识别准确率,可以更快速地执行下一个token的搜寻过程,提高响应速度。
如上述步骤S6所示,当候选序列的最后一个token搜索完毕后,系统会对获得的预选数量(beam size)的候选命令词进行二次打分,以得到最终的识别结果。这个二次打分的过程主要是为了进一步筛选和排序候选命令词,以确定最佳的识别结果,通常会根据一些评估指标,如命令词的整体匹配度、上下文的一致性、语言模型的得分等进行打分。系统根据这些评估指标对每个候选序列(候选命令词)进行打分,例如使用前向算法进行打分,得到一个分数,分数越高表示识别结果的置信度越高。然后,根据这些分数对候选命令词进行排序,将分数最高的命令词作为最终的识别结果。这个二次打分的过程有助于对识别结果进行进一步的优化和精确度的提升,确保用户获得准确、可靠的识别结果。
在传统的解码方法中,通常是对每个命令词进行打分,然后从中选择得分最高的作为识别结果。这种方法的解码时长与命令词列表的大小成正比,因为对每个命令词都需要进行计算和比较,如果命令词列表很大,解码时长将显著增加。而本申请,首先利用前缀树将命令词列表组织起来,通过将命令词列表转换为token序列,并结合前缀树,实现了对不同场景的命令词定制化支持,且通过前缀树,有序地对当前命令词对应的token进行排布,然后基于候选序列的token,确定对应的子节点并通过子节点确定下一个token搜寻范围,大幅降低了前缀搜索的耗时,确保解码耗时低,提高了搜索效率。相比于传统的算法。例如传统的前缀波束搜索算法(prefix beam search),本申请能够通过结合前缀树和语音识别模型输出,更好地捕捉用户指令的上下文信息。能够同时处理多个命令词的匹配,这增强了系统对多命令词的适应性,使其更灵活应对不同的用户指令;在搜索和匹配阶段能够提高效率,相比于传统的前缀束搜索,更迅速地定位可能的候选序列,减少搜索的时间复杂度。可以将搜索空间控制在指定的候选路径上,避免了遍历整个命令词列表的问题,因此解码时长不会随着命令词列表的增加而线性增长,大幅减少了搜索次数,从而提高了解码效率,实现了在低资源设备上的快速解码。
在一实施例中,所述将命令词列表中的命令词转换为token序列的步骤,包括:
S101、识别所述命令词列表中的命令词;
S102、基于预设的建模单元,将所述命令词转换为预设字符;
S103、将所述预设字符转换为对应的token序列并存储。
在本实施例中,系统会识别命令词列表中的命令词。命令词列表是预先定义的一组命令词,可能包含各种指令、关键词或短语。选择合适的预设的建模单元,可以是音素、拼音等。对命令词列表中的每个命令词,根据预设的建模单元,将其转换为对应的字符序列,并将其存储起来。例如,将中文命令词 "打开空调" 转换为拼音序列 "d a kai kongtiao”。具体可以使用相应的工具或库实现,如pypinyin,pypinyin 是一个Python库,用于将中文文本转换为拼音,它支持多种拼音风格,例如普通话拼音、注音符号等。g2p_eng,g2p_eng是一个用于将英文文本转换为音素(phoneme)序列的工具。它将英文单词映射到其发音的基本单元,有助于在语音合成或语音识别任务中处理发音差异。Sentencepiece,sentencepiece是一个用于分词和构建子词单元的工具,采用了BPE(Byte PairEncoding,)算法。BPE是一种数据压缩算法,但在NLP(Natural Language Processing,自然语言处理)中也被用于学习更小的子词单元,有助于处理未登录词(out-of-vocabulary)和提高模型的泛化能力。系统将预设字符转换为对应的token序列,并将其存储起来以供后续的处理和使用。Token可以是表示语音建模单位的离散符号,例如音素、拼音或其他建模单位。将预设字符转换为token序列将语音信息转化为更容易处理的离散符号序列,从而方便后续的数据处理和算法应用。例如,将拼音序列 "d a kai kong tiao" 转换为对应的音素序列 "d a k ai k ong t iao”。
通过S101和S102的步骤,命令词列表中的命令词就被转换为了对应的token序列,并存储在系统中。这为后续的解码和识别过程提供了基础数据。
在一实施例中,所述基于转换为token序列的所述命令词列表,生成前缀树的步骤,包括:
S201、基于前缀树数据结构,创建一个空的前缀树;
S202、针对每个所述token序列,从根节点开始遍历,依次将每个token添加到所述前缀树中;
S203、为每个添加的token创建对应节点,并将对应节点连接到前一个token所在的节点上,直到遍历完所有所述token序列。
在本实施例中,首先创建了一个空的前缀树,也叫做字典树或Trie树。这个树的根节点为空,它将用于存储所有命令词的前缀信息。针对每个token序列(命令词列表中的一个命令词),从前缀树的根节点开始遍历,遍历过程中,会依次将每个token添加到前缀树中。这意味着将命令词的各个部分逐步添加到前缀树,从根节点到叶子节点的路径表示了命令词的结构。为每个token创建一个对应的节点,并将这个节点连接到前一个token所在的节点上。这个过程会持续进行,直到遍历完所有token序列。这样,前缀树的结构将反映出命令词列表中所有词语之间的关系和前缀。本实施例通过将一系列命令词列表中的token序列转换成一个前缀树,使得在后续的操作中可以高效地搜索和匹配这些命令词。
在一实施例中,所述基于用户指令的语音识别模型输出,结合所述前缀树在模型输出中计算当前时间步对应的指定数量的候选序列的步骤,包括:
S301、设定一个初始的Beam,所述Beam为预设数量大小;
S302、从前缀树的根节点开始,对所述根节点的子节点进行搜索,获取对应的token序列;
S303、将获取的token序列输入到语音识别模型中,计算对应的得分值;
S304、将前beam个得分最高的所述候选序列以及对应的所述得分值,加入对应的Beam中。
在本实施例中,在这一步,系统初始化一个Beam,即一个用于存储候选序列的集合,其大小为预设的数量。Beam的目的是在搜索过程中保留多个可能的候选序列,以便在后续步骤中进行比较和选择。系统从前缀树的根节点开始,在对应时间步(此处为第一个时间步)根据用户指令的语音识别模型输出,结合前缀树的结构,搜索当前节点的子节点,获取对应的token序列。这些token序列表示可能的候选命令词。获得的每个token序列都被输入到语音识别模型中,模型计算对应的得分值,这个得分值表示模型对该序列的匹配程度,即语音信号与命令词的对应关系。系统从计算得到的所有候选序列中选择前beam(beam中包含的预设数量)个得分最高的序列,并将它们以及对应的得分值加入Beam中。这样,Beam中就包含了多个可能的候选序列,每个序列都有一个与之相关的得分。本实施例通过使用Beam来保留多个候选序列,系统能够并行处理多个可能的命令词,增加了系统对多命令词的适应性,另外结合前缀树的结构,系统能够在每个时间步快速定位可能的候选序列,减少了搜索空间,提高了搜索效率,系统能够更有效地利用上下文信息,减少解码时长,提高解码效率,提高系统的鲁棒性和搜索效率。与此同时Beam的大小是可以预设的,这使得系统可以根据需求动态调整搜索的深度,灵活适应不同场景和性能要求。
在一实施例中,所述识别所述候选序列的前缀序列在所述前缀树中确认当前时间步对应的节点,并基于所述节点的子节点,确定下一个时间步的token搜索范围的步骤,包括:
S401、根据当前时间步对应的所述前缀序列,识别所述前缀序列中最后一个token在所述前缀树中对应的节点;
S402、基于所述节点中确定所述节点下对应的所有子节点;
S403、获取所有所述子节点对应的token,并将所有所述子节点对应的token判定为下一个时间步的token搜索范围。
在本实施例中,系统根据当前时间步对应的前缀序列,识别该前缀序列中最后一个token在前缀树中对应的节点,具体可以通过已经获取和存储的前缀序列的数据进行识别或根据遍历得到。这个节点表示前缀序列在前缀树中的位置,即已经匹配到的部分。然后已确定的当前的节点中找到对应的所有子节点,这些子节点代表了当前节点对应的命令词转换为的token序列中的后续(下一个)token的范围,然后获取所有子节点对应的token,并将这些token作为下一个时间步的token搜索范围,这意味着在下一个时间步的搜索中,系统将集中在这些token中进行匹配和搜索(评估得分),以确定候选序列的下一个token。通过根据前缀序列在前缀树中的位置确定搜索范围,系统能够动态地确定下一个时间步的token搜索范围,避免不必要的搜索,提高搜索效率,通过限定搜索范围为前缀树中特定节点的子节点,系统减少了搜索的复杂度,同时通过集中搜索在可能的token范围内,系统更有可能正确地理解用户的意图并选择正确的下一个token,提高了识别准确度,加速了搜索过程,基于前缀树的结构,系统能够灵活适应不同命令词的搜索,支持多命令词的同时处理。
在一实施例中,所述对所述token搜索范围进行目标搜索,并根据搜索结果更新扩展所述前缀序列的步骤,包括:
S501、将所述token搜索范围包含的所有token作为搜索目标输入到语音识别模型中,计算对应的得分值;
S502、根据所述得分值的排序筛选出指定数量的token,作为所述搜索结果;
S503、将所述搜索结果加入到对应的所述候选序列中,完成对所述前缀序列的更新扩展。
在本实施例中,将token搜索范围中包含的所有token作为搜索目标,输入到语音识别模型中,并计算每个token对应的得分值。这表示模型对每个可能的token的匹配程度。系统根据计算得到的得分值对搜索目标进行排序,并筛选出指定数量的得分最高的token作为搜索结果。这一步保留了最有可能匹配的token。最后,系统将筛选得到的搜索结果加入到对应的候选序列中,完成对前缀序列的更新和扩展。这意味着系统根据搜索结果选择了当前时间步的最佳token,更新了当前候选序列的内容(等同于候选序列中的前缀序列),为下一个时间步的搜索提供了新的输入。本实施例通过将token搜索范围中的所有token输入到语音识别模型中,系统能够集中搜索在可能的token范围内,提高搜索的精度,然后仅保留得分最高的指定数量的token作为搜索结果,系统减少了后续处理的复杂性,提高了搜索效率,将搜索结果加入到候选序列中,系统动态更新了前缀序列,为下一个时间步的搜索提供了更准确的输入。
在一实施例中,所述直到最后一个时间步搜索完毕后,对获得的预选数量的所述候选序列进行二次打分,得到识别结果的步骤,包括:
S601、当识别到时间步为最大时间步时搜索完毕,判定当前获得的预选数量的所述候选序列为最终候选序列;
S602、将所述最终候选序列使用前向算法进行二次打分,并获取打分结果;
S603、根据所述打分结果,筛选出所述识别结果。
在本实施例中,判断当前时间步是否为预设的最大时间步,如果是最大时间步,即已经完成了所有搜索循环,也可以在每个搜索循环中,根据任务的需求,设置一个指定的解码长度,当候选序列的长度达到这个指定的解码长度时,即已经完成了所有搜索循环;又或者即在扩展的过程中,没有更多的候选序列可以生成,这时也可以认为搜索循环结束,当前的候选序列中的最高得分序列即为最终的候选序列。也可以是系统将当前获得的预选数量的候选序列视为最终候选序列,对最终候选序列进行二次打分,使用前向算法或其他评估方法,计算每个候选序列的得分结果。这个得分结果表示候选序列的置信度或准确性,用于进一步筛选和决定识别结果。根据二次打分的结果,系统筛选出得分最高的候选序列作为识别结果。这个候选序列具有最高的置信度或准确性,被确定为最终的识别结果。通过进行二次打分,系统可以对候选序列进行更精确地评估,从而优化和提升识别结果的准确性和可靠性。通过在最后一个时间步完成搜索后进行二次打分,系统可以在搜索完成后集中精力对候选序列进行处理,提高系统的性能和响应速度。
参照图2,是本申请一实施例中多命令词的语音解码识别装置结构框图,装置包括:
转换模块100,用于将命令词列表中的命令词转换为token序列;
前缀树生成模块200,用于基于转换为token序列的所述命令词列表,生成前缀树;
序列获取模块300,用于基于用户指令的语音识别模型输出,结合所述前缀树在模型输出中计算当前时间步对应的指定数量的候选序列;
节点确认模块400,用于识别所述候选序列的前缀序列在所述前缀树中确认当前时间步对应的节点,并基于所述节点的子节点,确定下一个时间步的token搜索范围;
搜索模块500,用于对所述token搜索范围进行目标搜索,并根据搜索结果更新扩展所述前缀序列;
二次打分模块600,用于直到最后一个时间步搜索完毕后,对获得的预选数量的所述候选序列进行二次打分,得到识别结果。
在一个实施例中,上述转换模块100,包括:
命令词识别单元,用于识别所述命令词列表中的命令词;
字符转换单元,用于基于预设的建模单元,将所述命令词转换为预设字符;
存储单元,用于将所述预设字符转换为对应的token序列并存储。
在一个实施例中,上述前缀树生成模块200,包括
创建单元,用于基于前缀树数据结构,创建一个空的前缀树;
添加单元,用于针对每个所述token序列,从根节点开始遍历,依次将每个token添加到所述前缀树中;
节点创建单元,用于为每个添加的token创建对应节点,并将对应节点连接到前一个token所在的节点上,直到遍历完所有所述token序列。
在一实施例中,上述序列获取模块300,包括:
初始单元,用于设定一个初始的Beam,所述Beam为预设数量大小;
搜索获取单元,用于从前缀树的根节点开始,对所述根节点的子节点进行搜索,获取对应的token序列;
得分计算单元,用于将获取的token序列输入到语音识别模型中,计算对应的得分值;
加入单元,用于将前beam个得分最高的所述候选序列以及对应的所述得分值,加入对应的Beam中。
在一实施例中,上述搜索模块500,包括:
节点识别单元,用于根据当前时间步对应的所述前缀序列,识别所述前缀序列中最后一个token在所述前缀树中对应的节点;
子节点确认单元,用于基于所述节点中确定所述节点下对应的所有子节点;
范围确定单元,用于获取所有所述子节点对应的token,并将所有所述子节点对应的token判定为下一个时间步的token搜索范围。
在一实施例中,上述搜索模块500,包括:
分值获取单元,用于将所述token搜索范围包含的所有token作为搜索目标输入到语音识别模型中,计算对应的得分值;
筛选单元,用于根据所述得分值的排序筛选出指定数量的token,作为所述搜索结果;
扩展单元,用于将所述搜索结果加入到对应的所述候选序列中,完成对所述前缀序列的更新扩展。
在一实施例中,上述二次打分模块600,包括:
循环结束单元,用于当识别到时间步为最大时间步时搜索完毕,判定当前获得的预选数量的所述候选序列为最终候选序列;
前向打分单元,用于将所述最终候选序列使用前向算法进行二次打分,并获取打分结果;
结果筛选单元,用于根据所述打分结果,筛选出所述识别结果。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储多命令词的语音解码识别方法过程中的使用数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。进一步地,上述计算机设备还可以设置有输入装置和显示屏等。上述计算机程序被处理器执行时以实现多命令词的语音解码识别方法,包括如下步骤:将命令词列表中的命令词转换为token序列;基于转换为token序列的所述命令词列表,生成前缀树;基于用户指令的语音识别模型输出,结合所述前缀树在模型输出中计算当前时间步对应的指定数量的候选序列;识别所述候选序列的前缀序列在所述前缀树中确认当前时间步对应的节点,并基于所述节点的子节点,确定下一个时间步的token搜索范围;对所述token搜索范围进行目标搜索,并根据搜索结果更新扩展所述前缀序列;直到最后一个时间步搜索完毕后,对获得的预选数量的所述候选序列进行二次打分,得到识别结果。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种多命令词的语音解码识别方法,包括如下步骤:将命令词列表中的命令词转换为token序列;基于转换为token序列的所述命令词列表,生成前缀树;基于用户指令的语音识别模型输出,结合所述前缀树在模型输出中计算当前时间步对应的指定数量的候选序列;识别所述候选序列的前缀序列在所述前缀树中确认当前时间步对应的节点,并基于所述节点的子节点,确定下一个时间步的token搜索范围;对所述token搜索范围进行目标搜索,并根据搜索结果更新扩展所述前缀序列;直到最后一个时间步搜索完毕后,对获得的预选数量的所述候选序列进行二次打分,得到识别结果。可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种多命令词的语音解码识别方法,其特征在于,所述方法包括:
将命令词列表中的命令词转换为token序列;
基于转换为token序列的所述命令词列表,生成前缀树;
基于用户指令的语音识别模型输出,结合所述前缀树在模型输出中计算当前时间步对应的指定数量的候选序列;
识别所述候选序列的前缀序列在所述前缀树中确认当前时间步对应的节点,并基于所述节点的子节点,确定下一个时间步的token搜索范围;
对所述token搜索范围进行目标搜索,并根据搜索结果更新扩展所述前缀序列;
直到最后一个时间步搜索完毕后,对获得的预选数量的所述候选序列进行二次打分,得到识别结果。
2.根据权利要求1所述的多命令词的语音解码识别方法,其特征在于,所述将命令词列表中的命令词转换为token序列的步骤,包括:
识别所述命令词列表中的命令词;
基于预设的建模单元,将所述命令词转换为预设字符;
将所述预设字符转换为对应的token序列并存储。
3.根据权利要求1所述的多命令词的语音解码识别方法,其特征在于,所述基于转换为token序列的所述命令词列表,生成前缀树的步骤,包括:
基于前缀树数据结构,创建一个空的前缀树;
针对每个所述token序列,从根节点开始遍历,依次将每个token添加到所述前缀树中;
为每个添加的token创建对应节点,并将对应节点连接到前一个token所在的节点上,直到遍历完所有所述token序列。
4.根据权利要求1所述的多命令词的语音解码识别方法,其特征在于,所述基于用户指令的语音识别模型输出,结合所述前缀树在模型输出中计算当前时间步对应的指定数量的候选序列的步骤,包括:
设定一个初始的Beam,所述Beam为预设数量大小;
从前缀树的根节点开始,对所述根节点的子节点进行搜索,获取对应的token序列;
将获取的token序列输入到语音识别模型中,计算对应的得分值;
将前beam个得分最高的所述候选序列以及对应的所述得分值,加入对应的Beam中。
5.根据权利要求1所述的多命令词的语音解码识别方法,其特征在于,所述识别所述候选序列的前缀序列在所述前缀树中确认当前时间步对应的节点,并基于所述节点的子节点,确定下一个时间步的token搜索范围的步骤,包括:
根据当前时间步对应的所述前缀序列,识别所述前缀序列中最后一个token在所述前缀树中对应的节点;
基于所述节点中确定所述节点下对应的所有子节点;
获取所有所述子节点对应的token,并将所有所述子节点对应的token判定为下一个时间步的token搜索范围。
6.根据权利要求1所述的多命令词的语音解码识别方法,其特征在于,所述对所述token搜索范围进行目标搜索,并根据搜索结果更新扩展所述前缀序列的步骤,包括:
将所述token搜索范围包含的所有token作为搜索目标输入到语音识别模型中,计算对应的得分值;
根据所述得分值的排序筛选出指定数量的token,作为所述搜索结果;
将所述搜索结果加入到对应的所述候选序列中,完成对所述前缀序列的更新扩展。
7.根据权利要求1所述的多命令词的语音解码识别方法,其特征在于,所述直到最后一个时间步搜索完毕后,对获得的预选数量的所述候选序列进行二次打分,得到识别结果的步骤,包括:
当识别到时间步为最大时间步时搜索完毕,判定当前获得的预选数量的所述候选序列为最终候选序列;
将所述最终候选序列使用前向算法进行二次打分,并获取打分结果;
根据所述打分结果,筛选出所述识别结果。
8.一种多命令词的语音解码识别装置,其特征在于,包括:
转换模块,用于将命令词列表中的命令词转换为token序列;
前缀树生成模块,用于基于转换为token序列的所述命令词列表,生成前缀树;
序列获取模块,用于基于用户指令的语音识别模型输出,结合所述前缀树在模型输出中计算当前时间步对应的指定数量的候选序列;
节点确认模块,用于识别所述候选序列的前缀序列在所述前缀树中确认当前时间步对应的节点,并基于所述节点的子节点,确定下一个时间步的token搜索范围;
搜索模块,用于对所述token搜索范围进行目标搜索,并根据搜索结果更新扩展所述前缀序列;
二次打分模块,用于直到最后一个时间步搜索完毕后,对获得的预选数量的所述候选序列进行二次打分,得到识别结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7 中任一项所述方法的步骤。
CN202410156317.8A 2024-02-04 2024-02-04 多命令词的语音解码识别方法、装置、设备及存储介质 Active CN117690434B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410156317.8A CN117690434B (zh) 2024-02-04 2024-02-04 多命令词的语音解码识别方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410156317.8A CN117690434B (zh) 2024-02-04 2024-02-04 多命令词的语音解码识别方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117690434A true CN117690434A (zh) 2024-03-12
CN117690434B CN117690434B (zh) 2024-06-04

Family

ID=90137621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410156317.8A Active CN117690434B (zh) 2024-02-04 2024-02-04 多命令词的语音解码识别方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117690434B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118098236A (zh) * 2024-04-23 2024-05-28 深圳市友杰智新科技有限公司 确定语音识别窗口左右边界的方法、装置、设备及介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983180A (en) * 1997-10-23 1999-11-09 Softsound Limited Recognition of sequential data using finite state sequence models organized in a tree structure
CN109523991A (zh) * 2017-09-15 2019-03-26 阿里巴巴集团控股有限公司 语音识别的方法及装置、设备
CN113506574A (zh) * 2021-09-09 2021-10-15 深圳市友杰智新科技有限公司 自定义命令词的识别方法、装置和计算机设备
US11227114B1 (en) * 2018-11-28 2022-01-18 Kensho Technologies, Llc Natural language interface with real-time feedback
CN114564564A (zh) * 2022-02-25 2022-05-31 山东新一代信息产业技术研究院有限公司 一种用于语音识别的热词增强方法、设备及介质
CN115440197A (zh) * 2022-08-31 2022-12-06 中国人民解放军战略支援部队信息工程大学 基于领域分类和热词前缀树集束搜索的语音识别方法及系统
CN115497463A (zh) * 2022-09-15 2022-12-20 思必驰科技股份有限公司 用于语音识别的热词替换方法、电子设备和存储介质
CN116343772A (zh) * 2023-03-28 2023-06-27 思必驰科技股份有限公司 命令词识别方法及电子设备和存储介质
CN116629269A (zh) * 2023-05-23 2023-08-22 成都赛力斯科技有限公司 车载文本数据的语义拒识别方法及装置
CN116982054A (zh) * 2021-02-09 2023-10-31 渊慧科技有限公司 使用前瞻树搜索的序列到序列神经网络系统
WO2023245869A1 (zh) * 2022-06-23 2023-12-28 北京百度网讯科技有限公司 语音识别模型的训练方法、装置、电子设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983180A (en) * 1997-10-23 1999-11-09 Softsound Limited Recognition of sequential data using finite state sequence models organized in a tree structure
CN109523991A (zh) * 2017-09-15 2019-03-26 阿里巴巴集团控股有限公司 语音识别的方法及装置、设备
US11227114B1 (en) * 2018-11-28 2022-01-18 Kensho Technologies, Llc Natural language interface with real-time feedback
CN116982054A (zh) * 2021-02-09 2023-10-31 渊慧科技有限公司 使用前瞻树搜索的序列到序列神经网络系统
CN113506574A (zh) * 2021-09-09 2021-10-15 深圳市友杰智新科技有限公司 自定义命令词的识别方法、装置和计算机设备
CN114564564A (zh) * 2022-02-25 2022-05-31 山东新一代信息产业技术研究院有限公司 一种用于语音识别的热词增强方法、设备及介质
WO2023245869A1 (zh) * 2022-06-23 2023-12-28 北京百度网讯科技有限公司 语音识别模型的训练方法、装置、电子设备及存储介质
CN115440197A (zh) * 2022-08-31 2022-12-06 中国人民解放军战略支援部队信息工程大学 基于领域分类和热词前缀树集束搜索的语音识别方法及系统
CN115497463A (zh) * 2022-09-15 2022-12-20 思必驰科技股份有限公司 用于语音识别的热词替换方法、电子设备和存储介质
CN116343772A (zh) * 2023-03-28 2023-06-27 思必驰科技股份有限公司 命令词识别方法及电子设备和存储介质
CN116629269A (zh) * 2023-05-23 2023-08-22 成都赛力斯科技有限公司 车载文本数据的语义拒识别方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118098236A (zh) * 2024-04-23 2024-05-28 深圳市友杰智新科技有限公司 确定语音识别窗口左右边界的方法、装置、设备及介质

Also Published As

Publication number Publication date
CN117690434B (zh) 2024-06-04

Similar Documents

Publication Publication Date Title
CN108711422B (zh) 语音识别方法、装置、计算机可读存储介质和计算机设备
CN109800407B (zh) 意图识别方法、装置、计算机设备和存储介质
CN117690434B (zh) 多命令词的语音解码识别方法、装置、设备及存储介质
CN109346056B (zh) 基于深度度量网络的语音合成方法及装置
CN110688853B (zh) 序列标注方法、装置、计算机设备和存储介质
CN112800769B (zh) 命名实体识别方法、装置、计算机设备和存储介质
US20110320464A1 (en) Retrieval device
CN106843523B (zh) 基于人工智能的文字输入方法和装置
CN111611349A (zh) 语音查询方法、装置、计算机设备及存储介质
CN113449489B (zh) 标点符号标注方法、装置、计算机设备和存储介质
CN111782892B (zh) 基于前缀树的相似字符识别方法、设备、装置和存储介质
CN111105787B (zh) 一种文本匹配方法、设备及计算机可读存储介质
KR20240067971A (ko) 음성 인식 방법, 음성 인식 장치, 전자장비, 저장매체 및 컴퓨터 프로그램
CN114333759A (zh) 模型训练方法、语音合成方法、设备和计算机程序产品
KR20120052591A (ko) 연속어 음성인식 시스템에서 오류수정 장치 및 방법
CN111353295A (zh) 序列标注方法、装置、存储介质及计算机设备
CN111816171B (zh) 语音识别模型的训练方法、语音识别方法及装置
CN111354339B (zh) 词汇音素表构建方法、装置、设备及存储介质
JP6235922B2 (ja) 重み付き有限状態オートマトン作成装置、記号列変換装置、音声認識装置、それらの方法、及びプログラム
CN113051920A (zh) 命名实体识别方法、装置、计算机设备和存储介质
JP2016189154A (ja) 翻訳方法、装置、及びプログラム
JP2006084942A (ja) 変換情報生成方法、音素系列生成方法、音声認識方法、ならびにこれらの装置、及びプログラム
CN117827886B (zh) 一种基于大语言模型的自然语句转sql语句的方法
CN113378553B (zh) 文本处理方法、装置、电子设备和存储介质
CN116013278B (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