【AICon】硅谷视野+中国实践,汇聚全球顶尖技术的 AI 科技盛会 >>> 了解详情
写点什么

使用 Astro 如何构建 Astrobot Voice

  • 2019-11-07
  • 本文字数:1971 字

    阅读完需:约 6 分钟

使用 Astro 如何构建 Astrobot Voice

这是 Astro Technology, Inc. 首席技术官 Roland Schemers 撰写的一篇客座文章。用他们自己的话说,Astro “在人工智能的支持下,为人员和团队创建适用于 Mac、iOS 和 Android 的现代电子邮件应用程序。现在,使用应用内电子邮件语音辅助工具 Astrobot Voice,您不用离开 Astro 的应用程序即可阅读、管理和回复电子邮件。”


最近,Astro 发布了 Astrobot Voice,这是第一款应用内电子邮件语音辅助工具。这意味着,现在,您不用离开 Astro 的 iOSAndroid 应用程序即可阅读、管理和回复电子邮件。


在 6 月份 Astro 发布 Amazon Alexa 技能后,我们期待让更多人能够通过语音管理电子邮件。在这篇文章中,我们从技术角度详细介绍了我们为何选择这条路、我们如何完成目标以及我们所使用的技术。

为何要构建应用内语音?

我们是 Amazon Echo 的所有者和粉丝,为了表示欢迎和对我们自己的 Alexa 技能进行 dogfood 测试,我们实际上为每位 Astro 新员工提供了 Echo Dot。我们看到技能获得了成功,并想出了多种与更多人在更多场合进行互动的方法。因此,我们决定探索构建应用内语音的可行性。

选择软件

在确定如何构建应用内语音时,我们考虑了一些选项,但同时谨记以下几点目标:


  1. 尽可能重复使用我们基于文本的辅助功能 (在 api.ai 上运行) 或 Alexa 技能中的代码和逻辑。

  2. 通过精准的语音识别打造流畅的用户体验。

  3. 让服务器来处理繁重的工作。


考虑到时间表和工程资源,第一个目标非常重要。我们是小型初创公司,像这样节省时间对我们非常有帮助。


第二个目标,打造流畅用户体验,极具挑战性。Amazon Alexa 因其规模在自然语言处理方面肯定能够提供帮助。因此,我们知道,在尝试打造精确体验的过程中,我们希望利用 AWS 服务及其背后的深度学习技术。


对于第三个目标,我们知道,Astrobot Voice 需要将操作系统级 API 和服务器端开发相结合。对于初始实施,我们决定确保由服务器来完成大部分繁重工作,同时谨记成本问题。由服务器完成大部分工作的好处包括可为 iOS 和 Android 应用提供共享代码,并且无需将 Astro 应用程序的更新版本推送到应用商店即可更改服务器上的流。

堆栈

iOS

对于用于语音识别的 iOS API,我们使用了 AVSpeechSynthesizerSFSpeechRecognizer。SFSpeechRecognizer 仅对 iOS 10 或更高版本可用,因此 Astrobot Voice 只在 iOS 10 和 11 上可用。这一点对于某些应用程序开发人员而言可能是一个限制因素,但并不影响我们的使用。

Android

对于 Android,我们将标准 Android API 用于语音识别,它包含语音识别器文本到语音转换功能。


我们为 iOS 和 Android 都提供了发送服务器记录的文本或文本字符串的选项。由于成本、时间限制和延迟问题,我们决定选择后者。

服务器

在服务器端,我们使用了 Amazon Lex。通过选择 Amazon Lex 而舍弃 api.ai,我们可以重复使用和共享大量已经用于 Alexa 的相同逻辑。虽然我们可以在基于文本的 Astrobot 版本中重复使用一些逻辑,但我们最后决定使用 Amazon Lex 来节约更多时间并提供更好的体验。我们预计,这样可帮助一位开发人员节省 2 至 4 周的时间。随着进一步开发 Astrobot Voice 和 Alexa 技能,这一决策将继续帮助我们节省时间。


将来,当我们提供 Astro 的付费版本 (目前我们的应用程序是免费的) 时,我们计划用适用于语音输入的 Amazon Lex 以及适用于语音输出的 Amazon Polly 来代替设备上语音识别功能,从而利用更多 AWS 服务。这将提升自动程序体验的品质。


下面是这些服务如何协作以创建 Astrobot Voice 体验的流程和架构图:



针对应用内语音开发人员的建议

首先,确保您的服务或应用程序支持语音。考虑到语音的状态,立即在特定应用程序中添加语音可能并不是最重要的。虽然语音功能具有自然语言理解和自动语音识别能力,但它仍然不是使用应用程序的默认方式。因此,您的使用案例需要具有显著的吸引力并位于产品路线图的顶部。我们发现了一个清晰的使用案例,那就是在家庭使用电子邮件和语音的情况,例如准备上班或在车里时。


第二,我们建议切实考虑您使用的技术,避免重复工作。有很多服务和资源可以简化开发过程,让 MVP 走向世界。另一方面,确保在服务器端实现良好的文摘生成,以防止将您限定在用于意图检测的特定服务上。由于这些服务仍然非常新,因此还在不断发展,您可能最终 (甚至很快) 需要切换服务。对于 Astrobot (包括基于语音和基于文本),我们曾经尝试过 Luis.ai、wit.ai、api.ai,而现在使用 Amazon Lex,并且无需对服务器逻辑进行重大更改。


我们很高兴,这是首款内置语音辅助功能的电子邮件应用程序,我们还希望看到其他应用程序在语音领域取得进步。在许多情况下,通过语音方式检索信息和创建新信息要快得多,我们渴望看到接下来的发展。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/how-astro-built-astrobot-voice-a-chatbot-for-email/


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-11-07 08:00613

评论

发布
暂无评论
发现更多内容

React-Hook最佳实践

xiaofeng

React

数据库独角兽SingleStore:没有HTAP,机器学习和人工智能都是不切实际的

StoneDB

数据库 开源 HTAP StoneDB SingleStore

读懂React原理之调和与Fiber

xiaofeng

React

技术界中的虚拟机、容器和沙箱的关系

FinFish

容器 虚拟机 安全沙箱

测试大咖漫谈如何搞定软件质量?

测吧(北京)科技有限公司

软件测试

vue的几个提效技巧

yyds2026

Vue

查看、校验、归档…带你掌握openGauss账本数据库

华为云开发者联盟

数据库 后端 华为云

OKR之剑·实战篇03:OKR的跟踪需要有“自己”的节奏

vivo互联网技术

团队管理 OKR 目标管理

最佳实践 | 用腾讯云AI人像变换给自己一次“跨越年龄的体验”

牵着蜗牛去散步

人工智能 腾讯云 腾讯 腾讯云AI

实时云渲染vs本地渲染,哪个更好用?

Finovy Cloud

云渲染 实时云渲染

Paddle Graph Learning (PGL)图学习之图游走类node2vec模型[系列四]

AI课程

图神经网络 11月月更

彻底搞懂Vue虚拟Dom和diff算法

yyds2026

Vue

count(*)查询性能很差?用这5招轻松优化

小小怪下士

Java 程序员 后端

多视角碰撞,探索 Serverless 企业落地更多可能性丨阿里云用户组厦门站

云布道师

阿里云 云原生

【LeetCode】字符串相加Java题解

Albert

算法 LeetCode 11月月更

浪潮信息工程师:谈一谈设备透传虚拟机启动慢背后的原因及其优化方法 | 第 51 期

OpenAnolis小助手

Linux 系统运维 内核 龙蜥大讲堂 浪潮

OceanBase 首席科学家阳振坤博士入选2022 年度“CCF王选奖”

OceanBase 数据库

React-diff原理及应用

xiaofeng

React

火山引擎 DataTester 首推A/B实验经验库,帮助企业高效优化实验设计能力

字节跳动数据平台

大数据 A/B测试

使用EasyCV Mask2Former轻松实现图像分割

阿里云大数据AI技术

深度学习 计算机视觉 图像处理 图像分割 企业号十月 PK 榜

HummerRisk V0.5.1 发布:新增对象存储、优化K8s 资源态势和资源拓扑等

HummerCloud

Kubernetes 云原生 云安全 云原生安全

华为云Astro的前世今生:用7年时间革新低代码开发观念

华为云开发者联盟

低代码 华为云

SREWorks v1.3 版本发布 | 插件机制发布

阿里云大数据AI技术

大数据 运维 插件

使用SQL加密函数实现数据列的加解密

华为云开发者联盟

大数据 后端 华为云 数据加密

PLC与SCADA的什么区别和联系

2D3D前端可视化开发

物联网 PLC 工业控制 web组态 SCADA

6个步骤强化 CI/CD 安全

SEAL安全

聊聊Vuex原理

yyds2026

Vue

计算机网络:以太网与IEEE 802.3

timerring

计算机网络 11月月更

阿里云产品经理刘宇:Serverless 的前世今生

云布道师

阿里云 Serverless 云原生

软件测试 | 测试人员必须掌握的测试用例

测试人

软件测试 自动化测试 测试开发 测试用例

Dive into TensorFlow系列(2)- 解析TF核心抽象op算子

京东科技开发者

tensorflow TF2 Tensor Op

使用 Astro 如何构建 Astrobot Voice_其他_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章