AWS tilbyder et bredt sæt af kunstig intelligens (AI) og maskinlæring (ML)-tjenester, herunder en suite af præ-trænede, klar til brug tjenester for udviklere uden tidligere ML-erfaring. I dette indlæg demonstrerer vi, hvordan man bruger sådanne tjenester til at bygge en applikation, der fremmer inklusion af mennesker med en syns- eller kommunikationsnedsættelse, som omfatter vanskeligheder med at se, læse, høre, tale eller have en samtale på et fremmedsprog. Med tjenester som f.eks Amazon Transcrib, Amazon Polly, Amazon Oversæt, Amazon-anerkendelse , amazontekst, kan du tilføje funktioner til dine projekter såsom live transskription, tekst til tale, oversættelse, objektgenkendelse og tekstudtrækning fra billeder.
Ifølge Verdenssundhedsorganisationen, over 1 milliard mennesker – omkring 15 % af den globale befolkning – lever med en eller anden form for handicap, og dette antal vil sandsynligvis vokse på grund af befolkningens aldring og en stigning i forekomsten af nogle kroniske sygdomme. For mennesker med tale-, høre- eller synshandicap kan hverdagsopgaver som at lytte til en tale eller et tv-program, udtrykke en følelse eller et behov, se sig omkring eller læse en bog føles som umulige udfordringer. En bred mængde forskning fremhæver betydningen af hjælpeteknologier for inklusion af mennesker med handicap i samfundet. Ifølge forskning foretaget af det europæiske parlamentariske forskningstjeneste, giver almindelige teknologier såsom smartphones flere og flere muligheder, der er egnede til at imødekomme behovene hos mennesker med handicap. Derudover, når du designer til mennesker med handicap, har du en tendens til at bygge funktioner, der forbedrer oplevelsen for alle; dette er kendt som kantstensklippende effekt.
Dette indlæg viser, hvordan du kan bruge AWS SDK til JavaScript at integrere funktioner leveret af AWS AI-tjenester i dine egne løsninger. For at gøre det viser en eksempelwebapplikation, hvordan man bruger Amazon Transcribe, Amazon Polly, Amazon Translate, Amazon Rekognition og Amazon Textract til nemt at implementere tilgængelighedsfunktioner. Kildekoden til denne applikation, AWS AugmentAbility, er tilgængelig på GitHub at bruge som udgangspunkt for dine egne projekter.
Løsningsoversigt
AWS AugmentAbility er drevet af fem AWS AI-tjenester: Amazon Transcribe, Amazon Translate, Amazon Polly, Amazon Rekognition og Amazon Textract. Den bruger også Amazon Cognito brugerpuljer , identitetspuljer til styring af autentificering og autorisation af brugere.
Når du har implementeret webappen, vil du være i stand til at få adgang til følgende funktioner:
- Live transskription og tekst til tale – Appen transskriberer samtaler og taler for dig i realtid ved hjælp af Amazon Transcribe, en automatisk talegenkendelsestjeneste. Skriv, hvad du vil sige, og appen siger det for dig ved at bruge Amazon Polly tekst-til-tale-funktioner. Denne funktion integreres også med Amazon Transcribe automatisk sprogidentifikation til streaming af transskriptioner— Med minimum 3 sekunders lyd kan tjenesten automatisk registrere det dominerende sprog og generere en transskription, uden at du behøver at angive det talte sprog.
- Live transskription og tekst til tale med oversættelse – Appen transskriberer og oversætter samtaler og taler for dig i realtid. Skriv, hvad du vil sige, og appen oversætter og siger det for dig. Oversættelse er tilgængelig på de over 75 sprog, der i øjeblikket understøttes af Amazon Translate.
- Samtaleoversættelse i realtid – Vælg et målsprog, tal på dit sprog, og appen oversætter det, du sagde, til dit målsprog ved at kombinere funktionerne Amazon Transcribe, Amazon Translate og Amazon Polly.
- Objektdetektion – Tag et billede med din smartphone, og appen beskriver genstandene omkring dig ved at bruge Amazon Rekognition-etiketgenkendelsesfunktioner.
- Tekstgenkendelse til etiketter, skilte og dokumenter – Tag et billede med din smartphone af enhver etiket, skilt eller dokument, og appen læser det højt for dig. Denne funktion er drevet af Amazon Rekognition og Amazon Textract-tekstudtræksfunktioner. AugmentAbility kan også oversætte teksten til over 75 sprog eller gøre den mere læsbar for brugere med ordblindhed ved at bruge skrifttypen OpenDyslexic.
Funktioner til livetransskription, tekst til tale og samtaleoversættelse i realtid er i øjeblikket tilgængelige på kinesisk, engelsk, fransk, tysk, italiensk, japansk, koreansk, brasiliansk portugisisk og spansk. Tekstgenkendelsesfunktioner er i øjeblikket tilgængelige på arabisk, engelsk, fransk, tysk, italiensk, portugisisk, russisk og spansk. En opdateret liste over de sprog, der understøttes af hver funktion, er tilgængelig på AugmentAbility GitHub repo.
Du kan bygge og implementere AugmentAbility lokalt på din computer eller på din AWS-konto ved at bruge AWS Amplify Hosting, en fuldt administreret CI/CD og statisk webhostingtjeneste til hurtige, sikre og pålidelige statiske og server-side-renderede apps.
Følgende diagram illustrerer applikationens arkitektur, forudsat at den er implementeret i skyen ved hjælp af AWS Amplify Hosting.
Løsningsarbejdsgangen omfatter følgende trin:
- En mobilbrowser bruges til at få adgang til webappen – en HTML-, CSS- og JavaScript-applikation, der hostes af AWS Amplify Hosting. Applikationen er blevet implementeret ved hjælp af SDK til JavaScript og AWS Amplify JavaScript-bibliotek.
- Brugeren logger ind ved at indtaste et brugernavn og en adgangskode. Autentificering udføres mod Amazon Cognito-brugerpuljen. Efter et vellykket login bruges Amazon Cognito-identitetspuljen til at give brugeren de midlertidige AWS-legitimationsoplysninger, der kræves for at få adgang til appfunktioner.
- Mens brugeren udforsker de forskellige funktioner i appen, interagerer mobilbrowseren med Amazon Transcribe (StartStreamTranscriptionWebSocket operation), Amazon Translate (Oversæt tekst operation), Amazon Polly (Syntetisere tale drift), Amazon Rekognition (DetectLabels , Opdag tekst operations) og Amazon Textract (DetectDocumentText operation).
AWS-tjenester er blevet integreret i den mobile webapp ved at bruge SDK'et til JavaScript. Generelt giver SDK for JavaScript adgang til AWS-tjenester i enten browserscripts eller Node.js; til dette eksempelprojekt bruges SDK'et i browserscripts. For yderligere oplysninger om, hvordan du får adgang til AWS-tjenester fra et browserscript, se Kom godt i gang i et browserscript. SDK'et til JavaScript leveres som en JavaScript-fil, der understøtter et standardsæt af AWS-tjenester. Denne fil indlæses typisk i browserscripts ved hjælp af en <script>
tag, der refererer til den hostede SDK-pakke. Et brugerdefineret browser-SDK blev bygget med et specificeret sæt tjenester (for instruktioner, se Opbygning af SDK til browser).
Hver tjeneste blev integreret i den mobile webapp efter retningslinjerne og kodeeksemplerne, der er tilgængelige i AWS SDK til JavaScript-udviklervejledning. Implementeringen af live transskriptionsfunktioner krævede nogle ekstra trin, fordi Amazon Transscribe Streaming WebSocket kræver, at udviklere koder lyden med hændelsesstream-kodning og bruger Signature Version 4 signeringsproces til tilføjelse af godkendelsesoplysninger til AWS API-anmodninger sendt af HTTP. For mere information om denne tilgang, se Transskriber tale til tekst i realtid ved hjælp af Amazon Transcribe med WebSocket.
Brugerlogon-websiden er blevet implementeret vha autentificering funktioner i AWS Amplify JavaScript-biblioteket. For flere detaljer om godkendelses- og godkendelsesflowet, se Adgang til AWS-tjenester ved hjælp af en identitetspulje efter login.
Følgende gennemgang viser, hvordan du implementerer AugmentAbility ved at bruge AWS Amplify Hosting; det inkluderer følgende trin:
- Opret Amazon Cognito-brugerpuljen og identitetspuljen, og giv tilladelser til at få adgang til AWS AI-tjenester.
- Klon GitHub-lageret og rediger konfigurationsfilen.
- Implementer den mobile webapp til AWS Amplify konsol.
- Brug den mobile webapp.
Opret Amazon Cognito-brugerpuljen og identitetspuljen, og giv tilladelser til at få adgang til AWS AI-tjenester
Det første trin, der kræves for at implementere appen, består af oprettelse af en Amazon Cognito-brugerpulje med Hosted UI aktiveret, oprettelse af en Amazon Cognito identitetspulje, at integrere de to pools, og endelig give tilladelser for at få adgang til AWS-tjenester til AWS identitets- og adgangsstyring (IAM) rolle forbundet med identitetspuljen. Du kan enten fuldføre dette trin ved manuelt at arbejde på hver opgave eller ved at implementere en AWS CloudFormation skabelon.
CloudFormation-skabelonen klargør og konfigurerer automatisk de nødvendige ressourcer, inklusive Amazon Cognito-puljer, IAM-roller og IAM-politikker.
- Log ind på AWS Management Console og start CloudFormation-skabelonen ved at vælge Start Stack:
Skabelonen lanceres som standard i AWS-regionen EU West (Irland). For at starte løsningen i en anden region skal du bruge områdevælgeren i konsollens navigationslinje. Sørg for at vælge en region, hvor AWS-tjenesterne i omfang (Amazon Cognito, AWS Amplify, Amazon Transcribe, Amazon Polly, Amazon Translate, Amazon Rekognition og Amazon Textract) er tilgængelige (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
). - Vælg Næste.
- Til Område, indtast identifikatoren for den region, du vil bruge (blandt de understøttede).
- Til Brugernavn, indtast det brugernavn, du vil bruge til at få adgang til appen.
- Til E-mail, skal du indtaste den e-mailadresse, som den midlertidige adgangskode til dit første login skal sendes til.
- Vælg Næste.
- På Konfigurer stakindstillinger side, vælg Næste.
- På anmeldelse side, gennemgå og bekræft indstillingerne.
- Marker afkrydsningsfeltet for at anerkende, at skabelonen vil skabe IAM-ressourcer og muligvis kræver en AWS CloudFormation-funktion.
- Vælg Opret stak at implementere stakken.
Du kan se status for stakken på AWS CloudFormation-konsollen i Status kolonne. Du skal modtage en CREATE_COMPLETE
status om et par minutter.
Som en del af skabelonimplementeringen gives følgende tilladelser til IAM-rollen, der påtages af den godkendte bruger:
transcribe:StartStreamTranscriptionWebSocket
translate:TranslateText
comprehend:DetectDominantLanguage
polly:SynthesizeSpeech
rekognition:DetectText
rekognition:DetectLabels
textract:DetectDocumentText
Selvom Amazon Comprehend ikke udtrykkeligt bruges i denne webapplikation, gives tilladelser til handlingen comprehend:DetectDominantLanguage. Amazon Translate kan automatisk påkalde Amazon Comprehend for at bestemme sproget for den tekst, der skal oversættes, hvis der ikke er angivet en sprogkode.
Klon GitHub-lageret og rediger konfigurationsfilen
Nu hvor adgangen til AWS AI-tjenester er blevet konfigureret, er du klar til at klone GitHub-lageret og redigere konfigurationsfilen.
- I AWS AugmentAbility GitHub repo, vælg Kode , Download zip.
Du bliver enten bedt om at vælge en placering på din computer, hvor ZIP-filen skal downloades til, eller den vil automatisk blive gemt i dinDownloads
mappe. - Når du har downloadet filen, skal du udpakke den og slette ZIP-filen.
Du skulle have fået en mappe med navnetaws-augmentability-main
med nogle filer og undermapper i den. - Opret en navngivet fil
config.js
med en hvilken som helst teksteditor, og indtast følgende indhold i den: - I
config.js
fil, du har oprettet, skal du erstatte de fireINSERT_
strenge med Amazon Cognito-identitetspulje-id'et, identifikator for din valgte region, Amazon Cognito-brugerpulje-id og brugerpuljeklient-id.
Du kan hente sådanne værdier ved at åbne AWS CloudFormation-konsollen og vælge stakken med navnetaugmentability-stack
, og vælge Udgange fane.
- Gem filen config.js i
aws-augmentability-main
mappe, og zip mappen for at få en nyaws-augmentability-main.zip
fil.
Implementer mobilwebappen til Amplify-konsollen
Nu hvor du har downloadet og redigeret AugmentAbility-projektfilerne, er du klar til at bygge og implementere mobilwebappen ved hjælp af Amplify-konsollen.
- På Kom godt i gang med Amplify Hosting side, vælg Implementer uden Git-udbyder.
- Vælg Fortsæt..
- I Start en manuel implementering afsnit, for App-navn, skal du indtaste navnet på din app.
- Til Miljønavn, indtast et meningsfuldt navn for miljøet, som f.eks
development
orproduction
. - Til Metode, vælg Træk og slip.
- Træk og slip enten
aws-augmentability-main.zip
fil fra din computer til drop zone eller brug Vælg filer for at vælgeaws-augmentability-main.zip
fil fra din computer. - Vælg Gem og implementere, og vent på beskeden Implementeringen er gennemført.
Brug den mobile webapp
Den mobile webapp skulle nu være implementeret. Før du får adgang til appen første gang, skal du indstille en ny adgangskode for brugeren, som er blevet automatisk oprettet under trin 1. Du kan finde linket til den midlertidige login-skærm i Udgange fanen for CloudFormation-stakken (felt UserPoolLoginUrl
). Til dette første login bruger du det brugernavn, du har oprettet, og den midlertidige adgangskode, du har modtaget via e-mail.
Når du har angivet din nye adgangskode, er du klar til at teste mobilwebappen.
I Generelt sektionen af Amplify-konsollen, bør du være i stand til at finde et link til appen under Produktionsgrenens URL etiket. Åbn den eller send den til din smartphone, log derefter ind med dine nye legitimationsoplysninger, og begynd at spille med AugmentAbility.
Næste skridt
Hvis du vil foretage ændringer i mobilwebappen, kan du arbejde med filerne klonet fra lageret, lokalt bygge mobilwebappen (som forklaret i README-fil), og geninstaller derefter appen ved at uploade den opdaterede ZIP-fil via Amplify-konsollen. Som et alternativ kan du oprette en GitHub, Bitbucket, GitLab eller AWS CodeCommit repository til at gemme dine projektfiler, og forbinde det til Amplify for at drage fordel af automatiske builds på hver kode-commit. For at lære mere om denne tilgang, se Kom godt i gang med eksisterende kode. Hvis du følger denne vejledning, skal du sørge for at erstatte kommandoen npm run build
med npm run-script build
ved trin 2a.
For at oprette yderligere brugere på Amazon Cognito-konsollen, se Oprettelse af en ny bruger i AWS Management Console. Hvis du har brug for at gendanne adgangskoden for en bruger, skal du bruge den midlertidige login-skærm, du brugte til at ændre den midlertidige adgangskode. Du kan finde linket på Udgange fanen i CloudFormation-stakken (felt UserPoolLoginUrl
).
Ryd op
Når du er færdig med dine tests, skal du slette de ressourcer, der blev oprettet under denne gennemgang, for at undgå fremtidige gebyrer.
- På AWS CloudFormation-konsollen skal du vælge Stakke i navigationsruden.
- Vælg stakken
augmentability-stack
. - Vælg Slette og bekræft sletningen, når du bliver bedt om det.
- På Amplify-konsollen skal du vælge den app, du har oprettet.
- På handlinger menu, vælg Slet app og bekræft sletningen, når du bliver bedt om det.
Konklusion
I dette indlæg viste jeg dig, hvordan du implementerer en kodeeksempel, der bruger AWS AI- og ML-tjenester til at lægge funktioner som live transskription, tekst til tale, objektgenkendelse eller tekstgenkendelse i hænderne på alle. At vide, hvordan man bygger applikationer, der kan bruges af mennesker med en bred vifte af evner og handicap, er nøglen til at skabe mere inkluderende og tilgængelige produkter.
For at komme i gang med AugmentAbility skal du klone eller gaffel GitHub repository og begynde at eksperimentere med mobilwebappen. Hvis du vil eksperimentere med AugmentAbility, før du implementerer ressourcer på din AWS-konto, kan du tjekke live demo (legitimationsoplysninger: demo-user
, Demo-password-1
).
Om forfatteren
Luca Guida er Solutions Architect hos AWS; han er baseret i Milano og støtter italienske ISV'er i deres cloud-rejse. Med en akademisk baggrund inden for datalogi og teknik begyndte han at udvikle sin AI/ML-passion på universitetet; som medlem af NLP-fællesskabet (natural language processing) inden for AWS hjælper Luca kunder med at få succes, mens de bruger AI/ML-tjenester.
- Coinsmart. Europas bedste Bitcoin og Crypto Exchange.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. FRI ADGANG.
- CryptoHawk. Altcoin radar. Gratis prøveversion.
- Kilde: https://aws.amazon.com/blogs/machine-learning/use-aws-ai-and-ml-services-to-foster-accessibility-and-inclusion-of-people-with-a-visual- eller-kommunikationssvækkelse/
- "
- 100
- a
- Om
- adgang
- tilgængelighed
- tilgængelig
- Adgang
- Ifølge
- Konto
- Handling
- Desuden
- Yderligere
- adresse
- adressering
- mod
- AI
- AI-tjenester
- alternativ
- Amazon
- blandt
- api
- app
- Anvendelse
- applikationer
- tilgang
- apps
- arkitektur
- omkring
- kunstig
- kunstig intelligens
- Kunstig intelligens (AI)
- forbundet
- lyd
- autentificeret
- Godkendelse
- tilladelse
- Automatisk Ur
- automatisk
- til rådighed
- AWS
- baggrund
- fordi
- før
- gavner det dig
- Billion
- krop
- grænse
- Boks
- browser
- bygge
- bygger
- kapaciteter
- udfordringer
- afgifter
- kinesisk
- valg
- Vælg
- Cloud
- kode
- Kolonne
- begå
- Kommunikation
- samfund
- fuldføre
- computer
- Datalogi
- Konfiguration
- Tilslut
- Konsol
- indhold
- Samtale
- samtaler
- Par
- skabe
- oprettet
- Oprettelse af
- Legitimationsoplysninger
- For øjeblikket
- skik
- Kunder
- demonstrere
- indsætte
- indsat
- implementering
- implementering
- Design
- detaljer
- Detektion
- Bestem
- Udvikler
- udviklere
- udvikling
- forskellige
- sygdomme
- dokumenter
- domæne
- downloade
- Drop
- i løbet af
- nemt
- editor
- Engineering
- Engelsk
- Indtast
- Miljø
- EU
- europæisk
- begivenhed
- hverdagen
- alle
- eksisterende
- erfaring
- eksperiment
- FAST
- Feature
- Funktionalitet
- Endelig
- Fornavn
- første gang
- flow
- følger
- efter
- udenlandsk
- gaffel
- formular
- Fransk
- fra
- fremtiden
- generelt
- generere
- Git
- GitHub
- Global
- bevilget
- Grow
- retningslinjer
- have
- Helse
- hjælper
- højdepunkter
- hostede
- Hosting
- Hvordan
- How To
- HTTPS
- Identifikation
- Identity
- billeder
- gennemføre
- implementering
- implementeret
- betydning
- umuligt
- Forbedre
- omfatter
- Herunder
- inklusion
- Forøg
- oplysninger
- integrere
- integreret
- Intelligens
- irland
- IT
- japansk
- JavaScript
- rejse
- Nøgle
- kendt
- koreansk
- etiket
- Etiketter
- Sprog
- Sprog
- lancere
- lanceringer
- LÆR
- læring
- Bibliotek
- Sandsynlig
- LINK
- Liste
- Lytte
- leve
- lokalt
- placering
- leder
- maskine
- machine learning
- Mainstream
- lave
- lykkedes
- ledelse
- styring
- manuel
- manuelt
- meningsfuld
- medlem
- minimum
- ML
- Mobil
- mere
- Natural
- Navigation
- nødvendig
- behov
- nummer
- opnået
- Tilbud
- åbent
- åbning
- drift
- Produktion
- egen
- pakke
- del
- lidenskab
- Adgangskode
- Mennesker
- billede
- spiller
- Punkt
- politikker
- pool
- Pools
- befolkning
- Portugisisk
- strøm
- forarbejdning
- Produkter
- Program
- projekt
- projekter
- give
- forudsat
- giver
- rækkevidde
- Læsning
- realtid
- modtage
- modtaget
- Recover
- region
- pålidelig
- Repository
- anmodninger
- kræver
- påkrævet
- Kræver
- forskning
- Ressourcer
- gennemgå
- roller
- Kør
- Said
- Videnskab
- Skærm
- SDK
- sekunder
- sikker
- tjeneste
- Tjenester
- sæt
- fremvisning
- underskrive
- Skilte
- smartphone
- smartphones
- Samfund
- solid
- løsninger
- Løsninger
- nogle
- kildekode
- Spansk
- tale
- taler
- stable
- starte
- påbegyndt
- Status
- butik
- strøm
- streaming
- vellykket
- Succesfuld
- Understøttet
- Støtte
- Understøtter
- mål
- opgaver
- Teknologier
- midlertidig
- prøve
- tests
- The Source
- verdenen
- tid
- Transcript
- Oversættelse
- tv
- typisk
- ui
- under
- universitet
- brug
- brugere
- udgave
- Specifikation
- vente
- web
- Vest
- Hvad
- mens
- WHO
- inden for
- uden
- Arbejde
- arbejder
- world
- Din