Vuoden 2021 AWS re:Invent -konferenssissa Las Vegasissa esitimme demoa Lue Minulle AWS Builders Fair -sivustolla, joka auttaa näkövammaisia kuulemaan asiakirjoja.
Paremman laadun saat katsomalla videon tätä.
Mukautuva tekniikka ja esteettömyysominaisuudet ovat usein kalliita, jos niitä on ollenkaan saatavilla. Äänikirjat auttavat näkövammaisia lukemaan. Äänikuvaus tekee elokuvista saatavilla. Mutta mitä teet, kun sisältöä ei ole vielä digitoitu?
Tämä viesti keskittyy AWS AI -palveluihin Amazonin teksti ja Amazon Polly, jotka vahvistavat näkövammaisia. Read For Me -ohjelman on kehittänyt näkövammainen Jack Marchetti.
Ratkaisun yleiskatsaus
Tapahtumalähtöisen, palvelimettoman arkkitehtuurin ja useiden tekoälypalvelujen yhdistelmän avulla voimme luoda luonnolliselta kuulostavia äänitiedostoja useilla kielillä asiakirjan kuvasta tai mistä tahansa tekstiä sisältävästä kuvasta. Esimerkiksi kirje verottajalta, lomakortti perheeltä tai jopa elokuvan avausotsikot.
Seuraavat Viitearkkitehtuuri, julkaistu EU: ssa AWS-arkkitehtuurikeskus näyttää työnkulun, jossa käyttäjä ottaa kuvan puhelimellaan ja toistaa MP3-tiedoston kyseisessä asiakirjassa olevasta sisällöstä.
Työnkulku sisältää seuraavat vaiheet:
- Staattista sisältöä (HTML, CSS, JavaScript) isännöidään AWS vahvistaa.
- Nimettömille käyttäjille myönnetään väliaikainen käyttöoikeus taustapalveluihin Amazon Cognito identiteettipooli.
- Kuvatiedostot on tallennettu Amazonin yksinkertainen tallennuspalvelu (Amazon S3).
- Käyttäjä tekee POST-pyynnön kautta Amazon API -yhdyskäytävä äänipalveluun, joka välittää pikaviestin AWS-vaihetoiminnot työnkulku.
- Step Functions -työnkulku sisältää seuraavat vaiheet:
- Amazonin teksti poimii tekstiä kuvasta.
- Amazonin käsitys tunnistaa tekstin kielen.
- Jos kohdekieli eroaa havaitusta kielestä, Amazon Käännä käännetään kohdekielelle.
- Amazon Polly luo äänitiedoston ulostulona tekstin avulla.
- AWS Step Functions -työnkulku luo äänitiedoston ulostulona ja tallentaa sen Amazon S3:een MP3-muodossa.
- Esiallekirjoitettu URL-osoite, joka sisältää Amazon S3:een tallennetun äänitiedoston sijainnin, lähetetään takaisin käyttäjän selaimeen API Gatewayn kautta. Käyttäjän mobiililaite toistaa äänitiedoston käyttämällä ennalta allekirjoitettua URL-osoitetta.
Seuraavissa osioissa keskustelemme syistä, miksi valitsimme tälle ratkaisulle tietyt palvelut, arkkitehtuurimallin ja palveluominaisuudet.
AWS AI -palvelut
Useat tekoälypalvelut on kytketty yhteen Read For Me:
- Amazon Textract tunnistaa ladatun kuvan tekstin.
- Amazon Comprehend määrittää kielen.
- Jos käyttäjä valitsee eri puhutun kielen kuin kuvassa, käännämme sen Amazon Translatella.
- Amazon Polly luo MP3-tiedoston. Hyödynnämme Amazon Polly -hermomoottoria, joka luo luonnollisemman ja todenmukaisemman äänitallenteen.
Yksi näiden AI-palveluiden käytön tärkeimmistä eduista on helppokäyttöisyys ilman, että vaaditaan vain vähän tai ei ollenkaan ydinoppimiskokemusta. Palvelut paljastavat API:t, joita asiakkaat voivat kutsua käyttämällä SDK:ita, jotka on saatavilla useilla ohjelmointikielillä, kuten Python ja Java.
Read For Me -sovelluksella kirjoitimme taustan AWS Lambda toimii Pythonissa.
AWS SDK Pythonille (Boto3)
- AWS SDK Pythonille (Boto3) tekee vuorovaikutuksesta AWS-palvelujen kanssa helppoa. Esimerkiksi seuraavat Python-koodin rivit palauttavat antamastasi kuvasta tai asiakirjasta löytyneen tekstin:
Kaikki Python-koodi ajetaan yksittäisissä Lambda-funktioissa. Ei ole tarjottavia palvelimia eikä ylläpidettävää infrastruktuuria.
Arkkitehtuurin kuviot
Tässä osiossa käsittelemme ratkaisussa käytettyjä erilaisia arkkitehtuurimalleja.
serverless
Otimme käyttöön palvelimettoman arkkitehtuurin kahdesta pääsyystä: rakentamisen nopeudesta ja hinnasta. Koska taustalla ei ollut ylläpidettävää laitteistoa tai käyttöön otettavaa infrastruktuuria, keskityimme täysin liiketoimintalogiikkakoodiin emmekä mihinkään muuhun. Tämän ansiosta saimme toimivan prototyypin käyttöön muutamassa päivässä. Jos käyttäjät eivät aktiivisesti lataa kuvia ja kuuntele tallenteita, mikään ei ole käynnissä, joten mistään ei aiheudu kustannuksia tallennustilan ulkopuolella. S3-elinkaarihallintasääntö poistaa ladatut kuvat ja MP3-tiedostot 1 päivän kuluttua, joten säilytyskustannukset ovat alhaiset.
Synkroninen työnkulku
Kun rakennat palvelimettomia työnkulkuja, on tärkeää ymmärtää, milloin synkroninen puhelu on arkkitehtuurin ja käyttökokemuksen perusteella järkevämpää kuin asynkroninen prosessi. Read For Me -sovelluksella menimme alun perin asynkronista polkua pitkin ja suunnittelimme käyttävämme WebSocketsia kaksisuuntaiseen kommunikointiin käyttöliittymän kanssa. Työnkulkumme sisältää vaiheen, jossa etsitään Step Functions -työnkulkuun liittyvä yhteystunnus, ja kun se on valmis, varoittaa käyttöliittymä. Lisätietoja tästä prosessista on kohdassa Pollista Pushiin: Muunna API:t Amazon API Gateway REST -sovellusliittymien ja WebSocketsin avulla.
Lopulta päätimme olla tekemättä tätä ja käytimme pika-askelfunktioita, jotka ovat synkronisia. Käyttäjät ymmärtävät, että kuvan käsittely ei ole välitöntä, mutta he tietävät myös, että se ei vie 30 sekuntia tai minuuttia. Olimme tilassa, jossa muutama sekunti tyydytti loppukäyttäjää emmekä tarvinneet WebSocketsin etuja. Tämä yksinkertaisti työnkulkua yleisesti.
Express Step Functions -työnkulku
Mahdollisuus jakaa koodisi pienempiin, eristettyihin toimintoihin mahdollistaa hienorakeisen ohjauksen, helpomman ylläpidon ja tarkemman skaalauksen. Jos esimerkiksi määritämme, että Lambda-toiminto, joka laukaisi Amazon Pollyn luomaan äänitiedoston, toimi hitaammin kuin toiminto, joka määritti kielen, voisimme skaalata tätä toimintoa pystysuunnassa ja lisätä muistia ilman, että muiden tarvitsisi tehdä niin. Samoin rajoitat Lambda-toiminnon räjähdyssädettä, kun rajoitat sen laajuutta ja ulottuvuutta.
Yksi työnkulun ohjaamisen eduista Step Functionsilla on kyky ottaa käyttöön päätöskulkulogiikka ilman koodin kirjoittamista.
Step Functions -työnkulkumme ei ole monimutkainen. Se on lineaarinen käännösvaiheeseen asti. Jos meidän ei tarvitse kutsua käännöslambda-funktiota, se maksaa meille vähemmän ja käyttäjäkokemus on nopeampi. Voimme käyttää Step Functions -konsolin visuaalista suunnittelijaa löytääksemme tietyn avaimen syöttöhyötykuormasta ja, jos se on olemassa, kutsua yhtä funktiota toisen päälle JSONPathilla. Esimerkiksi hyötykuormamme sisältää avaimen nimeltä translate:
Step Functions -visuaalisesta suunnittelijasta löydämme käännösavaimen ja määritämme vastaavat säännöt.
Päätön arkkitehtuuri
Amplify isännöi käyttöliittymäkoodia. Käyttöliittymä kirjoitetaan Reactissa ja lähdekoodi kirjataan sisään AWS CodeCommit. Amplify ratkaisee muutamia ongelmia käyttäjille, jotka yrittävät ottaa käyttöön ja hallita staattisia verkkosivustoja. Jos teit tämän manuaalisesti (käyttäen staattista verkkosivuston isännöintiä varten määritettyä S3-säilöä ja esität sen Amazon CloudFront), sinun on vanhenettava välimuisti itse aina, kun teet käyttöönottoja. Sinun on myös kirjoitettava oma CI/CD-putki. Amplify hoitaa tämän puolestasi.
Tämä mahdollistaa päättömän arkkitehtuurin, jossa käyttöliittymäkoodi on irrotettu taustajärjestelmästä ja jokaista kerrosta voidaan hallita ja skaalata toisistaan riippumatta.
Analysoi tunnus
Edellisessä osiossa käsittelimme arkkitehtuurimalleja ladatun kuvan käsittelyyn ja MP3-tiedoston luomiseen siitä. Asiakirjan lukeminen sinulle on loistava ensimmäinen askel, mutta entä jos haluat tietää vain jotain tiettyä ilman, että koko asia luetaan sinulle takaisin? Sinun on esimerkiksi täytettävä lomake verkossa ja annettava osavaltion henkilöllisyystodistus tai passinumero tai ehkä sen viimeinen voimassaolopäivä. Sitten sinun on otettava kuva henkilöllisyystodistuksestasi ja odotettava sitä osaa, kun se luetaan sinulle. Vaihtoehtoisesti voit käyttää Analysoi ID:tä.
Analyze ID on Amazon Textractin ominaisuus, jonka avulla voit tehdä kyselyjä asiakirjoista. Read For Me sisältää avattavan valikon, josta voit kysyä erityisesti viimeistä käyttöpäivää, myöntämispäivää tai asiakirjan numeroa. Voit käyttää samaa työnkulkua MP3-tiedoston luomiseen, joka tarjoaa vastauksen tiettyyn kysymykseesi.
Voit esitellä Analyze ID -ominaisuutta osoitteessa readforme.io/analyze.
Pollyn lisäominaisuudet
- Read For Me tarjoaa useita hermoääniä hyödyntäen eri kieliä ja murteita. Huomaa, että on olemassa useita muita ääniä voit valita, jota emme toteuttaneet. Kun uusi ääni on saatavilla, käyttöliittymäkoodin päivitys ja lambda-toiminto riittää sen hyödyntämiseen.
- Polly-palvelu tarjoaa myös muita vaihtoehtoja, joita emme ole vielä sisällyttäneet Read For Me -ohjelmaan. Niihin kuuluu säätäminen äänien nopeus ja puhe merkinnät.
Yhteenveto
Tässä viestissä keskustelimme siitä, kuinka käyttää lukuisia AWS-palveluita, mukaan lukien tekoäly ja palvelimeton, näkövammaisten auttamiseksi. Voit oppia lisää Read For Me -projektista ja käyttää sitä käymällä osoitteessa readforme.io. Löydät myös esimerkkejä Amazon Textractista GitHub repo. Lisätietoja Analyze ID:stä on osoitteessa Ilmoittaa tuesta tietojen poimimiselle henkilöasiakirjoista Amazon Textractin avulla.
Tämän projektin lähdekoodi on avoimen lähdekoodin lähde ja se lisätään pian AWS:n julkiseen GitHubiin.
Tietoja Tekijät
Jack Marchetti on AWS:n Senior Solutions -arkkitehti. Ohjelmistotekniikan taustalla oleva Jack keskittyy ensisijaisesti auttamaan asiakkaita toteuttamaan palvelimettomia, tapahtumalähtöisiä arkkitehtuureja. Hän rakensi ensimmäisen hajautetun pilvipohjaisen sovelluksensa vuonna 2013 osallistuttuaan toiseen AWS re:Invent -konferenssiin ja on ollut siitä lähtien koukussa. Ennen AWS:ää Jack vietti suurimman osan urastaan mainostoimiston tilan rakentamisessa joillekin maailman suurimmista brändeistä. Jack on laillisesti sokea ja asuu Chicagossa vaimonsa Erinin ja kissa Minoun kanssa. Hän on myös käsikirjoittaja ja ohjaaja, jonka pääpaino on jouluelokuvissa ja kauhussa. Katso Jackin filmografia hänen luonaan IMDb sivu.
Alak Eswaradass on ratkaisuarkkitehti AWS:ssä Chicagossa, Illinoisissa. Hän haluaa auttaa asiakkaita suunnittelemaan pilviarkkitehtuuria hyödyntäen AWS-palveluita liiketoiminnan haasteiden ratkaisemiseksi. Hän on koulutukseltaan tietojenkäsittelytieteen maisteri. Ennen AWS:lle tuloaan hän työskenteli erilaisissa terveydenhuollon organisaatioissa, ja hänellä on syvällinen kokemus monimutkaisten järjestelmien, teknologiainnovaatioiden ja tutkimuksen suunnittelusta. Hän viettää aikaa tyttäriensä kanssa ja tutkii ulkoilua vapaa-ajallaan.
Swagat Kulkarni on AWS:n vanhempi ratkaisuarkkitehti ja AI/ML-harrastaja. Hän on intohimoinen asiakkaiden todellisten ongelmien ratkaisemiseen pilvipohjaisten palveluiden ja koneoppimisen avulla. Työn ulkopuolella Swagat nauttii matkustamisesta, lukemisesta ja meditoinnista.
- Coinsmart. Euroopan paras Bitcoin- ja kryptopörssi.
- Platoblockchain. Web3 Metaverse Intelligence. Tietoa laajennettu. VAPAA PÄÄSY.
- CryptoHawk. Altcoinin tutka. Ilmainen kokeilu.
- Lähde: https://aws.amazon.com/blogs/machine-learning/enable-the-visually-impaired-to-hear-documents-using-amazon-texttract-and-amazon-polly/
- "
- 100
- 2021
- Meistä
- pääsy
- saavutettavuus
- Ad
- Hyväksyminen
- Etu
- toimisto
- AI
- Tekoälyn palvelut
- Kaikki
- jo
- Amazon
- api
- API
- Hakemus
- arkkitehtuuri
- audio-
- saatavissa
- AWS
- tausta
- Hyödyt
- Kirjat
- reunus
- merkit
- selain
- rakentaa
- Rakentaminen
- liiketoiminta
- soittaa
- Ura
- haasteet
- Chicago
- Joulu
- pilvi
- koodi
- yhdistelmä
- monimutkainen
- Tietojenkäsittelyoppi
- Konferenssi
- liitäntä
- Console
- sisältää
- pitoisuus
- ohjaus
- Ydin
- kustannukset
- voisi
- Luominen
- Asiakkaat
- tiedot
- päivä
- sijoittaa
- Malli
- havaittu
- laite
- DID
- eri
- Johtaja
- pohtia
- jaettu
- asiakirjat
- alas
- valtuuttaa
- Tekniikka
- esimerkki
- experience
- Elämykset
- otteet
- perhe
- nopeampi
- Ominaisuus
- Ominaisuudet
- Elokuva
- Etunimi
- virtaus
- Keskittää
- keskityttiin
- jälkeen
- muoto
- muoto
- löytyi
- Ilmainen
- toiminto
- toiminta
- GitHub
- suuri
- Tarvikkeet
- ottaa
- terveydenhuollon
- auttaa
- auttaa
- kauhu
- Miten
- Miten
- HTTPS
- Identiteetti
- Illinois
- kuva
- toteuttaa
- täytäntöön
- tärkeä
- sisältää
- Mukaan lukien
- henkilökohtainen
- tiedot
- Infrastruktuuri
- Innovaatio
- IRS
- kysymys
- IT
- Jaava
- JavaScript
- avain
- Kieli
- kielet
- Las Vegas
- OPPIA
- oppiminen
- Kuunteleminen
- vähän
- sijainti
- kone
- koneoppiminen
- johto
- ottelu
- asia
- Muisti
- Puhelinnumero
- mobiililaitteen
- Elokuvat
- Luonnollinen
- useat
- Tarjoukset
- verkossa
- avaaminen
- Vaihtoehdot
- organisaatioiden
- Muut
- ulkona
- passi
- Kuvio
- ehkä
- kuva
- äänestys
- pool
- teho
- esittää
- ensisijainen
- ongelmia
- prosessi
- Ohjelmointi
- ohjelmointikielet
- projekti
- toimittaa
- tarjoaa
- julkinen
- laatu
- kysymys
- RE
- suhtautua
- Lukeminen
- syistä
- tarvitaan
- tutkimus
- vastaus
- REST
- säännöt
- ajaa
- juoksu
- Asteikko
- tiede
- sdk
- tunne
- serverless
- palvelu
- Palvelut
- setti
- Yksinkertainen
- So
- Tuotteemme
- ohjelmistotuotanto
- Ratkaisumme
- SOLVE
- jotain
- lähdekoodi
- Tila
- erityisesti
- nopeus
- Osavaltio
- Levytila
- varastot
- tuki
- järjestelmät
- Kohde
- Elektroniikka
- Lähde
- maailma
- Kautta
- aika
- yhdessä
- Muuttaa
- Kääntäminen
- matkustaa
- ymmärtää
- Päivitykset
- us
- käyttää
- Käyttäjät
- VEGAS
- Video
- Näytä
- visio
- Ääni
- ÄÄNTÄ
- odottaa
- Verkkosivu
- sivustot
- Mitä
- KUKA
- sisällä
- ilman
- Referenssit
- työskenteli
- maailman-