HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种语音识别方法及装置与流程

2021-01-28 14:01:17|300|起点商标网
一种语音识别方法及装置与流程

本申请实施例涉及自然语言处理技术,尤其涉及一种语音识别方法及装置。



背景技术:

语音识别(automaticspeechrecognition,简称asr)是以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语言。语音识别技术就是让机器通过识别和理解过程把语音信号转换为相应的文本或命令的技术。随着信息技术的发展,语音识别技术正逐步成为计算机信息处理技术中的关键技术,语音识别技术的应用场景也变得越来越广泛,例如语音识别技术可以应用在字幕添加、识别谈话中的敏感内容、人机交互等场景。

当asr语音识别器的训练和测试场景的领域一致时则识别率会比较高,否则识别率就比较差。例如,用游戏场景语料训练的语言模型(languagemodel,简称lm)用在政治场景时asr的识别率就会较差。为了解决这个问题,现有技术是基于先验知识定制匹配的lm模型,为特定的使用场景快速构建领域依赖的模型。这样做的优点是灵活可控、定制性强,适合清晰明确的场景,如智能家居、医疗机器人或是点餐系统等。但其缺点是在语境偏离场景时识别率会降低,例如针对动态变化的聊天内容,其识别率会比较低。

相关技术还提出一种用数据量大覆盖广的文本训练的通用lm模型,但由于有内存限制以及超出模型建模能力,通用lm模型性能仍会差于领域依赖模型。



技术实现要素:

本申请提供一种语音识别方法及装置,以解决现有技术中采用领域语言模型进行语音识别时对偏离场景的语境识别率较低,以及采用通用语言模型进行语音识别时模型性能较弱的问题。

第一方面,本申请实施例提供了一种语音识别方法,所述方法包括:

获取当前通话的各客户端的语音信号分别经由语音识别器进行语音识别后输出的文本数据,其中,所述语音识别器包括目标领域语言模型;

根据各客户端的所述文本数据确定当前通话的目标话题领域;

判断所述目标领域语言模型是否与所述目标话题领域适配,若不适配,则将所述目标领域语言模型切换为与所述目标话题领域适配的领域语言模型。

第二方面,本申请实施例还提供了一种语音识别装置,所述装置包括:

文本数据获取模块,用于获取当前通话的各客户端的语音信号分别经由语音识别器进行语音识别后输出的文本数据,其中,所述语音识别器包括目标领域语言模型;

目标话题领域确定模块,用于根据各客户端的所述文本数据确定当前通话的目标话题领域;

领域语言模型切换模块,用于判断所述目标领域语言模型是否与所述目标话题领域适配,若不适配,则将所述目标领域语言模型切换为与所述目标话题领域适配的领域语言模型。

第三方面,本申请实施例还提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的语音识别方法。

第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的语音识别方法。

本申请具有如下有益效果:

在本实施例中,当获得当前通话的各客户端的语音信号分别经由语音识别器进行语音识别后输出的文本数据以后,可以根据各客户端的文本数据确定当前通话的目标话题领域,如果语音识别器当前使用的目标领域语言模型与该目标话题领域不适配,则可以实时将该目标领域语言模型切换为与目标话题领域适配的领域语言模型,从而实现动态地选择与当前通话内容的话题领域适配的目标领域语言模型,利用适配的目标领域语言模型选出最优的识别结果可以提高语音识别器的识别率,适于端内动态变化的通话内容的场景。

附图说明

图1是本申请实施例一提供的一种语音识别方法实施例的流程图;

图2是本申请实施例二提供的另一种语音识别方法实施例的流程图;

图3是本申请实施例二提供的语音识别器使用的模型示意图;

图4是本申请实施例二提供的双人通话场景示意图;

图5是本申请实施例三提供的一种语音识别装置实施例的结构框图;

图6是本申请实施例六提供的一种服务器的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。

实施例一

图1为本申请实施例一提供的一种语音识别方法实施例的流程图,本实施例可以由语音识别装置实现,该语音识别装置可以位于服务器中,具体可以包括如下步骤:

步骤110,获取当前通话的各客户端的语音信号分别经由语音识别器进行语音识别后输出的文本数据,其中,所述语音识别器包括目标领域语言模型。

在该步骤中,当客户端采集到用户发出的语音信号时,可以将语音信号发送至服务器中。在服务器中,通过语音识别器对客户端发送的语音信号进行语音识别,获得语音识别结果,即该语音信号对应的文本数据。

对于正在进行通信的各客户端而言,都可以通过服务器的语音识别器进行语音识别。

在语音识别器中,最后输出文本数据的模型为目标领域语言模型,该目标领域语言模型与文本数据所处的话题领域相适配。

步骤120,根据各客户端的所述文本数据确定当前通话的目标话题领域。

在一种实施方式中,可以结合各客户端的文本数据进行综合分析,通过提取文本数据中的上下文语义信息来确定各客户端当前聊天的话题领域。示例性地,话题领域可以包括预先定义的各种领域的话题,例如政治领域、经济领域、游戏领域、娱乐领域等。

步骤130,判断所述目标领域语言模型是否与所述目标话题领域适配,若不适配,则将所述目标领域语言模型切换为与所述目标话题领域适配的领域语言模型。

在该步骤中,当确定当前通话的目标话题领域以后,可以比较该目标话题领域与语音识别器当前使用的目标领域语言模型对应的领域是否一致,如果两者一致,则无需进行领域语言模型的切换;否则,如果两者不一致,则需要实时切换目标领域语言模型到目标话题领域对应的领域语言模型。

例如,假设当前通话的客户端包括客户端a和客户端b,客户端a输出的第一语音信号经过语音识别器进行语音识别后转换成第一文本数据,客户端b输出的第二语音信号经过语音识别器进行语音识别后转换成第二文本数据。然后根据通话双方的语音识别结果,即第一文本数据和第二文本数据,可以分析出客户端a和客户端b当前通话的目标话题领域,比如,游戏领域、政治领域、经济领域、科技领域、八卦领域等。然后可以判断语音识别器当前使用的目标领域语言模型与该目标话题领域是否适配,如果不适配,则可以将该目标领域语言模型切换为与目标话题领域适配的领域语言模型,比如,假设语音识别器当前使用的目标领域语言模型为政治领域的语言模型,但目标话题领域为游戏领域,则可以实时将该目标领域语言模型切换为游戏领域的语言模型。

又如,假设当前聊天的场景为群聊场景,可以获取群聊中各客户端的语音信号经过语音识别器进行语音识别后转换成的文本数据,然后根据群聊的各客户端的语音识别结果,分析出当前群聊话题的目标话题领域,然后可以判断语音识别器当前使用的目标领域语言模型与该目标话题领域是否适配,如果不适配,则可以将该目标领域语言模型切换为与目标话题领域适配的领域语言模型,比如,假设语音识别器当前使用的目标领域语言模型为游戏领域的语言模型,但群聊的目标话题领域为科技领域,则可以实时将该目标领域语言模型切换为科技领域的语言模型。

在本实施例中,当获得当前通话的各客户端的语音信号分别经由语音识别器进行语音识别后输出的文本数据以后,可以根据各客户端的文本数据确定当前通话的目标话题领域,如果语音识别器当前使用的目标领域语言模型与该目标话题领域不适配,则可以实时将该目标领域语言模型切换为与目标话题领域适配的领域语言模型,从而实现动态地选择与当前通话内容的话题领域适配的目标领域语言模型,利用适配的目标领域语言模型选出最优的识别结果可以提高语音识别器的识别率,适于端内动态变化的通话内容的场景。

实施例二

图2为本申请实施例二提供的另一种语音识别方法实施例的流程图,本实施例在实施例一的基础上,对语音识别器中使用的模型进行说明。在本实施例中,如图3语音识别器使用的模型示意图所示,语音识别器使用的模型至少可以包括如下模型:声学模型、通用语言模型、目标领域语言模型以及文本分类模型。

声学模型(acousticmodel,简称am)是对声学、语音学、环境的变量、说话人性别、口音等的差异的知识表示。声学模型的主要功能是对语音特征向量序列进行音素标记,利用词典({词:音素})生成字符串序列,即,实现语音特征到音素的映射。声学模型的类型可以包括但不限于:混合声学模型、端到端声学模型、seq2seq(序列到序列模型)声学模型等。其中,混合声学模型可以包括但不限于:gmm(高斯混合模型)-hmm(隐马尔科夫模型)、dnn(深度神经网络)-hmm、rnn(循环神经网络)-hmm、cnn(卷积神经网络)-hmm等模型。端到端声学模型可以包括las(listenattendandspell)模型等。

语言模型是对一组字序列构成的知识表示,语言模型的目的是根据声学模型输出的结果,给出最大概率的文字序列。在一种实施例中,语言模型可以表示为采用链式法则把一个句子的概率拆解成其中的每个词的概率之积。由马尔卡夫模型的思想,一种示例性的做法就是用n-元文法,即假定某一个字的输出只与前面n-1个字出现的概率有关系,这种语言模型叫做n-gram模型。

在本实施例中,语言模型可以包括通用语言模型和领域语言模型。通用语言模型为使用数据量大、覆盖广的文本训练的通用的语言模型,由于通用语言模型没有针对特定领域优化,因此在政治、游戏、体育、新闻和娱乐等细致领域无法发挥出色性能,但可作为语音识别器的第一级输出n-best列表。

领域语言模型可以有多个,各领域语言模型在训练时基于对应领域场景的训练数据并对通用语言模型进行迁移学习生成。具体的,为了提高语音转文本在不同领域的准确率,可以根据不同领域场景采集对应的文本数据作为训练数据,并基于通用语言模型做迁移学习,最终得到多个领域语言模型。目标领域语言模型则为语音识别器从预先训练的多个领域语言模型中选择的一个与当前通话场景适配的领域语言模型。

文本分类模型为一个根据短文本可判定所属场景的领域的分类器,其目标是模型能将语义相近的字/词投影到距离接近的文本向量上,则文本向量也能包含更精确的语义信息。在一种实施例中,文本分类模型可以包括bert(bidirectionalencoderrepresentationsfromtransformers,来自变换器的双向编码器)模型以及位于bert模型顶部的分类器(softmax),bert模型用于根据输入的各客户端的文本数据的向量表示,确定融合了上下文语义信息的语义向量,作为隐层状态信息输出至分类器。该分类器用于根据接收到的隐层状态信息确定当前通话对应于各话题标签的概率,并根据各话题标签的概率确定目标话题领域。

在一种例子中,文本分类模型的架构可以采用如下公式表示:

p(c|h)=softmax(wh)

其中,h表示bert模型针对文本向量输出的融合了语义信息的语义向量,该语义向量可以作为文本分类模型的隐层状态信息,w是特定任务的参数矩阵,p(c|h)表示分类器基于h预测话题标签c的概率。在确定目标话题领域时,可以选择p(c|h)最大的c作为目标话题领域。

为了得到更高性能的文本分类模型,可以通过拟合配对的{文本,类别}数据,比如:{这鬼谷这鬼谷经济咋这么高,妲己在中路,游戏}、{国家政策,政治}、{那苹果三星好用,华为也行,科技}、{你有啥要求呀,这样我问你答吧,其他}等,微调来自bert的h和w参数,可以最大化正确标签的概率。

基于上述的语音识别器架构,本实施例具体可以包括如下步骤:

步骤210,获取各客户端发出的语音信号经过声学模型以及通用语言模型后,由所述通用语言模型输出的多个候选识别结果。

在该步骤中,在对当前通话的各客户端发出的语音信号进行语音识别时,可以首先对语音信号进行特征工程,提取语音信号的语音特征信息。作为一种示例,语音特征信息可以包括但不限于mfcc(melfrequencycepstrumcoefficient,梅尔频率倒谱系数)特征。

针对语音信号提取出的语音特征信息序列,首先输入至语音识别器中的声学模型,由声学模型对语音特征信息序列进行音素标记,利用词典({词:音素})生成字符串序列。然后声学模型将字符串序列输出至通用语言模型,由通用语言模型对字符串序列进行第一遍解码,生成多个识别假设,并从该多个识别假设中提取多个候选识别结果组成n-best列表。

在一种实现中,语音识别器可以采用集束搜索算法对语音特征信息进行解码识别,在集束搜索算法的每个解码步上,声学模型attention-decoder(注意力解码器)和ctc(connectionisttemporalclassification,联结主义时间分类)根据编码结果h给出当前解码步的语言学单位的后验概率,然后通用语言模型也根据之前的解码结果“y<”给出当前解码步的后验概率,两者结合起来得到的n-best列表可以采用如下公式表示:

其中,wi为各个部件的解码权重超参,y<为上一个解码步的1-best序列。

步骤220,分别将所述多个候选识别结果输入至所述目标领域语言模型中,并获得所述目标领域语言模型对各候选识别结果进行重打分后输出的各候选识别结果的分数。

在该步骤中,通用语言模型将多个候选识别结果组成的n-best列表输出至目标领域语言模型中,该目标领域语言模型为根据前一次的语音识别结果确定的、与前一次通话内容的领域匹配的领域语言模型。

目标领域语言模型接收到通用语言模型发送的n-best列表以后,进行第二遍解码,此时目标领域语言模型可以采用重打分机制,对n-best列表中各候选识别结果进行重打分,得到各候选识别结果的分数。

在一种实现中,根据步骤210得到的n-best列表送入目标领域语言模型中进行重打分得到1-best列表,使用重打分机制重写的公式可以表示如下:

y*=argnmax(ctc-att(y**|hy<)+wngramfngram(y**|y<))

其中,y**为n-best列表,再利用重打分得到1-best的y*。

步骤230,根据所述分数从所述候选识别结果中确定最终识别结果,作为所述语音信号对应的文本数据。

在获得各候选识别结果的分数以后,可以按照分数对各候选识别结果进行排序,并从n个候选识别结果中选取分数最高的候选识别结果作为最终识别结果,该最终识别结果就是当前语音信号对应的文本数据。

步骤240,将各客户端的所述文本数据输入至已训练的文本分类模型,并获取所述文本分类模型依据各客户端的文本数据进行处理后输出的当前通话的目标话题领域。

在该步骤中,获得目标领域语言模型输出文本数据以后,则可以获取各文本数据的文本向量表示,并将各客户端的文本向量表示均输入至已训练的文本分类模型,由文本分类模型结合各客户端的文本向量表示确定上下文的语义向量,并根据上述语义向量预测各领域标签的概率,然后选取概率最大的领域标签作为当前通话的目标话题领域。

步骤250,判断所述目标领域语言模型是否与所述目标话题领域适配,若不适配,则将所述目标领域语言模型切换为与所述目标话题领域适配的领域语言模型。

在该步骤中,当确定当前通话的目标话题领域以后,则可以判断语言识别器当前使用的目标领域语言模型是否与目标话题领域相适配,例如,若当前使用的目标领域语言模型为游戏领域的语言模型,目标话题领域为游戏领域,则可以判定两者是适配的;若当前使用的目标领域语言模型为游戏领域的语言模型,目标话题领域为科技领域,则可以判定两者是不适配的。

如果语言识别器当前使用的目标领域语言模型与目标话题领域相适配,则可以保持当前的目标领域语言模型。否则,如果语言识别器当前使用的目标领域语言模型与目标话题领域不适配,则可以将当前的目标领域语言模型切换为与目标话题领域适配的领域语言模型,例如,若当前使用的目标领域语言模型为游戏领域的语言模型,目标话题领域为科技领域,则可以将当前使用的目标领域语言模型切换为科技领域的语言模型。

为了使得本领域技术人员更好地理解本申请实施例,以下以两人通话为例对本实施例进行示例性说明,当然,本申请并不限于两人通话的场景,也可以适用于群聊的场景,两者的处理逻辑是相似的。

例如,如图4的双人通话场景示意图所示,假设领域语言模型包括领域lm1、领域lm2和领域lm3,在客户端a和客户端b通信的过程中,针对客户端a发送的语音信号,输入至服务器以后,服务器提取该语音信号的语音特征信息,语音特征信息经过声学模型以及通用语言模型后,由通用语言模型输出n-best列表,n-best列表输入至在先动态选择的目标领域语言模型,例如图4中的领域lm3,领域lm3按照重打分算法对n-best列表中各候选识别结果进行重打分,其中,重打分算法是一种先由第一级语言学模型选出n个最佳句子接着根据第二级模型重新排序求出最佳文本序列的算法。然后,领域lm3根据各候选识别结果经过重打分后得到的分数选取分数最高的1-best列表作为识别出的文字。如图4所示,该识别出的文字一方面可以作为字幕显示在客户端b的界面中,另一方面也可以作为文本分类模型的输入。

同理,针对客户端b发送的语音信号,经过上述的类似处理过程得到对应的文字,该文字一方面可以作为字幕显示在客户端a的界面中,另一方面也可以作为文本分类模型的输入。

如图4所示,对于文本分类模型而言,其利用双向输出的文字识别出客户端a和客户端b的对话的目标话题领域,并将该目标话题领域对应的领域语言模型确定为目标领域语言模型,使用asr的双向通话链路皆能动态选用接近于目标话题领域的目标领域语言模型,例如,假设客户端a和客户端b一开始在聊王者荣耀话题会匹配到游戏lm,接着切换到政治话题时会匹配到政治lm,以此可以提高语言模型的识别率,满足端内动态变化的对话内容。

在本实施例中,语音识别器采用通用语言模型以及目标领域语言模型结合的方式,对当前通话的各客户端的语音信号进行语音识别,得到各客户端的语音信号对应的文本数据,解决通用语言模型无法覆盖所有主题领域的问题。

另外,本实施例由文本分类模型来根据各客户端的文本数据确定当前通话的目标话题领域,如果语音识别器当前使用的目标领域语言模型与目标话题领域不适配,则可以将目标领域语言模型切换为与目标话题领域适配的领域语言模型,从而实现动态选择与当前话题领域适配的领域语言模型,利用适配的领域语言模型搭配重打分机制可以选择出最优的识别结果,提高语言识别器的识别率。

实施例三

图5为本申请实施例三提供的一种语音识别装置实施例的结构框图,该语音识别装置位于服务器中,可以包括如下模块:

文本数据获取模块510,用于获取当前通话的各客户端的语音信号分别经由语音识别器进行语音识别后输出的文本数据,其中,所述语音识别器包括目标领域语言模型;

目标话题领域确定模块520,用于根据各客户端的所述文本数据确定当前通话的目标话题领域;

领域语言模型切换模块530,用于判断所述目标领域语言模型是否与所述目标话题领域适配,若不适配,则将所述目标领域语言模型切换为与所述目标话题领域适配的领域语言模型。

在一种实施方式中,所述语音识别器还包括文本分类模型;所述目标话题领域确定模块520还用于:

将各客户端的所述文本数据输入至已训练的文本分类模型,并获取所述文本分类模型依据各客户端的文本数据进行处理后输出的当前通话的目标话题领域。

在一种实施方式中,所述文本分类模型包括bert模型以及位于所述bert模型顶部的分类器,所述bert模型用于根据输入的各客户端的文本数据的向量表示,确定融合了上下文语义信息的语义向量,作为隐层状态信息输出至所述分类器,所述分类器用于根据所述隐层状态信息确定当前通话对应于各话题标签的概率,并根据所述概率确定目标话题领域。

在一种实施方式中,所述语音识别器还包括声学模型以及通用语言模型;

所述文本数据获取模块510还用于:

获取各客户端发出的语音信号经过声学模型以及通用语言模型后,由所述通用语言模型输出的多个候选识别结果;

分别将所述多个候选识别结果输入至所述目标领域语言模型中,并获得所述目标领域语言模型对各候选识别结果进行重打分后输出的各候选识别结果的分数;

根据所述分数从所述候选识别结果中确定最终识别结果,作为所述语音信号对应的文本数据。

在一种实施方式中,所述领域语言模型有多个,各领域语言模型在训练时基于对应领域场景的训练数据并对所述通用语言模型进行迁移学习生成。

需要说明的是,本申请实施例所提供的上述语音识别装置可执行本申请任意实施例所提供的语音识别方法,具备执行方法相应的功能模块和有益效果。

实施例四

图6为本申请实施例四提供的一种服务器的结构示意图,如图6所示,该服务器包括处理器610、存储器620、输入装置630和输出装置640;服务器中处理器610的数量可以是一个或多个,图6中以一个处理器610为例;服务器中的处理器610、存储器620、输入装置630和输出装置640可以通过总线或其他方式连接,图6中以通过总线连接为例。

存储器620作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的语音识别方法对应的程序指令/模块。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的方法。

存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置630可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。

实施例五

本申请实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由服务器的处理器执行时用于执行实施例一至实施例二中任一实施例中的方法。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips