写点什么

使用 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:00749

评论

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

国产分布式数据库发展趋势与难点

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库 企业号十月PK榜 企业号十月 PK 榜

资源成本降低80%!Serverless云函数的弹性架构实践

Geek_2d6073

分享一个好问题:企业为什么要区分数据中台和数据平台?

雨果

数据中台 大数据平台

开源无国界,从openEuler Maintainer到Spark Committer的贡献开源之路

openEuler

spark 开源 openEuler

SAST + SCA: 结合使用安全升级

SEAL安全

SCA 安全测试 攻击 SAST 应用安全测试

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

React组件之间的通信方式总结(下)

beifeng1996

React

流程引擎的架构设计

京东科技开发者

架构设计 报表 workflow BPM 流程引擎

聚焦六大典型应用场景,博云金融行业容器解决方案更新发布!

BoCloud博云

云计算 云原生 容器云

以太坊质押时代到来,开发者机遇何在?

TinTinLand

区块链 以太坊 开发者 质押挖矿

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

JVM诊断工具中的深堆、浅堆、支配树,你都明白吗

JAVA旭阳

Java JVM 10月月更

React循环DOM时为什么需要添加key

beifeng1996

React

给 SAP BTP 创建的 Java 应用添加 Custom Event Handler 支持创建功能

汪子熙

spring 云原生 Cloud SAP 10月月更

【LeetCode】合并两个有序链表Java题解

Albert

算法 LeetCode 10月月更

阿里内部最新发布的并发图册+JDK源码速成笔记,终于解脱束缚了

Geek_0c76c3

Java 源码 程序员 JVM 开发

Python进阶(二十)Python爬虫实例讲解

No Silver Bullet

Python 数据分析 10月月更

面向对象思想和Java中类的定义

共饮一杯无

Java 面向对象 10月月更

腾讯云继续加码布局云原生,将披露全新产品战略

科技热闻

华为云确定性运维,为政务云平台稳定可靠运行保驾护航

华为云开发者联盟

云计算 华为云 政务云 企业号十月PK榜

react高频面试题自测

beifeng1996

React

PriorityQueue源码-成员变量解析

知识浅谈

Priority Queue 10月月更

数字化背景下,低代码发展的动力和阻力

SoFlu-JavaAI开发助手

自制操作系统系列(三):加载其他文件执行

操作系统

为什么编程第一课都要学Hello World?

博文视点Broadview

深度解析:智能合约DAPP(bsc)币安链系统项目开发解决方案

I8O28578624

带你认识JDK8中超nice的Native Memory Tracking

华为云开发者联盟

开发 华为云

使用Mask R-CNN模型实现人体关键节点标注

华为云开发者联盟

人工智能 华为云 mask 企业号十月 PK 榜

Java对象的使用和对象内存图解

共饮一杯无

Java 对象 10月月更

金九银十前端面试题总结(附答案)

loveX001

JavaScript

数据中台选型前必读:数据中台与大数据平台有什么区别

雨果

数据中台 大数据平台

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