有专家预测,到2020年,企业将实现与客户对话的自动化。据统计,由于呼叫中心的员工要么没有接好电话,要么没有足够的能力进行有效沟通,公司损失了多达30%的来电。
为了快速有效地处理传入的请求,现代企业使用聊天机器人。人工智能会话助手正在取代标准的聊天机器人和IVR。它们在B2C企业中尤其受欢迎。他们使用网站和移动应用程序来保持竞争力。卷积神经网络被训练来识别人类语音并自动处理呼叫。它们有助于全天候与客户保持联系,并简化典型的请求处理。
毫无疑问,未来呼叫中心将独立于运营商。语音合成和识别技术将为它们提供可靠的支持。
我们的研发部门对这些技术很感兴趣,并应客户的要求进行了新的研究。他们训练神经网络识别一组14条语音命令,这些命令可以用来自动呼叫。
为什么企业应该使用语音到文本识别技术
语音识别技术已经在移动应用程序中得到了应用——例如,在Amazon Alexa或谷歌中。智能语音系统使应用程序更加人性化,因为它比打字更省时。
除此之外,语音输入解放了双手。
语音到文本技术解决了许多业务问题。例如,他们可以:
•当客户想要咨询、下订单或取消订单、或参与调查时,自动处理电话,
•支持智能家居系统管理接口、电子机器人和家居设备接口,
•为电脑游戏和应用程序以及语音控制汽车提供语音输入,
•允许残疾人获得社会服务,
•通过语音命令转账。
呼叫中心已经成为商业的“耳朵”。为了让这些“耳朵”自动工作,研发工程师使用机器学习来训练机器人。
这一次,我们的研发部门训练了一个卷积神经网络来识别语音命令,并研究神经网络如何帮助处理语音到文本的任务。
神经网络如何识别音频信号
新项目的目标是创建一个模型来正确识别人类所说的单词。为了得到最终的模型,我们在一组数据上教了神经网络,并根据目标数据进行了调整。当您无法访问大量目标数据样本时,此方法会有所帮助。
作为研究的一部分,我们:
•研究了神经网络信号处理的特点
•预处理并识别有助于从语音记录中识别单词的属性(这些属性在输入中,单词在输出中)
•研究如何在语音到文本的任务中应用卷积网络
•采用卷积网络识别语音
•对模型进行流识别测试
我们如何教神经网络识别传入的音频信号
在研究中,我们使用了wav格式的音频信号,在16位量化采样频率为16khz。我们用一秒钟作为持续时间的标准。每个条目包含一个单词。我们用了14个简单的单词:0、1、2、3、4、5、6、7、8、9、10、yes和no。
属性提取
声音流的初始表示并不容易理解,因为它看起来像时间上的数字序列。这就是我们使用光谱表示的原因。它使我们能够分解不同频率的声波,找出原始声音中的哪些声波形成了声波,以及声波有什么特征。考虑到人类感知频率的对数依赖性,我们使用了小频谱系数。
预加重
信号的音量大小不同。为了将音频以一种形式呈现,我们标准化并使用高通滤波器来降低噪音。预强调是语音识别任务的一个过滤器。它放大了高频,增加了噪声阻力,为声学模型提供了更多的信息。
•框架
原始信号不是平稳的。它被分成互相重叠的小间隙(帧),被认为是静止的。我们应用Hann窗口函数将帧的端点平滑为零。在我们的研究中,我们使用了30 ms帧,重叠15 ms。
•短时离散傅里叶变换
傅里叶变换允许你把原始的平稳信号分解成一组不同频率和振幅的谐波。我们把这个运算应用到帧上,得到它的频率表示。将傅里叶变换应用到所有的帧上形成了一个谱表示。然后计算频谱功率。频谱功率等于频谱的一半平方。
•Log mel filterbank
根据科学研究,人类对低频的识别能力比高频强,而且他/她的感知对低频的依赖程度是对数的。由于这个原因,我们应用了n -三角形滤波器的卷积,其中心为1(图2)。这使得我们能够在较低的频率中捕获更多的信息,并压缩帧的高频性能。
架构的选择
我们使用卷积神经网络作为基本架构。这是最适合这项任务的模型。CNN通过二维卷积运算分析图像的空间依赖性。神经网络对非平稳信号进行分析,识别出时域和频域的重要判据。
我们应用张量n x k,其中n是频率的个数,k是时间样本的个数。因为n通常不等于k,所以我们使用矩形滤波器。
模型架构
Conv2D 64 (3,5) RELU
MaxPooling (2.1)
Conv2D 128 (5,1) RELU
MaxPooling 4 1
Conv2D 256 (7,1) RELU
Conv2D 512 (1,5)
GlobalMaxPooling
FC(512) BatchNorm RELU
FC(128) BatchNorm RELU
FC (14) softmax
927,616 parameters
我们采用标准的卷积网络结构来处理信号的频谱表示。除了第一层的二维滤波器(它区分了常见的时频特性)外,还使用了一维滤波器。We adapted the standard convolutional network architecture to process the spectral representation of the signal. In addition to two-dimensional filters on the first layer, which distinguished common time-frequency features, one-dimensional filters were used.
我们采用标准的卷积网络结构来处理信号的频谱表示。除了第一层的二维滤波器(它区分了常见的时频特性)外,还使用了一维滤波器。
为了实现这个想法,我们必须将识别频率和时间标准的过程分开。为了实现这一点,第二和第三层被制成包含在频域中的一维滤波器集。下一层提取时间属性。全局最大池允许我们将结果属性映射压缩为单个属性向量。
培训前数据准备
关键字设置包含13个俄语命令:да (yes), нет (no), 0,..., 10.。共有485条记录,采样率为44kHz。
非关键字是一组无法识别的非目标词。我们使用来自谷歌的英语单词和来自数据集的倒排记录。这些与整个数据集的比率为15%。
默哀课是与人类语言无关的录音。例如,环境声音(城市、办公室、自然、干扰、白噪声)。我们使用一个基于卷积网络的VAD任务简化模型。我们把它分成两类:说话和不说话。我们使用来自谷歌的数据作为语音数据和背景噪声,以及来自办公室、街道和城市环境的手动记录的非语音噪声。
为了提高模型的抗噪性,扩展数据模型,我们采用了以下增强方法:
•速度调整
•音调转变
•添加噪声
本套噪音纪录由每类10条记录组成:
•OfficeHome
•城市环境
•郊区的环境
•干扰
在加入噪声后,我们得到了记录部分和随机噪声部分的加权和。然后,在增强后,采样率降低到16千赫。我们假设结果会更真实,更详细的记录。我们执行转换操作,从485条记录中得到137448个对象。
模型制备
我们采用转移学习的方法来提高模型的质量。所选的体系结构是在一个大型数据包上训练的——一个来自谷歌的数据集,包含65,000条一秒钟的记录,其中包含30条英语命令。
学习及测试结果
训练样本包含137488个对象,测试样本包含250个对象。对于测试样本,我们选取了没有包含在训练样本中的说话者的录音。我们使用Adam优化方法对神经网络进行三种变化的训练:
•模型从头开始培训(新鲜)
•预训练模型中的卷积层冻结(冻结)
•在不冻结的情况下对预培训模型进行再培训(预培训)
“Fresh”分7个阶段进行,“Frozen”和“Pre-trained”分3个阶段。
查看下表中的结果。
因此,我们选择使用一个预先训练的神经网络对一个大的数据包进行微调,而不冻结卷积层。该模型能更好地适应新数据。
流测试
该模型也进行了现场测试。演讲者在麦克风里念单词,网络就产生了结果。我们没有在训练样本中使用说话者的声音。这使我们能够检查未知数据的质量。每四分之一秒读取一次声音,更新缓存的声音,然后模型对其进行分类。为了避免神经网络的错误,我们使用了一个置信阈值。
测试设备特点:
•CPU: Intel Core i7 7700HQ 2.8 GHz
•RAM: 16 Gb
测试的特点:
•输入音频流刷新率:0.25秒
•频道数量
•采样率:16khz
•传入流:4000×16字节
识别速度:
•沉默演讲:0.23秒
•活动演讲:0.38秒
流测试结果
该模型能够很好地识别来自目标数据集的单个命令,但对于听起来与来自数据集的命令相似的单词,它可能会给出错误的答案。在多词连续语音中,音频信号的处理质量明显下降。
结论
我们研究了语音流中命令的识别,发现:
•当没有大量数据时,迁移学习非常有用。在命令识别中,音频信号的预处理和表示方法是非常重要的。
•噪音使得识别音频变得困难。
•类似的语音识别技术可以应用于著名的命令小词典。
•要训练神经网络,需要高质量的数据。
企业对神经网络信号识别感兴趣,因为它有助于建立与零代(20世纪90年代中期到2000年后出生的人 )通信。他们使用消息作为与朋友交流、消费内容和探索产品的主要方法。
神经网络信号识别作为一种与“零代”建立通信的方式,已经引起了企业界的极大兴趣。这种受众把信息作为与朋友交流、浏览内容和探索产品的主要手段。“零一代”的购买力是每年2000亿美元。这个数字预计在未来还会增加。
聊天机器人开发商考虑到了千禧一代的观点:如今,用户很容易通过Facebook、WhatsApp、Viber、Slack和Telegram等即时通讯工具下单。据研究人员称,80%的公司将在两年内增加客户自助服务的数量。音频识别系统将是一个有用的功能。
我们的团队将继续研究这个课题。我们将研究新的学习模型,以提高语音到文本的识别使用神经网络。