AWS offre un'ampia serie di servizi di intelligenza artificiale (AI) e machine learning (ML), inclusa una suite di servizi preformati e pronti per l'uso per sviluppatori senza precedenti esperienze di machine learning. In questo post, mostriamo come utilizzare tali servizi per creare un'applicazione che promuova l'inclusione di persone con disabilità visive o comunicative, che includono difficoltà nel vedere, leggere, ascoltare, parlare o conversare in una lingua straniera. Con servizi come Amazon Transcribe, Amazon Polly, Amazon Traduttore, Rekognition di Amazon ed Testo Amazon, puoi aggiungere funzionalità ai tuoi progetti come trascrizione in tempo reale, sintesi vocale, traduzione, rilevamento di oggetti ed estrazione di testo dalle immagini.
Secondo l'Organizzazione Mondiale della Sanità, oltre 1 miliardo di persone, circa il 15% della popolazione mondiale, vive con una qualche forma di disabilità e questo numero è destinato a crescere a causa dell'invecchiamento della popolazione e dell'aumento della prevalenza di alcune malattie croniche. Per le persone con problemi di linguaggio, udito o vista, le attività quotidiane come ascoltare un discorso o un programma TV, esprimere un sentimento o un bisogno, guardarsi intorno o leggere un libro possono sembrare sfide impossibili. Un ampio corpus di ricerche evidenzia l'importanza delle tecnologie assistive per l'inclusione delle persone con disabilità nella società. Secondo ricerca del Servizio di ricerca del Parlamento europeo, le tecnologie tradizionali come gli smartphone forniscono sempre più capacità adatte ad affrontare i bisogni delle persone con disabilità. Inoltre, quando progetti per persone con disabilità, tendi a creare funzionalità che migliorano l'esperienza per tutti; questo è noto come il effetto cordolo.
Questo post mostra come puoi usare il SDK AWS per JavaScript per integrare le funzionalità fornite dai servizi di intelligenza artificiale di AWS nelle tue soluzioni. Per fare ciò, un'applicazione Web di esempio mostra come utilizzare Amazon Transcribe, Amazon Polly, Amazon Translate, Amazon Rekognition e Amazon Textract per implementare facilmente le funzionalità di accessibilità. Il codice sorgente di questa applicazione, AWS AugmentAbility, è disponibile su GitHub da utilizzare come punto di partenza per i propri progetti.
Panoramica della soluzione
AWS AugmentAbility è alimentato da cinque servizi di intelligenza artificiale di AWS: Amazon Transcribe, Amazon Translate, Amazon Polly, Amazon Rekognition e Amazon Textract. Usa anche Amazzonia Cognito pool di utenti ed pool di identità per la gestione dell'autenticazione e dell'autorizzazione degli utenti.
Dopo aver distribuito l'app Web, potrai accedere alle seguenti funzionalità:
- Trascrizione in tempo reale e sintesi vocale – L'app trascrive conversazioni e discorsi per te in tempo reale utilizzando Amazon Transcribe, un servizio di riconoscimento vocale automatico. Digita ciò che vuoi dire e l'app lo dice per te utilizzando le funzionalità di sintesi vocale di Amazon Polly. Questa funzione si integra anche con Amazon Transcribe identificazione automatica della lingua per le trascrizioni in streaming—con un minimo di 3 secondi di audio, il servizio può rilevare automaticamente la lingua dominante e generare una trascrizione senza che tu debba specificare la lingua parlata.
- Trascrizione in tempo reale e sintesi vocale con traduzione – L'app trascrive e traduce conversazioni e discorsi per te, in tempo reale. Digita ciò che vuoi dire e l'app lo traduce e lo dice per te. La traduzione è disponibile nelle oltre 75 lingue attualmente supportate da Amazon Translate.
- Traduzione di conversazioni in tempo reale – Seleziona una lingua di destinazione, parla nella tua lingua e l'app traduce ciò che hai detto nella lingua di destinazione combinando le funzionalità di Amazon Transcribe, Amazon Translate e Amazon Polly.
- Rilevazione di oggetti – Scatta una foto con il tuo smartphone e l'app descrive gli oggetti intorno a te utilizzando le funzioni di rilevamento delle etichette di Amazon Rekognition.
- Riconoscimento del testo per etichette, segni e documenti – Scatta una foto con il tuo smartphone di qualsiasi etichetta, insegna o documento e l'app la leggerà ad alta voce per te. Questa funzione è supportata dalle funzionalità di estrazione del testo di Amazon Rekognition e Amazon Texttract. AugmentAbility può anche tradurre il testo in oltre 75 lingue o renderlo più leggibile per gli utenti con dislessia utilizzando il font OpenDyslexic.
Le funzionalità di trascrizione in tempo reale, sintesi vocale e traduzione di conversazioni in tempo reale sono attualmente disponibili in cinese, inglese, francese, tedesco, italiano, giapponese, coreano, portoghese brasiliano e spagnolo. Le funzioni di riconoscimento del testo sono attualmente disponibili in arabo, inglese, francese, tedesco, italiano, portoghese, russo e spagnolo. Un elenco aggiornato delle lingue supportate da ciascuna funzione è disponibile su AugmentAbility repository GitHub.
Puoi creare e distribuire AugmentAbility localmente sul tuo computer o nel tuo account AWS utilizzando Hosting AWS Amplify, un CI/CD completamente gestito e un servizio di hosting Web statico per app con rendering lato server e statiche veloci, sicure e affidabili.
Il diagramma seguente illustra l'architettura dell'applicazione, presupponendo che sia distribuita nel cloud utilizzando AWS Amplify Hosting.
Il flusso di lavoro della soluzione include i seguenti passaggi:
- Per accedere all'app Web viene utilizzato un browser mobile, un'applicazione HTML, CSS e JavaScript ospitata da AWS Amplify Hosting. L'applicazione è stata implementata utilizzando l'SDK per JavaScript e il Libreria JavaScript di AWS Amplify.
- L'utente accede inserendo un nome utente e una password. L'autenticazione viene eseguita sul pool di utenti Amazon Cognito. Dopo un accesso riuscito, il pool di identità di Amazon Cognito viene utilizzato per fornire all'utente le credenziali AWS temporanee necessarie per accedere alle funzionalità dell'app.
- Mentre l'utente esplora le diverse funzionalità dell'app, il browser mobile interagisce con Amazon Transcribe (StartStreamTranscriptionWebSocket operazione), Amazon Translate (Traduci testo operazione), Amazon Polly (Sintetizza il discorso operazione), Amazon Recognition (RilevaEtichette ed RilevaTesto operazioni) e Amazon Texttract (RilevaDocumentoTesto funzionamento).
I servizi AWS sono stati integrati nell'app Web mobile utilizzando l'SDK per JavaScript. In generale, l'SDK per JavaScript fornisce l'accesso ai servizi AWS negli script del browser o in Node.js; per questo progetto di esempio, l'SDK viene utilizzato negli script del browser. Per ulteriori informazioni su come accedere ai servizi AWS da uno script del browser, fare riferimento a Introduzione in uno script del browser. L'SDK per JavaScript viene fornito come file JavaScript che supporta un set predefinito di servizi AWS. Questo file viene in genere caricato negli script del browser utilizzando a <script>
tag che fa riferimento al pacchetto SDK ospitato. È stato creato un SDK per browser personalizzato con un insieme specifico di servizi (per istruzioni, fare riferimento a Creazione dell'SDK per il browser).
Ciascun servizio è stato integrato nell'app web mobile seguendo le linee guida e gli esempi di codice disponibili nel Guida per gli sviluppatori dell'SDK AWS per JavaScript. L'implementazione delle funzionalità di trascrizione in tempo reale ha richiesto alcuni passaggi aggiuntivi perché Amazon Transcribe Streaming WebSocket richiede agli sviluppatori di codificare l'audio con la codifica del flusso di eventi e di utilizzare il file Firma Versione 4 processo di firma per aggiungere informazioni di autenticazione alle richieste API AWS inviate tramite HTTP. Per ulteriori informazioni su questo approccio, fare riferimento a Trascrivi il discorso in testo in tempo reale utilizzando Amazon Transcribe con WebSocket.
La pagina Web di accesso dell'utente è stata implementata utilizzando autenticazione funzionalità della libreria JavaScript AWS Amplify. Per maggiori dettagli sul flusso di autenticazione e autorizzazione, fare riferimento a Accesso ai servizi AWS utilizzando un pool di identità dopo l'accesso.
La procedura dettagliata seguente mostra come distribuire AugmentAbility utilizzando AWS Amplify Hosting; comprende i seguenti passaggi:
- Crea il pool di utenti e il pool di identità di Amazon Cognito e concedi le autorizzazioni per l'accesso ai servizi di intelligenza artificiale di AWS.
- Clona il repository GitHub e modifica il file di configurazione.
- Distribuire l'app Web mobile su AWS Amplifica console.
- Utilizzare l'app Web mobile.
Crea il pool di utenti e il pool di identità di Amazon Cognito e concedi le autorizzazioni per l'accesso ai servizi di intelligenza artificiale di AWS
Il primo passaggio necessario per la distribuzione dell'app consiste in creazione di un pool di utenti Amazon Cognito con la Interfaccia utente ospitata abilitata, creazione di un pool di identità Amazon Cognito, integrando le due piscine, e infine concessione di autorizzazioni per l'accesso ai servizi AWS al Gestione dell'identità e dell'accesso di AWS (IAM) associato al pool di identità. Puoi completare questo passaggio lavorando manualmente su ciascuna attività o distribuendo un AWS CloudFormazione modello.
Il modello CloudFormation effettua automaticamente il provisioning e configura le risorse necessarie, inclusi i pool Amazon Cognito, i ruoli IAM e le policy IAM.
- Accedi al Console di gestione AWS e avvia il modello CloudFormation scegliendo Avvia Stack:
Il modello viene avviato nella regione AWS dell'UE occidentale (Irlanda) per impostazione predefinita. Per avviare la soluzione in una regione diversa, utilizzare il selettore della regione nella barra di navigazione della console. Assicurati di selezionare una regione in cui sono disponibili i servizi AWS nell'ambito (Amazon Cognito, AWS Amplify, Amazon Transcribe, Amazon Polly, Amazon Translate, Amazon Rekognition e 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
). - Scegli Avanti.
- Nel Regione, inserisci l'identificativo della Regione che vuoi utilizzare (tra quelle supportate).
- Nel Nome utente, inserisci il nome utente che desideri utilizzare per accedere all'app.
- Nel E-mail, inserisci l'indirizzo email a cui inviare la password temporanea per il tuo primo accesso.
- Scegli Avanti.
- Sulla Configura le opzioni di stack pagina, scegli Avanti.
- Sulla Review pagina, rivedere e confermare le impostazioni.
- Seleziona la casella di controllo per confermare che il modello creerà risorse IAM e potrebbe richiedere una funzionalità AWS CloudFormation.
- Scegli Crea stack per distribuire lo stack.
Puoi visualizzare lo stato dello stack sulla console AWS CloudFormation in Stato dei servizi colonna. Dovresti ricevere un CREATE_COMPLETE
stato in un paio di minuti.
Nell'ambito della distribuzione del modello, vengono concesse le seguenti autorizzazioni al ruolo IAM assunto dall'utente autenticato:
transcribe:StartStreamTranscriptionWebSocket
translate:TranslateText
comprehend:DetectDominantLanguage
polly:SynthesizeSpeech
rekognition:DetectText
rekognition:DetectLabels
textract:DetectDocumentText
Sebbene Amazon Comprehend non viene utilizzato in modo esplicito in questa applicazione Web, le autorizzazioni sono concesse per l'azione comprendere:RilevaDominantLanguage. Amazon Translate può richiamare automaticamente Amazon Comprehend per determinare la lingua del testo da tradurre se non viene specificato un codice lingua.
Clona il repository GitHub e modifica il file di configurazione
Ora che l'accesso ai servizi AWS AI è stato configurato, sei pronto per clonare il repository GitHub e modificare il file di configurazione.
- Nel Repo AWS AugmentAbility GitHubscegli Code ed Scarica ZIP.
Ti verrà chiesto di scegliere una posizione sul tuo computer in cui scaricare il file ZIP, oppure verrà automaticamente salvato nel tuoDownloads
cartella. - Dopo aver scaricato il file, decomprimilo ed elimina il file ZIP.
Dovresti aver ottenuto una cartella denominataaws-augmentability-main
con alcuni file e sottocartelle al suo interno. - Crea un file chiamato
config.js
con qualsiasi editor di testo e inserisci il seguente contenuto: - Nel
config.js
file che hai creato, sostituisci i quattroINSERT_
stringhe con l'ID del pool di identità Amazon Cognito, l'identificatore della regione scelta, l'ID del pool di utenti di Amazon Cognito e l'ID client del pool di utenti.
Puoi recuperare tali valori aprendo la console AWS CloudFormation, scegliendo lo stack denominatoaugmentability-stack
, e scegliendo il Uscite scheda.
- Salva il file config.js nel file
aws-augmentability-main
cartella e comprimere la cartella per ottenerne una nuovaaws-augmentability-main.zip
file.
Distribuire l'app Web mobile sulla console Amplify
Ora che hai scaricato e modificato i file del progetto AugmentAbility, sei pronto per creare e distribuire l'app Web mobile utilizzando la console Amplify.
- Sulla Inizia con Amplify Hosting pagina, scegli Distribuisci senza provider Git.
- Scegli Continua.
- Nel Avvia una distribuzione manuale sezione, per Nome dell'applicazione, inserisci il nome della tua app.
- Nel Nome dell'ambiente, immettere un nome significativo per l'ambiente, ad esempio
development
orproduction
. - Nel metodoscegli Trascinare e rilasciare.
- O trascina e rilascia il
aws-augmentability-main.zip
file dal tuo computer nella zona di rilascio o utilizzare Scegliere i file per selezionare ilaws-augmentability-main.zip
file dal tuo computer. - Scegli Risparmi e distribuiree attendi il messaggio Distribuzione completata con successo.
Utilizzare l'app Web mobile
L'app Web mobile dovrebbe ora essere distribuita. Prima di accedere all'app per la prima volta, è necessario impostare una nuova password per l'utente che è stata creata automaticamente durante il passaggio 1. Puoi trovare il collegamento alla schermata di accesso temporaneo nella Uscite scheda per lo stack CloudFormation (campo UserPoolLoginUrl
). Per questo primo accesso, utilizzi il nome utente che hai impostato e la password temporanea che hai ricevuto via e-mail.
Dopo aver impostato la nuova password, sei pronto per testare l'app Web mobile.
Nel Generale sezione della console Amplify, dovresti riuscire a trovare un collegamento all'app sotto la URL filiale di produzione etichetta. Aprilo o invialo al tuo smartphone, quindi accedi con le tue nuove credenziali e inizia a giocare con AugmentAbility.
Prossimi passi
Se desideri apportare modifiche all'app Web mobile, puoi lavorare sui file clonati dal repository, creare localmente l'app Web mobile (come spiegato nella File README), quindi ridistribuire l'app caricando il file ZIP aggiornato tramite la console Amplify. In alternativa, puoi creare un GitHub, Bitbucket, GitLab o AWS CodeCommit repository per archiviare i file di progetto e collegarlo ad Amplify per beneficiare delle build automatiche su ogni commit del codice. Per saperne di più su questo approccio, fare riferimento a Iniziare con il codice esistente. Se segui questo tutorial, assicurati di sostituire il comando npm run build
con npm run-script build
al passaggio 2a.
Per creare utenti aggiuntivi sulla console Amazon Cognito, fare riferimento a Creazione di un nuovo utente nella Console di gestione AWS. Nel caso in cui sia necessario recuperare la password per un utente, è necessario utilizzare la schermata di accesso temporaneo utilizzata per modificare la password temporanea. Potete trovare il link sul Uscite scheda dello stack CloudFormation (campo UserPoolLoginUrl
).
ripulire
Al termine dei test, per evitare di incorrere in addebiti futuri, elimina le risorse create durante questa procedura dettagliata.
- Nella console AWS CloudFormation, scegli Stacks nel pannello di navigazione.
- Scegli la pila
augmentability-stack
. - Scegli Elimina e confermare l'eliminazione quando richiesto.
- Nella console Amplify, seleziona l'app che hai creato.
- Sulla Azioni menù, scegliere Elimina app e confermare l'eliminazione quando richiesto.
Conclusione
In questo post, ti ho mostrato come distribuire un esempio di codice che utilizza i servizi AWS AI e ML per mettere nelle mani di tutti funzionalità come la trascrizione in tempo reale, la sintesi vocale, il rilevamento di oggetti o il riconoscimento del testo. Saper creare applicazioni che possono essere utilizzate da persone con un'ampia gamma di abilità e disabilità è fondamentale per creare prodotti più inclusivi e accessibili.
Per iniziare con AugmentAbility, clonare o eseguire il fork di Repository GitHub e inizia a sperimentare con l'app web mobile. Se desideri sperimentare AugmentAbility prima di distribuire le risorse nel tuo account AWS, puoi controllare il demo live (credenziali: demo-user
, Demo-password-1
).
L'autore
Luca Guida è un Solutions Architect presso AWS; ha sede a Milano e supporta gli ISV italiani nel loro viaggio verso il cloud. Con un background accademico in informatica e ingegneria, ha iniziato a sviluppare la sua passione per l'IA/ML all'università; in qualità di membro della community di elaborazione del linguaggio naturale (NLP) all'interno di AWS, Luca aiuta i clienti ad avere successo adottando i servizi di AI/ML.
- Coinsmart. Il miglior scambio di bitcoin e criptovalute d'Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. ACCESSO LIBERO.
- Criptofalco. Radar Altcoin. Prova gratuita.
- Fonte: https://aws.amazon.com/blogs/machine-learning/use-aws-ai-and-ml-services-to-foster-accessibility-and-inclusion-of-people-with-a-visual- o-compromissione-di-comunicazione/
- "
- 100
- a
- WRI
- accesso
- accessibilità
- accessibile
- Accedendo
- Secondo
- Il mio account
- Action
- aggiunta
- aggiuntivo
- indirizzo
- indirizzamento
- contro
- AI
- Servizi di intelligenza artificiale
- alternativa
- Amazon
- tra
- api
- App
- Applicazioni
- applicazioni
- approccio
- applicazioni
- architettura
- in giro
- artificiale
- intelligenza artificiale
- Intelligenza artificiale (AI)
- associato
- Audio
- autenticato
- Autenticazione
- autorizzazione
- Automatico
- automaticamente
- disponibile
- AWS
- sfondo
- perché
- prima
- beneficio
- Miliardo
- stile di vita
- sistema
- Scatola
- del browser
- costruire
- costruisce
- funzionalità
- sfide
- oneri
- Cinese
- scegliere
- Scegli
- Cloud
- codice
- Colonna
- commettere
- Comunicazione
- comunità
- completamento di una
- computer
- Informatica
- Configurazione
- Connettiti
- consolle
- contenuto
- Conversazione
- Conversazioni
- Coppia
- creare
- creato
- Creazione
- Credenziali
- Attualmente
- costume
- Clienti
- dimostrare
- schierare
- schierato
- distribuzione
- deployment
- Design
- dettagli
- rivelazione
- Determinare
- Costruttori
- sviluppatori
- in via di sviluppo
- diverso
- malattie
- documenti
- dominio
- scaricare
- Cadere
- durante
- facilmente
- editore
- Ingegneria
- Inglese
- entrare
- Ambiente
- EU
- europeo
- Evento
- quotidiano
- tutti
- esistente
- esperienza
- esperimento
- FAST
- caratteristica
- Caratteristiche
- Infine
- Nome
- prima volta
- flusso
- seguire
- i seguenti
- estero
- forcella
- modulo
- Francese
- da
- futuro
- generalmente
- generare
- Idiota
- GitHub
- globali
- concesso
- Crescere
- linee guida
- avendo
- Salute e benessere
- aiuta
- evidenzia
- ospitato
- di hosting
- Come
- Tutorial
- HTTPS
- Identificazione
- Identità
- immagini
- realizzare
- implementazione
- implementato
- importanza
- impossibile
- competenze
- inclusi
- Compreso
- inclusione
- Aumento
- informazioni
- integrare
- integrato
- Intelligence
- Irlanda
- IT
- Giapponese
- JavaScript
- viaggio
- Le
- conosciuto
- Coreano
- Discografica
- per il tuo brand
- Lingua
- Le Lingue
- lanciare
- lancia
- IMPARARE
- apprendimento
- Biblioteca
- probabile
- LINK
- Lista
- Ascolto
- vivere
- a livello locale
- località
- cerca
- macchina
- machine learning
- corrente principale
- make
- gestito
- gestione
- gestione
- Manuale
- manualmente
- significativo
- membro
- ordine
- ML
- Mobile
- Scopri di più
- Naturale
- Navigazione
- necessaria
- esigenze
- numero
- ottenuto
- Offerte
- aprire
- apertura
- operazione
- Operazioni
- proprio
- pacchetto
- parte
- passione
- Password
- Persone
- immagine
- gioco
- punto
- Termini e Condizioni
- pool
- Piscine
- popolazione
- Portoghese
- alimentato
- lavorazione
- Prodotti
- Programma
- progetto
- progetti
- fornire
- purché
- fornisce
- gamma
- Lettura
- tempo reale
- ricevere
- ricevuto
- Recuperare
- regione
- affidabile
- deposito
- richieste
- richiedere
- necessario
- richiede
- riparazioni
- Risorse
- recensioni
- Ruolo
- Correre
- Suddetto
- Scienze
- allo
- sdk
- secondo
- sicuro
- servizio
- Servizi
- set
- vetrina
- segno
- Segni
- smartphone
- smartphone
- Società
- solido
- soluzione
- Soluzioni
- alcuni
- codice sorgente
- Spagnolo
- parlare
- parlando
- pila
- inizia a
- iniziato
- Stato dei servizi
- Tornare al suo account
- ruscello
- Streaming
- di successo
- Con successo
- supportato
- Supporto
- supporti
- Target
- task
- Tecnologie
- temporaneo
- test
- test
- Il
- L’ORIGINE
- il mondo
- tempo
- Trascrizione
- Traduzione
- tv
- tipicamente
- ui
- per
- Università
- uso
- utenti
- versione
- Visualizza
- aspettare
- sito web
- ovest
- Che
- while
- OMS
- entro
- senza
- Lavora
- lavoro
- mondo
- Trasferimento da aeroporto a Sharm