掌桥专利:专业的专利平台
掌桥专利
首页

基于语音识别结果的匹配方法

文献发布时间:2023-06-19 12:16:29


基于语音识别结果的匹配方法

技术领域

本发明涉及关键词匹配技术领域,特别涉及一种基于语音识别结果的匹配方法。

背景技术

现有技术中,关键词匹配技术通常采用关键词匹配算法或者基于编辑距离的模糊匹配算法来进行匹配处理;其中,关键词匹配算法具有严格约束的限制,即只有当整个字符串完全一致时才能匹配成功,只要存在不匹配的内容都会匹配失败,因此缺乏容错性;基于编辑距离的模糊匹配算法通常考虑整个字符串的模糊匹配,在口语语音识别结果与目标内容的匹配场景中匹配结果往往不能真实反映匹配程度。

口语表达有随意性且跟说话人的地域、年龄以及表达习惯相关;口语语音通话过程中通常会有一些前置功能词汇、后置功能词汇或者插入功能词汇,这些功能词汇不影响整体表达内容,但会严重干扰匹配效果;同时,语音识别系统输出结果存在识别错误,识别错误包括替代错误、插入错误和删除错误,以上的识别错误也会严重影响匹配效果。

发明内容

基于此,为解决现有技术中的技术问题,特提出了一种基于语音识别结果的匹配方法,包括:

将参考文字序列转换为参考符号序列;

将语音识别结果转换为识别符号序列;其中,所述语音识别结果为N条最优路径的词序列或者单条最优路径的词序列;

所述参考符号序列及所述识别符号序列为词序列、字序列或者音子序列;

将所述识别符号序列与所述参考符号序列进行序列匹配处理并计算匹配得分,将匹配得分最高的匹配路径对应的识别符号序列作为序列匹配结果。

在一种实施例中,所述参考符号序列及所述识别符号序列的匹配粒度包括词匹配、字匹配、音子匹配;

当匹配粒度为词匹配时,所述参考符号序列为词序列,所述识别符号序列为词序列;当匹配粒度为字匹配时,所述参考符号序列为字序列,所述识别符号序列为字序列;当匹配粒度为音子匹配时,所述参考符号序列为音子序列,所述识别符号序列为音子序列,所述参考符号序列及所述识别符号序列带有声调信息。

在一种实施例中,当语音识别结果为N条最优路径的词序列时,将语音识别结果转换为对应的N个识别符号序列;当语音识别结果为单条最优路径的词序列时,则将语音识别结果转换为对应的单个识别符号序列。

在一种实施例中,对参考符号序列及识别符号序列进行序列匹配处理并计算匹配得分,具体包括:

调用序列对齐算法,获取参考符号序列及识别符号序列的对齐信息;序列对齐算法根据对齐信息选择忽略参考符号序列及识别符号序列开始及结束位置处未对齐部分,保留参考符号序列及识别符号序列的中间对齐部分;计算参考符号序列及识别符号序列中间对齐部分的匹配得分。

在一种实施例中,所述序列对齐算法为改进型Levenshtein算法,所述序列对齐算法忽略对齐序列开始位置到第一个匹配点的惩罚参数,并忽略对齐序列最后一个匹配点到结束位置的惩罚参数。

在一种实施例中,所述序列对齐算法包括:

初始化序列对齐算法;计算从开始位置到任意子串的匹配距离;进行回溯并找出最佳匹配路径,同时记录对齐处理过程。

在一种实施例中,计算参考符号序列及识别符号序列中间对齐部分的匹配得分,具体包括:

所述匹配得分包括替代得分CorrectScore、插入得分InsertScore、删除得分DeleteScore;初始化所述替代得分、所述插入得分、所述删除得分,即设置CorrectScore=0,InsertScore=0,DeleteScore=0;

当参考符号序列及识别符号序列的匹配粒度为词匹配或字匹配时,逐个比对参考符号序列及识别符号序列的对齐符号单元;当比对内容一致时则替代得分加1,即CorrectScore = CorrectScore+1;当比对内容不一致,且识别符号序列相比参考符号序列插入了符号时,则插入得分加1,即InsertScore = InsertScore+1;当比对内容不一致,且识别符号序列相比参考符号序列删除了符号时,则删除得分加1,即DeleteScore =DeleteScore+1;

根据替代得分、插入得分、删除得分及参考文字序列长度计算得到匹配得分,即MatchScore=(CorrectScore-DeleteScore-InsertScore)/ReferenceLength;

其中,MatchScore为匹配得分,ReferenceLength为参考文字序列长度。

在一种实施例中,当参考符号序列及识别符号序列的匹配粒度为音子匹配时,构造音子混淆矩阵及混淆概率矩阵;

逐个比对参考符号序列及识别符号序列的对齐符号单元;当比对的两个对齐符号单元均不为空时,则查询混淆概率矩阵得到两个对齐符号单元之间的匹配距离值,将替代得分加1并减去两个对齐符号单元之间的匹配距离值,即CorrectScore = CorrectScore+(1– Distance),其中Distance为匹配距离值;

当识别符号序列的对齐符号单元为空时,则将删除得分增加惩罚参数,即DeleteScore = DeleteScore+PenaltyWeight;当参考符号序列的对齐符号单元为空时,则将插入得分增加惩罚参数,即InsertScore = InsertScore+PenaltyWeight;其中,PenaltyWeight为惩罚参数。

在一种实施例中,构造音子混淆矩阵,具体包括:

对语音数据进行语音识别处理后输出识别音子序列;

将所述语音数据对应标注的文字序列转换为标注音子序列;

对所述识别音子序列与所述标注音子序列进行匹配粒度为音子匹配的对齐处理,将所述识别音子序列与所述标注音子序列的对齐部分构造为音子混淆矩阵,并去除无法对齐部分;

其中,所述音子混淆矩阵的矩阵行为标注音子序列,所述音子混淆矩阵的矩阵列为识别音子序列,所述音子混淆矩阵中的单元值为对齐部分中标注音子与识别音子构成的音子对的对应频次。

在一种实施例中,构造混淆概率矩阵,具体包括:

所述混淆概率矩阵的矩阵行为标注音子序列,所述混淆概率矩阵的矩阵列为识别音子序列;

其中,所述混淆概率矩阵中的单元值为标注音子与识别音子构成的音子对的对应频次除以该行所有单元值总和后得到的该音子对的发生概率,或称为发音混淆概率;音子对的发生概率为音子对相似度,标注音子与识别音子之间的匹配距离值由1减去音子对相似度得到。

实施本发明实施例,将具有如下有益效果:

本发明支持从N-best路径中去进行匹配,通过找到最佳匹配路径以提高最终的匹配准确率,降低因为语音识别取最优所带来的错误或误差;

支持对前置内容和后置内容进行过滤,前置或后置内容本身并不影响句子语义,忽略之后明显提高关键内容的匹配精度;

支持基于发音序列相似性的匹配,避免同音误识带来的匹配错误问题;匹配的基本单元由字词扩展至音节或者音子,匹配粒度变小,匹配判别上同音字误识不影响匹配精度;同时,匹配粒度变小之后能够准确感知部分错误,比如声母或韵母错误,匹配精度更高;

支持无声调的发音序列相似性匹配,避免口语发音不准带来的匹配错误问题;由于口音影响,语音识别器会误识别为同音但不同调的文字;通过无调发音序列的匹配可提高对该类错误的容错性;

支持发音序列的模糊匹配,避免发音偏差及识别错误带来的匹配错误问题;由于口音、方言影响,部分地区的发音具有规律性变化,例如l与n不分、h与f不分;通过对大数据量的语音数据进行处理获得音子混淆矩阵,并通过构造混淆概率矩阵来计算发音混淆概率,对于发音不一致内容提供相似性评估,有效解决0-1硬性判决问题;通过对音子序列的模糊匹配处理,能够避免口语发音偏差及语音识别错误所导致的匹配错误问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1为本发明中基于语音识别结果的匹配方法的流程示意图;

图2为本发明中序列匹配处理并计算匹配得分的流程示意图;

图3为本发明中序列对齐算法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明公开了一种基于语音识别结果的匹配方法,包括:

将参考文字序列转换为参考符号序列;其中,所述参考符号序列为词序列、字序列、或者音子序列;

特别地,参考符号序列的匹配粒度包括词匹配、字匹配、音子匹配;在音子匹配中,参考符号序列包括声调信息;

当匹配粒度为词匹配时,将参考文字序列转换为词序列,即转换后的参考符号序列为词序列;当匹配粒度为字匹配时,将参考文字序列转换为字序列,即转换后的参考符号序列为字序列;当匹配粒度为音子匹配时,将参考文字序列转换为音子序列,即转换后的参考符号序列为音子序列,音子序列带有声调信息,即参考符号序列带有声调信息;

将语音识别结果转换为识别符号序列;其中,语音识别结果为N条最优路径(N-best)的词序列,或者为单条(N=1)最优路径(One-best)的词序列;其中,N为大于1的整数;

其中,One-best是基于当前语音识别声学模型与语言模型通过语音识别解码器搜索出的最佳路径;然而,由于语音的噪音污染、口音变化以及对话语言场景不匹配问题会造成One-best经常无法得到最优的识别结果;

其中,N-best是基于当前语音识别的声学模型与语言模型通过语音识别解码器搜索出的最优的N条路径(Top-N);再结合语言信息或语音信息从N条路径中选择最佳路径;

支持对N-best语音识别结果及One-best语音识别结果进行匹配处理,且默认首选从N-best路径中去进行匹配,并选出最佳路径,以提高最终匹配准确率,降低因为语音识别选取最优所带来的错误或误差;

特别地,识别符号序列的匹配粒度包括词匹配、字匹配、音子匹配;在音子匹配中,识别符号序列包括声调信息;

当匹配粒度为词匹配时,将语音识别结果转换为词序列,即转换后的识别符号序列为词序列;当匹配粒度为字匹配时,将语音识别结果转换为字序列,即转换后的识别符号序列为字序列;当匹配粒度为音子匹配时,将语音识别结果转换为音子序列,即转换后的识别符号序列为音子序列,音子序列带有声调信息,即识别符号序列带有声调信息;

识别符号序列的匹配粒度与参考符号序列的匹配粒度保持一致,以便后续进行序列匹配处理,即当匹配粒度为词匹配时,所述参考符号序列为词序列,所述识别符号序列为词序列;当匹配粒度为字匹配时,所述参考符号序列为字序列,所述识别符号序列为字序列;当匹配粒度为音子匹配时,所述参考符号序列为音子序列,所述识别符号序列为音子序列;

特别地,当语音识别结果为N条最优路径(N-best)的词序列时,则将语音识别结果转换为对应的N个识别符号序列,N为大于1的整数;当语音识别结果为单条最优路径(One-best)的词序列时,则将语音识别结果转换为对应的单个识别符号序列;

步骤3,将识别符号序列与参考符号序列进行序列匹配处理并计算匹配得分,将匹配得分最高的匹配路径对应的识别符号序列作为序列匹配结果;

如图2所示,其中,对参考符号序列及识别符号序列进行序列匹配处理并计算匹配得分,具体包括:

步骤3.1,调用序列对齐算法,获取参考符号序列及识别符号序列的对齐信息;

步骤3.2,序列对齐算法选择忽略参考符号序列及识别符号序列开始及结束位置处未对齐部分,保留参考符号序列及识别符号序列的中间对齐部分;

步骤3.3,计算参考符号序列及识别符号序列中间对齐部分的匹配得分;

在序列对齐算法中,未对齐部分可以忽略也可以不忽略,而是否忽略未对齐部分可以根据应用场景确定,从而使得序列对齐算法具有更强适应力,默认情况下算法忽略未对齐部分;

特别地,序列对齐算法为改进型Levenshtein算法,序列对齐算法忽略对齐序列开始位置到第一个匹配点的惩罚参数,并忽略对齐序列最后一个匹配点到结束位置的惩罚参数,从而保持紧致的对齐处理;

特别地,如图3所示,序列对齐算法包括如下步骤:

初始化序列对齐算法;计算从开始位置到任意子串的匹配距离;进行回溯并找出最佳匹配路径,记录对齐处理过程;

其中,计算参考符号序列及识别符号序列中间对齐部分的匹配得分,具体包括:

匹配得分包括替代得分、插入得分、删除得分;替代得分为CorrectScore,插入得分为InsertScore,删除得分为DeleteScore;

初始化替代得分、插入得分、删除得分,即设置CorrectScore=0,InsertScore=0,DeleteScore=0;

当参考符号序列及识别符号序列的匹配粒度为词匹配或字匹配时,不使用混淆矩阵,具体包括:

当参考符号序列及识别符号序列的匹配粒度为词匹配或字匹配时,逐个比对参考符号序列及识别符号序列的对齐符号单元,当比对内容一致时则替代得分加1,即CorrectScore = CorrectScore+1;当比对内容不一致,且识别符号序列相比参考符号序列插入了符号时,则插入得分加1,即InsertScore = InsertScore+1;当比对内容不一致,且识别符号序列相比参考符号序列删除了符号时,则删除得分加1,即DeleteScore =DeleteScore+1;

当参考符号序列及识别符号序列的匹配粒度为音子匹配时,使用混淆矩阵,具体包括:

当参考符号序列及识别符号序列的匹配粒度为音子匹配时,构造音子混淆矩阵及混淆概率矩阵;

逐个比对参考符号序列及识别符号序列的对齐符号单元,当比对的两个对齐符号单元均不为空时,则查询混淆概率矩阵得到两个对齐符号单元之间的匹配距离值,将替代得分加1并减去两个对齐符号单元之间的匹配距离值Distance,即CorrectScore =CorrectScore+(1– Distance);其中,Distance为匹配距离值;

当识别符号序列的对齐符号单元为空时,则将删除得分增加惩罚参数,即DeleteScore = DeleteScore+PenaltyWeight;当参考符号序列的对齐符号单元为空时,则将插入得分增加惩罚参数,即InsertScore = InsertScore+PenaltyWeight;其中,PenaltyWeight为惩罚参数;

根据替代得分、插入得分、删除得分及参考文字序列长度计算得到匹配得分,即MatchScore=(CorrectScore-DeleteScore-InsertScore)/ReferenceLength;

其中,MatchScore为匹配得分,ReferenceLength为参考文字序列长度;

特别地,构造音子混淆矩阵,具体包括:

对语音数据进行语音识别处理后输出识别音子序列;

将所述语音数据对应标注的文字序列转换为标注音子序列;

对所述识别音子序列与所述标注音子序列进行匹配粒度为音子匹配的对齐处理,将所述识别音子序列与所述标注音子序列的对齐部分构造为音子混淆矩阵,并去除无法对齐部分;

其中,所述音子混淆矩阵的矩阵行为标注音子序列,所述音子混淆矩阵的矩阵列为识别音子序列,所述音子混淆矩阵中的单元值为对齐部分中标注音子与识别音子构成的音子对的对应频次;

特别地,构造混淆概率矩阵,具体包括:

所述混淆概率矩阵的矩阵行为标注音子序列,所述混淆概率矩阵的矩阵列为识别音子序列;所述混淆概率矩阵的行列信息与所述音子混淆矩阵相一致;

其中,所述混淆概率矩阵中的单元值为标注音子与识别音子构成的音子对的对应频次除以该行所有单元值总和后得到的该音子对的发生概率,或称为发音混淆概率;音子对的发生概率为音子对相似度,音子对相似度对发音不一致的内容能够提供相似性评估;标注音子与识别音子之间的匹配距离值由1减去音子对相似度得到。

本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种基于语音识别结果的匹配方法的部分或全部步骤。

本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种基于语音识别结果的匹配方法的部分或全部步骤。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种基于语音识别的相亲匹配方法及装置
  • 基于语音识别结果的匹配方法
技术分类

06120113238794