CN112767921A - 一种基于缓存语言模型的语音识别自适应方法和*** - Google Patents
一种基于缓存语言模型的语音识别自适应方法和*** Download PDFInfo
- Publication number
- CN112767921A CN112767921A CN202110018749.9A CN202110018749A CN112767921A CN 112767921 A CN112767921 A CN 112767921A CN 202110018749 A CN202110018749 A CN 202110018749A CN 112767921 A CN112767921 A CN 112767921A
- Authority
- CN
- China
- Prior art keywords
- language model
- recognition
- local
- cache
- model
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012937 correction Methods 0.000 claims abstract description 36
- 230000003044 adaptive effect Effects 0.000 claims description 25
- 239000013598 vector Substances 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 150000001875 compounds Chemical class 0.000 claims description 2
- 230000006978 adaptation Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000013518 transcription Methods 0.000 description 4
- 230000035897 transcription Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 241000238558 Eucarida Species 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
- 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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- 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
-
- 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/26—Speech to text systems
-
- 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/28—Constructional details of speech recognition systems
- G10L15/32—Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
- G10L25/87—Detection of discrete points within a voice signal
-
- 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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0635—Training updating or merging of old and new templates; Mean values; Weighting
-
- 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
- G10L2015/088—Word spotting
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)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
Abstract
本发明属于语音识别领域,具体涉及一种基于缓存语言模型的语音识别自适应方法和***,包括:针对一段连续的长语音分割得到多条短语音,并按照时间顺序构成任务队列;通过动态语言模型获得识别文本;根据每一条短语音的识别文本,实时判断是否需要进行概率修正,若是,则根据预设关联词表进行关键词搜索,得到关键词组,计算局部词汇概率分布,构建局部语言模型;将局部语言模型与动态语言模型进行插值合并,得到更新后的动态语言模型。本发明根据预设关联词表进行关键词搜索,得到关键词组,计算局部词汇概率分布,构建局部语言模型,将局部语言模型与动态语言模型进行插值合并,得到更新后的动态语言模型,进而提高识别准确率。
Description
技术领域
本发明属于语音识别领域,具体涉及一种基于缓存语言模型的语音识别自适应方法和***。
背景技术
语音识别在经历数十年发展后,已经具有了较为成熟的技术,在实际应用中Siri、Cortana等在理想条件下具有了较高的识别准确率。
语音识别***的性能很大程度上取决于所使用的的语言模型(LM)与要处理的任务之间的相似性。在语言的统计属性随时间变化的情况下,例如在涉及自发性和多领域语音的应用场景中,这种相似性尤为重要。基于信息检索的主题识别(TI)是一种关键技术,通过对历史识别结果的语义分析得到正在讨论的主题,从而对语言模型进行调整,实现动态自适应。
但主题识别的问题在于,对于个别低频词,有可能因为其带有的明显领域特征造成语言模型的不必要改变。在语音信号处理方面,目前语音识别***主要采用单句任务识别,即无论输入语音长短,语音识别***都会根据语音活动检测(VAD)判别结果,将语音中的单句视为独立任务进行识别。这样做的好处在于可以获得较好的识别实时性,并在一定程度上减少***开销。
对于具有较强的上下文联系或专业领域性的场景,例如学术会议、采访记录等,单句任务识别***将忽略前后联系,对于识别不准确的词反复出错,且无法利用领域信息识别低频词。另一方面,对于配置了多个领域化语言模型的语音识别***,通常需要在识别开始前对领域模型进行人工指定,或对多个领域输出结果进行困惑度选择,增加了不必要的步骤,导致识别***不够智能化。
发明内容
本发明所要解决的技术问题就是提供一种基于缓存语言模型的语音识别自适应方法和***。
为解决上述技术问题,本发明采用如下技术方案:一种基于缓存语言模型的语音识别自适应方法,包括以下步骤:
S1:针对一段连续的长语音分割得到多条短语音,并按照时间顺序构成任务队列;
S2:取任务队列中的第一条短语音通过动态语言模型获得识别文本,并将该条短语音从任务队列中删除;
S3:建立缓存模型,根据每一条短语音的识别文本,实时判断是否需要进行概率修正,若否,则返回S2,直至任务队列为空,完成识别任务;若是,则根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布,构建局部语言模型;
S4:将局部语言模型与动态语言模型进行插值合并,得到更新后的动态语言模型,返回S2,直至任务队列为空,完成识别任务。
优选的,还包括步骤:
S5:对S2中的识别文本进行人工修正。
优选的,所述的步骤S3具体包括:
S301:建立缓存模型,包括若干个缓存区;
S302:根据每一条短语音的识别文本,实时判断是否存在低频词或强领域特征词,若存在,则需进行概率修正,进入S303,若不存在,则无需进行概率修正,返回S2,直至任务队列为空,完成识别任务;
S303:根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布,计算公式为:
式中,ω1,…,ωt-1表示历史识别文本序列,ωi为历史识别文本序列中的第i个词,ωt表示当前时刻的词;Pcache(ωt|ω1,…,ωt-1)表示基于缓存历史识别文本序列的当前词为ωt的概率,K表示核函数,ht为ωt对应的隐向量,hi为ωi对应的隐向量,θ表示欧几里得距离,‖·‖表示取模长,∝表示成正比关系;
S304:根据局部词汇概率分布,构建基于3-gram的局部语言模型。
优选的,当缓存模型的缓存区存储的关联词组达到百万级数值的阈值后,步骤S303中的局部词汇概率分布计算公式采用以下公式替换:
优选的,所述的步骤S4具体包括:
S401:将局部语言模型与动态语言模型进行插值合并,对局部单词概率进行修正,公式如下:
P(ωt|ω1,…,ωt-1)=
(1-λ)Pmodel(ωt|ω1,…,ωt-1)+λPcache(ωt|ω1,…,ωt-1);
式中,λ为调整参数,Pmodel表示现有语言模型中在前序识别为ω1,…,ωt-1的条件下当前词为ωt的概率;
S402:通过修正后的单词概率得到更新后的动态语言模型,返回步骤S2,直至任务队列为空,完成识别任务。
一种基于缓存语言模型的语音识别自适应***,用于实现所述的语音识别自适应方法,包括:
语音信号接收模块,用于接收待识别的持续语音信号;
语音信号切分模块,用于将语音信号接收模块获取到的一段连续的长语音切割为多条短语音;
存储模块,用于存储待识别的任务队列、识别后的文本结果和关联词语料库,所述任务队列由多条短语音按照时间顺序构成;
ASR解码模块,包括配置有任务读取单元、动态语言模型、识别结果输出单元;所述的任务读取单元用于读取任务存储模块中的第一条短语音作为动态语言模型的输入,所述的动态语言模型用于将语音识别为文本,所述的识别结果输出单元用于将识别文本输出至存储模块;
概率修正判断模块,用于实时判断ASR解码模块输出的识别文本是否需要进行概率修正,若是,则向关联词搜索模块发送启动信号,若否,则向ASR解码模块发送信号,开始下一条短语音的识别;
关联词搜索模块,用于根据存储模块中预设的关联词语料库进行关键词搜索,获得历史识别词的关联词组;
语言模型修正模块,用于根据关联词搜索模块获得的实时关联词组与历史关联词组,对ASR解码模块中的动态语言模型进行参数更新。
优选的,所述的语言模型修正模块包括:
存储区,用于存储关联词搜索模块输出的关联词组;
局部概率计算单元,用于计算存储区最新时刻的关联词组对应的局部词汇概率分布;
语言模型修正单元,用于根据局部词汇概率分布构建局部语言模型,并将局部语言模型与ASR解码模块中的动态语言子模型进行插值合并,对自动语音识别模型进行更新,更新后向ASR解码模块发送信号,开始下一条短语音的识别。
优选的,还包括:
人工修正模块,用于对ASR解码模块输出的识别文本进行人工修正。
优选的,所述计算存储区最新时刻的关联词组对应的局部词汇概率分布包括:
根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布,计算公式为:
式中,ω1,…,ωt-1表示历史识别文本序列,ωi为历史识别文本序列中的第i个词,ωt表示当前时刻的词;Pcache(ωt|ω1,…,ωt-1)表示基于缓存历史识别文本序列的当前词为ωt的概率,K表示核函数,ht为ωt对应的隐向量,hi为ωi对应的隐向量,θ表示欧几里得距离,‖·‖表示取模长,∝表示成正比关系。
优选的,所述将局部语言模型与ASR解码模块中的动态语言子模型进行插值合并,对自动语音识别模型进行更新包括:
将局部语言模型与动态语言模型进行插值合并,对局部单词概率进行修正,公式如下:
P(ωt|ω1,…,ωt-1)=
(1-λ)Pmodel(ωt|ω1,…,ωt-1)+λPcache(ωt|ω1,…,ωt-1);
式中,λ为调整参数,Pmodel表示现有语言模型中在前序识别为ω1,…,ωt-1的条件下当前词为ωt的概率;
通过修正后的单词概率得到更新后的动态语言模型,直至任务队列为空,完成识别任务。
本发明采用的技术方案,具有如下有益效果:
(1)根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布,构建局部语言模型,将局部语言模型与动态语言模型进行插值合并,得到更新后的动态语言模型,进而提高识别准确率。
(2)本发明构建关系词表,得到历史缓存信息后,在关系词表中搜索得到关联词组,并以此构建局部语言模型,与原有动态语言模型插值合并后用于后续识别。此关联词组的加入提高了动态语言模型的领域相关性,有利于精确识别领域性较强的识别任务。
(3)对于较长的连续录音转写类识别任务,传统语音识别***无法在识别中对识别结果进行干涉,造成某些低频词反复出错。本发明设计的人工修正模块,允许用户对历史识别结果进行人工修正,并在缓存语言模型中提高相应低频词的概率,避免低频词重复出错,提高了后续识别的准确性。
本发明的具体技术方案及其有益效果将会在下面的具体实施方式中结合附图进行详细的说明。
附图说明
下面结合附图和具体实施方式对本发明作进一步描述:
图1为本发明一种基于缓存语言模型的语音识别自适应方法的流程示意图;
图2为本发明一种基于缓存语言模型的语音识别自适应方法中步骤S3的流程示意图;
图3为本发明一种基于缓存语言模型的语音识别自适应方法中步骤S4的流程示意图;
图4为本发明一种基于缓存语言模型的语音识别自适应方法中步骤S5的流程示意图;
图5为本发明一种基于缓存语言模型的语音识别自适应***的结构示意图;
图6为本发明一种基于缓存语言模型的语音识别自适应***中ASR解码模块的结构示意图;
图7为本发明一种基于缓存语言模型的语音识别自适应***中语言模型修正模块的结构示意图;
图8为本发明一种基于缓存语言模型的语音识别自适应***的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的基本思想是通过接收用户输入的持续语音信号,基于语音活动检测技术VAD将持续语音信号切分为多个短语音,基于动态语言模型对短语音依次进行识别,并为每个短语音生成对应的识别结果,基于关键词搜索得到关联词表,用基于递归网络(RN)的拓展缓存模型对关联词表进行处理,得到适应历史识别文本分布的局部变化的局部语言模型,将局部语言模型与动态语言模型进行插值合并,得到更新后的动态语言模型。经过处理后,动态语言模型和语音内容具有更好的相似性,提升了持续长语音的识别的准确率。
基于上述基本思想,本发明实施例提出一种基于缓存语言模型的语音识别自适应方法,参考图1所示,包括以下步骤:
S1:针对一段连续的长语音分割得到多条短语音,并按照时间顺序构成任务队列。
首先,接收用户输入的持续语音信号。现有实现中,用户通过上传离线录音,或通过识别入口点击录音按键,输入语音,再点击录音结束,输入结束。***对接收到的语音信号进行后续识别处理。
基于语音活动检测VAD将持续语音信号切分为多个短语音。具体地,根据预先建立的静音模型,利用深度学习算法对持续语音信号的每帧语音进行识别,以识别静音帧,将达到预设的长静音阈值的帧作为切分点将持续语音信号切分为多个有效语音段,从而实现语音的切分,分别对短语音进行识别。
接收基于语音活动检测VAD切分的短语音任务加入队列,若任务队列非空,则对任务语音依次处理,否则流程结束。
S2:取任务队列中的第一条短语音通过动态语言模型获得识别文本,并将该条短语音从任务队列中删除。
具体地,首次识别使用动态语言模型进行识别,初始的动态语言模型可以是通用语言模型或预设的领域化模型,并将识别结果输入到非参数方法的缓存模型,在缓存模型对已有历史识别记录及关联词进行处理后,再使用修正的动态语言模型进行识别。
具体地,使用在大数据文本上构建的动态语言模型作为背景语言模型,为语音识别***提供基本功能支持,或在可预判语音领域时直接使用相对应的领域化语言模型。
S3:建立缓存模型,根据每一条短语音的识别文本,实时判断是否需要进行概率修正,若否,则返回S2,直至任务队列为空,完成识别任务;若是,则根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布,构建局部语言模型。
如图2所示,步骤S3具体包括以下步骤:
S301:建立缓存模型,包括若干个缓存区。
S302:根据每一条短语音的识别文本,实时判断是否存在低频词或强领域特征词,若存在,则需进行概率修正,进入S303,若不存在,则无需进行概率修正,返回S2,直至任务队列为空,完成识别任务。
具体地,本发明方法针对的是历史文本中的低频词/强领域特征词,即对于前述获得的历史识别文本,若其在动态语言模型中的观察概率高于阈值,则不会进行后续概率修正。
S303:根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布。
将经过判断需要进行概率修正的词作为关键词,在预设关联词表中搜索得到关联词组。为解决在大量识别任务后缓存关联词组数量增长较快的问题,经剪枝后将关联词组输入到缓存模型。
具体地,以发音近似性、语义领域近似性以及逻辑相关性为依据,构建关联词表,并在预处理中对词表建立倒排索引和产品量化,倒排索引用来记录语料库中所有词汇,其以字或领域主题为主键,每一个主键都指向一系列的相连的词组,以实现关键词快速检索和低内存占用。
具体地,根据局部性原则,近期被使用的词将会有更高概率被再次使用、与近期被使用的词具有关联性的词将会有更高概率被使用。本发明中使用一种为序列建模特殊设计的递归网络,在每个时间节点的迭代中,网络将对历史识别信息进行编码,并表示为与时间相关的隐向量基于此的后续预测概率为:
οω为系数矩阵,∝表示成正比关系。
其中隐向量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临近算法估计单词的分布概率,亦称可变核密度估计器:
S304:根据局部词汇概率分布,构建基于3-gram的局部语言模型。
S4:将局部语言模型与动态语言模型进行插值合并,得到更新后的动态语言模型,返回S2,直至任务队列为空,完成识别任务。
如图3所示,步骤S4具体包括:
S401:将局部语言模型与动态语言模型进行插值合并,对局部单词概率进行修正,公式如下:
P(ωt|ω1,…,ωt-1)=
(1-λ)Pmodel(ωt|ω1,…,ωt-1)+λPcache(ωt|ω1,…,ωt-1);
式中,λ为调整参数,Pmodel表示现有语言模型中在前序识别为ω1,…,ωt-1的条件下当前词为ωt的概率;其中λ根据实验结果进行调整,并最终得到含有历史识别文本信息的修正语言模型,用于对剩余语音进行识别。
S402:通过修正后的单词概率得到更新后的动态语言模型,返回步骤S2,直至任务队列为空,完成识别任务。
作为优选,如图4所示,本发明方法还好包括以下步骤:
S5:对S2中的识别文本进行人工修正。
具体地,根据使用场景不同,部分场景下(如录音转写)用户可以自行在识别过程中对错误识别的同音词/低频词进行修正,可更好地配合后续语言模型的局部调整,提高后续识别准确率。
图5为本发明实施例提供的一种基于缓存语言模型的语音识别自适应***的结构示意图。本发明实施例所提供的语音识别自适应***可执行本发明实施例所提供一种基于缓存语言模型的语音识别自适应方法,具备执行方法相应的功能模块及有益效果。
一种基于缓存语言模型的语音识别自适应***,用于实现所述的语音识别自适应方法,包括语音信号接收模块、语音信号切分模块、存储模块、ASR解码模块、概率修正判断模块、关联词搜索模块、语言模型修正模块。
语音信号接收模块,用于接收待识别的持续语音信号。具体地,用户通过客户端上传离线音频文件,或点击录音按键,通过录音设备输入语音,再点击录音结束结束录音。在录音过程中,***会自动根据已录制语音信号进行切分识别,并实时返回识别结果。
语音信号切分模块,用于将语音信号接收模块获取到的一段连续的长语音切割为多条短语音。基于语音活动检测VAD将持续语音信号切分为多个短语音。具体地,利用预先标注的语料库建立静音模型,对持续语音信号中的每一帧进行静音帧识别,并将达到预设的长静音阈值的帧作为语音信号切分点,将持续语音信号切分为多个有效语音段,从而得到待识别语音任务组,依次进行语音识别。
存储模块,用于存储待识别的任务队列、识别后的文本结果和关联词语料库,所述任务队列由多条短语音按照时间顺序构成。
ASR解码模块,如图6所示,包括配置有任务读取单元、动态语言模型、识别结果输出单元;所述的任务读取单元用于读取任务存储模块中的第一条短语音作为动态语言模型的输入,所述的动态语言模型用于将语音识别为文本,所述的识别结果输出单元用于将识别文本输出至存储模块。
其中,对于首次识别或历史识别文本关联词量不足以构建局部语言模型时,ASR解码模块使用通用语言模型或预先确定的领域化语言模型进行解码识别;在构建有局部语言模型后,ASR解码模块使用经插值修正的语言模型进行解码识别。
概率修正判断模块,用于实时判断ASR解码模块输出的识别文本是否需要进行概率修正,若是,则向关联词搜索模块发送启动信号,若否,则向ASR解码模块发送信号,开始下一条短语音的识别。
关联词搜索模块,用于根据存储模块中预设的关联词语料库进行关键词搜索,获得历史识别词的关联词组。其中预设的关联词表中的关联关系为发音近似、语义领域近似以及逻辑相关,具备这样关系的词组组成关联词表,并在其上建立倒排索引以进行快速关键词检索。
语言模型修正模块,用于根据关联词搜索模块获得的实时关联词组与历史关联词组,对ASR解码模块中的动态语言模型进行参数更新。具体的,基于递归网络(RN)的拓展缓存模型对历史识别文本的关联词组进行处理,在历史识别文本关联词量达到阈值后,计算得到局部观察概率,并以此为基础构建局部语言模型,在语言模型修正单元中将局部语言模型和通用语言模型进行插值合并,最终得到包含有持续语音信号局部信息的修正语言模型,并用于后续的语音识别过程。
本实施例中,如图7所示,语言模型修正模块包括:存储区,用于存储关联词搜索模块输出的关联词组;局部概率计算单元,用于计算存储区最新时刻的关联词组对应的局部词汇概率分布;语言模型修正单元,用于根据局部词汇概率分布构建局部语言模型,并将局部语言模型与ASR解码模块中的动态语言子模型进行插值合并,对自动语音识别模型进行更新,更新后向ASR解码模块发送信号,开始下一条短语音的识别。
优选的,如图8所示,本***还包括:人工修正模块,用于对ASR解码模块输出的识别文本进行人工修正。
具体的,修正识别错误的低频词,经过人工修正避免了***引入错误的关联词,进一步提高了***对持续语音信号的识别效果。由于会引入额外的交互操作,此模块更适用于对离线语音信号的文本转写,以一部分实时性为代价提升识别的准确性。
具体的,所述计算存储区最新时刻的关联词组对应的局部词汇概率分布包括:
根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布,计算公式为:
式中,ω1,…,ωt-1表示历史识别文本序列,ωi为历史识别文本序列中的第i个词,ωt表示当前时刻的词;Pcache(ωt|ω1,…,ωt-1)表示基于缓存历史识别文本序列的当前词为ωt的概率,K表示核函数,ht为ωt对应的隐向量,hi为ωi对应的隐向量,θ表示欧几里得距离,‖·‖表示取模长,∝表示成正比关系。
具体的,所述将局部语言模型与ASR解码模块中的动态语言子模型进行插值合并,对自动语音识别模型进行更新包括:
将局部语言模型与动态语言模型进行插值合并,对局部单词概率进行修正,公式如下:
P(ωt|ω1,…,ωt-1)=
(1-λ)Pmodel(ωt|ω1,…,ωt-1)+λPcache(ωt|ω1,…,ωt-1);
式中,λ为调整参数,Pmodel表示现有语言模型中在前序识别为ω1,…,ωt-1的条件下当前词为ωt的概率;
通过修正后的单词概率得到更新后的动态语言模型,直至任务队列为空,完成识别任务。
基于上述模块的具体技术方案及有益效果已经在方法实施例中公开,因此不再赘述。
本实施例使用以下数据集进行训练和测试:
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 (10)
1.一种基于缓存语言模型的语音识别自适应方法,其特征在于,包括以下步骤:
S1:针对一段连续的长语音分割得到多条短语音,并按照时间顺序构成任务队列;
S2:取任务队列中的第一条短语音通过动态语言模型获得识别文本,并将该条短语音从任务队列中删除;
S3:建立缓存模型,根据每一条短语音的识别文本,实时判断是否需要进行概率修正,若否,则返回S2,直至任务队列为空,完成识别任务;若是,则根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布,构建局部语言模型;
S4:将局部语言模型与动态语言模型进行插值合并,得到更新后的动态语言模型,返回S2,直至任务队列为空,完成识别任务。
2.根据权利要求1所述的一种基于缓存语言模型的语音识别自适应方法,其特征在于,还包括步骤:
S5:对S2中的识别文本进行人工修正。
3.根据权利要求1所述的一种基于缓存语言模型的语音识别自适应方法,其特征在于,所述的步骤S3具体包括:
S301:建立缓存模型,包括若干个缓存区;
S302:根据每一条短语音的识别文本,实时判断是否存在低频词或强领域特征词,若存在,则需进行概率修正,进入S303,若不存在,则无需进行概率修正,返回S2,直至任务队列为空,完成识别任务;
S303:根据预设关联词表进行关键词搜索,得到关键词组,并存储至缓存模型的缓存区,计算局部词汇概率分布,计算公式为:
式中,ω1,...,ωt-1表示历史识别文本序列,ωi为历史识别文本序列中的第i个词,ωt表示当前时刻的词;Pcache(ωt|ω1,...,ωt-1)表示基于缓存历史识别文本序列的当前词为ωt的概率,K表示核函数,ht为ωt对应的隐向量,hi为ωi对应的隐向量,θ表示欧几里得距离,||·||表示取模长,∝表示成正比关系;
S304:根据局部词汇概率分布,构建基于3-gram的局部语言模型。
5.根据权利要求1所述的一种基于缓存语言模型的语音识别自适应方法,其特征在于,所述的步骤S4具体包括:
S401:将局部语言模型与动态语言模型进行插值合并,对局部单词概率进行修正,公式如下:
P(ωt|ω1,...,ωt-1)=(1-λ)Pmodel(ωt|ω1,...,ωt-1)+λPcache(ωt|ω1,...,ωt-1);
式中,λ为调整参数,Pmodel表示现有语言模型中在前序识别为ω1,...,ωt-1的条件下当前词为ωt的概率;
S402:通过修正后的单词概率得到更新后的动态语言模型,返回步骤S2,直至任务队列为空,完成识别任务。
6.一种基于缓存语言模型的语音识别自适应***,用于实现权利要求1-5任一项所述的语音识别自适应方法,其特征在于,包括:
语音信号接收模块,用于接收待识别的持续语音信号;
语音信号切分模块,用于将语音信号接收模块获取到的一段连续的长语音切割为多条短语音;
存储模块,用于存储待识别的任务队列、识别后的文本结果和关联词语料库,所述任务队列由多条短语音按照时间顺序构成;
ASR解码模块,包括配置有任务读取单元、动态语言模型、识别结果输出单元;所述的任务读取单元用于读取任务存储模块中的第一条短语音作为动态语言模型的输入,所述的动态语言模型用于将语音识别为文本,所述的识别结果输出单元用于将识别文本输出至存储模块;
概率修正判断模块,用于实时判断ASR解码模块输出的识别文本是否需要进行概率修正,若是,则向关联词搜索模块发送启动信号,若否,则向ASR解码模块发送信号,开始下一条短语音的识别;
关联词搜索模块,用于根据存储模块中预设的关联词语料库进行关键词搜索,获得历史识别词的关联词组;
语言模型修正模块,用于根据关联词搜索模块获得的实时关联词组与历史关联词组,对ASR解码模块中的动态语言模型进行参数更新。
7.根据权利要求6所述的一种基于缓存语言模型的语音识别自适应***,其特征在于,所述的语言模型修正模块包括:
存储区,用于存储关联词搜索模块输出的关联词组;
局部概率计算单元,用于计算存储区最新时刻的关联词组对应的局部词汇概率分布;
语言模型修正单元,用于根据局部词汇概率分布构建局部语言模型,并将局部语言模型与ASR解码模块中的动态语言子模型进行插值合并,对自动语音识别模型进行更新,更新后向ASR解码模块发送信号,开始下一条短语音的识别。
8.根据权利要求6所述的一种基于缓存语言模型的语音识别自适应***,其特征在于,还包括:
人工修正模块,用于对ASR解码模块输出的识别文本进行人工修正。
10.根据权利要求7所述的一种基于缓存语言模型的语音识别自适应***,其特征在于,所述将局部语言模型与ASR解码模块中的动态语言子模型进行插值合并,对自动语音识别模型进行更新包括:
将局部语言模型与动态语言模型进行插值合并,对局部单词概率进行修正,公式如下:
P(ωt|ω1,...,ωt-1)=(1-λ)Pmodel(ωt|ω1,...,ωt-1)+λPcache(ωt|ω1,...,ωt-1);
式中,λ为调整参数,Pmodel表示现有语言模型中在前序识别为ω1,...,ωt-1的条件下当前词为ωt的概率;
通过修正后的单词概率得到更新后的动态语言模型,直至任务队列为空,完成识别任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110018749.9A CN112767921A (zh) | 2021-01-07 | 2021-01-07 | 一种基于缓存语言模型的语音识别自适应方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110018749.9A CN112767921A (zh) | 2021-01-07 | 2021-01-07 | 一种基于缓存语言模型的语音识别自适应方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112767921A true CN112767921A (zh) | 2021-05-07 |
Family
ID=75700640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110018749.9A Pending CN112767921A (zh) | 2021-01-07 | 2021-01-07 | 一种基于缓存语言模型的语音识别自适应方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112767921A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114938477A (zh) * | 2022-06-23 | 2022-08-23 | 阿里巴巴(中国)有限公司 | 视频话题确定方法、装置及设备 |
CN116246633A (zh) * | 2023-05-12 | 2023-06-09 | 深圳市宏辉智通科技有限公司 | 无线智能物联网会议*** |
WO2024045475A1 (zh) * | 2022-09-01 | 2024-03-07 | 北京百度网讯科技有限公司 | 语音识别方法、装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090099841A1 (en) * | 2007-10-04 | 2009-04-16 | Kubushiki Kaisha Toshiba | Automatic speech recognition method and apparatus |
CN111429912A (zh) * | 2020-03-17 | 2020-07-17 | 厦门快商通科技股份有限公司 | 关键词检测方法、***、移动终端及存储介质 |
CN112509560A (zh) * | 2020-11-24 | 2021-03-16 | 杭州一知智能科技有限公司 | 一种基于缓存语言模型的语音识别自适应方法和*** |
-
2021
- 2021-01-07 CN CN202110018749.9A patent/CN112767921A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090099841A1 (en) * | 2007-10-04 | 2009-04-16 | Kubushiki Kaisha Toshiba | Automatic speech recognition method and apparatus |
CN111429912A (zh) * | 2020-03-17 | 2020-07-17 | 厦门快商通科技股份有限公司 | 关键词检测方法、***、移动终端及存储介质 |
CN112509560A (zh) * | 2020-11-24 | 2021-03-16 | 杭州一知智能科技有限公司 | 一种基于缓存语言模型的语音识别自适应方法和*** |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114938477A (zh) * | 2022-06-23 | 2022-08-23 | 阿里巴巴(中国)有限公司 | 视频话题确定方法、装置及设备 |
CN114938477B (zh) * | 2022-06-23 | 2024-05-03 | 阿里巴巴(中国)有限公司 | 视频话题确定方法、装置及设备 |
WO2024045475A1 (zh) * | 2022-09-01 | 2024-03-07 | 北京百度网讯科技有限公司 | 语音识别方法、装置、设备和介质 |
CN116246633A (zh) * | 2023-05-12 | 2023-06-09 | 深圳市宏辉智通科技有限公司 | 无线智能物联网会议*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11900915B2 (en) | Multi-dialect and multilingual speech recognition | |
US11922932B2 (en) | Minimum word error rate training for attention-based sequence-to-sequence models | |
US11545142B2 (en) | Using context information with end-to-end models for speech recognition | |
Asami et al. | Domain adaptation of dnn acoustic models using knowledge distillation | |
CN106683677B (zh) | 语音识别方法及装置 | |
US10347244B2 (en) | Dialogue system incorporating unique speech to text conversion method for meaningful dialogue response | |
US10210862B1 (en) | Lattice decoding and result confirmation using recurrent neural networks | |
JP6222821B2 (ja) | 誤り修正モデル学習装置、及びプログラム | |
US9514126B2 (en) | Method and system for automatically detecting morphemes in a task classification system using lattices | |
US8275615B2 (en) | Model weighting, selection and hypotheses combination for automatic speech recognition and machine translation | |
US8280733B2 (en) | Automatic speech recognition learning using categorization and selective incorporation of user-initiated corrections | |
CN112509560B (zh) | 一种基于缓存语言模型的语音识别自适应方法和*** | |
CN114097026A (zh) | 语音识别的上下文偏置 | |
CN112767921A (zh) | 一种基于缓存语言模型的语音识别自适应方法和*** | |
KR101120765B1 (ko) | 스위칭 상태 스페이스 모델과의 멀티모덜 변동 추정을이용한 스피치 인식 방법 | |
US20040019483A1 (en) | Method of speech recognition using time-dependent interpolation and hidden dynamic value classes | |
Kala et al. | Reinforcement learning of speech recognition system based on policy gradient and hypothesis selection | |
CN117043857A (zh) | 用于英语发音评估的方法、设备和计算机程序产品 | |
CN115312033A (zh) | 基于人工智能的语音情感识别方法、装置、设备及介质 | |
JP6027754B2 (ja) | 適応化装置、音声認識装置、およびそのプログラム | |
CN115376547B (zh) | 发音评测方法、装置、计算机设备和存储介质 | |
CN111462734A (zh) | 语义槽填充模型训练方法及*** | |
Norouzian et al. | An approach for efficient open vocabulary spoken term detection | |
CN115294974A (zh) | 一种语音识别方法、装置、设备和存储介质 | |
Benıtez et al. | Different confidence measures for word verification in 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 |