AWS 提供广泛的人工智能 (AI) 和机器学习 (ML) 服务,包括一套 预先培训的即用型服务 适用于没有 ML 经验的开发人员。 在这篇文章中,我们展示了如何使用这些服务来构建一个应用程序,以促进有视觉或交流障碍的人的包容,其中包括在看、读、听、说或用外语交谈方面有困难。 提供服务,例如 亚马逊转录, 亚马逊波莉, 亚马逊翻译, 亚马逊重新认识 和 亚马逊Textract,您可以为您的项目添加功能,例如实时转录、文本到语音、翻译、对象检测和从图像中提取文本。
据世界卫生组织称,超过 1 亿人(约占全球人口的 15%)患有某种形式的残疾,而且由于人口老龄化和某些慢性病患病率的增加,这一数字可能还会增加。 对于有语言、听力或视力障碍的人来说,听演讲或电视节目、表达感受或需求、环顾四周或读书等日常任务可能会让人觉得是不可能完成的挑战。 大量研究强调了辅助技术对于将残疾人融入社会的重要性。 根据 欧洲议会研究局的研究,智能手机等主流技术提供了越来越多的适合解决残疾人需求的功能。 此外,当您为残障人士设计时,您倾向于构建能够改善每个人体验的功能; 这被称为 遏制效应.
这篇文章演示了如何使用 适用于JavaScript的AWS开发工具包 将 AWS AI 服务提供的功能集成到您自己的解决方案中。 为此,示例 Web 应用程序展示了如何使用 Amazon Transcribe、Amazon Polly、Amazon Translate、Amazon Rekognition 和 Amazon Textract 轻松实施辅助功能。 此应用程序的源代码 AWS AugmentAbility 可在 GitHub上 用作您自己项目的起点。
解决方案概述
AWS 增强能力 由五种 AWS AI 服务提供支持:Amazon Transcribe、Amazon Translate、Amazon Polly、Amazon Rekognition 和 Amazon Textract。 它还使用 亚马逊Cognito 用户池 和 身份池 用于管理用户的身份验证和授权。
部署 Web 应用程序后,您将能够访问以下功能:
- 实时转录和文本到语音 – 该应用程序使用自动语音识别服务 Amazon Transcribe 为您实时转录对话和语音。 输入您想说的话,该应用程序会使用 Amazon Polly 文本转语音功能为您说出来。 此功能还与 Amazon Transcribe 集成 流式转录的自动语言识别——至少 3 秒的音频,该服务可以自动检测主要语言并生成成绩单,而无需您指定口语。
- 实时转录和文本到语音翻译 - 该应用程序为您实时转录和翻译对话和演讲。 输入您想说的话,该应用程序会为您翻译并说出来。 Amazon Translate 目前支持超过 75 种语言的翻译。
- 实时对话翻译 – 选择一种目标语言,用您的语言说话,该应用程序通过结合 Amazon Transcribe、Amazon Translate 和 Amazon Polly 功能来翻译您用目标语言所说的话。
- 物体检测 – 使用您的智能手机拍照,应用程序使用 Amazon Rekognition 标签检测功能描述您周围的物体。
- 标签、标志和文档的文本识别 – 用您的智能手机拍摄任何标签、标志或文件的照片,应用程序会为您大声朗读出来。 此功能由 Amazon Rekognition 和 Amazon Textract 文本提取功能提供支持。 AugmentAbility 还可以将文本翻译成超过 75 种语言,或者通过使用 OpenDyslexic 字体使其对阅读障碍用户更具可读性。
目前提供中文、英文、法文、德文、意大利文、日文、韩文、巴西葡萄牙文和西班牙文的实时转录、文本到语音和实时对话翻译功能。 文本识别功能目前有阿拉伯语、英语、法语、德语、意大利语、葡萄牙语、俄语和西班牙语版本。 每个功能支持的语言的更新列表可在 AugmentAbility GitHub 存储库.
您可以使用以下方法在您的计算机或 AWS 账户中本地构建和部署 AugmentAbility AWS Amplify 托管,一个完全托管的 CI/CD 和静态 Web 托管服务,用于快速、安全和可靠的静态和服务器端渲染应用程序。
下图说明了应用程序的架构,假设它使用 AWS Amplify Hosting 部署在云中。
解决方案工作流程包括以下步骤:
- 移动浏览器用于访问 Web 应用程序——由 AWS Amplify Hosting 托管的 HTML、CSS 和 JavaScript 应用程序。 该应用程序已使用适用于 JavaScript 的 SDK 和 AWS Amplify JavaScript 库.
- 用户通过输入用户名和密码登录。 针对 Amazon Cognito 用户池执行身份验证。 成功登录后,Amazon Cognito 身份池用于为用户提供访问应用程序功能所需的临时 AWS 凭证。
- 当用户探索应用程序的不同功能时,移动浏览器会与 Amazon Transcribe (StartStreamTranscriptionWebSocket 操作),亚马逊翻译(翻译文本 操作)、Amazon Polly(综合语音 操作)、Amazon Rekognition(检测标签 和 检测文本 操作)和 Amazon Textract(检测文档文本 操作)。
AWS 服务已通过使用适用于 JavaScript 的开发工具包集成到移动 Web 应用程序中。 一般来说,适用于 JavaScript 的开发工具包通过浏览器脚本或 Node.js 提供对 AWS 服务的访问; 对于此示例项目,SDK 用于浏览器脚本。 有关如何从浏览器脚本访问 AWS 服务的更多信息,请参阅 浏览器脚本入门. 适用于 JavaScript 的开发工具包作为支持一组默认 AWS 服务的 JavaScript 文件提供。 该文件通常使用 <script>
引用托管 SDK 包的标记。 使用一组指定的服务构建了自定义浏览器 SDK(有关说明,请参阅 为浏览器构建 SDK).
每个服务都按照指南和代码示例集成到移动 Web 应用程序中 适用于 JavaScript 的 AWS 开发工具包开发人员指南. 实时转录功能的实现需要一些额外的步骤,因为 Amazon Transcribe 流式处理 WebSocket 要求开发人员使用事件流编码对音频进行编码,并使用 签名版本 4 签名过程 用于向 HTTP 发送的 AWS API 请求添加身份验证信息。 有关此方法的更多信息,请参阅 使用带有 WebSocket 的 Amazon Transcribe 将语音实时转录为文本.
用户登录网页已使用 认证 AWS Amplify JavaScript 库的功能。 有关身份验证和授权流程的更多详细信息,请参阅 登录后使用身份池访问 AWS 服务.
以下演练展示了如何使用 AWS Amplify Hosting 部署 AugmentAbility; 它包括以下步骤:
- 创建 Amazon Cognito 用户池和身份池,并授予访问 AWS AI 服务的权限。
- 克隆 GitHub 存储库并编辑配置文件。
- 将移动 Web 应用程序部署到 AWS放大 安慰。
- 使用移动网络应用程序。
创建 Amazon Cognito 用户池和身份池,并授予访问 AWS AI 服务的权限
部署应用程序所需的第一步包括 创建 Amazon Cognito 用户池 与 已启用托管 UI, 创建 Amazon Cognito 身份池, 整合两个池,最后 授予权限 用于访问 AWS 服务 AWS身份和访问管理 (IAM) 与身份池关联的角色。 您可以通过手动处理每个任务来完成此步骤,也可以通过部署一个 AWS CloudFormation 模板。
CloudFormation 模板自动预置和配置必要的资源,包括 Amazon Cognito 池、IAM 角色和 IAM 策略。
- 登录 AWS管理控制台 并通过选择启动 CloudFormation 模板 启动堆栈:
该模板默认在欧洲西部(爱尔兰)AWS 区域启动。 要在不同的区域中启动解决方案,请使用控制台导航栏中的区域选择器。 确保选择范围内的 AWS 服务(Amazon Cognito、AWS Amplify、Amazon Transcribe、Amazon Polly、Amazon Translate、Amazon Rekognition 和 Amazon Textract)可用的区域(us-east-2
,us-east-1
,us-west-1
,us-west-2
,ap-south-1
,ap-northeast-2
,ap-southeast-1
,ap-southeast-2
,ca-central-1
,eu-central-1
,eu-west-1
,eu-west-2
). - 下一页.
- 针对 区域,输入您要使用的区域的标识符(在支持的区域中)。
- 针对 用户名,输入您要用于访问应用程序的用户名。
- 针对 电子邮件,输入您首次登录的临时密码应发送到的电子邮件地址。
- 下一页.
- 点击 配置堆栈选项 页面,选择 下一步。
- 点击 评论 页上,查看并确认设置。
- 选中确认模板将创建 IAM 资源并可能需要 AWS CloudFormation 功能的复选框。
- 创建堆栈 部署堆栈。
您可以在 AWS CloudFormation 控制台的 Status 柱子。 你应该收到一个 CREATE_COMPLETE
几分钟后的状态。
作为模板部署的一部分,以下权限被授予由经过身份验证的用户担任的 IAM 角色:
transcribe:StartStreamTranscriptionWebSocket
translate:TranslateText
comprehend:DetectDominantLanguage
polly:SynthesizeSpeech
rekognition:DetectText
rekognition:DetectLabels
textract:DetectDocumentText
即使 亚马逊领悟 未在此 Web 应用程序中显式使用,为操作授予权限 领悟:检测DominantLanguage. 如果未指定语言代码,Amazon Translate 可能会自动调用 Amazon Comprehend 来确定要翻译的文本的语言。
克隆 GitHub 存储库并编辑配置文件
现在已经配置了对 AWS AI 服务的访问,您可以克隆 GitHub 存储库并编辑配置文件。
- 在 AWS AugmentAbility GitHub 存储库,选择 代码 和 下载ZIP.
系统会提示您选择计算机上应下载 ZIP 文件的位置,或者它会自动保存在您的Downloads
文件夹中。 - 下载文件后,解压缩并删除 ZIP 文件。
您应该已经获得了一个名为aws-augmentability-main
里面有一些文件和子文件夹。 - 创建一个名为
config.js
使用任何文本编辑器,并在其中输入以下内容: - 在
config.js
您创建的文件,替换四个INSERT_
具有 Amazon Cognito 身份池 ID、您选择的区域的标识符、Amazon Cognito 用户池 ID 和用户池客户端 ID 的字符串。
您可以通过打开 AWS CloudFormation 控制台,选择名为augmentability-stack
,并选择 输出 标签。
- 将 config.js 文件保存在
aws-augmentability-main
文件夹,然后压缩文件夹以获取新的aws-augmentability-main.zip
文件中。
将移动 Web 应用程序部署到 Amplify 控制台
现在您已经下载并编辑了 AugmentAbility 项目文件,您已准备好使用 Amplify 控制台构建和部署移动 Web 应用程序。
- 点击 开始使用 Amplify 托管 页面,选择 在没有Git提供程序的情况下进行部署.
- 继续.
- 在 开始手动部署 部分,用于 应用名称,输入您的应用程序的名称。
- 针对 环境名称, 为环境输入一个有意义的名称,例如
development
orproduction
. - 针对 付款方式,选择 拖放.
- 要么拖放
aws-augmentability-main.zip
文件从您的计算机到拖放区或使用 选择文件 选择aws-augmentability-main.zip
来自您计算机的文件。 - 保存 并部署, 并等待消息 部署成功完成.
使用移动网络应用程序
现在应该部署移动 Web 应用程序。 在第一次访问应用程序之前,您必须为步骤 1 中自动创建的用户设置一个新密码。您可以在 输出 CloudFormation 堆栈的选项卡(字段 UserPoolLoginUrl
)。 对于第一次登录,您使用您设置的用户名和您通过电子邮件收到的临时密码。
设置新密码后,您就可以测试移动 Web 应用了。
在 其他咨询 在 Amplify 控制台的部分,您应该能够在 生产分支网址 标签。 打开它或将其发送到您的智能手机,然后使用您的新凭据登录,然后开始使用 AugmentAbility。
接下来的步骤
如果您想对移动 Web 应用程序进行更改,您可以处理从存储库克隆的文件,在本地构建移动 Web 应用程序(如 自述文件),然后通过 Amplify 控制台上传更新的 ZIP 文件来重新部署应用程序。 作为替代方案,您可以创建 GitHub、Bitbucket、GitLab 或 AWS 代码提交 存储库来存储您的项目文件,并将其连接到 Amplify 以受益于每次代码提交时的自动构建。 要了解有关此方法的更多信息,请参阅 现有代码入门. 如果您遵循本教程,请确保替换命令 npm run build
npm run-script build
在步骤 2a。
要在 Amazon Cognito 控制台上创建其他用户,请参阅 在 AWS 管理控制台中创建新用户. 如果您需要恢复用户的密码,您应该使用您用于更改临时密码的临时登录屏幕。 你可以在上面找到链接 输出 CloudFormation 堆栈的选项卡(字段 UserPoolLoginUrl
).
清理
完成测试后,为避免产生未来费用,请删除在本演练期间创建的资源。
- 在AWS CloudFormation控制台上,选择 堆栈 在导航窗格中。
- 选择堆栈
augmentability-stack
. - 删除 并在提示时确认删除。
- 在 Amplify 控制台上,选择您创建的应用程序。
- 点击 行动 菜单中选择 删除应用 并在提示时确认删除。
结论
在这篇文章中,我向您展示了如何部署一个代码示例,该示例使用 AWS AI 和 ML 服务将实时转录、文本到语音、对象检测或文本识别等功能提供给每个人。 了解如何构建可供各种能力和残障人士使用的应用程序是创建更具包容性和可访问性产品的关键。
要开始使用 AugmentAbility,请克隆或分叉 GitHub存储库 并开始尝试使用移动网络应用程序。 如果您想在 AWS 账户中部署资源之前试用 AugmentAbility,您可以查看 现场演示 (证书: demo-user
, Demo-password-1
).
关于作者
卢卡圭达 是 AWS 的解决方案架构师; 他常驻米兰,为意大利 ISV 的云之旅提供支持。 他拥有计算机科学和工程的学术背景,在大学开始培养他对 AI/ML 的热情; 作为 AWS 内自然语言处理 (NLP) 社区的成员,Luca 帮助客户在采用 AI/ML 服务的同时取得成功。
- "
- 100
- a
- 关于
- ACCESS
- 访问
- 无障碍
- 访问
- 根据
- 账号管理
- 操作
- 增加
- 额外
- 地址
- 解决
- 驳
- AI
- 人工智能服务
- 替代
- Amazon
- 其中
- API
- 应用
- 应用领域
- 应用领域
- 的途径
- 应用
- 架构
- 围绕
- 人造的
- 人工智能
- 人工智能(AI)
- 相关
- 音频
- 认证
- 认证
- 授权
- 自动表
- 自动
- 可使用
- AWS
- 背景
- 因为
- before
- 得益
- 亿
- 身体
- 边界
- 盒子
- 浏览器
- 建立
- 建立
- 能力
- 挑战
- 收费
- 中文
- 选择
- 云端技术
- 码
- 柱
- 承诺
- 沟通
- 社体的一部分
- 完成
- 一台
- 计算机科学
- 配置
- 分享链接
- 安慰
- 内容
- 谈话
- 对话
- 情侣
- 创建信息图
- 创建
- 创造
- 资历
- 目前
- 习俗
- 合作伙伴
- 演示
- 部署
- 部署
- 部署
- 部署
- 设计
- 详情
- 检测
- 确定
- 开发商
- 开发
- 发展
- 不同
- 疾病
- 文件
- 域
- 下载
- 下降
- ,我们将参加
- 容易
- 编辑
- 邮箱地址
- 工程师
- 英语
- 输入
- 环境
- EU
- 欧洲
- 活动
- 日常
- 每个人
- 现有
- 体验
- 实验
- 高效率
- 专栏
- 特征
- 终于
- (名字)
- 第一次
- 流
- 遵循
- 以下
- 国外
- 叉
- 申请
- 法语
- 止
- 未来
- 通常
- 生成
- 混帐
- GitHub上
- 全球
- 授予
- 增长
- 方针
- 有
- 健康管理
- 帮助
- 亮点
- 托管
- 托管
- 创新中心
- How To
- HTTPS
- 鉴定
- 身分
- 图片
- 实施
- 履行
- 实施
- 重要性
- 不可能
- 改善
- 包括
- 包含
- 包容
- 增加
- 信息
- 整合
- 集成
- 房源搜索
- 爱尔兰
- IT
- 日文
- JavaScript的
- 旅程
- 键
- 已知
- 韩语
- 标签
- 标签
- 语言
- 语言
- 发射
- 启动
- 学习用品
- 学习
- 自学资料库
- 容易
- 友情链接
- 清单
- 听力
- 生活
- 当地
- 圖書分館的位置
- 寻找
- 机
- 机器学习
- 主流
- 使
- 管理
- 颠覆性技术
- 管理的
- 手册
- 手动
- 有意义的
- 会员
- 最低限度
- ML
- 联络号码
- 更多
- 自然
- 旅游导航
- 必要
- 需要
- 数
- 获得
- 优惠精选
- 打开
- 开放
- 操作
- 运营
- 己
- 包
- 部分
- 情
- 密码
- 员工
- 图片
- 播放
- 点
- 政策
- 池
- 矿池
- 人口
- 葡萄牙语
- 供电
- 处理
- 核心产品
- 曲目
- 项目
- 项目
- 提供
- 提供
- 提供
- 范围
- 阅读
- 实时的
- 接收
- 收到
- 恢复
- 地区
- 可靠
- 知识库
- 要求
- 要求
- 必须
- 需要
- 研究
- 资源
- 检讨
- 角色
- 运行
- 说
- 科学
- 屏风
- SDK
- 秒
- 安全
- 服务
- 特色服务
- 集
- 陈列宣传
- 签署
- 迹象
- 智能手机
- 智能手机
- 社会
- 固体
- 方案,
- 解决方案
- 一些
- 源代码
- 西班牙语
- 说话
- 发言
- 堆
- 开始
- 开始
- Status
- 商店
- 流
- 流
- 成功
- 顺利
- 支持
- 支持
- 支持
- 目标
- 任务
- 技术
- 临时
- test
- 测试
- 世界
- 次
- 成绩单
- 翻译
- tv
- 一般
- ui
- 下
- 大学
- 使用
- 用户
- 版本
- 查看
- 等待
- 卷筒纸
- 西部
- 什么是
- 而
- WHO
- 中
- 也完全不需要
- 工作
- 加工
- 世界
- 您一站式解决方案