具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为一个实施例中解码语音数据的方法的应用环境图。参照图1,该解码语音数据的方法应用于解码语音数据的***。该解码语音数据的***包括终端110和服务器120。终端110和服务器120通过网络连接。终端110或服务器120获取对语音数据进行转录得到的至少一个转录文本;获取各个转录文本的分值;获取语音数据对应的至少一个预设热词,每个预设热词对应一个奖励值;当转录文本中存在与预设热词匹配的字符串时,根据匹配的字符串的奖励值和转录文本的分值,计算转录文本的目标分值,目标分值用于确定语音数据的解码文本。
终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种解码语音数据的方法。本实施例主要以该方法应用于上述图1中的终端110(或服务器120)来举例说明。参照图2,该解码语音数据的方法具体包括如下步骤:
步骤S201,获取对语音数据进行转录得到的至少一个转录文本。
步骤S202,获取各个转录文本的分值。
步骤S203,获取语音数据对应的至少一个预设热词。
在本具体实施例中,每个预设热词对应一个奖励值。
步骤S204,当转录文本中存在与预设热词匹配的字符串时,根据匹配的字符串的奖励值和转录文本的分值,计算转录文本的目标分值。
在本具体实施例中,目标分值用于确定语音数据的解码文本。
具体地,语音数据是指语音采集设备采集的语音数据,该语音数据中包含文字信息,通过前缀树识别算法对语音数据识别后,得到的多个路径的文本为转录文本。其中前缀树识别算法中包含声学模型的识别和语言模型的识别。同一段语音中可以识别出多个转录文本,计算各个转录文本的分值,根据各个转录文本的得分确定该段语音数据对应的目标转录文本。其中计算转录的得分为常见的分值计算方法,如计算该转录文本在声学模型的概率和语音模型中的概率的乘积,两个概率的幂指数加权系数后的乘积,或两个概率的乘积与路径长度乘积等等。
预设热词是指预先配置的热词,热词是指特定的业务场景频繁出现的词语。不同的业务场景可以配置不同的热词。一段语音中可以对应一个或多个预设热词,每个预设热词对应一个奖励值。每个预设热词对应的奖励值可以相同也可以不同,且各个预设热词对应的奖励值可以根据用户需求自定义。奖励值用于增大转录文本的分值,具体如何增大转录文本的得分可以自定义,如采用加法、乘法、指数等等数学运算增大分值。若奖励值为分值,则可以在转录文本的分值上直接加上该奖励值,得到目标分值,若该奖励值为加权系数,则采用该加权系数对转录文本的分值进行加权,得到目标分值。根据各个转录文本的目标分值筛选出分值最大的转录文本作为语音数据的解码文本,即该语音的最终识别结果。
在一个实施例中,当一个转录文本中包含多个预设热词时,采用每个预设热词的奖励值增大转录文本的分值。其中同一个预设热词出现多次时,可以自定义奖励规则。若对同一预设热词只增加一次奖励值,也可以每次出现都增加对应的奖励值,还可以限制增加预设次数的奖励值的次数等等。
上述解码语音数据的方法,包括:获取对语音数据进行转录得到的至少一个转录文本;获取各个转录文本的分值;获取语音数据对应的至少一个预设热词,每个预设热词对应一个奖励值;当转录文本中存在与预设热词匹配的字符串时,根据匹配的字符串的奖励值和转录文本的分值,计算转录文本的目标分值,目标分值用于确定语音数据的解码文本。对转录文本进行热词匹配,若存在匹配的热词则增加转录文本的得分,在不用更新模型的情况下,提升解码的准确率,且操作简单。
在一个实施例中,步骤S204,包括:计算匹配的字符串的奖励值和转录文本的分值的乘积,得到转录文本的目标分值。
具体地,该奖励值为加权系数,该加权系数为大于1的值,计算该加权系数与转录文本的分值的乘积,得到目标分值,由于加权系数大于,可以增大目标得分。通过直接乘上大于1的加权系数增加分值,计算简单,且可以有效的提高包含预设热词的转录文本中的分值,可以更好的适应特定场景的语音识别,提高特定场景下的识别准确率。
在一个实施例中,上述解码语音数据的方法,还包括:
步骤S301,当转录文本的当前长度大于或等于预设热词的长度时,从转录文本的当前长度对应的最后一个字符往前截取与预设热词的长度相同长度的字符串,得到待匹配字符串。
步骤S302,当待匹配字符串与预设热词匹配时,将待匹配字符串作为转录文本的匹配的字符串。
具体地,当前长度是指转录文本中当前字符对应的长度,如字符串为“如何购买易年保险”,当前字符为“买”,则对应的当前长度为4,若当前字符为“险”,则当前长度为8。若预设热词为“易年保险”,当当前长度为4时,从字符“买”往前截取4个字符,得到的待匹配字符串为“如何购买”,对待匹配字符串与预设热词进行匹配,当完全匹配时,即每个字符都对应相同,将改待匹配字符串作为匹配的字符串。在匹配时可以采用从前向后逐个字符串匹配的方式进行匹配,当当前字符串不匹配时,则停止匹配,无需对后续字符进行匹配则可以判断该待匹配字符与预设热词不匹配。
在一个实施例中,上述解码语音数据的方法,还包括:当转录文本中不包含预设热词时,将转录文本的分值作为转录文本的目标分值。
具体地,若转录文本中未检测到与各个预设热词相匹配的字符串,则直接采用之前的分值计算方法得到的分值作为目标分值。对于不存在预设热词的转录文本不增大分值,提高了包含预设热词的转录文本的得分,从而提升识别准确率。
在一个实施例中,上述解码语音数据的方法,还包括:
步骤S401,获取各个转录文本在声学模型中的概率,得到第一概率。
步骤S402,获取各个转录文本在语言模型中的概率,得到第二概率。
步骤S403,计算各个转录文本的第一概率和第二概率的乘积,得到各个转录文本的分值。
具体地,声学模型和语言模型可以为自定义的模型,也可以为常见的声学模型和语音模型。在声学模型中的概率是指通过声学模型识别为该文本的概率,即第一概率。语言模型中的概率是指通过声学模型识别为该文本的概率,即第二概率。计算两个概率的乘积,将乘积作为转录文本的分值。采用转录文本在两个模型中的概率的乘积作为转录文本的分值,计算简单方便。在一个实施例中,上述解码语音数据的方法,还包括:
步骤S404,获取语音模型的加权系数。
步骤S405,采用语音模型的加权系数作为幂指数更新各个第二概率,得到各个转录文本的第三概率。
在本具体实施例中,步骤S403,包括:计算各个转录文本的第一概率和第三概率的乘积,得到转录文本的分值。
具体地,语音模型的加权系数是用于对语音模型的概率进行加权的系数,该加权系数为第二概率的幂指数。采用幂指数更新第二概率,得到第三概率,采用第三概率和对应的第一概率的乘积作为转录文本的分值。该加权系数可以自定义。
在一个实施例中,上述解码语音数据的方法,还包括:
步骤S406,获取各个转录文本的路径长度。
在本具体实施例中,步骤S403,包括:计算各个转录文本的第一概率、第二概率和转录文本的路径长度的乘积,得到转录文本的分值。
具体地,转录文本的路径长度是指转录文本的字符长度,每增加一个字符,字符长度加1。计算第一概率、第二概率和转录文本的路径长度三个值的乘积,得到转录文本的分值。其中第二概率可以为采用加权系数更新得到的第三概率代替。
在一个实施例中,上述解码语音数据的方法,还包括:
步骤S407,获取预设惩罚加权系数。
步骤S408,采用预设惩罚加权系数作为幂指数更新路径长度,得到更新的路径长度。
在本具体实施例中,步骤S403,包括:计算各个转录文本的第一概率、第二概率和转录文本的更新的路径长度的乘积,得到转录文本的分值。
具体地,预设惩罚加权系数是用于降低分值的系数。通过预设惩罚加权系数对路径长度降低路径长度的影响力。即采用预设惩罚加权系数作为路径长度的幂指数,更新路径长度,得到更新的路径长度。计算各个转录文本的第一概率、第二概率和转录文本的更新的路径长度的乘积,得到转录文本的分值。其中第二概率可以为采用加权系数更新得到的第三概率代替。
在一个具体的实施例中,解码语音数据的方法,包括:
端到端的语音识别***主要包含三个部分,声学模型、语言模型和解码器。
声学模型训练之前,需要获取声学模型训练的输入,即将语音波形经过一定的预处理(如切除音频首尾端的静音),逐步进行提取频域特征的过程,将语音信号的原始波形经过分帧加窗变为一小段一小段音频,即原始语音帧,将原始语音帧经过快速傅立叶变换,再经过梅尔滤波器,和取对数的计算后,取位于前80维数据作为声学模型训练的输入,即为80维的Fbank特征。
声学模型的训练过程是,将特征提取阶段得到的特征送入设计好的声学神经网络模型中进行训练,直到模型收敛,得到最终的声学模型。声学模型的建模单元为字符级别,网络模型的输入即为帧级别的Fbank特征,输出为帧级别的字符标签的概率。声学模型的训练流程如模型训练时需要经过两个过程,一是前向过程,即将输入特征经过与网络参数的计算得到推测的输出标签的概率分布,二是反向过程,将推测得到的标签与真实的标签进行对比计算两者的“距离”(称为损失函数,具体为CTC损失函数),模型训练的目标则是最小化该损失函数,据此计算网络模型的梯度,即获得更新模型网络参数的方向和数值,经过不断地迭代直至损失函数的值不再减小,此时模型收敛,得到训练好的声学模型。
语言模型是使用处理好的语料通过统计语言模型训练工具进行生成的,语言模型用以计算一个字的序列组成句子的概率。
在解码阶段,将利用上述两个过程中得到的声学模型与语言模型,结合解码器对待识别语音进行解码,得到识别结果。参照图3,识别一条语音的流程为将待识别的语音经过特征提取,输入到声学模型中计算得到语音的帧级别的字符标签的概率分布,将此概率分布与统计语言模型一起给到解码器,解码器负责根据声学模型给出的帧级别的字符概率给出每个时间步可能的解码路径,再结合统计语言模型给出的语法得分为所有可能的解码路径进行打分,取得分最高,得到最后的解码结果。
前缀树搜索解码方法
解码器的输入有二:一是原始语音经过与声学模型的计算得到的概率分布,该概率分布的具体形式为一个二维矩阵,如图4所示,矩阵的两个维度分别为时间帧数与标签种类数,每个时间帧上的每个标签都有其对应的概率值;二则是语言模型,输入字符的序列,语言模型则可给出该字符序列的概率/得分。
前缀树的数据结构是前缀树搜索解码器的基础。前缀树是一种可以用于存储字符串的数据结构,它能压缩存储,将拥有相同头部的前缀/路径用同一条根路径进行表示,可以节省空间,同时方便查找前缀。例如,有 '不是', '不只', '走', '走向','不是你'这些词,这些词采用前缀树的数据结构如图5所示,可以看到相同头部的词语仅当出现不同的字符时树才会进行分叉,而词语前面相同的字符都可以合并为一条路径进行存储,这样也方便了查找前缀,减少路径搜索时间,例如,搜索“不”开头的词不再需要遍历整个列表,而是从树的根结点开始进行查找。
前缀树搜索解码器的工作原理如图6所示,首先,在第一个时间帧上,初始的候选路径为一个空字符串(“”表示空字符串),取概率矩阵上的第一个时间帧上的向量,即第一个时间帧上所有字符标签的概率,再遍历每个字符,对字符的概率进行判断,当概率大小满足一定要求时将字符加入到候选路径的尾部(概率不满足要求的字符将不会参与构成新路径),构成新的路径,再结合语言模型和词***惩罚项对路径进行评分,对评分从小到大进行排序,取评分位于预设位置之前的路径成为新的候选路径,作为下一个时间帧的候选路径,第二个时间帧也同样进行以上过程,把得到的新的候选路径给到下个时间帧;如此不断地遍历时间帧直至最后一个时间步,得到最终的得分位于预设位置的路径。再取得分最高的路径即为最后的结果。
路径的得分计算涉及到语言模型以及词***惩罚项的计算,下述公式为路径的分数计算公式;其中,net表示声学模型,X表示输入声学模型的语音特征,W表示转录文本,P表示声学模型的概率,则第一个乘积项表示输入X时声学模型的输出W的概率;lm表示语言模型,α 表示语言模型的权重,则第二个乘积项表示语言模型给出的得分;leng(W)表示路径长度,β 为词***惩罚项的权重,构成第三个乘积项为词***惩罚项的得分;三者相乘即为总的路径得分Score = Pnet(W,X)Plm(W)α|leng(W)|β。
图7展示了一条音频在每个时间帧得到的候选路径及路径的得分,框图中的每一行均为一条路径,以“/”为分隔,后面的数值为路径对应的得分,即为在前一时间步候选路径基础上,向路径末端加入该时间步上概率较高的前几个字符,计算加入新字符之后的新的路径对应的得分;取得得分最高的前200个结果,作为下个时间步的候选路径。后续的过程重复进行加入新字符、计算新路径的得分、取得分最高200个结果直至最终的时间步,取得分最高即为最终结果。
基于前缀树搜索的热词解码方法
基于前缀树搜索的热词解码方法的解码流程的主体如前所述。特别地,在解码流程中增加了热词匹配的算法,用以提高热词在路径评分中的得分。
图8为增加热词匹配算法时的解码流程的效果示意图,基于前缀树的热词解码方法是在每个时间步遍历候选路径的过程中,增加了热词匹配的步骤,即对新加字符到候选路径之后组成的新的路径的词尾,与规定好的热词列表进行匹配,在某时间步上候选路径为:“一年保”、“一年包”、“一连保”、“易年保”等200个候选路径,对这些候选路径加上这一时间步所有概率大小满足一定要求的字符,构成新的路径,如“一年保”延伸为“一年保险”、“一年保写”等等,构成每一条新路径的同时将对路径进行评分,这里增加了热词匹配的奖励值γ;则Scorehotword = Pnet(W,X)Plm(W)α|leng(W)|βγ。
具体的热词匹配算法为,对于每一条路径,遍历所有预设热词,取预设热词具有相应长度的路径尾部与预设热词进行对比,若路径的字符串长度小于热词长度时,则直接跳过匹配;同时,将新加入的字符为blank的情况排除在比较热词的范围之外,避免了重复为带有热词的路径增加热词奖励。如图9所示,如预设热词为“易年保险”,字符长度为4;在一段音频的前面的一些时间步往往构成的路径比较短,
如路径1“如何”长度为2小于待匹配的热词长度4,因此直接跳过,无热词奖励;直到路径长度大于等于热词长度,再进行热词匹配;如路径2“如何购买一年保险”取尾部长度为4的字符为“一年保险”,将“一年保险”与“易年保险”进行逐字符匹配,一旦出现字符不相等时则匹配不成功,停止比较,“一”与“易”不相同因此该路径匹配热词失败,无热词奖励得分;路径3“如何购买易年保险”取尾部长度为4的字符为“易年保险”,将“易年保险”与“易年保险”进行逐字符匹配,全部匹配成功时,则为该条路径增加了一定的热词奖励得分,使带有热词的路径会更容易出现在得分较高的前列;另外,若新加的字符为特殊情况的blank(用∅表示),如路径4,直接跳过,因而不会使得相同路径重复增加热词奖励。图9为单个热词的匹配流程,当给出多个热词的列表时,则在每次计算路径得分时,依次遍历每个热词,进行路径尾部与热词的匹配,每个热词的匹配与单个热词匹配的流程一致。
如此,便可以实现在解码过程中,定制热词,通过热词匹配的方法给予带有热词的解码路径更高的得分,来使得解码结果中更容易出现带有热词的路径。关于热词奖励的具体值的设定,先设置一系列粒度较大的实验值,用该场景下的语音,进行识别正确率的测试,取正确率最高的两个实验值作为新的实验值的取值区间,再在这个区间内取较小的粒度制定一系列的热词奖励的实验值,进行识别正确率的测试,取正确率最高时所对应的实验值作为最后的热词奖励。
语音识别的解码阶段中,可为特定的应用场景制定该场景下特定的经常出现的一个或多个热词,规定合理的热词奖励,使得解码过程中遍历所有的候选路径时,如果出现热词,则给予该条路径以一定的热词奖励,使得热词可以出现在最后的结果当中。该种方法只需沿用大规模数据集上训练得到的基础的声学模型和语言模型,无需收集新的场景语料,对声学模型进行迁移学习,也无需增添热词文本重新训练语言模型;有益于基础模型的泛化使用,使得基础模型可以灵活地应用到各种新场景下,也依然可以得到符合场景的较准确的识别结果。
图2为一个实施例中解码语音数据的方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种解码语音数据的装置200,包括:
转录文本获取模块201,用于获取对语音数据进行转录得到的至少一个转录文本。
分值获取模块202,用于获取各个转录文本的分值;
热词获取模块203,用于获取语音数据对应的至少一个预设热词,每个预设热词对应一个奖励值;
分值更新模块204,用于当转录文本中存在与预设热词匹配的字符串时,根据匹配的字符串的奖励值和转录文本的分值,计算转录文本的目标分值,目标分值用于确定语音数据的解码文本。
在一个实施例中,分值更新模块204具体用于计算匹配的字符串的奖励值和转录文本的分值的乘积,得到转录文本的目标分值。
在一个实施例中,上述解码语音数据的装置200,还包括:
热词匹配模块,用于当转录文本的当前长度大于或等于预设热词的长度时,从转录文本的当前长度对应的最后一个字符往前截取与预设热词的长度相同长度的字符串,得到待匹配字符串,当待匹配字符串与预设热词匹配时,将待匹配字符串作为转录文本的匹配的字符串。
在一个实施例中,分值更新模块204具体还用于分值作为转录文本的目标分值。
在一个实施例中,上述解码语音数据的装置200,还包括:
分值计算模块,用于获取各个转录文本在声学模型中的概率,得到第一概率,获取各个转录文本在语言模型中的概率,得到第二概率,计算各个转录文本的第一概率和第二概率的乘积,得到各个转录文本的分值。
在一个实施例中,分值计算模块具体还用于获取语音模型的加权系数,采用语音模型的加权系数作为幂指数更新各个第二概率,得到各个转录文本的第三概率,计算各个转录文本的第一概率和第三概率的乘积,得到转录文本的分值。
在一个实施例中,分值计算模块具体还用于获取各个转录文本的路径长度,计算各个转录文本的第一概率、第二概率和转录文本的路径长度的乘积,得到转录文本的分值。
在一个实施例中,分值计算模块具体还用于获取预设惩罚加权系数,采用预设惩罚加权系数作为幂指数更新路径长度,得到更新的路径长度,计算各个转录文本的第一概率、第二概率和转录文本的路径长度的乘积,得到转录文本的分值,包括:计算各个转录文本的第一概率、第二概率和转录文本的更新的路径长度的乘积,得到转录文本的分值。
图11示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110(或服务器120)。如图11所示,该计算机设备通过***总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现解码语音数据的方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行解码语音数据的方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的解码语音数据的装置可以实现为一种计算机程序的形式,计算机程序可在如图11所示的计算机设备上运行。计算机设备的存储器中可存储组成该解码语音数据的装置的各个程序模块,比如,图10所示的转录文本获取模块201、分值获取模块202、热词获取模块203和分值更新模块204。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的解码语音数据的方法中的步骤。
例如,图11所示的计算机设备可以通过如图10所示的解码语音数据的装置中的转录文本获取模块201执行获取对语音数据进行转录得到的至少一个转录文本。计算机设备可以通过分值获取模块202执行获取各个转录文本的分值。计算机设备可以通过热词获取模块203执行获取语音数据对应的至少一个预设热词,每个预设热词对应一个奖励值。计算机设备可以通过分值更新模块204当转录文本中存在与预设热词匹配的字符串时,根据匹配的字符串的奖励值和转录文本的分值,计算转录文本的目标分值,目标分值用于确定语音数据的解码文本。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取各个转录文本的分值;获取语音数据对应的至少一个预设热词,每个预设热词对应一个奖励值;当转录文本中存在与预设热词匹配的字符串时,根据匹配的字符串的奖励值和转录文本的分值,计算转录文本的目标分值,目标分值用于确定语音数据的解码文本。
在一个实施例中,当转录文本中存在与预设热词匹配的字符串时,根据匹配的字符串的奖励值和转录文本的分值,计算转录文本的目标分值,包括:计算匹配的字符串的奖励值和转录文本的分值的乘积,得到转录文本的目标分值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当转录文本的当前长度大于或等于预设热词的长度时,从转录文本的当前长度对应的最后一个字符往前截取与预设热词的长度相同长度的字符串,得到待匹配字符串;当待匹配字符串与预设热词匹配时,将待匹配字符串作为转录文本的匹配的字符串。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当转录文本中不包含预设热词时,将转录文本的分值作为转录文本的目标分值。
在一个实施例中,获取各个转录文本的分值之前,计算机程序被处理器执行时还实现以下步骤:获取各个转录文本在声学模型中的概率,得到第一概率;获取各个转录文本在语言模型中的概率,得到第二概率;计算各个转录文本的第一概率和第二概率的乘积,得到各个转录文本的分值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取语音模型的加权系数;采用语音模型的加权系数作为幂指数更新各个第二概率,得到各个转录文本的第三概率;计算各个转录文本的第一概率和第二概率的乘积,得到各个转录文本的分值,包括:计算各个转录文本的第一概率和第三概率的乘积,得到转录文本的分值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取各个转录文本的路径长度;计算各个转录文本的第一概率和第二概率的乘积,得到转录文本的分值,包括:计算各个转录文本的第一概率、第二概率和转录文本的路径长度的乘积,得到转录文本的分值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预设惩罚加权系数;采用预设惩罚加权系数作为幂指数更新路径长度,得到更新的路径长度;计算各个转录文本的第一概率、第二概率和转录文本的路径长度的乘积,得到转录文本的分值,包括:计算各个转录文本的第一概率、第二概率和转录文本的更新的路径长度的乘积,得到转录文本的分值。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取对语音数据进行转录得到的至少一个转录文本;获取各个转录文本的分值;获取语音数据对应的至少一个预设热词,每个预设热词对应一个奖励值;当转录文本中存在与预设热词匹配的字符串时,根据匹配的字符串的奖励值和转录文本的分值,计算转录文本的目标分值,目标分值用于确定语音数据的解码文本。
在一个实施例中,当转录文本中存在与预设热词匹配的字符串时,根据匹配的字符串的奖励值和转录文本的分值,计算转录文本的目标分值,包括:计算匹配的字符串的奖励值和转录文本的分值的乘积,得到转录文本的目标分值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当转录文本的当前长度大于或等于预设热词的长度时,从转录文本的当前长度对应的最后一个字符往前截取与预设热词的长度相同长度的字符串,得到待匹配字符串;当待匹配字符串与预设热词匹配时,将待匹配字符串作为转录文本的匹配的字符串。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当转录文本中不包含预设热词时,将转录文本的分值作为转录文本的目标分值。
在一个实施例中,获取各个转录文本的分值之前,计算机程序被处理器执行时还实现以下步骤:获取各个转录文本在声学模型中的概率,得到第一概率;获取各个转录文本在语言模型中的概率,得到第二概率;计算各个转录文本的第一概率和第二概率的乘积,得到各个转录文本的分值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取语音模型的加权系数;采用语音模型的加权系数作为幂指数更新各个第二概率,得到各个转录文本的第三概率;计算各个转录文本的第一概率和第二概率的乘积,得到各个转录文本的分值,包括:计算各个转录文本的第一概率和第三概率的乘积,得到转录文本的分值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取各个转录文本的路径长度;计算各个转录文本的第一概率和第二概率的乘积,得到转录文本的分值,包括:计算各个转录文本的第一概率、第二概率和转录文本的路径长度的乘积,得到转录文本的分值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预设惩罚加权系数;采用预设惩罚加权系数作为幂指数更新路径长度,得到更新的路径长度;计算各个转录文本的第一概率、第二概率和转录文本的路径长度的乘积,得到转录文本的分值,包括:计算各个转录文本的第一概率、第二概率和转录文本的更新的路径长度的乘积,得到转录文本的分值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。