未来就在这里:语音机器人的工作方式和功能

图片

当使用机器人来解决简单而又费力的任务而不是人员时,例行操作的机器人化是非常活跃的趋势。许多事情正在自动化,包括与客户的电话交谈。Neuro.net公司致力于技术的创造,这些技术为提高机器人的功能提供了机会。

在本文中,开发人员讨论了通过语音识别对话者性别并从事对话重要元素的技术和细微差别。

首先是一个案例,然后是技术故障


图片

最有趣的情况之一是用语音机器人替换了合作伙伴公司的呼叫中心员工。后者的功能不是用于常规情况(例如澄清送货地址),而是用于找出为什么某些客户访问该公司网站的可能性降低的原因。

该技术基于成熟的神经网络,而不是单个脚本。正是神经网络使我们能够解决通常使机器人感到困惑的问题。首先,我们正在谈论对话者的答案,例如“嗯,我还不知道,也许是,尽管不是”甚至“是,不是”。人类常见的语言成为机器人无法克服的障碍。

图片

在训练过程中,机器人开始理解特定短语中的含义以及答案。机器人有几张选票-男性和女性。主要任务是使机器人“人性化”,以便对话者不会测试机器的功能,而是根据目标场景进行对话。

以下是发生的情况的示例。


机器人会听取对话者的声音,并根据客户的意思给出答案。可用于对话的脚本分支总数超过一千。
该机器人的主要目的是了解网站上公司客户活动减少的原因,并向所有人提供有趣的报价。这是该公司自动化呼叫中心工作的首次尝试之一。

新的机器人更加完美。这里是机器人如何与人交流的更多示例:第一第二第三示例。

现在关于技术


机器人可以使用以下三个关键技术功能:

  • 通过语音识别对话者的性别,
  • 年龄识别
  • 与对话者进行对话。

图片

通过语音识别对话者的性别


为什么需要这个?最初,创建此功能是为了使用机器人进行调查。以前,调查工作是由填写了许多要点的人员进行的。例如,对话者所在的楼层。显然,一个人无需询问与谁讲话(男人或女人)来确定此参数。 99%的人都清楚。机器人是另一回事,因此它们或多或少准确地学会了识别声音,我不得不进行大规模的工作。它并没有白费,现在该技术用于根据性别对商品和语音提示进行个性化设置。

重要的一点是,女性声音具有普遍性,适用于处理最广泛的产品,对于女性产品尤其重要。根据各种研究女性的声音会被任何听众正面地感知,在这种情况下,转换会更大。一个例外-在推广“男性”产品时,男性的声音更可取。

怎么运行的?首先,执行主要数据处理,该处理基于持续20 ms的语音记录和片段的处理。所有收集的语音片段都在VAD(语音活动检测)组件中进行了预处理。分离“谷壳中的谷粒”,即语音与噪声是必要的。删除所有垃圾,从而提高了模型的准确性。

为了识别,使用了倒频谱系数的空间,即第一和第二差。基础是GMM方法-高斯混合模型。

因此,在10到20毫秒的间隔内,将计算当前功率谱,然后对频谱的对数进行傅立叶逆变换,并搜索必要的系数。

我们的GMM模型分别配置用于教授男性和女性语音模块,并且模型也用于确定成人和儿童的语音。当然,您不能从头开始训练系统,需要标记语音记录。

为了提高系统效率,应用了音色语音模型的系数:

  • 音色清晰度。
  • 音色温暖。
  • 音色的亮度。
  • 音色深度。
  • 音色硬度。
  • 椎骨生长。
  • 音色不均。
  • 音色混响。

需要Timbre模型才能正确识别孩子的声音-其他任何模型都可以接受孩子的声音作为女性。此外,您需要区分粗略的女性声音(例如,吸烟的老年女性)和男性的高声音等。顺便说一句,如果一个人说“你好”然后咳嗽-以前所有不使用音色过滤器的模型都会将声音定义为男性。



系统的主要部分是基于多层感知器MLP的数据分类模块。它从男声和女声模型传输数据,从音色模型传输数据。在系统的入口处,我们获得了一系列分类值,而在输出处,我们得到了性别确定的结果。

此处描述的技术可用于联机(根据客户端的第一个短语)和脱机分类模式(在对话之后)使用。性别识别准确率约为95%。重要的一点是,在线工作时的延迟不超过120-150 ms,这对于机器人的人性化而言极为重要。通常,机器人与人之间的通信暂停不是毫秒,而是几秒,这对于人类对话者来说当然很奇怪,而且数字系统可以立即通信。

该计划包括添加带有文字的作品,更确切地说是结尾。如果对话者说“我可以”-肯定是个女人。在不久的将来,该技术将最终确定并在识别系统中实施。

确定对话者的年龄


为什么需要这个?首先,为了不向未成年人提供各种产品和服务。此外,识别年龄对于按年龄类别个性化报价非常有用。

怎么运行的?使用与前面的情况完全相同的技术。系统的准确性约为90%。

图片

构造对话框


现在我们进入最有趣的部分-构造对话框的原理。

为什么需要这个?为了胜任替换人员,机器人必须能够在线性和非线性对话场景中工作。在第一种情况下,它可以是一份调查表,在第二种情况下,可以与呼叫中心的订户,公司的技术支持部门等合作。

它是如何工作的?我们使用NLU引擎,其基础是对从ASR系统接收到的文本的语义分析。此外,在构造对话流的逻辑中使用的诸如实体(意图)和意图(意图)之类的识别对象与其区别开来。

这是该技术工作方式的一个示例。

从语音识别系统(ASR)收到的文本:
“总的来说,我对您的建议感兴趣,但我希望它更便宜。现在我有点忙,你明天明天六点可以给我回电话。”

使用NLU引擎填充的对象:

意图:
确认=
反对=昂贵的
问题=空
回调=真
right_time = true

实体:
日期= 01/02/2019(假设通话日期为2019年1 月1日)
时间=
18:00数量= 6

填充原则本示例中的对象是:

Intent(意图):

  • 文本“我对您的提案感兴趣”已被翻译为意图“确认”,其值为“ true”。
  • 文字“我希望它更便宜”被翻译为意图“异议”,价值为“昂贵”。
  • 文本“我现在有点忙”已被转换为意图“ wrong_time”,其值为“ true”。
  • « » intent «call_back» «true».
  • , intent «question» null

Entities ():

  • «» entity «date» «02.01.2019», current_date + 1 (, 01.01.2019).
  • « » entity «time» «18:00»,
  • «» entity «amount» «6», , entities .

对于意图和实体的整个列表,分配了某些值,然后将其用于建立对话流程。

现在让我们讨论一下NLU Engine系统支持的工作算法。它包括两个级别。

第一层-它适用于大约600-1000条记录的相对较小的数据样本。此处使用ML算法。识别精度:90-95%。

第二级-过渡到项目启动后,并积累了大量数据样本,包括超过100万条记录,然后进行转换。DL算法已在这里使用。识别精度:95-98%。

该解决方案适用于两个子系统:

  • 文本数据分类子系统
  • 对话形成子系统。

两个子系统并行工作。在分类和分类系统的入口处,将传输从语音短语中识别出的订户文本;在输出中,决策将给出填充参数Entity和Value来形成答案。

用于构建非线性场景的对话形成子系统建立在神经网络上。在系统的入口处,传输从语音短语中识别出的订户文本,在出口处,确定下一次应播放的内容。

非线性方案适用于第一条支持线-机器人不知道谁在打电话,关于哪个特定产品以及有哪些问题。在这里,对话的进一步构建取决于客户的回应。

但是对于拨出电话,最好的解决方案是线性方案。他的榜样是在文章的开头。线性方案的另一种形式是在客户回答无关紧要时进行调查,这将由专家进行进一步分析。但重要的是要引导客户解决清单上的所有问题。

因此,我想强调的是,语音机器人不会取代人。现在,他们在日常工作中做得非常出色-打电话给人们,问他们一些问题并听/记录/分析答案。因此,呼叫中心和技术支持操作员无需执行相同的常规程序。相反,他们可以专注于真正有趣的问题和挑战。

All Articles