Lubage vaegnägijatel dokumente kuulata, kasutades Amazon Textracti ja Amazon Polly PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.

Lubage vaegnägijatel kuulata dokumente Amazon Textracti ja Amazon Polly abil

2021. aasta AWS re:Invent konverentsil Las Vegases tegime demo Lugege Minu jaoks AWS Builders Fairil – veebisaidil, mis aitab vaegnägijatel dokumente kuulda.

Parema kvaliteedi saamiseks vaadake videot siin.

Kohanduv tehnoloogia ja juurdepääsetavuse funktsioonid on sageli kallid, kui need on üldse saadaval. Heliraamatud aitavad vaegnägijatel lugeda. Helikirjeldus muudab filmid juurdepääsetavaks. Aga mida teha, kui sisu pole veel digiteeritud?

See postitus keskendub AWS AI teenustele Amazoni tekst ja Amazon Polly, mis annab nägemispuudega inimestele jõudu. Read For Me töötas välja vaegnägija Jack Marchetti.

Lahenduse ülevaade

Sündmuspõhise serverita arhitektuuri ja mitme AI-teenuse kombinatsiooni kaudu saame luua loomuliku kõlaga helifaile mitmes keeles dokumendi pildist või mis tahes tekstiga pildist. Näiteks kiri maksuametilt, puhkusekaart perekonnalt või isegi filmi avapealkirjad.

Järgmised Viitearhitektuur, avaldatud aastal AWS-i arhitektuurikeskus näitab töövoogu, kuidas kasutaja teeb oma telefoniga pilti ja esitab selles dokumendis leiduva sisu MP3-vormingus.

Lubage vaegnägijatel dokumente kuulata, kasutades Amazon Textracti ja Amazon Polly PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.

Töövoog sisaldab järgmisi samme:

  1. Staatiline sisu (HTML, CSS, JavaScript) on hostitud AWS võimendus.
  2. Anonüümsetele kasutajatele antakse ajutine juurdepääs taustateenustele anonüümide kaudu Amazon Cognito identiteedikogum.
  3. Pildifailid on salvestatud Amazoni lihtne salvestusteenus (Amazon S3).
  4. Kasutaja teeb POST-päringu läbi Amazon API värav heliteenusele, mis puhverdab ekspressi AWS-i astmefunktsioonid töövoog.
  5. Step Functions töövoog sisaldab järgmisi samme.
    1. Amazoni tekst võtab pildilt teksti välja.
    2. Amazoni mõistmine tuvastab teksti keele.
    3. Kui sihtkeel erineb tuvastatud keelest, Amazoni tõlge tõlgitakse sihtkeelde.
    4. Amazon Polly loob teksti kasutades helifaili väljundina.
  6. AWS Step Functions töövoog loob väljundina helifaili ja salvestab selle Amazon S3 MP3-vormingus.
  7. Amazon S3-sse salvestatud helifaili asukohaga eelallkirjastatud URL saadetakse API lüüsi kaudu kasutaja brauserisse tagasi. Kasutaja mobiilseade esitab helifaili, kasutades eelallkirjastatud URL-i.

Järgmistes jaotistes käsitleme põhjuseid, miks valisime selle lahenduse jaoks konkreetsed teenused, arhitektuurimustri ja teenusefunktsioonid.

AWS AI teenused

Mitmed AI-teenused on ühendatud, et toita Read For Me:

  • Amazon Textract tuvastab üleslaaditud pildil oleva teksti.
  • Amazon Comprehend määrab keele.
  • Kui kasutaja valib pildil olevast keelest erineva kõnekeele, tõlgime selle Amazon Translate'i abil.
  • Amazon Polly loob MP3-faili. Kasutame ära Amazon Polly närvimootori, mis loob loomulikuma ja elutruu helisalvestuse.

Nende tehisintellekti teenuste kasutamise üks peamisi eeliseid on kasutuselevõtu lihtsus, mille puhul on vaja vähe või üldse mitte põhilisi masinõppekogemusi. Teenused paljastavad API-sid, mida kliendid saavad mitmes programmeerimiskeeles (nt Python ja Java) kättesaadavaks tehtud SDK-de abil välja kutsuda.

Teenusega Read For Me kirjutasime alusmaterjali AWS Lambda funktsioonid Pythonis.

AWS SDK Pythoni jaoks (Boto3)

. AWS SDK Pythoni jaoks (Boto3) muudab AWS-i teenustega suhtlemise lihtsaks. Näiteks järgmised Pythoni koodi read tagastavad teie esitatud pildil või dokumendis leitud teksti:

import boto3
client = boto3.client('textract')
response = client.detect_document_text(
Document={ 'S3Object': { 'Bucket': 'bucket-name', 'Name': 's3-key'
}
})
#do something with the response

Kogu Pythoni koodi käitatakse üksikute Lambda funktsioonide sees. Pole servereid, mida pakkuda, ega infrastruktuuri, mida hooldada.

Arhitektuurimustrid

Selles jaotises käsitleme lahenduses kasutatud erinevaid arhitektuurimustreid.

Serverita

Rakendasime serverita arhitektuuri kahel peamisel põhjusel: ehitamise kiirus ja hind. Kuna puudus riistvara, mida hooldada või infrastruktuuri juurutada, keskendusime täielikult äriloogika koodile ja mitte millelegi muule. See võimaldas meil mõne päevaga toimiva prototüübi tööle panna. Kui kasutajad ei laadi aktiivselt üles pilte ega kuula salvestisi, siis midagi ei tööta ja seetõttu ei teki ka väljaspool salvestust kulusid. S3 elutsükli haldusreegel kustutab üleslaaditud pildid ja MP3-failid 1 päeva pärast, seega on salvestuskulud madalad.

Sünkroonne töövoog

Kui loote serverita töövooge, on oluline mõista, millal on sünkroonkõne arhitektuuri ja kasutajakogemuse seisukohast mõttekam kui asünkroonne protsess. Rakendusega Read For Me läksime algselt asünkroonset teed ja plaanisime kasutada WebSocketsi esiosaga kahesuunaliseks suhtlemiseks. Meie töövoog hõlmaks sammu, et leida sammufunktsioonide töövooga seotud ühenduse ID ja pärast lõpetamist esiosa hoiatada. Selle protsessi kohta lisateabe saamiseks vaadake Küsitlusest Pushile: muutke API-sid Amazon API Gateway REST API-de ja WebSocketsi abil.

Lõppkokkuvõttes otsustasime seda mitte teha ja kasutasime kiirsammufunktsioone, mis on sünkroonsed. Kasutajad mõistavad, et pildi töötlemine ei toimu koheselt, kuid teavad ka, et see ei võta 30 sekundit või minutit. Olime ruumis, kus mõni sekund rahuldas lõppkasutajat ega vajanud WebSocketsi eeliseid. See lihtsustas töövoogu üldiselt.

Express Step Funktsioonide töövoog

Võimalus jagada oma kood väiksemateks isoleeritud funktsioonideks võimaldab täpset juhtimist, lihtsamat hooldust ja täpsemat skaleerimist. Näiteks kui tuvastame, et Lambda funktsioon, mis käivitas Amazon Polly helifaili loomise, töötas aeglasemalt kui keele määranud funktsioon, saaksime seda funktsiooni vertikaalselt skaleerida, lisades rohkem mälu, ilma et peaksime seda teiste jaoks tegema. Samamoodi piirate selle ulatust ja ulatust piirates lambdafunktsiooni võimekuse või juurdepääsu kiirgusraadiust.

Üks töövoo astmefunktsioonidega korraldamise eeliseid on võimalus juurutada otsustusvoo loogikat ilma koodi kirjutamata.

Meie sammufunktsioonide töövoog pole keeruline. See on lineaarne kuni tõlkimisetapini. Kui me ei pea tõlkefunktsiooni Lambda kutsuma, on see meile vähem kulu ja kasutaja jaoks kiirem. Saame kasutada sammufunktsioonide konsooli visuaalset kujundajat, et leida sisend kasulikust koormusest konkreetne võti ja kui see on olemas, kutsuda üks funktsioon üle teise, kasutades JSONPathi. Näiteks sisaldab meie kasulik koormus võtit nimega translate:

{ 
extracted_text: "hello world",
target_language: "es",
source_language: "en",
translate: true
}

Step Functions visuaalses kujundajas leiame tõlkevõtme ja seadistame reeglid, mis vastavad sellele.

Lubage vaegnägijatel dokumente kuulata, kasutades Amazon Textracti ja Amazon Polly PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.

Peatu arhitektuur

Amplify hostib esiotsa koodi. Esiosa kirjutatakse Reactis ja lähtekood on sisse logitud AWS CodeCommit. Amplify lahendab mõned probleemid kasutajatele, kes üritavad staatilisi veebisaite juurutada ja hallata. Kui tegite seda käsitsi (kasutades staatilise veebisaidi hostimiseks seadistatud S3 ämbrit ja esitasite selle Amazon CloudFront), peate vahemälu iga kord juurutamise korral ise aeguma. Samuti peaksite kirjutama oma CI/CD torujuhtme. Amplify tegeleb sellega teie eest.

See võimaldab peata arhitektuuri, kus esiotsa kood on taustaprogrammist lahti ühendatud ja iga kihti saab hallata ja skaleerida teisest sõltumatult.

Analüüsige ID-d

Eelmises osas käsitlesime üleslaaditud pildi töötlemise ja sellest MP3-faili loomise arhitektuurimustreid. Dokumendi tagasilugemine on suurepärane esimene samm, aga mis siis, kui soovite teada ainult midagi konkreetset, ilma et peaksite teile kõike tagasi lugema? Näiteks peate veebis täitma vormi ja esitama oma osariigi ID- või passinumbri või võib-olla selle kehtivusaja. Seejärel peate oma isikut tõendavast dokumendist pilti tegema ja seda konkreetset osa ootama, kuni see teile tagasi loetakse. Teise võimalusena võite kasutada ID analüüsi.

Analüüsi ID on Amazon Textracti funktsioon, mis võimaldab teil dokumentidest päringuid teha. Read For Me sisaldab rippmenüüd, kus saate konkreetselt küsida aegumiskuupäeva, väljaandmise kuupäeva või dokumendi numbrit. Saate kasutada sama töövoogu MP3-faili loomiseks, mis annab vastuse teie konkreetsele küsimusele.

Saate demo analüüsida ID-d aadressil loe forme.io/analyze.

Polly lisafunktsioonid

  • Read For Me pakub mitmeid närvihääli, mis kasutavad erinevaid keeli ja dialekte. Pange tähele, et on veel mitmeid hääli saate valida, mida me ei rakendanud. Kui uus hääl on saadaval, piisab esiotsa koodi värskendusest ja lambda-funktsioonist, et seda ära kasutada.
  • Teenus Polly pakub ka muid valikuid, mida me pole veel jaotisesse Read For Me lisanud. Nende hulka kuulub reguleerimine häälte kiirus ja kõnemärgid.

Järeldus

Selles postituses arutasime, kuidas kasutada vaegnägijate abistamiseks paljusid AWS-i teenuseid, sealhulgas tehisintellekti ja serverita. Projekti Read For Me kohta saate lisateavet ja seda kasutada külastades loeforme.io. Samuti leiate veebisaidilt Amazon Textracti näiteid GitHub repo. Analüüsi ID kohta lisateabe saamiseks vaadake lehte Teatame toetusest isikut tõendavatest dokumentidest andmete väljavõtmiseks Amazon Textracti abil.

Selle projekti lähtekood on avatud lähtekoodiga ja lisatakse peagi AWS-i avalikku GitHubi.


Autoritest

Lubage vaegnägijatel dokumente kuulata, kasutades Amazon Textracti ja Amazon Polly PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.Jack Marchetti on AWSi vanemlahenduste arhitekt. Tarkvaratehnoloogia taustaga Jack keskendub peamiselt klientide abistamisele serverita sündmustepõhise arhitektuuri rakendamisel. Ta ehitas oma esimese hajutatud pilvepõhise rakenduse 2013. aastal pärast teisel AWS re:Invent konverentsil osalemist ja on sellest ajast peale konks olnud. Enne AWS-i veetis Jack suurema osa oma karjäärist reklaamiagentuuris, et luua kogemusi mõne maailma suurima kaubamärgi jaoks. Jack on seaduslikult pime ja elab Chicagos koos oma naise Erini ja kass Minouga. Ta on ka stsenarist ja režissöör, kes keskendub peamiselt jõulufilmidele ja õudusfilmidele. Vaadake Jacki filmograafiat tema juures IMDb lehel.

Lubage vaegnägijatel dokumente kuulata, kasutades Amazon Textracti ja Amazon Polly PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.Alak Eswaradass on Illinoisi osariigis Chicagos asuva AWS-i lahenduste arhitekt. Ta on kirglik aidata klientidel kavandada pilvarhitektuure, kasutades äriprobleemide lahendamiseks AWS-teenuseid. Tal on arvutiteaduse inseneri magistrikraad. Enne AWS-iga liitumist töötas ta erinevates tervishoiuorganisatsioonides ning tal on põhjalik kogemus keeruliste süsteemide, tehnoloogiliste uuenduste ja teadusuuringute alal. Ta veedab oma tütardega aega ja uurib vabal ajal õues.

Lubage vaegnägijatel dokumente kuulata, kasutades Amazon Textracti ja Amazon Polly PlatoBlockchain Data Intelligence'i. Vertikaalne otsing. Ai.Swagat Kulkarni on AWS-i vanemlahenduste arhitekt ja AI/ML-i entusiast. Ta on kirglik klientide tegelike probleemide lahendamise vastu pilvepõhiste teenuste ja masinõppe abil. Väljaspool tööd naudib Swagat reisimist, lugemist ja mediteerimist.

Ajatempel:

Veel alates AWS-i masinõpe