Alexa 技能发展

已发表: 2021-07-19

在本博客中,我将解释 Alexa 是什么,以及语音识别技术的重要性,然后简要概述在 AWS 上创建 Alexa Skills。

什么是亚历克萨斯?

Alexa 是亚马逊提供的基于云的语音识别和响应服务。 它允许用户通过说出命令来控制他们的设备和访问信息。

它可以与各种设备配合使用,包括亚马逊的 Echo 和其他第三方制造的设备。

为什么是亚历克萨斯?

这纯粹是基于我自己的熟悉程度。 该领域的其他主要参与者是 Google Assistant 和 Apple 的 Siri,它们都是非常具有可比性的语音识别服务。

为什么是语音?

计算机用户界面设计经历了不同的发展阶段。 每一步都试图在某些方面改进以前的设计——有些比其他的更成功。 在可访问性的情况下,这尤其重要。 但是,如果您询问参与可访问性的任何人,他们很可能会告诉您,满足许多用户的需求通常还差多远。

计算机用户界面的(非常)简史

批量计算/打卡

非常早期的“通用”计算机需要费力地创建打孔卡,并且通常比普通洗衣机的计算能力低。

命令行界面 (CLI)

尽管有些人仍然认为这是控制计算机的*唯一*方式,但普遍的共识是,对于人们可能想要执行的某些任务,它可能有点不方便。 此时的主要输入方式显然是键盘。 尽管仍然是任何工作站设置的主要内容(并且可能会持续很长时间),但学习打字可能是使用的一个困难障碍。

图形用户界面 (GUI)

图形用户界面的出现见证了基于 Windows 的系统的引入,这是可用性和用户体验方面的巨大飞跃。 当然,为了拖动这些闪亮的新窗口,发明了鼠标——一种非常直观的与计算机交互的方法。

手机

尽管以前用于台式计算机,但在智能手机和其他“智能”设备出现之前,触摸屏技术从未真正起飞。 不再有响亮的钥匙叮当声!

语音

语音操作技术的发展形成了可用性和用户体验方面的又一次巨大飞跃。 为了与软件交互,您唯一需要的能力是能够说同一种语言。 由于界面几乎完全自然,几乎没有学习曲线。

为什么在前面的句子中使用“几乎”? 嗯,仍然有一个事实,即您必须学习如何以一种能够获得您想要的结果的方式提出您的命令。

除了人们可以轻松开始使用这种界面之外,还有其他好处,例如姿势和眼睛疲劳——这两个问题对于长时间在电脑前工作的人来说无疑是熟悉的。

用户界面的演变

权力的平衡

在查看多年来演变的各种类型的用户界面时,显而易见的一件事是它们都有一些共同点。 尽管投入了大量资源和工时来解决这个问题,但它们都需要人们在一定程度上工作,以适应计算机的运行方式。 可以说,从这个意义上说,语音和手势识别等技术(这些都是难以解决的问题)显示出这种平衡的变化。 计算机正在努力适应人类的操作方式。

语音识别的挑战

回到 1950 年代,语音识别是那些看似困难的问题之一,因为对我们来说它是第二天性。 以下面的句子为例:

店员:“请问您要找什么?”

顾客:“四支蜡烛。”

当然,当我们以书面形式看到这一点时,我们确切地知道这个人想要什么。 但是当以口头形式听到时,可能是这个人实际上想要“叉子把手”!

这是一个相当微不足道且不太可能的场景,但像这样的歧义在口语中极为常见。 当您考虑计算机的任务类型时,其含义是巨大的。

在那段时间里已经使用了许多方法,其中隐马尔可夫模型和神经网络是最成功的。 最近,深度学习得到了应用,这为我们提供了目前可用的强大解决方案。

所需步骤的比较

“没有什么可以代替努力工作。” ~托马斯 A. 爱迪生

……或者有吗? 即使是相对现代的技术也会带来额外步骤的开销,使我们能够为技术工作,而不是相反。

以下是一些“算法”列出的基本任务,以说明我们在没有意识到的情况下做了多少工作:

打开/关闭电视:

传统方法

  • 找到遥控器
  • 拿起遥控器
  • 找到正确的按钮
  • 按下按钮

语音法

  • “Alexa,打开/关闭电视”

将项目添加到待办事项列表:

传统方法

  • 找到电话(并拿起)
  • 解锁手机
  • 查找应用
  • 打开应用

语音法

  • “Alexa,将“买面包”添加到我的待办事项列表中”

如您所见,使用语音控制设备的步骤要少得多。

指标

以下是一些图表,说明了语音激活服务的一般状态。 尽管与应用商店的下载量相比,数字很小,但该领域正在快速增长:

2017年12月美国智能音箱市场份额Alexa 应用程序在 Google 上的下载

信用:https://www.voicebot.ai/amazon-echo-alexa-stats

亚马逊技能 API 介绍

Amazon Alexa Skills API 提供了用于接收、识别、处理和响应通过设备接收的语音命令的框架。

一般步骤如下:

所需步骤概述

命名你的技能

为您的技能选择一个调用名称,该名称将用于激活 Alexa,以便它可以响应您的命令。

定义你的意图

在 Amazon Skills 中,“意图”或“意图”是与用户命令相关联的请求或操作。

例如,在句子:“Alexa,1729 年的这一天发生了什么?”,命令“1729 年的这一天发生了什么?” 将映射到预定义的意图,为应用程序提供正确的关键字以获取答案。

为了让你的技能更加灵活,我们使用了一种叫做“slots”的东西,它本质上是特定类型数据的占位符。

构建模型

在这里,我们列出了与 Alexa 交互的整体结构,包括提供更多信息的提示和可能的答案模式。

定义端点

这指向将处理应用程序逻辑的代码的物理位置。 它可以放置在 Internet 上的任何位置,但最简单的选择是创建一个 AWS Lambda,它可以由您的技能远程调用。

创建 Lambda 函数

在 AWS 上创建它非常简单。 您需要进行一些设置和映射,但提供了蓝图,可以很好地了解必要的内容。

当收到来自 Alexa 技能的命令时,您在此处的代码将处理正确的响应并更新任何需要跟踪的模型。

结论

这是对语音激活服务的功能以及如何使用 Alexa Skills Kit 创建一个服务的(非常)简要概述。 在下一篇关于 Alexa 技能开发的文章中,我们将实际创建一个小技能并将其发布到 Amazon Skills! 或者,如需您的网页设计和开发方面的帮助,请立即与我们联系。


如果您需要帮助,请随时与我们联系。