机器学习技术现在那么热门,想必每个同学都曾尝试着,或者在实践项目中开发过具备这种能力的应用吧。例如分析用户在电商网站上的行为借此找出「羊毛党」,给公司餐厅开发那种餐盘从摄像头下扫过就自动识别菜品并计算总金额的付款机,甚至可以自动判断顾客所购商品然后自动结账的无员工智能超市……
在有明确需求的情况下,全新开发一个具备机器学习能力的应用程序,这当然没什么问题。可如果,你需要让现有的 Web 或移动应用程序具备机器学习能力呢?得进行多少修改?花费多少时间?
亚马逊云科技 (Amazon Web Services)始终坚信:机器学习技术,理应成为每个开发者手中的利器!而一直以来,亚马逊云科技也一直努力通过计算机视觉和语言等领域的创新,为用户提供预训练的人工智能服务,帮助用户在不需要具备机器学习领域专业知识的前提下也能顺利使用。
最近,亚马逊云科技又有新服务上线了:Amplify Framework 新增预测类别!只需几行代码,就可以给任何 Web 或移动应用程序添加和配置人工智能/机器学习能力。
Amazon Amplify是什么?
Amazon Amplify 由一个开发框架和多种开发人员服务组成,通过它可以非常轻松地在亚马逊云科技上构建移动和 Web 应用程序。开源化的 Amplify Framework 提供了一组精心选择的库、用户界面(UI)组件以及一个命令行界面(CLI),可用于构建云后端并与 Web 或移动应用程序集成。
Amplify 充分利用了一系列核心亚马逊云科技服务,分为多个类别,包括存储、身份验证与授权、API(GraphQL和REST)、分析、推送通知、聊天机器人以及AR/VR 等。
借助 Amplify Framework CLI,我们可以使用 amplify init 以交互的方式完成项目的初始化,然后完成存储(amplify add storage)和用户身份验证与授权(amplify add auth)选项。
不仅如此,我们还可以使用 amplify add predictions 来配置自己的应用程序,从而执行下列任务:
- 使用 Amazon Rekognition 识别图像中的文本、实体和标签,或使用Amazon Textract 识别扫描文件中的文本,从而获取表单中字段的内容以及表格中存储的信息。
- 使用 Amazon Translate 将文本转换为不同的语言,使用 Amazon Polly 将文本转换为语音,或使用Amazon Transcribe 将语音转换为文本。
- 使用 Amazon Comprehend 解释文本以找到非结构化文本的主要语言、实体、关键语句、情绪或句法。
我们可以选择将上述各项操作仅对通过身份验证的应用程序开放,或同时也对未经授权的来宾用户开放。根据输入的不同,Amplify 将使用 Amazon Identity and Access Management(IAM)角色和 Amazon Cognito 来配置必要权限。
Amazon Amplify 简单上手
接下来,我们一起来看看「预测」类别在 Web 应用程序中的工作原理。
举例来说,我们希望直接从浏览器中使用 Amazon Rekognition 识别图像中的文本,为此可以使用如下 JavaScript 句法并传送一个文件对象:
Predictions.identify({
text: {
source: file
format: "PLAIN" # "PLAIN" uses Amazon Rekognition
}
}).then((result) => {...})
如果图像存储在Amazon S3 中,那么可以在添加此项目的存储时将源更改为该 S3 存储桶的链接。此外还可以更改格式以使用 Amazon Textract 分析扫描的文档。以下为从 S3 中存储的文档提取表单文本的示例:
Predictions.identify({
text: {
source: { key: "my/image" }
format: "FORM" # "FORM" or "TABLE" use Amazon Textract
}
}).then((result) => {...})
以下为使用 Amazon Comprehend 的所有预训练功能来解释文本的例子:
Predictions.interpret({
text: {
source: {
text: "text to interpret",
},
type: "ALL"
}
}).then((result) => {...})
要使用您在添加预测时选择的语言和语音,通过 Amazon Polly 将文本转换为语音,然后在浏览器中回放,则可以使用如下代码:
Predictions.convert({
textToSpeech: {
source: {
text: "text to generate speech"
}
}
}).then(result => {
var audio = new Audio();
audio.src = result.speech.url;
audio.play();
})
进一步了解
通过上述几个例子可以看到,借助 Amazon Amplify 为现有 Web 或移动应用程序添加机器学习能力的方法就是这么简单。如果对该服务感兴趣,可以进一步浏览此处的入门教程,尝试着开始使用 Amplify 构建你的下一个 Web 或移动应用程序。此外,也欢迎通过 Amplify Framework GitHub存储库向我们反馈意见。
最后需要提醒大家注意:Amplify Framework 的「预测」类别还有许多其他选项和功能。有关如何构建机器学习支持的应用程序的深入示例,请参阅 亚马逊云科技移动博客上的这个演示。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。