CN116978368A - 一种唤醒词检测方法和相关装置 - Google Patents

一种唤醒词检测方法和相关装置 Download PDF

Info

Publication number
CN116978368A
CN116978368A CN202311240915.5A CN202311240915A CN116978368A CN 116978368 A CN116978368 A CN 116978368A CN 202311240915 A CN202311240915 A CN 202311240915A CN 116978368 A CN116978368 A CN 116978368A
Authority
CN
China
Prior art keywords
target
posterior probability
state
wake
word
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
CN202311240915.5A
Other languages
English (en)
Other versions
CN116978368B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311240915.5A priority Critical patent/CN116978368B/zh
Publication of CN116978368A publication Critical patent/CN116978368A/zh
Application granted granted Critical
Publication of CN116978368B publication Critical patent/CN116978368B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Toys (AREA)

Abstract

本申请公开一种唤醒词检测方法和相关装置,可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景,根据声学模型输出的待检测语音帧对应于每个候选对象的后验概率,对后验动态规划矩阵中目标对象的后验概率进行更新。基于更新后的后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照对象序列对当前状态进行状态跳转。若状态跳转的结果满足预设条件,根据更新后的后验动态规划矩阵中目标对象的后验概率和当前状态的后验概率最大值,确定第一检测结果。当第一检测结果为检测成功时,若确定目标唤醒词的全部状态检测成功,计算目标唤醒词的置信度,若置信度达到置信度阈值,确定检测出目标唤醒词,提高了检测效率。

Description

一种唤醒词检测方法和相关装置
技术领域
本申请涉及人工智能领域,特别是涉及一种唤醒词检测方法和相关装置。
背景技术
随着智能设备的推广,通过语音命令与智能设备进行人机交互已成为重要功能,通过语音命令与智能设备进行的人机交互可以称为语音交互。在语音交互的过程中,用户可以通过唤醒词来唤醒智能设备,因此智能设备的唤醒词检测性能对人机交互体验具有重大影响。
但由于智能设备的品类丰富,从智能家居、智能座舱到智能穿戴场景都有所覆盖,单一的固定唤醒词难以满足快速定制的需求,因此自定义唤醒词在市场的需求极为广泛。在使用自定义唤醒词的情况下,对自定义唤醒词进行检测的方式可以是利用大量不同的固定唤醒词及通用语音识别数据训练基座模型,然后当存在自定义唤醒词需求时,通过采集少量的自定义唤醒词,对基座模型进行训练微调,得到最终用于唤醒词检测的声学模型,从而利用微调得到的声学模型实现对自定义唤醒词的检测。
然而这种方法需要采集一定量的自定义唤醒词作为训练样本,虽然量级较少,但仍然存在采集成本和模型微调的训练成本,并且对基座模型进行微调需要一定的时间,从而导致检测效率较低。
发明内容
为了解决上述技术问题,本申请提供了一种唤醒词检测方法和相关装置,基于状态跳转和动态规划,在声学模型输出的后验概率基础上进一步判断,从而在保证检测准确性的情况下,无需采集成本和模型微调的训练成本,减少等待时间,从而提高检测效率。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供一种唤醒词检测方法,所述方法包括:
获取当前时刻对应的待检测语音帧;
通过预先构建的声学模型输出所述待检测语音帧对应于多个候选对象中每个候选对象的后验概率,所述多个候选对象包括组成目标唤醒词的目标对象;
根据所述待检测语音帧对应于每个所述候选对象的后验概率,对后验动态规划矩阵中所述目标对象的后验概率进行更新,所述后验动态规划矩阵用于存储预设时间段内所述目标对象的后验概率以及所述预设时间段内所述目标对象的后验概率最大值,所述预设时间段是所述当前时刻之前的一段时间;
基于更新后的所述后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照所述目标唤醒词的对象序列对所述当前状态进行状态跳转,所述当前状态为在所述当前时刻待检测的所述目标唤醒词中的一个目标对象,所述对象序列是按照所述目标对象在所述目标唤醒词中的排序,对所述目标对象进行排列得到的序列;
若确定状态跳转的结果满足预设条件,根据更新后的所述后验动态规划矩阵中所述目标对象的后验概率和所述当前状态的后验概率最大值,确定所述当前状态的第一检测结果;
当所述第一检测结果为检测成功时,若确定所述目标唤醒词的全部状态检测成功,计算所述目标唤醒词的置信度;
若所述置信度达到置信度阈值,确定检测出所述目标唤醒词。
一方面,本申请实施例提供一种唤醒词检测装置,所述装置包括获取单元、输出单元、更新单元、跳转单元、确定单元和计算单元:
所述获取单元,用于获取当前时刻对应的待检测语音帧;
所述输出单元,用于通过预先构建的声学模型输出所述待检测语音帧对应于多个候选对象中每个候选对象的后验概率,所述多个候选对象包括组成目标唤醒词的目标对象;
所述更新单元,用于根据所述待检测语音帧对应于每个所述候选对象的后验概率,对后验动态规划矩阵中所述目标对象的后验概率进行更新,所述后验动态规划矩阵用于存储预设时间段内所述目标对象的后验概率以及所述预设时间段内所述目标对象的后验概率最大值,所述预设时间段是所述当前时刻之前的一段时间;
所述跳转单元,用于基于更新后的所述后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照所述目标唤醒词的对象序列对所述当前状态进行状态跳转,所述当前状态为在所述当前时刻待检测的所述目标唤醒词中的一个目标对象,所述对象序列是按照所述目标对象在所述目标唤醒词中的排序,对所述目标对象进行排列得到的序列;
所述确定单元,用于若确定状态跳转的结果满足预设条件,根据更新后的所述后验动态规划矩阵中所述目标对象的后验概率和所述当前状态的后验概率最大值,确定所述当前状态的第一检测结果;
所述计算单元,用于当所述第一检测结果为检测成功时,若确定所述目标唤醒词的全部状态检测成功,计算所述目标唤醒词的置信度;
所述确定单元,还用于若所述置信度达到置信度阈值,确定检测出所述目标唤醒词。
一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器以及存储器:
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行前述任一方面所述的方法。
一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序当被处理器执行时使所述处理器执行前述任一方面所述的方法。
一方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一方面所述的方法。
由上述技术方案可以看出,在需要进行唤醒词检测时,可以逐帧获取语音帧并进行检测。针对检测过程中的当前时刻,可以获取当前时刻对应的待检测语音帧,并通过预先构建的声学模型输出待检测语音帧对应于多个候选对象中每个候选对象的后验概率,多个候选对象包括组成目标唤醒词的目标对象。其中,声学模型是根据固定的唤醒词进行训练得到的,而目标唤醒词可能是用户自定义的唤醒词,因此,为了提高唤醒词检测的准确性,可以进一步结合状态跳转和动态规划对得到的后验概率进行进一步判断,从而检测是否存在唤醒词。具体的,可以根据待检测语音帧对应于每个候选对象的后验概率,对后验动态规划矩阵中目标对象的后验概率进行更新,后验动态规划矩阵用于存储预设时间段内目标对象的后验概率以及预设时间段内目标对象的后验概率最大值,预设时间段是当前时刻之前的一段时间。然后,基于更新后的后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照目标唤醒词的对象序列对当前状态进行状态跳转,当前状态为在当前时刻待检测的目标唤醒词中的一个目标对象,对象序列是按照目标对象在目标唤醒词中的排序,对目标对象进行排列得到的序列。也就是说,此时通过状态跳转和动态规划,对自定义的目标唤醒词的状态依次进行判断,使得判断过程可以满足自定义唤醒词的个性化需求,进而保证唤醒词检测的准确性。若确定状态跳转的结果满足预设条件,根据更新后的后验动态规划矩阵中目标对象的后验概率和当前状态的后验概率最大值,确定当前状态的第一检测结果。当第一检测结果为检测成功时,若确定目标唤醒词的全部状态检测成功,计算目标唤醒词的置信度,若置信度达到置信度阈值,确定检测出目标唤醒词。本申请基于状态跳转和动态规划,在声学模型输出的后验概率基础上进一步判断,从而在保证检测准确性的情况下,无需采集成本和模型微调的训练成本,减少等待时间,从而提高检测效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术成员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种唤醒词检测方法的应用场景架构图;
图2为本申请实施例提供的一种唤醒词检测方法的流程图;
图3为本申请实施例提供的一种初始化的状态跳转单元的生成流程图;
图4为本申请实施例提供的一种唤醒词检测方法的整体流程示例图;
图5为本申请实施例提供的一种唤醒词检测装置的结构图;
图6为本申请实施例提供的一种终端的结构图;
图7为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
关键词检测是语音识别技术的一项重要子任务,是指在语音流中检测预设的关键词是否存在,其典型的一种应用场景为语音的唤醒词检测。语音唤醒(Wake-up-wordDetection)是关键词检出的一种特殊应用场景,通过预定单个关键词来实现使用唤醒词对智能设备的唤醒。
该场景主要出现在用于与智能设备的交互过程中,用户通过说出唤醒词来激活智能设备中,从而进行后续的交互流程。语音唤醒通常会使用体积较小,计算量较低的声学模型,以便于能够24小时不间断的运行在智能设备上,且不带来较多的功耗,因此难以使用通用的语音识别算法来实现,但由于智能语音助手的品类丰富,从智能家居、智能座舱到智能穿戴场景都有所覆盖,单一的固定声学模型难以满足快速定制的需求,因此自定义唤醒词在市场的需求极为广泛,但由于自定义唤醒词检出所需的声学模型需要采集大量的唤醒词数据,成本较高,并且需要采集一定量的自定义唤醒词对基座模型进行微调需要一定的时间,从而导致检测效率较低。
其中,声学模型是将语音流转化为建模单元序列及后验概率的模型,这里的建模单元序列是建模单元组成的序列,建模单元是指声学建模的最小单元,可以表示进行唤醒词检测所针对的检测粒度。建模单元例如可以包括音素、音节、词,音素、音节、词的检测粒度逐渐增大。
为了解决上述技术问题,本申请实施例提供一种唤醒词检测方法,该方法可以基于状态跳转和动态规划,在声学模型输出的后验概率基础上进一步判断,从而在保证检测准确性的情况下,无需采集成本和模型微调的训练成本,减少等待时间,从而提高检测效率。
需要说明的是,本申请实施例提供的唤醒词检测方法可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。具体的,可以是各种语音唤醒场景,尤其是自定义唤醒词的场景,本申请实施例对此不做限定。
本申请实施例提供的唤醒词检测方法可以由计算机设备执行,该计算机设备可以是终端,该终端可以具有语音交互功能,从而可以通过唤醒词进行语音唤醒。该终端包括但不限于智能手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
为了便于理解,下面将对唤醒词检测方法的应用场景架构进行介绍。如图1所示,图1示出了一种唤醒词检测方法的应用场景架构图。该应用场景架构图中可以包括终端100,终端100具有语音交互功能,例如终端100上可以安装智能语音助手,该智能语音助手可以是云智能语音助手,从而提供更加丰富的语音交互服务。图1中以终端100是智能手机为例。
终端100可以逐帧获取语音帧并进行检测,从而确定用户发出的语音中是否包括目标唤醒词。针对检测过程中的当前时刻,终端100可以获取当前时刻对应的待检测语音帧,并通过预先构建的声学模型输出待检测语音帧对应于多个候选对象中每个候选对象的后验概率,多个候选对象包括组成目标唤醒词的目标对象。其中,声学模型是根据固定的唤醒词进行训练得到的,配置在终端100上,而目标唤醒词可能是用户自定义的唤醒词,因此,为了提高唤醒词检测的准确性,可以进一步结合状态跳转和动态规划对得到的后验概率进行进一步判断,从而检测是否存在唤醒词。
具体的,终端100可以根据待检测语音帧对应于每个候选对象的后验概率,对后验动态规划矩阵中目标对象的后验概率进行更新,后验动态规划矩阵用于存储预设时间段内目标对象的后验概率以及预设时间段内目标对象的后验概率最大值,预设时间段是当前时刻之前的一段时间。然后,终端100基于更新后的后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照目标唤醒词的对象序列对当前状态进行状态跳转。当前状态为在当前时刻待检测的目标唤醒词中的一个目标对象,对象序列是按照目标对象在目标唤醒词中的排序,对目标对象进行排列得到的序列。也就是说,此时通过状态跳转和动态规划,对自定义的目标唤醒词的状态依次进行判断,使得判断过程可以满足自定义唤醒词的个性化需求,进而保证唤醒词检测的准确性。其中,状态跳转可以是指改变当前状态,通常可以包括前进一个状态或者后退一个状态。
在本申请实施例中,目标对象的类型可以是基于声学模型的建模单元确定的,即目标对象的类型与建模单元相同。若建模单元是词,则目标对象的类型是词,即将目标唤醒词进行分词,分词得到的每个词可以作为目标对象;若建模单元是音节,则目标对象的类型是音节,在本申请实施例中该音节为不带声调的音节,即将目标唤醒词的每个音节作为目标对象,并按组成目标唤醒词的排序生成对象序列。例如目标唤醒词是“你好小西”,目标唤醒词的音节是“nihaoxiaoxi”,其中包括四个音节,分别是ni、hao、xiao、xi,并按目标唤醒词的拼音排序生成对象序列。
在图1中以目标唤醒词包括4个目标对象为例,其组成的对象序列包括目标对象1、目标对象2、目标对象3、目标对象4,则当前状态可以是当前需要检测的状态,通常是基于状态跳转确定的,例如可以是目标对象2。在图1中,状态跳转可以是前进到下一个状态,即状态跳转后当前状态可以变为目标对象3,从而进一步结合下一个待检测语音帧进行唤醒词检测。
若确定状态跳转的结果满足预设条件,终端100根据更新后的后验动态规划矩阵中目标对象的后验概率和当前状态的后验概率最大值,确定当前状态的第一检测结果。当第一检测结果为检测成功时,若确定目标唤醒词的全部状态检测成功,计算目标唤醒词的置信度,若置信度达到置信度阈值,确定检测出目标唤醒词。
在检测出存在目标唤醒词后,可以唤醒终端100的语音交互功能。若置信度未达到置信度阈值,若仍然存在下一个待检测语音帧,则通过上述方法继续进行检测,若无下一个待检测语音帧,则确定不存在目标唤醒词,不会唤醒终端100的语音交互功能。
在本申请实施例中,唤醒词可以是各种类型的语言,相应的,待检测语音帧也可以是对应类型语言的语音帧,语言的类型例如可以是中文、英文、韩文、法文,等等,本申请实施例对此不做限定。本申请实施例主要以中文为例进行介绍。
本申请实施例的唤醒词检测方法可以由终端100独自执行,将上述唤醒词检测方法应用于离线语音唤醒算法中,从而实现离线语音唤醒。
需要说明的是,在本申请的具体实施方式中,整个过程中有可能会涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户单独同意或者单独许可,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
需要说明的是,本申请实施例提供的方法可以涉及人工智能技术,基于人工智能技术自动化进行唤醒词检测。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
可以理解的是,本申请实施例所提供的唤醒词检测方法可以涉及语音技术。语音技术(Speech Technology)的关键技术有自动语音识别技术(ASR)和语音合成技术(TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。大模型技术为语音技术发展带来变革,WavLM,UniSpeech等沿用Transformer架构的预训练模型具有强大的泛化性、通用性,可以优秀完成各方向的语音处理任务。
另外,在对待检测语音帧进行检测时使用的声学模型,可以是使用机器学习训练得到的。机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、
算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。预训练模型是深度学习的最新发展成果,融合了以上技术。
接下来,将以计算机设备是终端为例,结合附图对本申请实施例提供的唤醒词检测方法进行介绍。参见图2,图2示出了一种唤醒词检测方法的流程图,所述方法包括:
S201、获取当前时刻对应的待检测语音帧。
为了与终端进行语音交互,通常会为终端的语音交互功能设置唤醒词,唤醒词可以是固定的,即不同用户的相同类型终端的唤醒词一致。为了满足用户的定制化需求,可以提供自定义唤醒词的功能。通常情况下,用户可以根据自己的需求设置自己喜欢的唤醒词,从而实现千人千面。
需要说明的是,用户自定义唤醒词时,可以通过语音输入的方式输入目标唤醒词的语音,也可以通过文本输入的方式输入目标唤醒词的文本,从而实现文本级自定义唤醒词的语音唤醒功能。
在用户自定义唤醒词时,为了提高后续唤醒词识别的准确性,可以引导用户设置不包括多音字的有歧义唤醒词。
当用户希望与终端进行语音交互时,用户可以通过说出目标唤醒词的语音对唤醒终端。故终端可以实时采集语音帧并进行检测,针对检测过程中的当前时刻,终端可以获取当前时刻对应的待检测语音帧。其中,待检测语音帧为当前时刻采集到的需要进行检测的语音帧,待检测语音帧用于对当前时刻的当前状态进行检测。
当前状态是基于目标唤醒词的对象序列,进行状态跳转得到的。在唤醒词检测开始前,当前状态为初始状态,初始状态可以存储在终端中;当唤醒词检测刚开始时,基于目标唤醒词的对象序列,进行状态跳转使得当前状态变为对象序列中第一个目标对象。在唤醒词检测过程中,根据当前状态的后验概率最大值进行状态跳转,依次将对象序列中每个目标对象作为当前状态进行检测。
S202、通过预先构建的声学模型输出所述待检测语音帧对应于多个候选对象中每个候选对象的后验概率。
基于声学模型输出待检测语音帧对应与多个候选对象中每个候选对象的后验概率,后验概率表示待检测语音帧所表示的对象是每个候选对象的概率,多个候选对象包括组成目标唤醒词的目标对象。
在本申请实施例中,目标对象是目标唤醒词的组成单元,目标对象的类型通常可以是音素、音节、词。目标对象的类型可以是基于声学模型的建模单元确定的,即目标对象的类型与建模单元相同。若建模单元是词,则目标对象的类型是词,即将目标唤醒词进行分词,分词得到的每个词可以作为目标对象;若建模单元是音节,则目标对象的类型是音节,在本申请实施例中该音节为不带声调的音节,即将目标唤醒词的每个音节作为目标对象,并按组成目标唤醒词的排序生成对象序列。例如目标唤醒词是“你好小西”,目标唤醒词的音节是“nihaoxiaoxi”,其中包括四个音节,分别是ni、hao、xiao、xi,并按目标唤醒词的拼音排序生成对象序列。
与相关技术中提供的基于通用解码器进行唤醒词检测的方案相比,本申请实施例可以以拼音为建模单元,建模粒度比较大,建模单元相对较少,因此声学模型的区分度较好,提高了声学模型的鲁棒性,尤其在一些噪声场景下表现良好。
多个候选对象可以是对象字典中的对象,对象字典可以是通过语言学专家人工生成的。对象字典中对象的类型与目标对象的类型相同,例如,当目标对象的类型是拼音时,则对象字典中对象的类型也是拼音,此时对象字典可以称为拼音字典。拼音字典中保留各个字的场景拼音,若某个字是多音字,则可以选取高频发音的音节保留在拼音字典中。
需要说明的是,对象序列可以是在自定义唤醒词时生成的。当输入目标唤醒词时,可以确定目标唤醒词的字符序列,进而根据字符序列中的字符,查找拼音字典中字符与音节的对应关系,得到目标唤醒词的音节序列。在一种可能的实现方式中,字符与音节的对应关系可以通过字符-音节哈希表表示。
可以理解的是,在本申请实施例中,对象序列可以通过目标对象本身表示,当然,为了便于识别,也可以通过目标对象的标识(Identity,ID)进行表示。通常情况下,声学模型可以通过输出层输出每个候选对象的后验概率,故输出层的每个输出对应一个候选对象的后验概率,不同输出可以通过输出层下标进行区分,故可以通过输出层下标标识不同的候选对象。而多个候选对象包括目标对象,故可以通过匹配输出层的下标,将目标对象对应的输出层的下标作为目标对象的ID,进而通过目标对象的ID表示目标对象所构成的对象序列。例如候选对象的数量为100个,对应的输出层下标分别是1、2、3、……、100,目标对象对应的输出层的下标分别是15、20、25、50,则对象序列中的目标对象依次通过15、20、25和50表示。
S203、根据所述待检测语音帧对应于每个所述候选对象的后验概率,对后验动态规划矩阵中所述目标对象的后验概率进行更新。
通过预先构建的声学模型可以输出待检测语音帧对应于每个候选对象的后验概率,声学模型是根据固定的唤醒词进行训练得到的,配置在终端上,而目标唤醒词可能是用户自定义的唤醒词,因此,为了提高唤醒词检测的准确性,可以进一步结合状态跳转和动态规划对得到的后验概率进行进一步判断,从而检测是否存在唤醒词。
具体的,终端可以先根据待检测语音帧对应于每个候选对象的后验概率,对后验动态规划矩阵中目标对象的后验概率进行更新。后验动态规划矩阵用于存储预设时间段内目标对象的后验概率以及预设时间段内目标对象的后验概率最大值,预设时间段是当前时刻之前的一段时间。
以目标唤醒词是“你好小西”,目标唤醒词的对象序列是ni、hao、xiao、xi的序列为例,则后验动态规划矩阵用户存储ni、hao、xiao、xi分别对应的后验概率,以及预设时间段内ni、hao、xiao、xi分别对应的后验概率最大值。当此次输出候选对象的后验概率后,其中包括此次输出的ni、hao、xiao、xi分别对应的后验概率,故可以通过新输出的后验概率更新已有的后验概率。需要说明的是,此时并未更新ni、hao、xiao、xi分别对应的后验概率最大值。
S204、基于更新后的所述后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照所述目标唤醒词的对象序列对所述当前状态进行状态跳转。
接着,终端确定基于待检测语音帧是否将当前状态检测出来,从而决定如何进行状态跳转。通常情况下,若检测出来,则后续可以使用下一语音帧继续检测下一个状态,若未检测出来,则无法检测下一个状态。在本申请实施例中,可以通过更新后的后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,来衡量是否将当前状态检测出来。故终端可以基于更新后的后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照目标唤醒词的对象序列对当前状态进行状态跳转。
其中,当前状态为在当前时刻待检测的目标唤醒词中的一个目标对象,对象序列是按照目标对象在所述目标唤醒词中的排序,对目标对象进行排列得到的序列。
以目标唤醒词的对象序列是ni、hao、xiao、xi的序列为例,则ni、hao、xiao、xi分别表示一个目标唤醒词的状态,根据状态跳转的结果,当需要检测的是“hao”时,可以将“hao”作为当前状态。
可以理解的是,更新后的后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系不同,状态跳转的方式不同,状态跳转的结果也不同。基于此,在一种可能的实现方式中,基于更新后的后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照目标唤醒词的对象序列进行状态跳转的方式可以是若大小关系指示当前状态的后验概率最大值大于或等于后验概率阈值,则初步认为检测出当前状态,故可以将当前状态按照对象序列中目标对象的排序前进一个状态,当前状态为最后一个目标对象之前的状态。若大小关系指示当前状态的后验概率最大值小于后验概率阈值,则初步认为未检测出当前状态,故可以将当前状态按照对象序列中目标对象的排序回退一个状态,当前状态为初始状态之后的状态。
需要说明的是,当大小关系指示当前状态的后验概率最大值小于后验概率阈值时,回退一个状态,可以避免由于当前状态的后验概率最大值过小,导致长时间等待对当前状态的检测,从而避免影响唤醒词检测效率。
以目标唤醒词的对象序列是ni、hao、xiao、xi的序列为例,若当前时刻需要检测的当前状态是“hao”,则若更新后的后验动态规划矩阵中“hao”的后验概率最大值大于或等于后验概率阈值,则当前状态从“hao”前进到“xiao”,这样,在基于下一个语音帧进行检测时,可以以“xiao”为当前状态进行检测。若更新后的后验动态规划矩阵中“hao”的后验概率最大值小于后验概率阈值,则当前状态从“hao”回退到“ni” ,这样,在基于下一个语音帧进行检测时,可以以“ni”为当前状态进行检测。
与相关技术提供的基于置信度后处理的方案相比,本申请实施例通过状态跳转确认需要检测的目标唤醒词的当前位置,对目标唤醒词的朗读顺序进行了区分,保证了目标唤醒词的唯一性,从而降低误唤醒率,平衡唤醒率和误唤醒之间的关系,提高用户的使用体验。其中,唤醒率可以是指唤醒词被正确检出的比例,误唤醒率可以是指非唤醒词被错误检出的比例。
S205、若确定状态跳转的结果满足预设条件,根据更新后的所述后验动态规划矩阵中所述目标对象的后验概率和所述当前状态的后验概率最大值,确定所述当前状态的第一检测结果。
状态跳转的结果用于指示如何进行状态跳转的,状态跳转的结果不同,可能会导致后续处理方式不同。在本申请实施例中,若终端确定状态跳转的结果满足预设条件,则可以根据更新后的后验动态规划矩阵中目标对象的后验概率和当前状态的后验概率最大值,确定当前状态的第一检测结果。
在一种可能的实现方式中,确定状态跳转的结果满足预设条件的方式可以是若状态跳转的结果为将当前状态按照对象序列中目标对象的排序前进一个状态,则可以确定状态跳转的结果满足预设条件。
或者,若状态跳转的结果为将当前状态按照对象序列中目标对象的排序回退一个状态,对回退一个状态后得到的当前状态进行状态判断,得到判断结果。若判断结果指示回退一个状态后得到的当前状态不是初始状态,确定状态跳转的结果满足预设条件。
若判断结果指示回退一个状态后得到的当前状态是初始状态,则可以对状态跳转单元进行状态重置,得到初始化的状态跳转单元。然后,结束基于待检测语音帧进行唤醒词检测的流程。
状态跳转单元是一种数据结构,可以表示为StateUnit,是唤醒词检测过程中所涉及各种数据的集合,初始化的状态跳转单元中各个组成部分中的数据为默认值。状态跳转单元中可以包括多个组成部分(组成部分也可以称为成员),多个组成部分例如可以包括对象序列、当前状态和后验动态规划矩阵。该对象序列可以通过目标唤醒词所包括的目标对象在输出层的下标表示;当前状态表示当前时刻所处的目标唤醒词的状态,可以用对应的ID标识;后验动态规划矩阵用于存储对象序列中每个目标对象在预设时间段内的对应的后验概率以及后验概率最大值。在一些情况下,状态跳转单元的成员还可以包括对象序列的长度。
状态重置可以是重置状态跳转单元中所有成员为初始化状态,当前状态重置为初始状态。
需要说明的是,初始化的状态跳转单元可以是在用户自定义唤醒词时,根据用户设置的目标唤醒词生成的。以目标对象的类型是音节为例,初始化的状态跳转单元的生成方式可以是响应于针对目标唤醒词的设置操作,生成目标唤醒词的字符序列,根据字符序列包括的字符进行音节查找,得到对象序列,进行根据对象序列构建初始化的状态跳转单元。
上述方式中初始化的状态跳转单元是在自定义唤醒词时生成的,在唤醒词检测过程中可以直接使用,从而提高唤醒词检测效率。当用户提出更改唤醒词需求后,仅需重新生成初始化的状态跳转单元,无需更改声学模型,省去了声学模型微调与迭代的时间周期,提高响应效率。
根据字符序列包括的字符进行音节查找,得到对象序列的方式可以是根据字符序列中的字符,查找拼音字典中字符与音节的对应关系,得到对象序列,此时的对象序列可以称为音节序列。在一种可能的实现方式中,字符与音节的对应关系可以通过字符-音节哈希表来表示。
在得到音节序列后,可以获取音节序列的长度,进而申请状态跳转单元中各成员的内存空间并初始化,从而得到初始化的状态跳转单元。
参见图3所示,图3以基于文本输入的方式输入目标唤醒词的文本、目标唤醒词的文本是中文为例。获取目标唤醒词的文本(参见图3中301所示),此时,目标唤醒词的字符为单独汉字,故可以确定目标唤醒词的单独汉字序列(参见图3中302所示)。基于单独汉字序列进行查表,得到此表为汉字-音节哈希表(参见图3中303所示),该汉字-音节哈希表位于拼音字典(参见图3中304所示)中。查表后得到音节序列(参见图3中305所示)。将音节序列中的音节与声学模型的输出层的下标进行匹配,得到表示音节序列的ID序列(参见图3中306所示),获取音节序列的长度(参见图3中307所示),申请状态跳转单元各成员的内存空间并初始化得到初始化的状态跳转单元(参见图3中308所示)。
需要说明的是,初始化的状态跳转单元可以存在终端的运行内存中,为了避免关闭应用后导致状态跳转单元丢失,因此可以采用配置文件或接口代码进行控制,保证应用每次启动时,初始化的状态跳转单元仍然生效。
当前状态的第一检测结果用于指示当前状态是否检测成功,通常情况下,当前状态是否检测成功与当前状态的后验概率是否达到峰值有关。在一种可能的实现方式中,根据更新后的后验动态规划矩阵中目标对象的后验概率和当前状态的后验概率最大值,确定当前状态的第一检测结果的方式可以是从目标对象的后验概率中获取目标后验概率,目标后验概率是基于待检测语音帧确定的当前状态的后验概率。然后将目标后验概率与当前状态的后验概率最大值进行比较得到比较结果,进而根据比较结果得到当前状态的第一检测结果。
相应的,根据比较结果得到当前状态的第一检测结果的方式可以是若比较结果为目标后验概率小于当前状态的后验概率最大值,则说明在当前时刻下当前状态的后验概率最大值不再改变,即当前状态的后验概率达到峰值,后续语音帧很大可能不是用于检测当前状态的,此时确定当前状态的第一检测结果为检测成功。若比较结果为目标后验概率大于或等于当前状态的后验概率最大值,则说明在当前时刻下当前状态的后验概率最大值还会继续改变,即当前状态的后验概率还未达到峰值,后续语音帧很大可能还是用于检测当前状态的,确定当前状态的第一检测结果为检测失败。
通过上述方式,可以较为准确的判断当前状态的后验概率是否达到峰值,进而提高当前状态的第一检测结果的准确性。
S206、当所述第一检测结果为检测成功时,若确定所述目标唤醒词的全部状态检测成功,计算所述目标唤醒词的置信度。
当第一检测结果为检测成功时,终端可以判断目标唤醒词的全部状态是否检测成功。若确定目标唤醒词的全部状态检测成功,则可以计算目标唤醒词的置信度。通常情况下,全部状态检测成功的前提是当前状态为对象序列中的最后一个目标状态,且其对应的第一检测结果为检测成功。
在一种可能的实现方式中,当前状态的后验概率达到峰值可以用峰值标识来标记,峰值标识表示每个状态所对应的后验概率在预设时间段内是否达到峰值,以便后续可以根据峰值标识识别全部状态是否检测成功。峰值标识可以是用字母、符号、数值等表示,峰值标识可以包括第一标识和第二标识,第一标识用于指示当前状态的后验概率达到峰值(即峰值标识为真),第二标识用于指示当前状态的后验概率未达到峰值(即峰值标识为假)。例如峰值标识用数字表示,则第一标识可以是1,第二标识可以是0。
基于此,当第一检测结果为检测成功时,终端可以修改当前状态的峰值标识为第一标识。此时确定目标唤醒词的全部状态检测成功的方式可以是基于目标唤醒词的全部状态分别对应的峰值标识,对目标唤醒词的全部状态进行达峰检测得到第二检测结果。达峰检测用于检测目标唤醒词的全部状态是否达到峰值,若第二检测结果指示目标唤醒词的全部状态分别对应的峰值标识均为第一标识,则说明目标唤醒词的全部状态均达到峰值,确定目标唤醒词的全部状态检测成功。
若第二检测结果指示目标唤醒词的至少一个状态的峰值标识为第二标识,说明目标唤醒词的至少一个状态未达到峰值,则为了降低误唤醒率,终端可以对当前状态进行误闯惩罚计算得到计算结果。若计算结果大于或等于惩罚阈值,对状态跳转单元进行状态重置,得到初始化的状态跳转单元。
误闯惩罚计算可以是指计算当前状态的误闯惩罚,误闯惩罚可以表示在状态跳转过程中,闯入的非唤醒词的对象序列中的其它对象所带来的惩罚值,此时计算结果可以是计算得到的惩罚值。惩罚值越高,表示闯入非唤醒词的可能性越高,误唤醒的可能性越大,故为了避免误唤醒,当计算结果大于或等于惩罚阈值,则可以对状态跳转单元进行状态重置,得到初始化的状态跳转单元,以便继续进行唤醒词检测。当计算结果小于惩罚阈值,则结束基于待检测语音帧进行唤醒词检测的流程。
若第一检测结果是基于目标后验概率与当前状态的后验概率最大值之间的比较结果确定的,当第一检测结果为检测失败时,利用目标后验概率更新当前状态的后验概率最大值,以便利用更新后的后验动态规划矩阵进行下一语音帧的唤醒词检测,由此实现状态跳转和动态规划。
在本申请实施例中,计算目标唤醒词的置信度可以称为置信度计算,计算目标唤醒词的置信度的方式可以是利用全部状态分别对应的后验概率最大值,计算目标唤醒词的置信度。例如可以是将全部状态分别对应的后验概率最大值相乘,得到目标唤醒词的置信度。
目标唤醒词的置信度可以是基于动态规划的状态转移方程确定的,其动态规划的状态转移方程可以为:
c(t,i) = p(t,i) * max(C(t,i-1)), i>0
c(t,i) = max(P(t,0)), i = 0
其中,c(t,i)表示t时刻(即当前时刻)状态i的置信度,若i为最后一个状态,则表示目标唤醒词的置信度,p(t,i)表示t时刻状态i的后验概率,C(t, i-1)表示t时刻之前一段时间(即预设时间段)内状态i-1的置信度,P(t,0)表示t时刻状态0(即第1个状态)的后验概率。
S207、若所述置信度达到置信度阈值,确定检测出所述目标唤醒词。
在得到目标唤醒词的置信度后,可以判断目标唤醒词的置信度是否达到置信度阈值。若置信度达到置信度阈值,则说明目标唤醒词的检测可信,确定检测出目标唤醒词。此时,终端的唤醒成功,对状态跳转单元进行状态重置,结束基于待检测语音帧进行唤醒词检测的流程。若置信度未达到置信度阈值,则说明目标唤醒词的检测不可信,此时可以对状态跳转单元进行状态重置,结束基于待检测语音帧进行唤醒词检测的流程。
本申请实施例使用动态规划结合当前状态来计算目标唤醒词的置信度,避免了使用复杂的解码图的流程,无需文件系统参与,资源消耗低。
由上述技术方案可以看出,在需要进行唤醒词检测时,可以逐帧获取语音帧并进行检测。针对检测过程中的当前时刻,可以获取当前时刻对应的待检测语音帧,并通过预先构建的声学模型输出待检测语音帧对应于多个候选对象中每个候选对象的后验概率,多个候选对象包括组成目标唤醒词的目标对象。其中,声学模型是根据固定的唤醒词进行训练得到的,而目标唤醒词可能是用户自定义的唤醒词,因此,为了提高唤醒词检测的准确性,可以进一步结合状态跳转和动态规划对得到的后验概率进行进一步判断,从而检测是否存在唤醒词。具体的,可以根据待检测语音帧对应于每个候选对象的后验概率,对后验动态规划矩阵中目标对象的后验概率进行更新,后验动态规划矩阵用于存储预设时间段内目标对象的后验概率以及预设时间段内目标对象的后验概率最大值,预设时间段是当前时刻之前的一段时间。然后,基于更新后的后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照目标唤醒词的对象序列对当前状态进行状态跳转,当前状态为在当前时刻待检测的目标唤醒词中的一个目标对象,对象序列是按照目标对象在目标唤醒词中的排序,对目标对象进行排列得到的序列。也就是说,此时通过状态跳转和动态规划,对自定义的目标唤醒词的状态依次进行判断,使得判断过程可以满足自定义唤醒词的个性化需求,进而保证唤醒词检测的准确性。若确定状态跳转的结果满足预设条件,根据更新后的后验动态规划矩阵中目标对象的后验概率和当前状态的后验概率最大值,确定当前状态的第一检测结果。当第一检测结果为检测成功时,若确定目标唤醒词的全部状态检测成功,计算目标唤醒词的置信度,若置信度达到置信度阈值,确定检测出目标唤醒词。本申请基于状态跳转和动态规划,在声学模型输出的后验概率基础上进一步判断,从而在保证检测准确性的情况下,无需采集成本和模型微调的训练成本,减少等待时间,从而提高检测效率。
接下来,以建模单元是不带调音节为例,结合附图对唤醒词检测的整体流程进行介绍。该唤醒词检测方法是一种基于状态转移与动态规划方法相结合的文本级自定义唤醒词检出方法,该方法首先利用一个以不带调音节为建模单元的声学模型将待检测语音帧转化为不带调音节的后验概率,并将该后验概率序列转化为后验动态规划矩阵,利用目标唤醒词的文本产生跳转状态单元,结合状态跳转与动态规划的解码方式得到目标唤醒词的置信度(该置信度是一种词级别置信度),并与预先设定的置信度阈值进行比较,从而实现文本自定义级别的唤醒词检测方法。具体的,可以参见图4所示,所述方法包括:
S401、根据待检测语音帧对应于每个候选对象的后验概率,对后验动态规划矩阵中目标对象的后验概率进行更新。
S402、判断当前状态的后验概率最大值是否大于后验概率阈值,若是,执行S403,若否,执行S411。
S403、当前状态前进一个状态。
S404、判断当前状态的目标后验概率是否大于当前状态的后验概率最大值,若否,执行S405,若是,执行S414。
S405、修改当前状态的峰值标识为真。
S406、进行达峰检测,若达峰检测得到的第二检测结果指示目标唤醒词的全部状态分别对应的峰值标识均为真,则执行S407,若第二检测结果指示目标唤醒词的全部状态分别对应的峰值标识至少一个为假,执行S415。
S407、置信度计算。
S408、目标唤醒词的置信度是否大于置信度阈值,若是,执行S409,若否,执行S418。
S409、唤醒成功。
S410、状态重置。
S411、当前状态回退一个状态。
S412、回退一个状态的当前状态是否为初始状态,若是,执行S413,若否,执行S404。
S413、状态重置。
S414、更新动态规划矩阵中当前状态的后验概率最大值。
S415、误闯惩罚计算。
S416、计算结果是否大于惩罚阈值,若是,执行S417,若否,结束流程。
S417、状态重置。
S418、状态重置。
在图4所对应的实施例中,状态转移过程主要体现在当前状态的后验概率最大值是否大于后验概率阈值的判断条件框中,通过这一判断条件来决定状态的前进与后退;而动态规划则表现在后验动态规划矩阵的更新以及置信度计算过程中。
本申请实施例利用状态转移与动态规划实现基于状态跳转单元的文本级自定义唤醒词检测,可使得训练固定好的声学模型支持用户使用文本来快速自定义唤醒词,其在若干个不同唤醒词以及场景下和相关技术的对比结果如表1所示:
表1
表1中所示的不同唤醒词包括唤醒词1、唤醒词2和唤醒词3,不同场景包括噪声干扰场景、远距离场景和安静场景,从表1中可以得出本申请实施例提供的方法,对于不同唤醒词的支持以及不同场景下的支持均表现出比相关技术更优的效果。
本申请实施例提供的唤醒词检测方法可有效的避免自定义唤醒词的数据采集与模型训练成本,实现“0成本”的自定义唤醒词定制化任务。
需要说明的是,本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
基于图2对应实施例提供的唤醒词检测方法,本申请实施例还提供一种唤醒词检测装置500。参见图5所示,所述唤醒词检测装置500包括获取单元501、输出单元502、更新单元503、跳转单元504、确定单元505和计算单元506:
所述获取单元501,用于获取当前时刻对应的待检测语音帧;
所述输出单元502,用于通过预先构建的声学模型输出所述待检测语音帧对应于多个候选对象中每个候选对象的后验概率,所述多个候选对象包括组成目标唤醒词的目标对象;
所述更新单元503,用于根据所述待检测语音帧对应于每个所述候选对象的后验概率,对后验动态规划矩阵中所述目标对象的后验概率进行更新,所述后验动态规划矩阵用于存储预设时间段内所述目标对象的后验概率以及所述预设时间段内所述目标对象的后验概率最大值,所述预设时间段是所述当前时刻之前的一段时间;
所述跳转单元504,用于基于更新后的所述后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照所述目标唤醒词的对象序列对所述当前状态进行状态跳转,所述当前状态为在所述当前时刻待检测的所述目标唤醒词中的一个目标对象,所述对象序列是按照所述目标对象在所述目标唤醒词中的排序,对所述目标对象进行排列得到的序列;
所述确定单元505,用于若确定状态跳转的结果满足预设条件,根据更新后的所述后验动态规划矩阵中所述目标对象的后验概率和所述当前状态的后验概率最大值,确定所述当前状态的第一检测结果;
所述计算单元506,用于当所述第一检测结果为检测成功时,若确定所述目标唤醒词的全部状态检测成功,计算所述目标唤醒词的置信度;
所述确定单元505,还用于若所述置信度达到置信度阈值,确定检测出所述目标唤醒词。
在一种可能的实现方式中,所述跳转单元504,用于:
若所述大小关系指示所述当前状态的后验概率最大值大于或等于所述后验概率阈值,将所述当前状态按照所述对象序列中目标对象的排序前进一个状态,所述当前状态为所述最后一个目标对象之前的状态;
若所述大小关系指示所述当前状态的后验概率最大值小于所述后验概率阈值,将所述当前状态按照所述对象序列中目标对象的排序回退一个状态,所述当前状态为初始状态之后的状态。
在一种可能的实现方式中,所述确定单元505,用于:
若所述状态跳转的结果为将所述当前状态按照所述对象序列中目标对象的排序前进一个状态,确定所述状态跳转的结果满足所述预设条件;
或者,若所述状态跳转的结果为将所述当前状态按照所述对象序列中目标对象的排序回退一个状态,对回退一个状态后得到的当前状态进行状态判断,得到判断结果;若所述判断结果指示回退一个状态后得到的当前状态不是初始状态,确定所述状态跳转的结果满足所述预设条件。
在一种可能的实现方式中,所述装置还包括重置单元:
所述重置单元,用于若所述判断结果指示回退一个状态后得到的当前状态是初始状态,对状态跳转单元进行状态重置,得到初始化的状态跳转单元,所述状态跳转单元中包括多个组成部分,所述多个组成部分包括所述对象序列、当前状态和后验动态规划矩阵。
在一种可能的实现方式中,所述目标对象的类型是音节,所述装置还包括生成单元:
所述生成单元,用于响应于针对所述目标唤醒词的设置操作,生成所述目标唤醒词的字符序列;根据所述字符序列包括的字符进行音节查找,得到所述对象序列;根据所述对象序列构建初始化的状态跳转单元。
在一种可能的实现方式中,所述装置还包括修改单元:
所述修改单元,用于当所述第一检测结果为检测成功时,修改所述当前状态的峰值标识为第一标识;
所述确定单元505,还用于:
基于所述目标唤醒词的全部状态分别对应的峰值标识,对所述目标唤醒词的全部状态进行达峰检测,得到第二检测结果;
若所述第二检测结果指示所述目标唤醒词的全部状态分别对应的峰值标识均为所述第一标识,确定所述目标唤醒词的全部状态检测成功。
在一种可能的实现方式中,所述计算单元506,还用于:
若所述第二检测结果指示所述目标唤醒词的至少一个状态的峰值标识为第二标识,对所述当前状态进行误闯惩罚计算得到计算结果;
所述重置单元,还用于若所述计算结果大于或等于惩罚阈值,对状态跳转单元进行状态重置,得到初始化的状态跳转单元。
在一种可能的实现方式中,所述确定单元505,用于:
从所述目标对象的后验概率中获取目标后验概率,所述目标后验概率是基于所述待检测语音帧确定的所述当前状态的后验概率;
将所述目标后验概率与所述当前状态的后验概率最大值进行比较得到比较结果;
根据所述比较结果得到所述当前状态的第一检测结果。
在一种可能的实现方式中,所述确定单元505,用于:
若所述比较结果为所述目标后验概率小于所述当前状态的后验概率最大值,确定所述第一检测结果为检测成功;
若所述比较结果为所述目标后验概率大于或等于所述当前状态的后验概率最大值,确定所述第一检测结果为检测失败。
在一种可能的实现方式中,所述更新单元503,还用于:
当所述第一检测结果为检测失败时,利用所述目标后验概率更新所述当前状态的后验概率最大值。
由上述技术方案可以看出,在需要进行唤醒词检测时,可以逐帧获取语音帧并进行检测。针对检测过程中的当前时刻,可以获取当前时刻对应的待检测语音帧,并通过预先构建的声学模型输出待检测语音帧对应于多个候选对象中每个候选对象的后验概率,多个候选对象包括组成目标唤醒词的目标对象。其中,声学模型是根据固定的唤醒词进行训练得到的,而目标唤醒词可能是用户自定义的唤醒词,因此,为了提高唤醒词检测的准确性,可以进一步结合状态跳转和动态规划对得到的后验概率进行进一步判断,从而检测是否存在唤醒词。具体的,可以根据待检测语音帧对应于每个候选对象的后验概率,对后验动态规划矩阵中目标对象的后验概率进行更新,后验动态规划矩阵用于存储预设时间段内目标对象的后验概率以及预设时间段内目标对象的后验概率最大值,预设时间段是当前时刻之前的一段时间。然后,基于更新后的后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照目标唤醒词的对象序列对当前状态进行状态跳转,当前状态为在当前时刻待检测的目标唤醒词中的一个目标对象,对象序列是按照目标对象在目标唤醒词中的排序,对目标对象进行排列得到的序列。也就是说,此时通过状态跳转和动态规划,对自定义的目标唤醒词的状态依次进行判断,使得判断过程可以满足自定义唤醒词的个性化需求,进而保证唤醒词检测的准确性。若确定状态跳转的结果满足预设条件,根据更新后的后验动态规划矩阵中目标对象的后验概率和当前状态的后验概率最大值,确定当前状态的第一检测结果。当第一检测结果为检测成功时,若确定目标唤醒词的全部状态检测成功,计算目标唤醒词的置信度,若置信度达到置信度阈值,确定检测出目标唤醒词。本申请基于状态跳转和动态规划,在声学模型输出的后验概率基础上进一步判断,从而在保证检测准确性的情况下,无需采集成本和模型微调的训练成本,减少等待时间,从而提高检测效率。
本申请实施例还提供了一种计算机设备,该计算机设备可以执行唤醒词检测方法。该计算机设备可以是终端,以终端为智能手机为例:
图6示出的是与本申请实施例提供的智能手机的部分结构的框图。参考图6,智能手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(英文缩写:WiFi)模块670、处理器680、以及电源690等部件。输入单元630可包括触控面板631以及其他输入设备632,显示单元640可包括显示面板641,音频电路660可以包括扬声器661和传声器662。可以理解的是,图6中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器680是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行智能手机的各种功能和处理数据。可选的,处理器680可包括一个或多个处理单元;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
在本实施例中,智能手机中的处理器680可以执行以下步骤:
获取当前时刻对应的待检测语音帧;
通过预先构建的声学模型输出所述待检测语音帧对应于多个候选对象中每个候选对象的后验概率,所述多个候选对象包括组成目标唤醒词的目标对象;
根据所述待检测语音帧对应于每个所述候选对象的后验概率,对后验动态规划矩阵中所述目标对象的后验概率进行更新,所述后验动态规划矩阵用于存储预设时间段内所述目标对象的后验概率以及所述预设时间段内所述目标对象的后验概率最大值,所述预设时间段是所述当前时刻之前的一段时间;
基于更新后的所述后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照所述目标唤醒词的对象序列对所述当前状态进行状态跳转,所述当前状态为在所述当前时刻待检测的所述目标唤醒词中的一个目标对象,所述对象序列是按照所述目标对象在所述目标唤醒词中的排序,对所述目标对象进行排列得到的序列;
若确定状态跳转的结果满足预设条件,根据更新后的所述后验动态规划矩阵中所述目标对象的后验概率和所述当前状态的后验概率最大值,确定所述当前状态的第一检测结果;
当所述第一检测结果为检测成功时,若确定所述目标唤醒词的全部状态检测成功,计算所述目标唤醒词的置信度;
若所述置信度达到置信度阈值,确定检测出所述目标唤醒词。
本申请实施例提供的计算机设备还可以是服务器,请参见图7所示,图7为本申请实施例提供的服务器700的结构图,服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器,例如中央处理器(Central Processing Units,简称CPU)722,以及存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器700上执行存储介质730中的一系列指令操作。
服务器700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,和/或,一个或一个以上操作系统741,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
在本实施例中,需要由服务器700中的中央处理器722执行的步骤可以基于图7所示的结构实现。
根据本申请的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行前述各个实施例所述的唤醒词检测方法。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述实施例各种可选实现方式中提供的方法。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术成员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (13)

1.一种唤醒词检测方法,其特征在于,所述方法包括:
获取当前时刻对应的待检测语音帧;
通过预先构建的声学模型输出所述待检测语音帧对应于多个候选对象中每个候选对象的后验概率,所述多个候选对象包括组成目标唤醒词的目标对象;
根据所述待检测语音帧对应于每个所述候选对象的后验概率,对后验动态规划矩阵中所述目标对象的后验概率进行更新,所述后验动态规划矩阵用于存储预设时间段内所述目标对象的后验概率以及所述预设时间段内所述目标对象的后验概率最大值,所述预设时间段是所述当前时刻之前的一段时间;
基于更新后的所述后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照所述目标唤醒词的对象序列对所述当前状态进行状态跳转,所述当前状态为在所述当前时刻待检测的所述目标唤醒词中的一个目标对象,所述对象序列是按照所述目标对象在所述目标唤醒词中的排序,对所述目标对象进行排列得到的序列;
若确定状态跳转的结果满足预设条件,根据更新后的所述后验动态规划矩阵中所述目标对象的后验概率和所述当前状态的后验概率最大值,确定所述当前状态的第一检测结果;
当所述第一检测结果为检测成功时,若确定所述目标唤醒词的全部状态检测成功,计算所述目标唤醒词的置信度;
若所述置信度达到置信度阈值,确定检测出所述目标唤醒词。
2.根据权利要求1所述的方法,其特征在于,所述基于更新后的所述后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照所述目标唤醒词的对象序列对所述当前状态进行状态跳转,包括:
若所述大小关系指示所述当前状态的后验概率最大值大于或等于所述后验概率阈值,将所述当前状态按照所述对象序列中目标对象的排序前进一个状态,所述当前状态为最后一个目标对象之前的状态;
若所述大小关系指示所述当前状态的后验概率最大值小于所述后验概率阈值,将所述当前状态按照所述对象序列中目标对象的排序回退一个状态,所述当前状态为初始状态之后的状态。
3.根据权利要求2所述的方法,其特征在于,所述确定状态跳转的结果满足预设条件,包括:
若所述状态跳转的结果为将所述当前状态按照所述对象序列中目标对象的排序前进一个状态,确定所述状态跳转的结果满足所述预设条件;
或者,若所述状态跳转的结果为将所述当前状态按照所述对象序列中目标对象的排序回退一个状态,对回退一个状态后得到的当前状态进行状态判断,得到判断结果;若所述判断结果指示回退一个状态后得到的当前状态不是初始状态,确定所述状态跳转的结果满足所述预设条件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述判断结果指示回退一个状态后得到的当前状态是初始状态,对状态跳转单元进行状态重置,得到初始化的状态跳转单元,所述状态跳转单元中包括多个组成部分,所述多个组成部分包括所述对象序列、当前状态和后验动态规划矩阵。
5.根据权利要求4所述的方法,其特征在于,所述目标对象的类型是音节,所述方法还包括:
响应于针对所述目标唤醒词的设置操作,生成所述目标唤醒词的字符序列;
根据所述字符序列包括的字符进行音节查找,得到所述对象序列;
根据所述对象序列构建初始化的状态跳转单元。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一检测结果为检测成功时,修改所述当前状态的峰值标识为第一标识;
所述确定所述目标唤醒词的全部状态检测成功,包括:
基于所述目标唤醒词的全部状态分别对应的峰值标识,对所述目标唤醒词的全部状态进行达峰检测,得到第二检测结果;
若所述第二检测结果指示所述目标唤醒词的全部状态分别对应的峰值标识均为所述第一标识,确定所述目标唤醒词的全部状态检测成功。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述第二检测结果指示所述目标唤醒词的至少一个状态的峰值标识为第二标识,对所述当前状态进行误闯惩罚计算得到计算结果;
若所述计算结果大于或等于惩罚阈值,对状态跳转单元进行状态重置,得到初始化的状态跳转单元。
8.根据权利要求1所述的方法,其特征在于,所述根据更新后的所述后验动态规划矩阵中所述目标对象的后验概率和所述当前状态的后验概率最大值,确定所述当前状态的第一检测结果,包括:
从所述目标对象的后验概率中获取目标后验概率,所述目标后验概率是基于所述待检测语音帧确定的所述当前状态的后验概率;
将所述目标后验概率与所述当前状态的后验概率最大值进行比较得到比较结果;
根据所述比较结果得到所述当前状态的第一检测结果。
9.根据权利要求8所述的方法,其特征在于,所述根据所述比较结果得到所述当前状态的第一检测结果,包括:
若所述比较结果为所述目标后验概率小于所述当前状态的后验概率最大值,确定所述第一检测结果为检测成功;
若所述比较结果为所述目标后验概率大于或等于所述当前状态的后验概率最大值,确定所述第一检测结果为检测失败。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当所述第一检测结果为检测失败时,利用所述目标后验概率更新所述当前状态的后验概率最大值。
11.一种唤醒词检测装置,其特征在于,所述装置包括获取单元、输出单元、更新单元、跳转单元、确定单元和计算单元:
所述获取单元,用于获取当前时刻对应的待检测语音帧;
所述输出单元,用于通过预先构建的声学模型输出所述待检测语音帧对应于多个候选对象中每个候选对象的后验概率,所述多个候选对象包括组成目标唤醒词的目标对象;
所述更新单元,用于根据所述待检测语音帧对应于每个所述候选对象的后验概率,对后验动态规划矩阵中所述目标对象的后验概率进行更新,所述后验动态规划矩阵用于存储预设时间段内所述目标对象的后验概率以及所述预设时间段内所述目标对象的后验概率最大值,所述预设时间段是所述当前时刻之前的一段时间;
所述跳转单元,用于基于更新后的所述后验动态规划矩阵中当前状态的后验概率最大值与后验概率阈值的大小关系,按照所述目标唤醒词的对象序列对所述当前状态进行状态跳转,所述当前状态为在所述当前时刻待检测的所述目标唤醒词中的一个目标对象,所述对象序列是按照所述目标对象在所述目标唤醒词中的排序,对所述目标对象进行排列得到的序列;
所述确定单元,用于若确定状态跳转的结果满足预设条件,根据更新后的所述后验动态规划矩阵中所述目标对象的后验概率和所述当前状态的后验概率最大值,确定所述当前状态的第一检测结果;
所述计算单元,用于当所述第一检测结果为检测成功时,若确定所述目标唤醒词的全部状态检测成功,计算所述目标唤醒词的置信度;
所述确定单元,还用于若所述置信度达到置信度阈值,确定检测出所述目标唤醒词。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行权利要求1-10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序当被处理器执行时使所述处理器执行权利要求1-10任一项所述的方法。
CN202311240915.5A 2023-09-25 2023-09-25 一种唤醒词检测方法和相关装置 Active CN116978368B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311240915.5A CN116978368B (zh) 2023-09-25 2023-09-25 一种唤醒词检测方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311240915.5A CN116978368B (zh) 2023-09-25 2023-09-25 一种唤醒词检测方法和相关装置

Publications (2)

Publication Number Publication Date
CN116978368A true CN116978368A (zh) 2023-10-31
CN116978368B CN116978368B (zh) 2023-12-15

Family

ID=88483574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311240915.5A Active CN116978368B (zh) 2023-09-25 2023-09-25 一种唤醒词检测方法和相关装置

Country Status (1)

Country Link
CN (1) CN116978368B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117475998A (zh) * 2023-12-28 2024-01-30 慧言科技(天津)有限公司 基于lora微调辅助的语音唤醒快速自适应方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216077B1 (en) * 2000-09-26 2007-05-08 International Business Machines Corporation Lattice-based unsupervised maximum likelihood linear regression for speaker adaptation
JP2010054588A (ja) * 2008-08-26 2010-03-11 Nippon Telegr & Teleph Corp <Ntt> 音響モデル作成装置、その装置を用いた音声認識装置、これらの方法、これらのプログラム、およびこれらの記録媒体
CN105976812A (zh) * 2016-04-28 2016-09-28 腾讯科技(深圳)有限公司 一种语音识别方法及其设备
CN106098068A (zh) * 2016-06-12 2016-11-09 腾讯科技(深圳)有限公司 一种声纹识别方法和装置
CN111640456A (zh) * 2020-06-04 2020-09-08 合肥讯飞数码科技有限公司 叠音检测方法、装置和设备
CN114548406A (zh) * 2022-02-24 2022-05-27 中国科学技术大学 预训练字符模型及字音转换神经网络模型
CN114627863A (zh) * 2019-09-24 2022-06-14 腾讯科技(深圳)有限公司 一种基于人工智能的语音识别方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216077B1 (en) * 2000-09-26 2007-05-08 International Business Machines Corporation Lattice-based unsupervised maximum likelihood linear regression for speaker adaptation
JP2010054588A (ja) * 2008-08-26 2010-03-11 Nippon Telegr & Teleph Corp <Ntt> 音響モデル作成装置、その装置を用いた音声認識装置、これらの方法、これらのプログラム、およびこれらの記録媒体
CN105976812A (zh) * 2016-04-28 2016-09-28 腾讯科技(深圳)有限公司 一种语音识别方法及其设备
CN106098068A (zh) * 2016-06-12 2016-11-09 腾讯科技(深圳)有限公司 一种声纹识别方法和装置
CN114627863A (zh) * 2019-09-24 2022-06-14 腾讯科技(深圳)有限公司 一种基于人工智能的语音识别方法和装置
CN111640456A (zh) * 2020-06-04 2020-09-08 合肥讯飞数码科技有限公司 叠音检测方法、装置和设备
CN114548406A (zh) * 2022-02-24 2022-05-27 中国科学技术大学 预训练字符模型及字音转换神经网络模型

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吴斌;孙成立;刘刚;郭军;: "一种汉字混淆网络算法", 数据采集与处理, no. 04 *
郝杰, 李星: "汉语连续语音识别中关键词可信度的贝叶斯估计", 声学学报(中文版), no. 05 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117475998A (zh) * 2023-12-28 2024-01-30 慧言科技(天津)有限公司 基于lora微调辅助的语音唤醒快速自适应方法

Also Published As

Publication number Publication date
CN116978368B (zh) 2023-12-15

Similar Documents

Publication Publication Date Title
CN110838289B (zh) 基于人工智能的唤醒词检测方法、装置、设备及介质
CN110473531B (zh) 语音识别方法、装置、电子设备、系统及存储介质
CN108694940B (zh) 一种语音识别方法、装置及电子设备
US10943582B2 (en) Method and apparatus of training acoustic feature extracting model, device and computer storage medium
CN110444195B (zh) 语音关键词的识别方法和装置
CN110838286B (zh) 一种模型训练的方法、语种识别的方法、装置及设备
CN104143327B (zh) 一种声学模型训练方法和装置
CN110890093A (zh) 一种基于人工智能的智能设备唤醒方法和装置
CN109741735B (zh) 一种建模方法、声学模型的获取方法和装置
CN116978368B (zh) 一种唤醒词检测方法和相关装置
CN111883121A (zh) 唤醒方法、装置及电子设备
CN113450771B (zh) 唤醒方法、模型训练方法和装置
CN111312222A (zh) 一种唤醒、语音识别模型训练方法及装置
CN114627863A (zh) 一种基于人工智能的语音识别方法和装置
CN111710337A (zh) 语音数据的处理方法、装置、计算机可读介质及电子设备
CN111653274A (zh) 唤醒词识别的方法、装置及存储介质
CN110544468A (zh) 应用唤醒方法、装置、存储介质及电子设备
CN114360510A (zh) 一种语音识别方法和相关装置
CN110580897A (zh) 音频校验方法、装置、存储介质及电子设备
CN114242065A (zh) 语音唤醒方法及装置、语音唤醒模块的训练方法及装置
CN113823265A (zh) 一种语音识别方法、装置和计算机设备
CN117037772A (zh) 语音音频分割方法、装置、计算机设备、存储介质
CN112037772A (zh) 基于多模态的响应义务检测方法、系统及装置
CN116645960A (zh) 模型训练方法、语音唤醒方法、装置、设备及介质
CN115132195B (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