機器學習技術如今那麼熱門,想必每一個同窗都曾嘗試着,或者在實踐項目中開發過具有這種能力的應用吧。例如分析用戶在電商網站上的行爲藉此找出「羊毛黨」,給公司餐廳開發那種餐盤從攝像頭下掃過就自動識別菜品並計算總金額的付款機,甚至能夠自動判斷顧客所購商品而後自動結帳的無員工智能超市……html
在有明確需求的狀況下,全新開發一個具有機器學習能力的應用程序,這固然沒什麼問題。可若是,你須要讓現有的 Web 或移動應用程序具有機器學習能力呢?得進行多少修改?花費多少時間?git
AWS 始終堅信:機器學習技術,理應成爲每一個開發者手中的利器!而一直以來,AWS 也一直努力經過計算機視覺和語言等領域的創新,爲用戶提供預訓練的人工智能服務,幫助用戶在不須要具有機器學習領域專業知識的前提下也能順利使用。
最近,AWS 又有新服務上線了:Amplify Framework 新增預測類別!只需幾行代碼,就能夠給任何 Web 或移動應用程序添加和配置人工智能/機器學習能力。github
AWS Amplify 由一個開發框架和多種開發人員服務組成,經過它能夠很是輕鬆地在 AWS 上構建移動和 Web 應用程序。開源化的 Amplify Framework 提供了一組精心選擇的庫、用戶界面(UI)組件以及一個命令行界面(CLI),可用於構建雲後端並與 Web 或移動應用程序集成。
Amplify 充分利用了一系列核心 AWS 服務,分爲多個類別,包括存儲、身份驗證與受權、API(GraphQL和REST)、分析、推送通知、聊天機器人以及AR/VR 等。
藉助 Amplify Framework CLI,咱們可使用 amplify init 以交互的方式完成項目的初始化,而後完成存儲(amplify add storage)和用戶身份驗證與受權(amplify add auth)選項。
不只如此,咱們還可使用 amplify add predictions 來配置本身的應用程序,從而執行下列任務:後端
咱們能夠選擇將上述各項操做僅對經過身份驗證的應用程序開放,或同時也對未經受權的來賓用戶開放。根據輸入的不一樣,Amplify 將使用 AWS Identity and Access Management(IAM)角色和 Amazon Cognito 來配置必要權限。瀏覽器
接下來,咱們一塊兒來看看「預測」類別在 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 的全部預訓練功能來解釋文本的例子:ide
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(); })
經過上述幾個例子能夠看到,藉助 AWS Amplify 爲現有 Web 或移動應用程序添加機器學習能力的方法就是這麼簡單。若是對該服務感興趣,能夠進一步瀏覽此處的入門教程,嘗試着開始使用 Amplify 構建你的下一個 Web 或移動應用程序。此外,也歡迎經過 Amplify Framework GitHub存儲庫向咱們反饋意見。網站
最後須要提醒你們注意:Amplify Framework 的「預測」類別還有許多其餘選項和功能。有關如何構建機器學習支持的應用程序的深刻示例,請參閱 AWS 移動博客上的這個演示。