语音信号处理方法、装置、电子设备及存储介质与流程
本发明涉及人工智能技术领域,尤其涉及一种语音信号处理方法、装置、电子设备及存储介质。
背景技术:
随着科学技术的迅猛发展,智能设备已经拥有了强大的处理能力,使得智能设备在一定程度上能够像人类一样理解自然语言,从而实现了人机交互。自然语言处理过程中一个重要的环节是语义识别,现有的语音信号处理方法通常是基于固定的语料库实现的,即基于用户输入的语音数据对应的语音识别结果,从语料库中获取对应的语料,基于获取的语料确定语义识别结果。然而,语料库中的语料数量较多,导致匹配效率较低,从而导致语义识别速度很慢,进而延长了智能设备的响应时间,导致用户无法获到及时的回复,降低了用户体验。
技术实现要素:
本发明实施例提供一种语音信号处理方法、装置、电子设备及存储介质,以解决现有技术中语义识别速度慢导致智能设备的响应时间长的问题。
第一方面,本发明一实施例提供了一种语音信号处理方法,包括:
对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果;
根据至少一次临时识别结果,确定对应的语料集合,所述语料集合包括至少一个语料;
若之后的任一次临时识别结果与所述语料集合中的任一语料匹配,将所匹配的语料确定为所述临时识别结果的预测文本。
可选地,所述根据至少一次临时识别结果,确定对应的语料集合,具体包括:
从语料库中选取与本次临时识别结果匹配的候选语料,得到语料集合。
可选地,从语料库中选取与所述临时识别结果匹配的语料,得到语料集合,具体包括:
若从语料库中确定出与本次临时识别结果匹配的候选语料的数量超过第一预设数量,根据各候选语料的文本长度,对所述候选语料进行排序,选择排序靠前的第一预设数量个候选语料,得到语料集合;
或者,若从语料库中确定出与本次临时识别结果匹配的候选语料的数量超过第一预设数量,根据各候选语料的被命中的次数,对所述候选语料进行排序,选择排序靠前的第一预设数量个候选语料,得到语料集合。
可选地,若之后的任一次临时识别结果与所述语料集合中的任一语料匹配,将所匹配的语料确定为所述临时识别结果的预测文本,具体包括:
若下一次临时识别结果与所述语料集合中的任一语料一致,将所述语料确定为所述下一次临时识别结果的预测文本。
可选地,所述方法还包括:若下一次临时识别结果与所述语料集合中的所有语料均不一致,根据所述下一次临时识别结果,重新确定语料集合。
可选地,所述根据所述下一次临时识别结果,重新确定语料集合,具体包括:
从所述语料库中选取与所述下一次临时识别结果匹配的候选语料,得到第一候选集合;
从所述第一候选集合中选取出与之前确定出的语料集合中包含的语料均不同的候选语料,将选取出的候选语料添加到所述语料集合中。
可选地,所述根据至少一次临时识别结果,确定对应的语料集合,具体包括:
根据语料库包含的各语料集合对应的特征词和至少一次临时识别结果,确定对应的语料集合,所述语料库中包含相同特征词的语料被划分到同一语料集合中。
可选地,所述根据语料库包含的各语料集合对应的特征词和至少一次临时识别结果,确定对应的语料集合,具体包括:
若任一语料集合对应的特征词与本次临时识别结果包含的至少部分文本一致,将所述语料集合确定为本次临时识别结果对应的语料集合;
或者,若任一语料集合对应的特征词与本次临时识别结果的相似度高于第一阈值,将所述语料集合确定为本次临时识别结果对应的语料集合。
可选地,所述根据语料库包含的各语料集合对应的特征词和至少一次临时识别结果,确定对应的语料集合,具体包括:
根据至少一次临时识别结果与所述特征词的匹配结果,确定本次临时识别结果中的无效文本;
根据各语料集合对应的特征词和至少一次临时识别结果中除去所述无效文本的有效文本,确定对应的语料集合。
可选地,所述根据至少一次临时识别结果与所述特征词的匹配结果,确定本次临时识别结果中的无效文本,具体包括:
若本次临时识别结果匹配到的第一特征词和上一次临时识别结果匹配到的第二特征词不同,且所述第一特征词与本次临时识别结果的相似度高于所述第二特征词与上一次临时识别结果的相似度,确定所述上一次临时识别结果为无效文本;
或者,若本次临时识别结果中包含预设的高频词汇,且本次临时识别结果匹配到的第一特征词对应的相似度高于上一次临时识别结果匹配到的第二特征词对应的相似度,确定所述本次临时识别结果中包含的高频词汇前的文本为无效文本。
可选地,根据以下方式确定之后的任一次临时识别结果与所述语料集合中的任一语料匹配:
根据之后的任一次临时识别结果与所述语料集合中的任一语料的相似度,确定与所述任一次临时识别结果匹配的语料;或者
若所述语料集合中的任一语料包含之后的任一次临时识别结果,确定所述任一语料为与所述任一次临时识别结果匹配的语料。
可选地,所述根据之后的任一次临时识别结果与所述语料集合中的任一语料的相似度,确定与所述任一次临时识别结果匹配的语料,具体包括:
若第一语料的相似度和第二语料的相似度的差值大于预设差值,确定所述第一语料为本次临时识别结果匹配到的语料,所述第一语料为所述语料集合中与本次临时识别结果的相似度最高的语料,所述第二语料为所述语料集合中与本次临时识别结果的相似度次高的语料;
或者,若所述语料库中,分别与相邻的多次临时识别结果的相似度最高的语料均为第一语料,且所述多次临时识别结果与所述第一语料的相似度的变化趋势为先增大后减小,确定所述第一语料为与第一临时识别结果匹配的语料,所述第一临时识别结果为所述多次临时识别结果中与所述第一语料的相似度的值最高的临时识别结果。
可选地,所述方法还包括:
在本次临时识别结果中包含的已识别文本后增加截断标识,其中,所述已识别文本为所述预测文本对应的临时识别结果;
根据至少一次临时识别结果中截断标识后的文本,确定对应的语料集合。
可选地,在首次根据至少一次临时识别结果,确定对应的语料集合之前,还包括:
确定所述临时识别结果包含的文字数量超过第二预设数量。
可选地,所述方法还包括:
若在所述智能设备实时采集到的音频流数据中检测到语音结束点,清空之前得到的临时识别结果,并返回对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果的步骤。
第二方面,本发明一实施例提供了一种语音信号处理装置,包括:
语音识别模块,用于对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果;
确定模块,用于根据至少一次临时识别结果,确定对应的语料集合,所述语料集合包括至少一个语料;
预测模块,用于若之后的任一次临时识别结果与所述语料集合中的任一语料匹配,将所匹配的语料确定为所述临时识别结果的预测文本。
可选地,所述确定模块,具体用于:
从语料库中选取与本次临时识别结果匹配的候选语料,得到语料集合。
可选地,所述确定模块,具体用于:
若从语料库中确定出与本次临时识别结果匹配的候选语料的数量超过第一预设数量,根据各候选语料的文本长度,对所述候选语料进行排序,选择排序靠前的第一预设数量个候选语料,得到语料集合;
或者,若从语料库中确定出与本次临时识别结果匹配的候选语料的数量超过第一预设数量,根据各候选语料的被命中的次数,对所述候选语料进行排序,选择排序靠前的第一预设数量个候选语料,得到语料集合。
可选地,所述预测模块,具体用于:
若下一次临时识别结果与所述语料集合中的任一语料一致,将所述语料确定为所述下一次临时识别结果的预测文本。
可选地,所述确定模块,还用于:
若下一次临时识别结果与所述语料集合中的所有语料均不一致,根据所述下一次临时识别结果,重新确定语料集合。
可选地,所述确定模块,具体用于:
从所述语料库中选取与所述下一次临时识别结果匹配的候选语料,得到第一候选集合;
从所述第一候选集合中选取出与之前确定出的语料集合中包含的语料均不同的候选语料,将选取出的候选语料添加到所述语料集合中。
可选地,所述确定模块,具体用于:
根据语料库包含的各语料集合对应的特征词和至少一次临时识别结果,确定对应的语料集合,所述语料库中包含相同特征词的语料被划分到同一语料集合中。
可选地,所述确定模块,具体用于:
若任一语料集合对应的特征词与本次临时识别结果包含的至少部分文本一致,将所述语料集合确定为本次临时识别结果对应的语料集合;
或者,若任一语料集合对应的特征词与本次临时识别结果的相似度高于第一阈值,将所述语料集合确定为本次临时识别结果对应的语料集合。
可选地,所述确定模块,具体用于:
根据至少一次临时识别结果与所述特征词的匹配结果,确定本次临时识别结果中的无效文本;
根据各语料集合对应的特征词和至少一次临时识别结果中除去所述无效文本的有效文本,确定对应的语料集合。
可选地,所述确定模块,具体用于:
若本次临时识别结果匹配到的第一特征词和上一次临时识别结果匹配到的第二特征词不同,且所述第一特征词与本次临时识别结果的相似度高于所述第二特征词与上一次临时识别结果的相似度,确定所述上一次临时识别结果为无效文本;
或者,若本次临时识别结果中包含预设的高频词汇,且本次临时识别结果匹配到的第一特征词对应的相似度高于上一次临时识别结果匹配到的第二特征词对应的相似度,确定所述本次临时识别结果中包含的高频词汇前的文本为无效文本。
可选地,所述预测模块,具体用于根据以下方式确定之后的任一次临时识别结果与所述语料集合中的任一语料匹配:
根据之后的任一次临时识别结果与所述语料集合中的任一语料的相似度,确定与所述任一次临时识别结果匹配的语料;
或者,若所述语料集合中的任一语料包含之后的任一次临时识别结果,确定所述任一语料为与所述任一次临时识别结果匹配的语料。
可选地,所述预测模块,具体用于:
若第一语料的相似度和第二语料的相似度的差值大于预设差值,确定所述第一语料为本次临时识别结果匹配到的语料,所述第一语料为所述语料集合中与本次临时识别结果的相似度最高的语料,所述第二语料为所述语料集合中与本次临时识别结果的相似度次高的语料;
或者,若所述语料库中,分别与相邻的多次临时识别结果的相似度最高的语料均为第一语料,且所述多次临时识别结果与所述第一语料的相似度的变化趋势为先增大后减小,确定所述第一语料为与第一临时识别结果匹配的语料,所述第一临时识别结果为所述多次临时识别结果中与所述第一语料的相似度的值最高的临时识别结果。
可选地,所述确定模块,还用于:
在本次临时识别结果中包含的已识别文本后增加截断标识,其中,所述已识别文本为所述预测文本对应的临时识别结果;
根据至少一次临时识别结果中截断标识后的文本,确定对应的语料集合。
可选地,所述确定模块,还用于:
在首次根据至少一次临时识别结果,确定对应的语料集合之前,确定所述临时识别结果包含的文字数量超过第二预设数量。
可选地,还包括清空模块,用于:
若在所述智能设备实时采集到的音频流数据中检测到语音结束点,清空之前得到的临时识别结果,并返回执行所述语音识别模块的功能。
第三方面,本发明一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
第四方面,本发明一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
第五方面,本发明一实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一种方法的步骤。
本发明实施例提供的技术方案,可根据实时获得的临时识别结果,确定出与该临时识别结果匹配的语料集合,缩小匹配的范围,然后,随着语音识别的进行得到更加完整的临时识别结果,此时,可从该语料集合中确定出当前的临时识别结果对应的预测文本,这大大减少了文本预测过程中需要匹配的数据量,提高了文本预测效率,进而提高语义识别效率,使得智能设备能够针对用户的输入作出实时的响应,提高用户体验。此外,由于语音识别与文本预测的过程同步进行,在完成语音识别同时,基本可同步完成文本预测,进一步提高了文本预测效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的语音信号处理方法的应用场景示意图;
图2为本发明一实施例提供的语音信号处理方法的流程示意图;
图3为本发明一实施例提供的语音信号处理方法的流程示意图;
图4为本发明一实施例提供的语音信号处理方法的流程示意图;
图5为本发明一实施例提供的语音信号处理方法的流程示意图;
图6为本发明一实施例提供的语音信号处理装置的结构示意图;
图7为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了方便理解,下面对本发明实施例中涉及的名词进行解释:
词组,是由句法、语义和语用三个层面上能够搭配的语言单位组合起来的没有句调的语言单位,又叫短语。词组大于词而又不成句的语法单位,简单的词组可以充当复杂词组的句法成分,词组加上句调可以成为句子。通常,词组包括至少一个单词(字),例如,短语可以是“介绍一下”、“北京”、“北京的美食”等。
语素,是语言中最小的音义结合体,也就是说一个语言单位必须同时满足三个条件——“最小、有音、有义”才能被称作语素,尤其是“最小”和“有义”。
实时语音转写(real-timeasr),基于深度全序列卷积神经网络框架,通过websocket协议,建立应用与语言转写核心引擎的长连接,能够将音频流数据实时转换成文字流数据,实现用户边说话边生成文本,一般按照语素为最小单位,输出识别出的临时识别结果。例如,采集的音频流为:“今”-“天”-“天”-“气”-“怎”-“么”-“样”,按照音频流的顺序进行识别,先输出临时识别结果“今天”,然后,输出临时识别结果“今天天”,以此类推,直到对整段音频流识别完毕,得到最终识别结果“今天天气怎么样”。实时语音转写技术还能够基于后续的音频流以及对上下文的语义理解,对之前输出的临时识别结果进行智能纠错,保证最终识别结果的准确性,也就是说,基于音频流实时输出的临时识别结果,是随着时间不断变化,例如,第一次输出的临时识别结果为“金”,第二次输出的临时识别结果被纠正为“今天”,第三次输出的临时识别结果可能为“今天田”,第四次输出的临时识别结果又被纠正为“今天天气”,以此类推,通过不断的识别、纠正,得到准确的最终识别结果。
语音活动检测(voiceactivitydetection,vad),又称语音端点检测,是指在噪声环境中检测语音的存在与否,通常用于语音编码、语音增强等语音处理系统中,起到降低语音编码速率、节省通信带宽、减少移动设备能耗、提高识别率等作用。早先具有代表性的vad方法有itu-t的g.729annexb。目前,语音活动检测技术已广泛应用到语音识别过程中,通过语音活动检测技术检测出一段音频中真正包含用户语音的部分,从而消除音频中静音的部分,仅对包含用户语音的部分音频进行识别处理。
附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
现有的语义识别方法通常是基于固定的语料库实现的,即基于用户输入的语音数据对应的语音识别结果,从语料库中获取对应的语料作为预测文本,然后基于预测文本获取语义识别结果。然而,语料库中的语料数量较多,降低了匹配效率,从而延长了智能设备的响应时间,导致用户无法获到及时的回复,降低了用户体验。此外,随着语音识别技术的发展,目前已经能够实现实时语音转写,即将持续输入的音频流数据实时转换为文字流数据,而不需要等待用户说完完整的一段语音后,再基于整段语音生成对应的文字,基于实时语音转写技术,可即时输出音频流数据对应的临时识别结果,语音识别的效率大大提高。但是,大多数临时识别结果只是中间结果,还不是最终的语音识别结果,如“今天”、“今天天气”等,基于这些中间结果,难以从语料库中匹配到合适的语料,而如果等到识别出最终的语音识别结果后在去语料库中匹配,显然浪费了实时语音转写技术带来的高处理效率。因此,亟需提高语义识别的处理效率。
为此,本发明的发明人考虑到,对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果,根据至少一次临时识别结果,确定对应的语料集合,该语料集合包括至少一个语料,若之后的任一次临时识别结果与该语料集合中的任一语料匹配,将所匹配的语料确定为该临时识别结果的预测文本。这样,即可根据实时获得的临时识别结果,确定出与该临时识别结果匹配的语料集合,缩小匹配的范围,然后,随着语音识别的进行得到更加完整的临时识别结果,此时,可从该语料集合中确定出当前的临时识别结果对应的预测文本,这大大减少了文本预测过程中需要匹配的数据量,提高了文本预测效率,进而提高语义识别效率。此外,由于语音识别与文本预测的过程同步进行,在完成语音识别同时,基本可同步完成文本预测,进一步提高了文本预测效率。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
首先参考图1,其为本发明实施例提供的语音信号处理方法的应用场景示意图。用户10与智能设备11进行交互过程中,智能设备11会持续采集周围的声音,并以语音数据的形式持续上报给服务器12,语音数据中除了包含用户10的说话声,也可能包含智能设备11周围的环境声或其他用户的说话声。服务器12对智能设备11持续上报的语音数据依次进行语音识别处理和语义识别处理,并根据语义识别结果确定出相应的响应数据,并控制智能设备11输出该响应数据,以向用户作出反馈。
这种应用场景下,智能设备11和服务器12之间通过网络进行通信连接,该网络可以为局域网、广域网等。智能设备11可以为智能音箱、机器人等,也可以为便携设备(例如:手机、平板、笔记本电脑等),还可以为个人电脑(pc,personalcomputer)。服务器12可以为任何能够提供语音识别服务的一台服务器、若干台服务器组成的服务器集群或云计算中心。
当然,对语音数据的语音识别处理和语义识别处理,以及后续确定响应数据等处理,也可以在智能设备侧执行,本发明实施例中不对执行主体进行限定。为了便于描述,本发明提供的各实施例中均以在服务器侧执行语音处理为例进行说明,在智能设备侧执行语音处理的过程与此类似,此处不再赘述。
下面结合图1所示的应用场景,对本发明实施例提供的技术方案进行说明。
参考图2,本发明实施例提供了一种语音信号处理方法,应用于图1所示的服务器侧,包括以下步骤:
s201、对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果。
本发明实施例中,当用户开始与智能设备对话后,智能设备会持续采集智能设备周围的声音,转换成音频流数据后发送给服务器。服务器可利用实时语音转写等技术,对持续的音频流数据进行语音识别,实时更新临时识别结果,每次更新都是基于上次更新后的临时识别结果进行的。需要说明的是,最新获得的临时识别结果会随着智能设备上传的新的音频流数据而实时更新,例如,一开始获得的临时识别结果为“金”,在临时识别结果“金”的基础上,基于后续的音频流数据对临时识别结果“金”进行更新,获得更新后的临时识别结果,更新后的临时识别结果可能被纠正为“今天”,下一次更新后的临时识别结果可能为“今天田”,继续基于音频流数据对临时识别结果进行更新,更新后的临时识别结果又可能被纠正为“今天天气”。
需要说明的是,上述步骤s201是持续执行的,即只要智能设备持续将采集到的音频流数据上传给服务器,则服务器持续对音频流数据进行语音识别,得到新的临时识别结果。
s202、根据至少一次临时识别结果,确定对应的语料集合,语料集合包括至少一个语料。
具体实施时,语料库中预先存储有大量具有完整语义的语料,例如,“今天天气怎么样”、“最近上映了哪些电影”、“介绍一下青花瓷”等等。可基于语料库中的语料,根据至少一次临时识别结果,确定出语料集合。
s203、若之后的任一次临时识别结果与语料集合中的任一语料匹配,将所匹配的语料确定为临时识别结果的预测文本。
具体实施时,在根据步骤s202确定出语料集合后,将本次临时识别结果与语料集合中的语料匹配,将所匹配的语料确定为本次临时识别结果的预测文本。
本发明实施例的方法,可根据实时获得的临时识别结果,确定出与该临时识别结果匹配的语料集合,缩小匹配的范围,然后,随着语音识别的进行得到更加完整的临时识别结果,此时,可从该语料集合中确定出当前的临时识别结果对应的预测文本,这大大减少了文本预测过程中需要匹配的数据量,提高了文本预测效率,进而提高语义识别效率,使得智能设备能够针对用户的输入作出实时的响应,提高用户体验。此外,由于语音识别(对应步骤s201)与文本预测(对应步骤s202和步骤s203)的过程同步进行,在完成语音识别同时,基本可同步完成文本预测,进一步提高了文本预测效率。
作为一种可能的实施方式,步骤s202具体包括:根据语料库包含的各语料集合对应的特征词和至少一次临时识别结果,确定对应的语料集合,语料库中包含相同特征词的语料被划分到同一语料集合中。
为此,参考图3,本发明实施例提供了另一种语音信号处理方法,包括以下步骤:
s301、对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果。
s302、根据语料库包含的各语料集合对应的特征词和至少一次临时识别结果,确定对应的语料集合,语料库中包含相同特征词的语料被划分到同一语料集合中。
s303、若之后的任一次临时识别结果与步骤s302中确定出的语料集合中的任一语料匹配,将所匹配的语料确定为临时识别结果的预测文本。
本发明实施例中,特征词是预先设定的多个语料中均包含的词组,特征词可以位于语料的句首、句中或句尾。例如,语料“介绍一下青花瓷”、“介绍一下北京”、“介绍一下北京的美食”中均包含特征词“介绍一下”,语料“介绍一下青花瓷”、“青花瓷是哪个朝代”、“这件青花瓷是何时出土的”中均包含特征词“青花瓷”。
具体实施时,预先将语料库中具有相同特征词的语料划分到同一语料集合中。例如,“介绍一下青花瓷”、“介绍一下北京”、“介绍一下北京的美食”等都具有相同的特征词“介绍一下”,则将“介绍一下青花瓷”、“介绍一下北京”、“介绍一下北京的美食”都归为特征词“介绍一下”对应的语料集合中,按照上述方式,将语料库中的语料划分成多个语料集合,每个语料集合对应唯一的一个特征词。需要说明的是,同一语料可被划分到多个语料集合中,例如,“介绍一下青花瓷”可以被划分到“介绍一下”对应的语料集合和“青花瓷”对应的语料集合中。
参考图3所示的语音信号处理方法,在语音识别的同时,每得到一个临时识别结果,将该临时识别结果与语料库中各语料集合对应的特征词进行匹配,直至确定出匹配的语料集合(为方便描述,可称为目标语料集合);在这之后,每得到一个临时识别结果,将该临时识别结果与目标语料集合中的语料进行匹配,将所匹配的语料确定为临时识别结果的预测文本。由于一开始获取到的临时识别结果包含的字数较少,因此,先基于特征词匹配临时识别结果对应的语料集合,而无需与完整的语料进行匹配,提高了匹配效率。在确定目标语料集合的过程中,临时识别结果包含的字数逐渐增多,在确定出目标语料集合后,只需要将临时识别结果与目标语料集合中的语料进行匹配,大大降低了需要匹配的数据量,从而提高文本预测效率,进而缩短了智能设备针对用户输入的响应时间。此外,由于语音识别与文本预测的过程同步进行,在语音识别过程中即可逐步缩小待匹配语料的范围,因此,在完成语音识别同时,基本可同步完成文本预测,进一步提高了文本预测效率。
具体实施时,可通过如下方式实现步骤s302:
第一种方式、若任一语料集合对应的特征词与本次临时识别结果包含的至少部分文本一致,将该语料集合确定为本次临时识别结果对应的语料集合。
具体地,依次将语料库中各语料集合对应的特征词与本次临时识别结果进行比对,若某一特征词与本次临时识别结果完全一致,或者该特征词与本次临时识别结果中的部分文本一致时,将该特征词对应的语料集合确定为本次临时识别结果对应的语料集合,即确定出目标语料集合。
进一步地,若基于本次临时识别结果没有确定出对应的语料集合,则基于下一次临时识别结果确定对应的语料集合。
举例说明,本次临时识别结果为“介绍”,语料库中包含的特征词有“介绍一下”,“介绍”与“介绍一下”不一致,则无法基于本次临时识别结果确定出对应的语料集合;下一次临时识别结果为“介绍一下”,与特征词“介绍一下”一致,则确定下一次临时识别结果“介绍一下”对应的语料集合为特征词“介绍一下”对应的语料集合。
举例说明,本次临时识别结果为“啊啊啊介绍一下”,本次临时识别结果中包含特征词“介绍一下”,则可确定特征词“介绍一下”对应的语料集合为本次临时识别结果“啊啊啊介绍一下”对应的语料集合。
第二种方式、若任一语料集合对应的特征词与本次临时识别结果的相似度高于第一阈值,将该语料集合确定为临时识别结果对应的语料集合。
具体实施时,可通过现有的任何一种相似度算法计算本次临时识别结果和特征词之间的相似度,例如,可以是文本相似度算法、欧氏距离等。
本发明实施例中,第一阈值可由本领域技术人员根据选择的相似度算法的精确度以及实际需求确定,不作具体限定。
具体地,依次计算语料库中各语料集合对应的特征词与本次临时识别结果的相似度,若某一特征词与本次临时识别结果的相似度高于第一阈值,则将该特征词对应的语料集合确定为本次临时识别结果对应的语料集合。若有多个特征词与本次临时识别结果的相似度高于第一阈值,则可以将这多个特征词对应的语料集合均确定为本次临时识别结果对应的语料集合。当然,若有多个特征词与本次临时识别结果的相似度高于第一阈值,也可以选择相似度最高的特征词对应的语料集合,确定为本次临时识别结果对应的语料集合。
进一步地,若基于本次临时识别结果没有确定出对应的语料集合,则基于下一次临时识别结果确定对应的语料集合。
举例说明,本次临时识别结果为“介绍”,其与特征词“介绍一下”的相似度低于第一阈值,因此,无法基于本次临时识别结果确定出对应的语料集合;下一次临时识别结果为“介绍一下”,与特征词“介绍一下”的相似度高于第一阈值,则确定下一次临时识别结果“介绍一下”对应的语料集合为特征词“介绍一下”对应的语料集合。
举例说明,假设语料库中只有特征词“介绍一下”对应的语料集合,本次临时识别结果为“介绍下”,如果第一阈值设置的合理的话,则可以确定本次临时识别结果“介绍下”与特征词“介绍一下”的相似度高于第一阈值,此时,将特征词“介绍一下”对应的语料集合作为本次临时识别结果为“介绍下”对应的语料集合。这样,可提高匹配到特征词的泛化能力,以适应用户多种多样的表述方式。
在实际应用中,由于用户的口语表达缺乏规范性或者包含一些口头禅,导致用户输入的音频流数据对应的语音识别结果中出现一些无语义的内容,尤其当这些无语义的内容出现在句首时,增加了匹配到特征词的难度,从而延长了文本预测所需的时间,甚至可能导致无法获得准确的预测文本。例如,用户输入的语音为“嗯嗯嗯呃介绍一下青岛”、“啊我想一下啊介绍一下青岛”,其中,“嗯嗯嗯呃”、“啊我想一下啊”都为无语义的内容,基于这些内容显然无法匹配到对应的特征词。
为此,如图4所示,在上述任一实施例的基础上,还可通过以下方式实现步骤s302:
s401、根据至少一次临时识别结果与特征词的匹配结果,确定本次临时识别结果中的无效文本。
s402、根据各语料集合对应的特征词和至少一次临时识别结果中除去无效文本的有效文本,确定对应的语料集合。
具体实施时,步骤s401可通过如下方式实现:
第一种方式、若本次临时识别结果匹配到的第一特征词和上一次临时识别结果匹配到的第二特征词不同,且第一特征词与本次临时识别结果的相似度高于第二特征词与上一次临时识别结果的相似度,确定上一次临时识别结果为无效文本。
具体实施时,第一特征词可以是与本次临时识别结果相似度最高的特征词,第二特征词可以是与上一次临时识别结果相似度最高的特征词。
举例说明,智能设备采集到的音频流数据对应的文本为“啊看啊啊介绍一下青花瓷”。基于上一次临时识别结果“啊看啊啊”匹配到的第二特征词为“查看一下”,第二特征词“查看一下”与“啊看啊啊”相似度较低,基于本次临时识别结果“啊看啊啊介绍”匹配到的第一特征词为“介绍一下”,并且,第一特征词与本次临时识别结果的相似度高于第二特征词与上一次临时识别结果的相似度,因此,可确定上一次临时识别结果“啊看啊啊”为无效文本。在确定出无效文本后,当临时识别结果为“啊看啊啊介绍一下”时,确定出该临时识别结果“啊看啊啊介绍一下”中的有效文本为“介绍一下”,根据各语料集合对应的特征词和该有效文本“介绍一下”确定对应的语料集合。
第二种方式、若本次临时识别结果中包含预设的高频词汇,且本次临时识别结果匹配到的第一特征词对应的相似度高于上一次临时识别结果匹配到的第二特征词对应的相似度,确定本次临时识别结果中包含的高频词汇前的文本为无效文本。
本发明实施例中所指的高频词汇,可根据实际需求人为设定,例如可以是智能设备的应用场景中经常使用的词汇,或者通过统计语料库中出现的高频词确定。
举例说明,智能设备采集到的音频流数据对应的文本为“啊看啊啊介绍一下青花瓷”。当临时识别结果为“啊看啊啊”时,其中不包含高频词汇;当临时识别结果为“啊看啊啊介绍”时,可识别到临时识别结果中包含预设的高频词汇“介绍”,且基于临时识别结果“啊看啊啊介绍”匹配到的特征词“介绍一下”对应的相似度明显要高于基于上一次临时识别结果“啊看啊啊”匹配到的特征词“查看一下”的相似度,因此,可确定临时识别结果“啊看啊啊介绍”中高频词汇“介绍”前的文本“啊看啊啊”为无效文本。后续可基于得到的临时识别结果中无效文本之后的有效文本进行文本预测、语义识别等处理,例如,当临时识别结果为“啊看啊啊介绍一下青花瓷”时,可对无效文本“啊看啊啊”之后的有效文本“介绍一下青花瓷”进行文本预测、语义识别等处理。
为方便描述,后续将通过步骤s302确定出的对应的语料集合称为目标语料集合。
在上述任一实施例的基础上,可通过如下方式从目标语料集合中确定出与临时识别结果匹配的语料:根据执行完步骤s302之后的任一次临时识别结果与目标语料集合中的任一语料的相似度,确定与任一次临时识别结果匹配的语料。
具体实施时,可通过现有的任何一种相似度算法计算临时识别结果和目标语料集合中的语料之间的相似度,例如,可以是文本相似度算法、欧氏距离等。
具体实施时,基于临时识别结果与目标语料集合中的语料的相似度,可通过如下方式确定与临时识别结果匹配的语料:
第一种方式、若第一语料的相似度和第二语料的相似度的差值大于预设差值,确定第一语料为本次临时识别结果匹配到的语料,其中,第一语料为目标语料集合中与本次临时识别结果的相似度最高的语料,第二语料为目标语料集合中与本次临时识别结果的相似度次高的语料。
具体实施时,若第一语料的相似度和第二语料的相似度的差值不大于预设差值,则继续执行步骤s303,基于下一次临时识别结果确定预测文本。
本发明施例中,预设差值可由本领域技术人员根据选择的相似度算法的精确度以及实际需求确定,不作具体限定。
举例说明,本次临时识别结果为“介绍一下青”,而目标语料集合“介绍一下”中包含语料“介绍一下青岛”和“介绍一下青花瓷”,因此,与本次临时识别结果“介绍一下青”相似度最高的语料为“介绍一下青岛”,与本次临时识别结果“介绍一下青”相似度次高的语料为“介绍一下青花瓷”,此时,第一语料“介绍一下青岛”对应的相似度和第二语料“介绍一下青花瓷”对应的相似度的差值不大于预设差值,则无法确定出与本次临时识别结果“介绍一下青”匹配的语料,则等待下一次临时识别结果,基于下一次临时识别结果确定预测文本。若下一次临时识别结果为“介绍一下青岛”,与本次临时识别结果“介绍一下青岛”相似度最高的语料为“介绍一下青岛”,与本次临时识别结果“介绍一下青岛”相似度次高的语料为“介绍一下青花瓷”,此时,第一语料“介绍一下青岛”对应的相似度和第二语料“介绍一下青花瓷”对应的相似度的差值大于预设差值,因此,可确定“介绍一下青岛”为与本次临时识别结果匹配的语料。
第二种方式、若语料库中,分别与相邻的多次临时识别结果的相似度最高的语料均为第一语料,且多次临时识别结果与第一语料的相似度的变化趋势为先增大后减小,确定第一语料为与第一临时识别结果匹配的语料,第一临时识别结果为多次临时识别结果中与第一语料的相似度的值最高的临时识别结果。
具体实施时,若不满足第二种方式中所列举的条件,则继续执行步骤s303,基于下一次临时识别结果确定预测文本。
举例说明,假设目标语料集合“介绍一下”中包含“介绍一下青岛”、“介绍一下青岛美食”等语料。与第n次临时识别结果“介绍一下青岛”相似度最高的语料为“介绍一下青岛”,与第n+1次临时识别结果“介绍一下青岛美”相似度最高的语料为“介绍一下青岛美食”,由于与相邻的两次临时识别结果的相似度最高的语料不同,则基于第n+2次临时识别结果确定预测文本。与第n+2次临时识别结果“介绍一下青岛美食”相似度最高的语料为“介绍一下青岛美食”,且每一次临时识别结果与语料“介绍一下青岛美食”的相似度的变化趋势为逐渐增大,则基于第n+3次临时识别结果确定预测文本。与第n+3次临时识别结果“介绍一下青岛美食今”相似度最高的语料为“介绍一下青岛美食”,且第n+3次临时识别结果“介绍一下青岛美食今”与语料“介绍一下青岛美食”的相似度要低于第n+2次临时识别结果“介绍一下青岛美食”与语料“介绍一下青岛美食”的相似度,即每一次临时识别结果与语料“介绍一下青岛美食”的相似度的变化趋势为先增大后减小,由于语料“介绍一下青岛美食”与第n+2次临时识别结果“介绍一下青岛美食”的相似度最高,因此,可确定语料“介绍一下青岛美食”为与第n+2次临时识别结果“介绍一下青岛美食”匹配的语料。
第三种方式、若本次临时识别结果与目标语料集合中的某一语料的相似度的值超过第二阈值,则确定该语料为与本次临时识别结果匹配的语料。
进一步地,针对本次临时识别结果,当目标语料集合中存在多个与本次临时识别结果的相似度的值超过第二阈值的语料时,可以从这多个语料中选择与本次临时识别结果的相似度最高的语料,确定为与本次临时识别结果匹配的语料。
进一步地,若本次临时识别结果与目标语料集合中的所有语料的相似度的值均未超过第二阈值,则继续执行步骤s303,基于下一次临时识别结果确定预测文本。
本发明实施例中,第二阈值可由本领域技术人员根据选择的相似度算法的精确度以及实际需求确定,不作具体限定。
在上述任一实施例的基础上,还可以通过如下方式从目标语料集合中确定出与临时识别结果匹配的语料:若目标语料集合中的任一语料包含执行完步骤s302之后的任一次临时识别结果,确定任一语料为与任一次临时识别结果匹配的语料。
具体实施时,若目标语料集合中仅存在一个语料包含本次临时识别结果,则将该语料确定为预测文本;若目标语料集合中存在多个语料包含本次临时识别结果,则继续执行步骤s303,基于下一次临时识别结果确定预测文本。
举例说明,本次临时识别结果为“介绍一下北京”,假设在目标语料集合“介绍一下”中包括语料“介绍一下北京”、“介绍一下北京的美食”和“介绍一下北京的景点”,上述三个语料中均包含本次临时识别结果“介绍一下北京”,则基于下一次临时识别结果确定预测文本。下一次临时识别结果为“介绍一下北京的美食”,则目标语料集合“介绍一下”中仅有语料“介绍一下北京的美食”中包含临时识别结果“介绍一下北京的美食”,则确定语料“介绍一下北京的美食”为预测文本。
进一步地,若目标语料集合中的任一语料中均不包含本次临时识别结果,表示无法从目标语料集合中确定出与本次临时识别结果匹配的语料,则返回执行步骤s302,重新确定目标语料集合。
基于上述任一实施方式,在确定出预测文本后,即可根据该预测文本确定对应的响应数据,并控制智能设备输出该响应数据,同时,继续基于后续获取的临时识别结果,确定出下一个预测文本,实现了对连续输入的音频流数据的断句处理,从而有效地区分音频流数据中包含的多个连续的句子,以便实时预测出用户输入的音频流数据中的每个句子对应的预测文本,并根据预测文本控制智能设备作出及时的响应,缩短了智能设备的响应时间,提高用户体验。
本发明实施例中所指的响应数据不限于文本数据、音频数据、图像数据、视频数据、语音播报、或控制指令等,其中,控制指令包括但不限于:控制智能设备显示表情的指令、控制智能设备的动作部件运动的指令(如引领、导航、拍照、跳舞等)等。
在上述任一实施例的基础上,若确定出无效文本,可将临时识别结果中除去无效文本的有效文本与目标语料集合中的任一语料进行匹配,将所匹配的语料确定为该临时识别结果的预测文本。
举例说明,临时识别结果为“啊看啊啊介绍一下青花瓷”,已确定出“啊看啊啊”为无效文本,则将临时识别结果“啊看啊啊介绍一下青花瓷”中除去无效文本的有效文本“介绍一下青花瓷”与目标语料集合“介绍一下”中的任一语料进行匹配,将所匹配的语料确定为该临时识别结果的预测文本,具体的匹配方法可参考前述实施方式,不再赘述。
在上述任一实施例的基础上,本发明实施例还包括如下步骤:在本次临时识别结果中包含的已识别文本后增加截断标识,其中,已识别文本为预测文本对应的临时识别结果。
在此基础上,在后续根据临时识别结果进行文本预测时,根据至少一次临时识别结果中截断标识后的文本,确定对应的语料集合,若之后的任一次临时识别结果中截断标识后的文本与确定出的语料集合中的任一语料匹配,将所匹配的语料确定为该临时识别结果中截断标识后的文本的预测文本。
举例说明,服务器接收到智能设备上传的音频流数据:“今天天气怎么样适合出去郊游吗去哪里郊游比较好呢”。当确定出临时识别结果“今天天气怎么样”对应的预测文本后,将时临时识别结果“今天天气怎么样”确定为已识别文本;当本次临时识别结果为“今天天气怎么样适合”,则在本次临时识别结果中包含的已识别文本“今天天气怎么样”后增加截断标识“/”得到“今天天气怎么样/适合”,截断标识“/”前的文本为一句具有完整语义的句子。后续进行文本预测时,对临时识别结果中截断标识后的文本进行处理,例如,当临时识别结果为“今天天气怎么样/适合出去郊游吗”,根据截断标识后的文本“适合出去郊游吗”进行预测,得到预测文本为“适合出去郊游吗”。
通过上述实施方式,可以防止在文本预测和匹配处理过程中,音频流数据中连续的多个句子间发生相互干扰。
在上述任一实施例的基础上,在首次根据至少一次临时识别结果,确定对应的语料集合之前,还包括如下步骤:确定临时识别结果包含的文字数量超过第二预设数量。
具体实施时,每获得一个临时识别结果,先判断该临时识别结果包含的文字数量是否超过第二预设数量,若确定该临时识别结果包含的文字数量超过第二预设数量,则执行步骤s302,否则不执行步骤s302,等待下一次临时识别结果。
本发明实施例中,第二预设数量可根据实际需求进行配置,不作具体限定。例如,可根据语料库中最短的特征词的字数确定,假设最短的特征词的字数为3个,则第二预设数量的取值不大于3。
在上述任一实施例的基础上,本发明实施例还包括如下步骤:若在智能设备实时采集到的音频流数据中检测到语音结束点,清空之前得到的临时识别结果,并返回步骤s201(或者步骤s301)。
本发明实施例中的语音结束点是指,音频流数据中用户语音结束的时刻。具体实施时,可通过vad技术检测语音结束点。
举例说明,服务器接收到智能设备采集的音频流数据为:“今天天气怎么样适合出去郊游吗……植物园的花开是不是开了”,其中,“适合出去郊游吗”之后为语音结束点。按照音频流数据的时序,顺序得到以下临时识别结果:“今”、“今天”、“今天天”……“今天天气怎么样适合出去郊游吗”,当识别到“适合出去郊游吗”之后为语音结束点后,将临时识别结果“今天天气怎么样适合出去郊游吗”清空,继续基于后续的音频流数据得到临时识别结果:“植”、“植物”……。
作为另一种可能的实施方式,步骤s202具体包括:从语料库中选取与本次临时识别结果匹配的候选语料,得到语料集合。
为此,参考图5,本发明实施例提供了另一种语音信号处理方法,包括以下步骤:
s501、对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果。
s502、从语料库中选取与本次临时识别结果匹配的候选语料,得到语料集合。
s503、若之后的任一次临时识别结果与步骤s502中确定出的语料集合中的任一语料匹配,将所匹配的语料确定为临时识别结果的预测文本。
为描述方便,后续将通过步骤s502确定出的语料集合称为候选语料集合。
具体实施时,可基于关键词检索技术、相似度算法、模糊匹配算法等一种或多种方式,从语料库中选取包含临时识别结果匹配的语料作为候选语料。具体地,可将句首为临时识别结果的语料作为候选语料。
进一步地,若候选语料的数量未超过第一预设数量,可将所有候选语料组成的集合作为候选语料集合;若候选语料的数量超过第一预设数量,按照预设策略,从候选语料中选取第一预设数量个语料,得到候选语料集合。
本发明实施例中,第一预设数量可由本领域技术人员根据实际需要预先配置,此处不对第一预设数量的取值进行限定。
在此基础上,可按照如下预设策略,从候选语料中选取第一预设数量个语料,得到候选语料集合:
第一种方式、若从语料库中确定出与本次临时识别结果匹配的候选语料的数量超过第一预设数量,根据各候选语料的文本长度,对候选语料进行排序,选择排序靠前的第一预设数量个候选语料,得到候选语料集合。
第二种方式、若从语料库中确定出与本次临时识别结果匹配的候选语料的数量超过第一预设数量,根据各候选语料的被命中的次数,对候选语料进行排序,选择排序靠前的第一预设数量个候选语料,得到候选语料集合。
本发明实施中,语料的被命中的次数是指,该语料被确定为预测文本的次数。在使用语料库的过程中,可实时更新或定期更新各个语料被命中的次数。具体地,语料被命中的次数可以是指定周期内该语料被命中的次数,例如指定周期可以是一天、一周等,当超过指定周期后,清空之前统计的各语料被命中的次数,重新统计语料库中各语料被命中的次数。
在上述任一实施例的基础上,步骤s503具体包括:若下一次临时识别结果与步骤s502确定出的语料集合中的任一语料一致,将该语料确定为下一次临时识别结果的预测文本。
具体实施时,可根据以下方式确定下一次临时识别结果与候选语料集合中的任一语料是否一致:针对候选语料集合中的任一语料,计算下一次临时识别结果与该语料的相似度,若相似度超过相似度阈值,确定下一次临时识别结果与该语料一致,若相似度没有超过相似度阈值,确定下一次临时识别结果与该语料不一致。
具体实施时,可通过现有的任何一种相似度算法计算临时识别结果和候选语料集合中的各语料之间的相似度,例如,可以是文本相似度算法、欧氏距离等。
本发明实施例中,相似度阈值的具体取值可由本领域技术人员基于选用的相似度算法的精度、识别准确度、文本泛化能力等具体要求,结合实际经验确定,本发明实施例不作限定。
进一步地,本发明实施例的方法还包括如下步骤:若下一次临时识别结果与候选语料集合中的所有语料均不一致,根据下一次临时识别结果,重新确定候选语料集合。
具体实施时,可通过如下方式根据下一次临时识别结果,重新确定候选语料集合:从语料库中选取与下一次临时识别结果匹配的候选语料,得到第一候选集合;从第一候选集合中选取出与之前确定出的候选语料集合中包含的语料均不同的候选语料,将选取出的候选语料添加到候选语料集合中,得到新的候选语料集合。
作为一种可能的实施方式,可以从语料库中选取与下一次临时识别结果匹配的候选语料,得到第一候选集合,从第一候选集合中选取出第一预设数量个与之前确定出的候选语料集合中包含的语料均不同的候选语料,将选取出的候选语料添加到候选语料集合中,得到新的候选语料集合。
例如,第一预设数量为3,第一候选集合中包括10条与下一次临时识别结果匹配的候选语料,则从这10条候选语料中选出3条未包含在之前确定出的候选语料集合中的语料,将选出的这3条语料添加到之前确定出的候选语料集合中,得到新的候选语料集合。
具体地,可通过如下方式从第一候选集合中选取出不超过第一预设数量个候选语料:
确定出第一候选集合中与之前确定出的候选语料集合中包含的语料均不同的候选语料;若确定出的候选语料的数量未超过第一预设数量,则直接将确定出的候选语料添加到之前确定出的候选语料集合中;若确定出的候选语料的数量超过第一预设数量,按照预设策略,从确定出的候选语料中选取第一预设数量个候选语料,将选取出的候选语料添加到候选语料集合中,得到新的候选语料集合。其中,预设策略可以是:根据确定出的候选语料的文本长度或被命中的次数,对确定出的候选语料进行排序,选择排序靠前的第一预设数量个候选语料。
作为另一种可能的实施方式,还可以按照预设策略,从语料库中选取第一预设数量个与下一次临时识别结果匹配的候选语料,得到第一候选集合,从第一候选集合中选取出与之前确定出的候选语料集合中包含的语料均不同的候选语料,将选取出的候选语料添加到候选语料集合中,得到新的候选语料集合。
进一步地,若添加到候选语料集合中的候选语料的数量小于第一预设数量,则继续按照预设策略,从语料库中选取第一预设数量个与前述的下一次临时识别结果匹配的候选语料,得到新的第一候选集合,从该第一候选集合中选取出与之前确定出的候选语料集合中包含的语料均不同的候选语料,将选取出的候选语料添加到候选语料集合中,得到新的候选语料集合。若两次添加到候选语料集合中的候选语料的总数量仍小于第一预设数量,则重复上述步骤,直至添加到候选语料集合中的候选语料的总数量等于第一预设数量。具体地,若最后一次向候选语料集合中添加候选语料时,从第一候选集合中选出的候选语料的数量m和之前添加到候选语料集合中的候选语料的总数量m的和大于第一预设数量k,则可以按照预设策略,从第一候选集合中选出n个候选语料,将这n个候选语料添加到候选语料集合中,得到新的候选语料集合,其中,n=k-(m+m)。
举例说明,t0时刻,得到临时识别结果l0,按照预设策略,从语料库中选取出第一预设数量个包含l0的候选语料,得到候选语料集合q0。
t1时刻,得到临时识别结果为l0+l1,判断候选语料集合q0中是否存在与l0+l1一致的语料,如果存在,则表明l0+l1是具有完整语义的句子,此时,将候选语料集合q0中与l0+l1一致的语料作为临时识别结果l0+l1的预测文本。若候选语料集合q0中不存在与l0+l1一致的语料,则按照预设策略,从语料库中选取出第一预设数量个包含l0+l1、且与候选语料集合q0中的任一语料均不同的候选语料,将选取出的候选语料添加到候选语料集合q0中,得到新的候选语料集合q1。
t2时刻,得到临时识别结果为l0+l1+l2,判断候选语料集合q1中是否存在与l0+l1+l2一致的语料,如果存在,则表明l0+l1+l2是具有完整语义的句子,此时,将候选语料集合q1中与l0+l1+l2一致的语料作为临时识别结果l0+l1+l2的预测文本。若候选语料集合q1中不存在与l0+l1+l2一致的语料,则按照预设策略,从语料库中选取出第一预设数量个包含l0+l1+l2、且与候选语料集合q1中的任一语料均不同的候选语料,将选取出的候选语料添加到候选语料集合q1中,得到新的候选语料集合q2。
例如,服务器接收到智能设备发送的音频流数据:“介绍一下北京的美食”,第一预设数量为3。t0时刻,临时识别结果为“介绍一下”,得到候选语料集合q0中包含语料“介绍一下北京”、“介绍一下北京的美食”和“介绍一下天津”;t1时刻,临时识别结果为“介绍一下北京”,候选语料集合q0中存在与临时识别结果“介绍一下北京”一致的语料,表明临时识别结果“介绍一下北京”是具有完整语义的句子,此时,将候选语料集合q0中的语料“介绍一下北京”作为临时识别结果“介绍一下北京”的预测文本。t2时刻,临时识别结果为“介绍一下北京的”,候选语料集合q0中不存在与该临时识别结果一致的语料,则按照预设策略,从语料库中选取出3个包含“介绍一下北京的”、且与候选语料集合q0中的任一语料均不同的候选语料,例如,可以是“介绍一下北京的景点”、“介绍一下北京的历史”、“介绍一下北京的小吃”,将选取出的候选语料添加到候选语料集合q0中,得到新的候选语料集合q1。t3时刻,临时识别结果为“介绍一下北京的美食”,候选语料集合q1中存在与“介绍一下北京的美食”一致的语料,表明“介绍一下北京的美食”是具有完整语义的句子,此时,将候选语料集合q1中与“介绍一下北京的美食”一致的语料作为临时识别结果“介绍一下北京的美食”的预测文本。
具体实施时,可循环执行上述步骤,不断基于新的临时识别结果,更新候选语料集合,直至在音频流数据中检测到语音结束点,才清空候选语料集合。即利用vad技术,识别音频流数据中语音开始点和语音结束点,从语音开始点开始对应音频流数据进行语音识别,在这过程中不断地扩充候选语料集合,并得到至少一个预测文本,直至检测到语音结束点,清空候选语料集合。
基于上述方法,在检测到语音结束点之前,针对连续的音频流数据,可确定出多次预测文本,进而根据每一次预测文本,控制智能设备及时作出相应的响应。因此,本实施例的方法,通过预测过程中实时确定出的语料集合,实时、连续、快速地对音频流数据中具有完整语义的句子进行检测和预测,从而有效地区分音频流数据中包含的多个连续的句子,因此,无需等到语音结束点时才能确定出预测文本,从而能够迅速理解用户意图并控制智能设备作出相应的响应,使得语音交更加即时、自由、顺畅。
在上述任一实施例的基础上,本发明实施例还包括如下步骤:在本次临时识别结果中包含的已识别文本后增加截断标识,其中,已识别文本为预测文本对应的临时识别结果。
在此基础上,在后续根据临时识别结果进行文本预测时:根据至少一次临时识别结果中截断标识后的文本,确定对应的语料集合;若之后的任一次临时识别结果中截断标识后的文本与确定出的语料集合中的任一语料匹配,将所匹配的语料确定为该临时识别结果中截断标识后的文本的预测文本。
举例说明,t0时刻,得到临时识别结果l0,按照预设策略,从语料库中选取出第一预设数量个包含l0的候选语料,得到候选语料集合q0。
t1时刻,得到临时识别结果为l0+l1,判断候选语料集合q0中是否存在与l0+l1一致的语料,如果存在,则表明l0+l1是具有完整语义的句子,此时,将候选语料集合q0中与l0+l1一致的语料作为临时识别结果l0+l1的预测文本,已识别文本为l0+l1。
t2时刻,得到临时识别结果为l0+l1+l2,在临时识别结果中的已识别文本l0+l1后增加截断标识,基于截断标识后的文本l2进行文本预测,即:按照预设策略,从语料库中选取出第一预设数量个包含l2、且与候选语料集合q0中的任一语料均不同的候选语料,将选取出的候选语料添加到候选语料集合q0中,得到新的候选语料集合q1。
t3时刻,得到临时识别结果为l0+l1+l2+l3,其中,l0+l1后有截断标识,判断候选语料集合q1中是否存在与l2+l3一致的语料,如果存在,则表明l2+l3是具有完整语义的句子,此时,将候选语料集合q2中与l2+l3一致的语料作为临时识别结果l2+l3的预测文本。若候选语料集合q1中不存在与l2+l3一致的语料,则按照预设策略,从语料库中选取出第一预设数量个包含l2+l3、且与候选语料集合q1中的任一语料均不同的候选语料,将选取出的候选语料添加到候选语料集合q1中,得到新的候选语料集合q2。
例如,服务器接收到智能设备发送的音频流数据:“今天天气怎么样适合郊游吗”t0时刻,临时识别结果为“今天天气”,得到候选语料集合q0中包含语料“今天天气怎么样”;t1时刻,临时识别结果为“今天天气怎么样”,候选语料集合q0中存在与临时识别结果“今天天气怎么样”一致的语料,表明临时识别结果“今天天气怎么样”是具有完整语义的句子,此时,将候选语料集合q0中的语料“今天天气怎么样”作为临时识别结果“今天天气怎么样”的预测文本,且已识别文本为“今天天气怎么样”。t2时刻,临时识别结果为“今天天气怎么样适合”,在临时识别结果中的已识别文本“今天天气怎么样”后增加截断标识“/”得到“今天天气怎么样/适合”,基于截断标识后的文本“适合”进行文本预测,即:按照预设策略,从语料库中选取出第一预设数量个包含“适合”的候选语料,得到候选语料集合q2。t3时刻,得到临时识别结果为“今天天气怎么样/适合郊游吗”,判断候选语料集合q2中是否存在与“适合郊游吗”一致的语料,如果存在,则表明“适合郊游吗”是具有完整语义的句子,此时,将候选语料集合q2中与“适合郊游吗”一致的语料作为临时识别结果“适合郊游吗”的预测文本。
在上述任一实施例的基础上,在首次根据至少一次临时识别结果,确定对应的语料集合之前,还包括如下步骤:确定临时识别结果包含的文字数量超过第二预设数量。
具体实施时,每获得一个临时识别结果,先判断该临时识别结果包含的文字数量是否超过第二预设数量,若确定该临时识别结果包含的文字数量超过第二预设数量,则执行步骤s502,否则不执行步骤s502,等待下一次临时识别结果。
本发明实施例中,第二预设数量可根据实际需求进行配置,不作具体限定。
在上述任一实施例的基础上,本发明实施例还包括如下步骤:若在智能设备实时采集到的音频流数据中检测到语音结束点,清空之前得到的临时识别结果,并返回步骤s501。
如图6所示,基于与上述语音信号处理方法相同的发明构思,本发明实施例还提供了一种语音信号处理装置60,包括:语音识别模块601、确定模块602和预测模块603。
语音识别模块601,用于对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果;
确定模块602,用于根据至少一次临时识别结果,确定对应的语料集合,所述语料集合包括至少一个语料;
预测模块603,用于若之后的任一次临时识别结果与所述语料集合中的任一语料匹配,将所匹配的语料确定为所述临时识别结果的预测文本。
可选地,所述确定模块602,具体用于:
从语料库中选取与本次临时识别结果匹配的候选语料,得到语料集合。
可选地,所述确定模块602,具体用于:
若从语料库中确定出与本次临时识别结果匹配的候选语料的数量超过第一预设数量,根据各候选语料的文本长度,对所述候选语料进行排序,选择排序靠前的第一预设数量个候选语料,得到语料集合;或者,若从语料库中确定出与本次临时识别结果匹配的候选语料的数量超过第一预设数量,根据各候选语料的被命中的次数,对所述候选语料进行排序,选择排序靠前的第一预设数量个候选语料,得到语料集合。
可选地,所述预测模块603,具体用于:
若下一次临时识别结果与所述语料集合中的任一语料一致,将所述语料确定为所述下一次临时识别结果的预测文本。
可选地,所述确定模块602,还用于:
若下一次临时识别结果与所述语料集合中的所有语料均不一致,根据所述下一次临时识别结果,重新确定语料集合。
可选地,所述确定模块602,具体用于:
从所述语料库中选取与所述下一次临时识别结果匹配的候选语料,得到第一候选集合;
从所述第一候选集合中选取出与之前确定出的语料集合中包含的语料均不同的候选语料,将选取出的候选语料添加到候选语料集合中。
可选地,所述确定模块602,具体用于:
根据语料库包含的各语料集合对应的特征词和至少一次临时识别结果,确定对应的语料集合,所述语料库中包含相同特征词的语料被划分到同一语料集合中。
可选地,所述确定模块602,具体用于:
若任一语料集合对应的特征词与本次临时识别结果包含的至少部分文本一致,将所述语料集合确定为本次临时识别结果对应的语料集合;或者,若任一语料集合对应的特征词与本次临时识别结果的相似度高于第一阈值,将所述语料集合确定为本次临时识别结果对应的语料集合。
可选地,所述确定模块602,具体用于:
根据至少一次临时识别结果与所述特征词的匹配结果,确定本次临时识别结果中的无效文本;
根据各语料集合对应的特征词和至少一次临时识别结果中除去所述无效文本的有效文本,确定对应的语料集合。
可选地,所述确定模块602,具体用于:
若本次临时识别结果匹配到的第一特征词和上一次临时识别结果匹配到的第二特征词不同,且所述第一特征词与本次临时识别结果的相似度高于所述第二特征词与上一次临时识别结果的相似度,确定所述上一次临时识别结果为无效文本;或者,若本次临时识别结果中包含预设的高频词汇,且本次临时识别结果匹配到的第一特征词对应的相似度高于上一次临时识别结果匹配到的第二特征词对应的相似度,确定所述本次临时识别结果中包含的高频词汇前的文本为无效文本。
可选地,所述预测模块603,具体用于根据以下方式确定之后的任一次临时识别结果与所述语料集合中的任一语料匹配:
根据之后的任一次临时识别结果与所述语料集合中的任一语料的相似度,确定与所述任一次临时识别结果匹配的语料;或者,若所述语料集合中的任一语料包含之后的任一次临时识别结果,确定所述任一语料为与所述任一次临时识别结果匹配的语料。
可选地,所述预测模块603,具体用于:
若第一语料的相似度和第二语料的相似度的差值大于预设差值,确定所述第一语料为本次临时识别结果匹配到的语料,所述第一语料为所述语料集合中与本次临时识别结果的相似度最高的语料,所述第二语料为所述语料集合中与本次临时识别结果的相似度次高的语料;或者,若所述语料库中,分别与相邻的多次临时识别结果的相似度最高的语料均为第一语料,且所述多次临时识别结果与所述第一语料的相似度的变化趋势为先增大后减小,确定所述第一语料为与第一临时识别结果匹配的语料,所述第一临时识别结果为所述多次临时识别结果中与所述第一语料的相似度的值最高的临时识别结果。
可选地,所述确定模块602,还用于:
在本次临时识别结果中包含的已识别文本后增加截断标识,其中,所述已识别文本为所述预测文本对应的临时识别结果;
根据至少一次临时识别结果中截断标识后的文本,确定对应的语料集合。
可选地,所述确定模块602,还用于:
在首次根据至少一次临时识别结果,确定对应的语料集合之前,确定所述临时识别结果包含的文字数量超过第二预设数量。
可选地,还包括清空模块,用于:
若在所述智能设备实时采集到的音频流数据中检测到语音结束点,清空之前得到的临时识别结果,并返回执行所述语音识别模块601的功能。
本发明实施例提的语音信号处理装置与上述语音信号处理方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述语音信号处理方法相同的发明构思,本发明实施例还提供了一种电子设备,该电子设备具体可以为智能设备内部的控制设备或控制系统,也可以是与智能设备通信的外部设备,如可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(personaldigitalassistant,pda)、服务器等。如图7所示,该电子设备70可以包括处理器701和存储器702。
存储器702可以包括只读存储器(rom)和随机存取存储器(ram),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于存储语音信号处理方法的程序。
处理器701可以是cpu(中央处埋器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)处理器通过调用存储器存储的程序指令,按照获得的程序指令实现上述任一实施例中的语音信号处理方法。
本发明实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述语音信号处理方法的程序。
上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。
基于与语音信号处理方法相同的发明构思,本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一实施例中的语音信号处理方法。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明实施例的方法,不应理解为对本发明实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本发明实施例的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除