AWS tilbyr et bredt sett med tjenester for kunstig intelligens (AI) og maskinlæring (ML), inkludert en pakke med ferdigtrente, klare til bruk tjenester for utviklere uten tidligere ML-erfaring. I dette innlegget viser vi hvordan man bruker slike tjenester til å bygge en applikasjon som fremmer inkludering av personer med syns- eller kommunikasjonshemming, som inkluderer vanskeligheter med å se, lese, høre, snakke eller ha en samtale på et fremmedspråk. Med tjenester som f.eks Amazon Transcribe, Amazon Polly, Amazon Oversett, Amazon-anerkjennelse og amazontekst, kan du legge til funksjoner til prosjektene dine, for eksempel direkte transkripsjon, tekst til tale, oversettelse, objektgjenkjenning og tekstutvinning fra bilder.
Ifølge Verdens helseorganisasjon, over 1 milliard mennesker – omtrent 15 % av den globale befolkningen – lever med en eller annen form for funksjonshemming, og dette tallet vil sannsynligvis vokse på grunn av befolkningens aldring og en økning i forekomsten av noen kroniske sykdommer. For personer med tale-, hørsels- eller synshemming kan hverdagslige oppgaver som å lytte til en tale eller et TV-program, uttrykke en følelse eller et behov, se seg rundt eller lese en bok føles som umulige utfordringer. En bred mengde forskning fremhever viktigheten av hjelpeteknologier for inkludering av funksjonshemmede i samfunnet. I følge forskning fra European Parliamentary Research Service, ordinære teknologier som smarttelefoner gir flere og flere muligheter som er egnet for å møte behovene til mennesker med funksjonshemminger. I tillegg, når du designer for funksjonshemmede, har du en tendens til å bygge funksjoner som forbedrer opplevelsen for alle; dette er kjent som kantsteinsskjærende effekt.
Dette innlegget viser hvordan du kan bruke AWS SDK for JavaScript å integrere funksjoner levert av AWS AI-tjenester i dine egne løsninger. For å gjøre det, viser et eksempel på nettapplikasjonen hvordan du bruker Amazon Transcribe, Amazon Polly, Amazon Translate, Amazon Rekognition og Amazon Textract for å enkelt implementere tilgjengelighetsfunksjoner. Kildekoden til denne applikasjonen, AWS AugmentAbility, er tilgjengelig på GitHub å bruke som utgangspunkt for egne prosjekter.
Løsningsoversikt
AWS AugmentAbility drives av fem AWS AI-tjenester: Amazon Transcribe, Amazon Translate, Amazon Polly, Amazon Rekognition og Amazon Textract. Den bruker også Amazon Cognito brukerpooler og identitetspooler for å administrere autentisering og autorisasjon av brukere.
Etter å ha distribuert nettappen, vil du få tilgang til følgende funksjoner:
- Live transkripsjon og tekst til tale – Appen transkriberer samtaler og taler for deg i sanntid ved å bruke Amazon Transcribe, en automatisk talegjenkjenningstjeneste. Skriv inn det du vil si, og appen sier det for deg ved å bruke Amazon Polly tekst-til-tale-funksjoner. Denne funksjonen integreres også med Amazon Transcribe automatisk språkidentifikasjon for streaming-transkripsjoner—Med minimum 3 sekunders lyd kan tjenesten automatisk oppdage det dominerende språket og generere en transkripsjon uten at du trenger å spesifisere talespråket.
- Live transkripsjon og tekst til tale med oversettelse – Appen transkriberer og oversetter samtaler og taler for deg, i sanntid. Skriv inn det du vil si, og appen oversetter og sier det for deg. Oversettelse er tilgjengelig på de over 75 språkene som for øyeblikket støttes av Amazon Translate.
- Samtaleoversettelse i sanntid – Velg et målspråk, snakk på språket ditt, og appen oversetter det du sa til målspråket ditt ved å kombinere funksjonene Amazon Transcribe, Amazon Translate og Amazon Polly.
- Objektdeteksjon – Ta et bilde med smarttelefonen din, og appen beskriver objektene rundt deg ved å bruke Amazon Rekognition-etikettgjenkjenningsfunksjoner.
- Tekstgjenkjenning for etiketter, skilt og dokumenter – Ta et bilde med smarttelefonen av hvilken som helst etikett, skilt eller dokument, og appen leser det høyt for deg. Denne funksjonen er drevet av Amazon Rekognition og Amazon Textract tekstutvinningsfunksjoner. AugmentAbility kan også oversette teksten til over 75 språk, eller gjøre den mer lesbar for brukere med dysleksi ved å bruke fonten OpenDyslexic.
Funksjoner for direkte transkripsjon, tekst til tale og sanntidsoversettelse av samtaler er for øyeblikket tilgjengelig på kinesisk, engelsk, fransk, tysk, italiensk, japansk, koreansk, brasiliansk portugisisk og spansk. Tekstgjenkjenningsfunksjoner er for tiden tilgjengelig på arabisk, engelsk, fransk, tysk, italiensk, portugisisk, russisk og spansk. En oppdatert liste over språkene som støttes av hver funksjon er tilgjengelig på AugmentAbility GitHub repo.
Du kan bygge og distribuere AugmentAbility lokalt på datamaskinen din eller i AWS-kontoen din ved å bruke AWS Amplify Hosting, en fullstendig administrert CI/CD og statisk webhotelltjeneste for raske, sikre og pålitelige statiske apper og apper som gjengitt på serversiden.
Følgende diagram illustrerer arkitekturen til applikasjonen, forutsatt at den er distribuert i skyen ved hjelp av AWS Amplify Hosting.
Løsningsarbeidsflyten inkluderer følgende trinn:
- En mobilnettleser brukes for å få tilgang til nettappen – en HTML-, CSS- og JavaScript-applikasjon som er vert for AWS Amplify Hosting. Applikasjonen er implementert ved hjelp av SDK for JavaScript og AWS Amplify JavaScript-bibliotek.
- Brukeren logger på ved å skrive inn et brukernavn og et passord. Autentisering utføres mot Amazon Cognito-brukerpoolen. Etter en vellykket pålogging brukes Amazon Cognito-identitetspoolen til å gi brukeren den midlertidige AWS-legitimasjonen som kreves for å få tilgang til appfunksjoner.
- Mens brukeren utforsker de forskjellige funksjonene til appen, samhandler mobilnettleseren med Amazon Transcribe (StartStreamTranscriptionWebSocket drift), Amazon Translate (Oversett tekst drift), Amazon Polly (Syntetisere tale drift), Amazon Rekognition (Oppdage etiketter og Oppdag tekst operasjoner) og Amazon Textract (Oppdag Dokumenttekst operasjon).
AWS-tjenester er integrert i mobilnettappen ved å bruke SDK for JavaScript. Generelt sett gir SDK for JavaScript tilgang til AWS-tjenester i enten nettleserskript eller Node.js; for dette eksempelprosjektet brukes SDK i nettleserskript. For ytterligere informasjon om hvordan du får tilgang til AWS-tjenester fra et nettleserskript, se Komme i gang i et nettleserskript. SDK-en for JavaScript leveres som en JavaScript-fil som støtter et standardsett med AWS-tjenester. Denne filen lastes vanligvis inn i nettleserskript ved hjelp av en <script>
taggen som refererer til den vertsbaserte SDK-pakken. En tilpasset nettleser-SDK ble bygget med et spesifisert sett med tjenester (for instruksjoner, se Bygge SDK for nettleser).
Hver tjeneste ble integrert i mobilnettappen etter retningslinjene og kodeeksemplene som er tilgjengelige i AWS SDK for JavaScript utviklerveiledning. Implementeringen av funksjoner for live transkripsjon krevde noen ekstra trinn fordi Amazon Transscribe Streaming WebSocket krever at utviklere koder lyden med hendelsesstrømkoding og bruker Signature versjon 4 signeringsprosess for å legge til autentiseringsinformasjon til AWS API-forespørsler sendt av HTTP. For mer informasjon om denne tilnærmingen, se Transkriber tale til tekst i sanntid ved å bruke Amazon Transcribe med WebSocket.
Nettsiden for brukerpålogging er implementert ved hjelp av autentisering funksjoner i AWS Amplify JavaScript-biblioteket. For mer informasjon om autentiserings- og autorisasjonsflyten, se Tilgang til AWS-tjenester ved hjelp av en identitetspool etter pålogging.
Følgende gjennomgang viser hvordan du distribuerer AugmentAbility ved å bruke AWS Amplify Hosting; den inkluderer følgende trinn:
- Opprett Amazon Cognito-brukerpoolen og identitetspoolen, og gi tillatelser for tilgang til AWS AI-tjenester.
- Klon GitHub-depotet og rediger konfigurasjonsfilen.
- Distribuer den mobile nettappen til AWS forsterke konsollen.
- Bruk mobilnettappen.
Opprett Amazon Cognito-brukerpoolen og identitetspoolen, og gi tillatelser for tilgang til AWS AI-tjenester
Det første trinnet som kreves for å distribuere appen består av opprette en Amazon Cognito-brukerpool med Hosted UI aktivert, opprette en Amazon Cognito identitetspool, integrere de to bassengene, og endelig gi tillatelser for å få tilgang til AWS-tjenester til AWS identitets- og tilgangsadministrasjon (IAM) rolle knyttet til identitetspoolen. Du kan enten fullføre dette trinnet ved å jobbe manuelt med hver oppgave, eller ved å distribuere en AWS skyformasjon mal.
CloudFormation-malen klargjør og konfigurerer automatisk de nødvendige ressursene, inkludert Amazon Cognito-poolene, IAM-roller og IAM-policyer.
- Logg deg på AWS-administrasjonskonsoll og start CloudFormation-malen ved å velge Start Stack:
Malen lanseres i EU-vest (Irland) AWS-regionen som standard. For å starte løsningen i en annen region, bruk regionvelgeren i konsollens navigasjonslinje. Sørg for å velge en region der AWS-tjenestene i omfang (Amazon Cognito, AWS Amplify, Amazon Transcribe, Amazon Polly, Amazon Translate, Amazon Rekognition og Amazon Textract) er tilgjengelige (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
). - Velg neste.
- Til Region, skriv inn identifikatoren for regionen du vil bruke (blant de støttede).
- Til Brukernavn, skriv inn brukernavnet du vil bruke for å få tilgang til appen.
- Til Epost, skriv inn e-postadressen som det midlertidige passordet for din første pålogging skal sendes til.
- Velg neste.
- På Konfigurer stakkalternativer side, velg Neste.
- På Anmeldelse side, se gjennom og bekreft innstillingene.
- Velg avmerkingsboksen for å bekrefte at malen vil skape IAM-ressurser og kan kreve en AWS CloudFormation-funksjon.
- Velg Lag stabel å distribuere stabelen.
Du kan se statusen til stabelen på AWS CloudFormation-konsollen i status kolonne. Du bør motta en CREATE_COMPLETE
status om et par minutter.
Som en del av malimplementeringen gis følgende tillatelser til IAM-rollen som antas av den autentiserte brukeren:
transcribe:StartStreamTranscriptionWebSocket
translate:TranslateText
comprehend:DetectDominantLanguage
polly:SynthesizeSpeech
rekognition:DetectText
rekognition:DetectLabels
textract:DetectDocumentText
Selv om Amazon Comprehend ikke er eksplisitt brukt i denne nettapplikasjonen, gis tillatelser for handlingen forstå: DetectDominantLanguage. Amazon Translate kan automatisk påkalle Amazon Comprehend for å bestemme språket til teksten som skal oversettes hvis en språkkode ikke er spesifisert.
Klon GitHub-depotet og rediger konfigurasjonsfilen
Nå som tilgang til AWS AI-tjenester er konfigurert, er du klar til å klone GitHub-depotet og redigere konfigurasjonsfilen.
- på AWS AugmentAbility GitHub repo, velg Kode og Last ned ZIP.
Du blir enten bedt om å velge en plassering på datamaskinen din hvor ZIP-filen skal lastes ned til, eller så blir den automatisk lagret iDownloads
mappe. - Etter at du har lastet ned filen, pakk den ut og slett ZIP-filen.
Du burde ha fått en mappe som heteraws-augmentability-main
med noen filer og undermapper i den. - Lag en fil som heter
config.js
med et hvilket som helst tekstredigeringsprogram, og skriv inn følgende innhold i det: - på
config.js
filen du opprettet, bytt ut de fireINSERT_
strenger med Amazon Cognito-identitetspool-ID, identifikator for din valgte region, Amazon Cognito-brukerpool-ID og klient-ID for brukerpool.
Du kan hente slike verdier ved å åpne AWS CloudFormation-konsollen og velge stabelen som heteraugmentability-stack
, og velge Utganger fanen.
- Lagre config.js-filen i
aws-augmentability-main
mappe, og zip mappen for å få en nyaws-augmentability-main.zip
filen.
Distribuer mobilnettappen til Amplify-konsollen
Nå som du har lastet ned og redigert AugmentAbility-prosjektfilene, er du klar til å bygge og distribuere mobilnettappen ved å bruke Amplify-konsollen.
- På Kom i gang med Amplify Hosting side, velg Implementere uten Git-leverandør.
- Velg Fortsett.
- på Start en manuell distribusjon seksjon, for App-navn, skriv inn navnet på appen din.
- Til Miljønavn, skriv inn et meningsfylt navn for miljøet, for eksempel
development
orproduction
. - Til Metode, velg Dra og slipp.
- Dra og slipp enten
aws-augmentability-main.zip
fil fra datamaskinen til slippsonen eller bruk Velg filer for å velgeaws-augmentability-main.zip
filen fra datamaskinen. - Velg Spar og distribuere, og vent på meldingen Implementeringen er fullført.
Bruk mobilnettappen
Den mobile nettappen skal nå distribueres. Før du får tilgang til appen for første gang, må du angi et nytt passord for brukeren som ble opprettet automatisk under trinn 1. Du finner lenken til den midlertidige påloggingsskjermen i Utganger fanen for CloudFormation-stakken (felt UserPoolLoginUrl
). For denne første påloggingen bruker du brukernavnet du konfigurerte og det midlertidige passordet du mottok via e-post.
Etter at du har angitt det nye passordet ditt, er du klar til å teste mobilnettappen.
på general delen av Amplify-konsollen, bør du kunne finne en lenke til appen under URL for produksjonsgren merkelapp. Åpne den eller send den til smarttelefonen din, logg på med den nye legitimasjonen din, og begynn å spille med AugmentAbility.
Neste trinn
Hvis du vil gjøre endringer i mobilnettappen, kan du jobbe med filene som er klonet fra depotet, lokalt bygge mobilnettappen (som forklart i README-fil), og distribuer deretter appen på nytt ved å laste opp den oppdaterte ZIP-filen via Amplify-konsollen. Som et alternativ kan du lage en GitHub, Bitbucket, GitLab eller AWS CodeCommit repository for å lagre prosjektfilene dine, og koble det til Amplify for å dra nytte av automatiske bygg på hver kode-commit. For å lære mer om denne tilnærmingen, se Komme i gang med eksisterende kode. Hvis du følger denne opplæringen, sørg for å erstatte kommandoen npm run build
med npm run-script build
ved trinn 2a.
For å opprette flere brukere på Amazon Cognito-konsollen, se Opprette en ny bruker i AWS Management Console. I tilfelle du trenger å gjenopprette passordet for en bruker, bør du bruke den midlertidige påloggingsskjermen du brukte for å endre det midlertidige passordet. Du finner lenken på Utganger fanen i CloudFormation-stakken (felt UserPoolLoginUrl
).
Rydd opp
Når du er ferdig med testene dine, for å unngå fremtidige kostnader, slett ressursene som ble opprettet under denne gjennomgangen.
- Velg på AWS CloudFormation-konsollen Stabler i navigasjonsruten.
- Velg stabelen
augmentability-stack
. - Velg Delete og bekreft sletting når du blir bedt om det.
- På Amplify-konsollen velger du appen du opprettet.
- På handlinger meny, velg Slett app og bekreft sletting når du blir bedt om det.
konklusjonen
I dette innlegget viste jeg deg hvordan du distribuerer et kodeeksempel som bruker AWS AI og ML-tjenester for å legge funksjoner som direkte transkripsjon, tekst til tale, objektgjenkjenning eller tekstgjenkjenning i hendene på alle. Å vite hvordan man bygger applikasjoner som kan brukes av mennesker med et bredt spekter av evner og funksjonshemminger er nøkkelen for å skape mer inkluderende og tilgjengelige produkter.
For å komme i gang med AugmentAbility, klon eller gaffel GitHub repository og begynn å eksperimentere med mobilnettappen. Hvis du vil eksperimentere med AugmentAbility før du distribuerer ressurser i AWS-kontoen din, kan du sjekke ut live demo (legitimasjon: demo-user
, Demo-password-1
).
om forfatteren
Luca Guida er løsningsarkitekt hos AWS; han er basert i Milano og støtter italienske ISV-er i deres skyreise. Med en akademisk bakgrunn innen informatikk og ingeniørfag begynte han å utvikle sin AI/ML lidenskap på universitetet; som medlem av NLP-fellesskapet (natural language processing) i AWS, hjelper Luca kundene med å lykkes mens de tar i bruk AI/ML-tjenester.
- Myntsmart. Europas beste Bitcoin og Crypto Exchange.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. FRI TILGANG.
- CryptoHawk. Altcoin Radar. Gratis prøveperiode.
- 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-kommunikasjonssvikt/
- "
- 100
- a
- Om oss
- adgang
- tilgjengelighet
- tilgjengelig
- Tilgang
- Ifølge
- Logg inn
- Handling
- tillegg
- Ytterligere
- adresse
- adressering
- mot
- AI
- AI-tjenester
- alternativ
- Amazon
- blant
- api
- app
- Søknad
- søknader
- tilnærming
- apps
- arkitektur
- rundt
- kunstig
- kunstig intelligens
- Kunstig intelligens (AI)
- assosiert
- lyd
- autentisert
- Autentisering
- autorisasjon
- Automatisk
- automatisk
- tilgjengelig
- AWS
- bakgrunn
- fordi
- før du
- nytte
- Milliarder
- kroppen
- grensen
- Eske
- nett~~POS=TRUNC leseren~~POS=HEADCOMP
- bygge
- bygger
- evner
- utfordringer
- avgifter
- Kinesisk
- valg
- Velg
- Cloud
- kode
- Kolonne
- forplikte
- Kommunikasjon
- samfunnet
- fullføre
- datamaskin
- informatikk
- Konfigurasjon
- Koble
- Konsoll
- innhold
- Samtale
- samtaler
- Par
- skape
- opprettet
- Opprette
- Credentials
- I dag
- skikk
- Kunder
- demonstrere
- utplassere
- utplassert
- utplasserings
- distribusjon
- utforming
- detaljer
- Gjenkjenning
- Bestem
- Utvikler
- utviklere
- utvikle
- forskjellig
- sykdommer
- dokumenter
- domene
- nedlasting
- Drop
- under
- lett
- redaktør
- emalje
- Ingeniørarbeid
- Engelsk
- Enter
- Miljø
- EU
- europeisk
- Event
- hverdagen
- alle
- eksisterende
- erfaring
- eksperiment
- FAST
- Trekk
- Egenskaper
- Endelig
- Først
- første gang
- flyten
- følge
- etter
- utenlandske
- gaffel
- skjema
- Fransk
- fra
- framtid
- generelt
- generere
- gå
- GitHub
- Global
- innvilget
- Grow
- retningslinjer
- å ha
- Helse
- hjelper
- striper
- vert
- Hosting
- Hvordan
- Hvordan
- HTTPS
- Identifikasjon
- Identitet
- bilder
- iverksette
- gjennomføring
- implementert
- betydning
- umulig
- forbedre
- inkluderer
- Inkludert
- inkludering
- Øke
- informasjon
- integrere
- integrert
- Intelligens
- Irland
- IT
- Japansk
- Javascript
- reise
- nøkkel
- kjent
- Koreansk
- Etiketten
- etiketter
- Språk
- språk
- lansere
- lanseringer
- LÆRE
- læring
- Bibliotek
- Sannsynlig
- LINK
- Liste
- Lytting
- leve
- lokalt
- plassering
- ser
- maskin
- maskinlæring
- Mainstream
- gjøre
- fikk til
- ledelse
- administrerende
- håndbok
- manuelt
- meningsfylt
- medlem
- minimum
- ML
- Mobil
- mer
- Naturlig
- Navigasjon
- nødvendig
- behov
- Antall
- innhentet
- Tilbud
- åpen
- åpning
- drift
- Drift
- egen
- pakke
- del
- lidenskap
- Passord
- Ansatte
- bilde
- spiller
- Point
- Politikk
- basseng
- pools
- befolkningen
- Portugisisk
- powered
- prosessering
- Produkter
- program
- prosjekt
- prosjekter
- gi
- forutsatt
- gir
- område
- Lesning
- sanntids
- motta
- mottatt
- Gjenopprette
- region
- pålitelig
- Repository
- forespørsler
- krever
- påkrevd
- Krever
- forskning
- Ressurser
- anmeldelse
- Rolle
- Kjør
- Sa
- Vitenskap
- Skjerm
- SDK
- sekunder
- sikre
- tjeneste
- Tjenester
- sett
- utstillingsvindu
- undertegne
- Skilt
- smarttelefon
- smartphones
- Samfunnet
- solid
- løsning
- Solutions
- noen
- kildekoden
- Spansk
- snakke
- sett
- stable
- Begynn
- startet
- status
- oppbevare
- stream
- streaming
- vellykket
- vellykket
- Støttes
- Støtte
- Støtter
- Target
- oppgaver
- Technologies
- midlertidig
- test
- tester
- De
- Kilden
- verden
- tid
- Transcript
- Oversettelse
- tv
- typisk
- ui
- etter
- universitet
- bruke
- Brukere
- versjon
- Se
- vente
- web
- Vest
- Hva
- mens
- HVEM
- innenfor
- uten
- Arbeid
- arbeid
- verden
- Din