1.本技术实施例涉及人工智能技术领域,特别涉及一种关键词检测方法、装置、设备及存储介质。
背景技术:2.随着人工智能(artificial intelligence,ai)技术的发展,自动语音识别(automatic speech recognition,asr)技术的应用越来越广泛。关键词检测(keyword spotting,kws)是自动语音识别技术的一种重要应用,用于检测语音信号中是否存在某些关键词,从而根据检测到的关键词唤醒电子设备或控制电子设备工作等。
3.在对语音信号进行关键词检测的过程中,需要先调用语音识别模型对语音信号的声学特征进行识别,得到识别结果,然后根据识别结果实现关键词检测。目前已有的语音识别模型包括两种:一种为包括声学模型和语言模型的传统混合式语音识别模型,另一种为基于连接时序分类(connectionist temporal classification,ctc)算法训练得到的端到端语音识别模型。其中,端到端语音识别模型逐渐成为了主流的语音识别模型。
4.相关技术中,在调用端到端语音识别模型对声学特征进行识别的情况下,基于识别得到的识别结果,确定出各帧语音片段分别对应的最匹配语音单元,然后将各帧语音片段分别对应的最匹配语音单元构成的最优语音单元序列与候选关键词在文本上进行匹配,得到关键词检测结果。此种方式,关键词检测结果是根据最优语音单元序列确定的,最优语音单元序列难以对识别得到的识别结果进行较为全面的体现,使得关键词检测的效果较差,难以较为全面的检测出语音信号中存在的关键词,关键词检测结果的召回率较低。
技术实现要素:5.本技术实施例提供了一种关键词检测方法、装置、设备及存储介质,可用于较为全面的检测出语音信号中存在的关键词,提高获取的关键词检测结果的召回率。所述技术方案如下:
6.一方面,本技术实施例提供了一种关键词检测方法,所述方法包括:
7.获取语音信号;
8.调用端到端语音识别模型对所述语音信号的声学特征进行识别,得到所述语音信号中的各帧语音片段分别对应的第一语音识别结果,一帧语音片段对应的第一语音识别结果包括所述一帧语音片段分别与各个候选语音单元的匹配概率,所述候选语音单元为用于实现关键词检测而设置的语音单元;
9.基于所述各帧语音片段分别对应的第一语音识别结果,获取第一索引结构,所述第一索引结构为所述语音信号对应的用于进行关键词检测的索引结构;
10.基于所述第一索引结构,获取所述语音信号的关键词检测结果。
11.另一方面,提供了一种关键词检测装置,所述装置包括:
12.第一获取单元,用于获取语音信号;
13.识别单元,用于调用端到端语音识别模型对所述语音信号的声学特征进行识别,得到所述语音信号中的各帧语音片段分别对应的第一语音识别结果,一帧语音片段对应的第一语音识别结果包括所述一帧语音片段分别与各个候选语音单元的匹配概率,所述候选语音单元为用于实现关键词检测而设置的语音单元;
14.第二获取单元,用于基于所述各帧语音片段分别对应的第一语音识别结果,获取第一索引结构,所述第一索引结构为所述语音信号对应的用于进行关键词检测的索引结构;
15.第三获取单元,用于基于所述第一索引结构,获取所述语音信号的关键词检测结果。
16.在一种可能实现方式中,所述第二获取单元,包括:
17.获取子单元,用于基于所述各帧语音片段分别对应的第一语音识别结果,获取所述各帧语音片段分别对应的第二语音识别结果,一帧语音片段对应的第二语音识别结果包括所述一帧语音片段与所述一帧语音片段对应的目标语音单元的匹配概率,所述一帧语音片段对应的目标语音单元为所述各个候选语音单元中与所述一帧语音片段满足选取条件的候选语音单元;
18.转换子单元,用于将所述各帧语音片段分别对应的第二语音识别结果转换为第二索引结构,所述第二索引结构由节点、节点之间的边以及边上的信息构成,所述边上的信息包括输入标签、输出标签和概率权重;
19.变换子单元,用于对所述第二索引结构进行变换,得到所述第一索引结构,所述第一索引结构对应的语音单元序列包括所述第二索引结构对应的语音单元序列的满足参考条件的子序列。
20.在一种可能实现方式中,所述与所述一帧语音片段满足选取条件是指与所述一帧语音片段的匹配概率不低于概率阈值;所述获取子单元,用于对于第一语音片段,将所述各个候选语音单元中与所述第一语音片段的匹配概率不低于所述概率阈值的候选语音单元作为所述第一语音片段对应的目标语音单元,所述第一语音片段为所述各帧语音片段中的任意一帧语音片段;从所述第一语音片段对应的第一语音识别结果中,提取所述第一语音片段与所述第一语音片段对应的目标语音单元的匹配概率,由所述第一语音片段与所述第一语音片段对应的目标语音单元的匹配概率构成所述第一语音片段对应的第二语音识别结果。
21.在一种可能实现方式中,所述第二索引结构中的节点与所述语音信号中的参考时间点一一对应;所述变换子单元,用于为所述第二索引结构添加虚拟起始节点和虚拟终止节点;在所述虚拟起始节点与第一关联节点之间构建指向所述第一关联节点的边,在第二关联节点与所述虚拟终止节点之间构建指向所述虚拟终止节点的边,所述第一关联节点为所述第二索引结构中的满足第一条件的节点,所述第二关联节点为所述第二索引结构中的满足第二条件的节点;在指向的节点为所述第二索引结构中的节点的边上添加时间权重,得到所述第一索引结构,一条边上的时间权重用于指示所述一条边指向的节点对应的参考时间点。
22.在一种可能实现方式中,所述第二索引结构中的节点与所述语音信号中的参考时间点一一对应,且所述语音信号中的任两个相邻的参考时间点均用于标识一帧语音片段;
所述转换子单元,用于将第二语音片段对应的目标语音单元作为第一节点和第二节点之间的边上的输入标签和输出标签,所述第一节点和第二节点为所述第二索引结构中的任意两个相邻的节点,所述第二语音片段为所述第一节点和所述第二节点对应的两个参考时间点所标识的语音片段;基于所述第二语音片段与所述第二语音片段对应的目标语音单元的匹配概率,确定所述第一节点和所述第二节点之间的边上的概率权重。
23.在一种可能实现方式中,所述转换子单元,还用于计算所述第二语音片段与所述第二语音片段对应的目标语音单元的匹配概率的负对数,将所述负对数作为所述第一节点和所述第二节点之间的边上的概率权重。
24.在一种可能实现方式中,所述第三获取单元,用于将候选关键词转换为第三索引结构,所述第三索引结构与所述第一索引结构为相同形式的索引结构;对所述第一索引结构和所述第三索引结构执行组合操作,得到第四索引结构,所述第四索引结构对应的语音单元序列命中所述候选关键词;基于所述第四索引结构,获取所述语音信号的关键词检测结果。
25.在一种可能实现方式中,所述语音信号的关键词检测结果包括所述语音信号对所述候选关键词的命中信息,所述第三获取单元,还用于获取所述第四索引结构对应的语音单元序列具有的权重信息;基于所述权重信息,获取所述语音信号对所述候选关键词的命中信息。
26.在一种可能实现方式中,所述第三获取单元,用于基于候选关键词,对所述第一索引结构进行遍历,得到所述语音信号的关键词检测结果。
27.另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以使所述计算机设备实现上述任一所述的关键词检测方法。
28.另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以使计算机实现上述任一所述的关键词检测方法。
29.另一方面,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述任一所述的关键词检测方法。
30.本技术实施例提供的技术方案至少带来如下有益效果:
31.本技术实施例中,在调用端到端语音识别模型对声学特征进行识别的情况下,直接根据识别得到的结果(也即各帧语音片段分别对应的第一语音识别结果)获取了第一索引结构,第一索引结构能够对识别得到的识别结果进行较为全面的体现,根据第一索引结构进行关键词检测,能够较为全面的检测出语音信号中存在的关键词,从而提高获取的关键词检测结果的召回率,关键词检测的效果较好。
附图说明
32.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1是本技术实施例提供的一种wfst的示意图;
34.图2是本技术实施例提供的一种关键词检测方法的实施环境的示意图;
35.图3是本技术实施例提供的一种关键词检测方法的流程图;
36.图4是本技术实施例提供的一种基于各帧语音片段分别对应的第一语音识别结果,获取第一索引结构的过程的流程图;
37.图5是本技术实施例提供的一种第二索引结构的示意图;
38.图6是本技术实施例提供的一种第一索引结构的示意图;
39.图7是本技术实施例提供的另一种第一索引结构的示意图;
40.图8是本技术实施例提供的一种第三索引结构的示意图;
41.图9是本技术实施例提供的一种第四索引结构的示意图;
42.图10是本技术实施例提供的另一种第四索引结构的示意图;
43.图11是本技术实施例提供的一种关键词检测过程的示意图;
44.图12是本技术实施例提供的一种关键词检测装置的示意图;
45.图13是本技术实施例提供的一种第二获取单元的结构示意图;
46.图14是本技术实施例提供的一种服务器的结构示意图;
47.图15是本技术实施例提供的一种终端的结构示意图。
具体实施方式
48.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
49.为了便于理解本技术实施例的技术过程,下面对本技术实施例所涉及的名词进行解释。
50.加权有限状态机(weighted finite state transducer,wfst):wfst是有限自动机(finite automaton,fa)家族中的一员,fa由(a,q,e,i,f)五个元素组成。其中,q为状态集合,表示图中的节点;a为label(标签)集合,表示边上的符号;e为转移函数集合,两个状态节点和他们之间的边以及边上的标签和权重构成了一次转移(transition);i为初始状态,在图中使用较粗的圆圈表示,为搜索的起点;f为终止状态,在图中使用双环形圆圈表示,为搜索的终点。在语音识别中经常使用wfst结构。为便于理解,结合图1所示的例子对wfst进行介绍。
51.典型的wfst包含一个起始节点(即图1中的数字0标识的节点)和一个终止节点(即图1中的数字3标识的节点),节点间以有向边相连,每条边由(起节点,止节点,输入标签:输出标签/权重)构成。例如,图中1中的数字1标识的节点以及数字2标识的节点之间存在一条指向数字2标识的节点的边,该边上的输入标签为b,输出标签为u,权重为0.34。
52.因子自动机(factor automata,fa):给定两个字符串u、v,如果u=xvy(x/y是任意字符串),则称v是u的因子(子字符串)。因子自动机f(u)是识别所有u的因子的最小确定化的有限状态接收器(finite
‑
state acceptor,fsa),可以认为其包含字符串u的所有子字符串。可以将f(a)扩展定义为识别wfst a中所有字符串(子路径)的因子自动机。本技术实施
例中提到的因子转移器(factor transducer,ft)是fa的一种具体形式。
53.tft(timed factor transducer):带时间信息的因子转移器。
54.ftft(fast timed factor transducer):快速带时间信息的因子转移器,ftft可视为一种特殊的wfst。
55.在示例性实施例中,本技术实施例提供的关键词检测方法能够应用于人工智能技术领域。接下来对人工智能技术进行介绍。
56.人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
57.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。本技术实施例提供的关键词检测方法涉及人工智能技术中的语音技术以及机器学习等技术,具体通过图3所示的实施例进行说明。
58.语音技术(speech technology)的关键技术有自动语音识别技术和语音合成技术以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
59.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
60.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
61.在示例性实施例中,本技术实施例中提供的关键词检测方法在区块链系统中实现,也就是说,用于执行本技术实施例提供的关键词检测方法的计算机设备为区块链系统中的节点设备。基于此,本技术实施例提供的关键词检测方法中涉及的语音信号、语音信号的关键词检测结果等均能够保存在区块链系统中的区块链上,以供区块链系统中的各个节点设备应用,从而保证数据的安全性和可靠性。
62.图2示出了本技术实施例提供的关键词检测方法的实施环境的示意图。该实施环境可以包括:终端11和服务器12。
63.本技术实施例提供的关键词检测方法可以由终端11执行,也可以由服务器12执行,还可以由终端11和服务器12共同执行,本技术实施例对此不加以限定。对于本技术实施
例提供的关键词检测方法由终端11和服务器12共同执行的情况,服务器12承担主要计算工作,终端11承担次要计算工作;或者,服务器12承担次要计算工作,终端11承担主要计算工作;或者,服务器12和终端11二者之间采用分布式计算架构进行协同计算。
64.以关键词检测方法由终端11执行为例进行说明,终端11通过采集对象发出的语音获取语音信号,然后提取语音信号的声学特征,通过对语音信号的声学特征进行识别,得到语音信号中的各帧语音片段分别对应的第一语音识别结果;进而基于各帧语音片段分别对应的第一语音识别结果,获取语音信号对应的用于进行关键词检测的索引结构,也即第一索引结构;进而基于第一索引结构自动实现关键词检测,得到语音信号的关键词检测结果。在得到语音信号的关键词检测结果之后,终端11能够确定语音信号中是否存在某些关键词,若确定存在某些关键词,能够进一步根据从语音信号中检测到的关键词唤醒终端11中安装的某些客户端或控制终端11中安装的某些客户端执行某些操作。
65.在一种可能实现方式中,终端11可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如pc(personal computer,个人计算机)、手机、智能手机、pda(personal digital assistant,个人数字助手)、可穿戴设备、ppc(pocket pc,掌上电脑)、平板电脑、智能车机、智能电视、智能音箱等。服务器12可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。终端11与服务器12通过有线或无线网络建立通信连接。
66.本领域技术人员应能理解上述终端11和服务器12仅为举例,其他现有的或今后可能出现的终端或服务器如可适用于本技术,也应包含在本技术保护范围以内,并在此以引用方式包含于此。
67.基于上述图2所示的实施环境,本技术实施例提供一种关键词检测方法,该关键词检测方法由计算机设备执行,该计算机设备可以为终端11,也可以为服务器12,本技术实施例对此不加以限定。如图3所示,本技术实施例提供的关键词检测方法包括如下步骤301至步骤304。
68.在步骤301中,获取语音信号。
69.关键词检测是针对语音信号进行的,因此,在关键词检测之前,需要先获取语音信号,进而针对语音信号进行关键词检测。本技术实施例对语音信号的获取方式不加以限定。示例性地,通过计算机设备(如手机或笔记本电脑)的麦克风采集到语音信号;或者,利用有线或无线通信方式,从网络数据库中下载语音信号;再或者,通过访问本地数据库,获取到语音信号。本技术实施例对语音信号的时长不加以限定,可以为时长较长的语音信号,也可以为时长较短的语音信号。示例性地,语音信号的时长为10秒。
70.关键词检测技术广泛应用于智能设备唤醒交互及音视频文件语音关键词检测等领域。为了应对计算机设备有限的计算资源限制以及海量的音视频文件的处理需求,通常希望检测的速度能够尽可能地快,在此基础上再希望检测结果尽可能准确。
71.以计算机设备为终端为例,举例说明对语音信号进行关键词检测的具体应用。示例性地,语音信号由终端采集得到,如可以由终端安装的即时通讯软件在使用过程中采集得到。通过对语音信号进行关键词检测,可以确定语音信号中是否存在恶意语音内容,若存在恶意语音内容,则可以反馈至即时通讯软件对应的应用服务器进行处理,如对终端进行惩罚、对恶意语音内容进行消音处理等。又如,对语音信号进行关键词检测,可以判断语音
信号中是否存在唤醒关键词,若存在,则唤醒终端并控制终端执行相应的语音指令,如播报天气预报、播放多媒体、回复消息、拨打电话等。
72.在示例性实施例中,在获取语音信号之后,对语音信号进行分帧,以得到语音信号中的各帧语音片段。示例性地,每一帧语音片段具有各自对应的起止位置和索引等。示例性地,一帧语音片段对应的起止位置由语音信号中的两个参考时间点确定,这两个参考时间点分别称为该一帧语音片段的起始时间点和截止时间点。示例性地,对于语音信号中的相邻的两帧语音片段,前一帧语音片段的截止时间点与后一帧语音片段的起始时间点相同。
73.示例性地,记录用于分帧的各个时间点作为语音信号中的参考时间点,则一帧语音片段利用语音信号中的两个相邻的参考时间点进行标识。也就是说,语音信号中的任两个相邻的参考时间点均用于标识一帧语音片段。
74.本技术实施例对一帧语音片段的时长不加以限定,这与对语音信号进行分帧的方式有关,示例性地,对语音信号进行分帧的方式为:将1秒的语音信号等分为100帧,则一帧语音片段的时长为10毫秒。
75.在示例性实施例中,在获取语音信号之后,提取语音信号的声学特征,以便于后续直接对语音信号的声学特征进行识别。示例性地,语音信号的声学特征通过对语音信号中的各帧语音片段进行分析提取得到。
76.语音信号的声学特征用于从声学的角度表征语音信号。声学特征的提取过程是将时域的语音信号转换为频域信号等更紧致的信号表示形式的过程。本技术实施例对提取声学特征的方式不加以限定,可以使用任何声学特征提取技术提取语音信号的声学特征。示例性地,提取语音信号的mfcc(mel frequency cepstrum coefficient,梅尔频率倒谱系数)、lpc(linear predictive coefficient,线性预测系数)、lpcc(linear predictive cepstrum coefficient,线性预测倒谱系数)、plpc(perceptual linear predictive coefficient,感知线性预测系数)或fbank(filter bank,滤波器组)中的一种或多种特征,将提取的特征作为语音信号的声学特征。示例性地,采用深度学习网络提取语音信号的声学特征。
77.在步骤302中,调用端到端语音识别模型对语音信号的声学特征进行识别,得到语音信号中的各帧语音片段分别对应的第一语音识别结果,一帧语音片段对应的第一语音识别结果包括一帧语音片段分别与各个候选语音单元的匹配概率。
78.在获取语音信号的声学特征之后,调用端到端语音识别模型对语音信号的声学特征进行识别,得到语音信号中的各帧语音片段分别对应的第一语音识别结果。示例性地,端到端语音识别模型基于ctc算法训练得到。一帧语音片段对应的第一语音识别结果包括该一帧语音片段分别与各个候选语音单元的匹配概率,候选语音单元为用于实现关键词检测而设置的语音单元。
79.示例性地,一帧语音片段分别与各个候选语音单元的匹配概率的和为1。候选语音单元为用于实现关键词检测而预先设置的语音单元。示例性地,候选语音单元为关键词检测的过程中所依赖的基本单元。本技术实施例对候选语音单元的类型不加以限定,可以根据需求灵活设置,示例性地,候选语音单元的类型为音节、单字或者词语等。本技术实施例以候选语音单元的类型为音节(如,jia1、wei1、ge4等)为例进行说明。
80.对于各帧语音片段而言,各个候选语音单元均是相同的。示例性地,各个候选语音
单元除包括正常的语音单元外,还包括特殊的语音单元。示例性地,在调用基于ctc算法训练得到的端到端语音识别模型的应用场景中,候选语音单元中包括blank(空)字符这一特殊的语音单元为。本技术实施例对各个候选语音单元的总数量不加以限定,可以根据实际情况灵活调整。例如,候选语音单元包括n(n为不小于1的整数)个正常的语音单元和一个特殊的语音单元,则各个候选语音单元的总数量为(n+1)个。
81.一帧语音片段对应的第一语音识别结果包括该一帧语音片段分别与各个候选语音单元的匹配概率。也就是说,根据一帧语音片段对应的第一语音识别结果,能够得知该一帧语音片段分别与各个候选语音单元的匹配概率为多少,一帧语音片段与一个候选语音单元的匹配概率越大,说明该一帧语音片段越有可能对应该语音单元。需要说明的是,一帧语音片段对应一个语音单元是指一帧语音片段是通过对该一个语音单元进行发声得到的。
82.示例性地,各个候选语音单元的总数量为(n+1)个,则一帧语音片段对应的第一语音结果包括(n+1)个概率,这(n+1)个概率是指该一帧语音片段分别与这个(n+1)个候选语音单元的匹配概率。假设语音信号包括t(t为不小于1的整数)帧语音片段,则各帧语音片段分别对应的第一语音识别结果能够构成一个t*(n+1)维的概率矩阵。
83.语音信号中的各帧语音片段分别对应的第一语音识别结果是通过调用端到端语音识别模型对语音信号的声学特征进行识别得到的。也就是说,将语音信号的声学特征输入端到端语音识别模型,能够直接获取端到端语音识别模型输出的语音信号中的各帧语音片段分别对应的第一语音识别结果。示例性地,端到端语音识别模型基于连接时序分类(connectionist temporal classification,ctc)算法训练得到。
84.ctc算法作为一种端到端训练准则,能够快速构建start
‑
of
‑
the
‑
art(目前发展水平)的端到端语音识别模型。相比于传统的nn
‑
hmm(neural network hidden markov model,神经网络隐马尔科夫模型)hybrid(混合)语音识别模型,基于ctc算法训练得到的端到端语音识别模型在识别效果和推理速度上都能实现明显的超越,也越来越成为语音识别系统的一种主流语音识别模型。
85.ctc算法通过一个特殊的blank符号寻找所有序列x(x1,...,xm)与y(y1,...,yn)的对齐关系,m不小于n。利用基于ctc算法训练得到的模型进行处理时,对于正常的语音单元的数量为n的情况,其真实输出概率相关的候选语音单元的数量为(n+1)。在对语音信号的声学特征进行识别时,端到端语音识别模型的输出可以得到t*(n+1)的概率矩阵,t为语音信号中的语音片段的帧数。
86.在步骤303中,基于各帧语音片段分别对应的第一语音识别结果,获取第一索引结构,第一索引结构为语音信号对应的用于进行关键词检测的索引结构。
87.在获取各帧语音片段分别对应的第一语音识别结果之后,进一步获取语音信号对应的用于进行关键词检测的索引结构,也即获取第一索引结构,第一索引结构能够表征该语音信号。示例性地,第一索引结构为wfst形式的索引结构。
88.在一种可能实现方式中,参见图4,基于各帧语音片段分别对应的第一语音识别结果,获取第一索引结构的过程包括以下步骤3031至步骤3033:
89.步骤3031:基于各帧语音片段分别对应的第一语音识别结果,获取各帧语音片段分别对应的第二语音识别结果,一帧语音片段对应的第二语音识别结果包括一帧语音片段与一帧语音片段对应的目标语音单元的匹配概率,一帧语音片段对应的目标语音单元为各
个候选语音单元中与一帧语音片段满足选取条件的候选语音单元。
90.每帧语音片段对应的第二语音识别结果均基于各自帧语音片段对应的第一语音识别结果获取得到。获取不同帧语音片段对应的第二语音识别结果的原理相同,本技术实施例以各帧语音片段中的任意一帧语音片段(称为第一语音片段)为例进行说明。
91.由于第一语音片段对应的第二语音识别结果包括第一语音片段与第一语音片段对应的目标语音单元的匹配概率,所以在获取第一语音片段对应的第二语音识别结果的过程中,需要先确定第一语音片段对应的目标语音单元。第一语音片段对应的目标语音单元为各个候选语音单元中与第一语音片段满足选取条件的候选语音单元。也就是说,各个候选语音单元中的哪个或哪些候选语音单元为第一语音片段对应的目标语音单元与选取条件有关。
92.示例性地,认为全部的候选语音单元均与第一语音片段满足选取条件,此种情况下,第一语音片段对应的目标语音单元即为全部的候选语音单元。基于此,基于第一语音片段对应的第一语音识别结果,获取第一语音片段对应的第二语音识别结果的方式为:直接将第一语音片段对应的第一语音识别结果作为第一语音片段对应的第二语音识别结果。此种方式下,第二语音识别结果与第一语音识别结果相同,后续获取的索引结构均是基于通过对语音信号的声学特征进行识别得到的第一语音识别结果构建的,有利于保证最终得到的关键词检测结果的全面性和可靠性。
93.示例性地,与一帧语音片段满足选取条件是指与该一帧语音片段的匹配概率不低于概率阈值,此种情况下,基于第一语音片段对应的第一语音识别结果,获取第一语音片段对应的第二语音识别结果的过程为:将各个候选语音单元中与第一语音片段的匹配概率不低于概率阈值的候选语音单元作为第一语音片段对应的目标语音单元;从第一语音片段对应的第一语音识别结果中,提取第一语音片段与第一语音片段对应的目标语音单元的匹配概率,由第一语音片段与第一语音片段对应的目标语音单元的匹配概率构成第一语音片段对应的第二语音识别结果。概率阈值根据经验设置,或者根据应用场景灵活调整,本技术实施例对此不加以限定,例如,概率阈值为50%。
94.通过此种方式,能够将与第一语音片段的匹配概率较低的候选语音单元剔除,从而使得基于第二语音识别结果获取索引结构的效率较高,且获取的索引结构能够更加快速地实现关键词检测。
95.根据获取第一语音片段对应的第二语音识别结果的方式能够获取各帧语音片段分别对应的第二语音识别结果,进而执行步骤3032。
96.步骤3032:将各帧语音片段分别对应的第二语音识别结果转换为第二索引结构,第二索引结构由节点、节点之间的边以及边上的信息构成,边上的信息包括输入标签、输出标签和概率权重。
97.第二索引结构是基于全部的语音片段分别对应的第二语音识别结果确定的。第二索引结构由节点、节点之间的边以及边上的信息构成,也就是说,将各帧语音片段分别对应的第二语音识别结果转换为第二索引结构的过程通过根据各帧语音片段分别对应的第二语音识别结果确定第二索引结构中的节点、在节点之间构建边以及确定边上的信息实现。示例性地,第二索引结构为wfst形式的索引结构,第二索引结构为各帧语音片段分别对应的第二语音识别结果的一种结构化的表示方式。
98.第二索引结构中节点与语音信号中的参考时间点一一对应,也就是说,第二索引结构中的一个节点对应语音信号中的一个参考时间点,因此,通过确定语音信号中的参考时间点的数量,即可确定第二索引结构中的节点的数量,第二索引结构中的节点的排列先后顺序与节点对应的参考时间点的先后顺序相同,基于此,能够确定第二索引结构中的节点。示例性地,本技术实施例中提到的语音信号中的参考时间点是指语音信号中的用于实现分帧的时间点。
99.在确定第二索引结构中的节点之后,需要进一步在第二索引结构中的节点之间构建边。示例性地,第二索引结构中的节点与语音信号中的参考时间点一一对应,且语音信号中的任两个相邻的参考时间点均用于标识一帧语音片段。此种情况下,在第二索引结构中的节点之间构建边的方式为:若两个相邻的节点对应的两个参考时间点所标识的语音片段对应有m(m为不小于1的整数)目标语音单元,则在该两个的相邻节点之间构建m条由两个相邻的节点中的前一个节点指向后一个节点的边。
100.在构建边之后,需要进一步确定边上的信息,边上的信息包括输入标签、输出标签和概率权重。第二索引结构中的任两个相邻的节点之间的边上的信息基于该任两个相邻的节点对应的两个参考时间点所标识的语音片段对应的第二语音识别结果确定。
101.示例性地,第二索引结构中包括第一节点和第二节点,第一节点和第二节点为第二索引结构中的任意两个相邻的节点。以第一节点和第二节点为例,说明确定第一节点和第二节点之间的边上的信息的过程。示例性地,将第一节点和第二节点对应的两个参考时间点所标识的语音片段称为第二语音片段,则第一节点和第二节点之间的边上的信息基于第二语音片段对应的第二语音识别结果确定。
102.第二语音片段对应的第二语音识别结果包括第二语音片段与第二语音片段对应的目标语音单元的匹配概率。基于第二语音片段对应的第二语音识别结果,确定第一节点和第二节点之间的边上的信息的过程为:将第二语音片段对应的目标语音单元作为第二索引结构中的第一节点和第二节点之间的边上的输入标签和输出标签;基于第二语音片段与第二语音片段对应的目标语音单元的匹配概率,确定第一节点和第二节点之间的边上的概率权重。
103.需要说明的是,对于第二语音片段对应的目标语音单元的数量为多个的情况,第一节点和第二节点之间的边与第二语音片段对应的目标语音单元一一对应。一个边上的输入标签和输出标签为该边对应的目标语音单元,一个边上的概率权重基于第二语音片段与该边对应的目标语音单元的匹配概率确定。
104.以第二语音片段对应的目标语音单元为例进行说明,基于第二语音片段与第二语音片段对应的目标语音单元的匹配概率,确定第一节点和第二节点之间的边上的概率权重的方式可以根据需求灵活选择,本技术实施例对此不加以限定。在示例性实施例中,直接将第二语音片段与第二语音片段对应的目标语音单元的匹配概率作为第一节点和第二节点之间的边上的概率权重。
105.在示例性实施例中,计算第二语音片段与第二语音片段对应的目标语音单元的匹配概率的负对数,将负对数作为第一节点和第二节点之间的边上的概率权重。例如,假设第二语音片段与第二语音片段对应的一个目标语音单元的匹配概率为a,则将
‑
loga作为第一节点和第二节点之间的该一个目标语音单元对应的边上的概率权重。
106.根据确定第一节点和第二节点之间的边上的信息的方式,可以确定每两个相邻的节点之间的各条边的信息。在确定节点、在任两个相邻节点之间构建边以及确定每条边上的信息之后,得到第二索引结构。
107.由于ctc算法是一种区分性的训练准则,在输出语音片段与候选语音单元的匹配概率的分布上通常较为尖锐,即匹配概率通常只集中分布在几个候选语音单元上。因此,在与一帧语音片段满足选取条件是指与该一帧语音片段的匹配概率不低于概率阈值的条件下,为每帧语音片段选取的目标语音单元是基于ctc算法训练得到的端到端语音识别模型输出的匹配概率高于概率阈值的候选语音单元。这样,对于候选语音单元的数量为(n+1)的情况,每帧语音片段对应的目标语音单元要小于(n+1),从而能够快速构建第二索引结构,降低第二索引结构的大小以及后续的检测复杂度。示例性地,构建第二索引结构的过程通过遍历一遍各帧语音片段分别对应的第二语音识别结果即可实现。
108.示例性地,第二索引结构如图5所示。图5所示的第二索引结构中,具有6个节点,分别用数字0
‑
5进行标识。这说明语音信号中具有6个参考时间点,一个节点对应一个参考时间点。这6个参考时间点能够标识出5帧语音片段,也就是说,数字0和数字1标识的两个节点对应的两个参考时间点所标识的为第1帧语音片段,数字1和数字2标识的两个节点对应的两个参考时间点所标识的为第2帧语音片段,数字2和数字3标识的两个节点对应的两个参考时间点所标识的为第3帧语音片段,数字3和数字4标识的两个节点对应的两个参考时间点所标识的为第4帧语音片段,数字4和数字5标识的两个节点对应的两个参考时间点所标识的为第5帧语音片段。
109.进一步地,根据图5可知,第1帧语音片段对应的目标语音单元分别为<unk>和jia1,基于第1帧语音片段与目标语音单元<unk>的匹配概率确定的概率权重为4.3871,基于第1帧语音片段与目标语音单元jia1的匹配概率确定的概率权重为0.013275。同理地,第2帧语音片段对应的目标语音单元分别为<blank>、wei1和ge4,基于第2帧语音片段与目标语音单元<blank>的匹配概率确定的概率权重为0.073067,基于第2帧语音片段与目标语音单元wei1的匹配概率确定的概率权重为4.5336,基于第2帧语音片段与目标语音单元ge4的匹配概率确定的概率权重为2.9268。
110.第3帧语音片段对应的目标语音单元为wei1,基于第3帧语音片段与目标语音单元wei1的匹配概率确定的概率权重为0.00055655。第4帧语音片段对应的目标语音单元分别为<blank>和wei1,基于第4帧语音片段与目标语音单元<blank>的匹配概率确定的概率权重为0.034106,基于第4帧语音片段与目标语音单元wei1的匹配概率确定的概率权重为3.4059。第5帧语音片段对应的目标语音单元为xin4,基于第5帧语音片段与目标语音单元xin4的匹配概率确定的概率权重为0.00024697。
111.步骤3033:对第二索引结构进行变换,得到第一索引结构,第一索引结构对应的语音单元序列包括第二索引结构对应的语音单元序列的满足参考条件的子序列。
112.在得到第二索引结构之后,对第二索引结构进行变换,以得到语音信号对应的用于进行关键词检测的索引结构,也即第一索引结构。第一索引结构对应的语音单元序列包括第二索引结构对应的语音单元序列的满足参考条件的子序列。索引结构对应的语音单元序列是指从索引结构中的第一个节点到最后一个节点的完整路径上的语音单元构成的序列。一个语音单元序列对应一条从第一个节点到最后一个节点的完整路径,一条完整路径
由多个边构成。
113.示例性地,对于第一索引结构和第二索引结构而言,一条边上的输入标签和输出标签是相同的,则一条完整路径对应的语音单元序列可以是指一条完整路径中的各个边上的输入标签构成的序列,也可以是指一条完整路径中的各个边上的输出标签构成的序列。
114.例如,以第二索引结构如图5所示为例,从图5所示的第二索引结构中的第一个节点(即数字0标识的节点)到最后一个节点(即数字5标识的节点)的完整路径一共有12条,因此,图5所示的第二索引结构对应12个语音单元序列。示例性地,图5所示的第二索引结构中的边上的概率权重是匹配概率的负对数,则概率权重越小越好。一个语音单元序列对应的匹配概率可以基于该语音单元序列对应的完整路径中的全部边上的概率权重获取得到,由于边上的概率权重是匹配概率的负对数,所以匹配概率最大的一个语音单元序列为“jia1<blank>wei1<blank>xin4”,其中<blank>代表空。图5所示的第二索引结构对应的原始语音是一条发音较为清晰、识别比较准确的短句。从图5可以看到,待检测的候选关键词“jia1#wei1#xin4”就存在于该第二索引结构中。
115.一个语音单元序列的满足参考条件的子序列是指一个语音单元序列对应的完整路径中的满足参考条件的子路径上的语音单元构成的序列。哪个或哪些子路径是满足参考条件的子路径根据经验设置,或者根据应用场景灵活调整,本技术实施例对此不加以限定。
116.示例性地,满足参考条件的子路径是指完整路径中的至少一条边构成的路径。也就是说,在满足参考条件的子路径中,最小子路径为完整路径中的一条边构成的路径,最大子路径为完整路径。基于此,满足参考条件的子序列是指构成语音单元序列的至少一个语音单元构成的序列。也就是说,在满足参考条件的子序列中,最小子序列为构成语音单元序列的一个语音单元,最大子序列为整个语音单元序列。此种情况下,第一索引结构对应的语音单元序列包括第二索引结构对应的语音单元序列的全部非空子序列。
117.第一索引结构对应的语音单元序列包括第二索引结构对应的语音单元序列的满足参考条件的子序列,以便于能够根据第一索引结构快速实现关键词检测。
118.示例性地,若关键词检测除需要检测语音信号中是否存在某个或某些关键词外,还需要定位检测出的关键词在语音信号中的具体位置,则第一索引结构需要携带时间信息,以利用时间信息确定检测出的关键词在语音信号中的位置;若关键词检测仅需检测语音信号中是否存在某个或某些关键词,无需定位检测出的关键词在语音信号中的具体位置,则第一索引结构无需携带时间信息。
119.在一种可能实现方式中,对于第一索引结构需要携带时间信息的情况,对第二索引结构进行变换,得到第一索引结构的过程包括以下步骤1至步骤3:
120.步骤1:为第二索引结构添加虚拟起始节点和虚拟终止节点。
121.虚拟起始节点添加到第二索引结构中的第一个节点之前,虚拟终止节点添加到第二索引结构中的最后一个节点之后。也就是说,第一索引结构中的节点比第二索引结构中的节点多两个。
122.示例性地,第二索引结构中原有的节点在第二索引结构中的标识为原有标识,由于第二索引结构中的节点与参考时间点一一对应,节点与原有标识一一对应,所以存在原有标识参考时间点的对应关系。需要说明的是,第二索引结构中原有的节点在第一索引结构中可以用原有的标识进行标识,也可以用新的标识进行标识,本技术实施例对此不加以
限定。对于用新的标识进行标识的情况,需要记录新的标识与原有的标识之间的对应关系,以便于根据新的标识与原有的标识之间的对应关系确定新的标识对应的原有的标识,进一步根据原有的标识确定对应的参考时间点。
123.步骤2:在虚拟起始节点与第一关联节点之间构建指向第一关联节点的边,在第二关联节点与虚拟终止节点之间构建指向虚拟终止节点的边,第一关联节点为第二索引结构中的满足第一条件的节点,第二关联节点为第二索引结构中的满足第二条件的节点。
124.第一关联节点是指为保证第一索引结构对应的语音单元序列包括第二索引结构对应的语音单元序列的满足参考条件的子序列,需要与虚拟起始节点关联的节点;第二关联节点是指为保证第一索引结构对应的语音单元序列包括第二索引结构对应的语音单元序列的满足参考条件的子序列,需要与虚拟终止节点关联的节点。
125.第一关联节点为第二索引结构中的满足第一条件的节点,第二关联节点为第二索引结构中的满足第二条件的节点。第一条件以及第二条件的设置与参考条件的设置有关,示例性地,对于满足参考条件的子序列是指构成语音单元序列的至少一个语音单元构成的序列的情况,为保证第一索引结构对应的语音单元序列包括第二索引结构对应的语音单元序列的全部非空子序列,满足第一条件的节点是指第二索引结构中除最后一个节点外的其他所有节点,满足第二条件的节点是指第二索引结构中除第一个节点外的其他所有节点。
126.也就是说,在虚拟起始节点与第二索引结构中除最后一个节点外的其他所有节点之间均构建边,在第二索引结构中除第一节点外的其他所有节点与终止节点之间均构建边。需要说明的是,索引结构中的边为有向边,在虚拟起始节点与第一关联节点之间构建的边是指向第一关联节点的,在第二关联节点与虚拟终止节点之间构建的边是指向虚拟终止节点的。
127.在示例性实施例中,在构建新的边之后,需要补充新构建的边上的信息,示例性地,补充新构建的边上的信息的方式为:将指定语音单元作为新构建的边上的输入标签和输出标签;将概率权重置空或置为参考标签。指定语音单元根据经验设置,或者根据应用场景灵活调整,本技术实施例对此不加以限定,示例性地,指定语音单元为<eps>。参考标签根据经验设置,或者根据已有边上的概率权重的获取方式灵活调整,示例性地,对于概率权重为匹配概率的负对数的情况,参考标签可以为0;对于概率权重为匹配概率的情况,参考标签可以为1。示例性地,参考标签还可以为某一特殊符号,该特殊符号用于指示在后续获取语音单元序列对应的匹配概率时,无需关注该边上的概率权重。
128.在示例性实施例中,经过上述步骤1和步骤2得到的索引结构可视为ft(factor transducer,因子转移器)。
129.步骤3:在指向的节点为第二索引结构中的节点的边上添加时间权重,得到第一索引结构,一条边上的时间权重用于指示一条边指向的节点对应的参考时间点。
130.在经过步骤1和步骤2得到的索引结构中,存在指向第二索引结构中的节点的边,也存在指向其他节点(如,虚拟终止节点)的边,由于第二索引结构中的一个节点对应语音信号中的一个参考时间点,所以,为使得根据获取的第一索引结构不仅能够获取语音信号存在关键词的概率信息,还能够获取存在的关键词在语音信号中的位置信息,在指向的节点为第二索引结构中的节点的边上添加时间权重。在添加时间权重之后,得到第一索引结构。一条边上的时间权重用于指示一条边指向的节点对应参考时间节点。
131.示例性地,本技术实施例对边上的时间权重的形式不加以限定,只要能够用于指示出边指向的节点对应的参考时间节点即可。示例性地,直接将边指向的节点对应的参考时间点作为边上的时间权重。
132.示例性地,将边指向的节点在第二索引结构中的标识作为边上的时间权重,在第二索引结构中的节点的标识与节点对应的参考时间点存在对应关系,从而能够根据时间权重,在第二索引结构中的节点的标识与节点对应的参考时间点存在对应关系中查询到对应的参考时间点。
133.示例性地,将边指向的节点在经过步骤1和步骤2得到的索引结构中的标识作为边上的时间权重,节点在经过步骤1和步骤2得到的索引结构中的标识与节点在第二索引结构中的标识存在对应关系,节点在第二索引结构中的标识又与节点对应的参考时间点存在对应关系。因此,能够根据时间权重,在经过步骤1和步骤2得到的索引结构中的标识与节点在第二索引结构中的标识的对应关系中,查询时间权重对应的节点在第二索引结构中的标识;然后根据节点在第二索引结构中的标识,在节点在第二索引结构中的标识与节点对应的参考时间点的对应关系中,查询到对应的参考时间点。
134.在示例性实施例中,对于步骤2中构建的边上的概率权重置空的情况,在指向的节点为第二索引结构中的节点的边上添加时间权重的同时,若边上不存在概率权重,则需要添加概率权重,以避免在后续关键词检测的过程中,误将时间权重作为概率权重。示例性地,对于已有概率权重的边上的概率权重为匹配概率的负对数的情况,在没有概率权重的边上添加的概率权重为0;对于已有概率权重的边上的概率权重为匹配概率的情况,在没有概率权重的边上添加的概率权重为1。
135.示例性地,时间权重为字符串的形式,概率权重为浮点数值的形式。
136.示例性地,由于在步骤3中添加了时间权重,使得索引结构携带了时间信息,所以,基于步骤1至步骤3得到的第一索引结构可以称为tft(timed factor transducer,带时间信息的因子转移器)。
137.示例性地,对于一帧语音片段对应的目标语音单元为与一帧语音单元的匹配概率不低于概率阈值的候选语音单元的情况,由于可以加快构建第一索引结构的效率,所以基于步骤1至步骤3得到的第一索引结构还可以称为ftft(fast timed factor transducer,快速带时间信息的因子转移器)。ftft的构建直接作用在第二语音识别结果上,利用(概率权重,时间权重)的两元组权重作为共生权重,为了获得准确的关键词在语音信号中的位置,ftft将第二索引结构中的子路径的起始时间编码在ftft起始节点到每个子路径的权重上。
138.示例性地,以第二索引结构如图5所示为例,基于上述步骤1至步骤3得到的第一索引结构如图6所示。图5中的数字0至数字5标识的节点(称为实体节点)在图6中变成了数字2至数字7标识的节点。图6中额外增加了虚拟起始节点(数字0标识的节点)以及虚拟终止节点(数字1标识的节点)。在虚拟起始节点与数字2至数字6标识的节点(即第一关联节点)之间均构建了边,在数字3至数字7标识的节点(即第二关联节点)与虚拟终止节点之间也均构建了边。也就是说,虚拟起始节点可以连接到除数字7标识的实体节点外的任意一个实体节点,除数字2标识的实体节点之外的所有实体节点都可以跳转到共同的虚拟终止节点上。
139.在图6中,指向的节点为第二索引结构中的节点的边上添加的时间权重为指向的
节点在第一索引结构中的数字标识。在虚拟起始节点到第一关联节点之间的边上,除了具有输入标签和输出标签<eps>以及时间权重外,还具有为0的概率权重。在第二关联节点到虚拟终止节点之间的边上,只有输入标签和输出标签<eps>,不具有概率权重和时间权重。
140.在一种可能实现方式中,对于第一索引结构无需携带时间信息的情况,对第二索引结构进行变换,得到第一索引结构的过程为:为第二索引结构添加虚拟起始节点和虚拟终止节点;在虚拟起始节点与第一关联节点之间构建指向第一关联节点的边,在第二关联节点与虚拟终止节点之间构建指向虚拟终止节点的边,得到第一索引结构。该过程的实现方式参见上述第一索引结构需要携带时间信息的情况下的步骤1和步骤2,此处不再赘述。示例性地,以第二索引结构如图5所示为例,在第一索引结构无需携带时间信息的情况下得到的第一索引结构如图7所示。
141.在步骤304中,基于第一索引结构,获取语音信号的关键词检测结果。
142.由于第一索引结构为语音信号对应的用于进行关键词检测的索引结构,所以在获取第一索引结构后,能够基于第一索引结构,获取语音信号的关键词检测结果。根据语音信号的关键词检测结果能够得知语音信号中是否存在某个关键词、存在某个关键词的概率、存在的某个关键词在语音信号中的位置等信息。示例性地,某个关键词在语音信号中的位置基于语音信号中的参考时间点确定。
143.在一种可能实现方式中,基于第一索引结构,获取语音信号的关键词检测结果的方式包括但不限于以下两种:
144.方式一:将候选关键词转换为第三索引结构,第三索引结构与第一索引结构为相同形式的索引结构;对第一索引结构和第三索引结构执行组合操作,得到第四索引结构;基于第四索引结构,获取语音信号的关键词检测结果。
145.候选关键词是指需要检测语音信号是否存在的关键词,候选关键词预先设置得到,候选关键词与实际的应用场景有关。示例性地,实际的应用场景为用户利用存在唤醒词“打开导航”的语音信号唤醒计算机设备中的导航类客户端的场景,则候选关键词为“打开导航”。示例性地,实际的应用场景为用于利用存在指定词“拍照”的语音信号命令计算机设备中的拍照类客户端进行拍照的场景,则候选关键词为“拍照”。
146.候选关键词的数量可以为一个或多个,本技术实施例对此不加以限定。在示例性实施例中,对于候选关键词的数量为多个的情况,将全部的候选关键词转换为一个第三索引结构,以提高通过组合操作获取第四索引结构的效率。第三索引结构与第一索引结构为相同形式的索引结构,示例性地,对于第一索引结构为wfst形式的索引结构的情况,第三索引结构为wfst形式的索引结构。
147.将候选关键词转换为第三索引结构的方式与候选语音单元的类型有关,示例性地,先将候选关键词表示为与候选语音单元的类型相匹配的关键词语音序列;然后根据关键词语音序列中的语音单元之间可能存在的跳转关系构建得到第三索引结构。构建得到的第三索引结构对应的各个语音单元序列均为候选关键词对应的语音单元序列。示例性地,对于候选关键词的数量为多个的情况,第三索引结构对应的任一语音单元序列为某一候选关键词的语音单元序列。候选关键词的语音单元序列是指通过精简能够得到该候选关键词的关键词语音序列的语音单元序列。
148.示例性地,以候选关键词为“加个微信”为例,对于候选语音单元的类型为音节的
情况,将该候选关键词表示为“jia1#wei1#xin4”的关键词语音序列,然后根据关键词语音序列中的语音单元之间可能存在的跳转关系构建得到如图8所示的第三索引结构。
149.在图8所示的第三索引结构中,节点为根据关键词语音序列中的语音单元之间可能存在的跳转关系确定的虚拟节点,节点之间的边上的信息包括输入标签和输出标签,默认概率权重为空。为保证第三索引结构对应的语音单元序列均为候选关键词对应的语音单元序列,将关键词语音序列作为第一个节点与第二个节点之间的边上的输出标签。示例性地,还可以将关键词语音序列作为倒数第二个节点与最后一个节点之间的边上的输出标签。
150.在得到第三索引结构后,对第一索引结构和第三索引结构执行组合(compose)操作,得到第四索引结构。compose操作为wfst中一种标准的操作,compose(a,b)代表将索引结构a的输出作为索引结构b的输入,从起始节点遍历a至终止节点,其输出作为b的输入从起始节点出发在b的wfst图上跳转,直至跳转到b的终止节点,将成功跳转至b终止节点的输入和输出结果记录组合为新的wfst结果输出。
151.对第一索引结构和第三索引结构执行组合(compose)操作后得到的第四索引结构对应的语音单元序列命中候选关键词。需要说明的是,对于候选关键词的数量为多个的情况,第四索引结构对应的语音单元序列命中候选关键词是指第四索引结构对应的每个语音单元序列均命中某一个候选关键词。示例性地,语音单元序列命中候选关键词是指语音单元序列进行精简之后能够得到候选关键词的关键词语音序列。
152.示例性地,对图6所示的第一索引结构和图8所示的第三索引结构执行组合操作后,能够得到如图9所示的第四索引结构。对图7所示的第一索引结构和图8所示的第三索引结构执行组合操作后,能够得到如图10所示的第四索引结构。图9所示的第四索引结构中的边上除包括输入标签、输出标签以及概率权重外,还包括时间权重。图10所示的第四索引结构中的边上不包括时间权重。
153.示例性地,在图9所示的第四索引结构中,将各个完整路径对应的公共的时间权重序列(即2_3_4_5_6_7)作为了第一个节点与第二个节点之间的边上的时间权重,以使第四索引结构更加精简。需要说明的是,由于第三索引结构中的节点为虚拟节点,所以第四索引结构中的节点同样为虚拟节点。
154.在获取第四索引结构后,基于第四索引结构,获取语音信号的关键检测结果。示例性地,语音信号的关键词检测结果包括语音信号对候选关键词的命中信息,语音信号对候选关键词的命中信息至少包括语音信号中存在候选关键词的概率,示例性地,语音信号对应候选关键词的命中信息还包括语音信号中存在候选关键词的位置。
155.在一种可能实现方式中,基于第四索引结构,获取语音信号的关键词检测结果的过程包括:获取第四索引结构对应的语音单元序列具有的权重信息;基于权重信息,获语音信号对候选关键词的命中信息。
156.第四索引结构对应的一个语音单元序列是指从第四索引结构中的第一个节点到最后一个节点的一条完整路径中的各个边上的输入标签表示的语音单元构成的序列。获取第四索引结构对应的语音单元序列具有的权重信息的方式与第一索引结构的边上是否存在时间权重有关。
157.示例性地,若第一索引结构的边上存在时间权重,则第四索引结构对应的语音单
元序列具有的权重信息包括概率权重信息和时间权重信息;若第一索引结构的边上不存在时间权重,则第四索引结构对应的语音单元序列具有的权重信息仅包括概率权重信息。
158.以第一索引结构的边上存在时间权重为例进行说明,获取第四索引结构对应的语音单元序列具有的权重信息的过程通过获取概率权重信息和时间权重信息实现。
159.获取概率权重信息的方式与边上的概率权重的获取方式有关。若边上的概率权重为匹配概率,则将语音单元序列对应的完整路径中的各个边上的概率权重相乘,得到语音单元序列对应的概率权重信息,该概率权重信息即可认为是语音信号中存在该语音单元序列命中的候选关键词的概率。
160.若边上的概率权重为匹配概率的负对数,则将语音单元序列对应的完整路径中的各边上的概率权重相加,得到语音单元序列对应的概率权重信息。此种情况下,语音单元序列对应的概率权重信息为语音信号中存在该语音单元序列命中的候选关键词的概率的负对数,通过对语音单元序列对应的概率权重信息进行数学变换,即可得到语音信号中存在该语音单元序列命中的候选关键词的概率。
161.获取时间权重信息的方式为:将语音单元序列对应的完整路径中的各个边上的时间权重进行串联,得到时间权重信息。根据该时间权重信息即可确定语音信号中存在该语音单元序列命中的候选关键词的位置。示例性地,根据图9所示的第四索引结构,能够确定语音单元序列“jia1 wei1 wei1 wei1 xin4”对应的时间权重信息为2_3_4_5_6_7,根据该时间权重信息可以确定语音信号中存在该语音单元序列命中的候选关键词“加微信”的位置为从第一索引结构中的数字2标识的节点对应的参考时间点到数字7标识的节点对应的参考时间点之间的位置。
162.在获取第四索引结构对应的语音单元序列具有的权重信息后,基于第四索引结构对应的语音单元序列具有的权重信息,获语音信号对候选关键词的命中信息。示例性地,语音信号对候选关键词的命中信息用于指示语音信号存在候选关键词的概率以及存在候选关键词的位置。语音信号存在候选关键词的概率根据该语音单元序列对应的概率权重信息确定,语音信号存在候选关键词的位置根据该语音单元序列对应的时间权重信息确定。
163.方式二:基于候选关键词,对第一索引结构进行遍历,得到语音信号的关键词检测结果。
164.此种方式二,在已知候选关键词的基础上,通过直接对第一索引结构进行遍历,得到语音信号的关键词检测结果。示例性地,基于候选关键词,对第一索引结构进行遍历的方式为:从第一索引结构中的第一个节点开始,依次按照每条路径跳转到最后一个节点,每按照一条路径跳转到最后一个节点,则得到该路径对应的语音单元序列以及该语音单元序列的权重信息,若该路径对应的语音单元序列命中某一候选关键词,则说明该语音信号中存在该候选关键词,该语音信号中存在该候选关键词的具体信息(如概率、位置等)根据语音单元序列的权重信息确定。在遍历全部的路径之后,则可以得到语音信号的关键词检测结果。
165.本技术实施例针对基于ctc算法训练得到的端到端语音识别模型,提出一种快速、适应于任意关键词检测的框架,即使在较小神经网络模型下也能有很好的检测性能。该方法根据调用基于ctc算法训练得到的端到端语音识别模型输出的第一语音识别结果,为每帧语音片段保留匹配概率较高的一些候选语音单元(即目标语音单元),然后将语音片段与
保留的候选语音单元的匹配概率(即第二语音识别结果)转换为wfst形式的索引结构,将候选语音关键词也转换成对应的wfst形式的索引结构,通过wfst结构标准的compose操作即可得到能够获取关键词检测的结果的wfst形式的索引结构。
166.由于语音关键词检测通常需要定位到具体的关键词出现位置,本技术实施例提出一种ftft方法,将时间信息作为一种字符串权重保存,与概率权重组合为一种共生权重(pair weight),使得本技术实施例提出的方法能够快速准确地得到语音信号中存在某个关键词的概率以及位置等。
167.示例性地,关键词检测过程如图11所示,获取语音信号,提取语音信号的声学特征;调用基于ctc算法训练得到的端到端语音识别模型对语音信号的声学特征进行识别,得到各帧语音片段分别对应的第一语音识别结果。基于各帧语音片段分别对应的第一语音识别结果,获取第一索引结构;将候选关键词转换为第三索引结构。对第一索引结构和第三索引结构执行组合操作,得到第四索引结构,基于第四索引结构,获取语音信号的关键词检测结果。
168.本技术实施例提供的ftft索引结构可以直接根据基于ctc算法训练得到的端到端语音识别模型输出的语音识别结果构建,构建复杂度非常低且不影响关键词检测。本技术实施例提供方法是基于ctc算法训练得到的端到端语音识别模型和ftft索引结构实现的。使用基于ctc算法训练得到的端到端语音识别模型,能够保证同等训练数据量下、同等参数量下声学建模能力的最优;提出的ftft索引结构可以通过有效利用基于ctc算法训练得到的端到端语音识别模型输出的概率较为尖锐的事实快速构建,实现了“又快又准”的语音关键词检测目标。实验证明,在底层声学模型较小的时候整体性能依然非常优越,整体性能损耗很小,尤其在关键词的召回率以及在关键词的覆盖率上有明显的提升。这有利于在资源受限或者资源高效的场景下保证语音关键词的检测效果,可以显著降低硬件成本。
169.本技术实施例中,在调用端到端语音识别模型对声学特征进行识别的情况下,直接根据识别得到的结果(也即各帧语音片段分别对应的第一语音识别结果)获取了第一索引结构,第一索引结构能够对识别得到的识别结果进行较为全面的体现,根据第一索引结构进行关键词检测,能够较为全面的检测出语音信号中存在的关键词,从而提高获取的关键词检测结果的召回率,关键词检测的效果较好。
170.参见图12,本技术实施例提供了一种关键词检测装置,该装置包括:
171.第一获取单元1201,用于获取语音信号;
172.识别单元1202,用于调用端到端语音识别模型对语音信号的声学特征进行识别,得到语音信号中的各帧语音片段分别对应的第一语音识别结果,一帧语音片段对应的第一语音识别结果包括一帧语音片段分别与各个候选语音单元的匹配概率,候选语音单元为用于实现关键词检测而设置的语音单元;
173.第二获取单元1203,用于基于各帧语音片段分别对应的第一语音识别结果,获取第一索引结构,第一索引结构为语音信号对应的用于进行关键词检测的索引结构;
174.第三获取单元1204,用于基于第一索引结构,获取语音信号的关键词检测结果。
175.在一种可能实现方式中,参见图13,第二获取单元1203,包括:
176.获取子单元12031,用于基于各帧语音片段分别对应的第一语音识别结果,获取各帧语音片段分别对应的第二语音识别结果,一帧语音片段对应的第二语音识别结果包括一
帧语音片段与一帧语音片段对应的目标语音单元的匹配概率,一帧语音片段对应的目标语音单元为各个候选语音单元中与一帧语音片段满足选取条件的候选语音单元;
177.转换子单元12032,用于将各帧语音片段分别对应的第二语音识别结果转换为第二索引结构,第二索引结构由节点、节点之间的边以及边上的信息构成,边上的信息包括输入标签、输出标签和概率权重;
178.变换子单元12033,用于对第二索引结构进行变换,得到第一索引结构,第一索引结构对应的语音单元序列包括第二索引结构对应的语音单元序列的满足参考条件的子序列。
179.在一种可能实现方式中,与一帧语音片段满足选取条件是指与一帧语音片段的匹配概率不低于概率阈值;获取子单元12031,用于对于第一语音片段,将各个候选语音单元中与第一语音片段的匹配概率不低于概率阈值的候选语音单元作为第一语音片段对应的目标语音单元,第一语音片段为各帧语音片段中的任意一帧语音片段;从第一语音片段对应的第一语音识别结果中,提取第一语音片段与第一语音片段对应的目标语音单元的匹配概率,由第一语音片段与第一语音片段对应的目标语音单元的匹配概率构成第一语音片段对应的第二语音识别结果。
180.在一种可能实现方式中,第二索引结构中的节点与语音信号中的参考时间点一一对应;变换子单元12033,用于为第二索引结构添加虚拟起始节点和虚拟终止节点;在虚拟起始节点与第一关联节点之间构建指向第一关联节点的边,在第二关联节点与虚拟终止节点之间构建指向虚拟终止节点的边,第一关联节点为第二索引结构中的满足第一条件的节点,第二关联节点为第二索引结构中的满足第二条件的节点;在指向的节点为第二索引结构中的节点的边上添加时间权重,得到第一索引结构,一条边上的时间权重用于指示一条边指向的节点对应的参考时间点。
181.在一种可能实现方式中,第二索引结构中的节点与语音信号中的参考时间点一一对应,且语音信号中的任两个相邻的参考时间点均用于标识一帧语音片段;转换子单元12032,用于将第二语音片段对应的目标语音单元作为第一节点和第二节点之间的边上的输入标签和输出标签,第一节点和第二节点为第二索引结构中的任意两个相邻的节点,第二语音片段为第一节点和第二节点对应的两个参考时间点所标识的语音片段;基于第二语音片段与第二语音片段对应的目标语音单元的匹配概率,确定第一节点和第二节点之间的边上的概率权重。
182.在一种可能实现方式中,转换子单元12032,还用于计算第二语音片段与第二语音片段对应的目标语音单元的匹配概率的负对数,将负对数作为第一节点和第二节点之间的边上的概率权重。
183.在一种可能实现方式中,第三获取单元1204,用于将候选关键词转换为第三索引结构,第三索引结构与第一索引结构为相同形式的索引结构;对第一索引结构和第三索引结构执行组合操作,得到第四索引结构,第四索引结构对应的语音单元序列命中候选关键词;基于第四索引结构,获取语音信号的关键词检测结果。
184.在一种可能实现方式中,语音信号的关键词检测结果包括语音信号对候选关键词的命中信息,第三获取单元1204,还用于获取第四索引结构对应的语音单元序列具有的权重信息;基于权重信息,获取语音信号对候选关键词的命中信息。
185.在一种可能实现方式中,第三获取单元1204,用于基于候选关键词,对第一索引结构进行遍历,得到语音信号的关键词检测结果。
186.本技术实施例中,在调用端到端语音识别模型对声学特征进行识别的情况下,直接根据识别得到的结果(也即各帧语音片段分别对应的第一语音识别结果)获取了第一索引结构,第一索引结构能够对识别得到的识别结果进行较为全面的体现,根据第一索引结构进行关键词检测,能够较为全面的检测出语音信号中存在的关键词,从而提高获取的关键词检测结果的召回率,关键词检测的效果较好。
187.需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
188.在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条计算机程序。该至少一条计算机程序由一个或者一个以上处理器加载并执行,以使该计算机设备实现上述任一种关键词检测方法。该计算机设备可以为服务器,也可以为终端,本技术实施例对此不加以限定。接下来,分别对服务器和终端的结构进行介绍。
189.图14是本技术实施例提供的一种服务器的结构示意图,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,cpu)1401和一个或多个存储器1402,其中,该一个或多个存储器1402中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器1401加载并执行,以使该服务器实现上述各个方法实施例提供的关键词检测方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
190.图15是本技术实施例提供的一种终端的结构示意图。该终端可以是:智能手机、平板电脑、mp3(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)播放器、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
191.通常,终端包括有:处理器1501和存储器1502。
192.处理器1501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1501可以采用dsp(digital signal processing,数字信号处理)、fpga(field
‑
programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1501可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1501还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计
算操作。
193.存储器1502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1501所执行,以使该终端实现本技术中方法实施例提供的关键词检测方法。
194.在一些实施例中,终端还可选包括有:外围设备接口1503和至少一个外围设备。处理器1501、存储器1502和外围设备接口1503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1503相连。具体地,外围设备包括:射频电路1504、显示屏1505、摄像头组件1506、音频电路1507、定位组件1508和电源1509中的至少一种。
195.外围设备接口1503可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1501和存储器1502。在一些实施例中,处理器1501、存储器1502和外围设备接口1503被集成在同一芯片或电路板上;在一些其他实施例中,处理器1501、存储器1502和外围设备接口1503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
196.射频电路1504用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1504包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1504还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
197.显示屏1505用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1505是触摸显示屏时,显示屏1505还具有采集在显示屏1505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1501进行处理。此时,显示屏1505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1505可以为一个,设置在终端的前面板;在另一些实施例中,显示屏1505可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在另一些实施例中,显示屏1505可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏1505还可以设置成非矩形的不规则图形,也即异形屏。显示屏1505可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light
‑
emitting diode,有机发光二极管)等材质制备。
198.摄像头组件1506用于采集图像或视频。可选地,摄像头组件1506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广
角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
199.音频电路1507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1501进行处理,或者输入至射频电路1504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1501或射频电路1504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1507还可以包括耳机插孔。
200.定位组件1508用于定位终端的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件1508可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
201.电源1509用于为终端中的各个组件进行供电。电源1509可以是交流电、直流电、一次性电池或可充电电池。当电源1509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
202.在一些实施例中,终端还包括有一个或多个传感器1510。该一个或多个传感器1510包括但不限于:加速度传感器1511、陀螺仪传感器1512、压力传感器1513、指纹传感器1514、光学传感器1515以及接近传感器1516。
203.加速度传感器1511可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1511可以用于检测重力加速度在三个坐标轴上的分量。处理器1501可以根据加速度传感器1511采集的重力加速度信号,控制显示屏1505以横向视图或纵向视图进行用户界面的显示。加速度传感器1511还可以用于游戏或者用户的运动数据的采集。
204.陀螺仪传感器1512可以检测终端的机体方向及转动角度,陀螺仪传感器1512可以与加速度传感器1511协同采集用户对终端的3d动作。处理器1501根据陀螺仪传感器1512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
205.压力传感器1513可以设置在终端的侧边框和/或显示屏1505的下层。当压力传感器1513设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器1501根据压力传感器1513采集的握持信号进行左右手识别或快捷操作。当压力传感器1513设置在显示屏1505的下层时,由处理器1501根据用户对显示屏1505的压力操作,实现对ui界面上的可操作性控件进行控制。
206.指纹传感器1514用于采集用户的指纹,由处理器1501根据指纹传感器1514采集到的指纹识别用户的身份,或者,由指纹传感器1514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1514可以被设
置在终端的正面、背面或侧面。当终端上设置有物理按键或厂商logo(商标)时,指纹传感器1514可以与物理按键或厂商logo集成在一起。
207.光学传感器1515用于采集环境光强度。在一个实施例中,处理器1501可以根据光学传感器1515采集的环境光强度,控制显示屏1505的显示亮度。具体地,当环境光强度较高时,调高显示屏1505的显示亮度;当环境光强度较低时,调低显示屏1505的显示亮度。在另一个实施例中,处理器1501还可以根据光学传感器1515采集的环境光强度,动态调整摄像头组件1506的拍摄参数。
208.接近传感器1516,也称距离传感器,通常设置在终端的前面板。接近传感器1516用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器1516检测到用户与终端的正面之间的距离逐渐变小时,由处理器1501控制显示屏1505从亮屏状态切换为息屏状态;当接近传感器1516检测到用户与终端的正面之间的距离逐渐变大时,由处理器1501控制显示屏1505从息屏状态切换为亮屏状态。
209.本领域技术人员可以理解,图15中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
210.在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由计算机设备的处理器加载并执行,以使计算机实现上述任一种关键词检测方法。
211.在一种可能实现方式中,上述计算机可读存储介质可以是只读存储器(read
‑
only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read
‑
only memory,cd
‑
rom)、磁带、软盘和光数据存储设备等。
212.在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种关键词检测方法。
213.需要说明的是,本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以上示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
214.应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
215.以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。