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

一种应用于城市大脑的语音交互方法及系统与流程

2021-01-28 16:01:33|280|起点商标网
一种应用于城市大脑的语音交互方法及系统与流程

本发明涉及人工智能技术领域,具体涉及一种应用于城市大脑的语音交互方法及系统。



背景技术:

城市大脑是基于城市所产生的数据资源,利用人工智能、大数据、区块链、5g、物联网等新一代信息技术,为城市交通治理、公共安全、应急管理、网格防控、医疗卫生、旅游、环境保护、城市精细化管理等场景服务的一个人工智能中枢。在城市大脑的建设中,基于语音交互应用系统可以提升用户体验,提高城市大脑的服务水平。

语音识别是语音交互的基础,语音识别是一种将数字语音转换为计算机可以理解的文字的技术。最近几年,语音识别技术取得显著进展,语音识别技术逐渐走入人们的生活,给我们的生活、工作带来便利。

现有的语音识别技术,主要是基于声学模型进行唤醒检测,之后通过深度神经网络和隐马尔可夫模型进行语音识别,然后根据识别出的文字,通过问答库给出合理的应答信息,最后通过语音合成技术,把应答的信息转化为声音,播放给交互者。

现有的语音识别技术存在的缺陷在于:基于声学模型的唤醒检测方式,对模型的精度要求较高,在夜间或有嘈杂环境噪声时,易产生误唤醒;基于深度神经网络和隐马尔可夫模型的语音识别方法,结构复杂,需要复杂的声学模型、发音模型和语音模型,且需要构建庞大的词表,若模型优化程度不足,或词表容量不足,易导致语音识别错词率高,且延迟较大;而且现有的语音数据集质量参差不齐,多数是基于特定环境而采集的,其噪声干扰低,发声清晰,基于这种语音数据集训练出的识别模型在实际应用中识别率低,尤其是对不同方言的识别效果差。



技术实现要素:

有鉴于此,本发明的目的在于提供一种应用于城市大脑的语音交互方法及系统,以解决现有技术中语音识别技术,在夜间或有嘈杂环境噪声时,易产生误唤醒的问题。

根据本发明实施例的第一方面,提供一种应用于城市大脑的语音交互方法,包括:

采集当前环境下的语音信号;

对所述语音信号进行预处理,以提取有效的语音片段;

利用动态阈值分析方法,判断所述有效的语音片段中是否包含唤醒词,并在确定存在唤醒词时,识别并响应所述语音片段中的语音交互指令。

优选地,所述对所述语音信号进行预处理,包括:

将所述语音信号转换为音频流数据;

对所述音频流数据进行降噪处理,以获取信噪比更高的音频流数据;

对降噪处理后的音频流数据进行分帧处理;

对分帧处理后的音频流数据进行端点检测,从而在连续的音频流数据中检测出有效的语音片段。

优选地,所述对所述音频流数据进行降噪处理,具体为:

采用最小均方误差自适应滤波方法,对所述音频流数据进行降噪处理。

优选地,所述动态阈值分析方法,包括:

对有效的语音片段进行傅里叶变换,以提取有效的语音片段的频谱特征;

将任一有效的语音片段的频谱特征送入预先训练好的唤醒词识别模型的同时,判断所述有效的语音片段的后验概率是否大于动态阈值t;

若所述有效的语音片段的后验概率大于动态阈值t,则确定所述有效的语音片段中包含唤醒词,并控制所述唤醒词识别模型识别出所述唤醒词。

优选地,所述阈值t根据以下方法进行确定:

根据经验确定固定阈值t0,并将t0存储在配置文件中;

计算当前时刻有效的语音片段的短时能量与紧邻当前时刻的前两个有效的语音片段的短时能量之和的比值,计为offset;

根据公式t=t0+offset,确定阈值t。

优选地,控制所述唤醒词识别模型识别出所述唤醒词的同时,还包括:

提取所述唤醒词的声纹特征;

所述识别并响应所述语音片段中的语音交互指令,具体为:

判断提取的声纹特征是否与预存的声纹特征相匹配,若是,识别并响应所述语音片段中的语音交互指令,否则,忽略所述语音交互指令。

优选地,所述识别并响应所述语音片段中的语音交互指令,具体为:

将所述语音交互指令送入到预先训练好的端到端语音识别模型,进行语音识别;

对语音识别出的文本,利用基于知识图谱的智能对话系统进行自然语言处理,返回应答文本;

将返回的应答文本,输入到预存的端到端语音合成模型,生成对应的音频并通过播放设备进行回答。

优选地,所述端到端语音识别模型采用cnn+ctc模型,采用vgg16基本模型架构,13个卷积层,3个全连接层,其中三层全连接层用于实现注意力机制,损失函数采用ctc损失函数,网络优化器采用adam优化器。

优选地,所述方法,还包括:

利用强化学习的方法,采用增量式参数更新的方式,不断优化所述端到端语音识别模型的参数。

根据本发明实施例的第二方面,提供一种应用于城市大脑的语音交互系统,包括:

采集模块,用于采集当前环境下的语音信号;

预处理模块,用于对所述语音信号进行预处理,以提取有效的语音片段;

响应模块,用于利用动态阈值分析方法,判断所述有效的语音片段中是否包含唤醒词,并在确定存在唤醒词时,识别并响应所述语音片段中的语音交互指令。

本发明的实施例提供的技术方案可以包括以下有益效果:

利用动态阈值分析方法,判断有效的语音片段中是否包含唤醒词,并在确定存在唤醒词时,识别并响应所述语音片段中的语音交互指令,相比现有技术,本发明提供的技术方案,只在判定当前真实环境下有唤醒词时,才进行后续的语音交互指令识别及响应,提高了语音唤醒的准确率,用户体验度好、满意度高。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种应用于城市大脑的语音交互方法的流程图;

图2是根据一示例性实施例示出的音频流数据分帧的示意图;

图3a是根据一示例性实施例示出的第n帧语音信号加窗前的示意图;

图3b是根据一示例性实施例示出的第n帧语音信号加窗函数的示意图;

图3c是根据一示例性实施例示出的第n帧语音信号加窗后的示意图;

图4是根据另一示例性实施例示出的一种应用于城市大脑的语音交互方法的流程图;

图5是根据一示例性实施例示出的一种应用于城市大脑的语音交互系统的示意框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种应用于城市大脑的语音交互方法的流程图,如图1所示,该方法包括:

步骤s11、采集当前环境下的语音信号;

步骤s12、对所述语音信号进行预处理,以提取有效的语音片段;

步骤s13、利用动态阈值分析方法,判断所述有效的语音片段中是否包含唤醒词,并在确定存在唤醒词时,识别并响应所述语音片段中的语音交互指令。

需要说明的是,本实施例提供的这种应用于城市大脑的语音交互方法适用于语音交互装置中,所述语音交互装置包括但不限于:智能扫地机、智能电饭煲、智能电视机、智能空调、智能照明设备、智能穿戴设备、智能机器人、智能音箱等所有具有语音交互功能的智能用电设备中。

本实施例中的“唤醒词”是指预存在系统中的特定词汇,例如“小美、小美”,“小智、小智”,“小a、小a”,“豆豆、豆豆”,“启新智元”,“城市大脑”等等,类似这种的双音节词汇,或者四音节词汇,或者短句等等。本实施例中的“语音交互指令”是指用户希望系统响应的指令内容,例如“播放歌曲”,“播放新闻”,“播放儿歌”,“开始煮饭”,“开始拖地”,“如何爆炒黄瓜炒肉?”,“如何保护视力?”类似这种的指令或者查询内容等等。

每次用户需要进行语音交互时,必须先说出唤醒词,以唤醒词为“小美、小美”为例,若用户想播放音乐,必须先呼唤“小美、小美”,然后随后跟上语音交互指令“请播放音乐!”或者“播放音乐”或者“播放歌曲”等等。

系统只有在识别出存在唤醒词“小美、小美”时,才会去识别及响应语音交互指令“请播放音乐!”或者“播放音乐”或者“播放歌曲”等等。

可以理解的是,本实施例提供的技术方案,利用动态阈值分析方法,判断有效的语音片段中是否包含唤醒词,并在确定存在唤醒词时,识别并响应所述语音片段中的语音交互指令,相比现有技术,本发明提供的技术方案,只在判定当前真实环境下有唤醒词时,才进行后续的语音交互指令识别及响应,提高了语音唤醒的准确率,用户体验度好、满意度高。

优选地,所述对所述语音信号进行预处理,包括:

将所述语音信号转换为音频流数据;

对所述音频流数据进行降噪处理,以获取信噪比更高的音频流数据;

对降噪处理后的音频流数据进行分帧处理;

对分帧处理后的音频流数据进行端点检测,从而在连续的音频流数据中检测出有效的语音片段。

在具体实践中,所述将所述语音信号转换为音频流数据,可以通过音频采集设备(如6阵列麦克风),采集声音,形成音频流数据,采集参数为:单通道、16khz、16bit来实现。

优选地,所述对所述音频流数据进行降噪处理,具体为:

采用最小均方误差自适应滤波方法,对所述音频流数据进行降噪处理。

可以理解的是,语音识别中最常用的降噪方法是在频域利用基本谱减法进行降噪,由于基本谱减法会带来明显噪声残留,需要进行算法改进,故本申请的降噪处理采用最小均方误差(leastmeansquare,lms)自适应滤波方法;最小均方误差自适应滤波方法的具体实施步骤如下:

a、设定滤波器权重初值为0,设定学习率μ,即

w(0)=0,0<μ<1

b、根据输入的音频流x(k)和w(k),计算滤波器实际输出的估计值:

y(k)=w(k)tx(k),

其中,k是迭代次数;

c、计算估算误差:

e(k)=d(k)-y(k),其中d(k)是期望输出;

d、更新k+1时刻滤波器权重:

w(k+1)=w(k)+μe(k)x(k)

e、k变为k+1,重复步骤b~d。

在具体实践中,对降噪后的音频流数据进行分帧处理,通常一帧为20~50毫秒,同时帧与帧之间有交叠冗余,避免一帧的信号在两个端头被削弱了影响识别精度。常见的帧长设定比如,帧长为25毫秒,两帧之间交叠15毫秒,也就是说每隔25-15=10毫秒取一帧,帧移为10毫秒,音频流数据分帧的示意图如图2所示。

为了减少语音帧的截断效应,需要对每一帧进行加窗处理,则第n帧语音信号为:

xn(m)=w(m)*x(n+m),其中,w(m)为窗函数,这里的窗函数选择hamming窗,其定义是,

第n帧语音信号加窗前后的示意图如图3a~3c所示。

在具体时间中,在音频流数据经过降噪和分帧加窗处理后,通过短时能量(shorttimeenergy,ste)和过零统计(zerocrosscounter,zcc)来进行端点检测,从而在连续的音频流数据中检测出有效的语音片段。

音频信号x(m)的短时能量定义为:

短时过零率为:其中,

符号函数为:

为短时能量和过零率分别确定高低阈值(短时能量低阈值:e_low,短时能量高阈值:e_high,过零率低阈值z_low,过零率高阈值:z_high),如果某部分的语音片段短时能量和过零率都为零或者为很小的值,就可以认为这部分的语音片段为无声段;如果该部分的语音片段短时能量很大但是过零率很小,则认为该部分的语音片段为浊音段,如果该部分的语音片段的短时能量很小但是过零率很大,则认为该部分的语音片段为清音段。从而,获得有效语音片段的首端点和尾端点。

优选地,所述动态阈值分析方法,包括:

对有效的语音片段进行傅里叶变换,以提取有效的语音片段的频谱特征;

将任一有效的语音片段的频谱特征送入预先训练好的唤醒词识别模型的同时,判断所述有效的语音片段的后验概率是否大于动态阈值t;

若所述有效的语音片段的后验概率大于动态阈值t,则确定所述有效的语音片段中包含唤醒词,并控制所述唤醒词识别模型识别出所述唤醒词。

优选地,所述阈值t根据以下方法进行确定:

根据经验确定固定阈值t0,并将t0存储在配置文件中;

计算当前时刻有效的语音片段的短时能量与紧邻当前时刻的前两个有效的语音片段的短时能量之和的比值,计为offset;

根据公式t=t0+offset,确定阈值t。

优选地,所述唤醒词识别模型基于隐马尔科夫模型(hiddenmarkovmodelhmm)构建。

可以理解的是,为了适应不同环境噪声的影响,阈值t的设定根据动态阈值分析(dynamicthresholdanalysis,dta)来确定,t=t0+offset,其中t0是根据经验确定的固定阈值存储在配置文件中,offset是根据当前语音片段的能量计算出的动态调整量,计算方式是当前语音片段能量与前两个语音片段能量的比值,有了offset的引入,可以更准确地检测是否存在唤醒词;当检测到存在唤醒词后,基于关键词匹配,进行唤醒词识别的确认。

优选地,控制所述唤醒词识别模型识别出所述唤醒词的同时,还包括:

提取所述唤醒词的声纹特征;

所述识别并响应所述语音片段中的语音交互指令,具体为:

判断提取的声纹特征是否与预存的声纹特征相匹配,若是,识别并响应所述语音片段中的语音交互指令,否则,忽略所述语音交互指令。

可以理解的是,所述预存的声纹特征可以是某个或某几个用户的声纹特征。例如,限定家庭中的爸爸、妈妈和女儿可以和系统进行语音交互,那么系统就预存爸爸、妈妈和女儿的声纹特征。只要系统比对出当前的唤醒词是爸爸、妈妈或者女儿发出的,那么就识别并响应所述语音片段中的语音交互指令,否则,就忽略跟随在唤醒词后面的语音交互指令。这相当于进一步降低了被误唤醒的概率。

可以理解的是,本实施例提出的这种声特征比对,主要是用于确定唤醒词是谁说的,可以增加用好体验好感;如果系统总是去响应不相干人员的对话,那想交互的用户就会不满意。因此,本实施例提供的技术方案,可以保证想交互的用户优先进行语音交互,提高用户满意度。

优选地,所述识别并响应所述语音片段中的语音交互指令,具体为:

将所述语音交互指令送入到预先训练好的端到端语音识别模型,进行语音识别;

对语音识别出的文本,利用基于知识图谱的智能对话系统进行自然语言处理,返回应答文本;

将返回的应答文本,输入到预存的端到端语音合成模型,生成对应的音频并通过播放设备进行回答。

优选地,所述端到端语音识别模型采用cnn+ctc模型,采用vgg16基本模型架构,13个卷积层,3个全连接层,其中三层全连接层用于实现注意力机制,损失函数采用ctc损失函数,网络优化器采用adam优化器。

优选地,所述方法,还包括:

利用强化学习的方法,采用增量式参数更新的方式,不断优化所述端到端语音识别模型的参数。

需要说明的是,所述端到端语音识别模型具体的实现过程还包括:针对具体的真实业务场景,采集中文语音数据集,采集时段分为人员噪杂时段和稀少时段,采集对象的年龄按10岁进行年龄段划分,且保证全覆盖,采集对象性别包含男和女,采集对象的地方方言覆盖中国的七大方言(北方方言、吴方言、湘方言、客家方言、闽方言、粤方言、赣方言),然后对数据进行清洗整理,之后进行端到端语音识别模型的训练。

为了不断提高语音识别的准确率,在交互系统的实际应用过程中,利用强化学习(reinforcementlearning,rl)的方法,采用增量式参数更新的方式,不断优化语音识别模型参数;强化学习的过程包括:初始化环境,根据观测值选择具体的行为,环境根据行为给出下一个状态,并判断是否需要终止,之后存储记忆当前的状态和收益信息,然后以最新的状态和收益信息为初始值,循环执行之前的迭代过程,直至满足终止。

可以理解的是,通过端到端(endtoend)语音识别模型,去除了现有技术中所有中间步骤和独立子任务(包括声学模型的训练、发音模型的训练和语音模型的训练等),避免了传统语音识别模型的复杂度,充分利用深层神经网络和并行计算的优势,降低了语音识别的延迟和错词率;

通过强化学习(reinforcementlearning,rl),基于大量的中文语音数据集,提高了不同方言的识别准确率。

针对语音识别出来的文本,利用基于知识图谱的智能对话系统进行自然语言处理(naturallanguageprocessing,nlp),返回应答文本。智能对话系统的实现包括根据实际的业务场景,搜集领域的语料,用tfidf或者entropy等方法抽取实体和属性信息,基于弹性搜索(elasticsearch,es)和ganswer构建智能对话系统;在智能对话系统应用时,通过对输入的文本问题进行关键词提取,利用文本匹配的方式查询对应的实体和属性,并返回应答文本。

使用端到端语音合成模型tts模型(statisticalparametrictts),模型核心是seq2seq+attention。模型的输入为上一步返回的应答文本向量,输出是spectrogramframe,然后在使用griffin_lim算法生成对应音频并经过播放设备(如扬声器)进行回答,从而完成人机交互。

图4是根据另一示例性实施例示出的一种应用于城市大脑的语音交互方法的流程图,如图4所示,该方法包括:

步骤s21、采集当前环境下的语音信号;

步骤s22、对所述语音信号进行预处理,以提取有效的语音片段;

步骤s23、对有效的语音片段进行傅里叶变换,以提取有效的语音片段的频谱特征;

步骤s24、将任一有效的语音片段的频谱特征送入预先训练好的唤醒词识别模型的同时,判断所述有效的语音片段的后验概率是否大于动态阈值t;

步骤s25、若所述有效的语音片段的后验概率大于动态阈值t,则确定所述有效的语音片段中包含唤醒词,并控制所述唤醒词识别模型识别出所述唤醒词,同时提取所述唤醒词的声纹特征;

步骤s26、判断提取的声纹特征是否与预存的声纹特征相匹配,若是,将所述语音交互指令送入到预先训练好的端到端语音识别模型,进行语音识别;对语音识别出的文本,利用基于知识图谱的智能对话系统进行自然语言处理,返回应答文本;将返回的应答文本,输入到预存的端到端语音合成模型,生成对应的音频并通过播放设备进行回答;否则,忽略所述语音交互指令。

可以理解的是,本实施例提供的技术方案,其软件处理流程主要为:动态阈值分析方法(确定是否存在唤醒词)--》唤醒词识别模型(识别出唤醒词)--》声纹特征比对(确定唤醒词是谁说的)--》端到端语音识别模型(识别说了什么)。

本实施例提供的技术方案,通过利用动态阈值分析技术,判定当前真实环境下是否有唤醒指令,提高语音唤醒的准确率;

通过端到端(endtoend)语音识别模型,去除了现有技术中所有中间步骤和独立子任务(包括声学模型的训练、发音模型的训练和语音模型的训练等),避免了传统语音识别模型的复杂度,充分利用深层神经网络和并行计算的优势,降低了语音识别的延迟和错词率。

图5是根据一示例性实施例示出的一种应用于城市大脑的语音交互系统100的示意框图,如图5所示,该系统100包括:

采集模块101,用于采集当前环境下的语音信号;

预处理模块102,用于对所述语音信号进行预处理,以提取有效的语音片段;

响应模块103,用于利用动态阈值分析方法,判断所述有效的语音片段中是否包含唤醒词,并在确定存在唤醒词时,识别并响应所述语音片段中的语音交互指令。

需要说明的是,本实施例提供的这种语音交互系统适用于语音交互装置中,所述语音交互装置包括但不限于:智能扫地机、智能电饭煲、智能电视机、智能空调、智能照明设备、智能穿戴设备、智能机器人、智能音箱等所有具有语音交互功能的智能用电设备中。

本实施例中的“唤醒词”是指预存在系统中的特定词汇,例如“小美、小美”,“小智、小智”,“小a、小a”,“豆豆、豆豆”,“启新智元”,“城市大脑”等等,类似这种的双音节词汇,或者四音节词汇,或者短句等等。本实施例中的“语音交互指令”是指用户希望系统响应的指令内容,例如“播放歌曲”,“播放新闻”,“播放儿歌”,“开始煮饭”,“开始拖地”,“如何爆炒黄瓜炒肉?”,“如何保护视力?”类似这种的指令或者查询内容等等。

每次用户需要进行语音交互时,必须先说出唤醒词,以唤醒词为“小美、小美”为例,若用户想播放音乐,必须先呼唤“小美、小美”,然后随后跟上语音交互指令“请播放音乐!”或者“播放音乐”或者“播放歌曲”等等。

系统只有在识别出存在唤醒词“小美、小美”时,才会去识别及响应语音交互指令“请播放音乐!”或者“播放音乐”或者“播放歌曲”等等。

可以理解的是,本实施例提供的技术方案,利用动态阈值分析方法,判断有效的语音片段中是否包含唤醒词,并在确定存在唤醒词时,识别并响应所述语音片段中的语音交互指令,相比现有技术,本发明提供的技术方案,只在判定当前真实环境下有唤醒词时,才进行后续的语音交互指令识别及响应,提高了语音唤醒的准确率,用户体验度好、满意度高。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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

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

tips