CN112509560B - 一种基于缓存语言模型的语音识别自适应方法和*** - Google Patents
一种基于缓存语言模型的语音识别自适应方法和*** Download PDFInfo
- Publication number
- CN112509560B CN112509560B CN202011332443.2A CN202011332443A CN112509560B CN 112509560 B CN112509560 B CN 112509560B CN 202011332443 A CN202011332443 A CN 202011332443A CN 112509560 B CN112509560 B CN 112509560B
- Authority
- CN
- China
- Prior art keywords
- recognition
- language model
- model
- module
- cache
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012986 modification Methods 0.000 claims abstract description 14
- 230000004048 modification Effects 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 8
- 238000012937 correction Methods 0.000 claims description 23
- 230000003044 adaptive effect Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 7
- 239000013598 vector Substances 0.000 claims description 7
- 150000001875 compounds Chemical class 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 14
- 230000008569 process Effects 0.000 abstract description 12
- 238000001514 detection method Methods 0.000 abstract description 6
- 230000008859 change Effects 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000012360 testing method Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013518 transcription Methods 0.000 description 4
- 230000035897 transcription Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 241000238558 Eucarida Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004587 chromatography analysis Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000037433 frameshift Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
Landscapes
- Engineering & Computer Science (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)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于缓存语言模型的语音识别自适应方法和***,属于语音识别领域。本发明通过接收用户输入的持续语音信号,基于语音活动检测技术VAD将持续语音信号切分为多个短语音,基于通用语言模型对短语音依次进行识别,并为每个短语音生成对应的识别结果,基于关键词搜索得到关联词表,通过缓存模型对关联词表进行处理,得到适应历史识别文本分布的局部变化的语言模型,基于修改后的语言模型对后续短语音继续识别。经过局部修改后,语言模型和历史识别内容具有更好的相似性,提升了持续长语音的识别的准确率。另外,用户可以在识别的过程中对错误识别的低频词进行主动修正,提升后续对低频词的识别准确率。
Description
技术领域
本发明涉及语音识别领域,尤其涉及一种基于缓存语言模型的语音识别自适应方法和***。
背景技术
语音识别在经历数十年发展后,已经具有了较为成熟的技术,在实际应用中Siri、Cortana等在理想条件下具有了较高的识别准确率。
语音识别***的性能很大程度上取决于所使用的的语言模型(LM)与要处理的任务之间的相似性。在语言的统计属性随时间变化的情况下,例如在涉及自发性和多领域语音的应用场景中,这种相似性尤为重要。基于信息检索的主题识别(TI)是一种关键技术,通过对历史识别结果的语义分析得到正在讨论的主题,从而对语言模型进行调整,实现动态自适应。
但主题识别的问题在于,对于个别低频词,有可能因为其带有的明显领域特征造成语言模型的不必要改变。在语音信号处理方面,目前语音识别***主要采用单句任务识别,即无论输入语音长短,语音识别***都会根据语音活动检测(VAD)判别结果,将语音中的单句视为独立任务进行识别。这样做的好处在于可以获得较好的识别实时性,并在一定程度上减少***开销。
对于具有较强的上下文联系或专业领域性的场景,例如学术会议、采访记录等,单句任务识别***将忽略前后联系,对于识别不准确的词反复出错,且无法利用领域信息识别低频词。另一方面,对于配置了多个领域化语言模型的语音识别***,通常需要在识别开始前对领域模型进行人工指定,或对多个领域输出结果进行困惑度选择,增加了不必要的步骤,导致识别***不够智能化。
发明内容
为了解决现有的基于单句任务的语音识别***无法自适应领域信息识别低频词,导致低频词的识别准确度较低或识别***过于复杂的问题,本发明提出了一种基于缓存语言模型的语音识别自适应方法和***。包括:接收用户输入的持续语音信号;基于语音活动检测(VAD)将所述持续语音信号切分为多个短语音;基于通用语言模型或预设领域化语音模型对所述短语音依次进行识别,并生成识别结果;基于关键词搜索得到识别结果的关联词;基于递归网络(RN)非参数方法的拓展缓存语言模型模型得到历史识别单词及关联词的新概率分布,得到新的单词统计概率。本发明利用了历史识别结果动态缓存修改语言模型概率,使得语音识别***对具有连贯领域信息识别任务具有自适应效果,避免了领域化语言模型不必要的改变。
为了实现上述目的,本发明采用的一种基于缓存语言模型的语音识别自适应方法,包括以下步骤。
步骤1:针对一段连续的长语音,首先分割得到多条短语音,并按照时间顺序构成任务队列;
步骤2:取任务队列中的第一条短语音作为自动语音识别***的输入,获得识别文本,并将该条短语音从任务队列中删除;所述的自动语音识别***包括动态语言模型,将预设语言模型作为初始化的动态语言模型;
步骤3:建立缓存模型,根据每一条短语音的识别文本,实时判断是否需要进行概率修正,若否,则返回步骤2,直至任务队列为空,完成识别任务;若是,则根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布,构建局部语言模型;
步骤4:将步骤3构建的局部语言模型与自动语音识别***中的动态语言模型进行插值合并,得到更新后的动态语言模型,返回步骤2,直至任务队列为空,完成识别任务。
进一步的,对步骤2中的自动语音识别***输出的识别文本进行人工修正。
进一步的,所述的预设语言模型使用建立在大数据文本语料库的3-gram语言模型。
进一步的,所述的步骤3具体为:
步骤3.1:建立缓存模型,包括若干个缓存区;
步骤3.2:根据每一条短语音的识别文本,实时判断是否存在低频词或强领域特征词,若存在,则需进行概率修正,进入步骤3.3,若不存在,则无需进行概率修正,返回步骤2,直至任务队列为空,完成识别任务;
步骤3.3:根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布。
步骤3.4:根据局部词汇概率分布,构建基于3-gram的局部语言模型。
进一步的,当缓存模型的缓存区存储的关联词组达到百万级数值的阈值后,替换步骤3.3中的局部词汇概率分布计算公式。
进一步的,所述的步骤4具体为:
将局部语言模型与自动语音识别***中的动态语言模型进行插值合并,对局部单词概率进行修正;通过修正后的单词概率得到更新后的动态语言模型,返回步骤2,直至任务队列为空,完成识别任务。
本发明的另一目的在于提供一种基于缓存语言模型的语音识别自适应***,用于实现上述的语音识别自适应方法,包括:
语音信号接收模块:用于接收待识别的持续语音信号;
语音信号切分模块:用于将语音信号接收模块获取到的一段连续的长语音切割为多条短语音;
存储模块:用于存储待识别的任务队列、识别后的文本结果和关联词语料库,所述任务队列由多条短语音按照时间顺序构成;
ASR解码模块:配置有任务读取单元、自动语音识别模型、识别结果输出单元,所述的自动语音识别模型包括动态语言子模型;所述的任务读取单元用于读取任务存储模块中的第一条短语音作为自动语音识别模型的输入,所述的自动语音识别模型用于将语音识别为文本,所述的识别结果输出单元用于将识别文本输出至存储模块;
概率修正判断模块:用于判断ASR解码模块输出的识别文本中是否存在低频词或强领域特征词,若是,则向关联词搜索模块发送启动信号,若否,则向ASR解码模块发送信号,开始下一条短语音的识别;
关联词搜索模块:用于根据存储模块中预设的关联词语料库进行关键词搜索,获得历史识别词的关联词组;
语言模型修正模块:用于根据关联词搜索模块获得的实时关联词组与历史关联词组,对ASR解码模块中的动态语言子模型进行参数更新。
本发明具备的有益效果:
(1)传统语音识别***训练对数据量、计算资源要求较高,用户通常不会根据实际使用场景重新训练模型,造成语言模型与实际识别任务间相似度较差。本发明利用历史缓存信息,构建基于递归网络(RN)的拓展缓存模型对历史识别结果进行处理,使参数模型适应分布中的局部变化,并使用预先大量数据优化得到的经验参数与原始语言模型做插值合并。根据局部性原理,历史信息将有更高的概率在之后的识别任务中出现,即构建缓存语言模型可以逐渐提高语言模型与实际识别任务间的相似度,进而提高语音识别***识别准确率。
(2)对于具有较高领域相关性的识别任务,固定的语言模型无法适应任务语料领域的多样性。本发明使用提前准备的多种领域性文本语料,构建关系词表。得到历史缓存信息后,在关系词表中搜索得到关联词组,并以此构建缓存语言模型,与原有语言模型插值合并后用于后续识别。此关联词组的加入提高了语言模型的领域相关性,有利于精确识别领域性较强的识别任务。
(3)对于较长的连续录音转写类识别任务,传统语音识别***无法在识别中对识别结果进行干涉,造成某些低频词反复出错。本发明设计的人工修正模块,允许用户对历史识别结果进行人工修正,并在缓存语言模型中提高相应低频词的概率,避免低频词重复出错,提高了后续识别的准确性。
附图说明
图1是根据本发明一个实施例的构建缓存语言模型的方法的流程图。
图2是根据本发明一个实施例的持续语音识别自适应***的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示范性的,旨在用于解释本发明,而并非理解为对本发明的限制。
下面参考附图描述本发明实施例的基于缓存语言模型的持续语音识别自适应方法和***。
图1是根据本发明一个实施例的构建缓存语言模型的方法的流程图。
本发明实施的构建缓存语言模型方法,通过接收用户输入的持续语音信号,基于语音活动检测技术VAD将持续语音信号切分为多个短语音,基于通用语言模型对短语音依次进行识别,并为每个短语音生成对应的识别结果,基于关键词搜索得到关联词表,用基于递归网络(RN)的拓展缓存模型对关联词表进行处理,得到适应历史识别文本分布的局部变化的参数语言模型,基于修改后的参数语言模型对后续短语音继续识别。经过局部修改后,语言模型和历史识别内容具有更好的相似性,提升了持续长语音的识别的准确率。另外,用户可以在识别的过程中对错误识别的低频词进行主动修正,提升后续对低频词的识别准确率。
如图1所示,构建缓存语言模型的方法包括:
在本实施例中,S100~S105为基础语音识别功能流程。
S100,接收用户输入的持续语音信号。
具体地,可接收用户输入的持续语音信号。现有实现中,用户通过上传离线录音,或通过识别入口点击录音按键,输入语音,再点击录音结束,输入结束。***对接收到的语音信号进行后续识别处理。
S101,基于语音活动检测VAD将持续语音信号切分为多个短语音。
具体地,根据预先建立的静音模型,利用深度学习算法对持续语音信号的每帧语音进行识别,以识别静音帧,将达到预设的长静音阈值的帧作为切分点将持续语音信号切分为多个有效语音段,从而实现语音的切分,分别对短语音进行识别。
S102,待处理短语音任务队列。
具体地,接收基于VAD切分的短语音任务加入队列,若任务队列非空,则对任务语音依次处理,否则流程结束。
S103,基于语言模型对切好的短语音进行识别,并生成对应的识别结果。
具体地,首次识别使用通用语言模型或预设的领域化模型进行识别,并将识别结果输入到非参数方法的缓存模型,在缓存模型对已有历史识别记录及关联词进行处理后,再使用修正的语言模型进行识别。
S104,预设的通用语言模型或领域化模型。
具体地,使用在大数据文本上构建的通用语言模型作为背景语言模型,为语音识别***提供基本功能支持,或在可预判语音领域时直接使用相对应的领域化语言模型。
S105,可选的人工修正。
具体地,根据使用场景不同,部分场景下(如录音转写)用户可以自行在识别过程中对错误识别的同音词/低频词进行修正,可更好地配合后续语言模型的局部调整,提高后续识别准确率。
在本实施例中,S200~S202为获得关联词组功能流程。
S200,判断识别文本是否需要进行概率修正。
具体地,本发明方法针对的是历史文本中的低频词/强领域特征词,即对于前述获得的历史识别文本,若其在语言模型中的观察概率高于阈值,则不会进行后续概率修正。
S201,关键词搜索。
具体地,将经过S200判断需要进行概率修正的词作为关键词,在预设关联词表中搜索得到关联词组。为解决在大量识别任务后缓存关联词组数量增长较快的问题,经剪枝后将关联词组输入到缓存模型。
S202,预设关联词表。
具体地,以发音近似性、语义领域近似性以及逻辑相关性为依据,构建关联词表,并在预处理中对词表建立倒排索引和产品量化,倒排索引用来记录语料库中所有词汇,其以字或领域主题为主键,每一个主键都指向一系列的相连的词组,以实现关键词快速检索和低内存占用。
在本实施例中,S301~S302为修正语言模型流程。
S301,基于递归网络(RN)的拓展缓存模型。
具体地,根据局部性原则,近期被使用的词将会有更高概率被再次使用、与近期被使用的词具有关联性的词将会有更高概率被使用。本发明中使用一种为序列建模特殊设计的递归网络,在每个时间节点的迭代中,网络将对历史识别信息进行编码,并表示为与时间相关的隐向量基于此的后续预测概率为:
oω为系数矩阵,∝表示成正比关系。
其中隐向量ht由以下递归公式进行更新:
ht=Φ(xt,ht-1)
更新函数Φ在不同的网络构造中使用不同的结构,在本发明中使用Elman网络,更新函数Φ定义为:
ht=σ(Lxt+Rht-1)
在上述的历史信息表示基础上,缓存模型以(hi,ωi+1)隐向量观测词对的方式储存历史信息,并用以下内核密度估计器获得缓存组件中直到t时间为止的单词概率:
式中,ω1,...,ωt-1表示历史识别文本序列,ωi为历史识别文本序列中的第i个词,ωt表示当前时刻的词;Pcache(ωt|ω1,...,ωt-1)表示基于缓存历史识别文本序列的当前词为ωt的概率,K表示核函数,ht为ωt对应的隐向量,hi为ωi
对应的隐向量,θ表示欧几里得距离,||·||表示取模长,∝表示成正比关系。
若缓存内容不进行清理,且储存的关联词组达到百万级,***即不进行精确搜索,转而使用以下近似k临近算法估计单词的分布概率,亦称可变核密度估计器:
根据上述,构建基于3-grams的局部语言模型。
S302,线性插值得到修正后的语言模型。
具体的,使用以下线性内插公式对局部单词概率进行修正:
P(ωt|ω1,...,ωt-1)=(1-λ)Pmodel(ωt|ω1,...,ωt-1)+λPcache(ωt|ω1,...,ωt-1)
式中,λ为调整参数,Pmodel表示现有语言模型中在前序识别为ω1,...,ωt-1的条件下当前词为ωt的概率;其中λ根据实验结果进行调整,并最终得到含有历史识别文本信息的修正语言模型,用于对剩余语音进行识别。
为实现一定程度上解决单句任务型识别***无法利用历史识别信息的问题,结合上述方法,本发明还提出一种持续语音识别自适应***。
图2是根据本发明一个实施例的持续语音识别自适应***的结构示意图。
如图2所示,持续语音识别自适应***可包括:语音信号接收模块100、语音信号切分模块101、ASR解码模块102、人工修正模块(可选)103、关联词搜索模块200、概率修正判断模块以及语言模型修正模块300,以及存储模块。
语音信号接收模块100,用于接收用户输入的持续语音信号。具体地,用户通过客户端上传离线音频文件,或点击录音按键,通过录音设备输入语音,再点击录音结束结束录音。在录音过程中,***会自动根据已录制语音信号进行切分识别,并实时返回识别结果。
语音信号切分模块101,基于语音活动检测VAD将持续语音信号切分为多个短语音。具体地,利用预先标注的语料库建立静音模型,对持续语音信号中的每一帧进行静音帧识别,并将达到预设的长静音阈值的帧作为语音信号切分点,将持续语音信号切分为多个有效语音段,从而得到待识别语音任务组,依次进行语音识别。
ASR解码模块102,配置有任务读取单元、自动语音识别模型、识别结果输出单元,所述的自动语音识别模型包括动态语言子模型;所述的任务读取单元用于读取任务存储模块中的第一条短语音作为自动语音识别模型的输入,所述的自动语音识别模型用于将语音识别为文本,所述的识别结果输出单元用于将识别文本输出至存储模块;
其中,对于首次识别或历史识别文本关联词量不足以构建局部语言模型时,ASR解码模块使用通用语言模型或预先确定的领域化语言模型进行解码识别;在构建有局部语言模型后,ASR解码模块使用经插值修正的语言模型进行解码识别。
概率修正判断模块:用于判断ASR解码单元输出的识别文本中是否存在低频词或强领域特征词,若是,则向关联词搜索模块发送启动信号,若否,则向ASR解码单元发送信号,开始下一条短语音的识别。
人工修正模块(可选)103,用于对ASR解码单元输出的识别文本进行人工修正。具体的,修正识别错误的低频词,经过人工修正避免了***引入错误的关联词,进一步提高了***对持续语音信号的识别效果。由于会引入额外的交互操作,此模块更适用于对离线语音信号的文本转写,以一部分实时性为代价提升识别的准确性。
关联词搜索模块200,用于根据存储模块中预设的关联词语料库进行关键词搜索,获得历史识别词的关联词组,并将关联词组输入缓存模型获得其局部观察概率信息。其中预设的关联词表中的关联关系为发音近似、语义领域近似以及逻辑相关,具备这样关系的词组组成关联词表,并在其上建立倒排索引以进行快速关键词检索。
语言模型修正模块300,用于根据关联词搜索模块获得的实时关联词组与历史关联词组,对ASR解码单元中的动态语言子模型进行参数更新。具体的,基于递归网络(RN)的拓展缓存模型对历史识别文本的关联词组进行处理,在历史识别文本关联词量达到阈值后,计算得到局部观察概率,并以此为基础构建局部语言模型,在语言模型修正单元中将局部语言模型和通用语言模型进行插值合并,最终得到包含有持续语音信号局部信息的修正语言模型,并用于后续的语音识别过程。
其中,所述的语言模型修正模块包括:
存储区:用于存储关联词搜索模块输出的关联词组;
局部概率计算单元:用于计算存储区最新时刻的关联词组对应的局部词汇概率分布。
语言模型修正单元:用于根据局部词汇概率分布构建局部语言模型,并将局部语言模型与ASR解码单元中的动态语言子模型进行插值合并,对自动语音识别模型进行更新。
更新后向ASR解码单元发送信号,开始下一条短语音的识别。
本发明的***所采用的单元/模块均可以采用上述实施例中介绍的方法。
本发明实施例的持续语音识别自适应***,通过对历史语音信号识别文本的处理实现语言模型对持续语音内容的自适应,在语音内容上下文关联性、领域关联性及主体一致性较强时具有显著效果。另外,还能够允许用户在识别过程中对中间识别结果进行主动修正,进一步提高了特定任务场景下的使用体验。
实施例
为展示本发明的实验效果,本实施例给出了一个对比实验,实验方法同上述中描述的过程,此处只给出具体实施细节,不再赘述重复的过程。
本实施使用以下数据集进行训练和测试:
Librispeech:著名开源英文数据集(LibriSpeech:an ASR corpus based onpublic domain audio books",Vassil Panayotov,Guoguo Chen,Daniel Povey andSanjeev Khudanpur,ICASSP 2015),由Vassil Panayotov编写,数据集包括大约1000小时的16kHz英语阅读语音语料。数据取自LibriVox项目的有声读物,并经过仔细地分段和对齐。
New Crawl:新闻文章构成的数据集,含有包括2007-2013的新闻数据。本实施例在New Crawl 2007-2011子数据集上对随时间变化的数据分布进行缓存语言模型测试。
WikiText:Merity等人(S.Merity,C.Xiong,J.Bradbury,and R.Socher.Pointersentinel mixture models.In ICLR,2017.)提出的由Wikipedia文章衍生的英语数据集,在原始标注格式数据上训练基础识别模型。
The book Corpus:Gutenberg项目数据集(S.Lahiri.Complexity of wordcollocation networks:A preliminary structural analysis.In Proceedings of theStudent Research Workshop at the 14th Conference of the European Chapter ofthe Association for Computational Linguistics,2014.),包含3036册英文书籍中的文本语料。
Phone-record:真实电话场景录音,包含约200小时的16kHz语音语料,具有质量较好的标注文本。
实施细节如下:
在基础语音识别***中,在Librispeech上,以帧长25毫秒、帧移10毫秒,提取39维MFCC特征,训练基于kaldi-chain的声学模型,并使用标准nnet3-latgen-faster解码流程进行识别。在建模设置中,gmm阶段最终音素高斯数量为250000,叶节点为18000,将gmm阶段最终对齐结果作为chain模型训练的初始对齐,chain网络内包含有3层LSTM层,每层有1024个LSTM单元。初始语言模型使用Librispeech、WikiText、The book Corpus文本语料构建3-gram语言模型;
关联词表在New Crawl、WikiText、The book Corpus文本上建立mysql关系数据库,设置包括主题、领域信息等多维tag,并建立倒排索引。关联词搜索过程中,低频词阈值为-4.75,高于阈值则不作处理不加入缓存模型。局部语言模型插值系数λ设为0.25;
性能评估:
对于缓存语言模型性能,使用词错误率(WER)评估识别准确性,计算公式如下:
本实施中评估四种方案的识别性能:
表1:缓存语言模型对比测试结果
其中Base:仅使用基本语音识别***,不对初始语言模型进行修改;
Local cache:base line,由Grave等提出(E.Grave,A.Joulin,andN.Usunier.Improving neural language models with a continuous cache.In ICLR,2017.),是较为常见的利用历史识别信息方法;
Cache LM:本发明所使用的的缓存语言模型,采用连续识别结果计算词错误率;
Final LM:使用最终语言模型重新识别各测试数据集,且此次识别中不使用缓存模型对语言模型进行修改。
根据表1,在全部的三个测试集中,本发明方法相比于对照方案都具有性能提升。Librispeech数据集由于训练集与测试集相似度更好,且低频词更少,缓存语言模型提升效果有限,而在其余两个测试集特别是领域性较强的Phone-record中表现出了显著效果。
值得一提的是,作为对最终语言模型修改效果的评估,Final LM在所有三项中取得了最好的准确性结果,即修改后的语言模型较原始语言模型能够更好的描述测试数据文本关系,充分证明了本发明利用历史识别信息修改语言模型的方法是有效的,对上下文相关联的语音识别任务具有积极影响。
对于人工修正模块,本实施例在单个会议录音上进行了测试,录音时长为一小时,结果如表2:
表2:人工修正模块测试,数据为特定单词错误率
在此会议录音中,本实施选取了两个在训练数据中未出现或出现极少的低频词,使用不含人工修正的***(base)识别准确性较差,而在使用了人工修正后(modified),***识别准确率具有显著提升,充分展示了人工修正模块对于长语音转写任务的良好作用。
综上所述,虽然本发明已以实施例揭示如上,然其并非用以限定本发明。本发明所属技术领域的技术人员,在不脱离本发明的精神和范围的前提下,可作各种的更动与润饰。因此本发明的保护范围是以本发明的权利要求为准。
Claims (7)
1.一种基于缓存语言模型的语音识别自适应方法,其特征在于,包括以下步骤:
步骤1:针对一段连续的长语音,首先分割得到多条短语音,并按照时间顺序构成任务队列;
步骤2:取任务队列中的第一条短语音作为自动语音识别***的输入,获得识别文本,并将该条短语音从任务队列中删除;所述的自动语音识别***包括动态语言模型,将预设语言模型作为初始化的动态语言模型;
步骤3:建立缓存模型,根据每一条短语音的识别文本,实时判断是否需要进行概率修正,若否,则返回步骤2,直至任务队列为空,完成识别任务;若是,则根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布,构建局部语言模型;所述的步骤3具体为:
步骤3.1:建立缓存模型,包括若干个缓存区;
步骤3.2:根据每一条短语音的识别文本,实时判断是否存在低频词或强领域特征词,若存在,则需进行概率修正,进入步骤3.3,若不存在,则无需进行概率修正,返回步骤2,直至任务队列为空,完成识别任务;
步骤3.3:根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布,计算公式为:
式中,ω1,...,ωt-1表示历史识别文本序列,ωi为历史识别文本序列中的第i个词,ωt表示当前时刻的词;Pcache(ωt|ω1,...,ωt-1)表示基于缓存历史识别文本序列的当前词为ωt的概率,K表示核函数,ht为ωt对应的隐向量,hi为ωi对应的隐向量,θ表示欧几里得距离,||·||表示取模长,∝表示成正比关系;
步骤3.4:根据局部词汇概率分布,构建基于3-gram的局部语言模型;
步骤4:将步骤3构建的局部语言模型与自动语音识别***中的动态语言模型进行插值合并,得到更新后的动态语言模型,返回步骤2,直至任务队列为空,完成识别任务。
2.根据权利要求1所述的一种基于缓存语言模型的语音识别自适应方法,其特征在于,对步骤2中的自动语音识别***输出的识别文本进行人工修正。
4.根据权利要求3所述的一种基于缓存语言模型的语音识别自适应方法,其特征在于,所述的步骤4具体为:
将局部语言模型与自动语音识别***中的动态语言模型进行插值合并,对局部单词概率进行修正,公式如下:
P(ωt|ω1,...,ωt-1)=(1-λ)Pmodel(ωt|ω1,...,ωt-1)+λPcache(ωt|ω1,...,ωt-1)
式中,λ为调整参数,Pmodel表示现有语言模型中在前序识别为ω1,...,ωt-1的条件下当前词为ωt的概率;
通过修正后的单词概率得到更新后的动态语言模型,返回步骤2,直至任务队列为空,完成识别任务。
5.一种基于缓存语言模型的语音识别自适应***,用于实现权利要求1-4任一项所述的语音识别自适应方法,其特征在于,包括:
语音信号接收模块:用于接收待识别的持续语音信号;
语音信号切分模块:用于将语音信号接收模块获取到的一段连续的长语音切割为多条短语音;
存储模块:用于存储待识别的任务队列、识别后的文本结果和关联词语料库,所述任务队列由多条短语音按照时间顺序构成;
ASR解码模块:配置有任务读取单元、自动语音识别模型、识别结果输出单元,所述的自动语音识别模型包括动态语言子模型;所述的任务读取单元用于读取任务存储模块中的第一条短语音作为自动语音识别模型的输入,所述的自动语音识别模型用于将语音识别为文本,所述的识别结果输出单元用于将识别文本输出至存储模块;
概率修正判断模块:用于判断ASR解码模块输出的识别文本中是否存在低频词或强领域特征词,若是,则向关联词搜索模块发送启动信号,若否,则向ASR解码模块发送信号,开始下一条短语音的识别;
关联词搜索模块:用于根据存储模块中预设的关联词语料库进行关键词搜索,获得历史识别词的关联词组;
语言模型修正模块:用于根据关联词搜索模块获得的实时关联词组与历史关联词组,对ASR解码模块中的动态语言子模型进行参数更新。
6.根据权利要求5所述的一种基于缓存语言模型的语音识别自适应***,其特征在于,所述的语言模型修正模块包括:
存储区:用于存储关联词搜索模块输出的关联词组;
局部概率计算单元:用于计算存储区最新时刻的关联词组对应的局部词汇概率分布;
语言模型修正单元:用于根据局部词汇概率分布构建局部语言模型,并将局部语言模型与ASR解码模块中的动态语言子模型进行插值合并,对自动语音识别模型进行更新;
更新后向ASR解码模块发送信号,开始下一条短语音的识别。
7.根据权利要求5所述的一种基于缓存语言模型的语音识别自适应***,其特征在于,还包括:
人工修正模块:用于对ASR解码模块输出的识别文本进行人工修正。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011332443.2A CN112509560B (zh) | 2020-11-24 | 2020-11-24 | 一种基于缓存语言模型的语音识别自适应方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011332443.2A CN112509560B (zh) | 2020-11-24 | 2020-11-24 | 一种基于缓存语言模型的语音识别自适应方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112509560A CN112509560A (zh) | 2021-03-16 |
CN112509560B true CN112509560B (zh) | 2021-09-03 |
Family
ID=74958319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011332443.2A Active CN112509560B (zh) | 2020-11-24 | 2020-11-24 | 一种基于缓存语言模型的语音识别自适应方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112509560B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112767921A (zh) * | 2021-01-07 | 2021-05-07 | 国网浙江省电力有限公司 | 一种基于缓存语言模型的语音识别自适应方法和*** |
CN113421553B (zh) * | 2021-06-15 | 2023-10-20 | 北京捷通数智科技有限公司 | 音频挑选的方法、装置、电子设备和可读存储介质 |
CN113741783A (zh) * | 2021-07-30 | 2021-12-03 | 北京搜狗科技发展有限公司 | 按键识别方法、装置和用于识别按键的装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6606597B1 (en) * | 2000-09-08 | 2003-08-12 | Microsoft Corporation | Augmented-word language model |
CN102880611B (zh) * | 2011-07-14 | 2017-12-12 | 深圳市世纪光速信息技术有限公司 | 一种语言建模方法及语言建模装置 |
US9679558B2 (en) * | 2014-05-15 | 2017-06-13 | Microsoft Technology Licensing, Llc | Language modeling for conversational understanding domains using semantic web resources |
US10586528B2 (en) * | 2017-02-02 | 2020-03-10 | Adobe Inc. | Domain-specific speech recognizers in a digital medium environment |
CN110930993B (zh) * | 2018-09-20 | 2023-07-25 | 蔚来(安徽)控股有限公司 | 特定领域语言模型生成方法及语音数据标注*** |
CN110263322B (zh) * | 2019-05-06 | 2023-09-05 | 平安科技(深圳)有限公司 | 用于语音识别的音频语料筛选方法、装置及计算机设备 |
CN111276124B (zh) * | 2020-01-22 | 2023-07-28 | 苏州科达科技股份有限公司 | 一种关键词识别方法、装置、设备及可读存储介质 |
-
2020
- 2020-11-24 CN CN202011332443.2A patent/CN112509560B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112509560A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240161732A1 (en) | Multi-dialect and multilingual speech recognition | |
CN111480197B (zh) | 语音识别*** | |
Asami et al. | Domain adaptation of dnn acoustic models using knowledge distillation | |
CN106683677B (zh) | 语音识别方法及装置 | |
US10210862B1 (en) | Lattice decoding and result confirmation using recurrent neural networks | |
CN112509560B (zh) | 一种基于缓存语言模型的语音识别自适应方法和*** | |
US8280733B2 (en) | Automatic speech recognition learning using categorization and selective incorporation of user-initiated corrections | |
US20210312914A1 (en) | Speech recognition using dialog history | |
CN111968629A (zh) | 一种结合Transformer和CNN-DFSMN-CTC的中文语音识别方法 | |
CN112927682B (zh) | 一种基于深度神经网络声学模型的语音识别方法及*** | |
Hori et al. | Speech recognition algorithms using weighted finite-state transducers | |
JPH07287592A (ja) | オーディオデータセグメントのクラスタリング方法 | |
CN112767921A (zh) | 一种基于缓存语言模型的语音识别自适应方法和*** | |
Bacchiani et al. | Joint lexicon, acoustic unit inventory and model design | |
Kala et al. | Reinforcement learning of speech recognition system based on policy gradient and hypothesis selection | |
WO2010100853A1 (ja) | 言語モデル適応装置、音声認識装置、言語モデル適応方法、及びコンピュータ読み取り可能な記録媒体 | |
CN112542170A (zh) | 对话***、对话处理方法和电子装置 | |
JP6027754B2 (ja) | 適応化装置、音声認識装置、およびそのプログラム | |
Becerra et al. | A comparative case study of neural network training by using frame-level cost functions for automatic speech recognition purposes in Spanish | |
CN115376547B (zh) | 发音评测方法、装置、计算机设备和存储介质 | |
Norouzian et al. | An approach for efficient open vocabulary spoken term detection | |
Siohan | CTC Training of Multi-Phone Acoustic Models for Speech Recognition. | |
Huda et al. | A variable initialization approach to the EM algorithm for better estimation of the parameters of hidden markov model based acoustic modeling of speech signals | |
CN113593560B (zh) | 可定制的低延时命令词识别方法及装置 | |
Herbig et al. | Adaptive systems for unsupervised speaker tracking and speech recognition |
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 |