CN108415898A - 深度学习语言模型的词图重打分方法和系统 - Google Patents

深度学习语言模型的词图重打分方法和系统 Download PDF

Info

Publication number
CN108415898A
CN108415898A CN201810054749.2A CN201810054749A CN108415898A CN 108415898 A CN108415898 A CN 108415898A CN 201810054749 A CN201810054749 A CN 201810054749A CN 108415898 A CN108415898 A CN 108415898A
Authority
CN
China
Prior art keywords
word
node
word sequence
score
extension
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
CN201810054749.2A
Other languages
English (en)
Other versions
CN108415898B (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.)
AI Speech Ltd
Original Assignee
Shanghai Jiaotong University
AI Speech 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 Shanghai Jiaotong University, AI Speech Ltd filed Critical Shanghai Jiaotong University
Priority to CN201810054749.2A priority Critical patent/CN108415898B/zh
Publication of CN108415898A publication Critical patent/CN108415898A/zh
Application granted granted Critical
Publication of CN108415898B publication Critical patent/CN108415898B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开用于智能对话语音平台的深度学习语言模型的词图重打分方法、系统和电子设备,方法包括:在词图的每一条边或各节点上存储一个输出词;自词图的开始节点按序遍历词图的各节点和每一条边,记录自开始节点到各第i节点经过的ki条路径,并将每条路径上的所有边或所有节点上的输出词串联,以形成ki个词序列;将ki个词序列进行缩减处理,形成ji个词序列;调用深度学习语言模型计算各第i节点的ji个词序列的分数。本发明采用词图作为重打分的目标,解决搜索空间小的问题,用历史缓存解决冗余重复计算的问题,用历史聚类、令牌剪枝、集束剪枝减少词图的扩展,加快计算,减少内存消耗,采用节点并行化计算,加速词图重打分效率。

Description

深度学习语言模型的词图重打分方法和系统
技术领域
本发明属于语言模型重打分技术领域,尤其涉及用于智能对话语音平台的深度学习语言模型的词图重打分方法、系统及电子设备。
背景技术
重打分技术是指将语音识别解码分为多阶段,然后对于初遍识别解码的结果,利用性能更加优秀的语言模型,重新评估候选中间结果,最终得到新的解码结果的技术。根据中间结果的不同可以分为多候选列表重打分(N-best Rescoring)和词图重打分(LatticeRescoring)。其中,多候选列表重打分对语音识别初遍解码得到的前N项候选结果,利用性能更优的语言模型对其进行语言得分的重新估计,重排序之后得到解码结果。词图重打分对于初遍解码生成的词图进行遍历扩展,重新计算语言模型分数后,取词图中的最短路得到解码结果。
根据使用的语言模型的不同,又可以分为多元语言模型重打分 (N-GramLanguage Model Rescoring)和神经网络语言模型重打分(Deep Learning LanguageModel Rescoring)。其中,多元语言模型重打分使用常见的N-Gram语言模型重估候选结果的语言得分,神经网络语言模型重打分使用深度学习的神经网络语言模型重估候选结果的语言得分,由于神经网络语言模型对自然语言的建模能力比N-Gram强,因此,神经网络语言模型重打分较N-Gram对语音识别结果的准确率有较大的提升。
发明人在实现本发明的过程中发现:多候选列表重打分由于其结构的原因,会出现大量的冗余信息导致重复计算,并且搜索空间较小,扩展性不强。词图重打分也由于其特殊的结构,导致搜索空间巨大,词图扩展呈指数型增长,并且计算资源和内存消耗大,速度慢。N-Gram语言模型的建模能力不足,导致对于语音识别性能的提升有限。
发明内容
本发明实施例提供一种用于智能对话语音平台的深度学习语言模型的词图重打分方法、系统及电子设备,用于至少解决上述技术问题之一。
第一方面,本发明实施例提供一种用于智能对话语音平台的深度学习语言模型的词图重打分方法,包括:在词图的每一条边或各节点上存储一个输出词;自所述词图的开始节点按序遍历所述词图的各节点和每一条边,记录自所述开始节点到各第i节点经过的ki条路径,并将每条路径上的所有边或所有节点上的输出词串联,以形成ki个词序列;将所述ki个词序列进行缩减处理,形成ji个词序列;调用深度学习语言模型计算所述各第i节点的ji个词序列的分数。
第二方面,本发明实施例提供一种用于智能对话语音平台的深度学习语言模型的词图重打分系统,包括:存储模块,配置为在词图的每一条边或各节点上存储一个输出词;串联模块,配置为自所述词图的开始节点按序遍历所述词图的各节点和每一条边,记录自所述开始节点到各第i节点经过的ki条路径,并将每条路径上的所有边或所有节点上的输出词串联,以形成ki个词序列;处理模块,配置为将所述ki个词序列进行缩减处理,形成ji个词序列;计算模块,配置为调用深度学习语言模型计算所述各第 i节点的ji个词序列的分数。
第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的用于智能对话语音平台的深度学习语言模型的词图重打分方法的步骤。
第四方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行本发明任一实施例的用于智能对话语音平台的深度学习语言模型的词图重打分方法的步骤。
本发明的方法和系统通过以上技术方案可以有效减少扩展次数,从而减少神经网络语言模型的计算量。本发明采用词图作为重打分的目标,解决搜索空间小的问题,采用历史缓存的方法解决冗余重复计算的问题。进一步的,采用历史聚类、令牌剪枝、集束剪枝的方式减少词图的扩展,加快计算,减少内存消耗,采用节点并行化计算,加速词图重打分效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种用于智能对话语音平台的深度学习语言模型的词图重打分方法的流程图;
图2为本发明一实施例提供的另一种用于智能对话语音平台的深度学习语言模型的词图重打分方法的流程图;
图3为本发明一实施例提供的又一种用于智能对话语音平台的深度学习语言模型的词图重打分方法的流程图;
图4为本发明一实施例提供的再一种用于智能对话语音平台的深度学习语言模型的词图重打分方法的流程图;
图5为本发明一实施例提供的词图重打分基本算法图;
图6为本发明一实施例提供的一个基于3-gram的历史聚类示意图;
图7为本发明一实施例提供的词图重打分一种改进算法图;
图8为本发明一实施例提供的节点令牌剪枝示意图;
图9为本发明一实施例提供的节点集束剪枝示意图;
图10a、图10b、图10c分别为本发明一实施例提供的剪枝前、剪枝后、删除节点后的示意图;
图11为本发明一实施例提供的词图重打分另一种改进算法图;
图12为本发明一实施例提供的分好拓扑层数的词图示意图;
图13a和图13b为本发明一实施例提供的词图重打分又一种改进算法图;
图14为本发明一实施例提供的用于智能对话语音平台的深度学习语言模型的词图重打分系统的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面,先介绍本申请的实施方式,之后将用实验数据证实本申请的方案与现有技术相比有什么不同,能实现什么有益效果。
请参考图1,其示出了本发明的用于智能对话语音平台的深度学习语言模型的词图重打分方法一实施例的流程图,本实施例的深度学习语言模型的词图重打分方法可以适用于智能对话语音平台。
如图1所示,在步骤101中,在词图的每一条边或各节点上存储一个输出词;在步骤102中,自词图的开始节点按序遍历词图的各节点和每一条边,记录自开始节点到各第i节点经过的ki条路径,并将每条路径上的所有边或所有节点上的输出词串联,以形成ki个词序列;在步骤103中,将ki个词序列进行缩减处理,形成ji个词序列;在步骤104中调用深度学习语言模型计算各第i节点的ji个词序列的分数。
在本实施例中,对于步骤101,智能对话语音平台中的重打分系统在词图的每一条边或每一个节点上存储一个输出词以及该输出词的深度学习语言模型的分数,输出词具体存储在边上还是节点上,本申请没有限制。之后,对于步骤102,重打分系统从词图的开始节点按词图的排列顺序遍历词图的每一个节点和每一条边,如果没有开始节点可以先初始化开始节点,遍历的同时记录从开始节点到第i个节点所经过的ki条路径,以及路径上的边或节点上存储的输出词,之后将每条路径上的所有边或所有节点上的输出词串联,从而形成ki个词序列。例如,从开始节点到第5个节点有3条路径,则分别将这3条路径中每一条路径的所有边上的输出词串联,形成3个词序列;如果从开始节点到第5个节点只有1条路径,则形成一个词序列,本申请在此没有限制。之后,对于步骤103,重打分系统将ki个词序列进行缩减处理后形成ji个词序列,例如可以删除其中一部分词序列。例如,当ki为3时,处理后可能还有3个词序列,也可能经过筛选或者合并后只剩下2个或1个,当ki为1时,ji也为1。最后,对于步骤104,重打分系统调用深度学习语言模型计算第i个节点的ji个词序列的分数从而实现词图重打分。
本实施例的方法通过遍历同时记录到每一个节点的一条或多条路径,之后将每一条路径上的输出词串联形成词序列,再筛选出一部分词序列,之后对筛选出的词序列进行打分,实现词图的重打分,之后的节点重打分或者对每一条路径打分时只需在前一个节点的词序列打分的基础上再加上一个输出词的打分即可,能在一定程度上解决冗余重复计算的问题。
在一些可选的实施例中,将ki个词序列进行缩减处理,形成ji个词序列包括:通过将尾部输出词相同的多个词序列聚类为单个词序列,以将ki个词序列处理为ji个词序列。通过采用历史聚类的方式减少词图的扩展,从而可以加快计算,减少内存消耗。
进一步参考图2,其示出了本发明的用于智能对话语音平台的深度学习语言模型的词图重打分方法另一实施例的流程图。本实施例的深度学习语言模型的词图重打分方法可以适用于智能对话语音平台。
如图2所示,在步骤201中,为词图中的各第i节点设置扩展队列,扩展队列具有预定m个扩展位;在步骤202中,在计算各第i节点的ji个词序列的分数之后,比较ji和m的大小,在步骤203中,当ji大于等于m 时,在扩展队列中插入m个词序列及相应分数,其中,所插入的m个词序列的分数相比于剩余的ji-m个词序列的分数更高;在步骤204中,当ji小于m时,在扩展队列中插入ji个词序列及相应分数。
在本实施例中,对于步骤201,重打分系统可以先在每一个节点上设置一个预定m个扩展位的扩展队列,例如可以为5位,容纳5个词序列及其分数。需要说明的是,扩展队列虽然命名为“队列”,并不表示在建立扩展队列时只能使用“队列”这种数据结构,而是可以使用链表、线性表、数组、队列或者栈等任何可能的数据结构实现,本申请在此没有限制。之后,对于步骤202,在计算各第i节点的ji个词序列的分数(步骤104)之后,比较ji和m的大小。对于步骤203,当ji大于等于m时,在扩展队列中插入m个词序列及相应分数,其中,所插入的m个词序列的分数相比于剩余的ji-m个词序列的分数更高。例如,可以先对ji个词序列进行排序,选择其中较大的m个插入m个扩展位中,还可以按照词序列的顺序一个一个往扩展队列的扩展位中放,直到放满m个扩展位,然后对于第m+1 个词序列至第ji个词序列中的每一个词序列,例如,当m=5,ji=8时,对于第6个词序列,先和5个扩展位中的词序列比较分数的大小,如果比5 个扩展位中的任一个的分数都要低,则可以丢弃该第6个词序列及其分数,如果比5个扩展位中的其中一个的分数要高,则可以丢弃扩展位中分数最低的词序列及其分数空出一个扩展位,然后将该第6个词序列及其分数插入该空出的扩展位中,对于后续的第7个和第8个词序列及其分数也是如此。对于步骤204,当ji小于m时,在扩展队列中插入ji个词序列及相应分数。即当词序列的数量少于扩展位的数量时,可以将所有的词序列都插入扩展队列的m个扩展位中。本实施例的方法可以在图1的基础上进一步保证扩展队列中的节点的分数总是最优的,并且防止某些分数高的节点因为扩展队列位数不够而被丢弃,另外,也能因为位数的限制,减少词图的扩展,减少存储量和计算量。
进一步参考图3,其示出了本发明的用于智能对话语音平台的深度学习语言模型的词图重打分方法又一实施例的流程图。本实施例的步骤是在图2中的步骤204的基础上进一步改进的步骤,前序步骤和图2中的步骤 201、步骤202以及步骤203一致,图4中不再示出。本实施例的深度学习语言模型的词图重打分方法可以适用于智能对话语音平台。
如图3所示,在步骤301中,当ji小于m时,对于ji个词序列中的第 x个词序列cx,当x等于1时,直接将c1及其分数插入所述扩展队列中;在步骤302中,当x大于1且m个扩展位中已有y个扩展位被占时,将词序列cx的分数与所述扩展队列的y个扩展位中的最高分数进行差值运算,若差值大于预设差值,则丢弃cx及其分数,若差值不大于预设差值,则将 cx及其分数插入所述扩展队列中,直至ji个词序列遍历完成。
在本实施例中,对于步骤301,重打分系统为词图中的各第i节点设置扩展队列,扩展队列具有预定m个的扩展位,在计算各第i节点的ji个词序列的分数之后,对于各第i节点,从ji个词序列c1,…,cx,…,cji中按序选取一个词序列及其分数,插入扩展队列的扩展位中。当x=1时,对于第i节点的第1个词序列c1,直接将c1及其分数插入扩展队列的扩展位中,之后对于步骤302,当x>1且m个扩展位中已有y个扩展位被占时,对于词序列cx的分数,需要与已插入y个扩展位中的最高分数进行分数差值运算,当出现差值大于预设差值时,丢弃cx及其分数,当出现差值不大于预设差值时,将cx及其分数插入扩展队列中,直至ji个词序列遍历完成。例如,m=5,ji=4,预设差值为3,词序列的分数依次为5,9,5,6,则第1个词序列及其分数直接插入之后,对于第2词序列及其分数,由于差值运算的结果为-4不大于3,则可以插入扩展队列中;对于第3个词序列及其分数,由于差值运算的结果为4大于3,则丢弃该词序列及其分数。本实施例的方法可以在图3的流程的基础上在扩展队列未满时,就将分数较低的节点排除在外,从而进一步减少词图的扩展,减少存储量和计算量。
进一步参考图4,其示出了本发明的用于智能对话语音平台的深度学习语言模型的词图重打分方法再一实施例的流程图。本流程图是图3中步骤301和步骤302之间的步骤的流程图。本实施例的深度学习语言模型的词图重打分方法可以适用于智能对话语音平台。
如图4所示,步骤401中,定义从开始节点到各第i节点所经过的节点个数为第i节点的拓扑层数;步骤402中,对具有相同拓扑层数的多个节点,统一调用一次深度学习语言模型计算多个节点的词序列的分数。从而可以减少调用深度学习语言模型的次数,减少计算时间,节约系统资源。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
接下来,以一个具体的示例来论述本发明的实现过程和效果。
词图重打分(Lattice rescore),是以词图(word lattice)为二次解码的输入,使用语言模型进行重打分的方法。为了方便之后的叙述,后续描述词图时将词图的输出词放在边上。一个标准的词图是含有解码信息的有向无环图,将之定义为一个五元组:L(Ω,N,A,s,f)(1)
Ω输出词的集合;N为状态节点集合,每个节点(node)n∈N包含有当前节点在语音中的时间信息t(n);s和f分别为整个词图的起始节点和终止节点;E为边集,每条边(arc)a∈A=N×N×Ω×R×R由一个五元组 a=(S(a),E(a),w,l,p)组成,
-包含了这条边的出发节点和到达节点S(a),E(a),
-存在边上的输出词O(a)=w∈Ω,
-输出词的语言模型得分l,
-这个词在发音序列等其他声学相关的部分中获得的声学得分p,
其中,语言模型得分和声学模型得分均为概率的对数值,即l和p也为Log半环中的元素。一条解码结果就是该词图中的一条词路径πw,定义为从起始节点s到终止节点f的一条路径,
输出词序列为O(πw)为其所经过的边上输出词的串联,即:
O(πw)=O(a1)…O(an)=w1…wn
整个路径得分就是边上声学分数p和语言分数l的加和:
词图重打分(lattice rescore)的实质就是利用语言模型将词图中所有的边上的语言模型分数重新计算,存储为新的词图。然而,词图是一种图的表示形式,必然会出现某一个节点是多个节点的后继,称之为汇聚节点。而语言模型计算当前词wi的概率P(wi|hi)时,需要知道当前词的上下文即历史信息hi,而对于之前提到的汇聚节点,由于有存在多条路径于它和开始节点之间,使得当前词存在多个历史的情况。显然这时就不能简单的在原始的词图中单纯计算语言模型概率而不改变其拓扑结构,需要将这种汇聚节点扩展成多个节点,构造成前缀树的形式。前缀树(prefix tree)可以看做是N-best列表的一种集成表达形式,它将N-best列表中相同的前缀历史集聚在一起,形成了一颗“枝叶繁茂”的树的形式。
因此,在词图重打分中,我们可以采用图的遍历算法,采用拓扑排序的方式遍历词图的每一条边,并且在遍历的同时,记录下其从开始节点到当前节点路径上的词序列,作为当前词的历史信息,从而利用语言模型计算其边上的词的概率;而在遍历到汇聚节点的时候,构造出该节点的拷贝节点,将其扩展成一系列节点,并将其连接的边全部复制过来。具体算法可以参见图5。
虽然词图重打分的算法有效的解决了N-best列表搜索空间不足的问题。但是通过上述算法,不难看出词图重打分的计算复杂度比较高,尤其是在1-pass解码((1-passdecode,一遍解码)产生的词图集成度好的情况下,由于上文中提到的汇聚节点的存在,使得词图在图5的算法中扩展的次数较多;更加严重的是,每扩展出一个新节点,该节点之后的所有结构将会完全复制一份,这直接导致语言模型在重打分的时候,其计算量呈指数级上升,因此使得词图重打分难以实现。
本发明之后的内容,将主要以长短时记忆(LSTM,Long Short-Term Memory)语言模型作为神经网络语言模型的代表进行研究,其他的语言模型可以此类推。
神经网络的归一化常数
一般的神经网络语言模型最后一层的输出是softmax层,用来归一化输出,保证输出的概率之和唯一,具体公式如下:
其中,softmax的分母部分计算量极其巨大。因此,在本发明中,在训练神经网络时,使softmax的分母趋近于常数,从而使得在神经网络前向计算时,能过减少计算量,具体公式如下:
Z是神经网络语言模型训练完成后得到的归一化常数。
历史聚类
历史聚类(History Cluster)的基本思想就是对于两个不同的历史向量,用一定的方法测量到两者的相似度,当两者的相似度达到一定程度时,可以将两者看作是同一历史。本发明后续实验中主要采用LSTM语言模型中的类n-gram的历史聚类。
类n-gram的历史聚类是一种比较直观的历史聚类方式。它是出于对语言本身内在规律的思考,同时也借鉴了马尔科夫假设,即全部上下文的历史信息随着距离的增加,最远的词其对当前词的影响会逐步减少。因此,我们可以考虑历史聚类时,以最近的N-1个单词来作为聚类的标准,假设N-gram表达当前词w的历史状态记作HNG(w),而LSTM的历史状态表示为HLSTM(w),则对于当前词w来说两个不同的LSTM历史:
式2中~表示两者相似度高,可以聚类,看做是同一个历史。一个基于3-gram的历史聚类可以参看图6,图中黑色节点的为相同的N-gram历史,因此,虽然节点5是汇聚节点,但是可以仍然可以被看作是只拥有一个历史,而不需要被扩展。
历史聚类由于能在汇聚节点处,将相似的历史通过聚类结合起来,使在扩展汇聚节点时,有效减少扩展次数,从而可以减少神经网络语言模型的计算量。综上,在图5的算法的最内侧循环中加入历史聚类的判断,减少汇聚节点的扩展,实现新的词图重打分算法如图7所示。
令牌剪枝和集束剪枝
令牌剪枝(token pruning)是基于一种简单的思想:对于需要进行重打分的词图,扩展其汇聚节点时,限制其扩展的最大个数,使得整个重打分过程不至于呈现出无限制的指数增长。因此,我们在每个节点上设置一个固定大小的token队列(扩展队列),每当需要新建该节点的扩展节点时,查看token队列的大小,如果队列中仍有空余的位置,那么就直接新建扩展节点;反之,则可以通过比较当前正在重打分的路径与token队列中的其他路径的概率(或者声学语言综合得分),将最低概率(最低得分)的路径排除出队列,从而维护了一个拥有着到达该节点为止最有可能的/token/个路径的优先级队列。保证了在重打分过程中,节点的扩展始终限制在token 队列之中,有效的减少的词图重打分的计算量。
图8示出了一个简单的节点令牌剪枝(node token pruning)的例子,在这个例子中,我们设置token队列的大小为3,可以看到,节点5为一个汇聚节点,在节点1、2、3均遍历过之后,节点5上的token队列已经被占满。在遍历节点4的时候,需要向token队列中插入新的节点token;此时,应该比较新的token与队列中token的分数大小,即图中表示的S*,如果要插入的节点分数Sd均小于队列中所有的其他路径,则直接丢弃,不插入队列。反之则将排在队列最后的Sc丢弃,并将Sd插入到合适的位置。
同理,令牌剪枝的思想也可以应用到扩展边之上。我们可以提出汇聚边的概念:如果某一条边,它的出发节点为汇聚节点,则可以称这条边为汇聚边。我们同样可以在这种汇聚边上维护一个得分优先级的token队列,从而限制整个词图的扩展次数,减少计算量。
集束剪枝(beam pruning)是基于令牌剪枝的另外一种剪枝方式。令牌剪枝只有在节点队列满的情况下,才会有剪枝行为发生;然而,很多时候,在同一时刻的多条候选词序列在分数上已经有了很大的差距,基本可以确定一些路径已经不是最佳答案,因此,可以在token队列中设置一种集束阈值(beam),使得在队列中插入token时,比较当前新的token与队列中的最优token的分数,如果分数差距超过了预先设置的阈值(beam),则直接丢弃当前token,不再继续遍历。这种拥有阈值的剪枝,可以在整个重打分过程中,将所有可能的路径始终集聚在合适的分数范围内,从而减少词图的扩展,减少计算量。一个节点集束剪枝的例子见图9。同样的,集束剪枝也可以应用在边上。
在增加了令牌剪枝和集束剪枝之后,词图重打分时的扩展受到了有效的限制,调整剪枝中的一些参数,可以实现重打分精度和速度的调节。剪枝的操作,使得原来词图的扩展有可能在中途因为剪枝的缘故就停止,因此,扩展之后的词图存在这许多从开始节点出发,但并没有成功到达终止节点的路径,如图10a(剪枝前)、10b(剪枝后)和10c(删除节点后) 所示,因此,在词图重打分之后,还需要进行这种悬空节点的删除,从而形成完整的词图。综上,增加了节点上的令牌剪枝和集束剪枝的算法可修改为图11中所示的算法。
词图重打分并行化
之前所有的算法,都是采用拓扑排序的方式对词图进行遍历,逐个节点展开计算,每次计算语言得分时,都需要调用语言模型,计算历史,获取概率,这样的操作过于频繁;而且对于神经网络语言模型,在每个节点都缓存了历史向量的情况下,多次调用LSTM语言模型分别计算每个节点的语言得分,其效率会低于一次调用LSTM语言模型计算多个节点的语言得分。再者,神经网络语言模型内部的计算一般为向量或者矩阵的运行,如果采用一些矩阵运算的优化算法时,多个节点同步计算可以共同拼成大矩阵一次运算,起到优化加速的作用;而且还便于GPU(Graphics Processing Unit,图形处理器)的加速。因此,词图重打分算法可以考虑到多节点的并行化计算。
由于每个节点都会缓存之前的历史向量,因此,在计算某一节点的语言得分与历史向量时,仅会依赖于它的某一个父节点。我们定义一个节点的拓扑层数为从开始节点到该节点的最长路径所经过的节点数。自然的,开始节点s的层数layer(ns)=0,而终止节点没有层数定义。一个分好层数的词图示例如图12。
分层之后,我们可以就同一层的节点统一调用一次语言模型进行计算,由此达到节点并行化计算的效果。但是,由于每一层的节点数不固定,因此会使得每次并行窗口不是固定长度,不利于实现。因此我们参考图的广度优先遍历的思想,采用一个队列存储所有的要计算的扩展节点,每次从队列中取出固定个数的待计算的节点,一同计算语言模型概率。改善过后的算法如图13a和图13b所示。
下面通过实验和对实验结果的分析得出本发明的有益效果。为了验证神经网络语言模型的性能,以及其在语音识别中的作用,在Switchboard 语音识别任务中,搭建了ASR(Automatic Speech Recognition,自动语音识别)系统,并加入语言模型重打分模块,并与没有重打分的识别结果进行对比;同时,也比较了一系列加速优化的重打分算法对于性能的影响。
本发明中的实验主要是针对Switchboard数据集搭建的一个电话语音识别系统。主要应用到的数据集有:1、switchboard;2、fisher英语电话对话数据集(训练集);3、eval2000英语电话对话数据集(测试集);4、eval_rt03s 英语电话对话数据集(测试集)。实验中主要是利用switchboard的语音数据训练声学模型,利用switchboard以及fisher的语音文本训练语言模型。然后在测试集eval2000和eval_rt03s都进行了语音识别的测试。
实验主要是探究神经网络在ASR中的应用,因此,评测标准有两个,一个是评价一个语言模型自身好坏的标准—困惑度(Perplexity,PPL),一个是评价一个语音识别任务好坏的标准—词错误率(Word Error Rate,WER)。
1-pass解码设计:声学模型主要使用了Switchboard的300小时的语音数据作为训练集进行训练。采用的声学模型结构为含有三层隐层的双向长短时记忆模型(Bidirectional long short-term memory,BLSTM),训练时的目标函数为交叉熵(crossentropy)。
1-pass解码时采用的语言模型是3-gram语言模型,训练语料是只有 Switchboard语音数据对应的语音文本。
2-pass rescore语言模型:语言模型重打分中所采用的语言模型一般是较1-pass的语言模型更为复杂,性能更加优越。本实验中采用了扩大了训练语料的4-gram以及LSTM语言模型。
重打分中的4-gram的训练语料是Switchboard以及Fisher的语音文本,训练时先分别在两个数据集上各自训练出一个4-gram,之后在将两个 4-gram插值融合,形成最终的4-gram语言模型。
最后训练的LSTM语言模型,训练的语料同样也是Switchboard以及 Fisher的语音文本,训练时将两者的数据混合打乱一起训练。试验中,为了训练以及之后计算的加速,选择了带有词向量结构,基于分类的语言模型结构。对于这种结构的语言模型,预测下一个词的概率计算公式:
其中,函数c(wi)表示词wi属于哪个类别。
主要的实验分为三个部分,其一是不同语言模型之间的性能比较,通过困惑度(PPL)来反映;其二是重打分性能测试,比较有无重打分,N-best 与lattice重打分之间性能的差异,通过词错误率(WER)来反映;其三是比较重打分算法的各类优化加速的影响,通过LSTM调用次数与词错误率 (WER)共同反映。
语言模型PPL实验:在搭建整个ASR系统中使用了传统的统计语言模型N-gram和神经网络语言模型LSTM LM,性能对比如表格1所示。
表1语言模型PPL对比
语言模型 eval2000 eval_rt03s
3-gram 107.18 96.18
4-gram 76.28 62.45
LSTM 58.73 44.99
表格中,分别语言模型对两个不同的测试集eval2000与eval_rt03s的 PPL,可以看出增加了训练语料的4-gram,比1-pass中使用的3-gram在PPL上要有30%左右的相对提升,而LSTM语言模型又比4-gram有25%的相对提升,因此,可以看出来神经网络对语言建模会有显著的提升。
二次解码重打分实验:对于重打分的实验,我们进行了LSTM语言模型与N-gram声学模型的词图重打分实验对比,我们在LSTM语言模型重打分时与N-gram进行插值,插值系数在本文中全部实验中都固定为0.5。即语言模型概率P(wi)=0.5*P4gram(wi)+0.5*PLSTM(wi)。在实验中,控制了加速优化的参数,历史聚类ngram=5,令牌剪枝参数ntoken=5,集束剪枝阈值beam=500,不采用节点并行加速。得到的对比实验结果如表2所示。
表2语言模型词图重打分性能对比
除此之外,我们还设计了N-best列表重打分和词图重打分的对比实验,使用LSTM语言模型作为重打分的语言模型,且将词图重打分的加速优化参数设置为与上组实验一致,设置N-best列表的大小分别为10、 100、500,得到的实验结果如表3。
表3语言模型N-best列表重打分性能对比
表3中,可以看出来,随着N-best列表的增大,语音识别的性能会有所提升。然而仍然还是以词图重打分的性能最好,但是和较大的N-best 列表的效果相差逐渐缩小。这说明了一个词图与较大的N-best列表所含的信息量相当,但是词图中的冗余会少很多,计算量会比N-best列表少。
而在表2中,我们比较了LSTM语言模型较N-gram语言模型的重打分性能。从表中我们可以看出,LSTM语言模型的重打分性能较4-gram好了相对10%,而较没有重打分的识别结果有相对18%的提升。由此可见,重打分能有效提升语音识别的精度,同时,LSTM语言模型较传统的 N-gram语言模型在语音识别中表现更加出色。
重打分优化加速实验:针对于各种不同的重打分加速方法,以LSTM 语言模型词图重打分为基线对照,通过控制变量法,设计了不同的对比实验,具体实验如下:
历史聚类:实验中,出于对计算量的考虑,选择了类N-gram的历史聚类方法。试验中,设置令牌(token)数ntoken=5,集束阈值beam=500,分别将历史聚类的有限历史设置为3、5、7,同时,如果将有限历史设置为0,则表示不采用历史聚类,不采用节点的并行,实验结果如表4。
表4词图重打分历史聚类性能对比
在这里,我们引入一个自己定义
的评测标准—平均LSTM计算量(Average LSTM-count)。对于LSTM LM 词图重打分算法,主要的计算量在LSTM LM的计算上,在这里,我们统计在一次词图重打分计算中,一共调用了多少次LSTM LM的计算,最后在整个数据集上做平均,以此来描述词图重打分优化算法的性能,显而易见,当这个平均计算量越小,则表示词图重打分的速度越快。
通过在两个数据集上的测试对比,我们可以发现,随着聚类历史的 N-gram逐渐变大,词图重打分的速度逐渐降低,性能逐渐提升。这是符合预期的,因为在聚类历史的N-gram较小时,相同的历史更多,相对聚类就越频繁,导致词图的扩展就越少,因此,重打分的速度就越快,然而,扩展较小也导致了词图的多样性降低,包含的词序列假设就越少,从而导致性能降低。
令牌剪枝与集束剪枝:实验中,我们同时采用了节点与边上的令牌剪枝和集束剪枝。并设置边和节点的剪枝参数一致,同时,固定历史聚类 N-gram为5,不采用节点并行,调整剪枝参数,做了如下对比实验。
令牌剪枝(token pruning):固定集束阈值beam=500,调整令牌数 ntoken为3、5、10,而将令牌数调整至无穷大(试验中近似的取10000)时,可认为是没有采用令牌剪枝。实验结果如表5所示。
表5词图重打分令牌剪枝性能对比
集束剪枝(beaming pruning):固
定令牌数ntoken=5,调整集束阈值beam为50、100、500,而将阈值调整至无穷大1(试验中近似的取50000)时,可认为是没有采用集束剪枝。实验结果如表6所示。
表6词图重打分集束剪枝性能对比
这两组的实验结果是相似的,在不
采剪枝操作的情况下,计算量都是最大的,同时性能也是最好的。也和理论也都保持一致,采用更多的token数,更大的集束阈值beam,相当于增加了lattice的扩展上限,使得lattice在重打分的时候可以扩展的更大,当然计算量就上去了,相应的lattice包含的候选词序列也就越多,性能也就会越强。
节点并行计算
节点的并行计算上,我们在保证了之前的参数固定的情况下,其中设置聚类历史为5-gram,令牌token=5,集束阈值beam=500,调整并行的节点数为1、5、10,实验的结果如表7所示。
表7词图重打分并行化性能对比
实验中由于采用了矩阵运算加速库,因此大矩阵的运算会得到优化加速,因此,多节点的并行会使得整个重打分的过程得到加速。从表7中可以看出,节点并行的计算基本上不会对重打分的性能有所影响,但是却可以成倍的减少LSTM计算的调用量,因此,可以肯定并行化的加速效果。
综上,本发明重点研究了神经网络语言模型在语音识别二次解码重打分中的应用。词图重打分虽然能保证语音识别的精度,但由于其丰富的词序列假设,导致在重打分过程中扩展的次数过多,使得语言模型的计算量呈指数级别的增长,极大地影响了语音识别的速度。因此,本文在单纯的词图重打分算法中增加了优化加速的诸种方法:
-历史聚类。通过比较N-gram历史或者历史向量间的距离,将相近的历史合并,从而减少节点的扩展。
-令牌剪枝。通过限制同一个节点的扩展次数,或者同一条边的扩展次数,来限制整个词图的扩展,从而减少计算量。
-集束剪枝。通过限制到达同一节点的路径的分数范围,来减少词图的扩展。
-节点并行计算。通过多个节点同时计算语言模型概率增加并行度,来减少语言模型运算的调用次数,来加速重打分。
之后,我们在Switchboard语音识别任务中进行了实验,一来验证神经网络语言模型对语音识别任务的性能提升;二来探究提出的词图重打分优化方法对于性能的影响。通过对比实验,我们发现LSTM语言模型插值 4-gram的词图重打分在WER上较没有进行重打分的结果要好相对18%,比单纯的4-gram语言模型重打分要好相对10%。这充分说明了神经网络语言模型比传统的N-gram语言模型更适用于ASR系统。我们还比较了语言模型N-best重打分与词图重打分的性能差异,结果显示,词图重打分与较大的N-best列表重打分性能相当,说明了词图中包含了较为丰富的词序列假设。最后,我们还进行了词图重打分优化加速对比实验,通过控制变量,我们分别对比了历史聚类、令牌剪枝、技术剪枝以及节点并行计算对重打分性能和计算量的影响,结果都显示通过调整参数,能够在保证一定识别性能的情况下,减少计算量,从而加速重打分,减少语音识别时间。
请参考图14,其示出了本发明一实施例提供的用于智能对话语音平台的深度学习语言模型的词图重打分系统的框图。
如图14所示,深度学习语言模型的词图重打分系统1400包括存储模块1410、串联模块1420、处理模块1430和计算模块1440。其中,存储模块1410,配置为在词图的每一条边或各节点上存储一个输出词;串联模块 1420,配置为自所述词图的开始节点按序遍历所述词图的各节点和每一条边,记录自所述开始节点到各第i节点经过的ki条路径,并将每条路径上的所有边或所有节点上的输出词串联,以形成ki个词序列;处理模块1430,配置为将所述ki个词序列进行缩减处理,形成ji个词序列;以及计算模块 1440,配置为调用深度学习语言模型计算所述各第i节点的ji个词序列的分数。
在一些可选的实施例中,处理模块1430进一步配置为:通过将尾部输出词相同的多个词序列聚类为单个词序列,以将所述ki个词序列处理为 ji个词序列。
在一些可选的实施例中,深度学习语言模型的词图重打分系统1400 还包括:设置模块(图中未示出),配置为为所述词图中的各第i节点设置扩展队列,所述扩展队列具有预定m个扩展位;比较模块(图中未示出),配置为在计算所述各第i节点的ji个词序列的分数之后,比较ji和m的大小,-当ji大于等于m时,在所述扩展队列中插入m个词序列及相应分数,其中,所插入的m个词序列的分数相比于剩余的ji-m个词序列的分数更高;-当ji小于m时,在所述扩展队列中插入ji个词序列及相应分数。
在另一些可选的实施例中,深度学习语言模型的词图重打分系统1400 还包括:设置模块(图中未示出),配置为为所述词图中的各第i节点设置扩展队列,所述扩展队列具有预定m个扩展位;比较模块(图中未示出),配置为在计算所述各第i节点的ji个词序列的分数之后,比较ji和m的大小,-当ji大于等于m时,在所述扩展队列中插入m个词序列及相应分数,其中,所插入的m个词序列的分数相比于剩余的ji-m个词序列的分数更高;-当ji小于m时,对于ji个词序列中的第x个词序列cx,执行以下步骤直至ji个词序列遍历完成,--当x等于1时,直接将c1及其分数插入所述扩展队列中;--当x大于1且m个扩展位中已有y个扩展位被占时,将 cx的分数与所述扩展队列的y个扩展位中的最高分数进行差值运算,若差值大于预设差值,则丢弃cx及其分数,若差值不大于预设差值,则将cx及其分数插入所述扩展队列中。
在另一些可选的实施例中,计算模块1440进一步配置为:定义从开始节点到各第i节点所经过的节点个数为所述第i节点的拓扑层数,对具有相同拓扑层数的多个节点,统一调用一次深度学习语言模型计算所述多个节点的词序列的分数。
应当理解,图14中记载的诸模块与参考图1、图2、图3和图4中描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征以及相应的技术效果同样适用于图14中的诸模块,在此不再赘述。
值得注意的是,本公开的实施例中的模块并不用于限制本公开的方案,例如存储模块可以描述为在所述词图的每一条边上存储一个输出词的模块。另外,还可以通过硬件处理器来实现相关功能模块,例如存储模块也可以用处理器实现,在此不再赘述。
在另一些实施例中,本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用于智能语音对话平台的深度学习语言模型的词图重打分方法;
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
在词图的每一条边或各节点上存储一个输出词;
自所述词图的开始节点按序遍历所述词图的各节点和每一条边,记录自所述开始节点到各第i节点经过的ki条路径,并将每条路径上的所有边或所有节点上的输出词串联,以形成ki个词序列;
将所述ki个词序列进行缩减处理,形成ji个词序列;
调用深度学习语言模型计算所述各第i节点的ji个词序列的分数。
作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的用于智能语音对话平台的深度学习语言模型的词图重打分方法对应的程序指令/模块。一个或者多个程序指令存储在非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的用于智能语音对话平台的深度学习语言模型的词图重打分方法。
非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于智能语音对话平台的深度学习语言模型的词图重打分装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至用于智能语音对话平台的深度学习语言模型的词图重打分装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行上述任一项用于智能语音对话平台的深度学习语言模型的词图重打分方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种用于智能语音对话平台的深度学习语言模型的词图重打分方法,包括:
在词图的每一条边或各节点上存储一个输出词;
自所述词图的开始节点按序遍历所述词图的各节点和每一条边,记录自所述开始节点到各第i节点经过的ki条路径,并将每条路径上的所有边或所有节点上的输出词串联,以形成ki个词序列;
将所述ki个词序列进行缩减处理,形成ji个词序列;
调用深度学习语言模型计算所述各第i节点的ji个词序列的分数。
2.根据权利要求1所述的方法,其中,将所述ki个词序列进行缩减处理,形成ji个词序列包括:
通过将尾部输出词相同的多个词序列聚类为单个词序列,以将所述ki个词序列处理为ji个词序列。
3.根据权利要求1或2所述的方法,其中,还包括:
为所述词图中的各第i节点设置扩展队列,所述扩展队列具有预定m个扩展位;
在计算所述各第i节点的ji个词序列的分数之后,比较ji和m的大小,
-当ji大于等于m时,在所述扩展队列中插入m个词序列及相应分数,其中,所插入的m个词序列的分数相比于剩余的ji-m个词序列的分数更高;
-当ji小于m时,在所述扩展队列中插入ji个词序列及相应分数。
4.根据权利要求1或2所述的方法,其中,还包括:
为所述词图中的各第i节点设置扩展队列,所述扩展队列具有预定m个扩展位;
在计算所述各第i节点的ji个词序列的分数之后,比较ji和m的大小,
-当ji大于等于m时,在所述扩展队列中插入m个词序列及相应分数,其中,所插入的m个词序列的分数相比于剩余的ji-m个词序列的分数更高;
-当ji小于m时,对于ji个词序列中的第x个词序列cx,执行以下步骤直至ji个词序列遍历完成,
--当x等于1时,将c1及其分数插入所述扩展队列中;
--当x大于1且m个扩展位中已有y个扩展位被占时,将cx的分数与所述扩展队列的y个扩展位中的最高分数进行差值运算,若差值大于预设差值,则丢弃cx及其分数,若差值不大于预设差值,则将cx及其分数插入所述扩展队列中。
5.根据权利要求1-4中任一项所述的方法,其中,所述调用深度学习语言模型计算所述第i节点的历史信息的分数包括:
定义从开始节点到各第i节点所经过的节点个数为所述第i节点的拓扑层数;
对具有相同拓扑层数的多个节点,统一调用一次深度学习语言模型计算所述多个节点的词序列的分数。
6.一种用于智能语音对话平台的深度学习语言模型的词图重打分系统,包括:
存储模块,配置为在词图的每一条边或各节点上存储一个输出词;
串联模块,配置为自所述词图的开始节点按序遍历所述词图的各节点和每一条边,记录自所述开始节点到各第i节点经过的ki条路径,并将每条路径上的所有边或所有节点上的输出词串联,以形成ki个词序列;
处理模块,配置为将所述ki个词序列进行缩减处理,形成ji个词序列;
计算模块,配置为调用深度学习语言模型计算所述各第i节点的ji个词序列的分数。
7.根据权利要求1所述的系统,其中,所述处理模块进一步配置为:
通过将尾部输出词相同的多个词序列聚类为单个词序列,以将所述ki个词序列处理为ji个词序列。
8.根据权利要求1或2所述的系统,还包括:
设置模块,配置为为所述词图中的各第i节点设置扩展队列,所述扩展队列具有预定m个扩展位;
比较模块,配置为在计算所述各第i节点的ji个词序列的分数之后,比较ji和m的大小,
-当ji大于等于m时,在所述扩展队列中插入m个词序列及相应分数,其中,所插入的m个词序列的分数相比于剩余的ji-m个词序列的分数更高;
-当ji小于m时,在所述扩展队列中插入ji个词序列及相应分数。
9.一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至5任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
CN201810054749.2A 2018-01-19 2018-01-19 深度学习语言模型的词图重打分方法和系统 Active CN108415898B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810054749.2A CN108415898B (zh) 2018-01-19 2018-01-19 深度学习语言模型的词图重打分方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810054749.2A CN108415898B (zh) 2018-01-19 2018-01-19 深度学习语言模型的词图重打分方法和系统

Publications (2)

Publication Number Publication Date
CN108415898A true CN108415898A (zh) 2018-08-17
CN108415898B CN108415898B (zh) 2021-09-24

Family

ID=63125790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810054749.2A Active CN108415898B (zh) 2018-01-19 2018-01-19 深度学习语言模型的词图重打分方法和系统

Country Status (1)

Country Link
CN (1) CN108415898B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710087A (zh) * 2018-12-28 2019-05-03 北京金山安全软件有限公司 输入法模型生成方法及装置
CN110516050A (zh) * 2019-07-15 2019-11-29 上海文思海辉金信软件有限公司 一种基于知识图谱的多路径训练场景的构建方法
CN110797026A (zh) * 2019-09-17 2020-02-14 腾讯科技(深圳)有限公司 一种语音识别方法、装置及存储介质
CN111145733A (zh) * 2020-01-03 2020-05-12 深圳追一科技有限公司 语音识别方法、装置、计算机设备和计算机可读存储介质
CN111274801A (zh) * 2020-02-25 2020-06-12 苏州跃盟信息科技有限公司 分词方法及装置
CN111667833A (zh) * 2019-03-07 2020-09-15 国际商业机器公司 基于对话的语音识别
CN111916058A (zh) * 2020-06-24 2020-11-10 西安交通大学 一种基于增量词图重打分的语音识别方法及系统
CN111998869A (zh) * 2020-09-29 2020-11-27 北京嘀嘀无限科技发展有限公司 路线生成方法、装置、电子设备和计算机可读存储介质
CN112071310A (zh) * 2019-06-11 2020-12-11 北京地平线机器人技术研发有限公司 语音识别方法和装置、电子设备和存储介质
CN112102815A (zh) * 2020-11-13 2020-12-18 深圳追一科技有限公司 语音识别方法、装置、计算机设备和存储介质
CN112885336A (zh) * 2021-01-29 2021-06-01 深圳前海微众银行股份有限公司 语音识别系统的训练、识别方法、装置、电子设备
WO2021136029A1 (zh) * 2019-12-31 2021-07-08 百果园技术(新加坡)有限公司 重打分模型训练方法及装置、语音识别方法及装置
CN113487024A (zh) * 2021-06-29 2021-10-08 任立椋 交替序列生成模型训练方法、从文本中抽取图的方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1499484A (zh) * 2002-11-06 2004-05-26 北京天朗语音科技有限公司 汉语连续语音识别系统
US7219058B1 (en) * 2000-10-13 2007-05-15 At&T Corp. System and method for processing speech recognition results
US20070239432A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Common word graph based multimodal input
US20080312921A1 (en) * 2003-11-28 2008-12-18 Axelrod Scott E Speech recognition utilizing multitude of speech features
CN101647021A (zh) * 2007-04-13 2010-02-10 麻省理工学院 语音数据检索装置、语音数据检索方法、语音数据检索程序和包含有语音数据检索程序的计算机可用介质
CN101645270A (zh) * 2008-12-12 2010-02-10 中国科学院声学研究所 一种双向语音识别处理系统及方法
CN101740024A (zh) * 2008-11-19 2010-06-16 中国科学院自动化研究所 基于广义流利的口语流利度自动评估方法
US20120290302A1 (en) * 2011-05-10 2012-11-15 Yang Jyh-Her Chinese speech recognition system and method
CN105513589A (zh) * 2015-12-18 2016-04-20 百度在线网络技术(北京)有限公司 语音识别方法和装置
CN105681920A (zh) * 2015-12-30 2016-06-15 深圳市鹰硕音频科技有限公司 一种具有语音识别功能的网络教学方法及系统
CN106803422A (zh) * 2015-11-26 2017-06-06 中国科学院声学研究所 一种基于长短时记忆网络的语言模型重估方法
CN106856092A (zh) * 2015-12-09 2017-06-16 中国科学院声学研究所 基于前向神经网络语言模型的汉语语音关键词检索方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219058B1 (en) * 2000-10-13 2007-05-15 At&T Corp. System and method for processing speech recognition results
CN1499484A (zh) * 2002-11-06 2004-05-26 北京天朗语音科技有限公司 汉语连续语音识别系统
US20080312921A1 (en) * 2003-11-28 2008-12-18 Axelrod Scott E Speech recognition utilizing multitude of speech features
US20070239432A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Common word graph based multimodal input
CN101647021A (zh) * 2007-04-13 2010-02-10 麻省理工学院 语音数据检索装置、语音数据检索方法、语音数据检索程序和包含有语音数据检索程序的计算机可用介质
CN101740024A (zh) * 2008-11-19 2010-06-16 中国科学院自动化研究所 基于广义流利的口语流利度自动评估方法
CN101645270A (zh) * 2008-12-12 2010-02-10 中国科学院声学研究所 一种双向语音识别处理系统及方法
US20120290302A1 (en) * 2011-05-10 2012-11-15 Yang Jyh-Her Chinese speech recognition system and method
CN106803422A (zh) * 2015-11-26 2017-06-06 中国科学院声学研究所 一种基于长短时记忆网络的语言模型重估方法
CN106856092A (zh) * 2015-12-09 2017-06-16 中国科学院声学研究所 基于前向神经网络语言模型的汉语语音关键词检索方法
CN105513589A (zh) * 2015-12-18 2016-04-20 百度在线网络技术(北京)有限公司 语音识别方法和装置
CN105681920A (zh) * 2015-12-30 2016-06-15 深圳市鹰硕音频科技有限公司 一种具有语音识别功能的网络教学方法及系统

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
A UNIFIFIED CONFIFIDENCE MEASURE FRAMEWORK USING AUXILIARY NORMA: "zhehuai chen等", 《CONFERENCE: INTERNATIONAL CONFERENCE ON INTELLIGENT SCIENCE AND BIG DATA ENGINEERING》 *
SHANKAR KUMAR等: "LATTICE RESCORING STRATEGIES FOR LONG SHORT TERM MEMORY LANGUAGE MODELS IN SPEECH RECOGNITION", 《HTTPS://ARXIV.ORG/ABS/1711.05448V1》 *
尹明明: "连续语音识别解码技术的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
左玲云等: "电话交谈语音识别中基于LSTM-DNN 语言模型的重评估方法研究", 《重庆邮电大学学报》 *
张剑: "连续语音识别中的循环神经网络语言模型技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
郭宇弘等: "基于加权有限状态机的动态匹配词图生成算法", 《电子与信息学报》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710087A (zh) * 2018-12-28 2019-05-03 北京金山安全软件有限公司 输入法模型生成方法及装置
CN111667833A (zh) * 2019-03-07 2020-09-15 国际商业机器公司 基于对话的语音识别
CN111667833B (zh) * 2019-03-07 2023-09-22 国际商业机器公司 基于对话的语音识别
CN112071310B (zh) * 2019-06-11 2024-05-07 北京地平线机器人技术研发有限公司 语音识别方法和装置、电子设备和存储介质
CN112071310A (zh) * 2019-06-11 2020-12-11 北京地平线机器人技术研发有限公司 语音识别方法和装置、电子设备和存储介质
CN110516050A (zh) * 2019-07-15 2019-11-29 上海文思海辉金信软件有限公司 一种基于知识图谱的多路径训练场景的构建方法
CN110797026A (zh) * 2019-09-17 2020-02-14 腾讯科技(深圳)有限公司 一种语音识别方法、装置及存储介质
WO2021136029A1 (zh) * 2019-12-31 2021-07-08 百果园技术(新加坡)有限公司 重打分模型训练方法及装置、语音识别方法及装置
CN111145733A (zh) * 2020-01-03 2020-05-12 深圳追一科技有限公司 语音识别方法、装置、计算机设备和计算机可读存储介质
CN111145733B (zh) * 2020-01-03 2023-02-28 深圳追一科技有限公司 语音识别方法、装置、计算机设备和计算机可读存储介质
CN111274801A (zh) * 2020-02-25 2020-06-12 苏州跃盟信息科技有限公司 分词方法及装置
CN111916058A (zh) * 2020-06-24 2020-11-10 西安交通大学 一种基于增量词图重打分的语音识别方法及系统
CN111998869A (zh) * 2020-09-29 2020-11-27 北京嘀嘀无限科技发展有限公司 路线生成方法、装置、电子设备和计算机可读存储介质
CN112102815B (zh) * 2020-11-13 2021-07-13 深圳追一科技有限公司 语音识别方法、装置、计算机设备和存储介质
CN112102815A (zh) * 2020-11-13 2020-12-18 深圳追一科技有限公司 语音识别方法、装置、计算机设备和存储介质
CN112885336A (zh) * 2021-01-29 2021-06-01 深圳前海微众银行股份有限公司 语音识别系统的训练、识别方法、装置、电子设备
CN112885336B (zh) * 2021-01-29 2024-02-02 深圳前海微众银行股份有限公司 语音识别系统的训练、识别方法、装置、电子设备
CN113487024A (zh) * 2021-06-29 2021-10-08 任立椋 交替序列生成模型训练方法、从文本中抽取图的方法

Also Published As

Publication number Publication date
CN108415898B (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
CN108415898A (zh) 深度学习语言模型的词图重打分方法和系统
US10032463B1 (en) Speech processing with learned representation of user interaction history
CN106683661B (zh) 基于语音的角色分离方法及装置
US20050159952A1 (en) Pattern matching for large vocabulary speech recognition with packed distribution and localized trellis access
KR100486735B1 (ko) 최적구획 분류신경망 구성방법과 최적구획 분류신경망을이용한 자동 레이블링방법 및 장치
CN110263162A (zh) 卷积神经网络及其进行文本分类的方法、文本分类装置
CN104751228A (zh) 深度神经网络的构建方法及系统
WO2005103951A1 (en) Tree index based method for accessing automatic directory
US20200311147A1 (en) Sentence recommendation method and apparatus based on associated points of interest
CN111079899A (zh) 神经网络模型压缩方法、系统、设备及介质
CN1156820C (zh) 使用词汇树的识别系统
CN108388561A (zh) 神经网络机器翻译方法和装置
WO2021040842A1 (en) Optimizing a keyword spotting system
JP7209330B2 (ja) 識別器、学習済モデル、学習方法
CN108389575A (zh) 音频数据识别方法及系统
CN104751227A (zh) 深度神经网络的构建方法及系统
CN109036471A (zh) 语音端点检测方法及设备
CN110047462B (zh) 一种语音合成方法、装置和电子设备
US7269597B2 (en) Chart-ahead method for decision tree construction
US6789063B1 (en) Acoustic modeling using a two-level decision tree in a speech recognition system
JP3176210B2 (ja) 音声認識方法及び音声認識装置
JP2012018403A (ja) パタン認識方法および装置ならびにパタン認識プログラムおよびその記録媒体
De Souza et al. Real-time music tracking based on a weightless neural network
CN110110294A (zh) 一种动态反向解码的方法、装置及可读存储介质
CN112017641A (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
TA01 Transfer of patent application right

Effective date of registration: 20200622

Address after: 215123 14 Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou, Jiangsu.

Applicant after: AI SPEECH Co.,Ltd.

Applicant after: Shanghai Jiaotong University Intellectual Property Management Co.,Ltd.

Address before: 215123 14 Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou, Jiangsu.

Applicant before: AI SPEECH Co.,Ltd.

Applicant before: SHANGHAI JIAO TONG University

TA01 Transfer of patent application right
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201027

Address after: 215123 14 Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou, Jiangsu.

Applicant after: AI SPEECH Co.,Ltd.

Address before: 215123 14 Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou, Jiangsu.

Applicant before: AI SPEECH Co.,Ltd.

Applicant before: Shanghai Jiaotong University Intellectual Property Management Co.,Ltd.

CB02 Change of applicant information

Address after: 215123 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou City, Jiangsu Province

Applicant after: Sipic Technology Co.,Ltd.

Address before: 215123 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou City, Jiangsu Province

Applicant before: AI SPEECH Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Word Graph Re scoring Method and System for Deep Learning Language Models

Effective date of registration: 20230726

Granted publication date: 20210924

Pledgee: CITIC Bank Limited by Share Ltd. Suzhou branch

Pledgor: Sipic Technology Co.,Ltd.

Registration number: Y2023980049433

PE01 Entry into force of the registration of the contract for pledge of patent right