写点什么

使用 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/


2019-11-07 08:00869

评论

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

凭借这份Java超硬核面试 “备战” 手册!我刚面试完字节跳动、阿里、华为、小米等后端岗位

Java架构之路

Java 程序员 架构 面试 编程语言

前端性能优化

roadup

大前端 性能调优

助力金三银四跳槽季,《Java面试突击版》第四版强势来袭

Java架构之路

Java 程序员 架构 面试 编程语言

案例研究之聊聊 QLExpress 源码 (三)

小诚信驿站

刘晓成 小诚信驿站 28天写作 QLExpress源码 聊聊源码

博弈论 - 海盗分金

石云升

博弈论 28天写作 海盗分金

产品风控:短信验证码的风控策略

香芋味的猫丶

短信防刷 产品安全 短信验证码 短信防轰炸 短信防火墙

音频特征提取方法和工具汇总

行者AI

音视频

架构师训练营第七周作业

zamkai

ArgoCD + KubeVela:以开发者为中心的 GitOps

阿里巴巴云原生

阿里云 开源 容器 云原生 k8s

霸榜各个网站的阿里独有的高并发高并发手册:Netty、Redis、Zookeeper,看完惊呆了!

996小迁

redis zookeeper 架构 面试 Netty

DAPP智能合约交易系统开发、DAPP系统开发的详细解释

W13902449729

DAPP智能合约交易系统开发 DAPP系统开发

不交“人脉”交朋友:新荣耀的底气与新机

脑极体

12月阿里蚂蚁金服四面(已拿offer)Java技术面经总结:项目+源码+jvm调优+MySQL

Java 学习 编程 程序员 面试

重学JS | 改变函数上下文的3种方式

梁龙先森

大前端 编程语言 28天写作

redis中的一致性hash

原来不悔

redis 一致性hash

分布式全链路灰度发布的探索与实践

阿里巴巴云原生

阿里云 微服务 运维 云原生 中间件

python 输入输出

赵开忠

Python 28天写作

跨界

张老蔫

28天写作

新的方式-谷歌浏览器插件的使用【天猫超市抢购飞天茅台】

谙忆

计算机网络基础

roadup

TCP 网络 HTTP 计算机 HTTP3.0

2020年度编程语言排行榜 C语言称霸,Java遭遇滑铁卢?

架构精进之路

编程语言 28天写作

数智化浪潮之中,传统企业如何抓住转型机遇?

京东科技开发者

DevOps

第1周架构方法总结

Richard

UML 需求分析 概要设计 软件架构设计 详细设计

理财之我见

三石

理财 28天写作

波场链DAPP软件APP开发|波场链DAPP系统开发

系统开发

巧合?达摩院2021十大科技是十九世纪那场幻想的升级版?

Java架构师迁哥

花火交易所系统开发、雷达模式系统搭建开发

W13902449729

花火交易所系统开发 雷达模式系统搭建开发

助力ARM生态 —Dragonwell新增aarch64支持

阿里云基础软件团队

探索 React 合成事件

Geek_z9ygea

大前端 React 28天写作

SpringBoot太强了、ShardingSphere上榜

spring 编程 框架

跪了!Alibaba内部出品贼火的Java面试手册,全面对标蚂蚁金服、头条、拼多多等

Java架构之路

Java 程序员 架构 面试 编程语言

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