人机交互方法、装置、设备及存储介质与流程

文档序号:31717794发布日期:2022-10-04 22:24阅读:80来源:国知局
人机交互方法、装置、设备及存储介质与流程

1.本发明涉及人机交互领域,尤其涉及一种人机交互方法、装置、设备及存储介质。


背景技术:

2.人机交互(human

computer interaction或human

machine interaction,hci或hmi),是一门研究系统与用户之间的交互关系的学问,系统可以是各种各样的机器,也可以是计算机化的系统和软件。人机交互界面通常是指用户可见的部分,用户通过人机交互界面与系统交流,并进行操作。人机对话是人机交互的一种实现方式,用户与计算机之间,通过控制台或终端显示屏幕,以对话方式进行工作,是自助终端机的基础功能之一。
3.在现有的技术中,目前存在的自助终端机的人机对话一般采用人工音视频对话或用户自主操作服务终端的方式,前者对网络负载要求非常高,并且需要大量人工重复性劳动,后者依据访客问题和相关操作进行答复,但实际情况中自助终端机往往很难理解到用户的意图,并且文本常常存在歧义,或者文本本身存在多种意图,导致无法准确选择唯一的类别,降低服务效率与人机交互体验。另一方面,在制定智能对话系统等领域确实存在着对文本多意图识别的需求,需要根据文本所包含的不同意图来定制相应的回复。


技术实现要素:

4.本发明的主要目的在于提供一种人机交互方法、装置、设备及存储介质,旨在解决现有技术中自助终端机无法识别用户的意图而造成服务效率与人机交互体验低下的技术问题。
5.本发明第一方面提供了一种人机交互方法,包括:获取语音信号,并将所述语音信号转换为文本序列;对所述文本序列进行二分类预测,得到预测结果,其中,所述预测结果包括任务型意图与问答型意图;基于所述预测结果进行语义提取,得到语义提取结果;若所述预测结果为任务型意图,则基于所述语义提取结果控制显示屏幕显示相应的业务页面;若所述预测结果为问答型意图,则基于所述语义提取结果控制显示屏幕显示相应的问答结果。
6.可选地,在本发明第一方面的第一种实现方式中,所述获取语音信号,并将所述语音信号转换为文本序列包括:获取语音信号,并使用预置检测算法提取所述语音信号中的人声区间,得到第一语音信号;获取分帧参数与窗函数,并基于所述分帧参数与所述窗函数对所述第一语音信号进行预处理,得到第二语音信号;对所述第二语音信号进行特征提取,得到语音特征向量;
基于预训练的声学模型与语言模型,将所述语音特征向量转化为相应的文本序列。
7.可选地,在本发明第一方面的第二种实现方式中,所述对所述文本序列进行二分类预测,得到预测结果包括:对所述文本序列进行词嵌入,得到词向量;提取所述文本序列单词级的n-gram特征,得到特征向量;基于所述词向量与所述特征向量,计算所述文本序列属于各标签类别的概率,其中,所述标签的类别包括任务型意图与问答型意图,所述预测结果即概率较大的标签类别。
8.可选地,在本发明第一方面的第三种实现方式中,当所述预测结果是任务型意图时,所述基于所述预测结果进行语义提取,得到语义提取结果包括:对所述文本序列进行词嵌入,得到第一词向量;基于上下文信息对所述第一词向量进行训练,得到第二词向量;基于所述第二词向量,应用条件随机场模型进行预测,得到词性标注序列。
9.可选地,在本发明第一方面的第四种实现方式中,当所述预测结果是问答型意图时,所述基于所述预测结果进行语义提取,得到语义提取结果包括:对所述文本序列进行词嵌入,得到词向量;获取预置知识库中问题的问题特征向量;对所述词向量与所述问题特征向量进行相似度检索,将相似度最高的问题特征向量对应的问题作为所述文本序列的语义。
10.可选地,在本发明第一方面的第五种实现方式中,所述人机交互方法还包括:使用预置编码器对待播放文字序列进行编码,得到编码特征序列;使用与所述预置编码器相对应的解码器对所述编码特征序列进行解码,得到预测声谱图;使用预置声码器对所述预测声谱图进行上采样,得到合成音频。
11.可选地,在本发明第一方面的第六种实现方式中,所述人机交互方法还包括:基于所述合成音频的音频长度,选择相应的动画json文件;获取所述动画json文件中各元素的动画执行路径与执行时间;基于所述各元素的动画执行路径与执行时间绘制各所述元素。
12.本发明第二方面提供了一种人机交互装置,包括:文本转换模块,用于获取语音信号,并将所述语音信号转换为文本序列;分类预测模块,用于对所述文本序列进行二分类预测,得到预测结果,其中,所述预测结果包括任务型意图与问答型意图;语义提取模块,用于基于所述预测结果进行语义提取,得到语义提取结果;第一控制模块,用于若所述预测结果为任务型意图,则基于所述语义提取结果控制显示屏幕显示相应的业务页面;第二控制模块,用于若所述预测结果为问答型意图,则基于所述语义提取结果控制显示屏幕显示相应的问答结果。
13.可选地,在本发明第二方面的第一种实现方式中,所述文本转换模块具体用于:获取语音信号,并使用预置检测算法提取所述语音信号中的人声区间,得到第一
语音信号;获取分帧参数与窗函数,并基于所述分帧参数与所述窗函数对所述第一语音信号进行预处理,得到第二语音信号;对所述第二语音信号进行特征提取,得到语音特征向量;基于预训练的声学模型与语言模型,将所述语音特征向量转化为相应的文本序列。
14.可选地,在本发明第二方面的第二种实现方式中,所述分类预测模块具体用于:对所述文本序列进行词嵌入,得到词向量;提取所述文本序列单词级的n-gram特征,得到特征向量;基于所述词向量与所述特征向量,计算所述文本序列属于各标签类别的概率,其中,所述标签的类别包括任务型意图与问答型意图,所述预测结果即概率较大的标签类别。
15.可选地,在本发明第二方面的第三种实现方式中,所述语义提取模块具体用于:对所述文本序列进行词嵌入,得到第一词向量;基于上下文信息对所述第一词向量进行训练,得到第二词向量;基于所述第二词向量,应用条件随机场模型进行预测,得到词性标注序列。
16.可选地,在本发明第二方面的第四种实现方式中,所述语义提取模块还具体用于:对所述文本序列进行词嵌入,得到词向量;获取预置知识库中问题的问题特征向量;对所述词向量与所述问题特征向量进行相似度检索,将相似度最高的问题特征向量对应的问题作为所述文本序列的语义。
17.可选地,在本发明第二方面的第五种实现方式中,所述人机交互装置还包括:音频合成模块,用于使用预置编码器对待播放文字序列进行编码,得到编码特征序列;使用与所述预置编码器相对应的解码器对所述编码特征序列进行解码,得到预测声谱图;使用预置声码器对所述预测声谱图进行上采样,得到合成音频。
18.可选地,在本发明第二方面的第六种实现方式中,所述人机交互装置还包括:动画绘制模块,用于基于所述合成音频的音频长度,选择相应的动画json文件;获取所述动画json文件中各元素的动画执行路径与执行时间;基于所述各元素的动画执行路径与执行时间绘制各所述元素。
19.本发明第三方面提供了一种电子设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述电子设备执行上述的人机交互方法。
20.本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的人机交互方法。
21.本发明提供的技术方案中,获取语音信号并转换为文本序列,对文本序列进行二分类预测,得到预测结果,基于预测结果进行语义提取,得到语义提取结果,若预测结果为任务型意图,则控制显示屏幕显示相应的业务页面,若预测结果为问答型意图,则控制显示屏幕显示相应的问答结果。本发明提供的人机交互方法通过自然语言问答识别用户意图,并根据用户意图向用户提供对应业务服务,以便用户快速、精确地与自助终端机进行人机交互,加快服务速度,提高人机交互体验。
附图说明
22.图1为本发明实施例中人机交互方法的一个实施例示意图;图2为本发明实施例中人机交互方法的另一个实施例示意图;图3为本发明实施例中语音时域图谱的一个实施例示意图;图4为本发明实施例中人机交互装置的一个实施例示意图;图5为本发明实施例中人机交互装置的另一个实施例示意图;图6为本发明实施例中电子设备的一个实施例示意图。
具体实施方式
23.本发明实施例提供了一种人机交互方法、装置、设备及存储介质,通过自然语言问答识别用户意图,并根据用户意图向用户提供对应业务服务,以便用户快速、精确地与自助终端机进行人机交互,加快服务速度,提高人机交互体验。
24.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
25.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中人机交互方法的一个实施例包括:101、获取语音信号,并将所述语音信号转换为文本序列;可以理解的是,本发明的执行主体可以为人机交互装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以终端为执行主体为例进行说明。
26.本实施例中,语音是一种搭载着特定的信息模拟信号,是人们社会生活中获取信息和传播信息的重要的手段,语音信号即语音的信号信息,获取语音信号即获取周围环境语音,并从中提取有效的语音信息。
27.本实施例中,获取语音信号,并将所述语音信号转换为文本序列指获取周围环境语音信号,并通过声学模型和语言模型将获取到的语音信号预测为文本序列,包括信号采集、预处理、特征提取、语音解码四个阶段:信号采集即通过麦克风采集用户语音信号,并提取其中的人声区间,过滤静音和噪音;预处理即对语音信号进行分帧处理与加窗处理,减少频谱泄露的同时进行降噪;特征提取即对预处理后的语音信号进行特征提取,得到语音特征向量序列;语音解码即根据预训练的声学模型和语言模型,将语音特征向量序列转化为字符序列。
28.可选地,在一实施例中,上述步骤101包括:获取语音信号,并使用预置检测算法提取所述语音信号中的人声区间,得到第一语音信号;获取分帧参数与窗函数,并基于所述分帧参数与所述窗函数对所述第一语音信号进行预处理,得到第二语音信号;
对所述第二语音信号进行特征提取,得到语音特征向量;基于预训练的声学模型与语言模型,将所述语音特征向量转化为相应的文本序列。
29.具体地,利用短时能量与短时过零率两个门限进行信号采集检测,确定语音信号的起点和终点,短时能量表示语音信号在一帧长度内的能量,语音信号处理常常要达到的一个目标,就是弄清楚语音中各个频率成分的分布,需要使用傅里叶变换,傅里叶变换要求输入信号是平稳的,而语音在宏观上来看是不平稳的,嘴巴一动,信号的特征就变了,但是从微观上来看,在比较短的时间内,嘴巴可以看作是不动的,语音信号也就可以看成平稳的,这一小段信号就可以截取出来做傅里叶变换,语音信号的一帧就是截取出来的一小段信号,短时能量计算公式如下:;其中,n为时间点,x(n)为语音时域信号即在时间点n的语音信号强度,,w(n)为窗函数,在不使用傅里叶变换的情况下,窗函数为方窗,公式如下:;其中,n为语音长度,即短时能量相当于每一帧中所有语音信号的平方和;短时过零率表示语音信号单位时间穿过坐标系横轴的次数,语音信号穿过坐标系横轴的次数计算公式如下:;其中,sgn(n)为符号函数,w(n)(相当于上式中w(m))为窗函数,公式为:;;通过计算每一帧时间内信号穿过坐标系横轴的次数,然后除以每一帧内采样点的数目,即可得到语音信号每帧内的短时过零率。
30.进一步地,在语音信号中,浊音的能量高于清音,清音的过零率高于无声部分,因此先利用短时能量将浊音部分区分出来,再利用短时过零率将清音提取出来,从而完成端
点检测。
31.具体地,请参阅图3,m为短时能量,z为短时过零率,取一个较高的短时能量作为阈值,即图3中的mh,短时能量大于阈值mh的确定为浊音,利用阈值mh分出语音中的浊音部分,即图3中[a1,a2]区间;取一个较低的短时能量阈值m
l
,利用这个阈值从[a1, a2]区间向两端进行搜索,将较低能量段的语音部分也加入到语音段,进一步扩大语音段范围,即图3中[b1,b2]区间;取一个阈值zs,从[b1,b2]区间继续向两端进行搜索,短时过零率大于3倍zs的部分认为是语音的清音部分,加入语音段,即图3中[c1,c2]区间。
[0032]
本实施例中,对语音信号进行分帧处理即将语音信号均等切分为一定长度的信号帧。从宏观上看,一帧信号必须足够短来保证帧内信号是平稳的,由于口型的变化是导致信号不平稳的原因,所以在一帧的期间内口型不能有明显变化,即一帧的长度应当小于一个音素的长度,正常语速下,音素的持续时间大约是 50~200 毫秒,所以帧长一般取为小于 50 毫秒;从微观上来看,一帧信号必须包括足够多的振动周期,因为傅里叶变换是要分析频率的,只有重复足够多次才能分析频率,语音的基频,男声在100赫兹左右,女声在200赫兹左右,其相应的周期为10毫秒和5毫秒,由于一帧要包含多个周期,所以一般取至少20毫秒。由此,一帧语音信号一般取20~50毫秒。
[0033]
进一步地,对每一帧信号进行加窗,加窗的目的是让一帧信号的幅度在两端渐变到0,更利于傅里叶变换,让频谱上的各个峰更细,不易糊在一起,即减轻频谱泄露,而加窗的代价是一帧信号两端的部分被削弱了,没有像中央的部分那样得到重视,弥补的办法是,使帧与帧之间相互重叠一部分,相邻两帧的起始位置的时间差即为帧移。
[0034]
可选地,在一实施例中,预处理时,将语音信号均等切分为25ms长度的信号帧,帧移10ms,使用汉宁窗为所有帧加窗,窗函数公式为:;本实施例中,特征提取时使用梅尔频率倒谱系数(mel-scalefrequencycepstral coefficients,mfcc)作为语音信号的短时特征,梅尔标度描述了人耳频率的非线性特性,把每一帧波形变成一个多维向量,它与频率的关系为:;其中,f表示频率,单位为赫兹,mel(f)为对应的梅尔频率。
[0035]
具体地,对原始信号x(t)进行短时傅里叶变换,记分帧后第i帧的窗函数中心位置为τi,则加窗过程表示为:;其中,w(t-τi)为窗函数,然后进行短时傅里叶变换,公式为:
;由此得到第一个分段序列的频谱分布x(ω),然后对频谱取模平方得到功率谱,将功率谱通过一组梅尔尺度的三角带通滤波器,由于三角形是低频密、高频疏的,这可以模仿人耳在低频处分辨率高的特性,三角带通滤波器同时对频谱进行平滑化、消除谐波,凸显原先语音的共振峰,其中,滤波器组定义为:;其中,m为滤波器序号,k为该滤波器的中心频率,低频处滤波器密集,门限值大,高频处滤波器稀疏,门限值低,各滤波器面积相等;计算每个滤波器组输出的对数能量,计算公式为:;最后经离散余弦变换得到mfcc特征向量序列,变换公式为:其中,l为mfcc系数阶数,通常取12-16,m为三角滤波器个数。
[0036]
本实施例中,语音解码使用解码器根据预训练声学模型和语言模型,将输入的语音特征向量序列转化为字符序列。可选地,声学模型使用隐马尔科夫模型(hidden markov model,hmm),将特征向量序列解码为音素序列;语言模型使用n元文法(n-gram)模型,即统计前后n个字出现的概率,将音素序列解码为字符序列,即所述文本序列。
[0037]
102、对所述文本序列进行二分类预测,得到预测结果,其中,所述预测结果包括任务型意图与问答型意图;本实施例中,二分类即分类任务的结果有两类,进行二分类预测即判断待分类对象属于二分类任务中的哪一类。
[0038]
本实施例中,任务型意图指用户期望自助终端机完成某项任务,如:打开地图、打印票据;问答型意图指用户期望自助终端机回答某一问题,如:怎么进行值机等。
[0039]
可选地,在一实施例中,上述步骤102包括:对所述文本序列进行词嵌入,得到词向量;提取所述文本序列单词级的n-gram特征,得到特征向量;基于所述词向量与所述特征向量,计算所述文本序列属于各标签类别的概率,其中,所述标签的类别包括任务型意图与问答型意图,所述预测结果即概率较大的标签类别。
[0040]
具体地,通过fasttext模型对文本序列进行二分类预测,判断文本对应任务型意图或问答型意图。将单词映射到低维连续向量,相似词映射到相似方向,采用的词嵌入算法
不限;n-gram是一种基于统计语言模型的算法,其基本思想是将文本里面的内容按照字节进行大小为n的滑动窗口操作,形成了长度是n的字节片段序列,每一个字节片段称为gram,对所有gram的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键gram列表,即该文本的向量特征空间,列表中的每一种gram就是一个特征向量维度,根据粒度的不同,n-gram可以分为字符粒度(用于英文等)、字或词粒度和词语粒度,fasttext中常用字符粒度和字粒度的n-gram;fasttext有输入层、隐藏层、输出层三层,将词向量和相应的n-gram特征向量作为输入,学习一个可以表示句子的向量表示,然后用于预测句子类别。
[0041]
假设fasttext的输入为{x1,...,xn},则:;;其中表示输入到隐藏层的权重,表示隐藏层输出的权重。
[0042]
fasttext使用softmax函数获得类别分类的概率,因此,fasttext的损失函数可使用多分类交叉熵损失。
[0043]
进一步地,为了加速训练,采用层次softmax方法优化时间效率,使用树的层级结构替代扁平化的标准softmax,使得在计算概率p(y=i)时(样本属于标签i的概率),只需计算一条路径上的所有节点的概率值,无需在意其它的节点,k个不同的类标组成所有的叶子节点,k-1个内部节点作为内部参数,从根节点到某个叶子节点经过的节点和边形成一条路径,路径长度被表示为l(yi),则:;其中,表示sigmoid函数,lc(n)表示n节点的左孩子节点,是符号函数,定义为:;θn(yj,l)是中间节点n(yj,l)的参数,x是softmax层的输入。通过分层softmax,计算复杂度从o(k)降低至o(log(k)),显著提高计算效率。
[0044]
103、基于所述预测结果进行语义提取,得到语义提取结果;本实施例中,将所有意图划分为任务型意图与问答型意图,其中,任务型意图包括导航、查询等需要业务操作的意图;问答型意图为faq(frequently asked questions,经常被问到的问题)相关意图,根据意图类型的不同,采用不同的语义提取方式以提高语义提取
的准确性。
[0045]
可选地,在一实施例中,当所述预测结果是任务型意图时,上述步骤103包括:对所述文本序列进行词嵌入,得到第一词向量;基于上下文信息对所述第一词向量进行训练,得到第二词向量;基于所述第二词向量,应用条件随机场模型进行预测,得到词性标注序列。
[0046]
具体地,针对任务型意图,用户的语音中通常包括实体名词,因此采用命名实体识别的方法进行语义提取,命名实体一般指的是文本中具有特定意义或者指代性强的实体,通常包括人名、地名、机构名、日期时间、专有名词等,命名实体识别就是从非结构化的输入文本中抽取出上述实体,并且可以按照业务需求识别出更多类别的实体,比如产品名称、型号、价格等,,因此实体这个概念可以很广,只要是业务需要的特殊文本片段都可以称为实体命名实体识别通常包括实体的边界识别,以及确定实体的类型(人名、地名、机构名或其他)两部分。
[0047]
可选地,在一实施例中,使用基于循环神经网络的条件随机场模型(recurrent neural network-conditional random field,rnn-crf),模型使用lstm(long short-term memory,长短期记忆)作为特征抽取器,将中间层特征输入条件随机场得到预测的词性标注序列。
[0048]
进一步地,使用预定义槽(slot)的方式来理解语义,槽填充就是针对句子里某些单词做属性标记,使得计算机将用户意图转化为显式地指令以便理解,槽由槽位构成,可以通过历史对话、gps定位或询问用户的方式取得槽值,当槽填充完整后,可以执行对应的语义操作。使用语义槽来表示用户的需求,如出发地、到达地、出发时间等信息,便于任务型对话的语言理解,同时还可以作为意图识别的关键字,有效提高自助终端机的语言理解能力,进而增强用户体验。
[0049]
可选地,在一实施例中,当所述预测结果是问答型意图时,上述步骤103包括:对所述文本序列进行词嵌入,得到词向量;获取预置知识库中问题的问题特征向量;对所述词向量与所述问题特征向量进行相似度检索,将相似度最高的问题特征向量对应的问题作为所述文本序列的语义。
[0050]
具体地,词嵌入可以使用word2vec技术,通过预训练模型将词汇嵌入到高维特征空间中,所得的特征向量即对应词汇的语义,word2vec使用单个隐藏层,隐藏层中的神经元都是线性神经元,输入层具有与用于训练的词汇中的单词一样多的神经元,隐藏图层大小为生成的单词向量的维度,输出图层的大小与输入图层相同,因此,假设用于学习单词向量的词汇表由v个单词组成,并且n为单词向量的维度(每个单词拥有n个特征),则将隐藏层连接的矩阵大小为v
×
n的矩阵用wi表示,其中每行表示词汇单词,以相同的方式,可以通过矩阵wo来描述从隐藏层到输出层的连接大小为n
×
v。word2vec使用cbow(continuous bag-of-word model,连续词汇模型)方式进行训练,即通过n-fram语法使用上下文预测当前词,第一步计算隐藏层h的输出:;
其中,权重矩阵wi为one-hot编码,c为样本标签;第二步计算出书层每个节点的输入:;其中,w
oj
是权重矩阵wo的第j列;最后使用softmax函数计算输出层输出,并使用交叉熵损失函数更新权重矩阵。
[0051]
进一步地,将文本的词嵌入特征与知识库中的问题特征进行相似度检索,即向量检索,相似度最高的问题可以看作当前文本的语义,并返回该问题对应的回答。可选地,使用elasticsearch的向量检索服务。
[0052]
104、若所述预测结果为任务型意图,则基于所述语义提取结果控制显示屏幕显示相应的业务页面;本实施例中,任务型意图包括但不限于导航、查询等需要业务操作的意图,当用户意图为任务型意图时,基于语义跳转至查询页面并显示相应结果,业务页面即与用户意图及语义相对应的查询结果的页面,如:用户意图为导航,则显示相应的路线页面。
[0053]
可选地,若匹配失败,则返回相应提示信息,如:查询失败。
[0054]
105、若所述预测结果为问答型意图,则基于所述语义提取结果控制显示屏幕显示相应的问答结果。
[0055]
本实施例中,问答型意图即用户进行常规问题的提问,如:如何进行值机、怎么托运行李、洗手间在哪里等,当用户意图为问答型意图时,将基于语义查询得到的相匹配的回答进行显示即可。
[0056]
可选地,若匹配失败,则返回相应提示信息,如:查询失败。
[0057]
本发明实施例中,获取语音信号并转换为文本序列,对文本序列进行二分类预测,得到预测结果,基于预测结果进行语义提取,得到语义提取结果,若预测结果为任务型意图,则控制显示屏幕显示相应的业务页面,若预测结果为问答型意图,则控制显示屏幕显示相应的问答结果。本发明提供的人机交互方法通过自然语言问答识别用户意图,并根据用户意图向用户提供对应业务服务,以便用户快速、精确地与自助终端机进行人机交互,加快服务速度,提高人机交互体验。
[0058]
请参阅图2,本发明实施例中人机交互方法的另一个实施例包括:201、获取语音信号,并将所述语音信号转换为文本序列;202、对所述文本序列进行二分类预测,得到预测结果,其中,所述预测结果包括任务型意图与问答型意图;203、基于所述预测结果进行语义提取,得到语义提取结果;204、若所述预测结果为任务型意图,则基于所述语义提取结果控制显示屏幕显示相应的业务页面;205、若所述预测结果为问答型意图,则基于所述语义提取结果控制显示屏幕显示相应的问答结果;206、使用预置编码器对待播放文字序列进行编码,得到编码特征序列;本实施例中,语音合成是将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的口语输出的技术,可以对返回的相应问答结果合成匹配的语音、对查询
失败的结果合成相应的语音,也可以对任务型意图向匹配的页面跳转合成相应预录入的跳转提示的语音,待播放文字序列及相应的需要进行语音合成的文字序列。
[0059]
可选地,使用tacotron2框架将业务逻辑返回的文字提示信息合成为提示语音,并使用扬声器播放,tacotron2框架包含声谱预测网络和声码器两部分。
[0060]
具体地,声谱预测网络主要包含一个编码器和一个包含注意力机制的解码器。编码器把字符序列转换成一个隐层表征,解码器接受这个隐层表征用以预测声谱图。编码器模块包含一个字符嵌入层(character embedding)、一个3层卷积与一个双向lstm层,输入字符被编码成512维的字符向量,然后穿过一个三层卷积,每层卷积包含512个5x1的卷积核,即每个卷积核横跨5个字符,卷积层会对输入的字符序列进行大跨度上下文建模,这里使用卷积层获取上下文主要是由于实践中rnn很难捕获长时依赖;卷积层后接批归一化(batch normalization),使用relu(rectified linear unit,修正线性单元)进行激活,最后一个卷积层的输出被传送到一个双向的lstm层用以生成编码特征,这个lstm包含512个单元(每个方向256个单元),编码器公式如下:;;其中,f1、f2、f3为3个卷积核,relu为每一个卷积层上的非线性激活,e表示对字符序列x做embedding(嵌入),encoderrecurrency表示双向lstm。
[0061]
进一步地,注意力网络使用基于位置敏感的注意力机制(attention-based models for speech recognition),可以使用之前解码处理的累积注意力权重作为一个额外的特征,因此使得模型在沿着输入序列向前移动的时候保持前后一致,减少了解码过程中潜在的子序列重复或遗漏。位置特征用32个长度为31的1维卷积核卷积得出,然后把输入序列和为位置特征投影到128维隐层表征,计算出注意力权重。公式为:;其中,va,w,v,u为待训练参数,si为当前解码器的隐状态,hi为当前编码器的隐状态,f
i,j
是之前的注意力权重α
i-1
经卷积而得的位置特征。混合注意力机制能够同时考虑内容和输入元素的位置。
[0062]
207、使用与所述预置编码器相对应的解码器对所述编码特征序列进行解码,得到预测声谱图;具体地,解码器是一个自回归循环神经网络,它从编码的输入序列预测输出声谱图,一次预测一帧,上一步预测出的频谱首先被传入一个pre-net网络,pre-net网络每层是由256个隐藏relu单元组成的双层全连接层,pre-net的输出和注意力上下文向量拼接在一起,传给一个两层堆叠的由1024个单元组成的单向lstm,lstm的输出再次和注意力上下文向量拼接在一起,然后经过一个线性投影来预测目标频谱帧。最后,目标频谱帧经过一个5层卷积的post-net网络来预测一个残差并叠加到卷积前的频谱帧上,用以改善频谱重构的整个过程,post-net每层由512个5x1卷积核组成,后接批归一化层,除了最后一层卷积,每层批归一化都用tanh激活,并行于频谱帧的预测,解码器lstm的输出与注意力上下文向量
拼接在一起,投影成一个标量后传递给sigmoid激活函数,来预测输出序列是否已经完成的概率。
[0063]
208、使用预置声码器对所述预测声谱图进行上采样,得到合成音频;具体地,声码器主要是把低维度的声学特征进行上采样生成时域波形。原始的语音预处理后进行stft(short-term fourier transform,短时傅里叶变换)转换,然后进行梅尔刻度表示,该步骤造成了相位信息的丢失,而且不可逆,声码器的任务就是把梅尔谱等特征上采样恢复时域波形。
[0064]
可选地,使用wavenet(波网)作为声码器,wavenet是一种完全概率和自回归的模型,每个音频样本的预测分布均以所有先前样本为条件,可以直接学习到采样值序列的映射,因此具有很好的合成效果。wavenet直接在原始音频波形上运行新的生成模型。波形的联合概率分布x=x1,x1,...,x
t
被分解为条件概率的乘积,第t个采样点的概率可以根据前t-1个采样点的预测得到,因此可以用来预测语音中的采样点数值,其基本公式如下:;wavenet声码器的模型结构主要构成是膨胀因果卷积网络(dilated casual convolutions),每个卷积层都对前一层进行卷积,卷积核越大,层数越多,时域上的感知能力越强,感知范围越大。声码器在输出层使用softmax求取每个采样点的概率,把采样值的预测作为分类任务进行,由于16位的采样点就有65536种采样结果,需要对采样值进行转换,将65536种采样值转换成256种,转换公式如下:;其中-1《x
t
《1,且μ=255。
[0065]
209、基于所述合成音频的音频长度,选择相应的动画json文件;本实施例中,基于合成音频的音频长度,选择其音频长度所在区间相对应的json文件,如:共有10个不同的json动画,分别对应0-3s、3-6s、6-9s、9-12s...27-30s的音频长度,现有一合成音频的长度为11秒,则选择9-12s的动画json文件。
[0066]
210、获取所述动画json文件中各元素的动画执行路径与执行时间;本实施例中,使用lottie进行动画渲染,一个完整动画view(视图),是由很多个子layer(层)组成,而每个子layer主要通过shapes(形状),masks(蒙版),transform(变换)三大部分进行动画,lottie框架通过读取json文件,获取到每个子layer 的shapes、masks、以及出现时间,消失时间以及transform各个属性的关键帧数组。lottie将动画json文件转换为 lottiecomposition 数据对象。
[0067]
211、基于所述各元素的动画执行路径与执行时间绘制各所述元素。
[0068]
本实施例中,继承imageview的lottieanimationview将数据对象lottiecomposition和渲染能力委托给lottiedrawable处理。在lottiedrawable中会将数据对象lottiecomposition组建为具有draw能力的baselayer。并在lottieanimationview需要绘制时,调用自己和各个层级baselayer的渲染,从而达到动画效果。
[0069]
本发明实施例中,获取语音信号并转换为文本序列,对文本序列进行二分类预测,得到预测结果,基于预测结果进行语义提取,得到语义提取结果,若预测结果为任务型意图,则控制显示屏幕显示相应的业务页面,若预测结果为问答型意图,则控制显示屏幕显示相应的问答结果,同时将回答的语句通过语音合成,生成音频并播放,以及选取与语音相适合的动画进行播放。本发明提供的人机交互方法通过自然语言问答识别用户意图,并根据用户意图向用户提供对应业务服务,以便用户快速、精确地与自助终端机进行人机交互,加快服务速度,同时语音答复与动画播放提高了用户的使用体验,也可以满足特殊人群的使用需求。
[0070]
上面对本发明实施例中人机交互方法进行了描述,下面对本发明实施例中人机交互装置进行描述,请参阅图4,本发明实施例中人机交互装置一个实施例包括:文本转换模块301,用于获取语音信号,并将所述语音信号转换为文本序列;分类预测模块302,用于用于对所述文本序列进行二分类预测,得到预测结果,其中,所述预测结果包括任务型意图与问答型意图;语义提取模块303,用于基于所述预测结果进行语义提取,得到语义提取结果;第一控制模块304,用于若所述预测结果为任务型意图,则基于所述语义提取结果控制显示屏幕显示相应的业务页面;第二控制模块305,用于若所述预测结果为问答型意图,则基于所述语义提取结果控制显示屏幕显示相应的问答结果。
[0071]
可选地,文本转换模块301具体用于:获取语音信号,并使用预置检测算法提取所述语音信号中的人声区间,得到第一语音信号;获取分帧参数与窗函数,并基于所述分帧参数与所述窗函数对所述第一语音信号进行预处理,得到第二语音信号;对所述第二语音信号进行特征提取,得到语音特征向量;基于预训练的声学模型与语言模型,将所述语音特征向量转化为相应的文本序列。
[0072]
可选地,分类预测模块302具体用于:对所述文本序列进行词嵌入,得到词向量;提取所述文本序列单词级的n-gram特征,得到特征向量;基于所述词向量与所述特征向量,计算所述文本序列属于各标签类别的概率,其中,所述标签的类别包括任务型意图与问答型意图,所述预测结果即概率较大的标签类别。
[0073]
可选地,语义提取模块303具体用于:对所述文本序列进行词嵌入,得到第一词向量;基于上下文信息对所述第一词向量进行训练,得到第二词向量;基于所述第二词向量,应用条件随机场模型进行预测,得到词性标注序列。
[0074]
可选地,语义提取模块303还具体用于:对所述文本序列进行词嵌入,得到词向量;获取预置知识库中问题的问题特征向量;对所述词向量与所述问题特征向量进行相似度检索,将相似度最高的问题特征向
量对应的问题作为所述文本序列的语义。
[0075]
本发明实施例中,获取语音信号并转换为文本序列,对文本序列进行二分类预测,得到预测结果,基于预测结果进行语义提取,得到语义提取结果,若预测结果为任务型意图,则控制显示屏幕显示相应的业务页面,若预测结果为问答型意图,则控制显示屏幕显示相应的问答结果。本发明提供的人机交互方法通过自然语言问答识别用户意图,并根据用户意图向用户提供对应业务服务,以便用户快速、精确地与自助终端机进行人机交互,加快服务速度,提高人机交互体验。
[0076]
请参阅图5,本发明实施例中人机交互装置的另一个实施例包括:文本转换模块301,用于获取语音信号,并将所述语音信号转换为文本序列;分类预测模块302,用于用于对所述文本序列进行二分类预测,得到预测结果,其中,所述预测结果包括任务型意图与问答型意图;语义提取模块303,用于基于所述预测结果进行语义提取,得到语义提取结果;第一控制模块304,用于若所述预测结果为任务型意图,则基于所述语义提取结果控制显示屏幕显示相应的业务页面;第二控制模块305,用于若所述预测结果为问答型意图,则基于所述语义提取结果控制显示屏幕显示相应的问答结果;音频合成模块306,用于使用预置编码器对待播放文字序列进行编码,得到编码特征序列;使用与所述预置编码器相对应的解码器对所述编码特征序列进行解码,得到预测声谱图;使用预置声码器对所述预测声谱图进行上采样,得到合成音频;动画绘制模块307,用于基于所述合成音频的音频长度,选择相应的动画json文件;获取所述动画json文件中各元素的动画执行路径与执行时间;基于所述各元素的动画执行路径与执行时间绘制各所述元素。
[0077]
本发明实施例中,获取语音信号并转换为文本序列,对文本序列进行二分类预测,得到预测结果,基于预测结果进行语义提取,得到语义提取结果,若预测结果为任务型意图,则控制显示屏幕显示相应的业务页面,若预测结果为问答型意图,则控制显示屏幕显示相应的问答结果,同时将回答的语句通过语音合成,生成音频并播放,以及选取与语音相适合的动画进行播放。本发明提供的人机交互方法通过自然语言问答识别用户意图,并根据用户意图向用户提供对应业务服务,以便用户快速、精确地与自助终端机进行人机交互,加快服务速度,同时语音答复与动画播放提高了用户的使用体验,也可以满足特殊人群的使用需求。
[0078]
上面图4和图5从模块化功能实体的角度对本发明实施例中的人机交互装置进行详细描述,下面从硬件处理的角度对本发明实施例中电子设备进行详细描述。
[0079]
图6是本发明实施例提供的一种电子设备的结构示意图,该电子设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对电子设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在电子设备500上执行存储介质530中的一
系列指令操作。
[0080]
电子设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如windows serve,mac os x,unix,linux,freebsd等等。本领域技术人员可以理解,图6示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0081]
本发明还提供一种电子设备,所述电子设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述人机交互方法的步骤。
[0082]
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述人机交互方法的步骤。
[0083]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0084]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory, rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0085]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1