CN109523991B - 语音识别的方法及装置、设备 - Google Patents

语音识别的方法及装置、设备 Download PDF

Info

Publication number
CN109523991B
CN109523991B CN201710831319.2A CN201710831319A CN109523991B CN 109523991 B CN109523991 B CN 109523991B CN 201710831319 A CN201710831319 A CN 201710831319A CN 109523991 B CN109523991 B CN 109523991B
Authority
CN
China
Prior art keywords
language model
word
weight
hot word
hot
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
CN201710831319.2A
Other languages
English (en)
Other versions
CN109523991A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710831319.2A priority Critical patent/CN109523991B/zh
Publication of CN109523991A publication Critical patent/CN109523991A/zh
Application granted granted Critical
Publication of CN109523991B publication Critical patent/CN109523991B/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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0635Training updating or merging of old and new templates; Mean values; Weighting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)

Abstract

一种请语音识别的方法及装置、设备,包括:接收来自用户的语音;获取热词语言模型,所述热词语言模型为根据用户提供的热词训练得到的语言模型;利用所述热词语言模型以及预置的主语言模型对所述语音进行解码。本申请至少能够有效提高热词的识别准确率。

Description

语音识别的方法及装置、设备
技术领域
本发明涉及语音技术领域,尤其涉及一种语音识别的方法及装置、设备。
背景技术
语言模型训练的好坏对语音识别性能有着重要的影响,训练语料越大,语音识别的效果越好,但再大的训练语料,也难包含所有的语言现象。尽管某些领域可以通过对领域内语料训练语言模型,提升该领域内的语音识别准确率,但是针对某些特定词,尤其是热词的出现和热词出现的时段性(某些词在某些事件内被人们提及较多,比如一首新歌的歌名),仍大大影响语音识别准确率。
发明内容
本申请旨在至少解决相关技术中的技术问题之一。
本申请提供一种语音识别的方法及装置、设备,至少能够有效提高热词的识别准确率。
本申请采用如下技术方案:
一种语音识别的方法,包括:
接收来自用户的语音;
获取热词语言模型,所述热词语言模型为根据用户提供的热词训练得到的语言模型;
利用所述热词语言模型以及预置的主语言模型对所述语音进行解码。
其中,所述获取热词语言模型,包括:根据用户提供的热词和权重信息得到热词词表,并根据所述热词词表编译热词语言模型。
其中,所述获取热词语言模型,包括:根据用户提供的热词和权重信息得到热词词表;在所述热词词表没有更改时,查找之前编译过的对应所述热词词表的热词语言模型。
其中,所述获取热词语言模型之前,还包括:向用户提供权重档位信息,所述权重档位信息与预先设定的权重得分相对应;所述获取热词语言模型,包括:接收所述用户提供的热词以及选择的权重档位信息。
其中,所述根据所述热词词表编译热词语言模型,包括:根据所述热词词表中各热词及其权重信息进行分词,得到分词词表;利用所述分词词表构建带权重的前缀树;利用所述带权重的前缀树构建加权有限状态接收器WFSA,并得到基于所述WFSA的热词语言模型。
其中,所述利用所述带权重的前缀树构建WFSA之前,还包括:调整所述前缀树上各弧的权重,使得所述前缀树上路径的权重得分与该路径所对应的热词权重得分一致。
其中,所述利用所述带权重的前缀树构建WFSA之前,还包括:采用最长后缀匹配在所述前缀树上添加跳转弧,并调整所述跳转弧上的权重使得根节点到相应跳转节点的路径的权重得分相同。
其中,所述利用所述热词语言模型以及预置的主语言模型对所述语音进行解码,包括:利用主语言模型查分,同时利用热词语言模型进行查分,将所述查分的结果叠加得到每个词的得分,并根据每个词的得分得到识别结果。
其中,所述主语言模型为N-gram语言模型。
一种语音识别装置,包括:
接收模块,用于接收来自用户的语音;
获取模块,用于获取热词语言模型,所述热词语言模型为根据用户提供的热词训练得到的语言模型;
解码模块,用于利用所述热词语言模型以及预置的主语言模型对所述语音进行解码。
一种语音识别设备,包括:
存储有语音识别程序存储器;
处理器,配置为读取所述语音识别程序以执行下述操作:
接收来自用户的语音;
获取热词语言模型,所述热词语言模型为根据用户提供的热词训练得到的语言模型;
利用所述热词语言模型以及预置的主语言模型对所述语音进行解码。
本申请包括以下优点:
本申请通过用户提供的词表编译热词语言模型,再将热词语言模型与已有的主语言模型结合进行解码,大幅提升了热词的识别准确率,同时不影响整体词序列的识别率,解决了热词识别率低和识别效果差的问题,能够即时快速应对各应用场景下随时出现的热词;此外,还省掉了主语言模型的训练过程,成本低且语音识别的处理效率更高。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有优点。
附图说明
图1为实施例一中语音识别方法的流程示意图;
图2为实施例一中前缀树的示例图;
图3为实施例一中WFSA的示例图;
图4为实施例二语音识别装置的示例性结构示意图;
图5为实例1的应用环境示例图;
图6为实例1中语音识别系统的结构及语音识别过程示意图;
图7为实例1中的前缀树示例图;
图8为实例1中权重调整后的前缀树示例图;
图9为实例1中的WFSA示例图。
具体实施方式
下面将结合附图及实施例对本申请的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一个典型的配置中,客户端或服务器的计算设备可包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存(memory)。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……,模块N(N为大于2的整数)。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM),快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
目前,无论对于通用领域,还是特定领域的语音识别,语言模型作为重要的一部分,其训练都很难包含全部的语言现象,而且语言模型的训练因为耗时、语料收集等各种各样的原因又总是滞后于新词汇、新语言现象,尤其是最新出现或特定含义的词语的识别效果比较差。
针对上述技术问题,本申请提出如下的技术方案。需要指出的是,本申请中的语音识别方法可通过语音识别设备来实现,该语音识别设备可以是客户端,也可以是服务端设备。实际应用中,该语音识别设备可以是任何能够实现如下方法所述功能的计算设备,该计算设备可以为计算机(比如,膝上型计算机、便携式计算机、移动通信设备等),还可以为物理服务器、虚拟服务器、物理服务器或虚拟服务器形成的分布式系统等。
下面以服务端设备为例对本申请的技术方案进行详细说明。
实施例一
一种语音识别的方法,如图1所示,可包括:
步骤101,接收来自用户的语音;
步骤102,获取热词语言模型,所述热词语言模型为根据用户提供的热词训练得到的语言模型;
步骤103,利用所述热词语言模型以及预置的主语言模型对所述语音进行解码。
本实施例的方法,通过分词、词表编译热词语言模型,再将热词语言模型与已有的主语言模型结合进行解码,在解码过程中对特定的热词通过热词语言模型与主语言模型的得分叠加,大幅提升了热词的识别准确率,同时不影响整体词序列的识别率,解决了热词识别率低和识别效果差的问题,能够即时快速应对各应用场景下随时出现的热词;此外,还省掉了主语言模型的训练过程,成本低且语音识别的处理效率更高。本实施例中,热词可以是用户设定的任何类型的词汇。比如,热词可以是新词(比如最新网络词汇“蓝瘦香菇”)、在某个场景中常用的词(比如,某次法庭庭审中涉及的人名)、集外词(比如,某次法庭庭审中涉及的用语)、某些领域内的特殊词汇等。此外,该热词还可以是其他形式,对此,本文不作限制。
本实施例中,热词语言模型可以是实时编译而成,也可以是预先生成的。也就是说,获取热词语言模型的方式可以有多种。一种实现方式中,所述获取热词语言模型,可以包括:根据用户提供的热词和权重信息得到热词词表,并根据所述热词词表编译热词语言模型。另一种实现方式中,所述获取热词语言模型,可以包括:根据用户提供的热词和权重信息得到热词词表;在所述热词词表没有更改时,查找之前编译过的对应所述热词词表的热词语言模型。
本实施例中,热词词表可由用户设定。热词词表具有个性化的特点,由用户自定义。热词词表中热词的权重表示该热词的识别加强程度或识别减弱程度。对于热词词表中各热词的权重,有时用户无法确定具体的权重得分。对此,本实施例中,语音识别设备可以向用户设备提供多个权重选项,用户可通过选择权重选项中来设置权重得分。本实施例的一种实现方式中,所述获取热词语言模型之前,还可以包括:向用户提供权重档位信息,所述权重档位信息与预先设定的权重得分相对应;所述获取热词语言模型,可以包括:接收所述用户提供的热词以及选择的权重档位信息。实际应用中,语音识别设备可以向用户设备提供权重选项,用户设备向用户展示这些权重选项,然后,用户可以通过在用户设备中输入热词并选择权重选项来向语音识别设备提供热词及其权重信息。
其中,所述权重档位信息是预先设置的一组档位数值,每个档位数值默认对应有一个确定的权重得分。这样,用户可以根据需要选择相应档位来设置权重得分,一方面可保证用户通过设置权重来加强或减弱某些热词的识别率,另一方面,还可保证热词的权重不会影响整体词序列的识别结果。比如,权重档位信息可以设置为:3、2、1、-1、-2,这五个档位分别对应五个权重得分:70、60、30、-10、-20。如果需要提高某个词的识别率可以将该词的档位设置为最高(比如,3),如果需要减少某些词(比如,不雅词汇)的识别率可以将这些词的档位设置为最低(比如,-2)。
另一种实现方式中,所述获取热词语言模型之前,还可以包括:向所述用户设备提供权重得分信息,所述权重得分信息包含一组权重得分;接收所述用户设备提供的热词词表,所述热词词表中包含用户设定的热词以及用户所选择的权重得分。
比如,权重得分信息的一组权重得分可以为:70、60、30、-10、-20,这样,用户可以根据需要从这组权重得分中为某个热词选择一个权重得分即可。如果需要提高某个词的识别率可以将该词的权重得分设置为最大,如果需要减少某些词(比如,不雅词汇)的识别率可以将这些词的权重得分设置为负值。
比如,以法庭的庭审转录为例,在语音实时转录过程中,对于当庭要出现的一些的人名、地名、或专业名词,因为训练语料问题,主语言模型无法覆盖这些词或覆盖的不够,可以采用增加权重的方式将这些词设置在热词词表,比如给某些人名设置为级别2,即相当于将这些人名的权重设置为60,这样,在解码时,这些人名的召回率就可以得到很好的提升,从而提升热词的识别率。类似的,对于当庭要出现的一些的不雅词汇,可以采用减少权重的方式将这些词设置在热词词表,比如给某个不雅词设置为级别-2,即相当于将这些不雅词的权重设置为-20,这样,在解码时,这些不雅词的召回率就可以得到有效降低,从而降低这些词的识别率,减少这些不雅词在转录文本中的出现次数。
本实施例中,可以在获取到热词词表之后,先判断该热词词表是否发生更改,如有更改则编译新的热词语言模型,如果热词词表没有更改,则可以查询并使用之前已编译的该热词词表的热词语言模型。一种实现方式中,在编译得到热词语言模型之后,可以将该热词语言模型缓存。这样,在语音过程中,可以判断用户提供的热词词表是否更改,在热词词表没有更改时可以从缓存中查找对应该热词词表的热词语言模型来进行解码。如果热词词表更改,则使用该热词词表重新编译新的热词语言模型并更新到缓存中,以备后续语音识别时使用。这里,可以通过判断热词词表对应的信息摘要算法5(Message-DigestAlgorithm5,MD5)码是否改变来确定热词词表是否更改。如果MD5码改变,则说明热词词表有更改,如果MD5码没有改变,则说明热词词表没有更改。其中,热词词表的更改可以是热词的增加或减少,也可以是某些热词的权重更改。
本实施例中,根据热词词表编译热词语言模型的方式可有多种。一种实现方式中,根据所述热词词表编译热词语言模型,可以包括:根据所述热词词表中各热词及其权重信息进行分词,得到分词词表;利用所述分词词表构建带权重的前缀树;利用所述带权重的前缀树构建加权有限状态接收器(Weighted Finite State Acceptor,WFSA),并得到基于所述WFSA的热词语言模型。
本实施例中,根据所述热词词表中各热词及其权重信息进行分词时所采用的发音词典为解码使用的发音词典。
本实施例中,前缀树是指前缀信息共享的一种树结构。WFSA是带有权重信息和label的有向图结构。
一种实现方式中,所述利用所述带权重的前缀树构建WFSA之前,还可以包括:调整所述前缀树上各弧的权重,使得所述前缀树的路径的权重与该路径所对应的热词权重一致。
一种实现方式中,所述利用所述带权重的前缀树构建WFSA之前,还可以包括:采用最长后缀匹配在所述前缀树上添加跳转弧,并调整所述跳转弧上的权重使得根节点到相应跳转节点的路径的权重得分相同,即使得根节点经过跳转弧到跳转节点的路径的权重得分与根节点到跳转节点的其他路径的权重得分相一致。
一种实现方式中,采用最长后缀匹配在所述前缀树上添加跳转弧可以包括:如果当前节点是终止节点(即路径尾部的节点),可以添加该终止节点回到根节点的跳转弧,此时跳转弧上的权重为0。如果当前节点是非终止节点,可以添加该非终止节点到跳转节点的跳转弧,此时该跳转弧上的权重可以为跳转节点的路径权重得分与该非终止节点的路径权重得分之差,使得根节点到跳转节点的所有路径的权重得分相同,即根节点经过该非终止节点到跳转节点的路径的权重得分与根节点不经过该非终止节点到跳转节点的路径的权重得分相同。
一种实现方式中,编译热词语言模型的过程可以是:首先,根据热词词表中每个热词及其权重信息,将热词依据解码使用的发音词典进行分词,构建带权重信息的前缀树;第二步,调整前缀树中各弧的得分:权重前推,前缀树每条弧的得分取经过该弧的所有路径的最大值,使解码时该路径尽可能先保留不被裁掉;第三步,根据最长后缀匹配,在前缀树中增加跳转弧,即在前缀树的当前节点添加一个弧,该弧指向一个跳转节点,如果找不到跳转节点,则指向根节点,当前节点指向跳转节点的弧上得分=0-根节点至当前节点得分,即将之前路径添加的得分减去,保证不影响之前该路径的得分,其中,根节点至跳转节点的路径是根节点到当前节点的最长后缀匹配;第四步,将前三步生成的带权的前缀树构建WFSA;第五步,生成基于WFSA的热词语言模型。
下面以一个例子详细说明上述编译热词语言模型的过程中的前缀树、最长后缀匹配以及WFSA。
如图2所示,为带权重的前缀树示例图。如图2所示,是四个词串[abb30],[ac 35],[bc 55],[bd 45]的前缀树表示,其中a b c d为子串,中括号内每个权重为词串的权重。如图3所示,为将图2所示前缀树处理后生成的WFSA。
对于带权重的词串集合[abb 30],[ac 35],[bc 55],[bd 45],前缀共享构建前缀树,那么每条弧的权重会相应的调整,保证最后整条路径的权重得分不变,编译时线下权重得分调整是首先将权重放到距离根节点最近的位置,然后对整个前缀树的所有弧进行权重得分重构,保证整条路径的权重得分和词串在热词词表中设置的权重得分相同,比如图2中,abb的路径权重得分=35+(-5)+0=30,该路径权重得分与在词表中abb的权重得分一致。
以图2所示的前缀树为例详细说明最长后缀匹配过程。假设,解码时历史词串是ab,那么解码所处的当前位置在图2中的节点2,即节点2为当前节点,如果此时要搜索词c,而图2的前缀树中节点2没有这个后缀,那么可以根据最大后缀匹配的原则,以最大后缀历史词为历史,直到搜索下一个要跳转的节点5(即跳转节点为节点5),如图3所示,在图2的前缀树之上添加节点2到节点5的跳转弧,即从节点2跳转到节点5,同时将前缀树中各弧上的权重进行修正,以保障添加跳转弧后跳转节点所在各路径的权重得分相同。如图3所示,本例子中,节点2到节点5的跳转弧上权重为25,使得根节点到跳转节点5的所有路径的权重得分相同,即根节点0经过跳转弧到跳转节点5的路径(0→1→2→5)上的权重得分、与根节点0未经过跳转弧到跳转节点5的路径(0→5)上权重得分相同。如果所有的后缀都搜索不到词c,那么会跳转到根节点即节点0。
比如,最长后缀匹配的过程中搜索跳转节点的过程可以是:假设前缀树中有abcde,bcdf,cd这三个字符串,如果没有跳转弧的话,解码时状态位于abcde这条路径上的词d,而后续要查找的词是f,显然就不能再继续沿着当前的路径继续,这样,就需要在词d所在节点到词f所在节点之间添加跳转弧,以确保解码时状态位于abcde这条路径上的词d而后续要查找的词是f,时能再继续沿着当前的路径继续查分。在词d所在节点到词f所在节点之间添加跳转弧时,首先查找是否存在从根节点出发的bcd这条路径,如果存在那么在bcd这条路径对应的词d处于的这个节点,继续搜索词f所在节点,如果仍然找不到,则继续搜索是否存在cd这个后缀的路径,在cd这条路径对应的词d处于的这个节点上继续搜索词f所在节点,直至找到跳转节点,如果找不到,可以把跳转的节点指向根节点。本例子中,在bcd这条路径对应的词d处于的这个节点能够搜索到词f所在节点,那么在abcde这条路径上词d所在节点与bcdf这条路径上的词f所在节点之间添加跳转弧,此时bcdf这条路径上的词f所在节点即为跳转节点。如果找不到,可以在abcde这条路径上词d所在节点与根节点之间添加跳转弧,这样,解码时状态位于abcde这条路径上的词d而后续要查找的词是f时,会继续沿着当前的路径继续跳转到根节点,再沿着根节点到词f所在节点的路径继续找到词f。
本实施例中,解码是指根据待识别的语音信号得到与其最匹配的词序列的过程。解码的过程是针对待识别的语音信号在搜索空间进行搜索和匹配得到最佳匹配的词序列的过程。此外,解码也可以称为识别。
本实施例中,所述利用所述热词语言模型以及预置的主语言模型对所述语音进行解码,可以包括:利用主语言模型查分,同时利用热词语言模型进行查分,将所述查分的结果叠加得到每个词的得分,并根据每个词的得分得到识别结果。也就是说,在解码的过程中,利用主语言模型查分的同时,也会去查找对应的热词语言模型得分,然后用热词语言模型的得分来调整主语言模型的得分。如此,可在提高热词识别率的同时不影响整体词序列的识别效果。
一种实现方式中,对语音进行解码的具体过程可以包括:首先,提取语音的特征,进行声学模型打分;其次,利用解码空间对每帧语音使用Token Passing算法解码,在每个声学状态帧,进行声学模型打分,在每个出词点,进行主语言模型查分的同时,根据编译好的热词语言模型中进行查分,如果如果某个词或词序列在热词语言模型中能够查到相应的路径,那么将该路径的得分叠加到大语言模型中的查分结果中,如果某个词或词序列在热词语言模型中没有能够查到相应的路径,则表示热词语言模型的得分为0,不影响该词或词序列在大语言模型的得分;最后,根据各词或词序列的得分得到最优的识别结果。如此,通过热词语言模型调整特定词的得分,可以更加强化或弱化包含该特定词的解码路径,从而影响识别过程,提升用户指定的特定词的识别率。
本实施例中,解码空间是将各种知识源(可能包括声学模型、语言模型、发音词典等)进行集合,形成的一个搜索空间,根据语言模型是否被集成在搜索空间中,解码空间有动态解码空间和静态解码空间。
本实施例中,所述主语言模型可以采用多种类型的语言模型。比如,主语言模型可以为N-gram语言模型。
本实施例中,通过语音识别解码过程中对特定词汇的得分调整,提升含有特定词汇的路径得分,改善特定词的识别效果,同时在合适的权重范围内不会影响整体识别率。
本实施例的上述方法,还可以包括:将语音识别的识别结果反馈给用户设备,然后用户设备将识别结果展示给用户,以便用户可根据识别结果的情况实时更新热词词表,再去优化识别较差的某些热词,这样形成回环,能够根据用户需求随时更新热词词表,从而即时更新热词语言模型来优化相应的识别结果,快速应对出现的热词。
本实施例的上述方法中,热词的实时定制(包括添加、删除、修改)由用户随时更新,并可以根据识别效果设置对应的档位信息(加强或减弱),语音识别设备可以根据用户提供的热词词表在线实时更新基于WFSA的热词语言模型,然后将该热词语言模型运用到语音识别当中修正语言模型的查分结果,从而修正语音识别结果并返回,这样形成闭环,即时快速应对随时出现的热词。
本实施例的方法是一种快速轻量级的方式,省掉了主语言模型训练的过程,节约了时间成本,更快速高效。
本实施例的方法可通过语音识别设备来实现。该语音识别设备可以为任何能够实现上述功能的计算设备。实际应用中,该计算设备可以为物理服务器、虚拟服务器、物理服务器或虚拟服务器形成的分布式系统等。
实际应用中,本实施例的用户设备可以为任何支持上述功能的设备。比如,该用户设备可以为计算机(比如,膝上型计算机、便携式计算机等)、服务器(比如,虚拟服务器、物理服务器)等设备。
实施例二
本实施例提供一种语音识别装置,如图4所示,可以包括:
接收模块41,用于接收来自用户的语音;
获取模块42,用于获取热词语言模型,所述热词语言模型为根据用户提供的热词训练得到的语言模型;
解码模块43,用于利用所述热词语言模型以及预置的主语言模型对所述语音进行解码。
本实施例中,所述获取模块42获取热词语言模型的方式可以多种。一种实现方式中,获取模块42可用于根据用户提供的热词和权重信息得到热词词表,并根据所述热词词表编译热词语言模型。另一种实现方式中,获取模块42可用于根据用户提供的热词和权重信息得到热词词表;在所述热词词表没有更改时,查找之前编译过的对应所述热词词表的热词语言模型。这里,获取模块42,还可用于向用户提供权重档位信息,接收所述用户提供的热词以及选择的权重档位信息,其中,所述权重档位信息与预先设定的权重得分相对应。
本实施例中,获取模块42具体可用于通过如下方式编译热词语言模型:根据所述热词词表中各热词及其权重信息进行分词,得到分词词表;利用所述分词词表构建带权重的前缀树;利用所述带权重的前缀树构建WFSA,并得到基于所述WFSA的热词语言模型。
本实施例中,解码模块43具体可用于:利用主语言模型查分,同时利用热词语言模型进行查分,将所述查分的结果叠加得到每个词的得分,并根据每个词的得分得到识别结果。
本实施例的上述语音识别装置可通过语音识别设备实现或设置于语音识别设备中。实际应用中,接收模块41负责与用户设备进行交互,可以是软件、硬件或两者的结合;获取模块42负责热词语言模型的查找或在线编译,可以是软件、硬件或两者的结合;解码模块43负责语音的解码,可以是软件、硬件或两者的结合。
本实施例的其他细节可参照实施例一。
实施例三
一种语音识别设备,包括:
存储有语音识别程序存储器;
处理器,配置为读取所述语音识别程序以执行下述操作:
接收来自用户的语音;
获取热词语言模型,所述热词语言模型为根据用户提供的热词训练得到的语言模型;
利用所述热词语言模型以及预置的主语言模型对所述语音进行解码。
本实施例中的语音识别设备可以为任何能够实现上述功能的计算设备。实际应用中,该计算设备可以为物理服务器、虚拟服务器、物理服务器或虚拟服务器形成的分布式系统等。
本实施例的其他细节可参照实施例一。
实施例四
一种计算机可读存储介质,所述计算机可读存储介质上存储有语音识别程序,所述语音识别程序被处理器执行时实现如实施例一所述语音识别的方法的步骤。
本实施例的其他细节可参照实施例一。
下面对上述各实施例的示例性实现方式进行详细说明。需要说明的是,下文各实例可相互结合。并且,下文实例中各流程、执行过程等也可以根据实际应用的需要进行调整。此外,在实际应用中,上述各实施例还可以有其他的实现方式。
实例1
本实例以法庭的庭审转录为例进行详细说明。
如图5所示为法庭庭审转录的应用环境示意图。其中,云端服务器或集群可提供语音识别服务,庭审时用户设备可通过使用该语音识别服务来对庭审现场采集的语音实时进行识别,从而实现庭审现场语音的实时自动记录,而无需书记员手动记录。实际应用中,该云端服务器可以是虚拟服务器、也可以是物理服务器,相应的集群可以包括多台虚拟服务器或多台物理服务器。当然,也可采用其他实现形式。需要说明的是,该提供语音识别服务的云端服务器或集群为上文所述语音识别设备的示例性实现形式。
使用所述语音识别服务的过程中,用户设备可通过云端服务器提供的API将语音和词表提交给语音识别系统,语音识别系统根据该语音和词表进行语音识别并将识别结果返回给用户设备,用户设备再将语音识别的结果实时展示出来,供书记员查看核实。需要说明的是,该语音识别系统通过云端服务器实现。
如图6所示,为本实例语音识别系统的示例性结构。其中,本实例语音识别系统可以包括:语音入口和语音识别引擎,语音入口负责与用户设备交互,语音识别引擎负责完成识别处理得到识别结果。具体的,语音入口可以向用户设备提供API接口,以便用户设备通过调用这些API接口与语音入口交互。用户设备向语音入口提供待识别的语音,语音入口将该待识别的语音提交到语音识别引擎,语音识别引擎对该语音进行识别以得到识别结果并通过语音入口将该识别结果提供给用户设备,用户设备接收该识别结果并向用户展示。其中,用户设备可以是对接本申请语音识别系统提供的API接口的第三方用户的电子设备。语音入口可以是进行音频接收和调度的服务端入口程序,运行在云端服务器上。语音识别引擎可以是实现语音识别处理的服务端程序,运行在云端服务器上。
比如,庭审中涉及到人名:薛银强、朱秀琴,这两个词是此次庭审中出现概率很高的名词即当前场景下的热词。但在系统语言模型中,这类词出现的概率较低,甚至语言模型训练时不含这类词,因而识别率低。比如,法庭庭审时收集到如下一条语音:“我薛银强和朱秀琴都没说”。识别结果一般是:“我学影响和舒秀琴都没说”,不准确。针对此情况,可通过本申请的语音识别方案来改善这类词的识别率。
对于语音:“我薛银强和朱秀琴都没说”,本实例的具体识别过程可以是:
用户在用户设备上重新设置词表,将“薛银强”、“朱秀琴”作为热词增加到词表中,并在词表中设置该热词的权重。
比如,提供如下五个档位供用户选择:3、2、1、-1、-2,这五个档位分别对应五个权重得分:70、60、30、-10、-20。由于“薛银强”、“朱秀琴”在此次庭审中出现概率高,用户选择这两个词的档位均为“2”,相当于将这两词的权重设置为“60”。
这样,形成如下表1所示的词表:
表1
用户设备将语音和上述词表发送给语音入口,请求识别。
语音入口接收上述语音和词表,查询缓存中是否存在与所述词表相匹配的热词语言模型,如果有则直接调用该热词语言模型,将热词语言模型、词表以及语音一同送入语音识别引擎进行识别,如果没有则编译与上述词表相匹配的热词语言模型,并将编译得到的热词语言模型、词表以及语音一同送入语音识别引擎进行识别。
比如,编译的过程可以是:
第一步,使用语音解码的发音词典基于字符串匹配的方式将词表的每个热词词条进行分词;
假设,当前使用的发音词典是单字的词典,对表1所示的词表分词后的结果(即分词词表)示例如下表2所示,其中下划线表示空格:
表2
第二步,利用分词得到的结果(即分词词表)构建前缀树;
对于表2所示的分词词表,构建得到的前缀树如图7所示,前缀树中每条弧上的信息包含分词词表中的子词及其权重,每个弧上的权重取该边上子词所属的各热词权重的最大值,例如,图7中,0→4这条弧上“朱”的权重weight(“朱”)=max{weight(“朱秀琴”),weight(“朱林”)}=60。
第三步,对前缀树中的权重进行调整,使得每条路径上的权重与热词词表相一致。
其中,一条路径是指从根节点到终止节点的路径。如图7所示,双环节点为终止节点即节点3、节点6、节点7、节点9,0节点为根节点,中间节点分别是:节点1、节点4、节点8、节点2、节点5。比如,0→1→2→3为前缀树的一条路径。
这里,可以利用式(1)对每条路径进行权重计算,使得前缀树每条路径上的权重与热词词表相一致。
其中,arci,j表示从节点i到节点j的一条弧,arck,i是从节点k到节点i的一条弧,根据前缀树的特性,这样的弧只有一条,即,从arci,j向前回溯到节点k只有一条弧。
本实例中,针对图7所示的前缀树调整权重之后,得到的前缀树如图8所示。其中,对应热词“薛银强”的路径0→1→2→3的权重为60,对应热词“朱秀琴”的路径0→1→2→3的权重为60。
第四步,添加最长后缀匹配跳转弧,并调整各弧上的权重,得到加权有限状态接收器(Weighted Finite State Acceptor,WFSA),编译完成。
对于前缀树上的每一条边都存在无法找到后缀节点的情况(比如ngram中使用回退的方式),采用最长后缀匹配的方式在图8所示的前缀树上添加跳转弧并调整各弧上的权重,最终得到图9所示的WFSA,该WFSA可作为热词语言模型。其中,εepsilon是替代符号。
其中,一个字符串的后缀指的是包含最后一个字符的连续子串,比如词“薛银强”,“强”、“银强”、“薛银强”这三个子串都是“薛银强”的后缀。
本实例中,调整跳转弧上的权重使得跳转弧上的权重为跳转节点的路径的权重得分与当前节点的路径的权重得分之差,以确保最终得到的WFSA中根节点到相应跳转节点的路径的权重得分相同,而这个路径的权重得分与相应热词在热词词表中设置的权重得分是一致的。其中,当前节点的路径的权重得分是指从根节点到当前节点的路径上各弧的权重之和。比如,图9中,节点8的路径的权重得分为50,节点2的路径的权重得分为60,那么从节点2跳转到节点8后,相应跳转弧上的权重为50-60=-10。再比如,对于终止节点即路径尾部的节点,可以添加该终止节点回到根节点的跳转弧,此时跳转弧上的权重为0。从非终止节点跳转到根节点,仍按照上述方式对跳转弧上的权重进行调整。
语音识别引擎利用语音入口提供的热词语言模型、结合已有的系统语言模型(比如,ngram语言模型)进行解码,得到识别结果,并将识别结果返回给语音入口,由语音入口将识别结果提供给用户设备。需要说明的是,这里的系统语言模型为上文主语言模型的示例。
这里,语音识别引擎解码的过程中,可以按照如下公式(2)在热词语言模型和系统语言模型中查找词的得分,然后按照线性加的方法进行得分的累计,最后按照累计的得分得到与当前语音最佳匹配的词序列,公式如下:
Lmscore=α*LmScorengramlm+β*LmScorebiaslm (2)
其中,α和β分别表示系数,α和β的取值可以根据实际应用场景进行设定,或可以使用通过统计分析得到的经验值来确定α和β的取值;LmScorengram表示从系统语言模型查找到的得分,LmScorebiaslm表示从热词语言模型中查找到的得分,Lmscore表示将上述二者得分累计之后的得分。由上可知,对于非热词,LmScorebiaslm为0,如此,热词语言模型的使用将不会影响到非热词的得分,也就是热词语言模型的使用不会干扰最后的解码过程,而只是提高了热词的识别率。
本实例中,通过热词语言模型和系统语言模型的结合,可以使得语音“我薛银强和朱秀琴都没说”中“薛银强”、“朱秀琴”的得分高于“学影响”、“舒秀琴”,因此,语音识别引擎对该条语音的识别结果即为:我薛银强和朱秀琴都没说。而如果没有热词语言模型的话,上述语音的最终识别结果会是:我学影响和舒秀琴都没说。
需要说明的是,上述实例中公式(1)和公式(2)均为示例性计算方式。实际应用中,还可采用其他方式。比如,公式(2)中的权重α和β可以通过其他变量代替,也可以将其去掉。
需要说明的是,上述图5至图9仅为示例,并不用于限制本申请。在其他应用场景下,还可以通过其他方式实现。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
当然,本申请还可有其他多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请的权利要求的保护范围。

Claims (8)

1.一种语音识别的方法,包括:
接收来自用户的语音;
获取热词语言模型,所述热词语言模型为根据用户提供的热词编译得到的语言模型;所述获取热词语言模型包括:根据用户提供的热词和权重信息得到热词词表;在所述热词词表发生更改时,根据所述热词词表编译热词语言模型;在所述热词词表没有更改时,查找之前编译过的对应所述热词词表的热词语言模型;
利用主语言模型查分,同时利用热词语言模型进行查分,将所述查分的结果叠加得到每个词的得分,并根据每个词的得分得到识别结果。
2.根据权利要求1所述的方法,其特征在于,
所述获取热词语言模型之前,还包括:向用户提供权重档位信息,所述权重档位信息与预先设定的权重得分相对应;
所述获取热词语言模型,包括:接收所述用户提供的热词以及选择的权重档位信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述热词词表编译热词语言模型,包括:
根据所述热词词表中各热词及其权重信息进行分词,得到分词词表;
利用所述分词词表构建带权重的前缀树;
利用所述带权重的前缀树构建加权有限状态接收器WFSA,并得到基于所述WFSA的热词语言模型。
4.根据权利要求3所述的方法,其特征在于,所述利用所述带权重的前缀树构建WFSA之前,还包括:调整所述前缀树上各弧的权重,使得所述前缀树上路径的权重得分与该路径所对应的热词权重得分一致。
5.根据权利要求3或4所述的方法,其特征在于,所述利用所述带权重的前缀树构建WFSA之前,还包括:采用最长后缀匹配在所述前缀树上添加跳转弧,并调整所述跳转弧上的权重使得根节点到相应跳转节点的路径的权重得分相同。
6.根据权利要求1所述的方法,其特征在于,所述主语言模型为N-gram语言模型。
7.一种语音识别装置,包括:
接收模块,用于接收来自用户的语音;
获取模块,用于获取热词语言模型,所述热词语言模型为根据用户提供的热词编译得到的语言模型,所述获取热词语言模型包括:根据用户提供的热词和权重信息得到热词词表;在所述热词词表发生更改时,根据所述热词词表编译热词语言模型;在所述热词词表没有更改时,查找之前编译过的对应所述热词词表的热词语言模型;
解码模块,用于利用主语言模型查分,同时利用热词语言模型进行查分,将所述查分的结果叠加得到每个词的得分,并根据每个词的得分得到识别结果。
8.一种语音识别设备,包括:
存储有语音识别程序存储器;
处理器,配置为读取所述语音识别程序以执行下述操作:
接收来自用户的语音;
获取热词语言模型,所述热词语言模型为根据用户提供的热词编译得到的语言模型,所述获取热词语言模型包括:根据用户提供的热词和权重信息得到热词词表;在所述热词词表发生更改时,根据所述热词词表编译热词语言模型;在所述热词词表没有更改时,查找之前编译过的对应所述热词词表的热词语言模型;
利用主语言模型查分,同时利用热词语言模型进行查分,将所述查分的结果叠加得到每个词的得分,并根据每个词的得分得到识别结果。
CN201710831319.2A 2017-09-15 2017-09-15 语音识别的方法及装置、设备 Active CN109523991B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710831319.2A CN109523991B (zh) 2017-09-15 2017-09-15 语音识别的方法及装置、设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710831319.2A CN109523991B (zh) 2017-09-15 2017-09-15 语音识别的方法及装置、设备

Publications (2)

Publication Number Publication Date
CN109523991A CN109523991A (zh) 2019-03-26
CN109523991B true CN109523991B (zh) 2023-08-18

Family

ID=65767429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710831319.2A Active CN109523991B (zh) 2017-09-15 2017-09-15 语音识别的方法及装置、设备

Country Status (1)

Country Link
CN (1) CN109523991B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767712A (zh) * 2019-04-02 2020-10-13 北京地平线机器人技术研发有限公司 基于语言模型的业务数据筛选方法和装置、介质、设备
CN112017662B (zh) * 2019-05-31 2023-07-07 阿里巴巴集团控股有限公司 控制指令确定方法、装置、电子设备和存储介质
CN110349569B (zh) * 2019-07-02 2022-04-15 思必驰科技股份有限公司 定制化产品语言模型的训练和识别方法及装置
CN110415705B (zh) * 2019-08-01 2022-03-01 苏州奇梦者网络科技有限公司 一种热词识别方法、系统、装置及存储介质
CN110517692A (zh) * 2019-08-30 2019-11-29 苏州思必驰信息科技有限公司 热词语音识别方法和装置
CN111160805A (zh) * 2019-12-31 2020-05-15 清华大学 应急预案辅助信息获取方法、装置及设备
CN113178194B (zh) * 2020-01-08 2024-03-22 上海依图信息技术有限公司 一种交互式热词更新的语音识别方法与系统
CN111462751B (zh) * 2020-03-27 2023-11-03 京东科技控股股份有限公司 解码语音数据的方法、装置、计算机设备和存储介质
CN111597798B (zh) * 2020-04-23 2023-05-26 云知声智能科技股份有限公司 一种提升动态模型识别准确率的方法和系统
CN111583909B (zh) * 2020-05-18 2024-04-12 科大讯飞股份有限公司 一种语音识别方法、装置、设备及存储介质
CN111968648B (zh) * 2020-08-27 2021-12-24 北京字节跳动网络技术有限公司 语音识别方法、装置、可读介质及电子设备
CN112349278A (zh) * 2020-11-12 2021-02-09 苏州思必驰信息科技有限公司 本地热词训练和识别方法及装置
US20220293109A1 (en) * 2021-03-11 2022-09-15 Google Llc Device arbitration for local execution of automatic speech recognition
CN113436614B (zh) * 2021-07-02 2024-02-13 中国科学技术大学 语音识别方法、装置、设备、系统及存储介质
CN117690434B (zh) * 2024-02-04 2024-06-04 深圳市友杰智新科技有限公司 多命令词的语音解码识别方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968989A (zh) * 2012-12-10 2013-03-13 中国科学院自动化研究所 一种用于语音识别的Ngram模型改进方法
CN103903619A (zh) * 2012-12-28 2014-07-02 安徽科大讯飞信息科技股份有限公司 一种提高语音识别准确率的方法及系统
CN104143329A (zh) * 2013-08-19 2014-11-12 腾讯科技(深圳)有限公司 进行语音关键词检索的方法及装置
CN106328122A (zh) * 2016-08-19 2017-01-11 深圳市唯特视科技有限公司 一种利用长短期记忆模型递归神经网络的语音识别方法
CN106469554A (zh) * 2015-08-21 2017-03-01 科大讯飞股份有限公司 一种自适应的识别方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9263042B1 (en) * 2014-07-25 2016-02-16 Google Inc. Providing pre-computed hotword models

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968989A (zh) * 2012-12-10 2013-03-13 中国科学院自动化研究所 一种用于语音识别的Ngram模型改进方法
CN103903619A (zh) * 2012-12-28 2014-07-02 安徽科大讯飞信息科技股份有限公司 一种提高语音识别准确率的方法及系统
CN104143329A (zh) * 2013-08-19 2014-11-12 腾讯科技(深圳)有限公司 进行语音关键词检索的方法及装置
CN106469554A (zh) * 2015-08-21 2017-03-01 科大讯飞股份有限公司 一种自适应的识别方法及系统
CN106328122A (zh) * 2016-08-19 2017-01-11 深圳市唯特视科技有限公司 一种利用长短期记忆模型递归神经网络的语音识别方法

Also Published As

Publication number Publication date
CN109523991A (zh) 2019-03-26

Similar Documents

Publication Publication Date Title
CN109523991B (zh) 语音识别的方法及装置、设备
US10726833B2 (en) System and method for rapid customization of speech recognition models
US10410627B2 (en) Automatic language model update
US10127902B2 (en) Optimizations to decoding of WFST models for automatic speech recognition
JP6204959B2 (ja) 音声認識結果最適化装置、音声認識結果最適化方法、及びプログラム
US9275633B2 (en) Crowd-sourcing pronunciation corrections in text-to-speech engines
CN108899013B (zh) 语音搜索方法、装置和语音识别系统
CN112420026B (zh) 优化关键词检索系统
WO2017166650A1 (zh) 语音识别方法及装置
KR20080069990A (ko) 음성 세그먼트 색인 및 검색 방법과 컴퓨터 실행 가능명령어를 갖는 컴퓨터 판독 가능 매체
WO2020119432A1 (zh) 一种语音识别方法、装置、设备和存储介质
US9922650B1 (en) Intent-specific automatic speech recognition result generation
WO2017161749A1 (zh) 一种信息匹配方法及装置
JP2019212289A (ja) 情報を生成するための方法及び装置
JP2020020872A (ja) 識別器、学習済モデル、学習方法
CN111326144B (zh) 语音数据处理方法、装置、介质和计算设备
CN112151020B (zh) 语音识别方法、装置、电子设备及存储介质
CN112269864A (zh) 生成播报语音的方法、装置、设备和计算机存储介质
US9697830B2 (en) Method and system for order-free spoken term detection
CN113807106B (zh) 翻译模型的训练方法、装置、电子设备及存储介质
CN115132187A (zh) 热词增强的语音识别方法以及装置、存储介质、电子装置
JP6115487B2 (ja) 情報収集方法、対話システム及び情報収集装置
WO2020162240A1 (ja) 言語モデルスコア計算装置、言語モデル作成装置、それらの方法、プログラム、および記録媒体
CN113407815B (zh) 生成场景主题的方法和装置
US11837229B1 (en) Interaction data and processing natural language inputs

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