呼叫评估是呼叫中心质量控制的关键部分。 它使组织可以微调其工作流程,从而使操作员可以更快,更高效地完成工作,并避免不必要的例行工作。
考虑到呼叫中心应该有效,我们致力于使电话评分自动化。 结果,我们提出了一种算法,该算法处理呼叫并将其分配到两个组中:可疑和中性。 所有可疑电话均立即发送给质量评估团队。
我们如何训练深度神经网络
对于样本,我们获取了1700个音频文件,并在该文件上训练了网络。 由于神经元最初不知道应该考虑可疑和什么是中立的,因此我们相应地手动标记了所有文件。
在中性样本中,操作员:
- 没有提高声音;
- 向客户提供所有要求的信息;
- 没有回应客户的挑衅。
在可疑模式下,操作员经常执行以下操作:
- 使用淫秽语言;
- 提高他们的声音或对顾客大喊;
- 去了那个人;
- 拒绝就问题提供建议。
算法完成文件处理后,将200个文件标记为无效。 这些文件不包含任何可疑或中立的迹象。 我们发现了这200个文件中的内容:
- 操作员回答后,客户立即挂断电话;
- 客户在回答后没有说什么;
- 客户端或操作员端的噪音太大。
当我们删除这些文件时,我们将剩余的1,500个分为训练和测试用例。 将来,我们将这些数据集用于训练和测试深度神经网络。
步骤1:提取功能
高级特征提取在机器学习中起着重要作用,因为 它直接影响算法的效率。 在分析所有可能的来源之后,我们选择了以下症状:
时间统计
- 过零率 :信号从正到负变化的速度,反之亦然。
- 中值帧能量 :信号平方和并归一化为相应帧长的信号总和。
- 子帧能量熵 :归一化子帧能量的熵。 它可以解释为急剧变化的量度。
- 帧的平均/中位数/标准差 。
频谱统计(具有频率间隔)
- 光谱质心。
- 光谱分布。
- 光谱熵。
- 光谱辐射。
- 频谱衰减。
音调频率和饱和度矢量的倒谱系数对输入信号的长度敏感。 我们可以一次从整个文件中提取它们,但是这样做会错过及时性状的发展。 由于此方法不适合我们,我们决定将信号分为“窗口”(时间块)。
为了提高标志的质量,我们将信号分成多个部分,每个部分相互重叠。 接下来,我们为每个块顺序提取标签; 因此,为每个音频文件计算属性矩阵。
窗口大小-0.2 s; 窗阶-0.1 s。
步骤2:在单独的短语中定义语音语气
解决问题的第一种方法是分别定义和处理流中的每个短语。
首先,我们使用
LIUM库进行了
区分和
隔离所有短语。 输入文件的质量很差,因此在输出处,我们还对每个文件应用了平滑和自适应阈值处理。
处理中断和长时间沉默
当我们确定每个短语(客户和话务员)的时间限制时,我们将它们彼此叠加,并揭示了两个人同时讲话的情况以及两个人都沉默的情况。 仅需确定阈值。 我们同意,如果参与者同时讲话3秒或3秒以上,那么这被认为是打扰。 对于静音,准确设置了3秒的阈值。
关键是每个短语都有自己的长度。 因此,每个短语的提取特征数量不同。
LSTM神经网络可以处理此问题。 这种网络不仅可以处理不同长度的序列,而且还可以包含反馈,这使您可以保存信息。 这些功能非常重要,因为前面说过的短语包含影响后面说过的短语的信息。
然后,我们训练了LSTM网络以确定每个短语的语调。
作为训练集,我们选取了70个文件,平均包含30个词组(每侧15个词组)。
主要目标是评估呼叫中心接线员的短语,因此我们没有使用客户语音进行培训。 我们使用了750个短语作为训练数据集,使用了250个短语作为测试数据。 结果,神经元学会了以72%的准确度对语音进行分类。
但是,最后,我们对LSTM网络的性能并不满意:使用LSTM网络花费了太多时间,而结果却远非完美。 因此,决定使用其他方法。
现在该告诉我们如何使用
XGBoost以及LSTM和XGB的组合来确定语音音调。
确定整个文件的声音
如果文件包含至少一个违反规则的短语,我们会将其标记为可疑。 因此,我们标记了2500个文件。
要提取属性,我们使用相同的方法和相同的
ANN架构,但有一个区别:我们对架构进行了缩放以适应属性的新维度。
使用最佳参数,神经网络产生了85%的精度。
XGBoost
XGBoost模型的每个文件都需要固定数量的属性。 为了满足此要求,我们创建了几个信号和参数。
使用了以下统计信息:
- 信号的平均值。
- 信号的前10秒的平均值。
- 信号的最后3秒的平均值。
- 信号中局部最大值的平均值。
- 信号前10秒的局部最大值的平均值。
- 信号的最后3秒内的局部最大值的平均值。
针对每个信号分别计算所有指标。 除了记录的长度外,属性的总数为36。 结果,每个记录都有37个数字符号。
该算法的预测精度为0.869。
LSTM和XGB的组合
为了结合分类器,我们将这两个模型进行了交叉。 在输出端,此精度提高了2%。
也就是说,我们能够将预测精度提高到0.9
ROC -
AUC (曲线
下面积)。
结果
我们测试了205个文件(177个中性,28个可疑文件)的深度神经网络。 网络必须处理每个文件并确定它属于哪个组。 结果如下:
- 正确识别了170个中性文件;
- 7个中立文件被确定为可疑文件;
- 正确识别了13个可疑文件;
- 15个可疑文件被确定为中立。
为了估计正确/错误结果的百分比,我们使用了2x2表形式的
错误矩阵 。
在对话中查找特定短语
我们渴望尝试这种方法来识别音频文件中的单词和短语。 目的是查找在对话的前10秒内没有向客户显示呼叫中心接线员的文件。
我们采用了200个短语,平均长度为1.5秒,其中操作员称呼他们的名字和公司名称。
手动搜索此类文件花费了很长时间,因为 我不得不听每个文件来检查它是否包含必要的短语。 为了加快进一步的培训,我们“人为地”增加了数据集:我们随机更改了每个文件6次-添加了噪音,更改了频率和/或音量。 这样我们得到了1,500个文件的数据集。
总结
我们使用操作员响应的前10秒钟来训练分类器,因为在此间隔内才发出了所需的短语。 每个这样的段落都被划分为多个窗口(窗口长度1.5 s,窗口步长1 s),并由神经网络作为输入文件进行处理。 作为输出文件,我们收到了在所选窗口中发音每个短语的可能性。
我们通过网络运行了另外300个文件,以查找在前10秒内是否说出了所需的短语。 对于这些文件,准确性为87%。
其实这是为了什么?
自动呼叫评估有助于为呼叫中心运营商确定明确的KPI,突出并遵循最佳实践并提高呼叫中心性能。 但值得注意的是,语音识别软件可用于更广泛的任务。
下面是语音识别如何帮助组织的一些示例:
- 收集和分析数据以改善语音UX;
- 分析通话记录以识别关系和趋势;
- 通过语音识别人;
- 查找和识别客户情绪以提高用户满意度
- 增加每次通话的平均收入;
- 减少流出;
- 还有更多!