CN111066082B - 一种语音识别系统和方法 - Google Patents

一种语音识别系统和方法 Download PDF

Info

Publication number
CN111066082B
CN111066082B CN201880044243.1A CN201880044243A CN111066082B CN 111066082 B CN111066082 B CN 111066082B CN 201880044243 A CN201880044243 A CN 201880044243A CN 111066082 B CN111066082 B CN 111066082B
Authority
CN
China
Prior art keywords
frames
score
speech
tag
determining
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
CN201880044243.1A
Other languages
English (en)
Other versions
CN111066082A (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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Publication of CN111066082A publication Critical patent/CN111066082A/zh
Application granted granted Critical
Publication of CN111066082B publication Critical patent/CN111066082B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请涉及用于提供语音识别的系统和方法。该方法包括接收包括多个语音数据帧的语音信号。该方法还包括确定每个帧的语音特征,该语音特征与一个或以上标签相关。该方法还包括基于语音特征确定关于一个或以上标签的一个或以上得分。该方法还包括以预设间隔对多个帧进行采集。该方法还包括获得与每个采集帧相关联的标签的分数。该方法还包括基于所获得的与采集帧相关联的标签的分数来生成唤醒设备的指令。

Description

一种语音识别系统和方法
技术领域
本申请涉及语音识别系统,特别涉及一种基于跳帧搜索的语音识别系统和方法。
背景技术
语音识别技术广泛用于各种领域,例如移动终端,智能家居等领域。语音识别技术是基于用户输入的语音达成唤醒目标对象的效果,目标对象包括设备,系统或应用程序。具体是预先设置唤醒短语,当用户输入的语音经过识别,如果识别结果是包括预设的唤醒短语时,将目标对象从睡眠模式或待机模式唤醒。但语音识别可能存在不准确的情况,导致生成错误警报从而唤醒目标对象。因此,希望开发一种更准确的语音识别的系统和方法。
发明内容
根据本申请的一个方面,提供了一种用于语音识别的系统。该系统包括至少一个存储介质和至少一个处理器,至少一个存储介质储存一组指令,至少一个处理器被配置为与存储介质进行通信。当系统执行一组指令时,指示至少一个处理器执行以下操作中的一个或以上,例如,接收包括至少两个语音数据帧的语音信号;确定至少两个帧的语音信号中的每个帧的语音特征,确定该语音特征相关的一个或以上标签;基于语音特征确定关于一个或以上标签的一个或以上得分;在预设间隔中采集至少两个帧,采集的帧按照一个或以上标签的序列对应于一个或以上标签中的至少一部分;获得与每个采集帧相关联的标签的分数;并且基于所获得的与采集帧相关联的标签的分数来生成唤醒设备的指令。
在一些实施例中,至少一个处理器还可以用于至少两个语音数据帧中的每个帧,对其一个或以上标签的一个或以上得分执行平滑操作。
在一些实施例中,为了对至少两个语音数据帧中的每个帧的一个或以上标签的一个或以上得分执行平滑操作,可以指示至少一个处理器确定关于当前帧的平滑窗口;确定平滑窗口中与当前帧相关联的至少一个帧;确定所述至少一个帧的一个或以上标签的分数;基于所述至少一个帧的一个或以上标签的分数,确定当前帧的一个或以上标签中的每个标签的平均分数;并且将当前帧的一个或以上标签中的每个标签的平均分数指定为当前帧的一个或以上标签中的每个标签的分数。
在一些实施例中,一个或以上标签可能涉及用于唤醒设备的唤醒短语,其中唤醒短语可以包括至少一个单词。
在一些实施例中,为了确定基于一个或以上语音特征关于一个或以上标签的一个或以上得分,可以指示至少一个处理器确定神经网络模型;将与所述至少两个帧对应的一个或以上语音特征输入到神经网络模型中;并且针对一个或以上语音特征中的每一个语音特征,生成关于其一个或以上标签的一个或以上分数。
在一些实施例中,为了基于所获得的与采集帧相关的标签的得分来生成唤醒设备的指令,至少一个处理器可以根据与采集帧对应的一个或以上标签的得分来确定最终得分;确定所述最终得分是否大于阈值;在确定最终得分大于阈值之后做出响应,可以指示至少一个处理器生成唤醒设备的指令。
在一些实施例中,最终得分可以是与采集帧相关联的标签的得分的乘积的开方。
在一些实施例中,作为对于确定最终得分不大于阈值的响应,至少一个处理器可能被进一步指示为向前移动搜索窗口。
在一些实施例中,为了确定至少两个帧中的每个帧的一个或以上语音特征,可以指示至少一个处理器将所述语音信号从时域变换到频域;并且对变换的语音信号进行离散化以获得与所述至少两个帧相对应的一个或以上语音特征。
根据本申请的另一方面,可以确定用于提供语音识别的方法。该方法可以在计算设备上实现,该计算设备具有至少一个处理器和至少一个计算机可读存储介质。该方法可以包括,例如,接收包含至少两个语音数据帧的语音信号;确定至少两个帧中的每个帧的语音特征,确定与语音特征相关的一个或以上标签;基于语音特征确定相关的一个或以上标签的一个或以上得分;在预设间隔中对至少两个帧进行采集,所采集的帧按照所述一个或以上标签的序列对应于所述一个或以上标签中的至少一部分;获得与每个采集帧相关联的标签的分数;基于所获得的与采集帧相关联的标签的分数,生成唤醒设备的指令。
根据本申请的又一方面,提供了一种非暂时性计算机可读介质。非暂时性计算机可读介质可以包括用于提供语音识别的至少一组指令,当由计算机设备的至少一个处理器执行时,该至少一组指令使计算设备执行方法。该方法可以包括,例如,接收包括至少两个语音数据帧的语音信号;确定至少两个帧中的每个帧的语音特征,确定与语音特征相关的一个或以上标签;基于语音特征确定关于一个或以上标签的一个或以上得分;在预设间隔中对至少两个帧进行采集,所采集的帧按照所述一个或以上标签的序列对应于所述一个或以上标签中的至少一部分;获得与每个采集帧相关联的标签的分数;基于所获得的与采集帧相关联的标签的分数,生成唤醒设备的指令。
关于另外的特征,一部分将在下面的描述中阐述,一部分对于本领域技术人员来说,在研究下文和附图时显而易见,或者可以通过实施例的制造或操作来学习。因此,可以通过实践或使用下面讨论的详细示例中阐述的方法、手段和组合的各个方面来实现和获得本申请的特征。
附图说明
本申请根据示例性实施例来进一步描述。参考附图来详细描述这些示例性实施例。附图不按比例绘制。这些实施例是非限制性示例性实施例,其中相同的附图标记在附图的若干视图中表示类似的结构,附图表示含义如下:
图1是根据本申请的一些实施例的示例性语音识别系统的示意图;
图2是根据本申请的一些实施例的计算设备的示例性组件的示意图;
图3是根据本申请的一些实施例的示例性用户终端的示例性硬件或软件组件的示意图;
图4是根据本申请的一些实施例的示例性处理引擎的示意图;
图5是根据本申请的一些实施例的用于生成唤醒设备的指令的示例性过程的流程图;
图6是根据本申请的一些实施例的示例性处理模块的示意图;
图7是根据本申请的一些实施例的基于语音信号,用于生成唤醒设备的指令的示例性过程的流程图;
图8是根据本申请的一些实施例的用于对语音特征的一个或以上标签的一个或以上分数执行平滑操作的示例性过程的流程图;
图9是根据本申请的一些实施例的用于在预设间隔中对至少两个帧进行采集的示例性过程的流程图;
图10是根据本申请的一些实施例的用于生成唤醒设备的指令的示例性过程的流程图。
具体实施方式
为了说明与本申请的实施例相关的技术方案,下面提供在实施例的描述中提到的附图的简要介绍。下面描述的附图仅是本申请的一些示例或实施例,在没有进一步创造性努力的情况下,本领域普通技术人员可以根据这些附图将本申请应用于其他类似场景。其中,除非另有说明或从上下文中显而易见,否则附图中相同的附图标记表示相同的结构和操作。
如本申请和所附权利要求中所使用的,单数形式“一”,“一个”和“该”包括复数,除非内容另有明确说明。将进一步理解,当在本申请中使用术语“包括”,“包含”,“包括”或“包括”时,指存在所述步骤和元件,但不排除存在或添加一个或以上其他步骤和元素。
根据本申请的一些实施例,可以以多种方式引用系统的一些模块,可以在客户端终端或服务器中使用和操作任何数量的不同模块,并且可以在本系统和方法的不同方面使用不同的模块。这些模块旨在说明本申请,而不是旨在限制本申请的范围。
根据本申请的一些实施例,流程图旨在说明由系统执行的操作本身。在前和在后的操作可以或可以不按顺序实施,操作可以按相反顺序执行,或同时执行。此外,可以在流程图中添加一个或以上其他操作,或者可以从流程图中省略一个或以上操作。
参考如下所述的附图来描述本申请的实施例的技术方案。显然,所描述的实施例不是穷举的,也不是限制性的。基于本申请中阐述的实施例,本领域普通技术人员在没有任何创造性劳动的情况下获得的其他实施例都在本申请的范围内。
本申请的一方面涉及用于提供语音识别以唤醒诸如智能电话的目标对象的系统和方法。为了提高语音识别的准确性和效率,本申请对包含至少两个帧的语音数据采用离散采集代替逐帧采集,以搜索唤醒短语,两个连续采集帧可能具有预设间隔。基于在顺序采集帧上确定的分数,可以消除由于识别部分唤醒短语引起的误报警。
图1是根据本申请的一些实施例的示例性语音识别系统的示意图。语音识别系统100可以包括服务器110,网络120,存储设备130和用户终端140。
服务器110可以促进语音识别系统100的数据处理。在一些实施例中,服务器110可以是单个服务器或服务器组。服务器组可以是集中的或分布式的,例如,服务器110可以是分布式系统。在一些实施例中,服务器110可以是本地的或远程的,例如,服务器110可以经由网络120访问存储在用户终端140和/或存储设备130中的信息和/或数据。作为另一示例,服务器110可以直接连接到用户终端140和/或存储设备130以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实现。仅作为示例,云平台可以包括私有云,公共云,混合云,社区云,分布式云,云间云,多云等,或其任何组合。在一些实施例中,服务器110可以在具有所示的一个或以上组件的计算设备200上实现,如图2所示。
在一些实施例中,服务器110可以包括处理引擎112,处理引擎112可以处理信息和/或数据以执行本申请中描述的一个或以上功能。例如,处理引擎112可以确定至少两个语音数据帧的一个或以上语音特征。语音数据可以由人,动物,机器模拟或其任何组合生成。作为另一示例,基于一个或以上语音特征,处理引擎112可确定关于一个或以上标签(例如,用于唤醒设备的一个或以上关键字)的一个或以上得分。作为又一示例,基于语音数据,处理引擎112可以生成唤醒设备的指令。在一些实施例中,处理引擎112可以包括一个或以上处理引擎(例如,单核处理引擎或多核处理器)。仅作为示例,处理引擎112可以包括一个或以上硬件处理器,诸如中央处理器(CPU),专用集成电路(ASIC),专用指令集处理器(ASIP),图形处理器(GPU),物理处理器(PPU),数字信号处理器(DSP),现场可编程门阵列(FPGA),可编程逻辑器件(PLD),控制器,微控制器单元,精简指令集计算机(RISC),微处理器等,或其任何组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,语音识别系统100中的一个或以上组件(例如,服务器110,存储设备130和用户终端140)可以将信息和/或数据发送到语音识别系统中的其他组件。例如,处理引擎112可以经由网络120从存储设备130和/或用户终端140获得神经网络模型。在一些实施例中,网络120可以是任何类型的有线网络、无线网络或其组合。仅作为示例,网络120可以包括线缆网络,有线网络,光纤网络,电信网络,内联网,因特网,局域网(LAN),广域网(WAN),无线局域网(WLAN),城域网(MAN),广域网(WAN),公共电话交换网(PSTN),蓝牙网络,ZigBee网络,近场通信(NFC)网络或类似物,或其任何组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点,例如基站和/或互联网交换点120-1,120-2…,语音识别系统100的一个或以上组件可以通过它们连接到网络120交换数据和/或信息。
存储设备130可以存储数据和/或指令。在一些实施例中,存储设备130可以存储从用户终端140和/或处理引擎112获得的数据,例如,存储设备130可以存储从用户终端140获得的语音信号。作为另一个例子,存储设备130可以存储关于由处理引擎112确定的一个或以上语音特征的一个或以上标签的一个或以上分数。在一些实施例中,存储设备130可以存储服务器110可以执行的数据和/或指令,以执行本申请中描述的示例性方法,例如,存储设备130可以存储处理引擎112可以执行或用于确定分数的指令。在一些实施例中,存储设备130可以包括大容量存储器,可移动存储器,易失性读写存储器,只读存储器(ROM)等,或其任何组合。其中大容量存储器可以包括磁盘,光盘,固态驱动器等;可移动存储器可以包括闪存驱动器,软盘,光盘,存储卡,拉链盘,磁带;易失性读写存储器可以包括随机存取存储器(RAM),RAM可以包括动态RAM(DRAM),双倍数据速率同步动态RAM(DDR SDRAM),静态RAM(SRAM),可控硅RAM(T-RAM)和零电容器RAM(Z-RAM);ROM可以包括掩模ROM(MROM),可编程ROM(PROM),可擦除可编程ROM(EPROM),电可擦除可编程ROM(EEPROM),光盘ROM(CD-ROM),以及数字通用盘ROM等。在一些实施例中,存储设备130可以在云平台上实现。仅作为示例,云平台可以包括私有云,公共云,混合云,社区云,分布式云,云间云,多云等,或其任何组合。
在一些实施例中,存储设备130可以连接到网络120以与语音识别系统100中的一个或以上组件(例如,服务器110,用户终端140等)通信。语音识别系统100中的一个或以上组件可以经由网络120访问存储在存储设备130中的数据或指令。在一些实施例中,存储设备130可以直接连接到语音识别系统100中的一个或以上组件(例如,服务器110,用户终端140等)与之通信。在一些实施例中,存储设备130可以是服务器110的一部分。
在一些实施例中,用户终端140可以包括移动设备140-1,平板计算机140-2,膝上型计算机140-3等,或其任何组合。在一些实施例中,移动设备140-1可以包括智能家居设备,可穿戴设备,移动设备,虚拟现实设备,增强现实设备等,或其任何组合。在一些实施例中,智能家居设备可以包括智能照明设备,智能电器设备的控制设备,智能监控设备,智能电视,智能摄像机,对讲机等,或其任意组合。在一些实施例中,可穿戴设备可包括手镯,脚套,眼镜,头盔,手表,衣服,背包,智能配件等,或其任何组合。在一些实施例中,移动设备可以包括移动电话,个人数字助理(PDA),游戏设备,导航设备,销售点(POS)设备,膝上型电脑,台式机等,或任何其组合。在一些实施例中,虚拟现实设备和/或增强现实设备可以包括虚拟现实头盔,虚拟现实玻璃,虚拟现实贴片,增强现实头盔,增强现实眼镜,增强现实贴片等,或其任何组合。例如,虚拟现实设备和/或增强现实设备可以包括Google GlassTM,RiftConTM,FragmentsTM,Gear VRTM等。在一些实施例中,语音识别系统100可以在用户终端140上实现。
应当注意,语音识别系统100仅出于说明的目的而提供,并不旨在限制本申请的范围。对于本领域普通技术人员,可以在本申请的教导下进行多种变化或修改,例如,语音识别系统100还可以包括数据库,信息源等。作为另一示例,语音识别系统100可以在其他设备上实现以实现类似或不同的功能。然而,这些变化和修改没有脱离本申请的范围。
图2是表示计算设备的示例性组件的示意图,其中实现服务器110,存储设备130和/或用户终端140可根据本申请的一些实施例实现。特定系统可以使用功能框图来解释包含一个或以上用户界面的硬件平台。计算机可以是具有一般或特定功能的计算机。根据本申请的一些实施例,可以配置两种类型的计算机来实现任何特定系统。计算设备200可以被配置为实现执行本申请中申请的一个或以上功能的任何组件,例如,计算设备200可以实现如本文所述的语音识别系统100的任何组件。在图1-2中,仅出于方便目的仅示出了一个这样的计算机设备。在提交本申请时,本领域普通技术人员将会理解,与本文所述的语音识别有关的计算机功能可以在多个类似平台上以分布式方式实现,以分配处理负荷。
例如,计算设备200可以包括连接到网络的COM端口250,以促进数据通信。计算设备200还可以包括处理器(例如,处理器220),其形式为一个或以上处理器(例如,逻辑电路),用于执行程序指令。例如,处理器可以包括其中的接口电路和处理电路。接口电路可以被配置为从总线210接收电子信号,其中电子信号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后确定结论、结果和/或编码为电子信号的指令,然后,接口电路可以经由总线210从处理电路发出电子信号。
示例性计算设备可以包括内部通信总线210,程序存储器和不同形式的数据存储器,例如,包括例如磁盘270,只读存储器(ROM)230或随机存取存储器(RAM)240,用于由计算设备处理和/或发送的各种数据文件。示例性计算设备还可以包括存储在ROM 230,RAM 240和/或将由处理器220执行的其他类型的非暂时性存储介质中的程序指令。可以将本申请的方法和/或过程实现为程序指令。计算设备200还包括I/O组件260,支持计算机和其他组件之间的输入/输出。计算设备200还可以经由网络通信接收编程和数据。
仅仅为了说明,图2中仅示出了一个CPU和/或处理器,还可以考虑了多个CPU和/或处理器情况;因此,由本申请中描述的一个CPU和/或处理器执行的操作和/或方法步骤也可以由多个CPU和/或处理器联合或单独执行。例如,如果在本申请中计算设备200的CPU和/或处理器执行步骤A和步骤B,则也可以理解为,步骤A和步骤B也可以由两个不同的CPU和/或处理器共同执行,或者理解为,在计算设备200中单独地执行步骤A和步骤B(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同执行步骤A和B)。
图3是表示根据本申请的一些实施例的示例性用户终端的示例性硬件和/或软件组件的示意图;根据本申请的一些实施例,可以根据其实现用户终端140。如图3所示,移动设备300可以包括通信平台310,显示器320,图形处理器(GPU)330,中央处理器(CPU)340,I/O 350,内存360和存储器390,其中CPU 340可以包括类似于处理器220的接口电路和处理电路。在一些实施例中,任何其他合适的组件也可以包括在移动设备300中,这里组件包括但不限于系统总线或控制器(未示出)。在一些实施例中,移动操作系统370(例如,iOSTM,AndroidTM,Windows PhoneTM等)和一个或以上应用程序380可以从存储器390加载到内存360中,以便由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从移动设备300上的基于位置的服务提供系统接收和呈现与服务请求或其他信息有关的信息。用户与信息流的交互可以通过I/O设备350实现,并通过网络120提供给处理引擎112和/或语音识别系统100的其他组件。
为了实现上述各种模块,单元及其功能,计算机硬件平台可以用作一个或以上元件(例如,图2中描述的服务器110的组件)的硬件平台。由于这些硬件元件、操作系统和程序语言是常见的,因此可以假设本领域技术人员可以熟悉这些技术,并且他们可以根据在本申请中描述的技术提供路线规划中所需的信息。具有用户界面的计算机可以用作个人计算机(PC)或其他类型的工作站或终端设备,在正确编程之后,具有用户界面的计算机可以用作服务器,可以认为本领域技术人员也可以熟悉这种类型的计算机设备的这种结构,程序或一般操作。因此,没有针对附图进行描述,做额外的解释。
图4是示出根据本申请的一些实施例的示例性处理引擎的示意图。处理引擎112可以包括获取模块410,处理模块420,I/O模块430和通信模块440。这些模块可以是处理引擎112的至少一部分的硬件电路。这些模块也可以是实现为由处理引擎112读取和执行的应用程序或指令集。此外,这些模块可以是硬件电路和应用程序/指令的任何组合。例如,当处理引擎112正在执行应用程序/指令集时,这些模块可以是处理引擎112的一部分。
获取模块410可以获得数据/信号。获取模块410可以从语音识别系统100的一个或以上组件(例如,用户终端140,I/O模块430,存储设备130等)或外部设备(例如,云数据库)获得数据/信号。仅通过示例的方式,所获得的数据/信号可以包括语音信号、唤醒短语、用户指令、程序、算法等、或其组合。基于用户输入的语音,可以生成语音信号。如这里所使用的,“语音”可以指来自用户的语音部分,其基本上与其他部分(例如,通过时间,通过含义和/或通过输入格式的特定设计)无关。在一些实施例中,获得模块410可以从I/O模块430或声学设备(例如,用户终端140的麦克风)获得语音信号,基于用户的语音,其可以生成语音信号,语音信号可以包括至少两个语音数据帧。仅作为示例,语音数据可以是或包括语音信号在时域中的信息和/或特性。在一些实施例中,每个帧可以具有一定长度,例如,帧可以具有10毫秒,25毫秒等的长度。如这里所使用的,唤醒短语可以指与目标对象(例如,设备,系统,应用程序等)相关联的一个或以上单词。所述一个或以上单词可以包括汉字,英文单词,音素等,或其组合,其可以通过含义、发音等区分。在一些实施例中,当语音识别系统100识别出唤醒短语时的状态,目标对象可以从一个状态切换到另一个状态,例如,当识别出唤醒短语时,可以从睡眠状态或待机状态唤醒设备。
在一些实施例中,获得模块410可以将获得的数据/信号发送到处理模块420以进行进一步处理(例如,从语音信号中识别唤醒短语)。在一些实施例中,获取模块410可以将获得的数据/信号发送到存储设备(例如,存储器327,数据库150等)以进行存储。
处理模块420可以处理数据/信号。处理模块420可以从获取模块410,I/O模块430和/或能够存储数据/信号的任何存储设备(例如,存储设备130或外部数据源)获得数据/信号。在一些实施例中,处理模块420可以处理包括至少两个语音数据帧的语音信号,并确定语音数据的一个或以上帧是否包括唤醒短语。在一些实施例中,如果从语音信号识别出唤醒短语,则处理模块420可以生成用于唤醒目标对象的指令。在一些实施例中,处理模块420可以将处理后的数据/信号发送到目标对象,例如,处理模块420可以向应用程序发送指令以发起任务。在一些实施例中,处理模块420可以将处理后的数据/信号发送到存储设备(例如,存储器327,数据库150等)以进行存储。
处理模块420可以包括硬件处理器,例如微控制器,微处理器,精简指令集计算机(RISC),专用集成电路(ASIC),专用指令集处理器(ASIP),中央处理单元(CPU),图形处理单元(GPU),物理处理单元(PPU),微控制器单元,数字信号处理器(DSP),现场可编程门阵列(FPGA),高级RISC机器(ARM),可编程逻辑器件(PLD),能够执行一个或以上功能的任何电路或处理器等,或其任何组合。
I/O模块430可以输入或输出信号、数据或信息,例如,I/O模块430可以输入用户的语音数据。作为另一示例,I/O模块430可以输出用于唤醒目标对象(例如设备)的指令。在一些实施例中,I/O模块430可以包括输入设备和输出设备。示例性输入设备可以包括键盘,鼠标,触摸屏,麦克风等,或其组合。示例性输出设备可以包括显示设备,扬声器,打印机,投影仪等,或其组合。示例性显示装置可包括液晶显示器(LCD),基于发光二极管(LED)的显示器,平板显示器,曲面屏幕,电视装置,阴极射线管(CRT)等,或其组合。
通信模块440可以连接到网络(例如,网络120)以促进数据通信。通信模块440可以在处理引擎112和用户终端140和/或存储设备130之间建立连接,例如,通信模块440可以将指令发送到设备以唤醒设备。该连接可以是有线连接,无线连接,可以实现数据传输和/或接收的任何其他通信连接,和/或这些连接的任何组合。有线连接可以包括例如电缆,光缆,电话线等,或其任何组合。无线连接可以包括例如蓝牙链接,Wi-FiTM链接,WiMaxTM链接,WLAN链接,ZigBeeTM链接,移动网络链接(例如,3G,4G,5G)等,或其任何组合。在一些实施例中,通信端口207可以是和/或包含标准化通信端口,例如RS232,RS485等。
应当注意,以上对引擎112描述仅出于说明的目的而提供,并且不旨在限制本申请的范围。对于本领域普通技术人员,可以在本申请的教导下进行多种变化和修改,例如,处理引擎112还可以包括便于数据存储的存储模块,然而,这些变化和修改不脱离本申请的范围。
图5是表示根据本申请的一些实施例,基于语音信号,生成唤醒目标对象的指令的示例性过程500的流程图。在一些实施例中,过程500可以在语音识别系统100中实现,例如,过程500可以作为指令的形式存储在存储设备130和/或存储器(例如,ROM 230,RAM 240等)中,并且由服务器110(例如,服务器110中的处理引擎112,或服务器110中的处理引擎112的处理器220)调用和/或执行。
在步骤510中,可以从用户获得语音信号。在一些实施例中,语音识别系统100可以在设备(例如,移动电话,笔记本电脑,平板电脑)上实现。获取模块410可以从设备的声学组件获得语音信号,例如,获取模块410可以通过设备的I/O端口(例如麦克风)实时获取用户的语音,并基于用户的语音生成语音信号。在一些实施例中,语音信号可包括至少两个语音数据帧。
在步骤520中,可以处理语音信号以确定处理结果。在一些实施例中,处理模块420可以执行各种操作以确定处理结果(例如,确定语音数据是否包括唤醒短语)。在一些实施例中,语音信号可以从时域变换到频域。在一些实施例中,可以确定至少两个语音数据帧中的每个语音数据的语音特征,其中,语音特征可以指频域中的语音数据的属性或特性。在一些实施例中,基于各种语音特征提取技术,可以从语音数据中提取语音特征。示例性语音特征提取技术可以包括Mel标度频率倒谱系数(MFCC),感知线性预测(PLP),滤波器组等,或其组合。在一些实施例中,基于与一个或以上语音数据帧相对应的一个或以上语音特征,可以确定关于一个或以上语音数据帧中的每一个语音数据帧的一个或以上标签的一个或以上分数,其中,一个或以上标签可以指唤醒短语的关键单词,例如,唤醒短语可以包含第一个单词“xiao”和第二个单词“ju”,这样,与唤醒短语“xiao ju”相关联的标签可以包括三个标签,包括第一标签,第二标签和第三标签。第一个标签可以代表第一个单词“xiao”,第二个标签可以代表第二个单词“ju”,第三个标签可能代表不相关的词。在一些实施例中,上面阐述的处理结果(例如,语音特征,一个或以上分数等)可以用于将目标对象(例如,设备,系统或应用程序)从睡眠状态或待机状态唤醒。
在步骤530中,基于处理结果,处理模块420可以生成用于唤醒目标对象的指令。在一些实施例中,基于处理结果(例如,一个或以上分数),处理模块420可以确定是否唤醒目标对象。基于处理结果,如果处理模块420识别出唤醒短语,则处理模块420可以生成将目标对象从一个状态切换到另一个状态的指令,例如,处理模块420可以生成用于从睡眠状态或待机状态激活设备的指令。作为另一示例,处理模块420可以生成用于启动特定应用的指令。
图6是示出根据本申请的一些实施例的示例性处理模块420的示意图。在一些实施例中,处理模块420可包括特征确定单元610,分数确定单元620,平滑单元630,帧选择单元640和唤醒单元650。
基于语音数据帧,特征确定单元610可以确定语音特征。在一些实施例中,特征确定单元610可以获得包括至少两个语音数据帧的语音信号,并基于语音信号确定至少两个帧中的每个帧的语音特征。在该处理期间,特征确定单元610可以执行各种操作以确定语音特征。仅通过示例的方式,操作可以包括快速傅里叶变换,谱减法,滤波器组提取,低能量变换等,或其组合。
分数确定单元620可以确定帧关于一个或以上标签的一个或以上分数。在一些实施例中,分数确定单元620可以从特征确定单元610获得与该帧相对应的语音特征,分数确定单元620可以基于该分数,使用神经网络模型的语音特征确定关于该帧的一个或以上标签的一个或以上分数。一个或以上标签可以指唤醒短语的关键字,例如,唤醒短语可以包括第一个单词“xiao”和第二个单词“ju”,与唤醒短语“xiao ju”相关联的标签可以包括三个标签,包括第一标签,第二标签和第三标签。第一个标签可以代表第一个单词“xiao”,第二个标签可以代表第二个单词“ju”,第三个标签可能代表不相关的词。
分数确定模块620可以经由网络120从语音识别系统100中的存储设备(例如,存储设备130)和/或外部数据源(例如,云数据库)获得神经网络模型。分数确定模块620可以将与至少两个语音数据帧相对应的一个或以上语音特征输入到神经网络模型中,可以以神经网络模型的输出的形式生成关于每个帧的一个或以上标签的一个或以上分数。
在一些实施例中,关于730中确定的至少两个帧中的每个帧的一个或以上标签的分数可以存储在分数表中。分数确定单元620可以从分数表中检索分数,这些分数是对帧选择单元640进行采集得到的一个或以上帧相关联的标签的分数。
平滑单元630可以执行平滑操作。在一些实施例中,平滑单元630可以针对至少两个帧中的每个帧的一个或以上标签的一个或以上分数执行平滑操作。在一些实施例中,对于一个或以上语音特征中的每一个语音特征,平滑单元530可以通过确定帧的一个或以上标签中的每个标签的平均分数来执行平滑操作。在一些实施例中,可以在平滑窗口中确定平均分数,平滑窗口可能具有一定长度,例如200毫秒。
帧选择单元640可以在预设间隔中对至少两个帧进行采集。两个连续采集帧之间的预设间隔可以是常数或变量,例如,预设间隔可以是10毫秒,50毫秒,100毫秒,140毫秒,200毫秒或其他合适的值。在一些实施例中,预设间隔可以与用户说一个单词的持续时间(例如,20帧或200毫秒)相关联。在一些实施例中,采集的帧可以根据一个或以上标签的序列对应于一个或以上标签的至少一部分。
唤醒单元650可以生成唤醒目标对象(例如,设备,系统,应用程序等,或其组合)的指令。唤醒单元650可以获得一个或以上帧相关联的标签的分数,这些分数是从分数确定单元620获得与帧选择单元640采集的。在一些实施例中,基于所确定的与采集帧相关联的标签的分数,唤醒单元650可以确定目标对象,来生成唤醒的指令。如果满足用于唤醒目标对象的预设条件,则唤醒单元650可以将指令发送到目标对象以控制目标对象的状态。
图7是表示根据本申请的一些实施例,基于语音信号生成唤醒设备的指令的示例性过程700的流程图。在一些实施例中,过程700可以在语音识别系统100中实现,例如,过程700可以作为指令的形式存储在存储设备130和/或存储器(例如,ROM 230,RAM240等)中,并且由服务器110(例如,服务器110中的处理引擎112,或服务器110中的处理引擎112的处理器220)调用和/或执行。
在步骤710中,可以接收语音信号,语音信号可以由例如获取模块410接收。在一些实施例中,获取模块410可以从存储设备(例如,存储设备130)接收语音信号。在一些实施例中,语音识别系统100可以从设备(例如,用户终端140)接收语音信号,例如,设备可以经由I/O端口(例如,用户终端140的麦克风)获得用户的语音,并基于用户的语音生成语音信号。
在一些实施例中,语音信号可包括至少两个语音数据帧。所述至少两个帧中的每个帧可以具有一定长度,例如,帧可以具有10毫秒,25毫秒等的长度。在一些实施例中,帧可以与相邻帧的至少一部分重叠,例如,范围从0毫秒到25毫秒的第一帧可以部分地重叠范围从10毫秒到35毫秒的第二帧。
在步骤720中,可以确定至少两个帧中的每个帧的语音特征。所述至少两个帧中的每个帧的语音特征可以由例如特征确定单元610确定。特征确定单元610可以通过执行至少两个操作和/或分析,来确定所述至少两个帧中的每个帧的语音特征。仅通过示例的方式,操作和/或分析可以包括快速傅里叶变换,谱减法,滤波器组提取,低能量变换或类似的方法,或其组合。仅出于说明目的,语音信号可以在时域内,特征确定单元610可以将所述语音信号从时域变换到频域,例如,特征确定单元610可以对语音信号执行快速傅立叶变换,以将所述语音信号从时域变换到频域。在一些实施例中,特征确定单元610可以对变换后的语音信号进行离散化,例如,特征确定单元610可以将变换后的语音信号划分为多个部分,并将多个部分中的每一个部分表示为离散量。
在一些实施例中,特征确定模块610可以根据至少两个帧中的每个帧的语音特征来确定所述至少两个帧中的每个帧的特征向量。每个特征向量可以包括表示相应帧的语音特征的多个数值,例如,特征向量可以包括120个数字,其中数字可以表示语音信号的特征。在一些实施方案中,数字可以为0至1。
在一些实施例中,语音特征可以与一个或以上标签相关。在一些实施例中,一个或以上标签可以与唤醒短语相关联。当从语音信号识别出唤醒短语时,目标对象(例如,设备,系统或应用程序)可以从一种状态切换到另一种状态,例如,当识别出某个唤醒短语时,语音识别系统100可以唤醒与语音识别系统100相关联的设备。唤醒短语可以由用户经由I/O模块430设置或者用户终端140,或者由处理引擎112根据默认设置确定,例如,处理引擎112可以根据默认设置确定唤醒短语,唤醒短语用于从睡眠状态或待机状态唤醒设备或用于启动特定应用。唤醒短语可以包括一个或以上单词,例如,单词可以包括中文字符,英语单词,音素等,其可以通过其含义,发音等区别。例如,唤醒短语可以包括第一单词“xiao”和第二个单词“ju”。与唤醒短语“xiao ju”相关联的一个或以上标签可以包括三个标签,包括第一标签,第二标签和第三标签。第一个标签可以代表第一个单词“xiao”,第二个标签可以代表第二个单词“ju”,第三个标签可能代表不相关的词。在一些实施方案中,一种或多种标签可具有序列。在一些实施例中,标签的序列可以对应于唤醒短语中的单词的序列。
在步骤730中,基于语音特征,可以确定关于每个帧的一个或以上标签的一个或以上分数。其中一个或以上分数可以由例如分数确定模块620确定。在一些实施例中,分数确定模块620可以确定神经网络模型。在一些实施例中,神经网络模型可以包括卷积神经网络,深度神经网络等,或其组合。例如,神经网络模型可以包括卷积神经网络和一个或以上深度神经网络。在一些实施例中,得分确定模块620可以使用至少两个唤醒短语和相应的语音信号来训练神经网络模型,并将训练的神经网络模型存储在语音识别系统100中的存储设备(例如,存储设备130)中。
分数确定模块620可以将与至少两个帧相对应的语音特征输入到神经网络模型中。对于每个帧的一个或以上标签的一个或以上分数,可以用神经网络模型的输出形式生成。对于特定帧,关于帧的一个或以上标签的一个或以上分数可以表示由一个或以上标签表示的一个或以上单词存在于帧中的概率。一个或以上分数可以是整数,小数等,或其组合,例如,关于语音特征的标签的分数可以是0.6。在一些实施例中,帧的标签的较高分数可以对应于由一个或以上标签表示的一个或以上单词存在于帧中的较高概率。
在步骤740中,可以针对至少两个帧中的每个帧对一个或以上标签的一个或以上分数执行平滑操作。平滑操作可以由例如平滑单元630执行。在一些实施例中,对于至少两个帧中的每一个帧,平滑单元630可以通过确定对所述至少两个帧中的每个帧的一个或以上标签中的平均分数来执行平滑操作。在一些实施例中,可以在平滑窗口中确定平均分数。平滑窗口可以具有一定长度,例如200毫秒。
为了便于说明,对于当前帧的特定标签,平滑单元630可以确定平滑窗口中与当前帧相关联的至少一个帧。平滑单元630可以确定标签相对于至少一个帧的平均分数,并将平均分数指定为当前帧的标签的平滑分数。关于平滑操作的更多描述可以在本申请的其他地方找到,例如,图8及其描述。
在步骤750中,可以在预设间隔中对至少两个帧进行采集,可以通过例如帧选择单元640对至少两个帧进行采集。两个连续采集帧之间的预设间隔可以是常数或变量,例如预设间隔可以是10毫秒、50毫秒、100毫秒、140毫秒、200毫秒或其他合适的值。在一些实施例中,预设间隔可以与用户说一个单词的持续时间(例如,20帧或200毫秒)相关联。在一些实施例中,可以根据存储在存储设备(例如,存储设备130,存储器390)中的默认设置来确定预设间隔。在一些实施例中,可以根据不同的场景自适应地调整预设间隔,例如基于唤醒短语的语言、用户的说话速度等或其组合,帧选择单元640可以确定预设间隔。作为另一示例,帧选择单元640可以使用模型(例如,神经网络模型)来确定预设间隔。关于至少两个帧的采集的更多描述可以在本申请的其他地方找到,例如,图9及其描述。
在一些实施例中,根据一个或以上标签的序列,采集的帧可以对应于一个或以上标签的至少一部分。仅出于说明的目的,对于包括第一标签,第二标签,第三标签和第四标签(表示不相关的单词)的四个标签,可以对三个帧进行采集,包括第一采集帧,第二采集帧和第三个采集帧。第一采集帧,第二采集帧和第三采集帧可以分别对应于第一标签,第二标签和第三标签。在一些实施例中,第一采集帧和第二采集帧之间的间隔可以与第二采集帧和第三采集帧之间的间隔相同或不同。
在步骤760中,可以确定与每个采集帧相关联的标签的分数。与每个采集帧相关联的标签的得分可以由例如得分确定单元620确定。在一些实施例中,得分确定单元620可以通过根据选择在流程730中确定采集帧的关于至少两个帧中的每个帧的一个或以上标签的得分,来确定与每个采集帧相关联的标签的得分。例如,关于730中确定的至少两个帧中的每个帧的一个或以上标签的得分可以是存储在分数表中,得分确定单元620可以从得分表中检索与每个采集帧相关联的标签的得分。
在步骤770中,可以基于所获得的与采集帧相关联的标签的得分,来生成唤醒目标对象的指令,唤醒目标对象的指令可以由例如唤醒单元650生成。在一些实施例中,基于所获得的与采集帧对应的标签的分数,唤醒单元650可以确定最终分数,然后基于最终得分和阈值确定是否唤醒目标对象。例如,唤醒单元650可以确定最终得分是否大于阈值,如果最终得分大于阈值,则唤醒单元650可以生成唤醒目标对象的指令;如果最终得分小于阈值,则设备可能不会唤醒目标对象。关于确定最终得分和唤醒设备的更多描述可以在本申请的其他地方找到,例如,图10及其相关描述。
应注意,以上描述仅出于说明的目的而提供,且不旨在限制本申请的范围。对于本领域普通技术人员,可以在本申请的教导下进行多种变化和修改。在一些实施例中,可以添加或省略一个或以上步骤,例如,过程700还可以包括基于与每个帧相对应的语音特征,用于生成特征向量的操作。作为另一示例,步骤760可以并入到步骤750。作为又一个示例,可以使用其他算法或数学模型来确定关于一个或以上标签的一个或以上得分,这不是限制性的。然而,那些变化和修改不脱离本申请的范围。
图8是示出根据本申请的一些实施例的用于对语音特征的一个或以上标签的一个或以上分数执行平滑操作的示例性过程800的流程图。在一些实施例中,过程800可以在语音识别系统100中实现。例如,过程800可以作为指令的形式存储在存储设备130和/或存储器(例如,ROM 230,RAM 240等)中,并且由服务器110(例如,服务器110中的处理引擎112,或服务器110中的处理引擎112的处理器220)调用和/或执行。在一些实施例中,过程800中的一个或以上操作可以由平滑单元630执行。
在步骤810中,可以确定关于帧的平滑窗口。如这里所使用的,平滑窗口可以指的是时间窗口,其中可以平滑关于帧的一个或以上标签的分数(也称为“当前帧”)。在一些实施例中,当前帧可以包括在平滑窗口中。平滑窗口可以具有特定宽度,例如,100毫秒,150毫秒,200毫秒等。在一些实施例中,平滑窗口的宽度可以涉及说出一个字的持续时间,例如,200毫秒。
在步骤820中,可以确定平滑窗口中与当前帧相关联至少一个帧。在一些实施例中,平滑单元630可以确定平滑窗口中与当前帧相邻的至少两个帧。至少一个帧的数量可以由用户手动设置,或者由语音识别系统100的一个或以上组件根据默认设置确定。例如,平滑单元630可以在平滑窗口中确定当前帧之前的10个连续帧。作为另一示例,平滑单元630可以在平滑窗口中以预设间隔(例如,20毫秒)选择5个帧。作为另一示例,平滑单元630可以在平滑窗口中以不同间隔(例如,每两个连续选择帧之间的间隔可以分别为20毫秒,10毫秒,20毫秒和40毫秒)选择5个帧。
在步骤830中,可以确定用于至少一个帧的一个或以上标签的分数。在一些实施例中,确定至少一个帧的一个或以上标签的分数可以类似于730中的操作。在一些实施例中,平滑单元630可以获得一个或以上标签的分数。来自语音识别系统100的一个或以上组件的至少一个帧,例如,得分确定单元620,或存储设备(例如,存储设备130)。
在步骤840中,基于至少一个帧的一个或以上标签的分数,可以确定当前帧的一个或以上标签中的每个标签的平均分数。在一些实施例中,当前帧的标签的平均分数可以是所确定的至少一个帧的标签分数的算术平均值。例如,对于当前帧的每个标签,平滑单元630可以通过将至少一个帧的标签的得分之和除以至少一个帧的数量,来确定标签的平均得分。
在步骤850中,可以将当前帧的一个或以上标签中的每个标签的平均分数指定为当前帧的一个或以上标签中的每个标签的分数。例如,平滑单元630可以将关于当前帧之前的10个连续帧的第一标签的得分的平均值指定为关于当前帧的第一标签的得分。
在一些实施例中,过程800中的操作可以重复至少两次,以平滑至少两个帧的一个或以上标签的分数。在开始用于平滑下一帧的一个或以上标签的分数的另一轮之前,可以向前移动平滑窗口。步长可以是常数或变量,例如平滑窗口可以以合适的宽度(向前10毫秒)移动以适应下一帧。
图9是示出根据本申请的一些实施例的用于在预设间隔中对至少两个帧进行采集的示例性过程900的流程图。在一些实施例中,过程900可以在语音识别系统100中实现。例如,过程900可以作为指令的形式存储在存储设备130和/或存储器(例如,ROM 230,RAM 240等)中,并且由服务器110(例如,服务器110中的处理引擎112,或服务器110中的处理引擎112的处理器220)调用和/或执行。在一些实施例中,过程900中的操作可以由帧选择单元640执行。
在步骤910中,可以确定预定宽度的搜索窗口。如这里所使用的,搜索窗口可以指代对至少两个帧进行采集的时间窗口。搜索窗口可包括多个帧。在一些实施例中,根据语音识别系统100的默认设置,搜索窗口的宽度可以由用户设置。在一些实施例中,搜索窗口的宽度可以与唤醒短语中的单词数量相关。具体地,对于包括第一数量的单词的唤醒短语,搜索窗口的宽度可以是所述第一数量和说出一个单词所用时间的乘积。例如,对于包括两个单词的唤醒短语,搜索窗口可以具有400毫秒(2×200毫秒)的长度。
在步骤920中,可以在搜索窗口中对至少两个帧进行采集,所述至少两个帧根据序列对应于至少两个标签。在一些实施例中,每两个连续采集帧可以具有如上750所述的预设间隔。在一些实施例中,两个连续采集帧之间的预设间隔可以是常数,例如150毫秒,200毫秒。在一些实施例中,预设间隔可能与用于说出一个单词的持续时间(例如,200毫秒)有关。
搜索窗口中的采集帧的数量可以与唤醒短语中的单词数量相关联。例如,对于唤醒短语“xiao ju”,语音识别系统100可以确定三个标签,包括例如第一标签(表示第一单词“xiao”),第二标签(表示第二单词“ju”)和第三标签(代表不相关的词)。根据唤醒短语中第一单词“xiao”和第二单词“ju”的相对位置,第一标签可以在第二标签之前。可以对两个帧进行采集,包括第一采集帧和第二采集帧。第一采集帧和第二采集帧可以分别对应于第一标签和第二标签。因此,根据标签的序列,第一采集帧(例如,范围从0毫秒到10毫秒)可以在第二采集帧之前(例如,范围从140毫秒到150毫秒)。
应注意,以上描述仅出于说明的目的而提供,且不旨在限制本申请的范围。对于本领域普通技术人员,可以在本申请的指导下进行多种变化和修改。例如,可以根据唤醒短语的语言,唤醒短语中的单词的属性(例如,单词中的字母的数量),用户的说话速度,自适应地调整两个连续采集帧之间的预设间隔。然而,那些变化和修改不脱离本申请的范围。
图10是示出根据本申请的一些实施例的用于生成唤醒设备的指令的示例性过程1000的流程图。在一些实施例中,过程1000可以在语音识别系统100中实现,例如,过程1000可以作为指令的形式存储在存储设备130和/或存储器(例如,ROM 230,RAM 240等)中,并且由服务器110(例如,服务器110中的处理引擎112,或服务器110中的处理引擎112的处理器220)调用和/或执行。在一些实施例中,过程1000中的操作可以由唤醒单元650执行。
在步骤1010中,基于与采集帧对应的一个或以上标签的分数,可以确定最终分数。最终得分可以是与采集帧相关联的标签的得分的乘积,与采集帧相关联的标签的得分的总和,与采集帧相关联的标签的得分的乘积的开方等等。在一些实施例中,最终得分可以是与采集帧相关联的标签的得分的乘积的开方。最终得分可以根据等式(1)确定:
Figure GDA0002410184410000311
其中Pvalue表示最终得分,C1表示与第一采集帧相关联的第一标签的平滑得分,C2表示与第二采集帧相关联的第二标签的平滑得分,并且Cn表示与第n个采集帧相关联的第n个标签的平滑得分。
在一些实施例中,可以根据等式(2)确定最终得分:
Figure GDA0002410184410000312
其中I表示与唤醒短语中的第I个字相对应的第I个标签,T表示第T个帧,Sn表示搜索窗口的宽度,Wn表示唤醒短语中的字数。
Figure GDA0002410184410000313
表示第T帧的第I个标签的得分的最大得分。对于语音信号的第一帧,可以根据等式(3)确定
Figure GDA0002410184410000321
Figure GDA0002410184410000322
其中
Figure GDA0002410184410000323
表示搜索窗口中第t帧的第i个标签的平均得分。
为了便于说明,对于除语音信号中的第一帧之外的其他帧,可以根据下面给出的计算机代码确定
Figure GDA0002410184410000324
Figure GDA0002410184410000325
Figure GDA0002410184410000331
其中
Figure GDA0002410184410000332
表示搜索窗口中第t帧的第i个标签的平均得分,N表示两个连续采集帧之间的预设间隔。
在步骤1020中,可以确定最终得分是否大于阈值。如果最终得分大于阈值,则过程1000可以进行到1030以生成唤醒目标对象的指令。如果最终得分不大于阈值,则过程1000可以进行到步骤1040。阈值可以是数字,例如,整数,小数等。阈值可以由用户设置,根据语音识别系统100的默认设置。在一些实施例中,阈值可能涉及各种因素,例如唤醒短语中的单词数量,唤醒短语的语言
(例如,英语,中文,法语,等)等。
在步骤1030中,可以生成唤醒目标对象的指令。如果最终得分大于阈值,则可以指示搜索窗口中的帧包括唤醒短语。在一些实施例中,唤醒单元650可以生成将目标对象(例如,设备,组件,系统或应用)从休眠状态或待机状态切换到工作状态的指令。在一些实施例中,唤醒单元650可以生成用于启动安装在目标对象中的app的指令,例如用于发起搜索,安排约会,生成文本或电子邮件,拨打电话,访问网站等。
在步骤1040中,搜索窗口可以向前移动一步。如果最终得分不大于阈值,则可能表示搜索窗口中的帧不包括唤醒短语,并且搜索窗口可以向前移动一步,以用于采集另一组帧。在一些实施例中,步长可以是10毫秒,25毫秒等。在一些实施例中,步长的长度可以是一个适合的值(10毫秒)以适应下一个语音特征。步骤的长度可以由用户设置,或者可以由语音识别系统100的一个或以上组件根据存储设备(例如,存储设备130)中存储的默认设置来确定。
在向前移动搜索窗口之后,可以重复步骤1010到步骤1040的过程,以确定移动的搜索窗口中的帧是否包括唤醒短语。直到搜索窗口中的最终得分大于阈值,或者搜索窗口通过语音数据的所有帧,则该过程可以终止。如果搜索窗口中的最终得分大于阈值,则过程1000可以进行到步骤1030,并且唤醒单元650可以生成唤醒设备的指令。如果搜索窗口通过语音数据的所有帧,则过程1000可以结束。
综上所述,在详细阅读本申请内容之后,本领域技术人员可以明显看出,前述详细申请内容仅旨在通过示例的方式呈现,而非限制性的。本申请可以进行各种改变,改进和修改,并且是针对本领域技术人员而言,尽管这里没有明确说明。这些改变,改进和修改是基于本申请提出的,并且在本申请的示例性实施例的精神和原则之内。
此外,某些术语已被用于描述本申请的实施例。例如,术语“一个实施例”,“实施例”和“一些实施例”意味着该实施例描述的特定特征,结构或特性包括在本申请的至少一个实施例中。因此,应该强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本申请的一个或以上实施例中适当地组合。
此外,本领域技术人员将理解,本申请的各方面可以在许多可获得专利的类别或上下文中的任何一个中示出和描述,包括任何新的和有用的过程,机器,制造或组合物质,或任何新的和有用的改进。因此,本申请的各方面可以完全由硬件,完全软件(包括固件,常驻软件,微代码等)或组合软件和硬件实现来实现,这些实现在本文中通常都可以称为“模块”,“单位”,“组件”,“设备”,或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,该计算机可读介质具有包含在其上的计算机可读程序代码。
计算机可读信号介质可包括传播的数据信号,其中包含计算机可读程序代码,例如,在基带中或作为载波的一部分。这种传播信号可以采用多种形式中的任何一种,包括电磁,光学等,或其任何合适的组合。计算机可读信号介质可以是任何计算机可读介质,它不是计算机可读存储介质,它可以通信、传播或传输程序以供指令执行系统、装置或设备使用或与其结合使用。计算机可读信号介质上包含的程序代码,可以使用任何适当的介质传输,包括无线、有线、光纤电缆、RF等,或者前述的任何合适的组合。
用于执行本申请各方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,包括面向对象的编程语言,诸如Java,Scala,Smalltalk,Eiffel,JADE,Emerald,C++,C#,VB,NET,Python等传统的过程编程语言,例如“C”编程语言,VisualBasic,Fortran 2003,Perl,COBOL 2002,PHP,ABAP;动态编程语言,如Python,Ruby和Groovy,或其他编程语言。程序代码可以完全在用户的计算机上执行;部分在用户的计算机上执行,作为独立的软件包;部分在用户的计算机上,部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(用于例如,通过互联网使用互联网服务提供商)或在云计算环境中或作为服务提供,例如软件即服务(SaaS)。
此外,所引用的处理元件或序列的顺序,或者数字、字母或其他名称的使用,并不旨在将要求保护的过程和方法限制为任何顺序,除非可以在权利要求中指定。尽管上面的申请内容通过各种示例讨论了当前被认为是本申请的各种有用实施例的内容,但是应该理解,这样的细节仅用于该目的,并且所附权利要求不限于所申请的实施例,恰恰相反,旨在覆盖在所申请的实施例的精神和原则内的修改和等同布置。例如,尽管上述各种组件的实现可以体现在硬件设备中,但是它也可以实现为仅软件解决方案(例如,在现有服务器或移动设备上的安装)。
类似地,应当理解,在本申请的实施例的前述描述中,为了简化本申请的目的,有时将各种特征组合在一个单独的实施例、附图或描述中,以帮助理解一个多个实施例中的更多个。然而,该申请方法不应被解释为反映一种意图,即所要求保护的主题需要比每个权利要求中明确记载的更多特征,而是要求主题少于单个前述申请实施例的所有特征。

Claims (20)

1.一种用于提供语音识别的系统,其特征在于包括:
存储一组指令的至少一个存储介质;以及
至少一个处理器,被配置为与所述至少一个存储介质通信,其中,当执行所述指令时,所述至少一个处理器用于:
接收包括至少两个语音数据帧的语音信号;
确定至少两个帧中的每个帧的语音特征,该语音特征与一个以上标签相关;
基于所述语音特征确定关于一个以上标签的一个以上得分;
在预设间隔中采集至少两个帧,采集的帧按照一个以上标签的序列对应于一个以上标签中的至少一部分;
获得与每个采集帧相关联的标签的分数;以及
基于所获得的与采集的帧相关联的标签的分数,生成唤醒设备的指令。
2.如权利要求1所述的系统,其特征在于,所述至少一个处理器还用于:
对于至少两个帧中的每个帧,对一个以上标签的一个以上分数执行平滑操作。
3.如权利要求2所述的系统,其特征在于,对于所述至少两个帧中的每个帧,对一个以上标签的一个以上分数执行平滑操作,所述至少一个处理器用于:
确定相对于当前帧的平滑窗口;
确定平滑窗口中与当前帧相关联的至少一个帧;
确定所述至少一个帧的一个以上标签的分数;
基于所述至少一个帧的一个以上标签的分数,确定当前帧的一个以上标签中的每个标签的平均分数;以及
将当前帧的一个以上标签中的每一个标签的平均分数指定为当前帧的一个以上标签中的每一个标签的分数。
4.如权利要求1所述的系统,其特征在于,所述一个以上标签涉及用于唤醒所述设备的唤醒短语,并且所述唤醒短语包括至少一个单词。
5.如权利要求1所述的系统,其特征在于,基于所述一个以上语音特征确定关于所述一个以上标签的一个以上得分,所述至少一个处理器用于:
确定神经网络模型;
将与所述至少两个帧对应的一个以上语音特征输入到神经网络模型中;以及
针对一个以上语音特征中的每一个语音特征生成关于一个以上标签的一个以上分数。
6.如权利要求1所述的系统,其特征在于,为了在预设间隔中对所述至少两个帧进行采集,所述至少一个处理器用于:
确定搜索窗口的预定宽度,搜索窗口的预定宽度与唤醒短语中的单词数量有关;以及
确定搜索窗口中的帧数,所述帧数按照所述序列对应于第一数量的标签。
7.如权利要求6所述的系统,其特征在于,为了基于所获得的与所述采集帧相关联的标签的分数来生成唤醒设备的指令,所述至少一个处理器用于:
基于与采集帧对应的一个以上标签的分数确定最终分数;
确定所述最终得分是否大于阈值;以及
响应于所述最终得分大于所述阈值,
生成唤醒所述设备的指令。
8.如权利要求7所述的系统,其特征在于,所述最终得分是与所述采集的帧相关联的标签的得分的乘积的开方。
9.如权利要求7所述的系统,其特征在于,所述至少一个处理器还用于:
响应于所述最终得分不大于所述阈值,
将搜索窗口向前移动一步。
10.如权利要求1所述的系统,其特征在于为了确定所述至少两个帧中的每个帧的一个以上语音特征,所述至少一个处理器用于:
将所述语音信号从时域变换到频域;以及
对变换后的语音信号进行离散化以获得与所述至少两个帧相对应的一个以上语音特征。
11.一种用于在具有一个以上处理器和一个以上存储设备的计算设备上实现的语音识别的方法,其特征在于,所述方法包括:
接收包括至少两个语音数据帧的语音信号;
确定至少两个帧中的每个帧的语音特征,该语音特征与一个以上标签相关;
基于所述语音特征确定关于一个以上标签的一个以上得分;
在预设间隔中对至少两个帧进行采集,所采集的帧按照所述一个以上标签的序列对应于所述一个以上标签中的至少一部分;
获得与每个采集帧相关联的标签的分数;以及
基于所获得的与采集帧相关联的标签的分数,生成唤醒设备的指令。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
对于所述至少两个帧中的每个帧,对所述一个以上标签的所述一个以上得分执行平滑操作。
13.根据权利要求12所述的方法,其特征在于,针对所述至少两个帧中的每个帧对一个以上标签的一个以上得分执行平滑操作包括:
确定相对于当前帧的平滑窗口;
确定平滑窗口中与当前帧相关联的至少一个帧;
确定所述至少一个帧的一个以上标签的分数;
基于所述至少一个帧的一个以上标签的分数,确定当前帧的一个以上标签中的每个标签的平均分数;以及
将当前帧的一个以上标签中的每一个标签的平均分数指定为当前帧的一个以上标签中的每一个标签的分数。
14.如权利要求11所述的方法,其特征在于,所述一个以上标签涉及用于唤醒所述设备的唤醒短语,并且所述唤醒短语包括至少一个单词。
15.根据权利要求11所述的方法,其特征在于,基于所述一个以上语音特征确定关于所述一个以上标签的一个以上得分包括:
确定神经网络模型;
将与所述至少两个帧对应的一个以上语音特征输入到神经网络模型中;以及
针对一个以上语音特征中的每一个语音特征生成关于一个以上标签的一个以上分数。
16.如权利要求11所述的方法,其特征在于,在预设间隔中对所述至少两个帧进行采集包括:
确定搜索窗口的预定宽度,搜索窗口的预定宽度与唤醒短语中的单词数量有关;以及
确定搜索窗口中的帧数,所述帧数按照所述序列对应于第一数量的标签。
17.根据权利要求16所述的方法,其特征在于,基于所获得的与所述采集帧相关联的标签的分数,生成唤醒设备的指令包括:
基于与采集帧对应的一个以上标签的分数确定最终分数;
确定所述最终得分是否大于阈值;以及
响应于所述最终得分大于所述阈值,
生成唤醒所述设备的指令。
18.如权利要求17所述的方法,其特征在于还包括:
响应于所述最终得分不大于所述阈值,
将搜索窗口向前移动一步。
19.如权利要求11所述的方法,其特征在于确定所述至少两个帧中的每个帧的一个以上语音特征包括:
将所述语音信号从时域变换到频域;以及
对变换的语音信号进行离散化以获得与所述至少两个帧相对应的一个以上语音特征。
20.一种非暂时性计算机可读储存介质,包括用于提供语音识别的至少一组指令,其特征在于当由计算设备的一个以上处理器执行时,所述至少一组指令使得所述计算设备执行方法,该方法包括:
接收包括至少两个语音数据帧的语音信号;
确定至少两个帧中的每个帧的语音特征,该语音特征与一个以上标签相关;
基于所述语音特征确定关于一个以上标签的一个以上得分;
在预设间隔中对至少两个帧进行采集,所采集的帧按照所述一个以上标签的序列对应于所述一个以上标签中的至少一部分;
获得与每个采集帧相关联的标签的分数;以及
基于所获得的与采集帧相关联的标签的分数,生成唤醒设备的指令。
CN201880044243.1A 2018-05-25 2018-05-25 一种语音识别系统和方法 Active CN111066082B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/088422 WO2019222996A1 (en) 2018-05-25 2018-05-25 Systems and methods for voice recognition

Publications (2)

Publication Number Publication Date
CN111066082A CN111066082A (zh) 2020-04-24
CN111066082B true CN111066082B (zh) 2020-08-28

Family

ID=68615895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880044243.1A Active CN111066082B (zh) 2018-05-25 2018-05-25 一种语音识别系统和方法

Country Status (3)

Country Link
US (1) US20210082431A1 (zh)
CN (1) CN111066082B (zh)
WO (1) WO2019222996A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391528A (zh) * 2018-08-31 2019-02-26 百度在线网络技术(北京)有限公司 语音智能设备的唤醒方法、装置、设备及存储介质
EP3709194A1 (en) 2019-03-15 2020-09-16 Spotify AB Ensemble-based data comparison
US11094319B2 (en) 2019-08-30 2021-08-17 Spotify Ab Systems and methods for generating a cleaned version of ambient sound
US11328722B2 (en) 2020-02-11 2022-05-10 Spotify Ab Systems and methods for generating a singular voice audio stream
US11308959B2 (en) 2020-02-11 2022-04-19 Spotify Ab Dynamic adjustment of wake word acceptance tolerance thresholds in voice-controlled devices
CN111312286A (zh) * 2020-02-12 2020-06-19 深圳壹账通智能科技有限公司 年龄识别方法、装置、设备及计算机可读存储介质
CN111292725B (zh) * 2020-02-28 2022-11-25 北京声智科技有限公司 一种语音解码方法及装置
CN111583911B (zh) * 2020-04-30 2023-04-14 深圳市优必选科技股份有限公司 基于标签平滑的语音识别方法、装置、终端及介质
WO2021217619A1 (zh) * 2020-04-30 2021-11-04 深圳市优必选科技股份有限公司 基于标签平滑的语音识别方法、终端及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104464723A (zh) * 2014-12-16 2015-03-25 科大讯飞股份有限公司 一种语音交互方法及系统
CN107358951A (zh) * 2017-06-29 2017-11-17 阿里巴巴集团控股有限公司 一种语音唤醒方法、装置以及电子设备
CN107610695A (zh) * 2017-08-08 2018-01-19 问众智能信息科技(北京)有限公司 驾驶人语音唤醒指令词权重的动态调整方法
CN107945793A (zh) * 2017-12-25 2018-04-20 广州势必可赢网络科技有限公司 一种语音激活检测方法及装置
CN108010515A (zh) * 2017-11-21 2018-05-08 清华大学 一种语音端点检测和唤醒方法及装置
CN108039175A (zh) * 2018-01-29 2018-05-15 北京百度网讯科技有限公司 语音识别方法、装置及服务器
US10163437B1 (en) * 2016-06-02 2018-12-25 Amazon Technologies, Inc. Training models using voice tags

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020116196A1 (en) * 1998-11-12 2002-08-22 Tran Bao Q. Speech recognizer
US20140122078A1 (en) * 2012-11-01 2014-05-01 3iLogic-Designs Private Limited Low Power Mechanism for Keyword Based Hands-Free Wake Up in Always ON-Domain
US9965247B2 (en) * 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US20180012595A1 (en) * 2016-07-07 2018-01-11 Intelligently Interactive, Inc. Simple affirmative response operating system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104464723A (zh) * 2014-12-16 2015-03-25 科大讯飞股份有限公司 一种语音交互方法及系统
US10163437B1 (en) * 2016-06-02 2018-12-25 Amazon Technologies, Inc. Training models using voice tags
CN107358951A (zh) * 2017-06-29 2017-11-17 阿里巴巴集团控股有限公司 一种语音唤醒方法、装置以及电子设备
CN107610695A (zh) * 2017-08-08 2018-01-19 问众智能信息科技(北京)有限公司 驾驶人语音唤醒指令词权重的动态调整方法
CN108010515A (zh) * 2017-11-21 2018-05-08 清华大学 一种语音端点检测和唤醒方法及装置
CN107945793A (zh) * 2017-12-25 2018-04-20 广州势必可赢网络科技有限公司 一种语音激活检测方法及装置
CN108039175A (zh) * 2018-01-29 2018-05-15 北京百度网讯科技有限公司 语音识别方法、装置及服务器

Also Published As

Publication number Publication date
US20210082431A1 (en) 2021-03-18
CN111066082A (zh) 2020-04-24
WO2019222996A1 (en) 2019-11-28

Similar Documents

Publication Publication Date Title
CN111066082B (zh) 一种语音识别系统和方法
CN110838289B (zh) 基于人工智能的唤醒词检测方法、装置、设备及介质
US11164573B2 (en) Method and apparatus for controlling page
US10971135B2 (en) System and method for crowd-sourced data labeling
CN108170749B (zh) 基于人工智能的对话方法、装置及计算机可读介质
US11189262B2 (en) Method and apparatus for generating model
CN111402891B (zh) 语音识别方法、装置、设备和存储介质
US11282498B2 (en) Speech synthesis method and speech synthesis apparatus
WO2019227290A1 (en) Systems and methods for speech recognition
US20200152183A1 (en) Systems and methods for processing a conversation message
CN109545193B (zh) 用于生成模型的方法和装置
CN111710337B (zh) 语音数据的处理方法、装置、计算机可读介质及电子设备
CN109697978B (zh) 用于生成模型的方法和装置
CN113450771B (zh) 唤醒方法、模型训练方法和装置
CN115050354B (zh) 数字人驱动方法和装置
US20230066021A1 (en) Object detection
CN113160819A (zh) 用于输出动画的方法、装置、设备、介质和产品
CN111142681A (zh) 一种确定汉字拼音的方法、系统、装置及存储介质
CN115226408A (zh) 用于会话式ai应用的说话者自适应语音结束检测
CN114758649B (zh) 一种语音识别方法、装置、设备和介质
CN115631251A (zh) 基于文本生成图像的方法、装置、电子设备和介质
CN114882151A (zh) 虚拟形象视频的生成方法及装置、设备、介质和产品
WO2024089554A1 (en) System and method for keyword false alarm reduction
CN114141246A (zh) 用于识别语音的方法、用于训练模型的方法及装置
CN114627860A (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